You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/6243.async.js

2 lines
170 KiB

"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6243],{56243:function(){function p(m,e,t,n){t===void 0&&(t=0),n===void 0&&(n=1/0),this._name=m,this._defaultValue=e,this._minimum=t,this._maximum=n}Object.defineProperty(p.prototype,"name",{get:function(){return this._name},set:function(m){if(typeof m!="string"||m==="")throw new Error("Shape name must be a valid string.");this._name=m}}),Object.defineProperty(p.prototype,"defaultValue",{get:function(){return this._defaultValue},set:function(m){if(typeof m!="number"||isNaN(m))throw new Error("The default value must be a real number, not: "+m);this._defaultValue=m}}),Object.defineProperty(p.prototype,"minimum",{get:function(){return this._minimum},set:function(m){if(typeof m!="number"||isNaN(m))throw new Error("Minimum must be a real number, not: "+m);this._minimum=m}}),Object.defineProperty(p.prototype,"maximum",{get:function(){return this._maximum},set:function(m){if(typeof m!="number"||isNaN(m))throw new Error("Maximum must be a real number, not: "+m);this._maximum=m}}),go.Shape._FigureParameters={},go.Shape.getFigureParameter=function(m,e){var t=go.Shape._FigureParameters[m];return t?t[e]:null},go.Shape.setFigureParameter=function(m,e,t){if(!(t instanceof p))throw new Error("Third argument to Shape.setFigureParameter is not FigureParameter: "+t);if(t.defaultValue<t.minimum||t.defaultValue>t.maximum)throw new Error("defaultValue must be between minimum and maximum, not: "+t.defaultValue);var n=go.Shape._FigureParameters[m];n||(n=[],go.Shape._FigureParameters[m]=n),n[e]=t};var T=[];function b(m,e){var t=T.pop();return t===void 0?new go.Point(m,e):(t.x=m,t.y=e,t)}function c(){var m=T.pop();return m===void 0?new go.Point:m}function v(m){T.push(m)}function G(m,e,t,n,g,a,o,d,r){r||(r=new go.Point);var S=m-t,P=g-o,i=NaN,h=NaN;if(S===0)if(P===0)m===t&&(i=m,h=e);else{var u=(a-d)/P,f=a-u*g;i=m,h=u*i+f}else if(P===0){var s=(e-n)/S,F=e-s*m;i=g,h=s*i+F}else{var s=(e-n)/S,u=(a-d)/P,F=e-s*m,f=a-u*g;i=(f-F)/(s-u),h=s*i+F}return r.x=i,r.y=h,r}function y(m,e,t,n,g,a,o,d,r,S,P,i,h,u){var f=1-r,s=r,F=m*f+t*s,B=e*f+n*s,z=t*f+g*s,M=n*f+a*s,A=g*f+o*s,w=a*f+d*s,E=F*f+z*s,I=B*f+M*s,X=z*f+A*s,H=M*f+w*s,Y=E*f+X*s,U=I*f+H*s;S.x=F,S.y=B,P.x=E,P.y=I,i.x=Y,i.y=U,h.x=X,h.y=H,u.x=A,u.y=w}var R=new go.Spot(.156,.156),D=new go.Spot(.844,.844),L=4*((Math.sqrt(2)-1)/3);go.Shape.setFigureParameter("RoundedRectangle",0,new p("CornerRounding",5)),go.Shape.defineFigureGenerator("RoundedRectangle",function(m,e,t){var n=m?m.parameter1:NaN;(isNaN(n)||n<0)&&(n=5),n=Math.min(n,e/3),n=Math.min(n,t/3);var g=n*L,a=new go.Geometry().add(new go.PathFigure(n,0,!0).add(new go.PathSegment(go.PathSegment.Line,e-n,0)).add(new go.PathSegment(go.PathSegment.Bezier,e,n,e-g,0,e,g)).add(new go.PathSegment(go.PathSegment.Line,e,t-n)).add(new go.PathSegment(go.PathSegment.Bezier,e-n,t,e,t-g,e-g,t)).add(new go.PathSegment(go.PathSegment.Line,n,t)).add(new go.PathSegment(go.PathSegment.Bezier,0,t-n,g,t,0,t-g)).add(new go.PathSegment(go.PathSegment.Line,0,n)).add(new go.PathSegment(go.PathSegment.Bezier,n,0,0,g,g,0).close()));return g>1&&(a.spot1=new go.Spot(0,0,g,g),a.spot2=new go.Spot(1,1,-g,-g)),a}),go.Shape.defineFigureGenerator("Border","RoundedRectangle"),go.Shape.defineFigureGenerator("TriangleRight",function(m,e,t){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,e,.5*t)).add(new go.PathSegment(go.PathSegment.Line,0,t).close())).setSpots(0,.25,.5,.75)}),go.Shape.defineFigureGenerator("TriangleDown",function(m,e,t){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,t).close())).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("TriangleLeft",function(m,e,t){return new go.Geometry().add(new go.PathFigure(e,t).add(new go.PathSegment(go.PathSegment.Line,0,.5*t)).add(new go.PathSegment(go.PathSegment.Line,e,0).close())).setSpots(.5,.25,1,.75)}),go.Shape.defineFigureGenerator("TriangleUp",function(m,e,t){return new go.Geometry().add(new go.PathFigure(e,t).add(new go.PathSegment(go.PathSegment.Line,0,t)).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(m,e,t){return new go.Geometry().add(new go.PathFigure(.5*e,0).add(new go.PathSegment(go.PathSegment.Line,0,.5*t)).add(new go.PathSegment(go.PathSegment.Line,.5*e,t)).add(new go.PathSegment(go.PathSegment.Line,e,.5*t).close())).setSpots(.25,.25,.75,.75)}),go.Shape.defineFigureGenerator("LineH",function(m,e,t){var n=new go.Geometry(go.Geometry.Line);return n.startX=0,n.startY=t/2,n.endX=e,n.endY=t/2,n}),go.Shape.defineFigureGenerator("LineV",function(m,e,t){var n=new go.Geometry(go.Geometry.Line);return n.startX=e/2,n.startY=0,n.endX=e/2,n.endY=t,n}),go.Shape.defineFigureGenerator("BarH","Rectangle"),go.Shape.defineFigureGenerator("BarV","Rectangle"),go.Shape.defineFigureGenerator("MinusLine","LineH"),go.Shape.defineFigureGenerator("PlusLine",function(m,e,t){return new go.Geometry().add(new go.PathFigure(0,t/2,!1).add(new go.PathSegment(go.PathSegment.Line,e,t/2)).add(new go.PathSegment(go.PathSegment.Move,e/2,0)).add(new go.PathSegment(go.PathSegment.Line,e/2,t)))}),go.Shape.defineFigureGenerator("XLine",function(m,e,t){return new go.Geometry().add(new go.PathFigure(0,t,!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,t)))}),go.Shape.defineFigureGenerator("LineRight",function(m,e,t){return new go.Geometry().add(new go.PathFigure(.25*e,0,!1).add(new go.PathSegment(go.PathSegment.Line,.75*e,.5*t)).add(new go.PathSegment(go.PathSegment.Line,.25*e,t)))}),go.Shape.defineFigureGenerator("LineDown",function(m,e,t){return new go.Geometry().add(new go.PathFigure(0,.25*t,!1).add(new go.PathSegment(go.PathSegment.Line,.5*e,.75*t)).add(new go.PathSegment(go.PathSegment.Line,e,.25*t)))}),go.Shape.defineFigureGenerator("LineLeft",function(m,e,t){return new go.Geometry().add(new go.PathFigure(.75*e,0,!1).add(new go.PathSegment(go.PathSegment.Line,.25*e,.5*t)).add(new go.PathSegment(go.PathSegment.Line,.75*e,t)))}),go.Shape.defineFigureGenerator("LineUp",function(m,e,t){return new go.Geometry().add(new go.PathFigure(0,.75*t,!1).add(new go.PathSegment(go.PathSegment.Line,.5*e,.25*t)).add(new go.PathSegment(go.PathSegment.Line,e,.75*t)))}),go.Shape.defineFigureGenerator("AsteriskLine",function(m,e,t){var n=.2/Math.SQRT2;return new go.Geometry().add(new go.PathFigure(n*e,(1-n)*t,!1).add(new go.PathSegment(go.PathSegment.Line,(1-n)*e,n*t)).add(new go.PathSegment(go.PathSegment.Move,n*e,n*t)).add(new go.PathSegment(go.PathSegment.Line,(1-n)*e,(1-n)*t)).add(new go.PathSegment(go.PathSegment.Move,0,t/2)).add(new go.PathSegment(go.PathSegment.Line,e,t/2)).add(new go.PathSegment(go.PathSegment.Move,e/2,0)).add(new go.PathSegment(go.PathSegment.Line,e/2,t)))}),go.Shape.defineFigureGenerator("CircleLine",function(m,e,t){var n=e/2,g=new go.Geometry().add(new go.PathFigure(e,e/2,!1).add(new go.PathSegment(go.PathSegment.Arc,0,360,n,n,n,n).close()));return g.spot1=R,g.spot2=D,g.defaultStretch=go.GraphObject.Uniform,g}),go.Shape.defineFigureGenerator("Line1",function(m,e,t){var n=new go.Geometry(go.Geometry.Line);return n.startX=0,n.startY=0,n.endX=e,n.endY=t,n}),go.Shape.defineFigureGenerator("Line2",function(m,e,t){var n=new go.Geometry(go.Geometry.Line);return n.startX=e,n.startY=0,n.endX=0,n.endY=t,n}),go.Shape.defineFigureGenerator("Curve1",function(m,e,t){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,e,t,L*e,0,e,(1-L)*t)))}),go.Shape.defineFigureGenerator("Curve2",function(m,e,t){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,e,t,0,L*t,(1-L)*e,t)))}),go.Shape.defineFigureGenerator("Curve3",function(m,e,t){return new go.Geometry().add(new go.PathFigure(e,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,t,e,L*t,L*e,t)))}),go.Shape.defineFigureGenerator("Curve4",function(m,e,t){return new go.Geometry().add(new go.PathFigure(e,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,t,(1-L)*e,0,0,(1-L)*t)))}),go.Shape.defineFigureGenerator("TriangleDownLeft",function(m,e,t){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,e,t)).add(new go.PathSegment(go.PathSegment.Line,0,t).close())).setSpots(0,.5,.5,1)}),go.Shape.defineFigureGenerator("TriangleDownRight",function(m,e,t){return new go.Geometry().add(new go.PathFigure(e,0,!0).add(new go.PathSegment(go.PathSegment.Line,e,t)).add(new go.PathSegment(go.PathSegment.Line,0,t).close())).setSpots(.5,.5,1,1)}),go.Shape.defineFigureGenerator("TriangleUpLeft",function(m,e,t){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,t).close())).setSpots(0,0,.5,.5)}),go.Shape.defineFigureGenerator("TriangleUpRight",function(m,e,t){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,t).close())).setSpots(.5,0,1,.5)}),go.Shape.defineFigureGenerator("RightTriangle","TriangleDownLeft"),go.Shape.setFigureParameter("Parallelogram1",0,new p("Indent",.1,-.99,.99)),go.Shape.defineFigureGenerator("Parallelogram1",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)?n=.1:n<-1?n=-1:n>1&&(n=1);var g=Math.abs(n)*e;if(n===0){var a=new go.Geometry(go.Geometry.Rectangle);return a.startX=0,a.startY=0,a.endX=e,a.endY=t,a}else{var a=new go.Geometry;return n>0?a.add(new go.PathFigure(g,0).add(new go.PathSegment(go.PathSegment.Line,e,0)).add(new go.PathSegment(go.PathSegment.Line,e-g,t)).add(new go.PathSegment(go.PathSegment.Line,0,t).close())):a.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,e-g,0)).add(new go.PathSegment(go.PathSegment.Line,e,t)).add(new go.PathSegment(go.PathSegment.Line,g,t).close())),g<e/2&&a.setSpots(g/e,0,(e-g)/e,1),a}}),go.Shape.defineFigureGenerator("Parallelogram","Parallelogram1"),go.Shape.setFigureParameter("Parallelogram2",0,new p("Indent",10,-1/0,1/0)),go.Shape.defineFigureGenerator("Parallelogram2",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)?n=10:n<-e?n=-e:n>e&&(n=e);var g=Math.abs(n);if(n===0){var a=new go.Geometry(go.Geometry.Rectangle);return a.startX=0,a.startY=0,a.endX=e,a.endY=t,a}else{var a=new go.Geometry;return n>0?a.add(new go.PathFigure(g,0).add(new go.PathSegment(go.PathSegment.Line,e,0)).add(new go.PathSegment(go.PathSegment.Line,e-g,t)).add(new go.PathSegment(go.PathSegment.Line,0,t).close())):a.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,e-g,0)).add(new go.PathSegment(go.PathSegment.Line,e,t)).add(new go.PathSegment(go.PathSegment.Line,g,t).close())),g<e/2&&a.setSpots(g/e,0,(e-g)/e,1),a}}),go.Shape.setFigureParameter("Trapezoid1",0,new p("Indent",.2,-.99,.99)),go.Shape.defineFigureGenerator("Trapezoid1",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)?n=.2:n<.5?n=-.5:n>.5&&(n=.5);var g=Math.abs(n)*e;if(n===0){var a=new go.Geometry(go.Geometry.Rectangle);return a.startX=0,a.startY=0,a.endX=e,a.endY=t,a}else{var a=new go.Geometry;return n>0?a.add(new go.PathFigure(g,0).add(new go.PathSegment(go.PathSegment.Line,e-g,0)).add(new go.PathSegment(go.PathSegment.Line,e,t)).add(new go.PathSegment(go.PathSegment.Line,0,t).close())):a.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,e,0)).add(new go.PathSegment(go.PathSegment.Line,e-g,t)).add(new go.PathSegment(go.PathSegment.Line,g,t).close())),g<e/2&&a.setSpots(g/e,0,(e-g)/e,1),a}}),go.Shape.defineFigureGenerator("Trapezoid","Trapezoid1"),go.Shape.setFigureParameter("Trapezoid2",0,new p("Indent",20,-1/0,1/0)),go.Shape.defineFigureGenerator("Trapezoid2",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)?n=20:n<-e?n=-e/2:n>e&&(n=e/2);var g=Math.abs(n);if(n===0){var a=new go.Geometry(go.Geometry.Rectangle);return a.startX=0,a.startY=0,a.endX=e,a.endY=t,a}else{var a=new go.Geometry;return n>0?a.add(new go.PathFigure(g,0).add(new go.PathSegment(go.PathSegment.Line,e-g,0)).add(new go.PathSegment(go.PathSegment.Line,e,t)).add(new go.PathSegment(go.PathSegment.Line,0,t).close())):a.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,e,0)).add(new go.PathSegment(go.PathSegment.Line,e-g,t)).add(new go.PathSegment(go.PathSegment.Line,g,t).close())),g<e/2&&a.setSpots(g/e,0,(e-g)/e,1),a}}),go.Shape.setFigureParameter("ManualOperation",0,new p("Indent",10,-1/0,1/0)),go.Shape.defineFigureGenerator("ManualOperation",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)?n=10:n<-e?n=-e/2:n>e&&(n=e/2);var g=Math.abs(n);if(n===0){var a=new go.Geometry(go.Geometry.Rectangle);return a.startX=0,a.startY=0,a.endX=e,a.endY=t,a}else{var a=new go.Geometry;return n>0?a.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,e,0)).add(new go.PathSegment(go.PathSegment.Line,e-g,t)).add(new go.PathSegment(go.PathSegment.Line,g,t).close())):a.add(new go.PathFigure(g,0).add(new go.PathSegment(go.PathSegment.Line,e-g,0)).add(new go.PathSegment(go.PathSegment.Line,e,t)).add(new go.PathSegment(go.PathSegment.Line,0,t).close())),g<e/2&&a.setSpots(g/e,0,(e-g)/e,1),a}});var k=[];function C(){var m=k.pop();return m===void 0?[]:m}function l(m){m.length=0,k.push(m)}function N(m){for(var e=C(),t=.5,n=.5,g=Math.PI*1.5,a=0,o=0;o<m;o++)a=2*Math.PI/m*o+g,e[o]=new go.Point(n+t*Math.cos(a),n+t*Math.sin(a));return e.push(e[0]),e}function O(m){var e=x(m),t=C();t[0]=e[0];for(var n=1,g=1;n<e.length;n+=2,g+=3)t[g]=e[n],t[g+1]=e[n],t[g+2]=e[n+1];return l(e),t}function x(m){for(var e=N(m),t=C(),n=Math.floor(e.length/2),g=e.length-1,a=m%2===0?2:1,o=0;o<g;o++){var d=e[o],r=e[o+1],S=e[(n+o-1)%g],P=e[(n+o+a)%g];t[o*2]=d,t[o*2+1]=G(d.x,d.y,S.x,S.y,r.x,r.y,P.x,P.y,new go.Point)}return t[t.length]=t[0],l(e),t}go.Shape.defineFigureGenerator("Pentagon",function(m,e,t){var n=N(5),g=new go.Geometry,a=new go.PathFigure(n[0].x*e,n[0].y*t,!0);g.add(a);for(var o=1;o<5;o++)a.add(new go.PathSegment(go.PathSegment.Line,n[o].x*e,n[o].y*t));return a.add(new go.PathSegment(go.PathSegment.Line,n[0].x*e,n[0].y*t).close()),l(n),g.spot1=new go.Spot(.2,.22),g.spot2=new go.Spot(.8,.9),g}),go.Shape.defineFigureGenerator("Hexagon",function(m,e,t){var n=N(6),g=new go.Geometry,a=new go.PathFigure(n[0].x*e,n[0].y*t,!0);g.add(a);for(var o=1;o<6;o++)a.add(new go.PathSegment(go.PathSegment.Line,n[o].x*e,n[o].y*t));return a.add(new go.PathSegment(go.PathSegment.Line,n[0].x*e,n[0].y*t).close()),l(n),g.spot1=new go.Spot(.07,.25),g.spot2=new go.Spot(.93,.75),g}),go.Shape.defineFigureGenerator("Heptagon",function(m,e,t){var n=N(7),g=new go.Geometry,a=new go.PathFigure(n[0].x*e,n[0].y*t,!0);g.add(a);for(var o=1;o<7;o++)a.add(new go.PathSegment(go.PathSegment.Line,n[o].x*e,n[o].y*t));return a.add(new go.PathSegment(go.PathSegment.Line,n[0].x*e,n[0].y*t).close()),l(n),g.spot1=new go.Spot(.2,.15),g.spot2=new go.Spot(.8,.85),g}),go.Shape.defineFigureGenerator("Octagon",function(m,e,t){var n=N(8),g=new go.Geometry,a=new go.PathFigure(n[0].x*e,n[0].y*t,!0);g.add(a);for(var o=1;o<8;o++)a.add(new go.PathSegment(go.PathSegment.Line,n[o].x*e,n[o].y*t));return a.add(new go.PathSegment(go.PathSegment.Line,n[0].x*e,n[0].y*t).close()),l(n),g.spot1=new go.Spot(.15,.15),g.spot2=new go.Spot(.85,.85),g}),go.Shape.defineFigureGenerator("Nonagon",function(m,e,t){var n=N(9),g=new go.Geometry,a=new go.PathFigure(n[0].x*e,n[0].y*t,!0);g.add(a);for(var o=1;o<9;o++)a.add(new go.PathSegment(go.PathSegment.Line,n[o].x*e,n[o].y*t));return a.add(new go.PathSegment(go.PathSegment.Line,n[0].x*e,n[0].y*t).close()),l(n),g.spot1=new go.Spot(.17,.13),g.spot2=new go.Spot(.82,.82),g}),go.Shape.defineFigureGenerator("Decagon",function(m,e,t){var n=N(10),g=new go.Geometry,a=new go.PathFigure(n[0].x*e,n[0].y*t,!0);g.add(a);for(var o=1;o<10;o++)a.add(new go.PathSegment(go.PathSegment.Line,n[o].x*e,n[o].y*t));return a.add(new go.PathSegment(go.PathSegment.Line,n[0].x*e,n[0].y*t).close()),l(n),g.spot1=new go.Spot(.16,.16),g.spot2=new go.Spot(.84,.84),g}),go.Shape.defineFigureGenerator("Dodecagon",function(m,e,t){var n=N(12),g=new go.Geometry,a=new go.PathFigure(n[0].x*e,n[0].y*t,!0);g.add(a);for(var o=1;o<12;o++)a.add(new go.PathSegment(go.PathSegment.Line,n[o].x*e,n[o].y*t));return a.add(new go.PathSegment(go.PathSegment.Line,n[0].x*e,n[0].y*t).close()),l(n),g.spot1=new go.Spot(.16,.16),g.spot2=new go.Spot(.84,.84),g}),go.Shape.defineFigureGenerator("FivePointedStar",function(m,e,t){var n=x(5),g=new go.Geometry,a=new go.PathFigure(n[0].x*e,n[0].y*t,!0);g.add(a);for(var o=1;o<10;o++)a.add(new go.PathSegment(go.PathSegment.Line,n[o].x*e,n[o].y*t));return a.add(new go.PathSegment(go.PathSegment.Line,n[0].x*e,n[0].y*t).close()),l(n),g.spot1=new go.Spot(.266,.333),g.spot2=new go.Spot(.733,.733),g}),go.Shape.defineFigureGenerator("SixPointedStar",function(m,e,t){var n=x(6),g=new go.Geometry,a=new go.PathFigure(n[0].x*e,n[0].y*t,!0);g.add(a);for(var o=1;o<12;o++)a.add(new go.PathSegment(go.PathSegment.Line,n[o].x*e,n[o].y*t));return a.add(new go.PathSegment(go.PathSegment.Line,n[0].x*e,n[0].y*t).close()),l(n),g.spot1=new go.Spot(.17,.25),g.spot2=new go.Spot(.83,.75),g}),go.Shape.defineFigureGenerator("SevenPointedStar",function(m,e,t){var n=x(7),g=new go.Geometry,a=new go.PathFigure(n[0].x*e,n[0].y*t,!0);g.add(a);for(var o=1;o<14;o++)a.add(new go.PathSegment(go.PathSegment.Line,n[o].x*e,n[o].y*t));return a.add(new go.PathSegment(go.PathSegment.Line,n[0].x*e,n[0].y*t).close()),l(n),g.spot1=new go.Spot(.222,.277),g.spot2=new go.Spot(.777,.666),g}),go.Shape.defineFigureGenerator("EightPointedStar",function(m,e,t){var n=x(8),g=new go.Geometry,a=new go.PathFigure(n[0].x*e,n[0].y*t,!0);g.add(a);for(var o=1;o<16;o++)a.add(new go.PathSegment(go.PathSegment.Line,n[o].x*e,n[o].y*t));return a.add(new go.PathSegment(go.PathSegment.Line,n[0].x*e,n[0].y*t).close()),l(n),g.spot1=new go.Spot(.25,.25),g.spot2=new go.Spot(.75,.75),g}),go.Shape.defineFigureGenerator("NinePointedStar",function(m,e,t){var n=x(9),g=new go.Geometry,a=new go.PathFigure(n[0].x*e,n[0].y*t,!0);g.add(a);for(var o=1;o<18;o++)a.add(new go.PathSegment(go.PathSegment.Line,n[o].x*e,n[o].y*t));return a.add(new go.PathSegment(go.PathSegment.Line,n[0].x*e,n[0].y*t).close()),l(n),g.spot1=new go.Spot(.222,.277),g.spot2=new go.Spot(.777,.666),g}),go.Shape.defineFigureGenerator("TenPointedStar",function(m,e,t){var n=x(10),g=new go.Geometry,a=new go.PathFigure(n[0].x*e,n[0].y*t,!0);g.add(a);for(var o=1;o<20;o++)a.add(new go.PathSegment(go.PathSegment.Line,n[o].x*e,n[o].y*t));return a.add(new go.PathSegment(go.PathSegment.Line,n[0].x*e,n[0].y*t).close()),l(n),g.spot1=new go.Spot(.281,.261),g.spot2=new go.Spot(.723,.748),g}),go.Shape.defineFigureGenerator("FivePointedBurst",function(m,e,t){var n=O(5),g=new go.Geometry,a=new go.PathFigure(n[0].x*e,n[0].y*t,!0);g.add(a);for(var o=1;o<n.length;o+=3)a.add(new go.PathSegment(go.PathSegment.Bezier,n[o+2].x*e,n[o+2].y*t,n[o].x*e,n[o].y*t,n[o+1].x*e,n[o+1].y*t));return a.segments.last().close(),l(n),g.spot1=new go.Spot(.222,.277),g.spot2=new go.Spot(.777,.777),g}),go.Shape.defineFigureGenerator("SixPointedBurst",function(m,e,t){var n=O(6),g=new go.Geometry,a=new go.PathFigure(n[0].x*e,n[0].y*t,!0);g.add(a);for(var o=1;o<n.length;o+=3)a.add(new go.PathSegment(go.PathSegment.Bezier,n[o+2].x*e,n[o+2].y*t,n[o].x*e,n[o].y*t,n[o+1].x*e,n[o+1].y*t));return a.segments.last().close(),l(n),g.spot1=new go.Spot(.17,.222),g.spot2=new go.Spot(.833,.777),g}),go.Shape.defineFigureGenerator("SevenPointedBurst",function(m,e,t){var n=O(7),g=new go.Geometry,a=new go.PathFigure(n[0].x*e,n[0].y*t,!0);g.add(a);for(var o=1;o<n.length;o+=3)a.add(new go.PathSegment(go.PathSegment.Bezier,n[o+2].x*e,n[o+2].y*t,n[o].x*e,n[o].y*t,n[o+1].x*e,n[o+1].y*t));return a.segments.last().close(),l(n),g.spot1=new go.Spot(.222,.222),g.spot2=new go.Spot(.777,.777),g}),go.Shape.defineFigureGenerator("EightPointedBurst",function(m,e,t){var n=O(8),g=new go.Geometry,a=new go.PathFigure(n[0].x*e,n[0].y*t,!0);g.add(a);for(var o=1;o<n.length;o+=3)a.add(new go.PathSegment(go.PathSegment.Bezier,n[o+2].x*e,n[o+2].y*t,n[o].x*e,n[o].y*t,n[o+1].x*e,n[o+1].y*t));return a.segments.last().close(),l(n),g.spot1=new go.Spot(.222,.222),g.spot2=new go.Spot(.777,.777),g}),go.Shape.defineFigureGenerator("NinePointedBurst",function(m,e,t){var n=O(9),g=new go.Geometry,a=new go.PathFigure(n[0].x*e,n[0].y*t,!0);g.add(a);for(var o=1;o<n.length;o+=3)a.add(new go.PathSegment(go.PathSegment.Bezier,n[o+2].x*e,n[o+2].y*t,n[o].x*e,n[o].y*t,n[o+1].x*e,n[o+1].y*t));return a.segments.last().close(),l(n),g.spot1=new go.Spot(.222,.222),g.spot2=new go.Spot(.777,.777),g}),go.Shape.defineFigureGenerator("TenPointedBurst",function(m,e,t){var n=O(10),g=new go.Geometry,a=new go.PathFigure(n[0].x*e,n[0].y*t,!0);g.add(a);for(var o=1;o<n.length;o+=3)a.add(new go.PathSegment(go.PathSegment.Bezier,n[o+2].x*e,n[o+2].y*t,n[o].x*e,n[o].y*t,n[o+1].x*e,n[o+1].y*t));return a.segments.last().close(),l(n),g.spot1=new go.Spot(.222,.222),g.spot2=new go.Spot(.777,.777),g}),go.Shape.setFigureParameter("FramedRectangle",0,new p("ThicknessX",8)),go.Shape.setFigureParameter("FramedRectangle",1,new p("ThicknessY",8)),go.Shape.defineFigureGenerator("FramedRectangle",function(m,e,t){var n=m?m.parameter1:NaN,g=m?m.parameter2:NaN;isNaN(n)&&(n=8),isNaN(g)&&(g=8);var a=new go.Geometry,o=new go.PathFigure(0,0,!0);return a.add(o),o.add(new go.PathSegment(go.PathSegment.Line,e,0)),o.add(new go.PathSegment(go.PathSegment.Line,e,t)),o.add(new go.PathSegment(go.PathSegment.Line,0,t).close()),n<e/2&&g<t/2&&(o.add(new go.PathSegment(go.PathSegment.Move,n,g)),o.add(new go.PathSegment(go.PathSegment.Line,n,t-g)),o.add(new go.PathSegment(go.PathSegment.Line,e-n,t-g)),o.add(new go.PathSegment(go.PathSegment.Line,e-n,g).close())),a.setSpots(0,0,1,1,n,g,-n,-g),a}),go.Shape.setFigureParameter("Ring",0,new p("Thickness",8)),go.Shape.defineFigureGenerator("Ring",function(m,e,t){var n=m?m.parameter1:NaN;(isNaN(n)||n<0)&&(n=8);var g=e/2,a=new go.Geometry,o=new go.PathFigure(e,e/2,!0);a.add(o),o.add(new go.PathSegment(go.PathSegment.Arc,0,360,g,g,g,g).close());var d=Math.max(g-n,0);return d>0&&(o.add(new go.PathSegment(go.PathSegment.Move,e/2+d,e/2)),o.add(new go.PathSegment(go.PathSegment.Arc,0,-360,g,g,d,d).close())),a.spot1=R,a.spot2=D,a.defaultStretch=go.GraphObject.Uniform,a}),go.Shape.defineFigureGenerator("Cloud",function(m,e,t){return new go.Geometry().add(new go.PathFigure(.08034461*e,.1944299*t,!0).add(new go.PathSegment(go.PathSegment.Bezier,.2008615*e,.05349299*t,-.09239631*e,.07836421*t,.1406031*e,-.0542823*t)).add(new go.PathSegment(go.PathSegment.Bezier,.4338609*e,.074219*t,.2450511*e,-.00697547*t,.3776197*e,-.01112067*t)).add(new go.PathSegment(go.PathSegment.Bezier,.6558228*e,.07004196*t,.4539471*e,0,.6066018*e,-.02526587*t)).add(new go.PathSegment(go.PathSegment.Bezier,.8921095*e,.08370865*t,.6914277*e,-.01904177*t,.8921095*e,-.01220843*t)).add(new go.PathSegment(go.PathSegment.Bezier,.9147671*e,.3194596*t,1.036446*e,.04105738*t,1.020377*e,.3022052*t)).add(new go.PathSegment(go.PathSegment.Bezier,.9082935*e,.562044*t,1.04448*e,.360238*t,.992256*e,.5219009*t)).add(new go.PathSegment(go.PathSegment.Bezier,.9212406*e,.8217117*t,1.032337*e,.5771781*t,1.018411*e,.8120651*t)).add(new go.PathSegment(go.PathSegment.Bezier,.7592566*e,.9156953*t,1.028411*e,.9571472*t,.8556702*e,1.052487*t)).add(new go.PathSegment(go.PathSegment.Bezier,.5101666*e,.9310455*t,.7431877*e,1.009325*t,.5624123*e,1.021761*t)).add(new go.PathSegment(go.PathSegment.Bezier,.2609328*e,.9344623*t,.4820677*e,1.031761*t,.3030112*e,1.002796*t)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*e,.870098*t,.2329994*e,1.01518*t,.03213784*e,1.01518*t)).add(new go.PathSegment(go.PathSegment.Bezier,.06829292*e,.6545475*t,-.02812061*e,.9032597*t,-.01205169*e,.6835638*t)).add(new go.PathSegment(go.PathSegment.Bezier,.06427569*e,.4265613*t,-.01812061*e,.6089503*t,-.00606892*e,.4555777*t)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*e,.1944299*t,-.01606892*e,.3892545*t,-.01205169*e,.1944299*t))).setSpots(.1,.1,.9,.9)}),go.Shape.defineFigureGenerator("StopSign",function(m,e,t){var n=1/(Math.SQRT2+2);return new go.Geometry().add(new go.PathFigure(n*e,0,!0).add(new go.PathSegment(go.PathSegment.Line,(1-n)*e,0)).add(new go.PathSegment(go.PathSegment.Line,e,n*t)).add(new go.PathSegment(go.PathSegment.Line,e,(1-n)*t)).add(new go.PathSegment(go.PathSegment.Line,(1-n)*e,t)).add(new go.PathSegment(go.PathSegment.Line,n*e,t)).add(new go.PathSegment(go.PathSegment.Line,0,(1-n)*t)).add(new go.PathSegment(go.PathSegment.Line,0,n*t).close())).setSpots(n/2,n/2,1-n/2,1-n/2)}),go.Shape.setFigureParameter("Pie",0,new p("Start",0,-360,360)),go.Shape.setFigureParameter("Pie",1,new p("Sweep",315,-360,360)),go.Shape.defineFigureGenerator("Pie",function(m,e,t){var n=m?m.parameter1:NaN,g=m?m.parameter2:NaN;isNaN(n)&&(n=0),isNaN(g)&&(g=315);var a=n%360;a<0&&(a+=360);var o=g%360,d=Math.min(e,t)/2;return new go.Geometry().add(new go.PathFigure(d,d).add(new go.PathSegment(go.PathSegment.Arc,a,o,d,d,d,d).close()))}),go.Shape.defineFigureGenerator("PiePiece",function(m,e,t){var n=L/Math.SQRT2*.5,g=Math.SQRT2/2,a=1-Math.SQRT2/2;return new go.Geometry().add(new go.PathFigure(e,t,!0).add(new go.PathSegment(go.PathSegment.Bezier,g*e,a*t,e,(1-n)*t,(g+n)*e,(a+n)*t)).add(new go.PathSegment(go.PathSegment.Line,0,t).close()))}),go.Shape.setFigureParameter("ThickCross",0,new p("Thickness",30)),go.Shape.defineFigureGenerator("ThickCross",function(m,e,t){var n=m?m.parameter1:NaN;(isNaN(n)||n<0)&&(n=30);var g=Math.min(n,e)/2,a=e/2,o=t/2;return new go.Geometry().add(new go.PathFigure(a-g,0,!0).add(new go.PathSegment(go.PathSegment.Line,a+g,0)).add(new go.PathSegment(go.PathSegment.Line,a+g,o-g)).add(new go.PathSegment(go.PathSegment.Line,e,o-g)).add(new go.PathSegment(go.PathSegment.Line,e,o+g)).add(new go.PathSegment(go.PathSegment.Line,a+g,o+g)).add(new go.PathSegment(go.PathSegment.Line,a+g,t)).add(new go.PathSegment(go.PathSegment.Line,a-g,t)).add(new go.PathSegment(go.PathSegment.Line,a-g,o+g)).add(new go.PathSegment(go.PathSegment.Line,0,o+g)).add(new go.PathSegment(go.PathSegment.Line,0,o-g)).add(new go.PathSegment(go.PathSegment.Line,a-g,o-g).close()))}),go.Shape.setFigureParameter("ThinCross",0,new p("Thickness",10)),go.Shape.defineFigureGenerator("ThinCross",function(m,e,t){var n=m?m.parameter1:NaN;(isNaN(n)||n<0)&&(n=10);var g=Math.min(n,e)/2,a=e/2,o=t/2;return new go.Geometry().add(new go.PathFigure(a-g,0,!0).add(new go.PathSegment(go.PathSegment.Line,a+g,0)).add(new go.PathSegment(go.PathSegment.Line,a+g,o-g)).add(new go.PathSegment(go.PathSegment.Line,e,o-g)).add(new go.PathSegment(go.PathSegment.Line,e,o+g)).add(new go.PathSegment(go.PathSegment.Line,a+g,o+g)).add(new go.PathSegment(go.PathSegment.Line,a+g,t)).add(new go.PathSegment(go.PathSegment.Line,a-g,t)).add(new go.PathSegment(go.PathSegment.Line,a-g,o+g)).add(new go.PathSegment(go.PathSegment.Line,0,o+g)).add(new go.PathSegment(go.PathSegment.Line,0,o-g)).add(new go.PathSegment(go.PathSegment.Line,a-g,o-g).close()))}),go.Shape.setFigureParameter("ThickX",0,new p("Thickness",30)),go.Shape.defineFigureGenerator("ThickX",function(m,e,t){var n=m?m.parameter1:NaN;if((isNaN(n)||n<0)&&(n=30),e===0||t===0){var g=new go.Geometry(go.Geometry.Rectangle);return g.startX=0,g.startY=0,g.endX=e,g.endY=t,g}else{var a=e/2,o=t/2,d=Math.atan2(t,e),r=n-Math.min(Math.cos(d)*n/2,a),S=n-Math.min(Math.sin(d)*n/2,o),g=new go.Geometry,P=new go.PathFigure(r,0,!0);return g.add(P),P.add(new go.PathSegment(go.PathSegment.Line,a,.2*t)),P.add(new go.PathSegment(go.PathSegment.Line,e-r,0)),P.add(new go.PathSegment(go.PathSegment.Line,e,S)),P.add(new go.PathSegment(go.PathSegment.Line,.8*e,o)),P.add(new go.PathSegment(go.PathSegment.Line,e,t-S)),P.add(new go.PathSegment(go.PathSegment.Line,e-r,t)),P.add(new go.PathSegment(go.PathSegment.Line,a,.8*t)),P.add(new go.PathSegment(go.PathSegment.Line,r,t)),P.add(new go.PathSegment(go.PathSegment.Line,0,t-S)),P.add(new go.PathSegment(go.PathSegment.Line,.2*e,o)),P.add(new go.PathSegment(go.PathSegment.Line,0,S).close()),g}}),go.Shape.setFigureParameter("ThinX",0,new p("Thickness",10)),go.Shape.defineFigureGenerator("ThinX",function(m,e,t){var n=m?m.parameter1:NaN;(isNaN(n)||n<0)&&(n=10);var g=new go.Geometry,a=new go.PathFigure(.1*e,0,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.5*e,.4*t)),a.add(new go.PathSegment(go.PathSegment.Line,.9*e,0)),a.add(new go.PathSegment(go.PathSegment.Line,e,.1*t)),a.add(new go.PathSegment(go.PathSegment.Line,.6*e,.5*t)),a.add(new go.PathSegment(go.PathSegment.Line,e,.9*t)),a.add(new go.PathSegment(go.PathSegment.Line,.9*e,t)),a.add(new go.PathSegment(go.PathSegment.Line,.5*e,.6*t)),a.add(new go.PathSegment(go.PathSegment.Line,.1*e,t)),a.add(new go.PathSegment(go.PathSegment.Line,0,.9*t)),a.add(new go.PathSegment(go.PathSegment.Line,.4*e,.5*t)),a.add(new go.PathSegment(go.PathSegment.Line,0,.1*t).close()),g}),go.Shape.setFigureParameter("SquareIBeam",0,new p("BeamWidth",.2,.1,.9)),go.Shape.defineFigureGenerator("SquareIBeam",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)&&(n=.2);var g=new go.Geometry,a=new go.PathFigure(0,0,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e,0)),a.add(new go.PathSegment(go.PathSegment.Line,e,n*t)),a.add(new go.PathSegment(go.PathSegment.Line,(.5+n/2)*e,n*t)),a.add(new go.PathSegment(go.PathSegment.Line,(.5+n/2)*e,(1-n)*t)),a.add(new go.PathSegment(go.PathSegment.Line,e,(1-n)*t)),a.add(new go.PathSegment(go.PathSegment.Line,e,t)),a.add(new go.PathSegment(go.PathSegment.Line,0,t)),a.add(new go.PathSegment(go.PathSegment.Line,0,(1-n)*t)),a.add(new go.PathSegment(go.PathSegment.Line,(.5-n/2)*e,(1-n)*t)),a.add(new go.PathSegment(go.PathSegment.Line,(.5-n/2)*e,n*t)),a.add(new go.PathSegment(go.PathSegment.Line,0,n*t).close()),g}),go.Shape.setFigureParameter("RoundedIBeam",0,new p("Curviness",.5,.05,.65)),go.Shape.defineFigureGenerator("RoundedIBeam",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)&&(n=.5);var g=new go.Geometry,a=new go.PathFigure(0,0,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e,0)),a.add(new go.PathSegment(go.PathSegment.Bezier,e,t,Math.abs(1-n)*e,.25*t,Math.abs(1-n)*e,.75*t)),a.add(new go.PathSegment(go.PathSegment.Line,0,t)),a.add(new go.PathSegment(go.PathSegment.Bezier,0,0,n*e,.75*t,n*e,.25*t).close()),g}),go.Shape.defineFigureGenerator("HalfEllipse",function(m,e,t){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,e,.5*t,L*e,0,e,(.5-L/2)*t)).add(new go.PathSegment(go.PathSegment.Bezier,0,t,e,(.5+L/2)*t,L*e,t).close())).setSpots(0,.156,.844,.844)}),go.Shape.defineFigureGenerator("Crescent",function(m,e,t){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,t,e,0,e,t)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.5*e,.75*t,.5*e,.25*t).close())).setSpots(.311,.266,.744,.744)}),go.Shape.defineFigureGenerator("Heart",function(m,e,t){return new go.Geometry().add(new go.PathFigure(.5*e,t,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,.3*t,.1*e,.8*t,0,.5*t)).add(new go.PathSegment(go.PathSegment.Bezier,.5*e,.3*t,0,0,.45*e,0)).add(new go.PathSegment(go.PathSegment.Bezier,e,.3*t,.55*e,0,e,0)).add(new go.PathSegment(go.PathSegment.Bezier,.5*e,t,e,.5*t,.9*e,.8*t).close())).setSpots(.14,.29,.86,.78)}),go.Shape.defineFigureGenerator("Spade",function(m,e,t){return new go.Geometry().add(new go.PathFigure(.5*e,0,!0).add(new go.PathSegment(go.PathSegment.Line,.51*e,.01*t)).add(new go.PathSegment(go.PathSegment.Bezier,e,.5*t,.6*e,.2*t,e,.25*t)).add(new go.PathSegment(go.PathSegment.Bezier,.55*e,.7*t,e,.8*t,.6*e,.8*t)).add(new go.PathSegment(go.PathSegment.Bezier,.75*e,t,.5*e,.75*t,.55*e,.95*t)).add(new go.PathSegment(go.PathSegment.Line,.25*e,t)).add(new go.PathSegment(go.PathSegment.Bezier,.45*e,.7*t,.45*e,.95*t,.5*e,.75*t)).add(new go.PathSegment(go.PathSegment.Bezier,0,.5*t,.4*e,.8*t,0,.8*t)).add(new go.PathSegment(go.PathSegment.Bezier,.49*e,.01*t,0,.25*t,.4*e,.2*t).close())).setSpots(.14,.26,.86,.78)}),go.Shape.defineFigureGenerator("Club",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.4*e,.6*t,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Bezier,.15*e,t,.5*e,.75*t,.45*e,.95*t)),g.add(new go.PathSegment(go.PathSegment.Line,.85*e,t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.6*e,.6*t,.55*e,.95*t,.5*e,.75*t));var a=.2,o=.3,d=0,r=a*L;return g.add(new go.PathSegment(go.PathSegment.Bezier,(.5+o)*e,(.5+a+d)*t,(.5-a+o)*e,(.5+r+d)*t,(.5-r+o)*e,(.5+a+d)*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+a+o)*e,(.5+d)*t,(.5+r+o)*e,(.5+a+d)*t,(.5+a+o)*e,(.5+r+d)*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,(.5+o)*e,(.5-a+d)*t,(1-.5+a+o)*e,(.5-r+d)*t,(.5+r+o)*e,(.5-a+d)*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.65*e,.36771243*t,(.5-r+o)*e,(.5-a+d)*t,(.5-a+o+.05)*e,(.5-r+d-.02)*t)),a=.2,o=0,d=-.3,r=a*L,g.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+a+o)*e,(.5+d)*t,(.5+r+o)*e,(.5+a+d)*t,(.5+a+o)*e,(.5+r+d)*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,(.5+o)*e,(.5-a+d)*t,(1-.5+a+o)*e,(.5-r+d)*t,(.5+r+o)*e,(.5-a+d)*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,(.5-a+o)*e,(.5+d)*t,(.5-r+o)*e,(.5-a+d)*t,(.5-a+o)*e,(.5-r+d)*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,(.5-r+o)*e,(.5+a+d)*t,(.5-a+o)*e,(.5+r+d)*t,(.5-r+o)*e,(.5+a+d)*t)),a=.2,o=-.3,d=0,r=a*L,g.add(new go.PathSegment(go.PathSegment.Bezier,(.5+o)*e,(.5-a+d)*t,(1-.5+a+o-.05)*e,(.5-r+d-.02)*t,(.5+r+o)*e,(.5-a+d)*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,(.5-a+o)*e,(.5+d)*t,(.5-r+o)*e,(.5-a+d)*t,(.5-a+o)*e,(.5-r+d)*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,(.5+o)*e,(.5+a+d)*t,(.5-a+o)*e,(.5+r+d)*t,(.5-r+o)*e,(.5+a+d)*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.4*e,.6*t,(.5+r+o)*e,(.5+a+d)*t,(.5+a+o)*e,(.5+r+d)*t).close()),n.setSpots(.06,.33,.93,.68),n}),go.Shape.defineFigureGenerator("YinYang",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(e*.5,0,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Arc,270,180,e*.5,e*.5,e*.5,e*.5)),g.add(new go.PathSegment(go.PathSegment.Arc,90,-180,e*.5,e*.75,e*.25,e*.25)),g.add(new go.PathSegment(go.PathSegment.Arc,90,180,e*.5,e*.25,e*.25,e*.25));var a=.1,o=.5,d=.25;return g.add(new go.PathSegment(go.PathSegment.Move,(o+a)*e,d*t)),g.add(new go.PathSegment(go.PathSegment.Arc,0,-360,e*o,t*d,a*e,a*e).close()),g=new go.PathFigure(e*.5,0,!1),n.add(g),g.add(new go.PathSegment(go.PathSegment.Arc,270,-180,e*.5,e*.5,e*.5,e*.5)),d=.75,g=new go.PathFigure((o+a)*e,d*t,!0),n.add(g),g.add(new go.PathSegment(go.PathSegment.Arc,0,360,e*o,t*d,a*e,a*e).close()),n.defaultStretch=go.GraphObject.Uniform,n}),go.Shape.defineFigureGenerator("Peace",function(m,e,t){var n=.8535533905932737,g=.5*e,a=.5*t;return new go.Geometry().add(new go.PathFigure(g,0,!1).add(new go.PathSegment(go.PathSegment.Arc,270,360,g,a,g,a)).add(new go.PathSegment(go.PathSegment.Line,g,t)).add(new go.PathSegment(go.PathSegment.Move,g,a)).add(new go.PathSegment(go.PathSegment.Line,(1-n)*e,n*t)).add(new go.PathSegment(go.PathSegment.Move,g,a)).add(new go.PathSegment(go.PathSegment.Line,n*e,n*t)))}),go.Shape.defineFigureGenerator("NotAllowed",function(m,e,t){var n=new go.Geometry,g=L*.5,a=.5,o=.5,d=.5,r=new go.PathFigure(o*e,(d-a)*t);n.add(r),r.add(new go.PathSegment(go.PathSegment.Bezier,(o-a)*e,d*t,(o-g)*e,(d-a)*t,(o-a)*e,(d-g)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d+a)*t,(o-a)*e,(d+g)*t,(o-g)*e,(d+a)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(o+a)*e,d*t,(o+g)*e,(d+a)*t,(o+a)*e,(d+g)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d-a)*t,(o+a)*e,(d-g)*t,(o+g)*e,(d-a)*t)),a=.4,g=L*.4;var S=c(),P=c(),i=c(),h=c();y(o,d-a,o+g,d-a,o+a,d-g,o+a,d,.42,S,P,i,h,h);var u=c(),f=c(),s=c();y(o,d-a,o+g,d-a,o+a,d-g,o+a,d,.58,h,h,s,u,f);var F=c(),B=c(),z=c();y(o,d+a,o-g,d+a,o-a,d+g,o-a,d,.42,F,B,z,h,h);var M=c(),A=c(),w=c();return y(o,d+a,o-g,d+a,o-a,d+g,o-a,d,.58,h,h,w,M,A),r.add(new go.PathSegment(go.PathSegment.Move,w.x*e,w.y*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(o-a)*e,d*t,M.x*e,M.y*t,A.x*e,A.y*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d-a)*t,(o-a)*e,(d-g)*t,(o-g)*e,(d-a)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,i.x*e,i.y*t,S.x*e,S.y*t,P.x*e,P.y*t)),r.add(new go.PathSegment(go.PathSegment.Line,w.x*e,w.y*t).close()),r.add(new go.PathSegment(go.PathSegment.Move,z.x*e,z.y*t)),r.add(new go.PathSegment(go.PathSegment.Line,s.x*e,s.y*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(o+a)*e,d*t,u.x*e,u.y*t,f.x*e,f.y*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d+a)*t,(o+a)*e,(d+g)*t,(o+g)*e,(d+a)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,z.x*e,z.y*t,F.x*e,F.y*t,B.x*e,B.y*t).close()),v(S),v(P),v(i),v(h),v(u),v(f),v(s),v(F),v(B),v(z),v(M),v(A),v(w),n.defaultStretch=go.GraphObject.Uniform,n}),go.Shape.defineFigureGenerator("Fragile",function(m,e,t){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*t)).add(new go.PathSegment(go.PathSegment.Line,.3*e,.25*t)).add(new go.PathSegment(go.PathSegment.Line,.29*e,.33*t)).add(new go.PathSegment(go.PathSegment.Line,.35*e,.25*t)).add(new go.PathSegment(go.PathSegment.Line,.3*e,.15*t)).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*t,e,.25*t,.75*e,.5*t)).add(new go.PathSegment(go.PathSegment.Line,.55*e,.9*t)).add(new go.PathSegment(go.PathSegment.Line,.7*e,.9*t)).add(new go.PathSegment(go.PathSegment.Line,.7*e,t)).add(new go.PathSegment(go.PathSegment.Line,.3*e,t)).add(new go.PathSegment(go.PathSegment.Line,.3*e,.9*t)).add(new go.PathSegment(go.PathSegment.Line,.45*e,.9*t)).add(new go.PathSegment(go.PathSegment.Line,.45*e,.5*t)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*e,.5*t,0,.25*t).close()))}),go.Shape.setFigureParameter("HourGlass",0,new p("Thickness",30)),go.Shape.defineFigureGenerator("HourGlass",function(m,e,t){var n=m?m.parameter1:NaN;(isNaN(n)||n<0)&&(n=30),n>e&&(n=e);var g=(e-n)/2,a=g+n;return new go.Geometry().add(new go.PathFigure(a,.5*t).add(new go.PathSegment(go.PathSegment.Line,e,t)).add(new go.PathSegment(go.PathSegment.Line,0,t)).add(new go.PathSegment(go.PathSegment.Line,g,.5*t)).add(new go.PathSegment(go.PathSegment.Line,0,0)).add(new go.PathSegment(go.PathSegment.Line,e,0).close()))}),go.Shape.defineFigureGenerator("Lightning",function(m,e,t){return new go.Geometry().add(new go.PathFigure(0,.55*t).add(new go.PathSegment(go.PathSegment.Line,.6*e,0)).add(new go.PathSegment(go.PathSegment.Line,.3*e,.45*t)).add(new go.PathSegment(go.PathSegment.Line,e,.45*t)).add(new go.PathSegment(go.PathSegment.Line,.4*e,t)).add(new go.PathSegment(go.PathSegment.Line,.7*e,.55*t).close()))}),go.Shape.defineFigureGenerator("GenderMale",function(m,e,t){var n=new go.Geometry,g=L*.4,a=.4,o=.5,d=.5,r=c(),S=c(),P=c(),i=c(),h=new go.PathFigure((o-a)*e,d*t,!1);n.add(h),h.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d-a)*t,(o-a)*e,(d-g)*t,(o-g)*e,(d-a)*t)),y(o,d-a,o+g,d-a,o+a,d-g,o+a,d,.44,P,i,S,r,r),h.add(new go.PathSegment(go.PathSegment.Bezier,S.x*e,S.y*t,P.x*e,P.y*t,i.x*e,i.y*t));var u=b(S.x,S.y);y(o,d-a,o+g,d-a,o+a,d-g,o+a,d,.56,r,r,S,P,i);var f=b(S.x,S.y);h.add(new go.PathSegment(go.PathSegment.Line,(u.x*.1+.95*.9)*e,u.y*.1*t)),h.add(new go.PathSegment(go.PathSegment.Line,.85*e,u.y*.1*t)),h.add(new go.PathSegment(go.PathSegment.Line,.85*e,0)),h.add(new go.PathSegment(go.PathSegment.Line,e,0)),h.add(new go.PathSegment(go.PathSegment.Line,e,.15*t)),h.add(new go.PathSegment(go.PathSegment.Line,(f.x*.1+.9)*e,.15*t)),h.add(new go.PathSegment(go.PathSegment.Line,(f.x*.1+.9)*e,(f.y*.1+.05*.9)*t)),h.add(new go.PathSegment(go.PathSegment.Line,f.x*e,f.y*t)),h.add(new go.PathSegment(go.PathSegment.Bezier,(o+a)*e,d*t,P.x*e,P.y*t,i.x*e,i.y*t)),h.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d+a)*t,(o+a)*e,(d+g)*t,(o+g)*e,(d+a)*t)),h.add(new go.PathSegment(go.PathSegment.Bezier,(o-a)*e,d*t,(o-g)*e,(d+a)*t,(o-a)*e,(d+g)*t)),a=.35,g=L*.35;var s=new go.PathFigure(o*e,(d-a)*t,!1);n.add(s),s.add(new go.PathSegment(go.PathSegment.Bezier,(o-a)*e,d*t,(o-g)*e,(d-a)*t,(o-a)*e,(d-g)*t)),s.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d+a)*t,(o-a)*e,(d+g)*t,(o-g)*e,(d+a)*t)),s.add(new go.PathSegment(go.PathSegment.Bezier,(o+a)*e,d*t,(o+g)*e,(d+a)*t,(o+a)*e,(d+g)*t)),s.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d-a)*t,(o+a)*e,(d-g)*t,(o+g)*e,(d-a)*t));var F=new go.PathFigure((o-a)*e,d*t,!1);return n.add(F),v(r),v(S),v(P),v(i),v(u),v(f),n.spot1=new go.Spot(.202,.257),n.spot2=new go.Spot(.792,.739),n.defaultStretch=go.GraphObject.Uniform,n}),go.Shape.defineFigureGenerator("GenderFemale",function(m,e,t){var n=new go.Geometry,g=.375,a=0,o=-.125,d=g*L,r=new go.PathFigure((.525+a)*e,(.5+g+o)*t,!1);n.add(r),r.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+g+a)*e,(.5+o)*t,(.5+d+a)*e,(.5+g+o)*t,(.5+g+a)*e,(.5+d+o)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(.5+a)*e,(.5-g+o)*t,(1-.5+g+a)*e,(.5-d+o)*t,(.5+d+a)*e,(.5-g+o)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(.5-g+a)*e,(.5+o)*t,(.5-d+a)*e,(.5-g+o)*t,(.5-g+a)*e,(.5-d+o)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(.475+a)*e,(.5+g+o)*t,(.5-g+a)*e,(.5+d+o)*t,(.5-d+a)*e,(.5+g+o)*t)),r.add(new go.PathSegment(go.PathSegment.Line,.475*e,.85*t)),r.add(new go.PathSegment(go.PathSegment.Line,.425*e,.85*t)),r.add(new go.PathSegment(go.PathSegment.Line,.425*e,.9*t)),r.add(new go.PathSegment(go.PathSegment.Line,.475*e,.9*t)),r.add(new go.PathSegment(go.PathSegment.Line,.475*e,t)),r.add(new go.PathSegment(go.PathSegment.Line,.525*e,t)),r.add(new go.PathSegment(go.PathSegment.Line,.525*e,.9*t)),r.add(new go.PathSegment(go.PathSegment.Line,.575*e,.9*t)),r.add(new go.PathSegment(go.PathSegment.Line,.575*e,.85*t)),r.add(new go.PathSegment(go.PathSegment.Line,.525*e,.85*t).close()),g=.325,a=0,o=-.125,d=g*L;var r=new go.PathFigure((1-.5+g+a)*e,(.5+o)*t,!1);n.add(r),r.add(new go.PathSegment(go.PathSegment.Bezier,(.5+a)*e,(.5+g+o)*t,(.5+g+a)*e,(.5+d+o)*t,(.5+d+a)*e,(.5+g+o)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(.5-g+a)*e,(.5+o)*t,(.5-d+a)*e,(.5+g+o)*t,(.5-g+a)*e,(.5+d+o)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(.5+a)*e,(.5-g+o)*t,(.5-g+a)*e,(.5-d+o)*t,(.5-d+a)*e,(.5-g+o)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+g+a)*e,(.5+o)*t,(.5+d+a)*e,(.5-g+o)*t,(1-.5+g+a)*e,(.5-d+o)*t));var r=new go.PathFigure((.525+a)*e,(.5+g+o)*t,!1);return n.add(r),n.spot1=new go.Spot(.232,.136),n.spot2=new go.Spot(.682,.611),n.defaultStretch=go.GraphObject.Uniform,n}),go.Shape.defineFigureGenerator("LogicImplies",function(m,e,t){var n=m?m.parameter1:NaN;return isNaN(n)&&(n=.2),new go.Geometry().add(new go.PathFigure((1-n)*e,0,!1).add(new go.PathSegment(go.PathSegment.Line,e,.5*t)).add(new go.PathSegment(go.PathSegment.Line,(1-n)*e,t)).add(new go.PathSegment(go.PathSegment.Move,0,.5*t)).add(new go.PathSegment(go.PathSegment.Line,e,.5*t))).setSpots(0,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicIff",function(m,e,t){var n=m?m.parameter1:NaN;return isNaN(n)&&(n=.2),new go.Geometry().add(new go.PathFigure((1-n)*e,0,!1).add(new go.PathSegment(go.PathSegment.Line,e,.5*t)).add(new go.PathSegment(go.PathSegment.Line,(1-n)*e,t)).add(new go.PathSegment(go.PathSegment.Move,0,.5*t)).add(new go.PathSegment(go.PathSegment.Line,e,.5*t)).add(new go.PathSegment(go.PathSegment.Move,n*e,0)).add(new go.PathSegment(go.PathSegment.Line,0,.5*t)).add(new go.PathSegment(go.PathSegment.Line,n*e,t))).setSpots(.2,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicNot",function(m,e,t){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,t)))}),go.Shape.defineFigureGenerator("LogicAnd",function(m,e,t){return new go.Geometry().add(new go.PathFigure(0,t,!1).add(new go.PathSegment(go.PathSegment.Line,.5*e,0)).add(new go.PathSegment(go.PathSegment.Line,e,t))).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("LogicOr",function(m,e,t){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*e,t)).add(new go.PathSegment(go.PathSegment.Line,e,0))).setSpots(.219,0,.78,.409)}),go.Shape.defineFigureGenerator("LogicXor",function(m,e,t){var n=new go.Geometry().add(new go.PathFigure(.5*e,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*e,t)).add(new go.PathSegment(go.PathSegment.Move,0,.5*t)).add(new go.PathSegment(go.PathSegment.Line,e,.5*t)).add(new go.PathSegment(go.PathSegment.Arc,0,360,.5*e,.5*t,.5*e,.5*t)));return n.defaultStretch=go.GraphObject.Uniform,n}),go.Shape.defineFigureGenerator("LogicTruth",function(m,e,t){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,t)))}),go.Shape.defineFigureGenerator("LogicFalsity",function(m,e,t){return new go.Geometry().add(new go.PathFigure(0,t,!1).add(new go.PathSegment(go.PathSegment.Line,e,t)).add(new go.PathSegment(go.PathSegment.Move,.5*e,t)).add(new go.PathSegment(go.PathSegment.Line,.5*e,0)))}),go.Shape.defineFigureGenerator("LogicThereExists",function(m,e,t){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*t)).add(new go.PathSegment(go.PathSegment.Line,0,.5*t)).add(new go.PathSegment(go.PathSegment.Move,e,.5*t)).add(new go.PathSegment(go.PathSegment.Line,e,t)).add(new go.PathSegment(go.PathSegment.Line,0,t)))}),go.Shape.defineFigureGenerator("LogicForAll",function(m,e,t){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*e,t)).add(new go.PathSegment(go.PathSegment.Line,e,0)).add(new go.PathSegment(go.PathSegment.Move,.25*e,.5*t)).add(new go.PathSegment(go.PathSegment.Line,.75*e,.5*t))).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("LogicIsDefinedAs",function(m,e,t){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*t)).add(new go.PathSegment(go.PathSegment.Line,e,.5*t)).add(new go.PathSegment(go.PathSegment.Move,0,t)).add(new go.PathSegment(go.PathSegment.Line,e,t))).setSpots(.01,.01,.99,.49)}),go.Shape.defineFigureGenerator("LogicIntersect",function(m,e,t){var n=.5;return new go.Geometry().add(new go.PathFigure(0,t,!1).add(new go.PathSegment(go.PathSegment.Line,0,n*t)).add(new go.PathSegment(go.PathSegment.Arc,180,180,n*e,n*t,n*e,n*t)).add(new go.PathSegment(go.PathSegment.Line,e,t))).setSpots(0,.5,1,1)}),go.Shape.defineFigureGenerator("LogicUnion",function(m,e,t){var n=.5;return new go.Geometry().add(new go.PathFigure(e,0,!1).add(new go.PathSegment(go.PathSegment.Line,e,n*t)).add(new go.PathSegment(go.PathSegment.Arc,0,180,n*e,n*t,n*e,n*t)).add(new go.PathSegment(go.PathSegment.Line,0,0))).setSpots(0,0,1,.5)}),go.Shape.setFigureParameter("Arrow",0,new p("ArrowheadWidth",.3,.01,.99)),go.Shape.setFigureParameter("Arrow",1,new p("TailHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("Arrow",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)&&(n=.3);var g=m?m.parameter2:NaN;isNaN(g)&&(g=.3);var a=(1-n)*e,o=(.5-g/2)*t,d=(.5+g/2)*t,r=new go.Geometry,S=new go.PathFigure(0,o,!0);r.add(S),S.add(new go.PathSegment(go.PathSegment.Line,a,o)),S.add(new go.PathSegment(go.PathSegment.Line,a,0)),S.add(new go.PathSegment(go.PathSegment.Line,e,.5*t)),S.add(new go.PathSegment(go.PathSegment.Line,a,t)),S.add(new go.PathSegment(go.PathSegment.Line,a,d)),S.add(new go.PathSegment(go.PathSegment.Line,0,d).close()),r.spot1=new go.Spot(0,o/t);var P=G(0,d/t,1,d/t,a/e,1,1,.5,c());return r.spot2=new go.Spot(P.x,P.y),v(P),r}),go.Shape.setFigureParameter("Arrow2",0,new p("ArrowheadWidth",30)),go.Shape.setFigureParameter("Arrow2",0,new p("TailHeight",30)),go.Shape.defineFigureGenerator("Arrow2",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)&&(n=30),n>e&&(n=e);var g=m?m.parameter2:NaN;isNaN(g)&&(g=30),g=Math.min(g,t/2);var a=e-n,o=(t-g)/2,d=o+g,r=new go.Geometry,S=new go.PathFigure(0,o,!0);r.add(S),S.add(new go.PathSegment(go.PathSegment.Line,a,o)),S.add(new go.PathSegment(go.PathSegment.Line,a,0)),S.add(new go.PathSegment(go.PathSegment.Line,e,.5*t)),S.add(new go.PathSegment(go.PathSegment.Line,a,t)),S.add(new go.PathSegment(go.PathSegment.Line,a,d)),S.add(new go.PathSegment(go.PathSegment.Line,0,d).close()),r.spot1=new go.Spot(0,o/t);var P=G(0,d/t,1,d/t,a/e,1,1,.5,c());return r.spot2=new go.Spot(P.x,P.y),v(P),r}),go.Shape.defineFigureGenerator("Chevron",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,t)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,.5*t).close()),n}),go.Shape.defineFigureGenerator("DoubleArrow",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.3*e,.214*t)),g.add(new go.PathSegment(go.PathSegment.Line,.3*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,1*e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,.3*e,1*t)),g.add(new go.PathSegment(go.PathSegment.Line,.3*e,.786*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,1*t).close()),n}),go.Shape.setFigureParameter("DoubleEndArrow",0,new p("ConnecterHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("DoubleEndArrow",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)&&(n=.3);var g=(.5-n/2)*t,a=(.5+n/2)*t,o=new go.Geometry,d=new go.PathFigure(e,.5*t,!0);o.add(d),d.add(new go.PathSegment(go.PathSegment.Line,.7*e,t)),d.add(new go.PathSegment(go.PathSegment.Line,.7*e,a)),d.add(new go.PathSegment(go.PathSegment.Line,.3*e,a)),d.add(new go.PathSegment(go.PathSegment.Line,.3*e,t)),d.add(new go.PathSegment(go.PathSegment.Line,0,.5*t)),d.add(new go.PathSegment(go.PathSegment.Line,.3*e,0)),d.add(new go.PathSegment(go.PathSegment.Line,.3*e,g)),d.add(new go.PathSegment(go.PathSegment.Line,.7*e,g)),d.add(new go.PathSegment(go.PathSegment.Line,.7*e,0).close());var r=G(0,.5,.3,0,0,g/t,.1,g/t,c());return o.spot1=new go.Spot(r.x,r.y),r=G(.7,1,1,.5,0,a/t,1,a/t,r),o.spot2=new go.Spot(r.x,r.y),v(r),o}),go.Shape.setFigureParameter("DoubleEndArrow2",0,new p("ConnecterHeight",40)),go.Shape.setFigureParameter("DoubleEndArrow2",1,new p("ArrowHeight",100)),go.Shape.defineFigureGenerator("DoubleEndArrow2",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)&&(n=40);var g=m?m.parameter2:NaN;isNaN(g)&&(g=100);var a=(t-n)/2,o=a+n,d=(t-g)/2,r=d+g;(n>t||g>t)&&(g>n?(n=n*t/g,a=(t-n)/2,o=a+n,d=0,r=t):(a=0,o=t,d=0,r=t));var S=new go.Geometry,P=new go.PathFigure(e,.5*t,!0);S.add(P),P.add(new go.PathSegment(go.PathSegment.Line,.7*e,r)),P.add(new go.PathSegment(go.PathSegment.Line,.7*e,o)),P.add(new go.PathSegment(go.PathSegment.Line,.3*e,o)),P.add(new go.PathSegment(go.PathSegment.Line,.3*e,r)),P.add(new go.PathSegment(go.PathSegment.Line,0,.5*t)),P.add(new go.PathSegment(go.PathSegment.Line,.3*e,d)),P.add(new go.PathSegment(go.PathSegment.Line,.3*e,a)),P.add(new go.PathSegment(go.PathSegment.Line,.7*e,a)),P.add(new go.PathSegment(go.PathSegment.Line,.7*e,d).close());var i=G(0,.5,.3,d/t,0,a/t,1,a/t,c());return S.spot1=new go.Spot(i.x,i.y),i=G(.7,r/t,1,.5,0,o/t,1,o/t,i),S.spot2=new go.Spot(i.x,i.y),v(i),S}),go.Shape.setFigureParameter("IBeamArrow",0,new p("ConnectorHeight",.7,.51,.97)),go.Shape.defineFigureGenerator("IBeamArrow",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)&&(n=.3);var g=(.5-n/2)*t,a=(.5+n/2)*t,o=new go.Geometry,d=new go.PathFigure(e,.5*t,!0);o.add(d),d.add(new go.PathSegment(go.PathSegment.Line,.7*e,t)),d.add(new go.PathSegment(go.PathSegment.Line,.7*e,a)),d.add(new go.PathSegment(go.PathSegment.Line,.2*e,a)),d.add(new go.PathSegment(go.PathSegment.Line,.2*e,t)),d.add(new go.PathSegment(go.PathSegment.Line,0,t)),d.add(new go.PathSegment(go.PathSegment.Line,0,0)),d.add(new go.PathSegment(go.PathSegment.Line,.2*e,0)),d.add(new go.PathSegment(go.PathSegment.Line,.2*e,g)),d.add(new go.PathSegment(go.PathSegment.Line,.7*e,g)),d.add(new go.PathSegment(go.PathSegment.Line,.7*e,0).close()),o.spot1=new go.Spot(0,g/t);var r=G(.7,1,1,.5,0,a/t,1,a/t,c());return o.spot2=new go.Spot(r.x,r.y),v(r),o}),go.Shape.setFigureParameter("IBeamArrow2",0,new p("ConnectorHeight",40)),go.Shape.setFigureParameter("IBeamArrow2",1,new p("BeamArrowHeight",100)),go.Shape.defineFigureGenerator("IBeamArrow2",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)&&(n=40);var g=m?m.parameter2:NaN;isNaN(g)&&(g=100);var a=(t-n)/2,o=a+n,d=(t-g)/2,r=d+g;(n>t||g>t)&&(g>n?(n=n*t/g,a=(t-n)/2,o=a+n,d=0,r=t):(a=0,o=t,d=0,r=t));var S=new go.Geometry,P=new go.PathFigure(e,.5*t,!0);S.add(P),P.add(new go.PathSegment(go.PathSegment.Line,.7*e,r)),P.add(new go.PathSegment(go.PathSegment.Line,.7*e,o)),P.add(new go.PathSegment(go.PathSegment.Line,.2*e,o)),P.add(new go.PathSegment(go.PathSegment.Line,.2*e,r)),P.add(new go.PathSegment(go.PathSegment.Line,0,r)),P.add(new go.PathSegment(go.PathSegment.Line,0,d)),P.add(new go.PathSegment(go.PathSegment.Line,.2*e,d)),P.add(new go.PathSegment(go.PathSegment.Line,.2*e,a)),P.add(new go.PathSegment(go.PathSegment.Line,.7*e,a)),P.add(new go.PathSegment(go.PathSegment.Line,.7*e,d).close()),S.spot1=new go.Spot(0,a/t);var i=G(.7,r/t,1,.5,0,o/t,1,o/t,c());return S.spot2=new go.Spot(i.x,i.y),v(i),S}),go.Shape.setFigureParameter("Pointer",0,new p("BackPoint",.1,0,.2)),go.Shape.defineFigureGenerator("Pointer",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)&&(n=.1);var g=new go.Geometry,a=new go.PathFigure(e,.5*t,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,t)),a.add(new go.PathSegment(go.PathSegment.Line,n*e,.5*t)),a.add(new go.PathSegment(go.PathSegment.Line,0,0).close()),g.spot1=new go.Spot(n,.35);var o=G(.2,.65,1,.65,0,1,1,.5,c());return g.spot2=new go.Spot(o.x,o.y),v(o),g}),go.Shape.setFigureParameter("RoundedPointer",0,new p("RoundedEdge",.3,0,.5)),go.Shape.defineFigureGenerator("RoundedPointer",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)&&(n=.3);var g=new go.Geometry,a=new go.PathFigure(e,.5*t,!0);g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,t)),a.add(new go.PathSegment(go.PathSegment.Bezier,0,0,n*e,.75*t,n*e,.25*t).close()),g.spot1=new go.Spot(n,.35);var o=G(0,.65,1,.65,0,1,1,.5,c());return g.spot2=new go.Spot(o.x,o.y),v(o),g}),go.Shape.setFigureParameter("SplitEndArrow",0,new p("TailHeight",.4,.01,.99)),go.Shape.defineFigureGenerator("SplitEndArrow",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)&&(n=.4);var g=(.5-n/2)*t,a=(.5+n/2)*t,o=new go.Geometry,d=new go.PathFigure(e,.5*t,!0);o.add(d),d.add(new go.PathSegment(go.PathSegment.Line,.7*e,t)),d.add(new go.PathSegment(go.PathSegment.Line,.7*e,a)),d.add(new go.PathSegment(go.PathSegment.Line,0,a)),d.add(new go.PathSegment(go.PathSegment.Line,.2*e,.5*t)),d.add(new go.PathSegment(go.PathSegment.Line,0,g)),d.add(new go.PathSegment(go.PathSegment.Line,.7*e,g)),d.add(new go.PathSegment(go.PathSegment.Line,.7*e,0).close()),o.spot1=new go.Spot(.2,.3);var r=G(.7,1,1,.5,0,a/t,1,a/t,c());return o.spot2=new go.Spot(r.x,r.y),v(r),o}),go.Shape.setFigureParameter("SplitEndArrow2",0,new p("TailThickness",50)),go.Shape.defineFigureGenerator("SplitEndArrow2",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)&&(n=50);var g=(t-n)/2,a=g+n;n>t&&(g=0,a=t);var o=new go.Geometry,d=new go.PathFigure(e,.5*t,!0);o.add(d),d.add(new go.PathSegment(go.PathSegment.Line,.7*e,t)),d.add(new go.PathSegment(go.PathSegment.Line,.7*e,a)),d.add(new go.PathSegment(go.PathSegment.Line,0,a)),d.add(new go.PathSegment(go.PathSegment.Line,.2*e,.5*t)),d.add(new go.PathSegment(go.PathSegment.Line,0,g)),d.add(new go.PathSegment(go.PathSegment.Line,.7*e,g)),d.add(new go.PathSegment(go.PathSegment.Line,.7*e,0).close()),o.spot1=new go.Spot(.2,g/t);var r=G(.7,1,1,.5,0,a/t,1,a/t,c());return o.spot2=new go.Spot(r.x,r.y),v(r),o}),go.Shape.setFigureParameter("SquareArrow",0,new p("ArrowPoint",.7,.2,.9)),go.Shape.defineFigureGenerator("SquareArrow",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)&&(n=.7);var g=new go.Geometry,a=new go.PathFigure(e,.5*t,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,n*e,t)),a.add(new go.PathSegment(go.PathSegment.Line,0,t)),a.add(new go.PathSegment(go.PathSegment.Line,0,0)),a.add(new go.PathSegment(go.PathSegment.Line,n*e,0).close()),g.spot1=go.Spot.TopLeft,g.spot2=new go.Spot(n,1),g}),go.Shape.defineFigureGenerator("Cone1",function(m,e,t){var n=new go.Geometry,g=L*.5,a=L*.1,o=new go.PathFigure(0,.9*t,!0);return n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.5*e,0)),o.add(new go.PathSegment(go.PathSegment.Line,e,.9*t)),o.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,t,e,(.9+a)*t,(.5+g)*e,t)),o.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*t,(.5-g)*e,t,0,(.9+a)*t).close()),n.spot1=new go.Spot(.25,.5),n.spot2=new go.Spot(.75,.97),n}),go.Shape.defineFigureGenerator("Cone2",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,.9*t,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Bezier,e,.9*t,(1-.85/.9)*e,t,.85/.9*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,0,.9*t).close());var a=new go.PathFigure(0,.9*t,!1);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Bezier,e,.9*t,(1-.85/.9)*e,.8*t,.85/.9*e,.8*t)),n.spot1=new go.Spot(.25,.5),n.spot2=new go.Spot(.75,.82),n}),go.Shape.defineFigureGenerator("Cube1",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.5*e,t,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e,.85*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,.15*t)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,0,.15*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.85*t).close());var a=new go.PathFigure(.5*e,t,!1);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.5*e,.3*t)),a.add(new go.PathSegment(go.PathSegment.Line,0,.15*t)),a.add(new go.PathSegment(go.PathSegment.Move,.5*e,.3*t)),a.add(new go.PathSegment(go.PathSegment.Line,e,.15*t)),n.spot1=new go.Spot(0,.3),n.spot2=new go.Spot(.5,.85),n}),go.Shape.defineFigureGenerator("Cube2",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,.3*t,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,0,t)),g.add(new go.PathSegment(go.PathSegment.Line,.7*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,e,.7*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.3*e,0).close());var a=new go.PathFigure(0,.3*t,!1);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.7*e,.3*t)),a.add(new go.PathSegment(go.PathSegment.Line,e,0)),a.add(new go.PathSegment(go.PathSegment.Move,.7*e,.3*t)),a.add(new go.PathSegment(go.PathSegment.Line,.7*e,t)),n.spot1=new go.Spot(0,.3),n.spot2=new go.Spot(.7,1),n}),go.Shape.defineFigureGenerator("Cylinder1",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)&&(n=5),n=Math.min(n,t/3);var g=new go.Geometry,a=L*.5,o=new go.PathFigure(0,n,!0);g.add(o),o.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,0,0,L*n,(.5-a)*e,0)),o.add(new go.PathSegment(go.PathSegment.Bezier,1*e,n,(.5+a)*e,0,1*e,L*n)),o.add(new go.PathSegment(go.PathSegment.Line,e,t-n)),o.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,1*t,1*e,t-L*n,(.5+a)*e,1*t)),o.add(new go.PathSegment(go.PathSegment.Bezier,0,t-n,(.5-a)*e,1*t,0,t-L*n)),o.add(new go.PathSegment(go.PathSegment.Line,0,n));var d=new go.PathFigure(e,n,!1);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,2*n,1*e,2*n-L*n,(.5+a)*e,2*n)),d.add(new go.PathSegment(go.PathSegment.Bezier,0,n,(.5-a)*e,2*n,0,2*n-L*n)),g.spot1=new go.Spot(0,0,0,2*n),g.spot2=new go.Spot(1,1),g}),go.Shape.defineFigureGenerator("Cylinder2",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)&&(n=5),n=Math.min(n,t/3);var g=new go.Geometry,a=L*.5,o=new go.PathFigure(0,t-n,!0);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,0,n)),o.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,0,0,L*n,(.5-a)*e,0)),o.add(new go.PathSegment(go.PathSegment.Bezier,e,n,(.5+a)*e,0,e,L*n)),o.add(new go.PathSegment(go.PathSegment.Line,e,t-n)),o.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,t,e,t-L*n,(.5+a)*e,t)),o.add(new go.PathSegment(go.PathSegment.Bezier,0,t-n,(.5-a)*e,t,0,t-L*n));var d=new go.PathFigure(0,t-n,!1);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,t-2*n,0,t-n-L*n,(.5-a)*e,t-2*n)),d.add(new go.PathSegment(go.PathSegment.Bezier,e,t-n,(.5+a)*e,t-2*n,e,t-n-L*n)),g.spot1=new go.Spot(0,0),g.spot2=new go.Spot(1,1,0,-2*n),g}),go.Shape.defineFigureGenerator("Cylinder3",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)&&(n=5),n=Math.min(n,e/3);var g=new go.Geometry,a=L*.5,o=new go.PathFigure(n,0,!0);g.add(o),o.add(new go.PathSegment(go.PathSegment.Line,e-n,0)),o.add(new go.PathSegment(go.PathSegment.Bezier,e,.5*t,e-L*n,0,e,(.5-a)*t)),o.add(new go.PathSegment(go.PathSegment.Bezier,e-n,t,e,(.5+a)*t,e-L*n,t)),o.add(new go.PathSegment(go.PathSegment.Line,n,t)),o.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*t,L*n,t,0,(.5+a)*t)),o.add(new go.PathSegment(go.PathSegment.Bezier,n,0,0,(.5-a)*t,L*n,0));var d=new go.PathFigure(n,0,!1);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Bezier,2*n,.5*t,n+L*n,0,2*n,(.5-a)*t)),d.add(new go.PathSegment(go.PathSegment.Bezier,n,t,2*n,(.5+a)*t,n+L*n,t)),g.spot1=new go.Spot(0,0,2*n,0),g.spot2=new go.Spot(1,1),g}),go.Shape.defineFigureGenerator("Cylinder4",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)&&(n=5),n=Math.min(n,e/3);var g=new go.Geometry,a=L*.5,o=new go.PathFigure(e-n,0,!0);g.add(o),o.add(new go.PathSegment(go.PathSegment.Bezier,e,.5*t,e-L*n,0,e,(.5-a)*t)),o.add(new go.PathSegment(go.PathSegment.Bezier,e-n,t,e,(.5+a)*t,e-L*n,t)),o.add(new go.PathSegment(go.PathSegment.Line,n,t)),o.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*t,L*n,t,0,(.5+a)*t)),o.add(new go.PathSegment(go.PathSegment.Bezier,n,0,0,(.5-a)*t,L*n,0)),o.add(new go.PathSegment(go.PathSegment.Line,e-n,0));var d=new go.PathFigure(e-n,0,!1);return g.add(d),d.add(new go.PathSegment(go.PathSegment.Bezier,e-2*n,.5*t,e-n-L*n,0,e-2*n,(.5-a)*t)),d.add(new go.PathSegment(go.PathSegment.Bezier,e-n,t,e-2*n,(.5+a)*t,e-n-L*n,t)),g.spot1=new go.Spot(0,0),g.spot2=new go.Spot(1,1,-2*n,0),g}),go.Shape.defineFigureGenerator("Prism1",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.25*e,.25*t,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.75*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,t).close());var a=new go.PathFigure(.25*e,.25*t,!1);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.5*e,t)),n.spot1=new go.Spot(.408,.172),n.spot2=new go.Spot(.833,.662),n}),go.Shape.defineFigureGenerator("Prism2",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,.25*t,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.75*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,.25*t)),g.add(new go.PathSegment(go.PathSegment.Line,.75*e,.75*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,t).close());var a=new go.PathFigure(0,t,!1);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.25*e,.5*t)),a.add(new go.PathSegment(go.PathSegment.Line,e,.25*t)),a.add(new go.PathSegment(go.PathSegment.Move,0,.25*t)),a.add(new go.PathSegment(go.PathSegment.Line,.25*e,.5*t)),n.spot1=new go.Spot(.25,.5),n.spot2=new go.Spot(.75,.75),n}),go.Shape.defineFigureGenerator("Pyramid1",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.5*e,0,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e,.75*t)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.75*t).close());var a=new go.PathFigure(.5*e,0,!1);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.5*e,t)),n.spot1=new go.Spot(.25,.367),n.spot2=new go.Spot(.75,.875),n}),go.Shape.defineFigureGenerator("Pyramid2",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.5*e,0,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e,.85*t)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.85*t).close());var a=new go.PathFigure(.5*e,0,!1);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.5*e,.7*t)),a.add(new go.PathSegment(go.PathSegment.Line,0,.85*t)),a.add(new go.PathSegment(go.PathSegment.Move,.5*e,.7*t)),a.add(new go.PathSegment(go.PathSegment.Line,e,.85*t)),n.spot1=new go.Spot(.25,.367),n.spot2=new go.Spot(.75,.875),n}),go.Shape.defineFigureGenerator("Actor",function(m,e,t){var n=new go.Geometry,g=.2,a=.1,o=L*g,d=L*a,r=.5,S=.1,P=new go.PathFigure(r*e,(S+a)*t,!0);n.add(P),P.add(new go.PathSegment(go.PathSegment.Bezier,(r-g)*e,S*t,(r-o)*e,(S+a)*t,(r-g)*e,(S+d)*t)),P.add(new go.PathSegment(go.PathSegment.Bezier,r*e,(S-a)*t,(r-g)*e,(S-d)*t,(r-o)*e,(S-a)*t)),P.add(new go.PathSegment(go.PathSegment.Bezier,(r+g)*e,S*t,(r+o)*e,(S-a)*t,(r+g)*e,(S-d)*t)),P.add(new go.PathSegment(go.PathSegment.Bezier,r*e,(S+a)*t,(r+g)*e,(S+d)*t,(r+o)*e,(S+a)*t));var i=.05,h=L*i;r=.05,S=.25;var u=new go.PathFigure(.5*e,.2*t,!0);return n.add(u),u.add(new go.PathSegment(go.PathSegment.Line,.95*e,.2*t)),r=.95,S=.25,u.add(new go.PathSegment(go.PathSegment.Bezier,(r+i)*e,S*t,(r+h)*e,(S-i)*t,(r+i)*e,(S-h)*t)),u.add(new go.PathSegment(go.PathSegment.Line,e,.6*t)),u.add(new go.PathSegment(go.PathSegment.Line,.85*e,.6*t)),u.add(new go.PathSegment(go.PathSegment.Line,.85*e,.35*t)),i=.025,h=L*i,r=.825,S=.35,u.add(new go.PathSegment(go.PathSegment.Bezier,r*e,(S-i)*t,(r+i)*e,(S-h)*t,(r+h)*e,(S-i)*t)),u.add(new go.PathSegment(go.PathSegment.Bezier,(r-i)*e,S*t,(r-h)*e,(S-i)*t,(r-i)*e,(S-h)*t)),u.add(new go.PathSegment(go.PathSegment.Line,.8*e,t)),u.add(new go.PathSegment(go.PathSegment.Line,.55*e,t)),u.add(new go.PathSegment(go.PathSegment.Line,.55*e,.7*t)),i=.05,h=L*i,r=.5,S=.7,u.add(new go.PathSegment(go.PathSegment.Bezier,r*e,(S-i)*t,(r+i)*e,(S-h)*t,(r+h)*e,(S-i)*t)),u.add(new go.PathSegment(go.PathSegment.Bezier,(r-i)*e,S*t,(r-h)*e,(S-i)*t,(r-i)*e,(S-h)*t)),u.add(new go.PathSegment(go.PathSegment.Line,.45*e,t)),u.add(new go.PathSegment(go.PathSegment.Line,.2*e,t)),u.add(new go.PathSegment(go.PathSegment.Line,.2*e,.35*t)),i=.025,h=L*i,r=.175,S=.35,u.add(new go.PathSegment(go.PathSegment.Bezier,r*e,(S-i)*t,(r+i)*e,(S-h)*t,(r+h)*e,(S-i)*t)),u.add(new go.PathSegment(go.PathSegment.Bezier,(r-i)*e,S*t,(r-h)*e,(S-i)*t,(r-i)*e,(S-h)*t)),u.add(new go.PathSegment(go.PathSegment.Line,.15*e,.6*t)),u.add(new go.PathSegment(go.PathSegment.Line,0,.6*t)),u.add(new go.PathSegment(go.PathSegment.Line,0,.25*t)),i=.05,h=L*i,r=.05,S=.25,u.add(new go.PathSegment(go.PathSegment.Bezier,r*e,(S-i)*t,(r-i)*e,(S-h)*t,(r-h)*e,(S-i)*t)),u.add(new go.PathSegment(go.PathSegment.Line,.5*e,.2*t)),n.spot1=new go.Spot(.2,.2),n.spot2=new go.Spot(.8,.65),n}),go.Shape.setFigureParameter("Card",0,new p("CornerCutoutSize",.2,.1,.9)),go.Shape.defineFigureGenerator("Card",function(m,e,t){var n=m?m.parameter1:NaN;isNaN(n)&&(n=.2);var g=new go.Geometry,a=new go.PathFigure(e,0,!0);return g.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e,t)),a.add(new go.PathSegment(go.PathSegment.Line,0,t)),a.add(new go.PathSegment(go.PathSegment.Line,0,n*t)),a.add(new go.PathSegment(go.PathSegment.Line,n*e,0).close()),g.spot1=new go.Spot(0,n),g.spot2=go.Spot.BottomRight,g}),go.Shape.defineFigureGenerator("Collate",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.5*e,.5*t,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,0,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,.5*t));var a=new go.PathFigure(.5*e,.5*t,!0);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e,t)),a.add(new go.PathSegment(go.PathSegment.Line,0,t)),a.add(new go.PathSegment(go.PathSegment.Line,.5*e,.5*t)),n.spot1=new go.Spot(.25,0),n.spot2=new go.Spot(.75,.25),n}),go.Shape.defineFigureGenerator("CreateRequest",function(m,e,t){var n=new go.Geometry,g=m?m.parameter1:NaN;isNaN(g)&&(g=.1);var a=new go.PathFigure(0,0,!0);n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e,0)),a.add(new go.PathSegment(go.PathSegment.Line,e,t)),a.add(new go.PathSegment(go.PathSegment.Line,0,t).close());var o=new go.PathFigure(0,g*t,!1);return n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,e,g*t)),o.add(new go.PathSegment(go.PathSegment.Move,0,(1-g)*t)),o.add(new go.PathSegment(go.PathSegment.Line,e,(1-g)*t)),n}),go.Shape.defineFigureGenerator("Database",function(m,e,t){var n=new go.Geometry,g=L*.5,a=L*.1,o=new go.PathFigure(e,.1*t,!0);n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,e,.9*t)),o.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,t,e,(.9+a)*t,(.5+g)*e,t)),o.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*t,(.5-g)*e,t,0,(.9+a)*t)),o.add(new go.PathSegment(go.PathSegment.Line,0,.1*t)),o.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,0,0,(.1-a)*t,(.5-g)*e,0)),o.add(new go.PathSegment(go.PathSegment.Bezier,e,.1*t,(.5+g)*e,0,e,(.1-a)*t));var d=new go.PathFigure(e,.1*t,!1);return n.add(d),d.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,.2*t,e,(.1+a)*t,(.5+g)*e,.2*t)),d.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*t,(.5-g)*e,.2*t,0,(.1+a)*t)),d.add(new go.PathSegment(go.PathSegment.Move,e,.2*t)),d.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,.3*t,e,(.2+a)*t,(.5+g)*e,.3*t)),d.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*t,(.5-g)*e,.3*t,0,(.2+a)*t)),d.add(new go.PathSegment(go.PathSegment.Move,e,.3*t)),d.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,.4*t,e,(.3+a)*t,(.5+g)*e,.4*t)),d.add(new go.PathSegment(go.PathSegment.Bezier,0,.3*t,(.5-g)*e,.4*t,0,(.3+a)*t)),n.spot1=new go.Spot(0,.4),n.spot2=new go.Spot(1,.9),n}),go.Shape.defineFigureGenerator("DataStorage",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.75*e,0)),g.add(new go.PathSegment(go.PathSegment.Bezier,.75*e,t,e,0,e,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,t)),g.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*e,.9*t,.25*e,.1*t).close()),n.spot1=new go.Spot(.226,0),n.spot2=new go.Spot(.81,1),n}),go.Shape.defineFigureGenerator("DiskStorage",function(m,e,t){var n=new go.Geometry,g=L*.5,a=L*.1,o=new go.PathFigure(e,.1*t,!0);n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,e,.9*t)),o.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,t,e,(.9+a)*t,(.5+g)*e,t)),o.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*t,(.5-g)*e,t,0,(.9+a)*t)),o.add(new go.PathSegment(go.PathSegment.Line,0,.1*t)),o.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,0,0,(.1-a)*t,(.5-g)*e,0)),o.add(new go.PathSegment(go.PathSegment.Bezier,e,.1*t,(.5+g)*e,0,e,(.1-a)*t));var d=new go.PathFigure(e,.1*t,!1);return n.add(d),d.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,.2*t,e,(.1+a)*t,(.5+g)*e,.2*t)),d.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*t,(.5-g)*e,.2*t,0,(.1+a)*t)),d.add(new go.PathSegment(go.PathSegment.Move,e,.2*t)),d.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,.3*t,e,(.2+a)*t,(.5+g)*e,.3*t)),d.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*t,(.5-g)*e,.3*t,0,(.2+a)*t)),n.spot1=new go.Spot(0,.3),n.spot2=new go.Spot(1,.9),n}),go.Shape.defineFigureGenerator("Display",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.25*e,0,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.75*e,0)),g.add(new go.PathSegment(go.PathSegment.Bezier,.75*e,t,e,0,e,t)),g.add(new go.PathSegment(go.PathSegment.Line,.25*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.5*t).close()),n.spot1=new go.Spot(.25,0),n.spot2=new go.Spot(.75,1),n}),go.Shape.defineFigureGenerator("DividedEvent",function(m,e,t){var n=new go.Geometry,g=m?m.parameter1:NaN;isNaN(g)?g=.2:g<.15&&(g=.15);var a=L*.2,o=new go.PathFigure(0,.2*t,!0);n.add(o),o.add(new go.PathSegment(go.PathSegment.Bezier,.2*e,0,0,(.2-a)*t,(.2-a)*e,0)),o.add(new go.PathSegment(go.PathSegment.Line,.8*e,0)),o.add(new go.PathSegment(go.PathSegment.Bezier,e,.2*t,(.8+a)*e,0,e,(.2-a)*t)),o.add(new go.PathSegment(go.PathSegment.Line,e,.8*t)),o.add(new go.PathSegment(go.PathSegment.Bezier,.8*e,t,e,(.8+a)*t,(.8+a)*e,t)),o.add(new go.PathSegment(go.PathSegment.Line,.2*e,t)),o.add(new go.PathSegment(go.PathSegment.Bezier,0,.8*t,(.2-a)*e,t,0,(.8+a)*t)),o.add(new go.PathSegment(go.PathSegment.Line,0,.2*t));var d=new go.PathFigure(0,g*t,!1);return n.add(d),d.add(new go.PathSegment(go.PathSegment.Line,e,g*t)),n}),go.Shape.defineFigureGenerator("DividedProcess",function(m,e,t){var n=new go.Geometry,g=m?m.parameter1:NaN;(isNaN(g)||g<.1)&&(g=.1);var a=new go.PathFigure(0,0,!0);n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e,0)),a.add(new go.PathSegment(go.PathSegment.Line,e,t)),a.add(new go.PathSegment(go.PathSegment.Line,0,t).close());var o=new go.PathFigure(0,g*t,!1);return n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,e,g*t)),n}),go.Shape.defineFigureGenerator("Document",function(m,e,t){var n=new go.Geometry;t=t/.8;var g=new go.PathFigure(0,.7*t,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,0,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,.7*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*t,.5*e,.4*t,.5*e,t).close()),n.spot1=go.Spot.TopLeft,n.spot2=new go.Spot(1,.6),n}),go.Shape.defineFigureGenerator("ExternalOrganization",function(m,e,t){var n=new go.Geometry,g=m?m.parameter1:NaN;(isNaN(g)||g<.2)&&(g=.2);var a=new go.PathFigure(0,0,!0);n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e,0)),a.add(new go.PathSegment(go.PathSegment.Line,e,t)),a.add(new go.PathSegment(go.PathSegment.Line,0,t).close());var o=new go.PathFigure(g*e,0,!1);return n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,0,g*t)),o.add(new go.PathSegment(go.PathSegment.Move,e,g*t)),o.add(new go.PathSegment(go.PathSegment.Line,(1-g)*e,0)),o.add(new go.PathSegment(go.PathSegment.Move,0,(1-g)*t)),o.add(new go.PathSegment(go.PathSegment.Line,g*e,t)),o.add(new go.PathSegment(go.PathSegment.Move,(1-g)*e,t)),o.add(new go.PathSegment(go.PathSegment.Line,e,(1-g)*t)),n}),go.Shape.defineFigureGenerator("ExternalProcess",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.5*e,0,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.5*t).close());var a=new go.PathFigure(.1*e,.4*t,!1);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.1*e,.6*t)),a.add(new go.PathSegment(go.PathSegment.Move,.9*e,.6*t)),a.add(new go.PathSegment(go.PathSegment.Line,.9*e,.4*t)),a.add(new go.PathSegment(go.PathSegment.Move,.6*e,.1*t)),a.add(new go.PathSegment(go.PathSegment.Line,.4*e,.1*t)),a.add(new go.PathSegment(go.PathSegment.Move,.4*e,.9*t)),a.add(new go.PathSegment(go.PathSegment.Line,.6*e,.9*t)),n.spot1=new go.Spot(.25,.25),n.spot2=new go.Spot(.75,.75),n}),go.Shape.defineFigureGenerator("File",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.75*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,.25*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,t).close());var a=new go.PathFigure(.75*e,0,!1);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.75*e,.25*t)),a.add(new go.PathSegment(go.PathSegment.Line,e,.25*t)),n.spot1=new go.Spot(0,.25),n.spot2=go.Spot.BottomRight,n}),go.Shape.defineFigureGenerator("Interrupt",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(e,.5*t,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,0,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,.5*t));var a=new go.PathFigure(e,.5*t,!1);n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e,t));var o=new go.PathFigure(e,.5*t,!1);return n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,e,0)),n.spot1=new go.Spot(0,.25),n.spot2=new go.Spot(.5,.75),n}),go.Shape.defineFigureGenerator("InternalStorage",function(m,e,t){var n=new go.Geometry,g=m?m.parameter1:NaN,a=m?m.parameter2:NaN;isNaN(g)&&(g=.1),isNaN(a)&&(a=.1);var o=new go.PathFigure(0,0,!0);n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,e,0)),o.add(new go.PathSegment(go.PathSegment.Line,e,t)),o.add(new go.PathSegment(go.PathSegment.Line,0,t).close());var d=new go.PathFigure(g*e,0,!1);return n.add(d),d.add(new go.PathSegment(go.PathSegment.Line,g*e,t)),d.add(new go.PathSegment(go.PathSegment.Move,0,a*t)),d.add(new go.PathSegment(go.PathSegment.Line,e,a*t)),n}),go.Shape.defineFigureGenerator("Junction",function(m,e,t){var n=new go.Geometry,g=1/Math.SQRT2,a=(1-1/Math.SQRT2)/2,o=L*.5,d=.5,r=new go.PathFigure(e,d*t,!0);n.add(r),r.add(new go.PathSegment(go.PathSegment.Bezier,d*e,t,e,(d+o)*t,(d+o)*e,t)),r.add(new go.PathSegment(go.PathSegment.Bezier,0,d*t,(d-o)*e,t,0,(d+o)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,d*e,0,0,(d-o)*t,(d-o)*e,0)),r.add(new go.PathSegment(go.PathSegment.Bezier,e,d*t,(d+o)*e,0,e,(d-o)*t));var S=new go.PathFigure((a+g)*e,(a+g)*t,!1);return n.add(S),S.add(new go.PathSegment(go.PathSegment.Line,a*e,a*t)),S.add(new go.PathSegment(go.PathSegment.Move,a*e,(a+g)*t)),S.add(new go.PathSegment(go.PathSegment.Line,(a+g)*e,a*t)),n}),go.Shape.defineFigureGenerator("LinedDocument",function(m,e,t){var n=new go.Geometry;t=t/.8;var g=new go.PathFigure(0,.7*t,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,0,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,.7*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*t,.5*e,.4*t,.5*e,t).close());var a=new go.PathFigure(.1*e,0,!1);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.1*e,.75*t)),n.spot1=new go.Spot(.1,0),n.spot2=new go.Spot(1,.6),n}),go.Shape.defineFigureGenerator("LoopLimit",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,t,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,0,.25*t)),g.add(new go.PathSegment(go.PathSegment.Line,.25*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.75*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,.25*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,t).close()),n.spot1=new go.Spot(0,.25),n.spot2=go.Spot.BottomRight,n}),go.Shape.defineFigureGenerator("MagneticTape",function(m,e,t){var n=new go.Geometry,g=L*.5,a=.5,o=new go.PathFigure(.5*e,t,!0);return n.add(o),o.add(new go.PathSegment(go.PathSegment.Bezier,0,a*t,(a-g)*e,t,0,(a+g)*t)),o.add(new go.PathSegment(go.PathSegment.Bezier,a*e,0,0,(a-g)*t,(a-g)*e,0)),o.add(new go.PathSegment(go.PathSegment.Bezier,e,a*t,(a+g)*e,0,e,(a-g)*t)),o.add(new go.PathSegment(go.PathSegment.Bezier,(a+.1)*e,.9*t,e,(a+g)*t,(a+g)*e,.9*t)),o.add(new go.PathSegment(go.PathSegment.Line,e,.9*t)),o.add(new go.PathSegment(go.PathSegment.Line,e,t)),o.add(new go.PathSegment(go.PathSegment.Line,.5*e,t)),n.spot1=new go.Spot(.15,.15),n.spot2=new go.Spot(.85,.8),n}),go.Shape.defineFigureGenerator("ManualInput",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(e,0,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.25*t).close()),n.spot1=new go.Spot(0,.25),n.spot2=go.Spot.BottomRight,n}),go.Shape.defineFigureGenerator("MessageFromUser",function(m,e,t){var n=new go.Geometry,g=m?m.parameter1:NaN;isNaN(g)&&(g=.7);var a=new go.PathFigure(0,0,!0);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e,0)),a.add(new go.PathSegment(go.PathSegment.Line,g*e,.5*t)),a.add(new go.PathSegment(go.PathSegment.Line,e,t)),a.add(new go.PathSegment(go.PathSegment.Line,0,t).close()),n.spot1=go.Spot.TopLeft,n}),go.Shape.defineFigureGenerator("MicroformProcessing",function(m,e,t){var n=new go.Geometry,g=m?m.parameter1:NaN;isNaN(g)&&(g=.25);var a=new go.PathFigure(0,0,!0);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.5*e,g*t)),a.add(new go.PathSegment(go.PathSegment.Line,e,0)),a.add(new go.PathSegment(go.PathSegment.Line,e,t)),a.add(new go.PathSegment(go.PathSegment.Line,.5*e,(1-g)*t)),a.add(new go.PathSegment(go.PathSegment.Line,0,t).close()),n}),go.Shape.defineFigureGenerator("MicroformRecording",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.75*e,.25*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,.15*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,.85*t)),g.add(new go.PathSegment(go.PathSegment.Line,.75*e,.75*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,t).close()),n.spot1=new go.Spot(0,.25),n.spot2=new go.Spot(1,.75),n}),go.Shape.defineFigureGenerator("MultiDocument",function(m,e,t){var n=new go.Geometry;t=t/.8;var g=new go.PathFigure(e,0,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.9*e,.44*t,.96*e,.47*t,.93*e,.45*t)),g.add(new go.PathSegment(go.PathSegment.Line,.9*e,.6*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.8*e,.54*t,.86*e,.57*t,.83*e,.55*t)),g.add(new go.PathSegment(go.PathSegment.Line,.8*e,.7*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*t,.4*e,.4*t,.4*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.2*t)),g.add(new go.PathSegment(go.PathSegment.Line,.1*e,.2*t)),g.add(new go.PathSegment(go.PathSegment.Line,.1*e,.1*t)),g.add(new go.PathSegment(go.PathSegment.Line,.2*e,.1*t)),g.add(new go.PathSegment(go.PathSegment.Line,.2*e,0).close());var a=new go.PathFigure(.1*e,.2*t,!1);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.8*e,.2*t)),a.add(new go.PathSegment(go.PathSegment.Line,.8*e,.54*t)),a.add(new go.PathSegment(go.PathSegment.Move,.2*e,.1*t)),a.add(new go.PathSegment(go.PathSegment.Line,.9*e,.1*t)),a.add(new go.PathSegment(go.PathSegment.Line,.9*e,.44*t)),n.spot1=new go.Spot(0,.25),n.spot2=new go.Spot(.8,.77),n}),go.Shape.defineFigureGenerator("MultiProcess",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.1*e,.1*t,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.2*e,.1*t)),g.add(new go.PathSegment(go.PathSegment.Line,.2*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,.8*t)),g.add(new go.PathSegment(go.PathSegment.Line,.9*e,.8*t)),g.add(new go.PathSegment(go.PathSegment.Line,.9*e,.9*t)),g.add(new go.PathSegment(go.PathSegment.Line,.8*e,.9*t)),g.add(new go.PathSegment(go.PathSegment.Line,.8*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.2*t)),g.add(new go.PathSegment(go.PathSegment.Line,.1*e,.2*t).close());var a=new go.PathFigure(.2*e,.1*t,!1);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.9*e,.1*t)),a.add(new go.PathSegment(go.PathSegment.Line,.9*e,.8*t)),a.add(new go.PathSegment(go.PathSegment.Move,.1*e,.2*t)),a.add(new go.PathSegment(go.PathSegment.Line,.8*e,.2*t)),a.add(new go.PathSegment(go.PathSegment.Line,.8*e,.9*t)),n.spot1=new go.Spot(0,.2),n.spot2=new go.Spot(.8,1),n}),go.Shape.defineFigureGenerator("OfflineStorage",function(m,e,t){var n=new go.Geometry,g=m?m.parameter1:NaN;isNaN(g)&&(g=.1);var a=1-g,o=new go.PathFigure(0,0,!0);n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,e,0)),o.add(new go.PathSegment(go.PathSegment.Line,.5*e,t).close());var d=new go.PathFigure(.5*g*e,g*t,!1);return n.add(d),d.add(new go.PathSegment(go.PathSegment.Line,(1-.5*g)*e,g*t)),n}),go.Shape.defineFigureGenerator("OffPageConnector",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.75*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,.75*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,t).close()),n.spot1=go.Spot.TopLeft,n.spot2=new go.Spot(.75,1),n}),go.Shape.defineFigureGenerator("Or",function(m,e,t){var n=new go.Geometry,g=L*.5,a=.5,o=new go.PathFigure(e,a*t,!0);n.add(o),o.add(new go.PathSegment(go.PathSegment.Bezier,a*e,t,e,(a+g)*t,(a+g)*e,t)),o.add(new go.PathSegment(go.PathSegment.Bezier,0,a*t,(a-g)*e,t,0,(a+g)*t)),o.add(new go.PathSegment(go.PathSegment.Bezier,a*e,0,0,(a-g)*t,(a-g)*e,0)),o.add(new go.PathSegment(go.PathSegment.Bezier,e,a*t,(a+g)*e,0,e,(a-g)*t));var d=new go.PathFigure(e,.5*t,!1);return n.add(d),d.add(new go.PathSegment(go.PathSegment.Line,0,.5*t)),d.add(new go.PathSegment(go.PathSegment.Move,.5*e,t)),d.add(new go.PathSegment(go.PathSegment.Line,.5*e,0)),n}),go.Shape.defineFigureGenerator("PaperTape",function(m,e,t){var n=new go.Geometry;t=t/.8;var g=new go.PathFigure(0,.7*t,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,0,.3*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,e,.3*t,.5*e,.6*t,.5*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,.7*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*t,.5*e,.4*t,.5*e,t).close()),n.spot1=new go.Spot(0,.49),n.spot2=new go.Spot(1,.75),n}),go.Shape.defineFigureGenerator("PrimitiveFromCall",function(m,e,t){var n=new go.Geometry,g=m?m.parameter1:NaN,a=m?m.parameter2:NaN;isNaN(g)&&(g=.1),isNaN(a)&&(a=.3);var o=new go.PathFigure(0,0,!0);return n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,e,0)),o.add(new go.PathSegment(go.PathSegment.Line,(1-a)*e,.5*t)),o.add(new go.PathSegment(go.PathSegment.Line,e,t)),o.add(new go.PathSegment(go.PathSegment.Line,0,t).close()),n}),go.Shape.defineFigureGenerator("PrimitiveToCall",function(m,e,t){var n=new go.Geometry,g=m?m.parameter1:NaN,a=m?m.parameter2:NaN;isNaN(g)&&(g=.1),isNaN(a)&&(a=.3);var o=new go.PathFigure(0,0,!0);return n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,(1-a)*e,0)),o.add(new go.PathSegment(go.PathSegment.Line,e,.5*t)),o.add(new go.PathSegment(go.PathSegment.Line,(1-a)*e,t)),o.add(new go.PathSegment(go.PathSegment.Line,0,t).close()),n}),go.Shape.defineFigureGenerator("Procedure",function(m,e,t){var n=new go.Geometry,g=m?m.parameter1:NaN;isNaN(g)&&(g=.1);var a=new go.PathFigure(0,0,!0);n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e,0)),a.add(new go.PathSegment(go.PathSegment.Line,e,t)),a.add(new go.PathSegment(go.PathSegment.Line,0,t).close());var o=new go.PathFigure((1-g)*e,0,!1);return n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,(1-g)*e,t)),o.add(new go.PathSegment(go.PathSegment.Move,g*e,0)),o.add(new go.PathSegment(go.PathSegment.Line,g*e,t)),n}),go.Shape.defineFigureGenerator("Process",function(m,e,t){var n=new go.Geometry,g=m?m.parameter1:NaN;isNaN(g)&&(g=.1);var a=new go.PathFigure(0,0,!0);n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e,0)),a.add(new go.PathSegment(go.PathSegment.Line,e,t)),a.add(new go.PathSegment(go.PathSegment.Line,0,t).close());var o=new go.PathFigure(g*e,0,!1);return n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,g*e,t)),n.spot2=go.Spot.BottomRight,n}),go.Shape.defineFigureGenerator("Sort",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.5*e,0,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.5*t).close());var a=new go.PathFigure(0,.5*t,!1);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e,.5*t)),n.spot1=new go.Spot(.25,.25),n.spot2=new go.Spot(.75,.5),n}),go.Shape.defineFigureGenerator("Start",function(m,e,t){var n=new go.Geometry,g=m?m.parameter1:NaN;isNaN(g)&&(g=.25);var a=new go.PathFigure(g*e,0,!0);n.add(a),a.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*e,.5*t,.25*e,.5*t)),a.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*e,.5*t,.25*e,.5*t));var o=new go.PathFigure(g*e,0,!1);return n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,g*e,t)),o.add(new go.PathSegment(go.PathSegment.Move,(1-g)*e,0)),o.add(new go.PathSegment(go.PathSegment.Line,(1-g)*e,t)),n.spot1=new go.Spot(g,0),n.spot2=new go.Spot(1-g,1),n}),go.Shape.defineFigureGenerator("Terminator",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.25*e,0,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*e,.5*t,.25*e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*e,.5*t,.25*e,.5*t)),n.spot1=new go.Spot(.23,0),n.spot2=new go.Spot(.77,1),n}),go.Shape.defineFigureGenerator("TransmittalTape",function(m,e,t){var n=new go.Geometry,g=m?m.parameter1:NaN;isNaN(g)&&(g=.1);var a=new go.PathFigure(0,0,!0);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e,0)),a.add(new go.PathSegment(go.PathSegment.Line,e,t)),a.add(new go.PathSegment(go.PathSegment.Line,.75*e,(1-g)*t)),a.add(new go.PathSegment(go.PathSegment.Line,0,(1-g)*t).close()),n.spot1=go.Spot.TopLeft,n}),go.Shape.defineFigureGenerator("AndGate",function(m,e,t){var n=new go.Geometry,g=L*.5,a=new go.PathFigure(0,0,!0);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.5*e,0)),a.add(new go.PathSegment(go.PathSegment.Bezier,e,.5*t,(.5+g)*e,0,e,(.5-g)*t)),a.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,t,e,(.5+g)*t,(.5+g)*e,t)),a.add(new go.PathSegment(go.PathSegment.Line,0,t).close()),n.spot1=go.Spot.TopLeft,n.spot2=new go.Spot(.55,1),n}),go.Shape.defineFigureGenerator("Buffer",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,t).close()),n.spot1=new go.Spot(0,.25),n.spot2=new go.Spot(.5,.75),n}),go.Shape.defineFigureGenerator("Clock",function(m,e,t){var n=new go.Geometry,g=L*.5,a=.5,o=new go.PathFigure(e,a*t,!0);n.add(o),o.add(new go.PathSegment(go.PathSegment.Bezier,a*e,t,e,(a+g)*t,(a+g)*e,t)),o.add(new go.PathSegment(go.PathSegment.Bezier,0,a*t,(a-g)*e,t,0,(a+g)*t)),o.add(new go.PathSegment(go.PathSegment.Bezier,a*e,0,0,(a-g)*t,(a-g)*e,0)),o.add(new go.PathSegment(go.PathSegment.Bezier,e,a*t,(a+g)*e,0,e,(a-g)*t));var d=new go.PathFigure(e,a*t,!1);n.add(d),d.add(new go.PathSegment(go.PathSegment.Line,e,a*t));var r=new go.PathFigure(.8*e,.75*t,!1);return n.add(r),r.add(new go.PathSegment(go.PathSegment.Line,.8*e,.25*t)),r.add(new go.PathSegment(go.PathSegment.Line,.6*e,.25*t)),r.add(new go.PathSegment(go.PathSegment.Line,.6*e,.75*t)),r.add(new go.PathSegment(go.PathSegment.Line,.4*e,.75*t)),r.add(new go.PathSegment(go.PathSegment.Line,.4*e,.25*t)),r.add(new go.PathSegment(go.PathSegment.Line,.2*e,.25*t)),r.add(new go.PathSegment(go.PathSegment.Line,.2*e,.75*t)),n}),go.Shape.defineFigureGenerator("Ground",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.5*e,0,!1);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,.4*t)),g.add(new go.PathSegment(go.PathSegment.Move,.2*e,.6*t)),g.add(new go.PathSegment(go.PathSegment.Line,.8*e,.6*t)),g.add(new go.PathSegment(go.PathSegment.Move,.3*e,.8*t)),g.add(new go.PathSegment(go.PathSegment.Line,.7*e,.8*t)),g.add(new go.PathSegment(go.PathSegment.Move,.4*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,.6*e,t)),n}),go.Shape.defineFigureGenerator("Inverter",function(m,e,t){var n=new go.Geometry,g=L*.1,a=.1,o=.9,d=.5,r=new go.PathFigure(.8*e,.5*t,!0);n.add(r),r.add(new go.PathSegment(go.PathSegment.Line,0,t)),r.add(new go.PathSegment(go.PathSegment.Line,0,0)),r.add(new go.PathSegment(go.PathSegment.Line,.8*e,.5*t));var S=new go.PathFigure((o+a)*e,d*t,!0);return n.add(S),S.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d+a)*t,(o+a)*e,(d+g)*t,(o+g)*e,(d+a)*t)),S.add(new go.PathSegment(go.PathSegment.Bezier,(o-a)*e,d*t,(o-g)*e,(d+a)*t,(o-a)*e,(d+g)*t)),S.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d-a)*t,(o-a)*e,(d-g)*t,(o-g)*e,(d-a)*t)),S.add(new go.PathSegment(go.PathSegment.Bezier,(o+a)*e,d*t,(o+g)*e,(d-a)*t,(o+a)*e,(d-g)*t)),n.spot1=new go.Spot(0,.25),n.spot2=new go.Spot(.4,.75),n}),go.Shape.defineFigureGenerator("NandGate",function(m,e,t){var n=new go.Geometry,g=L*.5,a=L*.4,o=L*.1,d=.1,r=.9,S=.5,P=new go.PathFigure(.8*e,.5*t,!0);n.add(P),P.add(new go.PathSegment(go.PathSegment.Bezier,.4*e,t,.8*e,(.5+a)*t,(.4+g)*e,t)),P.add(new go.PathSegment(go.PathSegment.Line,0,t)),P.add(new go.PathSegment(go.PathSegment.Line,0,0)),P.add(new go.PathSegment(go.PathSegment.Line,.4*e,0)),P.add(new go.PathSegment(go.PathSegment.Bezier,.8*e,.5*t,(.4+g)*e,0,.8*e,(.5-a)*t));var i=new go.PathFigure((r+d)*e,S*t,!0);return n.add(i),i.add(new go.PathSegment(go.PathSegment.Bezier,r*e,(S+d)*t,(r+d)*e,(S+o)*t,(r+o)*e,(S+d)*t)),i.add(new go.PathSegment(go.PathSegment.Bezier,(r-d)*e,S*t,(r-o)*e,(S+d)*t,(r-d)*e,(S+o)*t)),i.add(new go.PathSegment(go.PathSegment.Bezier,r*e,(S-d)*t,(r-d)*e,(S-o)*t,(r-o)*e,(S-d)*t)),i.add(new go.PathSegment(go.PathSegment.Bezier,(r+d)*e,S*t,(r+o)*e,(S-d)*t,(r+d)*e,(S-o)*t)),n.spot1=new go.Spot(0,.05),n.spot2=new go.Spot(.55,.95),n}),go.Shape.defineFigureGenerator("NorGate",function(m,e,t){var n=new go.Geometry,g=.5,a=L*g,o=0,d=.5,r=new go.PathFigure(.8*e,.5*t,!0);n.add(r),r.add(new go.PathSegment(go.PathSegment.Bezier,0,t,.7*e,(d+a)*t,(o+a)*e,(d+g)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*e,.75*t,.25*e,.25*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,.8*e,.5*t,(o+a)*e,(d-g)*t,.7*e,(d-a)*t)),g=.1,a=L*.1,o=.9,d=.5;var S=new go.PathFigure((o-g)*e,d*t,!0);return n.add(S),S.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d-g)*t,(o-g)*e,(d-a)*t,(o-a)*e,(d-g)*t)),S.add(new go.PathSegment(go.PathSegment.Bezier,(o+g)*e,d*t,(o+a)*e,(d-g)*t,(o+g)*e,(d-a)*t)),S.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d+g)*t,(o+g)*e,(d+a)*t,(o+a)*e,(d+g)*t)),S.add(new go.PathSegment(go.PathSegment.Bezier,(o-g)*e,d*t,(o-a)*e,(d+g)*t,(o-g)*e,(d+a)*t)),n.spot1=new go.Spot(.2,.25),n.spot2=new go.Spot(.6,.75),n}),go.Shape.defineFigureGenerator("OrGate",function(m,e,t){var n=new go.Geometry,g=.5,a=L*g,o=0,d=.5,r=new go.PathFigure(0,0,!0);return n.add(r),r.add(new go.PathSegment(go.PathSegment.Bezier,e,.5*t,(o+a+a)*e,(d-g)*t,.8*e,(d-a)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,0,t,.8*e,(d+a)*t,(o+a+a)*e,(d+g)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*e,.75*t,.25*e,.25*t).close()),n.spot1=new go.Spot(.2,.25),n.spot2=new go.Spot(.75,.75),n}),go.Shape.defineFigureGenerator("XnorGate",function(m,e,t){var n=new go.Geometry,g=.5,a=L*g,o=.2,d=.5,r=new go.PathFigure(.1*e,0,!1);n.add(r),r.add(new go.PathSegment(go.PathSegment.Bezier,.1*e,t,.35*e,.25*t,.35*e,.75*t));var S=new go.PathFigure(.8*e,.5*t,!0);n.add(S),S.add(new go.PathSegment(go.PathSegment.Bezier,.2*e,t,.7*e,(d+a)*t,(o+a)*e,(d+g)*t)),S.add(new go.PathSegment(go.PathSegment.Bezier,.2*e,0,.45*e,.75*t,.45*e,.25*t)),S.add(new go.PathSegment(go.PathSegment.Bezier,.8*e,.5*t,(o+a)*e,(d-g)*t,.7*e,(d-a)*t)),g=.1,a=L*.1,o=.9,d=.5;var P=new go.PathFigure((o-g)*e,d*t,!0);return n.add(P),P.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d-g)*t,(o-g)*e,(d-a)*t,(o-a)*e,(d-g)*t)),P.add(new go.PathSegment(go.PathSegment.Bezier,(o+g)*e,d*t,(o+a)*e,(d-g)*t,(o+g)*e,(d-a)*t)),P.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d+g)*t,(o+g)*e,(d+a)*t,(o+a)*e,(d+g)*t)),P.add(new go.PathSegment(go.PathSegment.Bezier,(o-g)*e,d*t,(o-a)*e,(d+g)*t,(o-g)*e,(d+a)*t)),n.spot1=new go.Spot(.4,.25),n.spot2=new go.Spot(.65,.75),n}),go.Shape.defineFigureGenerator("XorGate",function(m,e,t){var n=new go.Geometry,g=.5,a=L*g,o=.2,d=.5,r=new go.PathFigure(.1*e,0,!1);n.add(r),r.add(new go.PathSegment(go.PathSegment.Bezier,.1*e,t,.35*e,.25*t,.35*e,.75*t));var S=new go.PathFigure(.2*e,0,!0);return n.add(S),S.add(new go.PathSegment(go.PathSegment.Bezier,e,.5*t,(o+a)*e,(d-g)*t,.9*e,(d-a)*t)),S.add(new go.PathSegment(go.PathSegment.Bezier,.2*e,t,.9*e,(d+a)*t,(o+a)*e,(d+g)*t)),S.add(new go.PathSegment(go.PathSegment.Bezier,.2*e,0,.45*e,.75*t,.45*e,.25*t).close()),n.spot1=new go.Spot(.4,.25),n.spot2=new go.Spot(.8,.75),n}),go.Shape.defineFigureGenerator("Capacitor",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!1);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,0,t)),g.add(new go.PathSegment(go.PathSegment.Move,e,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,t)),n}),go.Shape.defineFigureGenerator("Resistor",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,.5*t,!1);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.1*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.2*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,.3*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.4*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.6*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,.7*e,.5*t)),n}),go.Shape.defineFigureGenerator("Inductor",function(m,e,t){var n=new go.Geometry,g=L*.1,a=.1,o=.1,d=.5,r=new go.PathFigure((o-g*.5)*e,t,!1);return n.add(r),r.add(new go.PathSegment(go.PathSegment.Bezier,(o+a)*e,0,(o-g)*e,t,(o-a)*e,0)),o=.3,r.add(new go.PathSegment(go.PathSegment.Bezier,o*e,t,(o+a)*e,0,(o+g)*e,t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(o+a)*e,0,(o-g)*e,t,(o-a)*e,0)),o=.5,r.add(new go.PathSegment(go.PathSegment.Bezier,o*e,t,(o+a)*e,0,(o+g)*e,t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(o+a)*e,0,(o-g)*e,t,(o-a)*e,0)),o=.7,r.add(new go.PathSegment(go.PathSegment.Bezier,o*e,t,(o+a)*e,0,(o+g)*e,t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(o+a)*e,0,(o-g)*e,t,(o-a)*e,0)),o=.9,r.add(new go.PathSegment(go.PathSegment.Bezier,(o+g*.5)*e,t,(o+a)*e,0,(o+g)*e,t)),n}),go.Shape.defineFigureGenerator("ACvoltageSource",function(m,e,t){var n=new go.Geometry,g=L*.5,a=.5,o=.5,d=.5,r=new go.PathFigure((o-a)*e,d*t,!1);return n.add(r),r.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d-a)*t,(o-a)*e,(d-g)*t,(o-g)*e,(d-a)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(o+a)*e,d*t,(o+g)*e,(d-a)*t,(o+a)*e,(d-g)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d+a)*t,(o+a)*e,(d+g)*t,(o+g)*e,(d+a)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(o-a)*e,d*t,(o-g)*e,(d+a)*t,(o-a)*e,(d+g)*t)),r.add(new go.PathSegment(go.PathSegment.Move,(o-a+.1)*e,d*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(o+a-.1)*e,d*t,o*e,(d-a)*t,o*e,(d+a)*t)),n}),go.Shape.defineFigureGenerator("DCvoltageSource",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,.75*t,!1);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,0,.25*t)),g.add(new go.PathSegment(go.PathSegment.Move,e,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,t)),n}),go.Shape.defineFigureGenerator("Diode",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(e,0,!1);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,t)),n.spot1=new go.Spot(0,.25),n.spot2=new go.Spot(.5,.75),n}),go.Shape.defineFigureGenerator("Wifi",function(m,e,t){var n=new go.Geometry,g=e,a=t;e=e*.38,t=t*.6;var o=L*.8,d=.8,r=0,S=.5,P=(g-e)/2,i=(a-t)/2,h=new go.PathFigure(r*e+P,(S+d)*t+i,!0);n.add(h),h.add(new go.PathSegment(go.PathSegment.Bezier,(r-d)*e+P,S*t+i,(r-o)*e+P,(S+d)*t+i,(r-d)*e+P,(S+o)*t+i)),h.add(new go.PathSegment(go.PathSegment.Bezier,r*e+P,(S-d)*t+i,(r-d)*e+P,(S-o)*t+i,(r-o)*e+P,(S-d)*t+i)),h.add(new go.PathSegment(go.PathSegment.Bezier,(r-d+o*.5)*e+P,S*t+i,r*e+P,(S-d)*t+i,(r-d+o*.5)*e+P,(S-o)*t+i)),h.add(new go.PathSegment(go.PathSegment.Bezier,r*e+P,(S+d)*t+i,(r-d+o*.5)*e+P,(S+o)*t+i,r*e+P,(S+d)*t+i).close()),o=L*.4,d=.4,r=.2,S=.5;var u=new go.PathFigure(r*e+P,(S+d)*t+i,!0);n.add(u),u.add(new go.PathSegment(go.PathSegment.Bezier,(r-d)*e+P,S*t+i,(r-o)*e+P,(S+d)*t+i,(r-d)*e+P,(S+o)*t+i)),u.add(new go.PathSegment(go.PathSegment.Bezier,r*e+P,(S-d)*t+i,(r-d)*e+P,(S-o)*t+i,(r-o)*e+P,(S-d)*t+i)),u.add(new go.PathSegment(go.PathSegment.Bezier,(r-d+o*.5)*e+P,S*t+i,r*e+P,(S-d)*t+i,(r-d+o*.5)*e+P,(S-o)*t+i)),u.add(new go.PathSegment(go.PathSegment.Bezier,r*e+P,(S+d)*t+i,(r-d+o*.5)*e+P,(S+o)*t+i,r*e+P,(S+d)*t+i).close()),o=L*.2,d=.2,r=.5,S=.5;var f=new go.PathFigure((r-d)*e+P,S*t+i,!0);n.add(f),f.add(new go.PathSegment(go.PathSegment.Bezier,r*e+P,(S-d)*t+i,(r-d)*e+P,(S-o)*t+i,(r-o)*e+P,(S-d)*t+i)),f.add(new go.PathSegment(go.PathSegment.Bezier,(r+d)*e+P,S*t+i,(r+o)*e+P,(S-d)*t+i,(r+d)*e+P,(S-o)*t+i)),f.add(new go.PathSegment(go.PathSegment.Bezier,r*e+P,(S+d)*t+i,(r+d)*e+P,(S+o)*t+i,(r+o)*e+P,(S+d)*t+i)),f.add(new go.PathSegment(go.PathSegment.Bezier,(r-d)*e+P,S*t+i,(r-o)*e+P,(S+d)*t+i,(r-d)*e+P,(S+o)*t+i)),o=L*.4,d=.4,r=.8,S=.5;var s=new go.PathFigure(r*e+P,(S-d)*t+i,!0);n.add(s),s.add(new go.PathSegment(go.PathSegment.Bezier,(r+d)*e+P,S*t+i,(r+o)*e+P,(S-d)*t+i,(r+d)*e+P,(S-o)*t+i)),s.add(new go.PathSegment(go.PathSegment.Bezier,r*e+P,(S+d)*t+i,(r+d)*e+P,(S+o)*t+i,(r+o)*e+P,(S+d)*t+i)),s.add(new go.PathSegment(go.PathSegment.Bezier,(r+d-o*.5)*e+P,S*t+i,r*e+P,(S+d)*t+i,(r+d-o*.5)*e+P,(S+o)*t+i)),s.add(new go.PathSegment(go.PathSegment.Bezier,r*e+P,(S-d)*t+i,(r+d-o*.5)*e+P,(S-o)*t+i,r*e+P,(S-d)*t+i).close()),o=L*.8,d=.8,r=1,S=.5;var F=new go.PathFigure(r*e+P,(S-d)*t+i,!0);return n.add(F),F.add(new go.PathSegment(go.PathSegment.Bezier,(r+d)*e+P,S*t+i,(r+o)*e+P,(S-d)*t+i,(r+d)*e+P,(S-o)*t+i)),F.add(new go.PathSegment(go.PathSegment.Bezier,r*e+P,(S+d)*t+i,(r+d)*e+P,(S+o)*t+i,(r+o)*e+P,(S+d)*t+i)),F.add(new go.PathSegment(go.PathSegment.Bezier,(r+d-o*.5)*e+P,S*t+i,r*e+P,(S+d)*t+i,(r+d-o*.5)*e+P,(S+o)*t+i)),F.add(new go.PathSegment(go.PathSegment.Bezier,r*e+P,(S-d)*t+i,(r+d-o*.5)*e+P,(S-o)*t+i,r*e+P,(S-d)*t+i).close()),n}),go.Shape.defineFigureGenerator("Email",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var a=new go.PathFigure(0,0,!1);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.5*e,.6*t)),a.add(new go.PathSegment(go.PathSegment.Line,e,0)),a.add(new go.PathSegment(go.PathSegment.Move,0,t)),a.add(new go.PathSegment(go.PathSegment.Line,.45*e,.54*t)),a.add(new go.PathSegment(go.PathSegment.Move,e,t)),a.add(new go.PathSegment(go.PathSegment.Line,.55*e,.54*t)),n}),go.Shape.defineFigureGenerator("Ethernet",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.35*e,0,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.65*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.65*e,.4*t)),g.add(new go.PathSegment(go.PathSegment.Line,.35*e,.4*t)),g.add(new go.PathSegment(go.PathSegment.Line,.35*e,0).close());var a=new go.PathFigure(.1*e,t,!0,!0);n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.4*e,t)),a.add(new go.PathSegment(go.PathSegment.Line,.4*e,.6*t)),a.add(new go.PathSegment(go.PathSegment.Line,.1*e,.6*t)),a.add(new go.PathSegment(go.PathSegment.Line,.1*e,t).close());var o=new go.PathFigure(.6*e,t,!0,!0);n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.9*e,t)),o.add(new go.PathSegment(go.PathSegment.Line,.9*e,.6*t)),o.add(new go.PathSegment(go.PathSegment.Line,.6*e,.6*t)),o.add(new go.PathSegment(go.PathSegment.Line,.6*e,t).close());var d=new go.PathFigure(0,.5*t,!1);return n.add(d),d.add(new go.PathSegment(go.PathSegment.Line,e,.5*t)),d.add(new go.PathSegment(go.PathSegment.Move,.5*e,.5*t)),d.add(new go.PathSegment(go.PathSegment.Line,.5*e,.4*t)),d.add(new go.PathSegment(go.PathSegment.Move,.75*e,.5*t)),d.add(new go.PathSegment(go.PathSegment.Line,.75*e,.6*t)),d.add(new go.PathSegment(go.PathSegment.Move,.25*e,.5*t)),d.add(new go.PathSegment(go.PathSegment.Line,.25*e,.6*t)),n}),go.Shape.defineFigureGenerator("Power",function(m,e,t){var n=new go.Geometry,g=L*.4,a=.4,o=.5,d=.5,r=c(),S=c(),P=c(),i=c();y(o,d-a,o+g,d-a,o+a,d-g,o+a,d,.5,r,r,S,P,i);var h=b(S.x,S.y),u=new go.PathFigure(S.x*e,S.y*t,!0);n.add(u),u.add(new go.PathSegment(go.PathSegment.Bezier,(o+a)*e,d*t,P.x*e,P.y*t,i.x*e,i.y*t)),u.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d+a)*t,(o+a)*e,(d+g)*t,(o+g)*e,(d+a)*t)),u.add(new go.PathSegment(go.PathSegment.Bezier,(o-a)*e,d*t,(o-g)*e,(d+a)*t,(o-a)*e,(d+g)*t)),y(o-a,d,o-a,d-g,o-g,d-a,o,d-a,.5,P,i,S,r,r),u.add(new go.PathSegment(go.PathSegment.Bezier,S.x*e,S.y*t,P.x*e,P.y*t,i.x*e,i.y*t)),g=L*.3,a=.3,y(o-a,d,o-a,d-g,o-g,d-a,o,d-a,.5,P,i,S,r,r),u.add(new go.PathSegment(go.PathSegment.Line,S.x*e,S.y*t)),u.add(new go.PathSegment(go.PathSegment.Bezier,(o-a)*e,d*t,i.x*e,i.y*t,P.x*e,P.y*t)),u.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d+a)*t,(o-a)*e,(d+g)*t,(o-g)*e,(d+a)*t)),u.add(new go.PathSegment(go.PathSegment.Bezier,(o+a)*e,d*t,(o+g)*e,(d+a)*t,(o+a)*e,(d+g)*t)),y(o,d-a,o+g,d-a,o+a,d-g,o+a,d,.5,r,r,S,P,i),u.add(new go.PathSegment(go.PathSegment.Bezier,S.x*e,S.y*t,i.x*e,i.y*t,P.x*e,P.y*t).close());var u=new go.PathFigure(.45*e,0,!0);return n.add(u),u.add(new go.PathSegment(go.PathSegment.Line,.45*e,.5*t)),u.add(new go.PathSegment(go.PathSegment.Line,.55*e,.5*t)),u.add(new go.PathSegment(go.PathSegment.Line,.55*e,0).close()),v(r),v(S),v(P),v(i),v(h),n.spot1=new go.Spot(.25,.45),n.spot2=new go.Spot(.75,.8),n}),go.Shape.defineFigureGenerator("Fallout",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,t/2,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Arc,180,360,e/2,t/2,e/2,t/2));function a(o,d,r){o.add(new go.PathSegment(go.PathSegment.Move,(.3+d)*e,(.8+r)*t)),o.add(new go.PathSegment(go.PathSegment.Line,(.5+d)*e,(.5+r)*t)),o.add(new go.PathSegment(go.PathSegment.Line,(.1+d)*e,(.5+r)*t)),o.add(new go.PathSegment(go.PathSegment.Line,(.3+d)*e,(.8+r)*t).close())}return a(g,0,0),a(g,.4,0),a(g,.2,-.3),n}),go.Shape.defineFigureGenerator("IrritationHazard",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.2*e,0,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,.3*t)),g.add(new go.PathSegment(go.PathSegment.Line,.8*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,.2*t)),g.add(new go.PathSegment(go.PathSegment.Line,.7*e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,.8*t)),g.add(new go.PathSegment(go.PathSegment.Line,.8*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,.7*t)),g.add(new go.PathSegment(go.PathSegment.Line,.2*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.8*t)),g.add(new go.PathSegment(go.PathSegment.Line,.3*e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.2*t).close()),n.spot1=new go.Spot(.3,.3),n.spot2=new go.Spot(.7,.7),n}),go.Shape.defineFigureGenerator("ElectricalHazard",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.37*e,0,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,.11*t)),g.add(new go.PathSegment(go.PathSegment.Line,.77*e,.04*t)),g.add(new go.PathSegment(go.PathSegment.Line,.33*e,.49*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,.37*t)),g.add(new go.PathSegment(go.PathSegment.Line,.63*e,.86*t)),g.add(new go.PathSegment(go.PathSegment.Line,.77*e,.91*t)),g.add(new go.PathSegment(go.PathSegment.Line,.34*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,.34*e,.78*t)),g.add(new go.PathSegment(go.PathSegment.Line,.44*e,.8*t)),g.add(new go.PathSegment(go.PathSegment.Line,.65*e,.56*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.68*t).close()),n}),go.Shape.defineFigureGenerator("FireHazard",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.1*e,t,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Bezier,.29*e,0,-.25*e,.63*t,.45*e,.44*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.51*e,.42*t,.48*e,.17*t,.54*e,.35*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.59*e,.18*t,.59*e,.29*t,.58*e,.28*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.75*e,.6*t,.8*e,.34*t,.88*e,.43*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.88*e,.31*t,.87*e,.48*t,.88*e,.43*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.9*e,t,1.17*e,.76*t,.82*e,.8*t).close()),n.spot1=new go.Spot(.07,.445),n.spot2=new go.Spot(.884,.958),n}),go.Shape.defineFigureGenerator("BpmnActivityLoop",function(m,e,t){var n=new go.Geometry,g=.5,a=0,o=0,d=g*L,r=.4*Math.SQRT2/2+.5,S=.5-.5*Math.SQRT2/2,P=1,i=.5,h=.5,u=0,f=new go.PathFigure(r*e,(1-S)*t,!1);return n.add(f),f.add(new go.PathSegment(go.PathSegment.Bezier,P*e,i*t,P*e,.7*t,P*e,i*t)),f.add(new go.PathSegment(go.PathSegment.Bezier,(h+a)*e,(u+a)*t,(.5+g+a)*e,(.5-d+a)*t,(.5+d+a)*e,(.5-g+a)*t)),f.add(new go.PathSegment(go.PathSegment.Bezier,(.5-g+a)*e,(.5+o)*t,(.5-d+a)*e,(.5-g+o)*t,(.5-g+a)*e,(.5-d+o)*t)),f.add(new go.PathSegment(go.PathSegment.Bezier,(.35+a)*e,.9*t,(.5-g+a)*e,(.5+d+o)*t,(.5-d+a)*e,.9*t)),f.add(new go.PathSegment(go.PathSegment.Move,(.25+a)*e,.8*t)),f.add(new go.PathSegment(go.PathSegment.Line,(.35+a)*e,.9*t)),f.add(new go.PathSegment(go.PathSegment.Line,(.2+a)*e,.95*t)),n}),go.Shape.defineFigureGenerator("BpmnActivityParallel",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!1);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,0,t)),g.add(new go.PathSegment(go.PathSegment.Move,.5*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,t)),g.add(new go.PathSegment(go.PathSegment.Move,e,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,t)),n}),go.Shape.defineFigureGenerator("BpmnActivitySequential",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!1);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e,0)),g.add(new go.PathSegment(go.PathSegment.Move,0,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Move,0,t)),g.add(new go.PathSegment(go.PathSegment.Line,e,t)),n}),go.Shape.defineFigureGenerator("BpmnActivityAdHoc",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!1);n.add(g);var a=new go.PathFigure(e,t,!1);n.add(a);var o=new go.PathFigure(0,.5*t,!1);return n.add(o),o.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,.5*t,.2*e,.35*t,.3*e,.35*t)),o.add(new go.PathSegment(go.PathSegment.Bezier,e,.5*t,.7*e,.65*t,.8*e,.65*t)),n}),go.Shape.defineFigureGenerator("BpmnActivityCompensation",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,.5*t,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,t)),g.add(new go.PathSegment(go.PathSegment.Line,e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,t).close()),n}),go.Shape.defineFigureGenerator("BpmnTaskMessage",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,.2*t,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e,.2*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,.8*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.8*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.8*t).close());var g=new go.PathFigure(0,.2*t,!1);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,.2*t)),n}),go.Shape.defineFigureGenerator("BpmnTaskScript",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.7*e,t,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.3*e,t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.3*e,0,.6*e,.5*t,0,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,.7*e,0)),g.add(new go.PathSegment(go.PathSegment.Bezier,.7*e,t,.4*e,.5*t,e,.5*t).close());var a=new go.PathFigure(.45*e,.73*t,!1);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.7*e,.73*t)),a.add(new go.PathSegment(go.PathSegment.Move,.38*e,.5*t)),a.add(new go.PathSegment(go.PathSegment.Line,.63*e,.5*t)),a.add(new go.PathSegment(go.PathSegment.Move,.31*e,.27*t)),a.add(new go.PathSegment(go.PathSegment.Line,.56*e,.27*t)),n}),go.Shape.defineFigureGenerator("BpmnTaskUser",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!1);n.add(g);var a=new go.PathFigure(.335*e,(1-.555)*t,!0);n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.335*e,(1-.405)*t)),a.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*e,(1-.405)*t)),a.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*e,(1-.555)*t)),a.add(new go.PathSegment(go.PathSegment.Bezier,e,.68*t,(1-.12)*e,.46*t,(1-.02)*e,.54*t)),a.add(new go.PathSegment(go.PathSegment.Line,e,t)),a.add(new go.PathSegment(go.PathSegment.Line,0,t)),a.add(new go.PathSegment(go.PathSegment.Line,0,.68*t)),a.add(new go.PathSegment(go.PathSegment.Bezier,.335*e,(1-.555)*t,.02*e,.54*t,.12*e,.46*t)),a.add(new go.PathSegment(go.PathSegment.Line,.365*e,(1-.595)*t));var o=.5-.285,d=.5,r=o,S=Math.PI/4,P=4*(1-Math.cos(S))/(3*Math.sin(S)),i=P*.5,h=o,u=o,f=P*h,s=P*u;a.add(new go.PathSegment(go.PathSegment.Bezier,(d-h)*e,r*t,(d-(f+h)/2)*e,(r+(u+s)/2)*t,(d-h)*e,(r+s)*t)),a.add(new go.PathSegment(go.PathSegment.Bezier,d*e,(r-u)*t,(d-h)*e,(r-s)*t,(d-f)*e,(r-u)*t)),a.add(new go.PathSegment(go.PathSegment.Bezier,(d+h)*e,r*t,(d+f)*e,(r-u)*t,(d+h)*e,(r-s)*t)),a.add(new go.PathSegment(go.PathSegment.Bezier,(1-.365)*e,(1-.595)*t,(d+h)*e,(r+s)*t,(d+(f+h)/2)*e,(r+(u+s)/2)*t)),a.add(new go.PathSegment(go.PathSegment.Line,(1-.365)*e,(1-.595)*t)),a.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*e,(1-.555)*t)),a.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*e,(1-.405)*t)),a.add(new go.PathSegment(go.PathSegment.Line,.335*e,(1-.405)*t));var F=new go.PathFigure(.2*e,t,!1);n.add(F),F.add(new go.PathSegment(go.PathSegment.Line,.2*e,.8*t));var B=new go.PathFigure(.8*e,t,!1);return n.add(B),B.add(new go.PathSegment(go.PathSegment.Line,.8*e,.8*t)),n}),go.Shape.defineFigureGenerator("BpmnEventConditional",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.1*e,0,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.9*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.9*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,.1*e,t).close());var a=new go.PathFigure(.2*e,.2*t,!1);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.8*e,.2*t)),a.add(new go.PathSegment(go.PathSegment.Move,.2*e,.4*t)),a.add(new go.PathSegment(go.PathSegment.Line,.8*e,.4*t)),a.add(new go.PathSegment(go.PathSegment.Move,.2*e,.6*t)),a.add(new go.PathSegment(go.PathSegment.Line,.8*e,.6*t)),a.add(new go.PathSegment(go.PathSegment.Move,.2*e,.8*t)),a.add(new go.PathSegment(go.PathSegment.Line,.8*e,.8*t)),n}),go.Shape.defineFigureGenerator("BpmnEventError",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,t,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.33*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.66*e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.66*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,.33*e,.5*t).close()),n}),go.Shape.defineFigureGenerator("BpmnEventEscalation",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!1);n.add(g);var a=new go.PathFigure(e,t,!1);n.add(a);var o=new go.PathFigure(.1*e,t,!0);return n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.5*e,0)),o.add(new go.PathSegment(go.PathSegment.Line,.9*e,t)),o.add(new go.PathSegment(go.PathSegment.Line,.5*e,.5*t).close()),n}),go.Shape.defineFigureGenerator("Caution",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.05*e,t,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Bezier,.1*e,.8*t,0,t,0,t)),g.add(new go.PathSegment(go.PathSegment.Line,.45*e,.1*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.55*e,.1*t,.5*e,0,.5*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.95*e,.9*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.9*e,t,e,t,e,t)),g.add(new go.PathSegment(go.PathSegment.Line,.05*e,t));var a=.05;return g.add(new go.PathSegment(go.PathSegment.Move,(.5-a)*e,.875*t)),g.add(new go.PathSegment(go.PathSegment.Arc,180,-360,.5*e,.875*t,a*e,a*t)),g.add(new go.PathSegment(go.PathSegment.Move,.5*e,.75*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,.325*t,.575*e,.725*t,.625*e,.375*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,.75*t,.375*e,.375*t,.425*e,.725*t)),n}),go.Shape.defineFigureGenerator("Recycle",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.45*e,.95*t,!1);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.2*e,.95*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.185*e,.85*t,.17*e,.95*t,.15*e,.9*t)),g.add(new go.PathSegment(go.PathSegment.Line,.235*e,.75*t)),g.add(new go.PathSegment(go.PathSegment.Line,.3*e,.625*t)),g.add(new go.PathSegment(go.PathSegment.Line,.35*e,.65*t)),g.add(new go.PathSegment(go.PathSegment.Line,.275*e,.45*t)),g.add(new go.PathSegment(go.PathSegment.Line,.05*e,.45*t)),g.add(new go.PathSegment(go.PathSegment.Line,.1*e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,.05*e,.575*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.1875*e,.95*t,0,.675*t,0,.7*t)),g.add(new go.PathSegment(go.PathSegment.Move,.45*e,.95*t)),g.add(new go.PathSegment(go.PathSegment.Line,.45*e,.775*t)),g.add(new go.PathSegment(go.PathSegment.Line,.22*e,.775*t));var a=new go.PathFigure(.475*e,.2*t,!1);n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.4*e,.4*t)),a.add(new go.PathSegment(go.PathSegment.Line,.225*e,.3*t)),a.add(new go.PathSegment(go.PathSegment.Line,.275*e,.175*t)),a.add(new go.PathSegment(go.PathSegment.Line,.325*e,.05*t)),a.add(new go.PathSegment(go.PathSegment.Bezier,.4*e,.05*t,.35*e,0,.375*e,0)),a.add(new go.PathSegment(go.PathSegment.Line,.575*e,.375*t)),a.add(new go.PathSegment(go.PathSegment.Line,.525*e,.4*t)),a.add(new go.PathSegment(go.PathSegment.Line,.75*e,.475*t)),a.add(new go.PathSegment(go.PathSegment.Line,.85*e,.315*t)),a.add(new go.PathSegment(go.PathSegment.Line,.8*e,.32*t)),a.add(new go.PathSegment(go.PathSegment.Line,.65*e,.05*t)),a.add(new go.PathSegment(go.PathSegment.Bezier,.575*e,0,.65*e,.05*t,.625*e,0)),a.add(new go.PathSegment(go.PathSegment.Line,.38*e,.0105*t));var o=new go.PathFigure(.675*e,.575*t,!1);return n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.875*e,.525*t)),o.add(new go.PathSegment(go.PathSegment.Line,e,.775*t)),o.add(new go.PathSegment(go.PathSegment.Bezier,.85*e,.95*t,e,.8*t,e,.85*t)),o.add(new go.PathSegment(go.PathSegment.Line,.65*e,.95*t)),o.add(new go.PathSegment(go.PathSegment.Line,.65*e,t)),o.add(new go.PathSegment(go.PathSegment.Line,.55*e,.85*t)),o.add(new go.PathSegment(go.PathSegment.Line,.65*e,.725*t)),o.add(new go.PathSegment(go.PathSegment.Line,.65*e,.775*t)),o.add(new go.PathSegment(go.PathSegment.Line,.7*e,.775*t)),o.add(new go.PathSegment(go.PathSegment.Line,e,.775*t)),o.add(new go.PathSegment(go.PathSegment.Move,.675*e,.575*t)),o.add(new go.PathSegment(go.PathSegment.Line,.775*e,.775*t)),n}),go.Shape.defineFigureGenerator("BpmnEventTimer",function(m,e,t){var n=new go.Geometry,g=.5,a=L*.5,o=new go.PathFigure(e,g*t,!0);n.add(o),o.add(new go.PathSegment(go.PathSegment.Bezier,g*e,t,e,(g+a)*t,(g+a)*e,t)),o.add(new go.PathSegment(go.PathSegment.Bezier,0,g*t,(g-a)*e,t,0,(g+a)*t)),o.add(new go.PathSegment(go.PathSegment.Bezier,g*e,0,0,(g-a)*t,(g-a)*e,0)),o.add(new go.PathSegment(go.PathSegment.Bezier,e,g*t,(g+a)*e,0,e,(g-a)*t));var d=new go.PathFigure(g*e,0,!1);return n.add(d),d.add(new go.PathSegment(go.PathSegment.Line,g*e,.15*t)),d.add(new go.PathSegment(go.PathSegment.Move,g*e,t)),d.add(new go.PathSegment(go.PathSegment.Line,g*e,.85*t)),d.add(new go.PathSegment(go.PathSegment.Move,0,g*t)),d.add(new go.PathSegment(go.PathSegment.Line,.15*e,g*t)),d.add(new go.PathSegment(go.PathSegment.Move,e,g*t)),d.add(new go.PathSegment(go.PathSegment.Line,.85*e,g*t)),d.add(new go.PathSegment(go.PathSegment.Move,g*e,g*t)),d.add(new go.PathSegment(go.PathSegment.Line,.58*e,.1*t)),d.add(new go.PathSegment(go.PathSegment.Move,g*e,g*t)),d.add(new go.PathSegment(go.PathSegment.Line,.78*e,.54*t)),n}),go.Shape.defineFigureGenerator("Package",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,.15*t,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e,.15*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,t).close());var a=new go.PathFigure(0,.15*t,!0);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,0)),a.add(new go.PathSegment(go.PathSegment.Line,.6*e,0)),a.add(new go.PathSegment(go.PathSegment.Line,.65*e,.15*t).close()),n.spot1=new go.Spot(0,.1),n.spot2=new go.Spot(1,1),n}),go.Shape.defineFigureGenerator("Class",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var a=new go.PathFigure(0,.2*t,!1);n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e,.2*t).close());var o=new go.PathFigure(0,.5*t,!1);return n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,e,.5*t).close()),n}),go.Shape.defineFigureGenerator("Component",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(e,t,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.15*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.15*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,e,t).close());var a=new go.PathFigure(0,.2*t,!0);n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.45*e,.2*t)),a.add(new go.PathSegment(go.PathSegment.Line,.45*e,.4*t)),a.add(new go.PathSegment(go.PathSegment.Line,0,.4*t)),a.add(new go.PathSegment(go.PathSegment.Line,0,.2*t).close());var o=new go.PathFigure(0,.6*t,!0);return n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.45*e,.6*t)),o.add(new go.PathSegment(go.PathSegment.Line,.45*e,.8*t)),o.add(new go.PathSegment(go.PathSegment.Line,0,.8*t)),o.add(new go.PathSegment(go.PathSegment.Line,0,.6*t).close()),n}),go.Shape.defineFigureGenerator("Boat Shipment",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.15*e,.6*t,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.15*e,.6*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.6*t)),g.add(new go.PathSegment(go.PathSegment.Line,.15*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,.85*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,e,.6*t)),g.add(new go.PathSegment(go.PathSegment.Line,.85*e,.6*t)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.15*e,.6*t));var a=new go.PathFigure(.15*e,.6*t,!1);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.85*e,.6*t)),n}),go.Shape.defineFigureGenerator("Customer/Supplier",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(e,t,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.66*e,.33*t)),g.add(new go.PathSegment(go.PathSegment.Line,.66*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.33*e,.33*t)),g.add(new go.PathSegment(go.PathSegment.Line,.33*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,0,.33*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,t)),g.add(new go.PathSegment(go.PathSegment.Line,e,t).close()),n}),go.Shape.defineFigureGenerator("Workcell",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,t,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,0,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,t)),g.add(new go.PathSegment(go.PathSegment.Line,.65*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,.65*e,.4*t)),g.add(new go.PathSegment(go.PathSegment.Line,.35*e,.4*t)),g.add(new go.PathSegment(go.PathSegment.Line,.35*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,t).close()),n}),go.Shape.defineFigureGenerator("Supermarket",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!1);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,.33*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.33*t)),g.add(new go.PathSegment(go.PathSegment.Move,e,.33*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,.66*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.66*t)),g.add(new go.PathSegment(go.PathSegment.Move,e,.66*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,t)),n}),go.Shape.defineFigureGenerator("TruckShipment",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.6*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.6*e,.8*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.8*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var a=new go.PathFigure(e,.8*t,!0);n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e,.4*t)),a.add(new go.PathSegment(go.PathSegment.Line,.6*e,.4*t)),a.add(new go.PathSegment(go.PathSegment.Line,.6*e,.8*t)),a.add(new go.PathSegment(go.PathSegment.Line,e,.8*t).close());var o=.1,d=L*.1,r=.2,S=.9,P=new go.PathFigure((r-o)*e,S*t,!0);n.add(P),P.add(new go.PathSegment(go.PathSegment.Bezier,r*e,(S-o)*t,(r-o)*e,(S-d)*t,(r-d)*e,(S-o)*t)),P.add(new go.PathSegment(go.PathSegment.Bezier,(r+o)*e,S*t,(r+d)*e,(S-o)*t,(r+o)*e,(S-d)*t)),P.add(new go.PathSegment(go.PathSegment.Bezier,r*e,(S+o)*t,(r+o)*e,(S+d)*t,(r+d)*e,(S+o)*t)),P.add(new go.PathSegment(go.PathSegment.Bezier,(r-o)*e,S*t,(r-d)*e,(S+o)*t,(r-o)*e,(S+d)*t).close()),o=.1,d=L*.1,r=.8,S=.9;var i=new go.PathFigure((r-o)*e,S*t,!0);return n.add(i),i.add(new go.PathSegment(go.PathSegment.Bezier,r*e,(S-o)*t,(r-o)*e,(S-d)*t,(r-d)*e,(S-o)*t)),i.add(new go.PathSegment(go.PathSegment.Bezier,(r+o)*e,S*t,(r+d)*e,(S-o)*t,(r+o)*e,(S-d)*t)),i.add(new go.PathSegment(go.PathSegment.Bezier,r*e,(S+o)*t,(r+o)*e,(S+d)*t,(r+d)*e,(S+o)*t)),i.add(new go.PathSegment(go.PathSegment.Bezier,(r-o)*e,S*t,(r-d)*e,(S+o)*t,(r-o)*e,(S+d)*t).close()),n}),go.Shape.defineFigureGenerator("KanbanPost",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.2*e,0,!1);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.2*e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,.8*e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,.8*e,0)),g.add(new go.PathSegment(go.PathSegment.Move,.5*e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,.2*e,t)),g.add(new go.PathSegment(go.PathSegment.Move,.5*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,.8*e,t)),n}),go.Shape.defineFigureGenerator("Forklift",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,0,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,.4*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,0,0));var a=new go.PathFigure(0,.5*t,!0);n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,0,.8*t)),a.add(new go.PathSegment(go.PathSegment.Line,.5*e,.8*t)),a.add(new go.PathSegment(go.PathSegment.Line,.5*e,.5*t)),a.add(new go.PathSegment(go.PathSegment.Line,0,.5*t));var o=new go.PathFigure(.5*e,.8*t,!0);n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.5*e,.1*t)),o.add(new go.PathSegment(go.PathSegment.Line,.55*e,.1*t)),o.add(new go.PathSegment(go.PathSegment.Line,.55*e,.8*t)),o.add(new go.PathSegment(go.PathSegment.Line,.5*e,.8*t));var d=new go.PathFigure(.5*e,.7*t,!1);n.add(d),d.add(new go.PathSegment(go.PathSegment.Line,e,.7*t));var r=.1,S=L*.1,P=.1,i=.9,h=new go.PathFigure((P-r)*e,i*t,!0);n.add(h),h.add(new go.PathSegment(go.PathSegment.Bezier,P*e,(i-r)*t,(P-r)*e,(i-S)*t,(P-S)*e,(i-r)*t)),h.add(new go.PathSegment(go.PathSegment.Bezier,(P+r)*e,i*t,(P+S)*e,(i-r)*t,(P+r)*e,(i-S)*t)),h.add(new go.PathSegment(go.PathSegment.Bezier,P*e,(i+r)*t,(P+r)*e,(i+S)*t,(P+S)*e,(i+r)*t)),h.add(new go.PathSegment(go.PathSegment.Bezier,(P-r)*e,i*t,(P-S)*e,(i+r)*t,(P-r)*e,(i+S)*t)),r=.1,S=L*.1,P=.4,i=.9;var u=new go.PathFigure((P-r)*e,i*t,!0);return n.add(u),u.add(new go.PathSegment(go.PathSegment.Bezier,P*e,(i-r)*t,(P-r)*e,(i-S)*t,(P-S)*e,(i-r)*t)),u.add(new go.PathSegment(go.PathSegment.Bezier,(P+r)*e,i*t,(P+S)*e,(i-r)*t,(P+r)*e,(i-S)*t)),u.add(new go.PathSegment(go.PathSegment.Bezier,P*e,(i+r)*t,(P+r)*e,(i+S)*t,(P+S)*e,(i+r)*t)),u.add(new go.PathSegment(go.PathSegment.Bezier,(P-r)*e,i*t,(P-S)*e,(i+r)*t,(P-r)*e,(i+S)*t)),n}),go.Shape.defineFigureGenerator("RailShipment",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.1*e,.4*t,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.45*e,.4*t)),g.add(new go.PathSegment(go.PathSegment.Line,.45*e,.9*t)),g.add(new go.PathSegment(go.PathSegment.Line,.1*e,.9*t)),g.add(new go.PathSegment(go.PathSegment.Line,.1*e,.4*t).close());var a=new go.PathFigure(.45*e,.7*t,!1);n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.55*e,.7*t));var o=new go.PathFigure(.55*e,.4*t,!0);n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.9*e,.4*t)),o.add(new go.PathSegment(go.PathSegment.Line,.9*e,.9*t)),o.add(new go.PathSegment(go.PathSegment.Line,.55*e,.9*t)),o.add(new go.PathSegment(go.PathSegment.Line,.55*e,.4*t).close());var P=.05,i=L*.05,h=.175,u=.95,d=new go.PathFigure((h-P)*e,u*t,!0);n.add(d),d.add(new go.PathSegment(go.PathSegment.Bezier,h*e,(u-P)*t,(h-P)*e,(u-i)*t,(h-i)*e,(u-P)*t)),d.add(new go.PathSegment(go.PathSegment.Bezier,(h+P)*e,u*t,(h+i)*e,(u-P)*t,(h+P)*e,(u-i)*t)),d.add(new go.PathSegment(go.PathSegment.Bezier,h*e,(u+P)*t,(h+P)*e,(u+i)*t,(h+i)*e,(u+P)*t)),d.add(new go.PathSegment(go.PathSegment.Bezier,(h-P)*e,u*t,(h-i)*e,(u+P)*t,(h-P)*e,(u+i)*t));var P=.05,i=L*.05,h=.375,u=.95,r=new go.PathFigure((h-P)*e,u*t,!0);n.add(r),r.add(new go.PathSegment(go.PathSegment.Bezier,h*e,(u-P)*t,(h-P)*e,(u-i)*t,(h-i)*e,(u-P)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(h+P)*e,u*t,(h+i)*e,(u-P)*t,(h+P)*e,(u-i)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,h*e,(u+P)*t,(h+P)*e,(u+i)*t,(h+i)*e,(u+P)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(h-P)*e,u*t,(h-i)*e,(u+P)*t,(h-P)*e,(u+i)*t));var P=.05,i=L*.05,h=.625,u=.95,S=new go.PathFigure((h-P)*e,u*t,!0);n.add(S),S.add(new go.PathSegment(go.PathSegment.Bezier,h*e,(u-P)*t,(h-P)*e,(u-i)*t,(h-i)*e,(u-P)*t)),S.add(new go.PathSegment(go.PathSegment.Bezier,(h+P)*e,u*t,(h+i)*e,(u-P)*t,(h+P)*e,(u-i)*t)),S.add(new go.PathSegment(go.PathSegment.Bezier,h*e,(u+P)*t,(h+P)*e,(u+i)*t,(h+i)*e,(u+P)*t)),S.add(new go.PathSegment(go.PathSegment.Bezier,(h-P)*e,u*t,(h-i)*e,(u+P)*t,(h-P)*e,(u+i)*t));var P=.05,i=L*.05,h=.825,u=.95,f=new go.PathFigure((h-P)*e,u*t,!0);n.add(f),f.add(new go.PathSegment(go.PathSegment.Bezier,h*e,(u-P)*t,(h-P)*e,(u-i)*t,(h-i)*e,(u-P)*t)),f.add(new go.PathSegment(go.PathSegment.Bezier,(h+P)*e,u*t,(h+i)*e,(u-P)*t,(h+P)*e,(u-i)*t)),f.add(new go.PathSegment(go.PathSegment.Bezier,h*e,(u+P)*t,(h+P)*e,(u+i)*t,(h+i)*e,(u+P)*t)),f.add(new go.PathSegment(go.PathSegment.Bezier,(h-P)*e,u*t,(h-i)*e,(u+P)*t,(h-P)*e,(u+i)*t).close());var s=new go.PathFigure(0,t,!1);return n.add(s),s.add(new go.PathSegment(go.PathSegment.Line,e,t).close()),n}),go.Shape.defineFigureGenerator("Warehouse",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var a=new go.PathFigure(0,.2*t,!1);n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e,.2*t).close());var o=new go.PathFigure(.15*e,t,!0);n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.15*e,.5*t)),o.add(new go.PathSegment(go.PathSegment.Line,.4*e,.5*t)),o.add(new go.PathSegment(go.PathSegment.Line,.4*e,t)),o.add(new go.PathSegment(go.PathSegment.Line,.15*e,t).close());var d=.05,r=L*.05,S=.35,P=.775,i=new go.PathFigure((S-d)*e,P*t,!0);return n.add(i),i.add(new go.PathSegment(go.PathSegment.Bezier,S*e,(P-d)*t,(S-d)*e,(P-r)*t,(S-r)*e,(P-d)*t)),i.add(new go.PathSegment(go.PathSegment.Bezier,(S+d)*e,P*t,(S+r)*e,(P-d)*t,(S+d)*e,(P-r)*t)),i.add(new go.PathSegment(go.PathSegment.Bezier,S*e,(P+d)*t,(S+d)*e,(P+r)*t,(S+r)*e,(P+d)*t)),i.add(new go.PathSegment(go.PathSegment.Bezier,(S-d)*e,P*t,(S-r)*e,(P+d)*t,(S-d)*e,(P+r)*t).close()),n}),go.Shape.defineFigureGenerator("ControlCenter",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,t,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,0,.8*t)),g.add(new go.PathSegment(go.PathSegment.Line,.1*e,.8*t)),g.add(new go.PathSegment(go.PathSegment.Line,.1*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.9*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.9*e,.8*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,.8*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,t)),g.add(new go.PathSegment(go.PathSegment.Move,.1*e,.8*t)),g.add(new go.PathSegment(go.PathSegment.Line,.9*e,.8*t).close()),n}),go.Shape.defineFigureGenerator("Bluetooth",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,.75*t,!1);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,0,.75*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,.25*t)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,e,.75*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.25*t)),n}),go.Shape.defineFigureGenerator("Bookmark",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,0,t)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,.6*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,t)),g.add(new go.PathSegment(go.PathSegment.Line,e,0)),g.add(new go.PathSegment(go.PathSegment.Line,0,0)),g.add(new go.PathSegment(go.PathSegment.Move,.2*e,.2*t)),g.add(new go.PathSegment(go.PathSegment.Line,.8*e,.2*t)),g.add(new go.PathSegment(go.PathSegment.Move,.2*e,.4*t)),g.add(new go.PathSegment(go.PathSegment.Line,.8*e,.4*t)),n}),go.Shape.defineFigureGenerator("Bookmark",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,0,t)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,.6*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,t)),g.add(new go.PathSegment(go.PathSegment.Line,e,0)),g.add(new go.PathSegment(go.PathSegment.Line,0,0)),g.add(new go.PathSegment(go.PathSegment.Move,.2*e,.2*t)),g.add(new go.PathSegment(go.PathSegment.Line,.8*e,.2*t)),g.add(new go.PathSegment(go.PathSegment.Move,.2*e,.4*t)),g.add(new go.PathSegment(go.PathSegment.Line,.8*e,.4*t)),n}),go.Shape.defineFigureGenerator("Globe",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.5*e,0,!1);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,t)),g.add(new go.PathSegment(go.PathSegment.Move,0,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Move,.5*e,0)),g.add(new go.PathSegment(go.PathSegment.Bezier,e,.5*t,.75*e,0,e,.25*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,t,e,.75*t,.75*e,t)),g.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*t,.25*e,t,0,.75*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,0,0,.25*t,.25*e,0)),g.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,t,.15*e,.25*t,.15*e,.75*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,0,.85*e,.75*t,.85*e,.25*t)),g.add(new go.PathSegment(go.PathSegment.Move,.1675*e,.15*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.8325*e,.15*t,.35*e,.3*t,.65*e,.3*t)),g.add(new go.PathSegment(go.PathSegment.Move,.1675*e,.85*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.8325*e,.85*t,.35*e,.7*t,.65*e,.7*t)),n}),go.Shape.defineFigureGenerator("Wave",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,.25*t,!1);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Bezier,.3*e,.25*t,.1*e,0,.2*e,0)),g.add(new go.PathSegment(go.PathSegment.Bezier,.7*e,.25*t,.425*e,.5*t,.575*e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,e,.25*t,.8*e,0,.9*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,.75*t)),g.add(new go.PathSegment(go.PathSegment.Move,0,.25*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.75*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.3*e,.75*t,.1*e,.5*t,.2*e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.7*e,.75*t,.425*e,t,.575*e,t)),g.add(new go.PathSegment(go.PathSegment.Bezier,e,.75*t,.8*e,.5*t,.9*e,.5*t)),n}),go.Shape.defineFigureGenerator("Operator",function(m,e,t){var n=new go.Geometry,g=.3,a=L*.3,o=.5,d=.7,r=new go.PathFigure((o-g)*e,d*t,!0);n.add(r),r.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d-g)*t,(o-g)*e,(d-a)*t,(o-a)*e,(d-g)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(o+g)*e,d*t,(o+a)*e,(d-g)*t,(o+g)*e,(d-a)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d+g)*t,(o+g)*e,(d+a)*t,(o+a)*e,(d+g)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(o-g)*e,d*t,(o-a)*e,(d+g)*t,(o-g)*e,(d+a)*t));var S=new go.PathFigure(0,.7*t,!1);return n.add(S),S.add(new go.PathSegment(go.PathSegment.Bezier,e,.7*t,0,0,e,0)),n}),go.Shape.defineFigureGenerator("TripleFanBlades",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.5*e,0,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,.65*t,.65*e,.3*t,.65*e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,0,.35*e,.5*t,.35*e,.3*t)),g.add(new go.PathSegment(go.PathSegment.Move,.5*e,.65*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,0,t,.3*e,.6*t,.1*e,.8*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,.65*t,.2*e,t,.35*e,.95*t)),g.add(new go.PathSegment(go.PathSegment.Move,.5*e,.65*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,e,t,.7*e,.6*t,.9*e,.8*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,.65*t,.8*e,t,.65*e,.95*t)),n}),go.Shape.defineFigureGenerator("CentrifugalPump",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(e,0,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.4*e,0)),g.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*t,0,.075*t,0,.5*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.4*e,t,0,t,.4*e,t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.8*e,.4*t,.8*e,t,.85*e,.6*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,.4*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,0)),n}),go.Shape.defineFigureGenerator("Battery",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,t,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,0,.1*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,.1*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,t)),g.add(new go.PathSegment(go.PathSegment.Line,0,t)),g.add(new go.PathSegment(go.PathSegment.Move,.4*e,.1*t)),g.add(new go.PathSegment(go.PathSegment.Line,.4*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.6*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.6*e,.1*t));var a=new go.PathFigure(0,.6*t,!1);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Move,0,.4*t)),a.add(new go.PathSegment(go.PathSegment.Line,e,.4*t)),n}),go.Shape.defineFigureGenerator("Delete",function(m,e,t){var n=new go.Geometry,g=.5,a=L*.5,o=.5,d=.5,r=new go.PathFigure((o-g)*e,d*t,!0);n.add(r),r.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d-g)*t,(o-g)*e,(d-a)*t,(o-a)*e,(d-g)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(o+g)*e,d*t,(o+a)*e,(d-g)*t,(o+g)*e,(d-a)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d+g)*t,(o+g)*e,(d+a)*t,(o+a)*e,(d+g)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(o-g)*e,d*t,(o-a)*e,(d+g)*t,(o-g)*e,(d+a)*t));var S=new go.PathFigure(.15*e,.5*t,!1);return n.add(S),S.add(new go.PathSegment(go.PathSegment.Line,.85*e,.5*t)),n}),go.Shape.defineFigureGenerator("Flag",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,.1*t,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,0,t)),g.add(new go.PathSegment(go.PathSegment.Move,0,.1*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,.1*t,.15*e,0,.35*e,0)),g.add(new go.PathSegment(go.PathSegment.Bezier,e,.1*t,.65*e,.2*t,.85*e,.2*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,.5*t,.85*e,.6*t,.65*e,.6*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*t,.35*e,.4*t,.15*e,.4*t).close()),n}),go.Shape.defineFigureGenerator("Help",function(m,e,t){var n=new go.Geometry,g=.5,a=L*.5,o=.5,d=.5,r=new go.PathFigure((o-g)*e,d*t,!1);n.add(r),r.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d-g)*t,(o-g)*e,(d-a)*t,(o-a)*e,(d-g)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(o+g)*e,d*t,(o+a)*e,(d-g)*t,(o+g)*e,(d-a)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d+g)*t,(o+g)*e,(d+a)*t,(o+a)*e,(d+g)*t)),r.add(new go.PathSegment(go.PathSegment.Bezier,(o-g)*e,d*t,(o-a)*e,(d+g)*t,(o-g)*e,(d+a)*t).close()),g=.05,a=L*.05,o=.5,d=.8;var S=new go.PathFigure((o-g)*e,d*t,!1);return n.add(S),S.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d-g)*t,(o-g)*e,(d-a)*t,(o-a)*e,(d-g)*t)),S.add(new go.PathSegment(go.PathSegment.Bezier,(o+g)*e,d*t,(o+a)*e,(d-g)*t,(o+g)*e,(d-a)*t)),S.add(new go.PathSegment(go.PathSegment.Bezier,o*e,(d+g)*t,(o+g)*e,(d+a)*t,(o+a)*e,(d+g)*t)),S.add(new go.PathSegment(go.PathSegment.Bezier,(o-g)*e,d*t,(o-a)*e,(d+g)*t,(o-g)*e,(d+a)*t).close()),S.add(new go.PathSegment(go.PathSegment.Move,.5*e,.7*t)),S.add(new go.PathSegment(go.PathSegment.Line,.5*e,.5*t)),S.add(new go.PathSegment(go.PathSegment.Bezier,.5*e,.2*t,.75*e,.475*t,.75*e,.225*t)),S.add(new go.PathSegment(go.PathSegment.Bezier,.3*e,.35*t,.4*e,.2*t,.3*e,.25*t)),n}),go.Shape.defineFigureGenerator("Location",function(m,e,t){return new go.Geometry().add(new go.PathFigure(.5*e,t,!0).add(new go.PathSegment(go.PathSegment.Line,.75*e,.5*t)).add(new go.PathSegment(go.PathSegment.Bezier,.5*e,0,.975*e,.025*t,.5*e,0)).add(new go.PathSegment(go.PathSegment.Bezier,.25*e,.5*t,.5*e,0,.025*e,.025*t).close()).add(new go.PathSegment(go.PathSegment.Move,.5*e,.2*t)).add(new go.PathSegment(go.PathSegment.Arc,270,360,.5*e,.3*t,.1*e,.1*t).close()))}),go.Shape.defineFigureGenerator("Lock",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,.5*t,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,0,t)),g.add(new go.PathSegment(go.PathSegment.Line,e,t)),g.add(new go.PathSegment(go.PathSegment.Line,e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.5*t));var a=new go.PathFigure(.2*e,.5*t,!1);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Move,.2*e,.5*t)),a.add(new go.PathSegment(go.PathSegment.Line,.2*e,.3*t)),a.add(new go.PathSegment(go.PathSegment.Bezier,.8*e,.3*t,.25*e,0,.75*e,0)),a.add(new go.PathSegment(go.PathSegment.Line,.8*e,.5*t)),a.add(new go.PathSegment(go.PathSegment.Line,.8*e,.3*t)),n}),go.Shape.defineFigureGenerator("Unlocked",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,.5*t,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,0,t)),g.add(new go.PathSegment(go.PathSegment.Line,e,t)),g.add(new go.PathSegment(go.PathSegment.Line,e,.5*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.5*t));var a=new go.PathFigure(.2*e,.5*t,!1);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Move,.2*e,.5*t)),a.add(new go.PathSegment(go.PathSegment.Line,.2*e,.3*t)),a.add(new go.PathSegment(go.PathSegment.Bezier,.8*e,.3*t,.25*e,0,.75*e,0)),a.add(new go.PathSegment(go.PathSegment.Line,.8*e,.35*t)),n}),go.Shape.defineFigureGenerator("Gear",function(m,e,t){return new go.Geometry().add(new go.PathFigure(.9375*e,.56246875*t,!0).add(new go.PathSegment(go.PathSegment.Line,.9375*e,.4375*t)).add(new go.PathSegment(go.PathSegment.Line,.80621875*e,.4375*t)).add(new go.PathSegment(go.PathSegment.Bezier,.763*e,.3316875*t,.79840625*e,.39915625*t,.7834375*e,.3635*t)).add(new go.PathSegment(go.PathSegment.Line,.8566875*e,.23796875*t)).add(new go.PathSegment(go.PathSegment.Line,.76825*e,.14959375*t)).add(new go.PathSegment(go.PathSegment.Line,.67596875*e,.24184375*t)).add(new go.PathSegment(go.PathSegment.Bezier,.5625*e,.19378125*t,.64228125*e,.2188125*t,.603875*e,.2021875*t)).add(new go.PathSegment(go.PathSegment.Line,.5625*e,.0625*t)).add(new go.PathSegment(go.PathSegment.Line,.4375*e,.0625*t)).add(new go.PathSegment(go.PathSegment.Line,.4375*e,.19378125*t)).add(new go.PathSegment(go.PathSegment.Bezier,.32775*e,.239375*t,.39759375*e,.20190625*t,.36053125*e,.2176875*t)).add(new go.PathSegment(go.PathSegment.Line,.2379375*e,.14959375*t)).add(new go.PathSegment(go.PathSegment.Line,.14953125*e,.2379375*t)).add(new go.PathSegment(go.PathSegment.Line,.23934375*e,.3278125*t)).add(new go.PathSegment(go.PathSegment.Bezier,.19378125*e,.4375*t,.21765625*e,.36059375*t,.201875*e,.397625*t)).add(new go.PathSegment(go.PathSegment.Line,.0625*e,.4375*t)).add(new go.PathSegment(go.PathSegment.Line,.0625*e,.5625*t)).add(new go.PathSegment(go.PathSegment.Line,.1938125*e,.5625*t)).add(new go.PathSegment(go.PathSegment.Bezier,.241875*e,.67596875*t,.20221875*e,.603875*t,.21884375*e,.64228125*t)).add(new go.PathSegment(go.PathSegment.Line,.1495625*e,.76825*t)).add(new go.PathSegment(go.PathSegment.Line,.238*e,.8566875*t)).add(new go.PathSegment(go.PathSegment.Line,.3316875*e,.76296875*t)).add(new go.PathSegment(go.PathSegment.Bezier,.43753125*e,.80621875*t,.36353125*e,.78340625*t,.3991875*e,.79840625*t)).add(new go.PathSegment(go.PathSegment.Line,.43753125*e,.9375*t)).add(new go.PathSegment(go.PathSegment.Line,.5625*e,.9375*t)).add(new go.PathSegment(go.PathSegment.Line,.5625*e,.80621875*t)).add(new go.PathSegment(go.PathSegment.Bezier,.67225*e,.760625*t,.602375*e,.79809375*t,.63946875*e,.78234375*t)).add(new go.PathSegment(go.PathSegment.Line,.76828125*e,.8566875*t)).add(new go.PathSegment(go.PathSegment.Line,.85671875*e,.76825*t)).add(new go.PathSegment(go.PathSegment.Line,.76065625*e,.67221875*t)).add(new go.PathSegment(go.PathSegment.Bezier,.80621875*e,.56246875*t,.78234375*e,.63940625*t,.798125*e,.602375*t)).add(new go.PathSegment(go.PathSegment.Line,.9375*e,.56246875*t).close()).add(new go.PathSegment(go.PathSegment.Move,.5*e,.6*t)).add(new go.PathSegment(go.PathSegment.Arc,90,360,.5*e,.5*t,.1*e,.1*t).close()))}),go.Shape.defineFigureGenerator("Hand",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,.5*t,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Bezier,.1*e,.3*t,0,.375*t,.05*e,.325*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.45*e,.075*t,.3*e,.225*t,.4*e,.175*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.525*e,.075*t,.46*e,.05*t,.525*e,.05*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.3*e,.4*t,.525*e,.275*t,.475*e,.325*t)),g.add(new go.PathSegment(go.PathSegment.Line,.9*e,.4*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.9*e,.55*t,e,.4*t,e,.55*t)),g.add(new go.PathSegment(go.PathSegment.Line,.425*e,.55*t)),g.add(new go.PathSegment(go.PathSegment.Line,.6*e,.55*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.6*e,.7*t,.675*e,.55*t,.675*e,.7*t)),g.add(new go.PathSegment(go.PathSegment.Line,.4*e,.7*t)),g.add(new go.PathSegment(go.PathSegment.Line,.575*e,.7*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.575*e,.85*t,.65*e,.7*t,.65*e,.85*t)),g.add(new go.PathSegment(go.PathSegment.Line,.4*e,.85*t)),g.add(new go.PathSegment(go.PathSegment.Line,.525*e,.85*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.535*e,t,.61*e,.85*t,.61*e,t)),g.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*t,.435*e,t,0,t).close()),n}),go.Shape.defineFigureGenerator("Map",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,.2*t,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.25*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,.2*t)),g.add(new go.PathSegment(go.PathSegment.Line,.75*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,e,.2*t)),g.add(new go.PathSegment(go.PathSegment.Line,e,t)),g.add(new go.PathSegment(go.PathSegment.Line,.75*e,.8*t)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,t)),g.add(new go.PathSegment(go.PathSegment.Line,.25*e,.8*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,t).close()),g.add(new go.PathSegment(go.PathSegment.Move,.25*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.25*e,.8*t)),g.add(new go.PathSegment(go.PathSegment.Move,.5*e,.2*t)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,t)),g.add(new go.PathSegment(go.PathSegment.Move,.75*e,0)),g.add(new go.PathSegment(go.PathSegment.Line,.75*e,.8*t)),n}),go.Shape.defineFigureGenerator("Eject",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,t,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e,t)),g.add(new go.PathSegment(go.PathSegment.Line,e,t*.7)),g.add(new go.PathSegment(go.PathSegment.Line,0,t*.7).close());var a=new go.PathFigure(0,t*.6,!0);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e,.6*t)),a.add(new go.PathSegment(go.PathSegment.Line,.5*e,0).close()),n}),go.Shape.defineFigureGenerator("Pencil",function(m,e,t){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.2*e,.1*t)).add(new go.PathSegment(go.PathSegment.Line,e,.9*t)).add(new go.PathSegment(go.PathSegment.Line,.9*e,t)).add(new go.PathSegment(go.PathSegment.Line,.1*e,.2*t).close()))}),go.Shape.defineFigureGenerator("Building",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(e*1,t*1,!1);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,0,t*1)),g.add(new go.PathSegment(go.PathSegment.Line,0,t*.85)),g.add(new go.PathSegment(go.PathSegment.Line,.046*e,t*.85)),g.add(new go.PathSegment(go.PathSegment.Line,.046*e,t*.45)),g.add(new go.PathSegment(go.PathSegment.Line,0,t*.45)),g.add(new go.PathSegment(go.PathSegment.Line,0,t*.3)),g.add(new go.PathSegment(go.PathSegment.Line,.046*e,t*.3)),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,t*0)),g.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*e,t*.3)),g.add(new go.PathSegment(go.PathSegment.Line,e,t*.3)),g.add(new go.PathSegment(go.PathSegment.Line,e,t*.45)),g.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*e,t*.45)),g.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*e,t*.85)),g.add(new go.PathSegment(go.PathSegment.Line,e,t*.85).close());var a=new go.PathFigure(.126*e,.85*t,!1);n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,.126*e,.45*t)),a.add(new go.PathSegment(go.PathSegment.Line,.322*e,.45*t)),a.add(new go.PathSegment(go.PathSegment.Line,.322*e,.85*t).close());var o=new go.PathFigure(.402*e,.85*t,!1);n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,.402*e,.45*t)),o.add(new go.PathSegment(go.PathSegment.Line,.598*e,.45*t)),o.add(new go.PathSegment(go.PathSegment.Line,.598*e,.85*t).close());var d=new go.PathFigure(.678*e,.85*t,!1);n.add(d),d.add(new go.PathSegment(go.PathSegment.Line,.678*e,.45*t)),d.add(new go.PathSegment(go.PathSegment.Line,.874*e,.45*t)),d.add(new go.PathSegment(go.PathSegment.Line,.874*e,.85*t).close());var r=new go.PathFigure(.5*e,.1*t,!1);return n.add(r),r.add(new go.PathSegment(go.PathSegment.Line,(.046+.15)*e,.3*t)),r.add(new go.PathSegment(go.PathSegment.Line,(1-(.046+.15))*e,.3*t).close()),n}),go.Shape.defineFigureGenerator("Staircase",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,t*1,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e*.2,t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*.2,t*.8)),g.add(new go.PathSegment(go.PathSegment.Line,e*.4,t*.8)),g.add(new go.PathSegment(go.PathSegment.Line,e*.4,t*.6)),g.add(new go.PathSegment(go.PathSegment.Line,e*.6,t*.6)),g.add(new go.PathSegment(go.PathSegment.Line,e*.6,t*.4)),g.add(new go.PathSegment(go.PathSegment.Line,e*.8,t*.4)),g.add(new go.PathSegment(go.PathSegment.Line,e*.8,t*.2)),g.add(new go.PathSegment(go.PathSegment.Line,e*1,t*.2)),g.add(new go.PathSegment(go.PathSegment.Line,e*1,t*.15)),g.add(new go.PathSegment(go.PathSegment.Line,e*.75,t*.15)),g.add(new go.PathSegment(go.PathSegment.Line,e*.75,t*.35)),g.add(new go.PathSegment(go.PathSegment.Line,e*.55,t*.35)),g.add(new go.PathSegment(go.PathSegment.Line,e*.55,t*.55)),g.add(new go.PathSegment(go.PathSegment.Line,e*.35,t*.55)),g.add(new go.PathSegment(go.PathSegment.Line,e*.35,t*.75)),g.add(new go.PathSegment(go.PathSegment.Line,e*.15,t*.75)),g.add(new go.PathSegment(go.PathSegment.Line,e*.15,t*.95)),g.add(new go.PathSegment(go.PathSegment.Line,0,t*.95).close()),n}),go.Shape.defineFigureGenerator("5Bars",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,t*1,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e*.184,t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*.184,t*(1-.184)).close());var a=new go.PathFigure(e*.204,t,!0);n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e*.204,t*(1-.184))),a.add(new go.PathSegment(go.PathSegment.Line,e*.388,t*(1-.184*2))),a.add(new go.PathSegment(go.PathSegment.Line,e*.388,t*1).close());var o=new go.PathFigure(e*.408,t,!0);n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,e*.408,t*(1-.184*2))),o.add(new go.PathSegment(go.PathSegment.Line,e*.592,t*(1-.184*3))),o.add(new go.PathSegment(go.PathSegment.Line,e*.592,t*1).close());var d=new go.PathFigure(e*.612,t,!0);n.add(d),d.add(new go.PathSegment(go.PathSegment.Line,e*.612,t*(1-.184*3))),d.add(new go.PathSegment(go.PathSegment.Line,e*.796,t*(1-.184*4))),d.add(new go.PathSegment(go.PathSegment.Line,e*.796,t*1).close());var r=new go.PathFigure(e*.816,t,!0);return n.add(r),r.add(new go.PathSegment(go.PathSegment.Line,e*.816,t*(1-.184*4))),r.add(new go.PathSegment(go.PathSegment.Line,e*1,t*(1-.184*5))),r.add(new go.PathSegment(go.PathSegment.Line,e*1,t*1).close()),n}),go.Shape.defineFigureGenerator("PC",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,0,t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*.3,t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*.3,0).close());var a=new go.PathFigure(e*.055,.07*t,!0);n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e*.245,t*.07)),a.add(new go.PathSegment(go.PathSegment.Line,e*.245,t*.1)),a.add(new go.PathSegment(go.PathSegment.Line,e*.055,t*.1).close());var o=new go.PathFigure(e*.055,.13*t,!0);n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,e*.245,t*.13)),o.add(new go.PathSegment(go.PathSegment.Line,e*.245,t*.16)),o.add(new go.PathSegment(go.PathSegment.Line,e*.055,t*.16).close());var d=new go.PathFigure(e*.055,.18*t,!0);n.add(d),d.add(new go.PathSegment(go.PathSegment.Line,e*.245,t*.18)),d.add(new go.PathSegment(go.PathSegment.Line,e*.245,t*.21)),d.add(new go.PathSegment(go.PathSegment.Line,e*.055,t*.21).close());var r=new go.PathFigure(e*1,0,!0);return n.add(r),r.add(new go.PathSegment(go.PathSegment.Line,e*.4,0)),r.add(new go.PathSegment(go.PathSegment.Line,e*.4,t*.65)),r.add(new go.PathSegment(go.PathSegment.Line,e*1,t*.65).close()),n}),go.Shape.defineFigureGenerator("Plane",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(.55*e,t,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,.5*e,.6*t)),g.add(new go.PathSegment(go.PathSegment.Line,.4*e,.7*t)),g.add(new go.PathSegment(go.PathSegment.Line,.1*e,.475*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.35*e,.525*t,0,.4*t,.225*e,.45*t)),g.add(new go.PathSegment(go.PathSegment.Line,.4*e,.475*t)),g.add(new go.PathSegment(go.PathSegment.Line,.15*e,.35*t)),g.add(new go.PathSegment(go.PathSegment.Line,.2*e,.325*t)),g.add(new go.PathSegment(go.PathSegment.Line,.6*e,.325*t)),g.add(new go.PathSegment(go.PathSegment.Line,.85*e,.1*t)),g.add(new go.PathSegment(go.PathSegment.Bezier,.9*e,.2*t,.975*e,0,e,.08*t)),g.add(new go.PathSegment(go.PathSegment.Line,.7*e,.45*t)),g.add(new go.PathSegment(go.PathSegment.Line,.6*e,.95*t)),g.add(new go.PathSegment(go.PathSegment.Line,.55*e,t).close()),n}),go.Shape.defineFigureGenerator("Key",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(e*1,t*.5,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e*.9,.4*t)),g.add(new go.PathSegment(go.PathSegment.Line,e*.5,.4*t)),g.add(new go.PathSegment(go.PathSegment.Line,e*.5,.35*t)),g.add(new go.PathSegment(go.PathSegment.Line,e*.45,.35*t)),g.add(new go.PathSegment(go.PathSegment.Line,e*.3,.2*t)),g.add(new go.PathSegment(go.PathSegment.Line,e*.15,.2*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.35*t)),g.add(new go.PathSegment(go.PathSegment.Line,0,.65*t)),g.add(new go.PathSegment(go.PathSegment.Line,e*.15,.8*t)),g.add(new go.PathSegment(go.PathSegment.Line,e*.3,.8*t)),g.add(new go.PathSegment(go.PathSegment.Line,e*.45,.65*t)),g.add(new go.PathSegment(go.PathSegment.Line,e*.5,.65*t)),g.add(new go.PathSegment(go.PathSegment.Line,e*.5,.6*t)),g.add(new go.PathSegment(go.PathSegment.Line,e*.6,.6*t)),g.add(new go.PathSegment(go.PathSegment.Line,e*.65,.55*t)),g.add(new go.PathSegment(go.PathSegment.Line,e*.7,.6*t)),g.add(new go.PathSegment(go.PathSegment.Line,e*.75,.55*t)),g.add(new go.PathSegment(go.PathSegment.Line,e*.8,.6*t)),g.add(new go.PathSegment(go.PathSegment.Line,e*.85,.575*t)),g.add(new go.PathSegment(go.PathSegment.Line,e*.9,.6*t).close()),g.add(new go.PathSegment(go.PathSegment.Move,.17*e,.425*t)),g.add(new go.PathSegment(go.PathSegment.Arc,270,360,.17*e,.5*t,.075*e,.075*t).close()),n}),go.Shape.defineFigureGenerator("FilmTape",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(0,0,!1);n.add(g),g.add(new go.PathSegment(go.PathSegment.Arc,270,180,e*0,e*.3,e*.055)),g.add(new go.PathSegment(go.PathSegment.Line,0,t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*.08,t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*.08,t*.95)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*1),t*.95)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*1),t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*2),t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*2),t*.95)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*3),t*.95)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*3),t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*4),t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*4),t*.95)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*5),t*.95)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*5),t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*6),t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*6),t*.95)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*7),t*.95)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*7),t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*8),t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*8),t*.95)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*9),t*.95)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*9),t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*10),t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*10),t*.95)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*11),t*.95)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*11),t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*12),t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*12),t*.95)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*13),t*.95)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*13),t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*14),t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*14),t*.95)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*15),t*.95)),g.add(new go.PathSegment(go.PathSegment.Line,e*(.08+.056*15),t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*1,t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*1,t*1));var a=new go.PathFigure(0,0,!1);n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e*1,t*0)),a.add(new go.PathSegment(go.PathSegment.Arc,270,-180,e*1,e*.3,e*.055)),a.add(new go.PathSegment(go.PathSegment.Line,e*1,t*1));var o=new go.PathFigure(e*.11,t*.1,!1);n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,e*(.11+.24133333*1+.028*0),t*.1)),o.add(new go.PathSegment(go.PathSegment.Line,e*(.11+.24133333*1+.028*0),t*.8)),o.add(new go.PathSegment(go.PathSegment.Line,e*.11,t*.8).close());var d=new go.PathFigure(e*(.11+.24133333*1+.028*1),t*.1,!1);n.add(d),d.add(new go.PathSegment(go.PathSegment.Line,e*(.11+.24133333*2+.028*1),t*.1)),d.add(new go.PathSegment(go.PathSegment.Line,e*(.11+.24133333*2+.028*1),t*.8)),d.add(new go.PathSegment(go.PathSegment.Line,e*(.11+.24133333*1+.028*1),t*.8).close());var r=new go.PathFigure(e*(.11+.24133333*2+.028*2),t*.1,!1);return n.add(r),r.add(new go.PathSegment(go.PathSegment.Line,e*(.11+.24133333*3+.028*2),t*.1)),r.add(new go.PathSegment(go.PathSegment.Line,e*(.11+.24133333*3+.028*2),t*.8)),r.add(new go.PathSegment(go.PathSegment.Line,e*(.11+.24133333*2+.028*2),t*.8).close()),n}),go.Shape.defineFigureGenerator("FloppyDisk",function(m,e,t){var n=new go.Geometry,g=8,a=g*L,o=new go.PathFigure(g,0,!1);n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,e*.86,0)),o.add(new go.PathSegment(go.PathSegment.Line,e*1,t*.14)),o.add(new go.PathSegment(go.PathSegment.Line,e,t-g)),o.add(new go.PathSegment(go.PathSegment.Bezier,e-g,t,e,t-a,e-a,t)),o.add(new go.PathSegment(go.PathSegment.Line,g,t)),o.add(new go.PathSegment(go.PathSegment.Bezier,0,t-g,a,t,0,t-a)),o.add(new go.PathSegment(go.PathSegment.Line,0,g)),o.add(new go.PathSegment(go.PathSegment.Bezier,g,0,0,a,a,0).close());var d=new go.PathFigure(e*.83,0,!1);n.add(d),d.add(new go.PathSegment(go.PathSegment.Line,e*.83,t*.3)),d.add(new go.PathSegment(go.PathSegment.Line,e*.17,t*.3)),d.add(new go.PathSegment(go.PathSegment.Line,e*.17,t*0).close());var r=new go.PathFigure(e*.83,t*1,!1);n.add(r),r.add(new go.PathSegment(go.PathSegment.Line,e*.83,t*.5)),r.add(new go.PathSegment(go.PathSegment.Line,e*.17,t*.5)),r.add(new go.PathSegment(go.PathSegment.Line,e*.17,t*1).close());var S=new go.PathFigure(e*.78,t*.05,!1);return n.add(S),S.add(new go.PathSegment(go.PathSegment.Line,e*.66,t*.05)),S.add(new go.PathSegment(go.PathSegment.Line,e*.66,t*.25)),S.add(new go.PathSegment(go.PathSegment.Line,e*.78,t*.25).close()),n}),go.Shape.defineFigureGenerator("SpeechBubble",function(m,e,t){var n=m?m.parameter1:NaN;(isNaN(n)||n<0)&&(n=15),n=Math.min(n,e/3),n=Math.min(n,t/3);var g=n*L,a=t*.8,o=new go.Geometry,d=new go.PathFigure(n,0,!0);return o.add(d),d.add(new go.PathSegment(go.PathSegment.Line,e-n,0)),d.add(new go.PathSegment(go.PathSegment.Bezier,e,n,e-g,0,e,g)),d.add(new go.PathSegment(go.PathSegment.Line,e,a-n)),d.add(new go.PathSegment(go.PathSegment.Bezier,e-n,a,e,a-g,e-g,a)),d.add(new go.PathSegment(go.PathSegment.Line,e*.7,a)),d.add(new go.PathSegment(go.PathSegment.Line,e*.7,t)),d.add(new go.PathSegment(go.PathSegment.Line,e*.55,a)),d.add(new go.PathSegment(go.PathSegment.Line,n,a)),d.add(new go.PathSegment(go.PathSegment.Bezier,0,a-n,g,a,0,a-g)),d.add(new go.PathSegment(go.PathSegment.Line,0,n)),d.add(new go.PathSegment(go.PathSegment.Bezier,n,0,0,g,g,0).close()),g>1?(o.spot1=new go.Spot(0,0,g,g),o.spot2=new go.Spot(1,.8,-g,-g)):(o.spot1=go.Spot.TopLeft,o.spot2=new go.Spot(1,.8)),o}),go.Shape.defineFigureGenerator("Repeat",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(e*0,t*.45,!0);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e*.25,t*0)),g.add(new go.PathSegment(go.PathSegment.Line,e*.5,t*.45)),g.add(new go.PathSegment(go.PathSegment.Line,e*.3,t*.45)),g.add(new go.PathSegment(go.PathSegment.Line,e*.3,t*.9)),g.add(new go.PathSegment(go.PathSegment.Line,e*.6,t*.9)),g.add(new go.PathSegment(go.PathSegment.Line,e*.65,t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*.2,t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*.2,t*.45).close());var a=new go.PathFigure(e*1,t*.55,!0);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e*.75,t*1)),a.add(new go.PathSegment(go.PathSegment.Line,e*.5,t*.55)),a.add(new go.PathSegment(go.PathSegment.Line,e*.7,t*.55)),a.add(new go.PathSegment(go.PathSegment.Line,e*.7,t*.1)),a.add(new go.PathSegment(go.PathSegment.Line,e*.4,t*.1)),a.add(new go.PathSegment(go.PathSegment.Line,e*.35,t*0)),a.add(new go.PathSegment(go.PathSegment.Line,e*.8,t*0)),a.add(new go.PathSegment(go.PathSegment.Line,e*.8,t*.55).close()),n}),go.Shape.defineFigureGenerator("Windows",function(m,e,t){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,t)).add(new go.PathSegment(go.PathSegment.Line,0,t).close()).add(new go.PathSegment(go.PathSegment.Move,.4*e,.4*t)).add(new go.PathSegment(go.PathSegment.Line,.4*e,.8*t)).add(new go.PathSegment(go.PathSegment.Line,.9*e,.8*t)).add(new go.PathSegment(go.PathSegment.Line,.9*e,.4*t).close()).add(new go.PathSegment(go.PathSegment.Move,.2*e,.1*t)).add(new go.PathSegment(go.PathSegment.Line,.2*e,.6*t)).add(new go.PathSegment(go.PathSegment.Line,.7*e,.6*t)).add(new go.PathSegment(go.PathSegment.Line,.7*e,.1*t).close()).add(new go.PathSegment(go.PathSegment.Move,.1*e,.6*t)).add(new go.PathSegment(go.PathSegment.Line,.1*e,.9*t)).add(new go.PathSegment(go.PathSegment.Line,.5*e,.9*t)).add(new go.PathSegment(go.PathSegment.Line,.5*e,.6*t).close()))}),go.Shape.defineFigureGenerator("Terminal",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(e*0,t*.1,!1);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e*1,t*.1)),g.add(new go.PathSegment(go.PathSegment.Line,e*1,t*.9)),g.add(new go.PathSegment(go.PathSegment.Line,e*0,t*.9).close());var a=new go.PathFigure(e*.1,t*.2,!0);n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e*.1,t*.25)),a.add(new go.PathSegment(go.PathSegment.Line,e*.22,t*.285)),a.add(new go.PathSegment(go.PathSegment.Line,e*.1,t*.32)),a.add(new go.PathSegment(go.PathSegment.Line,e*.1,t*.37)),a.add(new go.PathSegment(go.PathSegment.Line,e*.275,t*.32)),a.add(new go.PathSegment(go.PathSegment.Line,e*.275,t*.25).close());var o=new go.PathFigure(e*.28,t*.37,!0);return n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,e*.45,t*.37)),o.add(new go.PathSegment(go.PathSegment.Line,e*.45,t*.41)),o.add(new go.PathSegment(go.PathSegment.Line,e*.28,t*.41).close()),n}),go.Shape.defineFigureGenerator("Beaker",function(m,e,t){var n=new go.Geometry,g=15,a=g*L,o=new go.PathFigure(e*.62,t*.475,!0);return n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,e,t-g)),o.add(new go.PathSegment(go.PathSegment.Bezier,e-g,t,e,t-a,e-a,t)),o.add(new go.PathSegment(go.PathSegment.Line,g,t)),o.add(new go.PathSegment(go.PathSegment.Bezier,0,t-g,a,t,0,t-a)),o.add(new go.PathSegment(go.PathSegment.Line,e*.38,t*.475)),o.add(new go.PathSegment(go.PathSegment.Line,e*.38,t*.03)),o.add(new go.PathSegment(go.PathSegment.Line,e*.36,t*0)),o.add(new go.PathSegment(go.PathSegment.Line,e*.64,t*0)),o.add(new go.PathSegment(go.PathSegment.Line,e*.62,t*.03).close()),a>1?(n.spot1=new go.Spot(0,0,a,a),n.spot2=new go.Spot(1,1,-a,-a)):(n.spot1=go.Spot.TopLeft,n.spot2=go.Spot.BottomRight),n}),go.Shape.defineFigureGenerator("Download",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(e*0,t*1,!0);n.add(g);var a=.1/.3;g.add(new go.PathSegment(go.PathSegment.Line,e*1,t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*1,t*(1-a))),g.add(new go.PathSegment(go.PathSegment.Line,e*.8,t*0)),g.add(new go.PathSegment(go.PathSegment.Line,e*.66,t*0)),g.add(new go.PathSegment(go.PathSegment.Line,e*.66,t*.055)),g.add(new go.PathSegment(go.PathSegment.Line,e*.755,t*.055)),g.add(new go.PathSegment(go.PathSegment.Line,e*.93,t*(1-a))),g.add(new go.PathSegment(go.PathSegment.Line,e*.64,t*(1-a))),g.add(new go.PathSegment(go.PathSegment.Line,e*.61,t*.75)),g.add(new go.PathSegment(go.PathSegment.Line,e*.5,t*.75)),g.add(new go.PathSegment(go.PathSegment.Line,e*.39,t*.75)),g.add(new go.PathSegment(go.PathSegment.Line,e*.36,t*(1-a))),g.add(new go.PathSegment(go.PathSegment.Line,e*.07,t*(1-a))),g.add(new go.PathSegment(go.PathSegment.Line,e*(1-.755),t*.055)),g.add(new go.PathSegment(go.PathSegment.Line,e*(1-.66),t*.055)),g.add(new go.PathSegment(go.PathSegment.Line,e*(1-.66),t*0)),g.add(new go.PathSegment(go.PathSegment.Line,e*(1-.8),t*0)),g.add(new go.PathSegment(go.PathSegment.Line,e*0,t*(1-a)).close());var o=new go.PathFigure(e*.4,t*0,!0);return n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,e*.4,t*.44)),o.add(new go.PathSegment(go.PathSegment.Line,e*.26,t*.44)),o.add(new go.PathSegment(go.PathSegment.Line,e*.5,t*.66)),o.add(new go.PathSegment(go.PathSegment.Line,e*(1-.26),t*.44)),o.add(new go.PathSegment(go.PathSegment.Line,e*.6,t*.44)),o.add(new go.PathSegment(go.PathSegment.Line,e*.6,t*0).close()),n}),go.Shape.defineFigureGenerator("Bin",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(e*0,t*1,!0);n.add(g);var a=.1/.3;return g.add(new go.PathSegment(go.PathSegment.Line,e*1,t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*1,t*(1-a))),g.add(new go.PathSegment(go.PathSegment.Line,e*.8,t*0)),g.add(new go.PathSegment(go.PathSegment.Line,e*.66,t*0)),g.add(new go.PathSegment(go.PathSegment.Line,e*.66,t*.055)),g.add(new go.PathSegment(go.PathSegment.Line,e*.755,t*.055)),g.add(new go.PathSegment(go.PathSegment.Line,e*.93,t*(1-a))),g.add(new go.PathSegment(go.PathSegment.Line,e*.64,t*(1-a))),g.add(new go.PathSegment(go.PathSegment.Line,e*.61,t*.75)),g.add(new go.PathSegment(go.PathSegment.Line,e*.5,t*.75)),g.add(new go.PathSegment(go.PathSegment.Line,e*.39,t*.75)),g.add(new go.PathSegment(go.PathSegment.Line,e*.36,t*(1-a))),g.add(new go.PathSegment(go.PathSegment.Line,e*.07,t*(1-a))),g.add(new go.PathSegment(go.PathSegment.Line,e*(1-.755),t*.055)),g.add(new go.PathSegment(go.PathSegment.Line,e*(1-.66),t*.055)),g.add(new go.PathSegment(go.PathSegment.Line,e*(1-.66),t*0)),g.add(new go.PathSegment(go.PathSegment.Line,e*(1-.8),t*0)),g.add(new go.PathSegment(go.PathSegment.Line,e*0,t*(1-a)).close()),n}),go.Shape.defineFigureGenerator("Upload",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(e*0,t*1,!0);n.add(g);var a=.1/.3;g.add(new go.PathSegment(go.PathSegment.Line,e*1,t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*1,t*(1-a))),g.add(new go.PathSegment(go.PathSegment.Line,e*.8,t*0)),g.add(new go.PathSegment(go.PathSegment.Line,e*.66,t*0)),g.add(new go.PathSegment(go.PathSegment.Line,e*.66,t*.055)),g.add(new go.PathSegment(go.PathSegment.Line,e*.755,t*.055)),g.add(new go.PathSegment(go.PathSegment.Line,e*.93,t*(1-a))),g.add(new go.PathSegment(go.PathSegment.Line,e*.64,t*(1-a))),g.add(new go.PathSegment(go.PathSegment.Line,e*.61,t*.75)),g.add(new go.PathSegment(go.PathSegment.Line,e*.5,t*.75)),g.add(new go.PathSegment(go.PathSegment.Line,e*.39,t*.75)),g.add(new go.PathSegment(go.PathSegment.Line,e*.36,t*(1-a))),g.add(new go.PathSegment(go.PathSegment.Line,e*.07,t*(1-a))),g.add(new go.PathSegment(go.PathSegment.Line,e*(1-.755),t*.055)),g.add(new go.PathSegment(go.PathSegment.Line,e*(1-.66),t*.055)),g.add(new go.PathSegment(go.PathSegment.Line,e*(1-.66),t*0)),g.add(new go.PathSegment(go.PathSegment.Line,e*(1-.8),t*0)),g.add(new go.PathSegment(go.PathSegment.Line,e*0,t*(1-a)).close());var o=new go.PathFigure(e*.5,t*0,!0);return n.add(o),o.add(new go.PathSegment(go.PathSegment.Line,e*.26,t*.25)),o.add(new go.PathSegment(go.PathSegment.Line,e*.4,t*.25)),o.add(new go.PathSegment(go.PathSegment.Line,e*.4,t*.63)),o.add(new go.PathSegment(go.PathSegment.Line,e*.6,t*.63)),o.add(new go.PathSegment(go.PathSegment.Line,e*.6,t*.25)),o.add(new go.PathSegment(go.PathSegment.Line,e*.74,t*.25).close()),n}),go.Shape.defineFigureGenerator("EmptyDrink",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(e*.15,t*0,!1);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e*.85,t*0)),g.add(new go.PathSegment(go.PathSegment.Line,e*.7,t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*.3,t*1).close()),n}),go.Shape.defineFigureGenerator("Drink",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(e*.15,t*0,!1);n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e*.85,t*0)),g.add(new go.PathSegment(go.PathSegment.Line,e*.7,t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*.3,t*1).close());var a=new go.PathFigure(e*.235,t*.28,!0);return n.add(a),a.add(new go.PathSegment(go.PathSegment.Line,e*.765,t*.28)),a.add(new go.PathSegment(go.PathSegment.Line,e*.655,t*.97)),a.add(new go.PathSegment(go.PathSegment.Line,e*.345,t*.97).close()),n}),go.Shape.defineFigureGenerator("4Arrows",function(m,e,t){var n=new go.Geometry,g=new go.PathFigure(e*.5,t*0,!0);return n.add(g),g.add(new go.PathSegment(go.PathSegment.Line,e*.65,t*.25)),g.add(new go.PathSegment(go.PathSegment.Line,e*.55,t*.25)),g.add(new go.PathSegment(go.PathSegment.Line,e*.55,t*.45)),g.add(new go.PathSegment(go.PathSegment.Line,e*.75,t*.45)),g.add(new go.PathSegment(go.PathSegment.Line,e*.75,t*.35)),g.add(new go.PathSegment(go.PathSegment.Line,e*1,t*.5)),g.add(new go.PathSegment(go.PathSegment.Line,e*.75,t*.65)),g.add(new go.PathSegment(go.PathSegment.Line,e*.75,t*.55)),g.add(new go.PathSegment(go.PathSegment.Line,e*.55,t*.55)),g.add(new go.PathSegment(go.PathSegment.Line,e*.55,t*.75)),g.add(new go.PathSegment(go.PathSegment.Line,e*.65,t*.75)),g.add(new go.PathSegment(go.PathSegment.Line,e*.5,t*1)),g.add(new go.PathSegment(go.PathSegment.Line,e*.35,t*.75)),g.add(new go.PathSegment(go.PathSegment.Line,e*.45,t*.75)),g.add(new go.PathSegment(go.PathSegment.Line,e*.45,t*.55)),g.add(new go.PathSegment(go.PathSegment.Line,e*.25,t*.55)),g.add(new go.PathSegment(go.PathSegment.Line,e*.25,t*.65)),g.add(new go.PathSegment(go.PathSegment.Line,e*0,t*.5)),g.add(new go.PathSegment(go.PathSegment.Line,e*.25,t*.35)),g.add(new go.PathSegment(go.PathSegment.Line,e*.25,t*.45)),g.add(new go.PathSegment(go.PathSegment.Line,e*.45,t*.45)),g.add(new go.PathSegment(go.PathSegment.Line,e*.45,t*.25)),g.add(new go.PathSegment(go.PathSegment.Line,e*.35,t*.25).close()),n}),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")}}]);