version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
GoJS Class Index
diff --git a/api/symbols/ActionTool.html b/api/symbols/ActionTool.html index edd24f9c5..11d04ee40 100644 --- a/api/symbols/ActionTool.html +++ b/api/symbols/ActionTool.html @@ -1111,7 +1111,7 @@version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
Properties Summary
- Gets or sets the current cursor for the Diagram, overriding the defaultCursor.More...
Valid CSS cursors are accepted,
such as "auto", "default", "none", "context-menu", "help", "pointer", "progress", "wait", etc.
It is possible to use custom cursors with the syntax "url(path_to_image), default".
A fallback (like default here) is necessary for a custom cursor to work.
To read more about cursor syntax, go to:
CSS cursors (mozilla.org).
If the specified cursor is not accepted by the platform, GoJS will append
-webkit-
or -moz-
prefixes.
Setting this property does not notify about any changed event.
Setting this value to the empty string ('') returns the Diagram's cursor to the defaultCursor.
+ Gets or sets the current cursor for the Diagram, overriding the defaultCursor.More...
Valid CSS cursors are accepted,
such as "auto", "default", "none", "context-menu", "help", "pointer", "progress", "wait", etc.
It is possible to use custom cursors with the syntax "url(path_to_image), default".
A fallback (like default here) is necessary for a custom cursor to work.
To read more about cursor syntax, go to:
CSS cursors (mozilla.org).
If the specified cursor is not accepted by the platform, GoJS will append
-webkit-
or -moz-
prefixes.
Setting this property does not notify about any changed event.
Setting this value to the empty string ('') returns the Diagram's cursor to the defaultCursor.
See also:
@@ -3964,7 +3964,7 @@ Method Summary
- computePartsBounds(coll, includeLinks,)
+ computePartsBounds(coll, includeLinks)
{Rect}
@@ -3988,7 +3988,7 @@ Method Summarya collection of Parts.
-
- {boolean=} includeLinks,
+ {boolean=} includeLinks
- defaults to false
diff --git a/api/symbols/DiagramEvent.html b/api/symbols/DiagramEvent.html
index 14dff09d8..3f8182905 100644
--- a/api/symbols/DiagramEvent.html
+++ b/api/symbols/DiagramEvent.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/DragSelectingTool.html b/api/symbols/DragSelectingTool.html
index de0ba8193..694017cbf 100644
--- a/api/symbols/DragSelectingTool.html
+++ b/api/symbols/DragSelectingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/DraggingTool.html b/api/symbols/DraggingTool.html
index 2a34ec7fc..72053b569 100644
--- a/api/symbols/DraggingTool.html
+++ b/api/symbols/DraggingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ForceDirectedEdge.html b/api/symbols/ForceDirectedEdge.html
index 072ccac12..e83931df1 100644
--- a/api/symbols/ForceDirectedEdge.html
+++ b/api/symbols/ForceDirectedEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ForceDirectedLayout.html b/api/symbols/ForceDirectedLayout.html
index aec9f49b6..4114b4fea 100644
--- a/api/symbols/ForceDirectedLayout.html
+++ b/api/symbols/ForceDirectedLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ForceDirectedVertex.html b/api/symbols/ForceDirectedVertex.html
index c05ec6c3b..17670acde 100644
--- a/api/symbols/ForceDirectedVertex.html
+++ b/api/symbols/ForceDirectedVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Geometry.html b/api/symbols/Geometry.html
index 3a3157820..883060768 100644
--- a/api/symbols/Geometry.html
+++ b/api/symbols/Geometry.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/GraphLinksModel.html b/api/symbols/GraphLinksModel.html
index 52a2658d9..f89e1624d 100644
--- a/api/symbols/GraphLinksModel.html
+++ b/api/symbols/GraphLinksModel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
@@ -2827,10 +2827,10 @@ Method Summarya JavaScript object represented by a link.
-
- arr
+ {Array.<(string|number)>} arr
- - {Array.<(string|number)>} an Array of node keys; an empty Array if the property was not present.
+ - an Array of node keys; an empty Array if the property was not present.
diff --git a/api/symbols/GraphObject.html b/api/symbols/GraphObject.html
index c6d198b52..2d66694cb 100644
--- a/api/symbols/GraphObject.html
+++ b/api/symbols/GraphObject.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/GridLayout.html b/api/symbols/GridLayout.html
index 3abf678e3..2665d4689 100644
--- a/api/symbols/GridLayout.html
+++ b/api/symbols/GridLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Group.html b/api/symbols/Group.html
index 867fc2398..a5a34dcc5 100644
--- a/api/symbols/Group.html
+++ b/api/symbols/Group.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/HTMLInfo.html b/api/symbols/HTMLInfo.html
index 0f73984c2..7b2ee6ee7 100644
--- a/api/symbols/HTMLInfo.html
+++ b/api/symbols/HTMLInfo.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/InputEvent.html b/api/symbols/InputEvent.html
index 505198e42..ba3718d4c 100644
--- a/api/symbols/InputEvent.html
+++ b/api/symbols/InputEvent.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Iterable.html b/api/symbols/Iterable.html
index 1d809220e..08ce6056c 100644
--- a/api/symbols/Iterable.html
+++ b/api/symbols/Iterable.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Iterator.html b/api/symbols/Iterator.html
index 3c2bca5b0..a2be777cf 100644
--- a/api/symbols/Iterator.html
+++ b/api/symbols/Iterator.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Layer.html b/api/symbols/Layer.html
index f30f582f4..00b51b274 100644
--- a/api/symbols/Layer.html
+++ b/api/symbols/Layer.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayeredDigraphEdge.html b/api/symbols/LayeredDigraphEdge.html
index bb92cfd1f..3671817b0 100644
--- a/api/symbols/LayeredDigraphEdge.html
+++ b/api/symbols/LayeredDigraphEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayeredDigraphLayout.html b/api/symbols/LayeredDigraphLayout.html
index 540b0a459..733a55ee4 100644
--- a/api/symbols/LayeredDigraphLayout.html
+++ b/api/symbols/LayeredDigraphLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayeredDigraphVertex.html b/api/symbols/LayeredDigraphVertex.html
index 64cb038d4..dac78c930 100644
--- a/api/symbols/LayeredDigraphVertex.html
+++ b/api/symbols/LayeredDigraphVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Layout.html b/api/symbols/Layout.html
index 3efa9072b..c1151765e 100644
--- a/api/symbols/Layout.html
+++ b/api/symbols/Layout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayoutEdge.html b/api/symbols/LayoutEdge.html
index 043ea923c..a57650cf0 100644
--- a/api/symbols/LayoutEdge.html
+++ b/api/symbols/LayoutEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayoutNetwork.html b/api/symbols/LayoutNetwork.html
index d69e34b28..23da253b3 100644
--- a/api/symbols/LayoutNetwork.html
+++ b/api/symbols/LayoutNetwork.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayoutVertex.html b/api/symbols/LayoutVertex.html
index 97902ca83..e035cc1bf 100644
--- a/api/symbols/LayoutVertex.html
+++ b/api/symbols/LayoutVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Link.html b/api/symbols/Link.html
index 27ec92c46..6e3df6489 100644
--- a/api/symbols/Link.html
+++ b/api/symbols/Link.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LinkReshapingTool.html b/api/symbols/LinkReshapingTool.html
index 943968767..bb59734da 100644
--- a/api/symbols/LinkReshapingTool.html
+++ b/api/symbols/LinkReshapingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LinkingBaseTool.html b/api/symbols/LinkingBaseTool.html
index 06f26eacd..01b8f7416 100644
--- a/api/symbols/LinkingBaseTool.html
+++ b/api/symbols/LinkingBaseTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LinkingTool.html b/api/symbols/LinkingTool.html
index 0e6829431..f9470885f 100644
--- a/api/symbols/LinkingTool.html
+++ b/api/symbols/LinkingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/List.html b/api/symbols/List.html
index 59219f64f..3e514fdb7 100644
--- a/api/symbols/List.html
+++ b/api/symbols/List.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
@@ -1316,7 +1316,7 @@ Method SummaryParameters:
-
- val
+ {*} val
diff --git a/api/symbols/Map.html b/api/symbols/Map.html
index 23a9b6efb..428234f7d 100644
--- a/api/symbols/Map.html
+++ b/api/symbols/Map.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Margin.html b/api/symbols/Margin.html
index d66c350e4..37a63083d 100644
--- a/api/symbols/Margin.html
+++ b/api/symbols/Margin.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Model.html b/api/symbols/Model.html
index bf2bd71c6..3e21287a2 100644
--- a/api/symbols/Model.html
+++ b/api/symbols/Model.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Node.html b/api/symbols/Node.html
index b99f52d6a..4f384d827 100644
--- a/api/symbols/Node.html
+++ b/api/symbols/Node.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Overview.html b/api/symbols/Overview.html
index 1f5fcbde6..412275000 100644
--- a/api/symbols/Overview.html
+++ b/api/symbols/Overview.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Palette.html b/api/symbols/Palette.html
index d5e2de350..60e8c1b03 100644
--- a/api/symbols/Palette.html
+++ b/api/symbols/Palette.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Panel.html b/api/symbols/Panel.html
index ef52eb14f..d289ee870 100644
--- a/api/symbols/Panel.html
+++ b/api/symbols/Panel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
@@ -2287,7 +2287,7 @@ Method SummaryParameters:
-
- data
+ {Object} data
- must be an Object, not a string or a number or a boolean or a function
diff --git a/api/symbols/PanningTool.html b/api/symbols/PanningTool.html
index 086e17b63..e7d3e0054 100644
--- a/api/symbols/PanningTool.html
+++ b/api/symbols/PanningTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Part.html b/api/symbols/Part.html
index 0f9e28e68..5b7758fc0 100644
--- a/api/symbols/Part.html
+++ b/api/symbols/Part.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PathFigure.html b/api/symbols/PathFigure.html
index 03499cf52..cbf8b036a 100644
--- a/api/symbols/PathFigure.html
+++ b/api/symbols/PathFigure.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PathSegment.html b/api/symbols/PathSegment.html
index 116e06871..9c40eec72 100644
--- a/api/symbols/PathSegment.html
+++ b/api/symbols/PathSegment.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Picture.html b/api/symbols/Picture.html
index a5aa9f704..436846775 100644
--- a/api/symbols/Picture.html
+++ b/api/symbols/Picture.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Placeholder.html b/api/symbols/Placeholder.html
index 772258e6f..f7c2b5ee4 100644
--- a/api/symbols/Placeholder.html
+++ b/api/symbols/Placeholder.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Point.html b/api/symbols/Point.html
index 582ab9a01..b2f1bf6a6 100644
--- a/api/symbols/Point.html
+++ b/api/symbols/Point.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Rect.html b/api/symbols/Rect.html
index 664b3d257..bce25088c 100644
--- a/api/symbols/Rect.html
+++ b/api/symbols/Rect.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RelinkingTool.html b/api/symbols/RelinkingTool.html
index 0342f78f4..a7c389357 100644
--- a/api/symbols/RelinkingTool.html
+++ b/api/symbols/RelinkingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ResizingTool.html b/api/symbols/ResizingTool.html
index 87174f8c3..1e68aec49 100644
--- a/api/symbols/ResizingTool.html
+++ b/api/symbols/ResizingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RotatingTool.html b/api/symbols/RotatingTool.html
index babc13e9d..4d59e7543 100644
--- a/api/symbols/RotatingTool.html
+++ b/api/symbols/RotatingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RowColumnDefinition.html b/api/symbols/RowColumnDefinition.html
index ca2e9366b..7e13bbe1b 100644
--- a/api/symbols/RowColumnDefinition.html
+++ b/api/symbols/RowColumnDefinition.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Set.html b/api/symbols/Set.html
index c6a91c11e..5323534c8 100644
--- a/api/symbols/Set.html
+++ b/api/symbols/Set.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Shape.html b/api/symbols/Shape.html
index f118b4610..5d10a0325 100644
--- a/api/symbols/Shape.html
+++ b/api/symbols/Shape.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Size.html b/api/symbols/Size.html
index 120e72a8c..33d897714 100644
--- a/api/symbols/Size.html
+++ b/api/symbols/Size.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Spot.html b/api/symbols/Spot.html
index fd78e9bd9..9186bfffc 100644
--- a/api/symbols/Spot.html
+++ b/api/symbols/Spot.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TextBlock.html b/api/symbols/TextBlock.html
index 35d0dff9f..39608cb04 100644
--- a/api/symbols/TextBlock.html
+++ b/api/symbols/TextBlock.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TextEditingTool.html b/api/symbols/TextEditingTool.html
index 7c9484c5d..4bb28895a 100644
--- a/api/symbols/TextEditingTool.html
+++ b/api/symbols/TextEditingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Tool.html b/api/symbols/Tool.html
index 2bb97a22b..9e8944be2 100644
--- a/api/symbols/Tool.html
+++ b/api/symbols/Tool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ToolManager.html b/api/symbols/ToolManager.html
index b02134192..384bd1da3 100644
--- a/api/symbols/ToolManager.html
+++ b/api/symbols/ToolManager.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Transaction.html b/api/symbols/Transaction.html
index aed3e223d..98a022de3 100644
--- a/api/symbols/Transaction.html
+++ b/api/symbols/Transaction.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeEdge.html b/api/symbols/TreeEdge.html
index b310dbc5c..0e2795bef 100644
--- a/api/symbols/TreeEdge.html
+++ b/api/symbols/TreeEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeLayout.html b/api/symbols/TreeLayout.html
index 3dca92735..225560589 100644
--- a/api/symbols/TreeLayout.html
+++ b/api/symbols/TreeLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeModel.html b/api/symbols/TreeModel.html
index 1eb61dbf0..20843937e 100644
--- a/api/symbols/TreeModel.html
+++ b/api/symbols/TreeModel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeVertex.html b/api/symbols/TreeVertex.html
index 102008e4b..e37724f53 100644
--- a/api/symbols/TreeVertex.html
+++ b/api/symbols/TreeVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/UndoManager.html b/api/symbols/UndoManager.html
index 82759f6f7..4c73dd9e5 100644
--- a/api/symbols/UndoManager.html
+++ b/api/symbols/UndoManager.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/doc/changelog.html b/doc/changelog.html
index 8a90a9fe9..afa223498 100644
--- a/doc/changelog.html
+++ b/doc/changelog.html
@@ -74,9 +74,22 @@ GoJS Change Log
}
+ Changes for 1.7.3
+
+ -
+ Added the
angular2-minimal
project, in the projects subdirectory.
+ This is a copy of the Angular 2 Quick Start example, https://angular.io/docs/ts/latest/quickstart.html.
+
+ -
+ Fixed another declaration in
go.d.ts
.
+
+
+
Changes for 1.7.2
- Fixed missing declaration in go.d.ts
.
+ -
+ Fixed missing declaration in
go.d.ts
.
+
Changes for 1.7.1
diff --git a/intro/index.html b/intro/index.html
index 92273c063..2cf094f53 100644
--- a/intro/index.html
+++ b/intro/index.html
@@ -208,6 +208,8 @@ Loading GoJS
In ES6 (ECMAScript 2015) or TypeScript code, just import the "go.js" library:
import * as go from "go";
+ or, if depending on your npm environment:
+ import * as go from "gojs";
Hosting GoJS in a Div Element
diff --git a/package.json b/package.json
index 094c750a5..db3e72509 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "gojs",
- "version": "1.7.2",
+ "version": "1.7.3",
"description": "Interactive diagrams, charts, and graphs, such as trees, flowcharts, orgcharts, UML, BPMN, or business diagrams",
"keywords": [ "diagram", "chart", "tree", "flowchart", "orgchart", "uml", "bpmn", "graphics", "editor", "inspector", "drawing", "canvas", "shape", "svg", "hierarchy", "node", "link", "group", "vertex", "edge", "connection", "port", "label", "arrowhead", "family-tree", "decision-tree", "mindmap", "tournament", "treeview", "pipe-tree", "genogram", "ivr-tree", "parse-tree", "concept-map", "euler", "visualization", "entity-relationship", "er-diagram", "friend-wheel", "radial", "graph-distances", "graph-paths", "sankey", "pert", "gantt", "timeline", "monitor", "layer", "swimlane", "spreadsheet", "virtualization", "flow", "process", "state", "sequential-function", "grafcet", "sequence", "circuit", "record", "field", "table", "dataflow", "data-flow", "planogram", "seating", "pipes", "overview", "palette", "comment", "layout", "grid-layout", "tree-layout", "force-directed", "layered", "hierarchical", "circular", "fishbone", "ishikawa", "parallel", "serpentine", "treemap", "tree-map", "freehand", "polygon", "polyline", "bezier", "panel", "view", "model", "databinding", "data-binding", "binding", "transaction", "coordinates", "subgraph", "selection", "highlight", "tooltip", "context-menu", "tool", "command", "validation", "button", "template", "legend", "grid", "printing" ],
"homepage": "https://gojs.net",
diff --git a/projects/angular2-minimal/README.md b/projects/angular2-minimal/README.md
new file mode 100644
index 000000000..fefdc6681
--- /dev/null
+++ b/projects/angular2-minimal/README.md
@@ -0,0 +1,15 @@
+This is a minimal modification of the Angular 2 Quick Start environment
+that demonstrates how to show a GoJS diagram in a component.
+
+First, assuming you already have npm:
+```
+$ npm install gojs --save
+$ npm update
+```
+
+Note how we have updated the src/systemjs.config.json
file to tell which GoJS library to load.
+
+Start app page with:
+```
+$ npm start
+```
diff --git a/projects/angular2-minimal/bs-config.json b/projects/angular2-minimal/bs-config.json
new file mode 100644
index 000000000..4e5859526
--- /dev/null
+++ b/projects/angular2-minimal/bs-config.json
@@ -0,0 +1,8 @@
+{
+ "server": {
+ "baseDir": "src",
+ "routes": {
+ "/node_modules": "node_modules"
+ }
+ }
+}
diff --git a/projects/angular2-minimal/package.json b/projects/angular2-minimal/package.json
new file mode 100644
index 000000000..cbcb56864
--- /dev/null
+++ b/projects/angular2-minimal/package.json
@@ -0,0 +1,61 @@
+{
+ "name": "angular-quickstart",
+ "version": "1.0.0",
+ "description": "QuickStart package.json from the documentation, supplemented with testing support",
+ "scripts": {
+ "build": "tsc -p src/",
+ "build:watch": "tsc -p src/ -w",
+ "build:e2e": "tsc -p e2e/",
+ "serve": "lite-server -c=bs-config.json",
+ "serve:e2e": "lite-server -c=bs-config.e2e.json",
+ "prestart": "npm run build",
+ "start": "concurrently \"npm run build:watch\" \"npm run serve\"",
+ "pree2e": "npm run build:e2e",
+ "e2e": "concurrently \"npm run serve:e2e\" \"npm run protractor\" --kill-others --success first",
+ "preprotractor": "webdriver-manager update",
+ "protractor": "protractor protractor.config.js",
+ "pretest": "npm run build",
+ "test": "concurrently \"npm run build:watch\" \"karma start karma.conf.js\"",
+ "pretest:once": "npm run build",
+ "test:once": "karma start karma.conf.js --single-run",
+ "lint": "tslint ./src/**/*.ts -t verbose"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "MIT",
+ "dependencies": {
+ "@angular/common": "~2.4.0",
+ "@angular/compiler": "~2.4.0",
+ "@angular/core": "~2.4.0",
+ "@angular/forms": "~2.4.0",
+ "@angular/http": "~2.4.0",
+ "@angular/platform-browser": "~2.4.0",
+ "@angular/platform-browser-dynamic": "~2.4.0",
+ "@angular/router": "~3.4.0",
+ "angular-in-memory-web-api": "~0.2.4",
+ "core-js": "^2.4.1",
+ "gojs": "^1.7.3",
+ "rxjs": "5.0.1",
+ "systemjs": "0.19.40",
+ "zone.js": "^0.7.4"
+ },
+ "devDependencies": {
+ "concurrently": "^3.2.0",
+ "lite-server": "^2.2.2",
+ "typescript": "~2.0.10",
+ "canonical-path": "0.0.2",
+ "tslint": "^3.15.1",
+ "lodash": "^4.16.4",
+ "jasmine-core": "~2.4.1",
+ "karma": "^1.3.0",
+ "karma-chrome-launcher": "^2.0.0",
+ "karma-cli": "^1.0.1",
+ "karma-jasmine": "^1.0.2",
+ "karma-jasmine-html-reporter": "^0.2.2",
+ "protractor": "~4.0.14",
+ "rimraf": "^2.5.4",
+ "@types/node": "^6.0.46",
+ "@types/jasmine": "2.5.36"
+ },
+ "repository": {}
+}
diff --git a/projects/angular2-minimal/tslint.json b/projects/angular2-minimal/tslint.json
new file mode 100644
index 000000000..276453f4f
--- /dev/null
+++ b/projects/angular2-minimal/tslint.json
@@ -0,0 +1,93 @@
+{
+ "rules": {
+ "class-name": true,
+ "comment-format": [
+ true,
+ "check-space"
+ ],
+ "curly": true,
+ "eofline": true,
+ "forin": true,
+ "indent": [
+ true,
+ "spaces"
+ ],
+ "label-position": true,
+ "label-undefined": true,
+ "max-line-length": [
+ true,
+ 140
+ ],
+ "member-access": false,
+ "member-ordering": [
+ true,
+ "static-before-instance",
+ "variables-before-functions"
+ ],
+ "no-arg": true,
+ "no-bitwise": true,
+ "no-console": [
+ true,
+ "debug",
+ "info",
+ "time",
+ "timeEnd",
+ "trace"
+ ],
+ "no-construct": true,
+ "no-debugger": true,
+ "no-duplicate-key": true,
+ "no-duplicate-variable": true,
+ "no-empty": false,
+ "no-eval": true,
+ "no-inferrable-types": true,
+ "no-shadowed-variable": true,
+ "no-string-literal": false,
+ "no-switch-case-fall-through": true,
+ "no-trailing-whitespace": true,
+ "no-unused-expression": true,
+ "no-unused-variable": true,
+ "no-unreachable": true,
+ "no-use-before-declare": true,
+ "no-var-keyword": true,
+ "object-literal-sort-keys": false,
+ "one-line": [
+ true,
+ "check-open-brace",
+ "check-catch",
+ "check-else",
+ "check-whitespace"
+ ],
+ "quotemark": [
+ true,
+ "single"
+ ],
+ "radix": true,
+ "semicolon": [
+ "always"
+ ],
+ "triple-equals": [
+ true,
+ "allow-null-check"
+ ],
+ "typedef-whitespace": [
+ true,
+ {
+ "call-signature": "nospace",
+ "index-signature": "nospace",
+ "parameter": "nospace",
+ "property-declaration": "nospace",
+ "variable-declaration": "nospace"
+ }
+ ],
+ "variable-name": false,
+ "whitespace": [
+ true,
+ "check-branch",
+ "check-decl",
+ "check-operator",
+ "check-separator",
+ "check-type"
+ ]
+ }
+}
diff --git a/release/go-debug.js b/release/go-debug.js
index 34a65a73e..e4b1f4839 100644
--- a/release/go-debug.js
+++ b/release/go-debug.js
@@ -1,9 +1,9 @@
/*
- * GoJS v1.7.2 JavaScript Library for HTML Diagrams
+ * GoJS v1.7.3 JavaScript Library for HTML Diagrams
* Northwoods Software, https://www.nwoods.com/
* GoJS and Northwoods Software are registered trademarks of Northwoods Software Corporation.
* Copyright (C) 1998-2017 by Northwoods Software Corporation. All Rights Reserved.
- * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.7.2/doc/license.html.
+ * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.7.3/doc/license.html.
*/
(function(window) { var f,ca={};if(!window.document||void 0===window.document.createElement("canvas").getContext)throw window.console&&window.console.log("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode."),Error("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode.");if(!Object.defineProperty)throw Error("GoJS requires a newer version of JavaScript");
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return g.apply(a,e.concat(d.call(arguments)))}function c(){}var d=Array.prototype.slice,e=d.call(arguments,1),g=this;c.prototype=this.prototype;b.prototype=new c;return b});
@@ -16,17 +16,17 @@ c.fillRect(h.x||0,h.y||0,h.width,h.height),c.restore())}},BL:function(){u.XE();u
b.ef)},xA:function(a,b,c){a.setTransform(1,0,0,1,0,0);a.scale(b.rd,b.rd);a.transform(c.m11,c.m12,c.m21,c.m22,c.dx,c.dy);c=b.bc.length;for(var d=0;d=d.length)){var e=z.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.xw&&g.xw[d])continue}else if(z.Lx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},nx:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==
-typeof b&&"boolean"!==typeof b&&"function"!==typeof b)if(void 0!==z.Hd(b)){if(!u.Mw.contains(b))if(u.Mw.add(b),u.mw.add(u.DE(a,b)),b instanceof J||b instanceof K||b instanceof oa)for(var c=b.j;c.next();)u.nx(a+"["+c.key+"]",c.value);else for(c in b){var d=z.vb(b,c);if(void 0!==d&&null!==d&&z.Xa(d)&&d!==b.xw){if(b instanceof pa){if(d===b.gi)continue}else if(b instanceof I){if("data"===c||d===b.he)continue;if("itemArray"===c||d===b.cj)continue;if(b instanceof D&&d===b.Jl)continue}else if(!(b instanceof
-C))if(b instanceof ta){if("archetypeGroupData"===c||d===b.Sy)continue}else if(b instanceof ua){if("archetypeLinkData"===c||d===b.Uy)continue;if("archetypeLabelNodeData"===c||d===b.Ty)continue}else if(b instanceof wa){if("archetypeNodeData"===c||d===b.ol)continue}else if(b instanceof L){if("nodeDataArray"===c||d===b.ze)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Gc)continue;if(d===b.vg)continue}else if(b instanceof ya||b instanceof za||b instanceof Aa)continue;u.nx(a+"."+
-c,d)}}}else if(Array.isArray(b))for(c=0;c=d.length)){var e=z.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.xw&&g.xw[d])continue}else if(z.Lx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},nx:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==typeof b&&"boolean"!==typeof b&&
+"function"!==typeof b)if(void 0!==z.Hd(b)){if(!u.Mw.contains(b))if(u.Mw.add(b),u.mw.add(u.DE(a,b)),b instanceof J||b instanceof K||b instanceof oa)for(var c=b.j;c.next();)u.nx(a+"["+c.key+"]",c.value);else for(c in b){var d=z.vb(b,c);if(void 0!==d&&null!==d&&z.Xa(d)&&d!==b.xw){if(b instanceof pa){if(d===b.gi)continue}else if(b instanceof I){if("data"===c||d===b.ge)continue;if("itemArray"===c||d===b.cj)continue;if(b instanceof D&&d===b.Jl)continue}else if(!(b instanceof C))if(b instanceof ta){if("archetypeGroupData"===
+c||d===b.Sy)continue}else if(b instanceof ua){if("archetypeLinkData"===c||d===b.Uy)continue;if("archetypeLabelNodeData"===c||d===b.Ty)continue}else if(b instanceof wa){if("archetypeNodeData"===c||d===b.ol)continue}else if(b instanceof L){if("nodeDataArray"===c||d===b.ye)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Gc)continue;if(d===b.vg)continue}else if(b instanceof ya||b instanceof za||b instanceof Aa)continue;u.nx(a+"."+c,d)}}}else if(Array.isArray(b))for(c=0;c=a.length?a.push(c):a.splice(b,0,c):z.k("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Rg:function(a,b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):
z.k("Cannot remove an object from an HTMLCollection or NodeList at "+b)},Ky:[],P:function(){var a=z.Ky.pop();return void 0===a?new M:a},Fb:function(a,b){var c=z.Ky.pop();if(void 0===c)return new M(a,b);c.x=a;c.y=b;return c},A:function(a){z.Ky.push(a)},$B:[],Am:function(){var a=z.$B.pop();return void 0===a?new Fa:a},Qk:function(a){z.$B.push(a)},Ly:[],Of:function(){var a=z.Ly.pop();return void 0===a?new w:a},fh:function(a,b,c,d){var e=z.Ly.pop();if(void 0===e)return new w(a,b,c,d);e.x=a;e.y=b;e.width=
-c;e.height=d;return e},Mb:function(a){z.Ly.push(a)},aC:[],Pf:function(){var a=z.aC.pop();return void 0===a?new Ga:a},Ie:function(a){z.aC.push(a)},My:null,v:function(){var a=z.My;return null!==a?(z.My=null,a):new Ha},u:function(a){a.reset();z.My=a},ZB:[],tb:function(){var a=z.ZB.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;z.ZB.push(a)},bl:Object.freeze([]),Em:1,xc:function(a){a.__gohashid=z.Em++},pq:function(a){var b=a.__gohashid;void 0===b&&(b=z.Em++,a.__gohashid=b);return b},Hd:function(a){return a.__gohashid},
+c;e.height=d;return e},Mb:function(a){z.Ly.push(a)},aC:[],Pf:function(){var a=z.aC.pop();return void 0===a?new Ga:a},Ie:function(a){z.aC.push(a)},My:null,v:function(){var a=z.My;return null!==a?(z.My=null,a):new Ha},u:function(a){a.reset();z.My=a},ZB:[],tb:function(){var a=z.ZB.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;z.ZB.push(a)},bl:Object.freeze([]),Em:1,wc:function(a){a.__gohashid=z.Em++},oq:function(a){var b=a.__gohashid;void 0===b&&(b=z.Em++,a.__gohashid=b);return b},Hd:function(a){return a.__gohashid},
ka:function(a,b){b.Zy=a;ca[a]=b},Ta:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},Ai:function(a){a.yH=!0},defineProperty:function(a,b,c,d,e){z.h(a,"function","Util.defineProperty:classfunc");z.h(b,"object","Util.defineProperty:propobj");z.h(c,"function","Util.defineProperty:getter");z.h(d,"function","Util.defineProperty:setter");for(var g in b){b=b[g];c={get:c,set:d,enumerable:!0};if(void 0!==e)for(var h in e)c[h]=e[h];Object.defineProperty(a.prototype,
g,c);e=Object.getOwnPropertyDescriptor(a.prototype,g);b&&e&&Object.defineProperty(a.prototype,b,e);break}},IK:!1,w:function(a,b,c,d){z.h(a,"function","Util.defineReadOnlyProperty:classfunc");z.h(b,"object","Util.defineReadOnlyProperty:propobj");z.h(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var g=b[e];b={get:c,set:function(a){z.k('The property "'+g+'" is read-only and cannot be set to '+a)},enumerable:!0};if(void 0!==d)for(var h in d)b[h]=d[h];Object.defineProperty(a.prototype,
-e,b);d=Object.getOwnPropertyDescriptor(a.prototype,e);g&&d&&Object.defineProperty(a.prototype,g,d);break}},ne:function(a,b){for(var c in b)b[c]=!0;a.prototype.xw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?z.uf(a):null===a?"*":""},uf:function(a){if("function"===typeof a){if(a.Zy)return a.Zy;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,c).trim();if(""!==b)return a.Zy=b}else if("object"===typeof a&&a.constructor)return z.uf(a.constructor);
+e,b);d=Object.getOwnPropertyDescriptor(a.prototype,e);g&&d&&Object.defineProperty(a.prototype,g,d);break}},me:function(a,b){for(var c in b)b[c]=!0;a.prototype.xw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?z.uf(a):null===a?"*":""},uf:function(a){if("function"===typeof a){if(a.Zy)return a.Zy;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,c).trim();if(""!==b)return a.Zy=b}else if("object"===typeof a&&a.constructor)return z.uf(a.constructor);
return typeof a},s:function(a,b,c){z.h(a,"function","Util.defineEnumValue:classfunc");z.h(b,"string","Util.defineEnumValue:name");z.h(c,"number","Util.defineEnumValue:num");c=new Ca(a,b,c);Object.freeze(c);a[b]=c;var d=a.hv;d instanceof oa||(d=new oa("string",Ca),a.hv=d);d.add(b,c);return c},vb:function(a,b){if(!a||!b)return null;var c=void 0;try{"function"===typeof b?c=b(a):"function"===typeof a.getAttribute?(c=a.getAttribute(b),null===c&&(c=void 0)):c=a[b]}catch(d){u&&z.trace("property get error: "+
d.toString())}return c},Ua:function(a,b,c){if(a&&b)try{"function"===typeof b?b(a,c):"function"===typeof a.setAttribute?a.setAttribute(b,c):a[b]=c}catch(d){u&&z.trace("property set error: "+d.toString())}},Vu:function(a,b){z.h(a,"object","Setting properties requires Objects as arguments");z.h(b,"object","Setting properties requires Objects as arguments");var c=a instanceof I,d=a instanceof C,e;for(e in b){""===e&&z.k("Setting properties requires non-empty property names");var g=a,h=e;if(c||d){var k=
e.indexOf(".");if(0c;c++)b[c]=c;for(var d=0,e=0,c=0;256>c;c++)d=(d+b[c]+119)%256,e=b[c],b[c]=b[d],b[d]=e;for(var d=c=0,g="",h=0;hc;c++)b["0123456789abcdef".charAt(c>>4)+"0123456789abcdef".charAt(c&15)]=String.fromCharCode(c);a.length%2&&(a="0"+a);for(var d=[],e=0,c=0;cc;c++)b["0123456789abcdef".charAt(c>>4)+"0123456789abcdef".charAt(c&15)]=String.fromCharCode(c);a.length%2&&(a="0"+a);for(var d=[],e=0,c=0;cd;d++)b[z.Sg("7ca11abfd7330390")](z.Sg(c[d-1]),10,15*d+0);b[z.Sg("7ca11abfd022028846")]=z.Sg("39f046ebb36e4b");for(d=1;5>d;d++)b[z.Sg("7ca11abfd7330390")](z.Sg(c[d-
-1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])z.s=function(a,b){var c=new Ca(a,b,2);Object.freeze(c);a[b]=c;var d=a.hv;d instanceof oa||(d=new oa("string",Ca),a.hv=d);d.add(b,c);return c};return a}();function Ca(a,b,c){z.xc(this);this.kC=a;this.Xb=b;this.DH=c}z.ka("EnumValue",Ca);Ca.prototype.toString=function(){return z.uf(this.kC)+"."+this.Xb};z.w(Ca,{Pe:"classType"},function(){return this.kC});z.w(Ca,{name:"name"},function(){return this.Xb});z.w(Ca,{value:"value"},function(){return this.DH});
+1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])z.s=function(a,b){var c=new Ca(a,b,2);Object.freeze(c);a[b]=c;var d=a.hv;d instanceof oa||(d=new oa("string",Ca),a.hv=d);d.add(b,c);return c};return a}();function Ca(a,b,c){z.wc(this);this.kC=a;this.Xb=b;this.DH=c}z.ka("EnumValue",Ca);Ca.prototype.toString=function(){return z.uf(this.kC)+"."+this.Xb};z.w(Ca,{Pe:"classType"},function(){return this.kC});z.w(Ca,{name:"name"},function(){return this.Xb});z.w(Ca,{value:"value"},function(){return this.DH});
var Ja;Ca.findName=Ja=function(a,b){if(void 0===b||null===b||""===b)return null;z.h(a,"function","findName:classfunc");z.h(b,"string","EnumValue.findName:name");var c=a.hv;return c instanceof oa?c.qa(b):null};function Ba(){this.jC=[]}Ba.prototype.toString=function(){return this.jC.join("")};Ba.prototype.add=function(a){""!==a&&this.jC.push(a)};function na(){}
function Ka(a){void 0===a&&(a=42);this.seed=a;this.Gy=48271;this.gv=2147483647;this.YB=this.gv/this.Gy;this.hH=this.gv%this.Gy;this.gH=1/this.gv;this.random()}Ka.prototype.random=function(){var a=this.seed%this.YB*this.Gy-this.seed/this.YB*this.hH;this.seed=0this.key)return!1;z.Va(a)}var a=a.o,b=a.length,c=++this.bd,d=this.mi;if(null!==d)for(;cthis.key)return!1;z.Va(a)}var b=--this.bd;if(0<=b)return this.key=b,this.value=a.o[b],!0;this.Rf();return!1};Wa.prototype.first=Wa.prototype.first=function(){var a=this.Fc;this.qb=a.J;var b=a.o;this.bd=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};
Wa.prototype.any=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=b.o,e=d.length;this.bd=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.J!==c&&z.Va(b)}return!1};Wa.prototype.all=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=b.o,e=d.length;this.bd=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.J!==c&&z.Va(b)}return!0};Wa.prototype.each=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=b.o,e=d.length;this.bd=e;for(e-=1;0<=e;e--)a(d[e]),b.J!==c&&z.Va(b);return this};
Wa.prototype.map=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=[],e=b.o,g=e.length;this.bd=g;for(g-=1;0<=g;g--)d.push(a(e[g])),b.J!==c&&z.Va(b);a=new J;a.o=d;a.Sc();return a.j};Wa.prototype.filter=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=[],e=b.o,g=e.length;this.bd=g;for(g-=1;0<=g;g--){var h=e[g];a(h)&&d.push(h);b.J!==c&&z.Va(b)}a=new J(b.da);a.o=d;a.Sc();return a.j};Wa.prototype.concat=function(a){this.Fc.nk=null;return new Sa(this,a.j)};z.w(Wa,{count:"count"},function(){return this.Fc.o.length});
Wa.prototype.Rf=function(){this.key=-1;this.value=null;this.qb=-1;this.Fc.nk=this};Wa.prototype.toString=function(){return"ListIteratorBackwards("+this.bd+"/"+this.Fc.count+")"};
-function J(a){z.xc(this);this.I=!1;this.o=[];this.J=0;this.nk=this.jc=null;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.da=a:z.wa(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:z.wa(a,"null, a primitive type name, or a class type",
+function J(a){z.wc(this);this.I=!1;this.o=[];this.J=0;this.nk=this.jc=null;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.da=a:z.wa(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:z.wa(a,"null, a primitive type name, or a class type",
"List constructor: type")}z.ka("List",J);J.prototype.nh=function(a){null!==this.da&&("string"===typeof this.da?typeof a===this.da&&null!==a||z.hc(a,this.da):a instanceof this.da||z.hc(a,this.da))};J.prototype.Sc=function(){var a=this.J;a++;999999999a||a>=b.length)&&z.wa(a,"0 <= i < length",J,"elt:i");return b[a]};
-J.prototype.setElt=J.prototype.set=J.prototype.bh=function(a,b){u&&(this.nh(b),z.p(a,J,"setElt:i"));var c=this.o;(0>a||a>=c.length)&&z.wa(a,"0 <= i < length",J,"setElt:i");this.I&&z.pa(this,a);c[a]=b};J.prototype.first=J.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};J.prototype.last=J.prototype.se=function(){var a=this.o,b=a.length;return 0a||a>=c.length)&&z.wa(a,"0 <= i < length",J,"setElt:i");this.I&&z.pa(this,a);c[a]=b};J.prototype.first=J.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};J.prototype.last=J.prototype.re=function(){var a=this.o,b=a.length;return 0a&&z.wa(a,">= 0",J,"insertAt:i");this.I&&z.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Sc();return!0};J.prototype.remove=J.prototype["delete"]=J.prototype.remove=function(a){if(null===a)return!1;u&&this.nh(a);this.I&&z.pa(this,a);var b=this.o;a=b.indexOf(a);if(-1===a)return!1;a===b.length-1?b.pop():b.splice(a,1);this.Sc();return!0};
+J.prototype.insertAt=J.prototype.Yd=function(a,b){u&&(this.nh(b),z.p(a,J,"insertAt:i"));0>a&&z.wa(a,">= 0",J,"insertAt:i");this.I&&z.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Sc();return!0};J.prototype.remove=J.prototype["delete"]=J.prototype.remove=function(a){if(null===a)return!1;u&&this.nh(a);this.I&&z.pa(this,a);var b=this.o;a=b.indexOf(a);if(-1===a)return!1;a===b.length-1?b.pop():b.splice(a,1);this.Sc();return!0};
J.prototype.removeAt=J.prototype.md=function(a){u&&z.p(a,J,"removeAt:i");var b=this.o;(0>a||a>=b.length)&&z.wa(a,"0 <= i < length",J,"removeAt:i");this.I&&z.pa(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Sc()};
J.prototype.removeRange=J.prototype.removeRange=function(a,b){u&&(z.p(a,J,"removeRange:from"),z.p(b,J,"removeRange:to"));var c=this.o,d=c.length;if(0>a)a=0;else if(a>=d)return this;if(0>b)return this;b>=d&&(b=d-1);if(a>b)return this;this.I&&z.pa(this);for(var e=a,g=b+1;g=g)return this;(0>b||b>=e-1)&&z.wa(b,"0 <= from < length",J,"sortRange:from");if(2===g)return c=d[b],e=d[b+1],0=e)d.sort(a);else for(g=d.slice(0,c),g.sort(a),a=0;a=e)for(g=d.slice(b),
g.sort(a),a=b;a=this.o.length)return Na;var a=this.jc;return null!==a?(a.reset(),a):new Va(this)});
-z.w(J,{$n:"iteratorBackwards"},function(){if(0>=this.o.length)return Na;var a=this.nk;return null!==a?(a.reset(),a):new Wa(this)});function Xa(a){this.oi=a;this.reset()}z.ne(Xa,{key:!0,value:!0});z.w(Xa,{j:"iterator"},function(){return this});Xa.prototype.reset=Xa.prototype.reset=function(){var a=this.oi;a.jc=null;this.qb=a.J;this.ob=null};
+z.w(J,{$n:"iteratorBackwards"},function(){if(0>=this.o.length)return Na;var a=this.nk;return null!==a?(a.reset(),a):new Wa(this)});function Xa(a){this.oi=a;this.reset()}z.me(Xa,{key:!0,value:!0});z.w(Xa,{j:"iterator"},function(){return this});Xa.prototype.reset=Xa.prototype.reset=function(){var a=this.oi;a.jc=null;this.qb=a.J;this.ob=null};
Xa.prototype.next=Xa.prototype.hasNext=Xa.prototype.next=function(){var a=this.oi;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};Xa.prototype.first=Xa.prototype.first=function(){var a=this.oi;this.qb=a.J;a=a.La;if(null!==a){this.ob=a;var b=a.value;this.key=a.key;return this.value=b}return null};
Xa.prototype.any=function(a){var b=this.oi;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d.value))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};Xa.prototype.all=function(a){var b=this.oi;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d.value))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};Xa.prototype.each=function(a){var b=this.oi;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d.value),b.J!==c&&z.Va(b),d=d.eb;return this};
Xa.prototype.map=function(a){var b=this.oi;b.jc=null;for(var c=new J,d=b.J,e=b.La;null!==e;)c.add(a(e.value)),b.J!==d&&z.Va(b),e=e.eb;return c.j};Xa.prototype.filter=function(a){var b=this.oi;b.jc=null;for(var c=new J(b.da),d=b.J,e=b.La;null!==e;){var g=e.value;a(g)&&c.add(g);b.J!==d&&z.Va(b);e=e.eb}return c.j};Xa.prototype.concat=function(a){this.oi.jc=null;return new Sa(this,a.j)};z.w(Xa,{count:"count"},function(){return this.oi.Ad});
Xa.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.oi.jc=this};Xa.prototype.toString=function(){return null!==this.ob?"SetIterator@"+this.ob.value:"SetIterator"};
-function K(a){z.xc(this);this.I=!1;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.da=a:z.wa(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Set constructor: type");this.Bd={};this.Ad=0;this.jc=null;this.J=0;this.fi=this.La=null}z.ka("Set",K);
+function K(a){z.wc(this);this.I=!1;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.da=a:z.wa(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Set constructor: type");this.Bd={};this.Ad=0;this.jc=null;this.J=0;this.fi=this.La=null}z.ka("Set",K);
K.prototype.nh=function(a){null!==this.da&&("string"===typeof this.da?typeof a===this.da&&null!==a||z.hc(a,this.da):a instanceof this.da||z.hc(a,this.da))};K.prototype.Sc=function(){var a=this.J;a++;999999999=this.Ad)return Na;var a=this.jc;return null!==a?(a.reset(),a):new Xa(this)});function $a(a){this.Pa=a;this.reset()}z.ne($a,{key:!0,value:!0});z.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){this.qb=this.Pa.J;this.ob=null};
+z.w(K,{size:"size"},function(){return this.Ad});z.w(K,{j:"iterator"},function(){if(0>=this.Ad)return Na;var a=this.jc;return null!==a?(a.reset(),a):new Xa(this)});function $a(a){this.Pa=a;this.reset()}z.me($a,{key:!0,value:!0});z.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){this.qb=this.Pa.J;this.ob=null};
$a.prototype.next=$a.prototype.hasNext=$a.prototype.next=function(){var a=this.Pa;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.value=this.key=a=b.key,!0;this.Rf();return!1};$a.prototype.first=$a.prototype.first=function(){var a=this.Pa;this.qb=a.J;a=a.La;return null!==a?(this.ob=a,this.value=this.key=a=a.key):null};
$a.prototype.any=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d.key))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};$a.prototype.all=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d.key))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};$a.prototype.each=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d.key),b.J!==c&&z.Va(b),d=d.eb;return this};
$a.prototype.map=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)d.add(a(e.key)),b.J!==c&&z.Va(b),e=e.eb;return d.j};$a.prototype.filter=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=new J(b.qf),e=b.La;null!==e;){var g=e.key;a(g)&&d.add(g);b.J!==c&&z.Va(b);e=e.eb}return d.j};$a.prototype.concat=function(a){return new Sa(this,a.j)};z.w($a,{count:"count"},function(){return this.Pa.Ad});$a.prototype.Rf=function(){this.value=this.key=null;this.qb=-1};
-$a.prototype.toString=function(){return null!==this.ob?"MapKeySetIterator@"+this.ob.value:"MapKeySetIterator"};function cb(a){z.xc(this);this.I=!0;this.Pa=a}z.Ta(cb,K);cb.prototype.freeze=function(){return this};cb.prototype.Za=function(){return this};cb.prototype.toString=function(){return"MapKeySet("+this.Pa.toString()+")"};cb.prototype.add=cb.prototype.set=cb.prototype.add=function(){z.k("This Set is read-only: "+this.toString());return!1};
+$a.prototype.toString=function(){return null!==this.ob?"MapKeySetIterator@"+this.ob.value:"MapKeySetIterator"};function cb(a){z.wc(this);this.I=!0;this.Pa=a}z.Ta(cb,K);cb.prototype.freeze=function(){return this};cb.prototype.Za=function(){return this};cb.prototype.toString=function(){return"MapKeySet("+this.Pa.toString()+")"};cb.prototype.add=cb.prototype.set=cb.prototype.add=function(){z.k("This Set is read-only: "+this.toString());return!1};
cb.prototype.contains=cb.prototype.has=cb.prototype.contains=function(a){return this.Pa.contains(a)};cb.prototype.remove=cb.prototype["delete"]=cb.prototype.remove=function(){z.k("This Set is read-only: "+this.toString());return!1};cb.prototype.clear=cb.prototype.clear=function(){z.k("This Set is read-only: "+this.toString())};cb.prototype.first=cb.prototype.first=function(){var a=this.Pa.La;return null!==a?a.key:null};
cb.prototype.any=function(a){for(var b=this.Pa.La;null!==b;){if(a(b.key))return!0;b=b.eb}return!1};cb.prototype.all=function(a){for(var b=this.Pa.La;null!==b;){if(!a(b.key))return!1;b=b.eb}return!0};cb.prototype.each=function(a){for(var b=this.Pa.La;null!==b;)a(b.key),b=b.eb;return this};cb.prototype.map=function(a){for(var b=new K,c=this.Pa.La;null!==c;)b.add(a(c.key)),c=c.eb;return b};
cb.prototype.filter=function(a){for(var b=new K(this.Pa.qf),c=this.Pa.La;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.eb}return b};cb.prototype.concat=function(a){return this.SG().Uc(a)};cb.prototype.copy=function(){return new cb(this.Pa)};cb.prototype.toSet=cb.prototype.SG=function(){var a=new K(this.Pa.qf),b=this.Pa.Bd,c;for(c in b)a.add(b[c].key);return a};cb.prototype.toArray=cb.prototype.nc=function(){var a=this.Pa.Bd,b=Array(this.Pa.Ad),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};
-cb.prototype.toList=function(){var a=new J(this.da),b=this.Pa.Bd,c;for(c in b)a.add(b[c].key);return a};z.w(cb,{count:"count"},function(){return this.Pa.Ad});z.w(cb,{size:"size"},function(){return this.Pa.Ad});z.w(cb,{j:"iterator"},function(){return 0>=this.Pa.Ad?Na:new $a(this.Pa)});function gb(a){this.Pa=a;this.reset()}z.ne(gb,{key:!0,value:!0});z.w(gb,{j:"iterator"},function(){return this});gb.prototype.reset=gb.prototype.reset=function(){var a=this.Pa;a.ok=null;this.qb=a.J;this.ob=null};
+cb.prototype.toList=function(){var a=new J(this.da),b=this.Pa.Bd,c;for(c in b)a.add(b[c].key);return a};z.w(cb,{count:"count"},function(){return this.Pa.Ad});z.w(cb,{size:"size"},function(){return this.Pa.Ad});z.w(cb,{j:"iterator"},function(){return 0>=this.Pa.Ad?Na:new $a(this.Pa)});function gb(a){this.Pa=a;this.reset()}z.me(gb,{key:!0,value:!0});z.w(gb,{j:"iterator"},function(){return this});gb.prototype.reset=gb.prototype.reset=function(){var a=this.Pa;a.ok=null;this.qb=a.J;this.ob=null};
gb.prototype.next=gb.prototype.hasNext=gb.prototype.next=function(){var a=this.Pa;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};gb.prototype.first=gb.prototype.first=function(){var a=this.Pa;this.qb=a.J;a=a.La;if(null!==a){this.ob=a;var b=a.value;this.key=a.key;return this.value=b}return null};
gb.prototype.any=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d.value))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};gb.prototype.all=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d.value))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};gb.prototype.each=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d.value),b.J!==c&&z.Va(b),d=d.eb;return this};
gb.prototype.map=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)d.add(a(e.value)),b.J!==c&&z.Va(b),e=e.eb;return d.j};gb.prototype.filter=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=new J(b.qf),e=b.La;null!==e;){var g=e.value;a(g)&&d.add(g);b.J!==c&&z.Va(b);e=e.eb}return d.j};gb.prototype.concat=function(a){this.Pa.ok=null;return new Sa(this,a.j)};z.w(gb,{count:"count"},function(){return this.Pa.Ad});
-gb.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.Pa.ok=this};gb.prototype.toString=function(){return null!==this.ob?"MapValueSetIterator@"+this.ob.value:"MapValueSetIterator"};function Za(a,b){this.key=a;this.value=b;this.Cp=this.eb=null}z.ne(Za,{key:!0,value:!0});Za.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};function ib(a){this.Pa=a;this.reset()}z.ne(ib,{key:!0,value:!0});z.w(ib,{j:"iterator"},function(){return this});
+gb.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.Pa.ok=this};gb.prototype.toString=function(){return null!==this.ob?"MapValueSetIterator@"+this.ob.value:"MapValueSetIterator"};function Za(a,b){this.key=a;this.value=b;this.Bp=this.eb=null}z.me(Za,{key:!0,value:!0});Za.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};function ib(a){this.Pa=a;this.reset()}z.me(ib,{key:!0,value:!0});z.w(ib,{j:"iterator"},function(){return this});
ib.prototype.reset=ib.prototype.reset=function(){var a=this.Pa;a.jc=null;this.qb=a.J;this.ob=null};ib.prototype.next=ib.prototype.hasNext=ib.prototype.next=function(){var a=this.Pa;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.key=b.key,this.value=b.value,!0;this.Rf();return!1};
ib.prototype.first=ib.prototype.first=function(){var a=this.Pa;this.qb=a.J;a=a.La;return null!==a?(this.ob=a,this.key=a.key,this.value=a.value,a):null};ib.prototype.any=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};ib.prototype.all=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};
ib.prototype.each=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d),b.J!==c&&z.Va(b),d=d.eb;return this};ib.prototype.map=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)d.add(a(e)),b.J!==c&&z.Va(b),e=e.eb;return d.j};ib.prototype.filter=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)a(e)&&d.add(e),b.J!==c&&z.Va(b),e=e.eb;return d.j};
ib.prototype.concat=function(a){this.Pa.jc=null;return new Sa(this,a.j)};z.w(ib,{count:"count"},function(){return this.Pa.Ad});ib.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.Pa.jc=this};ib.prototype.toString=function(){return null!==this.ob?"MapIterator@"+this.ob:"MapIterator"};
-function oa(a,b){z.xc(this);this.I=!1;void 0===a||null===a?this.qf=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.qf=a:z.wa(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.qf=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Map constructor: keytype");void 0===b||null===b?this.yi=null:"string"===typeof b?"object"===b||"string"===b||"boolean"===b||"number"===
+function oa(a,b){z.wc(this);this.I=!1;void 0===a||null===a?this.qf=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.qf=a:z.wa(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.qf=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Map constructor: keytype");void 0===b||null===b?this.yi=null:"string"===typeof b?"object"===b||"string"===b||"boolean"===b||"number"===
b||"function"===b?this.yi=b:z.wa(b,"the string 'object', 'number', 'string', 'boolean', or 'function'","Map constructor: valtype"):"function"===typeof b?this.yi=b===Object?"object":b===String?"string":b===Number?"number":b===Boolean?"boolean":b===Function?"function":b:z.wa(b,"null, a primitive type name, or a class type","Map constructor: valtype");this.Bd={};this.Ad=0;this.ok=this.jc=null;this.J=0;this.fi=this.La=null}z.ka("Map",oa);
function mb(a,b){null!==a.qf&&("string"===typeof a.qf?typeof b===a.qf&&null!==b||z.hc(b,a.qf):b instanceof a.qf||z.hc(b,a.qf))}oa.prototype.Sc=function(){var a=this.J;a++;999999999=this.count)return Na;var a=this.jc;return null!==a?(a.reset(),a):new ib(this)});z.w(oa,{OF:"iteratorKeys"},function(){return 0>=this.count?Na:new $a(this)});z.w(oa,{PF:"iteratorValues"},function(){if(0>=this.count)return Na;var a=this.ok;return null!==a?(a.reset(),a):new gb(this)});function M(a,b){void 0===a?this.M=this.L=0:"number"===typeof a&&"number"===typeof b?(this.L=a,this.M=b):z.k("Invalid arguments to Point constructor: "+a+", "+b);this.I=!1}
-z.ka("Point",M);z.Ai(M);z.ne(M,{x:!0,y:!0});M.prototype.assign=function(a){this.L=a.L;this.M=a.M};M.prototype.setTo=M.prototype.m=function(a,b){u&&(z.h(a,"number",M,"setTo:x"),z.h(b,"number",M,"setTo:y"));this.L=a;this.M=b;return this};M.prototype.set=M.prototype.set=function(a){u&&z.l(a,M,M,"set:p");this.Sa();this.L=a.L;this.M=a.M;return this};M.prototype.copy=function(){var a=new M;a.L=this.L;a.M=this.M;return a};f=M.prototype;f.Na=function(){this.I=!0;Object.freeze(this);return this};
+z.ka("Point",M);z.Ai(M);z.me(M,{x:!0,y:!0});M.prototype.assign=function(a){this.L=a.L;this.M=a.M};M.prototype.setTo=M.prototype.m=function(a,b){u&&(z.h(a,"number",M,"setTo:x"),z.h(b,"number",M,"setTo:y"));this.L=a;this.M=b;return this};M.prototype.set=M.prototype.set=function(a){u&&z.l(a,M,M,"set:p");this.Sa();this.L=a.L;this.M=a.M;return this};M.prototype.copy=function(){var a=new M;a.L=this.L;a.M=this.M;return a};f=M.prototype;f.Na=function(){this.I=!0;Object.freeze(this);return this};
f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Point is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
M.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));return new M(c,e)}return new M};M.stringify=function(a){return a instanceof M?a.x.toString()+" "+a.y.toString():a.toString()};M.prototype.toString=function(){return"Point("+this.x+","+this.y+")"};M.prototype.equals=M.prototype.O=function(a){return a instanceof M?this.L===a.x&&this.M===a.y:!1};
-M.prototype.equalTo=M.prototype.Ax=function(a,b){return this.L===a&&this.M===b};M.prototype.equalsApprox=M.prototype.Vc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)};M.prototype.add=M.prototype.add=function(a){u&&z.l(a,M,M,"add:p");this.Sa();this.L+=a.x;this.M+=a.y;return this};M.prototype.subtract=M.prototype.so=function(a){u&&z.l(a,M,M,"subtract:p");this.Sa();this.L-=a.x;this.M-=a.y;return this};
+M.prototype.equalTo=M.prototype.Ax=function(a,b){return this.L===a&&this.M===b};M.prototype.equalsApprox=M.prototype.Vc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)};M.prototype.add=M.prototype.add=function(a){u&&z.l(a,M,M,"add:p");this.Sa();this.L+=a.x;this.M+=a.y;return this};M.prototype.subtract=M.prototype.ro=function(a){u&&z.l(a,M,M,"subtract:p");this.Sa();this.L-=a.x;this.M-=a.y;return this};
M.prototype.offset=M.prototype.offset=function(a,b){u&&(z.p(a,M,"offset:dx"),z.p(b,M,"offset:dy"));this.Sa();this.L+=a;this.M+=b;return this};M.prototype.rotate=M.prototype.rotate=function(a){u&&z.p(a,M,"rotate:angle");this.Sa();if(0===a)return this;var b=this.L,c=this.M;if(0===b&&0===c)return this;var d=0,e=0;360<=a?a-=360:0>a&&(a+=360);90===a?(d=0,e=1):180===a?(d=-1,e=0):270===a?(d=0,e=-1):(a=a*Math.PI/180,d=Math.cos(a),e=Math.sin(a));this.L=d*b-e*c;this.M=e*b+d*c;return this};
-M.prototype.scale=M.prototype.scale=function(a,b){u&&(z.p(a,M,"scale:sx"),z.p(b,M,"scale:sy"));this.L*=a;this.M*=b;return this};M.prototype.distanceSquaredPoint=M.prototype.Ef=function(a){u&&z.l(a,M,M,"distanceSquaredPoint:p");var b=a.x-this.L;a=a.y-this.M;return b*b+a*a};M.prototype.distanceSquared=M.prototype.iq=function(a,b){u&&(z.p(a,M,"distanceSquared:px"),z.p(b,M,"distanceSquared:py"));var c=a-this.L,d=b-this.M;return c*c+d*d};
+M.prototype.scale=M.prototype.scale=function(a,b){u&&(z.p(a,M,"scale:sx"),z.p(b,M,"scale:sy"));this.L*=a;this.M*=b;return this};M.prototype.distanceSquaredPoint=M.prototype.Ef=function(a){u&&z.l(a,M,M,"distanceSquaredPoint:p");var b=a.x-this.L;a=a.y-this.M;return b*b+a*a};M.prototype.distanceSquared=M.prototype.hq=function(a,b){u&&(z.p(a,M,"distanceSquared:px"),z.p(b,M,"distanceSquared:py"));var c=a-this.L,d=b-this.M;return c*c+d*d};
M.prototype.normalize=M.prototype.normalize=function(){this.Sa();var a=this.L,b=this.M,c=Math.sqrt(a*a+b*b);0b?270:0;if(0===b)return 0a?c=0>b?c+180:180-c:0>b&&(c=360-c);return c}M.prototype.projectOntoLineSegment=function(a,b,c,d){u&&(z.p(a,M,"projectOntoLineSegment:px"),z.p(b,M,"projectOntoLineSegment:py"),z.p(c,M,"projectOntoLineSegment:qx"),z.p(d,M,"projectOntoLineSegment:qy"));ob(a,b,c,d,this.L,this.M,this);return this};
M.prototype.projectOntoLineSegmentPoint=function(a,b){u&&(z.l(a,M,M,"projectOntoLineSegmentPoint:p"),z.l(b,M,M,"projectOntoLineSegmentPoint:q"));ob(a.x,a.y,b.x,b.y,this.L,this.M,this);return this};M.prototype.snapToGrid=function(a,b,c,d){u&&(z.p(a,M,"snapToGrid:originx"),z.p(b,M,"snapToGrid:originy"),z.p(c,M,"snapToGrid:cellwidth"),z.p(d,M,"snapToGrid:cellheight"));tb(this.L,this.M,a,b,c,d,this);return this};
-M.prototype.snapToGridPoint=function(a,b){u&&(z.l(a,M,M,"snapToGridPoint:p"),z.l(b,Fa,M,"snapToGridPoint:q"));tb(this.L,this.M,a.x,a.y,b.width,b.height,this);return this};M.prototype.setRectSpot=M.prototype.po=function(a,b){u&&(z.l(a,w,M,"setRectSpot:r"),z.l(b,R,M,"setRectSpot:spot"));this.Sa();this.L=a.x+b.x*a.width+b.offsetX;this.M=a.y+b.y*a.height+b.offsetY;return this};
+M.prototype.snapToGridPoint=function(a,b){u&&(z.l(a,M,M,"snapToGridPoint:p"),z.l(b,Fa,M,"snapToGridPoint:q"));tb(this.L,this.M,a.x,a.y,b.width,b.height,this);return this};M.prototype.setRectSpot=M.prototype.oo=function(a,b){u&&(z.l(a,w,M,"setRectSpot:r"),z.l(b,R,M,"setRectSpot:spot"));this.Sa();this.L=a.x+b.x*a.width+b.offsetX;this.M=a.y+b.y*a.height+b.offsetY;return this};
M.prototype.setSpot=M.prototype.Xu=function(a,b,c,d,e){u&&(z.p(a,M,"setSpot:x"),z.p(b,M,"setSpot:y"),z.p(c,M,"setSpot:w"),z.p(d,M,"setSpot:h"),(0>c||0>d)&&z.k("Point.setSpot:Width and height cannot be negative"),z.l(e,R,M,"setSpot:spot"));this.Sa();this.L=a+e.x*c+e.offsetX;this.M=b+e.y*d+e.offsetY;return this};M.prototype.transform=function(a){u&&z.l(a,Ga,M,"transform:t");a.wb(this);return this};function ub(a,b){u&&z.l(b,Ga,M,"transformInverted:t");b.Ci(a);return a}var xb;
M.distanceLineSegmentSquared=xb=function(a,b,c,d,e,g){u&&(z.p(a,M,"distanceLineSegmentSquared:px"),z.p(b,M,"distanceLineSegmentSquared:py"),z.p(c,M,"distanceLineSegmentSquared:ax"),z.p(d,M,"distanceLineSegmentSquared:ay"),z.p(e,M,"distanceLineSegmentSquared:bx"),z.p(g,M,"distanceLineSegmentSquared:by"));var h=e-c,k=g-d,l=h*h+k*k;c-=a;d-=b;var m=-c*h-d*k;if(0>=m||m>=l)return h=e-a,k=g-b,Math.min(c*c+d*d,h*h+k*k);a=h*d-k*c;return a*a/l};var yb;
M.distanceSquared=yb=function(a,b,c,d){u&&(z.p(a,M,"distanceSquared:px"),z.p(b,M,"distanceSquared:py"),z.p(c,M,"distanceSquared:qx"),z.p(d,M,"distanceSquared:qy"));a=c-a;b=d-b;return a*a+b*b};var zb;
M.direction=zb=function(a,b,c,d){u&&(z.p(a,M,"direction:px"),z.p(b,M,"direction:py"),z.p(c,M,"direction:qx"),z.p(d,M,"direction:qy"));a=c-a;b=d-b;if(0===a)return 0b?270:0;if(0===b)return 0a?d=0>b?d+180:180-d:0>b&&(d=360-d);return d};z.defineProperty(M,{x:"x"},function(){return this.L},function(a){this.Sa(a);u&&z.h(a,"number",M,"x");this.L=a});
-z.defineProperty(M,{y:"y"},function(){return this.M},function(a){this.Sa(a);u&&z.h(a,"number",M,"y");this.M=a});M.prototype.isReal=M.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)};function Fa(a,b){void 0===a?this.Ga=this.Ia=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.Ia=a,this.Ga=b):z.k("Invalid arguments to Size constructor: "+a+", "+b);this.I=!1}z.ka("Size",Fa);z.Ai(Fa);z.ne(Fa,{width:!0,height:!0});
+z.defineProperty(M,{y:"y"},function(){return this.M},function(a){this.Sa(a);u&&z.h(a,"number",M,"y");this.M=a});M.prototype.isReal=M.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)};function Fa(a,b){void 0===a?this.Ga=this.Ia=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.Ia=a,this.Ga=b):z.k("Invalid arguments to Size constructor: "+a+", "+b);this.I=!1}z.ka("Size",Fa);z.Ai(Fa);z.me(Fa,{width:!0,height:!0});
Fa.prototype.assign=function(a){this.Ia=a.Ia;this.Ga=a.Ga};Fa.prototype.setTo=Fa.prototype.m=function(a,b){u&&(z.h(a,"number",Fa,"setTo:w"),z.h(b,"number",Fa,"setTo:h"),0>a&&z.wa(a,">= 0",Fa,"setTo:w"),0>b&&z.wa(b,">= 0",Fa,"setTo:h"));this.Ia=a;this.Ga=b;return this};Fa.prototype.set=Fa.prototype.set=function(a){u&&z.l(a,Fa,Fa,"set:s");this.Sa();this.Ia=a.Ia;this.Ga=a.Ga;return this};Fa.prototype.copy=function(){var a=new Fa;a.Ia=this.Ia;a.Ga=this.Ga;return a};f=Fa.prototype;
f.Na=function(){this.I=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Size is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
Fa.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));return new Fa(c,e)}return new Fa};Fa.stringify=function(a){return a instanceof Fa?a.width.toString()+" "+a.height.toString():a.toString()};Fa.prototype.toString=function(){return"Size("+this.width+","+this.height+")"};
Fa.prototype.equals=Fa.prototype.O=function(a){return a instanceof Fa?this.Ia===a.width&&this.Ga===a.height:!1};Fa.prototype.equalTo=Fa.prototype.Ax=function(a,b){return this.Ia===a&&this.Ga===b};Fa.prototype.equalsApprox=Fa.prototype.Vc=function(a){return Q(this.Ia,a.width)&&Q(this.Ga,a.height)};z.defineProperty(Fa,{width:"width"},function(){return this.Ia},function(a){this.Sa(a);u&&z.h(a,"number",Fa,"width");0>a&&z.wa(a,">= 0",Fa,"width");this.Ia=a});
z.defineProperty(Fa,{height:"height"},function(){return this.Ga},function(a){this.Sa(a);u&&z.h(a,"number",Fa,"height");0>a&&z.wa(a,">= 0",Fa,"height");this.Ga=a});Fa.prototype.isReal=Fa.prototype.F=function(){return isFinite(this.width)&&isFinite(this.height)};
function w(a,b,c,d){void 0===a?this.Ga=this.Ia=this.M=this.L=0:a instanceof M?b instanceof M?(this.L=Math.min(a.L,b.L),this.M=Math.min(a.M,b.M),this.Ia=Math.abs(a.L-b.L),this.Ga=Math.abs(a.M-b.M)):b instanceof Fa?(this.L=a.L,this.M=a.M,this.Ia=b.Ia,this.Ga=b.Ga):z.k("Incorrect arguments supplied to Rect constructor"):"number"===typeof a&&"number"===typeof b&&"number"===typeof c&&(0<=c||isNaN(c))&&"number"===typeof d&&(0<=d||isNaN(d))?(this.L=a,this.M=b,this.Ia=c,this.Ga=d):z.k("Invalid arguments to Rect constructor: "+
-a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Rect",w);z.Ai(w);z.ne(w,{x:!0,y:!0,width:!0,height:!0});w.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ga=a.Ga};function Ab(a,b,c){a.Ia=b;a.Ga=c}w.prototype.setTo=w.prototype.m=function(a,b,c,d){u&&(z.h(a,"number",w,"setTo:x"),z.h(b,"number",w,"setTo:y"),z.h(c,"number",w,"setTo:w"),z.h(d,"number",w,"setTo:h"),0>c&&z.wa(c,">= 0",w,"setTo:w"),0>d&&z.wa(d,">= 0",w,"setTo:h"));this.L=a;this.M=b;this.Ia=c;this.Ga=d;return this};
+a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Rect",w);z.Ai(w);z.me(w,{x:!0,y:!0,width:!0,height:!0});w.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ga=a.Ga};function Ab(a,b,c){a.Ia=b;a.Ga=c}w.prototype.setTo=w.prototype.m=function(a,b,c,d){u&&(z.h(a,"number",w,"setTo:x"),z.h(b,"number",w,"setTo:y"),z.h(c,"number",w,"setTo:w"),z.h(d,"number",w,"setTo:h"),0>c&&z.wa(c,">= 0",w,"setTo:w"),0>d&&z.wa(d,">= 0",w,"setTo:h"));this.L=a;this.M=b;this.Ia=c;this.Ga=d;return this};
w.prototype.set=w.prototype.set=function(a){u&&z.l(a,w,w,"set:r");this.Sa();this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ga=a.Ga;return this};w.prototype.setPoint=w.prototype.dh=function(a){u&&z.l(a,M,w,"setPoint:p");this.Sa();this.L=a.L;this.M=a.M;return this};w.prototype.setSize=function(a){u&&z.l(a,Fa,w,"setSize:s");this.Sa();this.Ia=a.Ia;this.Ga=a.Ga;return this};w.prototype.copy=function(){var a=new w;a.L=this.L;a.M=this.M;a.Ia=this.Ia;a.Ga=this.Ga;return a};f=w.prototype;
f.Na=function(){this.I=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Rect is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
w.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));for(var g=0;""===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));for(var h=0;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return new w(c,e,g,h)}return new w};w.stringify=function(a){return a instanceof w?a.x.toString()+" "+a.y.toString()+" "+a.width.toString()+" "+a.height.toString():a.toString()};
@@ -151,7 +151,7 @@ w.prototype.subtractMargin=w.prototype.sK=function(a){u&&z.l(a,Kb,w,"subtractMar
w.prototype.intersectRect=function(a){u&&z.l(a,w,w,"intersectRect:r");return Lb(this,a.x,a.y,a.width,a.height)};w.prototype.intersect=w.prototype.zF=function(a,b,c,d){u&&(z.p(a,w,"intersect:x"),z.p(b,w,"intersect:y"),z.p(c,w,"intersect:w"),z.p(d,w,"intersect:h"),(0>c||0>d)&&z.k("Rect.intersect:Width and height cannot be negative"));return Lb(this,a,b,c,d)};
function Lb(a,b,c,d,e){a.Sa();var g=Math.max(a.L,b),h=Math.max(a.M,c);b=Math.min(a.L+a.Ia,b+d);c=Math.min(a.M+a.Ga,c+e);a.L=g;a.M=h;a.Ia=Math.max(0,b-g);a.Ga=Math.max(0,c-h);return a}w.prototype.intersectsRect=w.prototype.Vg=function(a){u&&z.l(a,w,w,"intersectsRect:r");return this.AF(a.x,a.y,a.width,a.height)};
w.prototype.intersects=w.prototype.AF=function(a,b,c,d){u&&(z.p(a,w,"intersects:x"),z.p(b,w,"intersects:y"),z.p(a,w,"intersects:w"),z.p(b,w,"intersects:h"),(0>c||0>d)&&z.k("Rect.intersects:Width and height cannot be negative"));var e=this.Ia,g=this.L;if(Infinity!==e&&Infinity!==c&&(e+=g,c+=a,isNaN(c)||isNaN(e)||g>c||a>e))return!1;a=this.Ga;c=this.M;return Infinity!==a&&Infinity!==d&&(a+=c,d+=b,isNaN(d)||isNaN(a)||c>d||b>a)?!1:!0};
-function Mb(a,b){var c=a.Ia,d=b.width+10+10,e=a.L,g=b.x-10;if(e>d+g||g>c+e)return!1;c=a.Ga;d=b.height+10+10;e=a.M;g=b.y-10;return e>d+g||g>c+e?!1:!0}w.prototype.unionPoint=w.prototype.Ki=function(a){u&&z.l(a,M,w,"unionPoint:p");return Rb(this,a.x,a.y,0,0)};w.prototype.unionRect=w.prototype.Wh=function(a){u&&z.l(a,w,w,"unionRect:r");return Rb(this,a.L,a.M,a.Ia,a.Ga)};
+function Qb(a,b){var c=a.Ia,d=b.width+10+10,e=a.L,g=b.x-10;if(e>d+g||g>c+e)return!1;c=a.Ga;d=b.height+10+10;e=a.M;g=b.y-10;return e>d+g||g>c+e?!1:!0}w.prototype.unionPoint=w.prototype.Ki=function(a){u&&z.l(a,M,w,"unionPoint:p");return Rb(this,a.x,a.y,0,0)};w.prototype.unionRect=w.prototype.Wh=function(a){u&&z.l(a,w,w,"unionRect:r");return Rb(this,a.L,a.M,a.Ia,a.Ga)};
w.prototype.union=w.prototype.$G=function(a,b,c,d){this.Sa();u?(z.p(a,w,"union:x"),z.p(b,w,"union:y"),void 0===c?c=0:z.p(c,w,"union:w"),void 0===d?d=0:z.p(d,w,"union:h"),(0>c||0>d)&&z.k("Rect.union:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return Rb(this,a,b,c,d)};function Rb(a,b,c,d,e){var g=Math.min(a.L,b),h=Math.min(a.M,c);b=Math.max(a.L+a.Ia,b+d);c=Math.max(a.M+a.Ga,c+e);a.L=g;a.M=h;a.Ia=b-g;a.Ga=c-h;return a}
w.prototype.setSpot=w.prototype.Xu=function(a,b,c){u&&(z.p(a,w,"setSpot:x"),z.p(b,w,"setSpot:y"),z.l(c,R,w,"setSpot:spot"));this.Sa();this.L=a-c.offsetX-c.x*this.Ia;this.M=b-c.offsetY-c.y*this.Ga;return this};var Sb;
w.contains=Sb=function(a,b,c,d,e,g,h,k){u?(z.p(a,w,"contains:rx"),z.p(b,w,"contains:ry"),z.p(c,w,"contains:rw"),z.p(d,w,"contains:rh"),z.p(e,w,"contains:x"),z.p(g,w,"contains:y"),void 0===h?h=0:z.p(h,w,"contains:w"),void 0===k?k=0:z.p(k,w,"contains:h"),(0>c||0>d||0>h||0>k)&&z.k("Rect.contains:Width and height cannot be negative")):(void 0===h&&(h=0),void 0===k&&(k=0));return a<=e&&e+h<=a+c&&b<=g&&g+k<=b+d};
@@ -161,14 +161,14 @@ z.defineProperty(w,{left:"left"},function(){return this.L},function(a){this.Sa(a
z.defineProperty(w,{bottom:"bottom"},function(){return this.M+this.Ga},function(a){this.Sa(a);u&&z.p(a,w,"top");this.M+=a-(this.M+this.Ga)});z.defineProperty(w,{position:"position"},function(){return new M(this.L,this.M)},function(a){this.Sa(a);u&&z.l(a,M,w,"position");this.L=a.x;this.M=a.y});z.defineProperty(w,{size:"size"},function(){return new Fa(this.Ia,this.Ga)},function(a){this.Sa(a);u&&z.l(a,Fa,w,"size");this.Ia=a.width;this.Ga=a.height});
z.defineProperty(w,{$l:"center"},function(){return new M(this.L+this.Ia/2,this.M+this.Ga/2)},function(a){this.Sa(a);u&&z.l(a,M,w,"center");this.L=a.x-this.Ia/2;this.M=a.y-this.Ga/2});z.defineProperty(w,{oa:"centerX"},function(){return this.L+this.Ia/2},function(a){this.Sa(a);u&&z.p(a,w,"centerX");this.L=a-this.Ia/2});z.defineProperty(w,{xa:"centerY"},function(){return this.M+this.Ga/2},function(a){this.Sa(a);u&&z.p(a,w,"centerY");this.M=a-this.Ga/2});
w.prototype.isReal=w.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)};w.prototype.isEmpty=function(){return 0===this.width&&0===this.height};
-function Kb(a,b,c,d){void 0===a?this.th=this.mh=this.Ch=this.Dh=0:void 0===b?this.left=this.bottom=this.right=this.top=a:void 0===c?(d=b,this.top=a,this.right=b,this.bottom=a,this.left=d):void 0!==d?(this.top=a,this.right=b,this.bottom=c,this.left=d):z.k("Invalid arguments to Margin constructor: "+a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Margin",Kb);z.Ai(Kb);z.ne(Kb,{top:!0,right:!0,bottom:!0,left:!0});Kb.prototype.assign=function(a){this.Dh=a.Dh;this.Ch=a.Ch;this.mh=a.mh;this.th=a.th};
+function Kb(a,b,c,d){void 0===a?this.th=this.mh=this.Ch=this.Dh=0:void 0===b?this.left=this.bottom=this.right=this.top=a:void 0===c?(d=b,this.top=a,this.right=b,this.bottom=a,this.left=d):void 0!==d?(this.top=a,this.right=b,this.bottom=c,this.left=d):z.k("Invalid arguments to Margin constructor: "+a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Margin",Kb);z.Ai(Kb);z.me(Kb,{top:!0,right:!0,bottom:!0,left:!0});Kb.prototype.assign=function(a){this.Dh=a.Dh;this.Ch=a.Ch;this.mh=a.mh;this.th=a.th};
Kb.prototype.setTo=Kb.prototype.m=function(a,b,c,d){u&&(z.h(a,"number",Kb,"setTo:t"),z.h(b,"number",Kb,"setTo:r"),z.h(c,"number",Kb,"setTo:b"),z.h(d,"number",Kb,"setTo:l"));this.Sa();this.Dh=a;this.Ch=b;this.mh=c;this.th=d;return this};Kb.prototype.set=Kb.prototype.set=function(a){u&&z.l(a,Kb,Kb,"assign:m");this.Sa();this.Dh=a.Dh;this.Ch=a.Ch;this.mh=a.mh;this.th=a.th;return this};Kb.prototype.copy=function(){var a=new Kb;a.Dh=this.Dh;a.Ch=this.Ch;a.mh=this.mh;a.th=this.th;return a};f=Kb.prototype;
f.Na=function(){this.I=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Margin is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
Kb.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=NaN;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));if(isNaN(c))return new Kb;for(var e=NaN;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));if(isNaN(e))return new Kb(c);for(var g=NaN;""===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));if(isNaN(g))return new Kb(c,e);for(var h=NaN;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return isNaN(h)?new Kb(c,e):new Kb(c,e,g,h)}return new Kb};
Kb.stringify=function(a){return a instanceof Kb?a.top.toString()+" "+a.right.toString()+" "+a.bottom.toString()+" "+a.left.toString():a.toString()};Kb.prototype.toString=function(){return"Margin("+this.top+","+this.right+","+this.bottom+","+this.left+")"};Kb.prototype.equals=Kb.prototype.O=function(a){return a instanceof Kb?this.Dh===a.top&&this.Ch===a.right&&this.mh===a.bottom&&this.th===a.left:!1};
Kb.prototype.equalTo=Kb.prototype.Ax=function(a,b,c,d){return this.Dh===a&&this.Ch===b&&this.mh===c&&this.th===d};Kb.prototype.equalsApprox=Kb.prototype.Vc=function(a){return Q(this.Dh,a.top)&&Q(this.Ch,a.right)&&Q(this.mh,a.bottom)&&Q(this.th,a.left)};z.defineProperty(Kb,{top:"top"},function(){return this.Dh},function(a){this.Sa(a);u&&z.p(a,Kb,"top");this.Dh=a});z.defineProperty(Kb,{right:"right"},function(){return this.Ch},function(a){this.Sa(a);u&&z.p(a,Kb,"right");this.Ch=a});
z.defineProperty(Kb,{bottom:"bottom"},function(){return this.mh},function(a){this.Sa(a);u&&z.p(a,Kb,"bottom");this.mh=a});z.defineProperty(Kb,{left:"left"},function(){return this.th},function(a){this.Sa(a);u&&z.p(a,Kb,"left");this.th=a});Kb.prototype.isReal=Kb.prototype.F=function(){return isFinite(this.top)&&isFinite(this.right)&&isFinite(this.bottom)&&isFinite(this.left)};function Ga(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0}z.Ai(Ga);
-z.ne(Ga,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});Ga.prototype.set=Ga.prototype.set=function(a){u&&z.l(a,Ga,Ga,"set:t");this.m11=a.m11;this.m12=a.m12;this.m21=a.m21;this.m22=a.m22;this.dx=a.dx;this.dy=a.dy;return this};Ga.prototype.copy=function(){var a=new Ga;a.m11=this.m11;a.m12=this.m12;a.m21=this.m21;a.m22=this.m22;a.dx=this.dx;a.dy=this.dy;return a};Ga.prototype.toString=function(){return"Transform("+this.m11+","+this.m12+","+this.m21+","+this.m22+","+this.dx+","+this.dy+")"};
+z.me(Ga,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});Ga.prototype.set=Ga.prototype.set=function(a){u&&z.l(a,Ga,Ga,"set:t");this.m11=a.m11;this.m12=a.m12;this.m21=a.m21;this.m22=a.m22;this.dx=a.dx;this.dy=a.dy;return this};Ga.prototype.copy=function(){var a=new Ga;a.m11=this.m11;a.m12=this.m12;a.m21=this.m21;a.m22=this.m22;a.dx=this.dx;a.dy=this.dy;return a};Ga.prototype.toString=function(){return"Transform("+this.m11+","+this.m12+","+this.m21+","+this.m22+","+this.dx+","+this.dy+")"};
Ga.prototype.equals=Ga.prototype.O=function(a){return a instanceof Ga?this.m11===a.m11&&this.m12===a.m12&&this.m21===a.m21&&this.m22===a.m22&&this.dx===a.dx&&this.dy===a.dy:!1};Ga.prototype.isIdentity=Ga.prototype.uu=function(){return 1===this.m11&&0===this.m12&&0===this.m21&&1===this.m22&&0===this.dx&&0===this.dy};Ga.prototype.reset=Ga.prototype.reset=function(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0;return this};
Ga.prototype.multiply=Ga.prototype.multiply=function(a){u&&z.l(a,Ga,Ga,"multiply:matrix");var b=this.m12*a.m11+this.m22*a.m12,c=this.m11*a.m21+this.m21*a.m22,d=this.m12*a.m21+this.m22*a.m22,e=this.m11*a.dx+this.m21*a.dy+this.dx,g=this.m12*a.dx+this.m22*a.dy+this.dy;this.m11=this.m11*a.m11+this.m21*a.m12;this.m12=b;this.m21=c;this.m22=d;this.dx=e;this.dy=g;return this};
Ga.prototype.multiplyInverted=Ga.prototype.fB=function(a){u&&z.l(a,Ga,Ga,"multiplyInverted:matrix");var b=1/(a.m11*a.m22-a.m12*a.m21),c=a.m22*b,d=-a.m12*b,e=-a.m21*b,g=a.m11*b,h=b*(a.m21*a.dy-a.m22*a.dx),k=b*(a.m12*a.dx-a.m11*a.dy);a=this.m12*c+this.m22*d;b=this.m11*e+this.m21*g;e=this.m12*e+this.m22*g;g=this.m11*h+this.m21*k+this.dx;h=this.m12*h+this.m22*k+this.dy;this.m11=this.m11*c+this.m21*d;this.m12=a;this.m21=b;this.m22=e;this.dx=g;this.dy=h;return this};
@@ -177,7 +177,7 @@ Ga.prototype.rotate=Ga.prototype.rotate=function(a,b,c){u&&(z.p(a,Ga,"rotate:ang
Ga.prototype.translate=Ga.prototype.translate=function(a,b){u&&(z.p(a,Ga,"translate:x"),z.p(b,Ga,"translate:y"));this.dx+=this.m11*a+this.m21*b;this.dy+=this.m12*a+this.m22*b;return this};Ga.prototype.scale=Ga.prototype.scale=function(a,b){void 0===b&&(b=a);u&&(z.p(a,Ga,"translate:sx"),z.p(b,Ga,"translate:sy"));this.m11*=a;this.m12*=a;this.m21*=b;this.m22*=b;return this};
Ga.prototype.transformPoint=Ga.prototype.wb=function(a){u&&z.l(a,M,Ga,"transformPoint:p");var b=a.L,c=a.M;a.L=b*this.m11+c*this.m21+this.dx;a.M=b*this.m12+c*this.m22+this.dy;return a};Ga.prototype.invertedTransformPoint=Ga.prototype.Ci=function(a){u&&z.l(a,M,Ga,"invertedTransformPoint:p");var b=1/(this.m11*this.m22-this.m12*this.m21),c=-this.m12*b,d=this.m11*b,e=b*(this.m12*this.dx-this.m11*this.dy),g=a.L,h=a.M;a.L=g*this.m22*b+h*-this.m21*b+b*(this.m21*this.dy-this.m22*this.dx);a.M=g*c+h*d+e;return a};
Ga.prototype.transformRect=Ga.prototype.ZG=function(a){u&&z.l(a,w,Ga,"transformRect:rect");var b=a.L,c=a.M,d=b+a.Ia,e=c+a.Ga,g=this.m11,h=this.m12,k=this.m21,l=this.m22,m=this.dx,n=this.dy,p=b*g+c*k+m,q=b*h+c*l+n,r=d*g+c*k+m,c=d*h+c*l+n,s=b*g+e*k+m,b=b*h+e*l+n,g=d*g+e*k+m,d=d*h+e*l+n,e=p,h=q,p=Math.min(p,r),e=Math.max(e,r),h=Math.min(h,c),q=Math.max(q,c),p=Math.min(p,s),e=Math.max(e,s),h=Math.min(h,b),q=Math.max(q,b),p=Math.min(p,g),e=Math.max(e,g),h=Math.min(h,d),q=Math.max(q,d);a.L=p;a.M=h;a.Ia=
-e-p;a.Ga=q-h;return a};function R(a,b,c,d){void 0===a?this.Jg=this.Ig=this.M=this.L=0:(void 0===b&&(b=0),void 0===c&&(c=0),void 0===d&&(d=0),this.x=a,this.y=b,this.offsetX=c,this.offsetY=d);this.I=!1}z.ka("Spot",R);z.Ai(R);z.ne(R,{x:!0,y:!0,offsetX:!0,offsetY:!0});R.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ig=a.Ig;this.Jg=a.Jg};
+e-p;a.Ga=q-h;return a};function R(a,b,c,d){void 0===a?this.Jg=this.Ig=this.M=this.L=0:(void 0===b&&(b=0),void 0===c&&(c=0),void 0===d&&(d=0),this.x=a,this.y=b,this.offsetX=c,this.offsetY=d);this.I=!1}z.ka("Spot",R);z.Ai(R);z.me(R,{x:!0,y:!0,offsetX:!0,offsetY:!0});R.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ig=a.Ig;this.Jg=a.Jg};
R.prototype.setTo=R.prototype.m=function(a,b,c,d){u&&(Vb(a,"setTo:x"),Vb(b,"setTo:y"),Zb(c,"setTo:offx"),Zb(d,"setTo:offy"));this.Sa();this.L=a;this.M=b;this.Ig=c;this.Jg=d;return this};R.prototype.set=R.prototype.set=function(a){u&&z.l(a,R,R,"set:s");this.Sa();this.L=a.L;this.M=a.M;this.Ig=a.Ig;this.Jg=a.Jg;return this};R.prototype.copy=function(){var a=new R;a.L=this.L;a.M=this.M;a.Ig=this.Ig;a.Jg=this.Jg;return a};f=R.prototype;f.Na=function(){this.I=!0;Object.freeze(this);return this};
f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Spot is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};function $b(a,b){a.L=NaN;a.M=NaN;a.Ig=b;return a}function Vb(a,b){(isNaN(a)||1a)&&z.wa(a,"0 <= "+b+" <= 1",R,b)}
function Zb(a,b){(isNaN(a)||Infinity===a||-Infinity===a)&&z.wa(a,"real number, not NaN or Infinity",R,b)}var fc;
@@ -187,7 +187,7 @@ var d=a[b++];void 0!==d&&0=2*Math.PI?(pd(a,b,c,d,e,e+Math.PI,h),pd(a,b,c,d,e+Math.PI,e+2*Math.PI,h),a.path.push(["M",l,g])):(b+=d*Math.cos(e),c+=d*Math.sin(e),k=180*k/Math.PI,e=h?0:1,h=180<=k===!!h?0:1,0!==a.path.length?a.path.push(["L",b,c]):a.path.push(["M",b,c]),a.path.push(["A",d,d,k,h,e,l,g]))}}function od(a,b,c,d,e,g,h){var k=new dd;k.Yb=[b,c,d,e,g,h];b={};xd(a,"g",b,k);k=a.addElement("g",b);a.Gf.push(k)}
f.hb=function(){if(0!==this.shadowOffsetX||0!==this.shadowOffsetY||0!==this.shadowBlur){var a="SHADOW"+z.Em++,b=this.addElement("filter",{id:a,x:"-100%",y:"-100%",width:"300%",height:"300%"},null),c,d,e,g,h;c=nd(this,"feGaussianBlur",{"in":"SourceAlpha",result:"blur",zM:this.shadowBlur/2});d=nd(this,"feFlood",{"in":"blur",result:"flood","flood-color":this.shadowColor});e=nd(this,"feComposite",{"in":"flood",in2:"blur",operator:"in",result:"comp"});g=nd(this,"feOffset",{"in":"comp",result:"offsetBlur",
-dx:this.shadowOffsetX,dy:this.shadowOffsetY});h=nd(this,"feMerge",{});h.appendChild(nd(this,"feMergeNode",{"in":"offsetBlur"}));h.appendChild(nd(this,"feMergeNode",{"in":"SourceGraphic"}));b.appendChild(c);b.appendChild(d);b.appendChild(e);b.appendChild(g);b.appendChild(h);0b?(this.scale(b/a,1),this.translate((a-b)/2,0)):b>a&&(this.scale(1,a/b),this.translate(0,(b-a)/2));this.Go?this.clip():this.fill();a>b?(this.translate(-(a-b)/2,0),this.scale(1/(b/a),1)):b>a&&(this.translate(0,-(b-a)/2),this.scale(1,1/(a/b)))}else this.Go?this.clip():this.fill()};f.Rj=function(){this.Go||this.stroke()};z.defineProperty(Ad,{Wt:"clipInsteadOfFill"},function(){return this.Go},function(a){this.Go=a});f=Ad.prototype;
-f.FB=function(a,b,c){this.ot=a;this.pt=b;this.Lg=c};f.qo=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};f.ro=function(){this.shadowOffsetX=this.ot;this.shadowOffsetY=this.pt;this.shadowBlur=this.Lg};f.AA=function(a,b){var c=this.Fa;if(void 0!==c.setLineDash)c.setLineDash(a),c.lineDashOffset=b;else if(void 0!==c.webkitLineDash)c.webkitLineDash=a,c.webkitLineDashOffset=b;else if(void 0!==c.mozDash)c.mozDash=a,c.mozDashOffset=b;else return!1;return!0};
+f.Tg=function(a){if(a instanceof Ea&&a.type===Bd){var b=a.Io;a=a.az;a>b?(this.scale(b/a,1),this.translate((a-b)/2,0)):b>a&&(this.scale(1,a/b),this.translate(0,(b-a)/2));this.Fo?this.clip():this.fill();a>b?(this.translate(-(a-b)/2,0),this.scale(1/(b/a),1)):b>a&&(this.translate(0,-(b-a)/2),this.scale(1,1/(a/b)))}else this.Fo?this.clip():this.fill()};f.Rj=function(){this.Fo||this.stroke()};z.defineProperty(Ad,{Wt:"clipInsteadOfFill"},function(){return this.Fo},function(a){this.Fo=a});f=Ad.prototype;
+f.FB=function(a,b,c){this.ot=a;this.pt=b;this.Lg=c};f.po=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};f.qo=function(){this.shadowOffsetX=this.ot;this.shadowOffsetY=this.pt;this.shadowBlur=this.Lg};f.AA=function(a,b){var c=this.Fa;if(void 0!==c.setLineDash)c.setLineDash(a),c.lineDashOffset=b;else if(void 0!==c.webkitLineDash)c.webkitLineDash=a,c.webkitLineDashOffset=b;else if(void 0!==c.mozDash)c.mozDash=a,c.mozDashOffset=b;else return!1;return!0};
f.vA=function(){var a=this.Fa;void 0!==a.setLineDash?(a.setLineDash(z.bl),a.lineDashOffset=0):void 0!==a.webkitLineDash?(a.webkitLineDash=z.bl,a.webkitLineDashOffset=0):void 0!==a.mozDash&&(a.mozDash=null,a.mozDashOffset=0)};function da(a,b){b&&(a.Wy="");a.Xy="";a.Vy=""}
var Cd=(Math.sqrt(2)-1)/3*4,Dd=(new M(0,0)).Na(),Ed=(new w(0,0,0,0)).Na(),Nd=(new Kb(0,0,0,0)).Na(),Od=(new Kb(2,2,2,2)).Na(),Pd=(new M(6,6)).Na(),Qd=(new M(-Infinity,-Infinity)).Na(),Rd=(new M(Infinity,Infinity)).Na(),Sd=(new Fa(0,0)).Na(),Td=(new Fa(1,1)).Na(),Ud=(new Fa(6,6)).Na(),Vd=(new Fa(8,8)).Na(),Wd=(new Fa(10,10)).Na(),ge=(new Fa(Infinity,Infinity)).Na(),he=(new M(NaN,NaN)).Na(),ie=(new Fa(NaN,NaN)).Na(),je=(new w(NaN,NaN,NaN,NaN)).Na(),ke=(new R(.156,.156)).Na(),le=(new R(.844,.844)).Na(),
me=new na,ne=new na,oe=null;function pe(a){if(0>=a)return 0;var b=oe;if(null===b){for(var b=[],c=0;2E3>=c;c++)b[c]=Math.sqrt(c);oe=b}return 1>a?(c=1/a,2E3>=c?1/b[c|0]:Math.sqrt(a)):2E3>=a?b[a|0]:Math.sqrt(a)}function Q(a,b){var c=a-b;return.5>c&&-.5c&&-5E-8=q&&(q=1E-6);if(qe(a,b,h,k,q,c,d)&&qe(a,b,h,k,q,e,g)){var s=(a-h)*(m-p)-(b-k)*(l-n);if(0===s)return!1;q=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/s;s=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/s;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(h=l=0,bh)return!1}else if(ah)return!1;r.x=q;r.y=s;return!0}var s=(a+c)/2,v=(b+d)/2;c=(c+e)/2;d=(d+g)/2;e=(e+h)/2;g=(g+k)/2;var t=(s+c)/2,x=(v+d)/2;c=(c+e)/2;d=(d+g)/2;var y=(t+c)/2,A=(x+d)/2,
-B=(n-l)*(n-l)+(p-m)*(p-m),N=!1;De(a,b,s,v,t,x,y,A,l,m,n,p,q,r)&&(b=(r.x-l)*(r.x-l)+(r.y-m)*(r.y-m),b=q&&(q=1E-6);if(qe(a,b,h,k,q,c,d)&&qe(a,b,h,k,q,e,g)){var s=(a-h)*(m-p)-(b-k)*(l-n);if(0===s)return!1;q=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/s;s=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/s;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(h=l=0,bh)return!1}else if(ah)return!1;r.x=q;r.y=s;return!0}var s=(a+c)/2,v=(b+d)/2;c=(c+e)/2;d=(d+g)/2;e=(e+h)/2;g=(g+k)/2;var t=(s+c)/2,x=(v+d)/2;c=(c+e)/2;d=(d+g)/2;var y=(t+c)/2,B=(x+d)/2,
+A=(n-l)*(n-l)+(p-m)*(p-m),N=!1;De(a,b,s,v,t,x,y,B,l,m,n,p,q,r)&&(b=(r.x-l)*(r.x-l)+(r.y-m)*(r.y-m),b=q&&(q=1E-6);if(qe(a,b,h,k,q,c,d)&&qe(a,b,h,k,q,e,g)){q=(a-h)*(m-p)-(b-k)*(l-n);if(0===q)return r;var s=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/q,v=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/q;if(s>=n)return r;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(a=l=0,ba)return r}else if(aa)return r;0q&&r--}else{var s=(a+c)/2,v=(b+d)/2,t=(c+e)/2,x=(d+g)/2;e=(e+h)/2;g=(g+k)/2;d=(s+t)/2;c=(v+x)/2;var t=(t+e)/2,x=(x+g)/2,
-y=(d+t)/2,A=(c+x)/2,r=r+Ee(a,b,s,v,d,c,y,A,l,m,n,p,q),r=r+Ee(y,A,t,x,e,g,h,k,l,m,n,p,q)}return r}
+y=(d+t)/2,B=(c+x)/2,r=r+Ee(a,b,s,v,d,c,y,B,l,m,n,p,q),r=r+Ee(y,B,t,x,e,g,h,k,l,m,n,p,q)}return r}
function ob(a,b,c,d,e,g,h){if(Db(a,c)){var k=0;c=0;bc)return h.x=a,h.y=c,!1;h.x=a;h.y=d;return!0}if(Db(b,d)){ac)return h.x=c,h.y=b,!1;h.x=d;h.y=b;return!0}k=((a-e)*(a-c)+(b-g)*(b-d))/((c-a)*(c-a)+(d-b)*(d-b));if(-5E-6>k)return h.x=a,h.y=b,!1;if(1.000005c)return l.x=a,l.y=c,!1;l.x=a;l.y=g;return!0}h=(d-b)/(c-a);if(Db(k,h))return ob(a,b,c,d,e,g,l),!1;e=(h*a-k*e+g-b)/(h-k);if(Db(h,0)){ac)return l.x=c,l.y=b,!1;l.x=e;l.y=b;return!0}g=
h*(e-a)+b;return ob(a,b,c,d,e,g,l)}function Ge(a,b,c,d,e,g,h,k,l){var m=1E21,n=a,p=b;if(Fe(a,b,a,d,e,g,h,k,l)){var q=(l.x-e)*(l.x-e)+(l.y-g)*(l.y-g);qm}
@@ -248,22 +248,22 @@ function Qe(a,b,c,d,e,g){c-=a;d-=b;a=e-a;b=g-b;g=a*d-b*c;0===g&&(g=a*c+b*d,0c,g=0>d,h=0,k=h=0;ag;++g){m=.5*(d+e);if(m===d||m===e)break;k=l/(m+b);h=c/(m+a);k=k*k+h*h-1;if(0k)e=m;else break}n=b*n/(m+b)-n;p=a*p/(m+a)-p;a=Math.sqrt(n*n+p*p)}else a=Math.abs(p-m);else p=l*l-m*m,a=l*n,aa?"M"+this.na.toString()+" "+this.la.toString()+"L"+this.G.toString()+" "+this.H.toString():"M"+this.na.toFixed(a)+" "+this.la.toFixed(a)+"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);case jf:var b=new w(this.na,this.la,0,0);b.$G(this.G,this.H,0,0);return 0>a?"M"+b.x.toString()+" "+b.y.toString()+"H"+b.right.toString()+"V"+b.bottom.toString()+"H"+b.left.toString()+"z":"M"+b.x.toFixed(a)+" "+b.y.toFixed(a)+"H"+b.right.toFixed(a)+
"V"+b.bottom.toFixed(a)+"H"+b.left.toFixed(a)+"z";case kf:b=new w(this.na,this.la,0,0);b.$G(this.G,this.H,0,0);if(0>a){var c=b.left.toString()+" "+(b.y+b.height/2).toString(),d=b.right.toString()+" "+(b.y+b.height/2).toString();return"M"+c+"A"+(b.width/2).toString()+" "+(b.height/2).toString()+" 0 0 1 "+d+"A"+(b.width/2).toString()+" "+(b.height/2).toString()+" 0 0 1 "+c}c=b.left.toFixed(a)+" "+(b.y+b.height/2).toFixed(a);d=b.right.toFixed(a)+" "+(b.y+b.height/2).toFixed(a);return"M"+c+"A"+(b.width/
2).toFixed(a)+" "+(b.height/2).toFixed(a)+" 0 0 1 "+d+"A"+(b.width/2).toFixed(a)+" "+(b.height/2).toFixed(a)+" 0 0 1 "+c;case We:for(var b="",c=this.mc.o,d=c.length,e=0;e=v-1?!0:null!==l[m+1].match(/[A-Za-z]/)}function d(){m++;return l[m]}function e(){var a=new M(parseFloat(d()),parseFloat(d()));n===n.toLowerCase()&&(a.x=s.x+a.x,a.y=s.y+a.y);return a}function g(){return s=e()}function h(){return r=e()}function k(){return"c"!==p.toLowerCase()&&"s"!==p.toLowerCase()?s:new M(2*s.x-r.x,2*s.y-r.y)}void 0===b&&(b=!1);"string"!==typeof a&&z.hc(a,"string",Ve,"parse:str");a=a.replace(/,/gm," ");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,
"$1 $2");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,"$1 $2");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([^\s])/gm,"$1 $2");a=a.replace(/([^\s])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,"$1 $2");a=a.replace(/([0-9])([+\-])/gm,"$1 $2");a=a.replace(/(\.[0-9]*)(\.)/gm,"$1 $2");a=a.replace(/([Aa](\s+[0-9]+){3})\s+([01])\s*([01])/gm,"$1 $3 $4 ");a=a.replace(/[\s\r\t\n]+/gm," ");a=a.replace(/^\s+|\s+$/g,"");for(var l=a.split(" "),m=-1,n="",p="",q=new M(0,0),r=new M(0,0),s=new M(0,
-0),v=l.length,t=z.v(),x=!1,y=!1,A=!0;!(m>=v-1);)if(p=n,n=d(),""!==n)switch(n.toUpperCase()){case "X":A=!0;y=x=!1;break;case "M":var B=g();null===t.dc||!0===A?(S(t,B.x,B.y,x,!1,!y),A=!1):t.moveTo(B.x,B.y);for(q=s;!c();)B=g(),t.lineTo(B.x,B.y);break;case "L":for(;!c();)B=g(),t.lineTo(B.x,B.y);break;case "H":for(;!c();)s=B=new M((n===n.toLowerCase()?s.x:0)+parseFloat(d()),s.y),t.lineTo(s.x,s.y);break;case "V":for(;!c();)s=B=new M(s.x,(n===n.toLowerCase()?s.y:0)+parseFloat(d())),t.lineTo(s.x,s.y);break;
-case "C":for(;!c();){var N=e(),G=h(),B=g();U(t,N.x,N.y,G.x,G.y,B.x,B.y)}break;case "S":for(;!c();)N=k(),G=h(),B=g(),U(t,N.x,N.y,G.x,G.y,B.x,B.y);break;case "Q":for(;!c();)G=h(),B=g(),pf(t,G.x,G.y,B.x,B.y);break;case "T":for(;!c();)r=G=k(),B=g(),pf(t,G.x,G.y,B.x,B.y);break;case "B":for(;!c();){var B=parseFloat(d()),N=parseFloat(d()),G=parseFloat(d()),T=parseFloat(d()),fa=parseFloat(d()),W=fa,P=!1;c()||(W=parseFloat(d()),c()||(P=0!==parseFloat(d())));n===n.toLowerCase()&&(G+=s.x,T+=s.y);t.arcTo(B,N,
-G,T,fa,W,P)}break;case "A":for(;!c();)N=Math.abs(parseFloat(d())),G=Math.abs(parseFloat(d())),T=parseFloat(d()),fa=!!parseFloat(d()),W=!!parseFloat(d()),B=g(),qf(t,N,G,T,fa,W,B.x,B.y);break;case "Z":B=t.q.mc.o[t.q.mc.length-1];V(t);s=q;break;case "F":B="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Uu]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;else{B=l[m+N];break}B.match(/[Mm]/)?x=!0:rf(t);break;case "U":B="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Ff]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;
-else{B=l[m+N];break}B.match(/[Mm]/)?y=!0:t.hb(!1)}q=t.q;z.u(t);if(b)for(t=q.mc.j;t.next();)B=t.value,B.tu=!0;return q};function sf(a,b){for(var c=a.length,d=z.P(),e=0;e=v-1);)if(p=n,n=d(),""!==n)switch(n.toUpperCase()){case "X":B=!0;y=x=!1;break;case "M":var A=g();null===t.dc||!0===B?(S(t,A.x,A.y,x,!1,!y),B=!1):t.moveTo(A.x,A.y);for(q=s;!c();)A=g(),t.lineTo(A.x,A.y);break;case "L":for(;!c();)A=g(),t.lineTo(A.x,A.y);break;case "H":for(;!c();)s=A=new M((n===n.toLowerCase()?s.x:0)+parseFloat(d()),s.y),t.lineTo(s.x,s.y);break;case "V":for(;!c();)s=A=new M(s.x,(n===n.toLowerCase()?s.y:0)+parseFloat(d())),t.lineTo(s.x,s.y);break;
+case "C":for(;!c();){var N=e(),G=h(),A=g();U(t,N.x,N.y,G.x,G.y,A.x,A.y)}break;case "S":for(;!c();)N=k(),G=h(),A=g(),U(t,N.x,N.y,G.x,G.y,A.x,A.y);break;case "Q":for(;!c();)G=h(),A=g(),pf(t,G.x,G.y,A.x,A.y);break;case "T":for(;!c();)r=G=k(),A=g(),pf(t,G.x,G.y,A.x,A.y);break;case "B":for(;!c();){var A=parseFloat(d()),N=parseFloat(d()),G=parseFloat(d()),T=parseFloat(d()),fa=parseFloat(d()),W=fa,P=!1;c()||(W=parseFloat(d()),c()||(P=0!==parseFloat(d())));n===n.toLowerCase()&&(G+=s.x,T+=s.y);t.arcTo(A,N,
+G,T,fa,W,P)}break;case "A":for(;!c();)N=Math.abs(parseFloat(d())),G=Math.abs(parseFloat(d())),T=parseFloat(d()),fa=!!parseFloat(d()),W=!!parseFloat(d()),A=g(),qf(t,N,G,T,fa,W,A.x,A.y);break;case "Z":A=t.q.mc.o[t.q.mc.length-1];V(t);s=q;break;case "F":A="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Uu]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;else{A=l[m+N];break}A.match(/[Mm]/)?x=!0:rf(t);break;case "U":A="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Ff]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;
+else{A=l[m+N];break}A.match(/[Mm]/)?y=!0:t.hb(!1)}q=t.q;z.u(t);if(b)for(t=q.mc.j;t.next();)A=t.value,A.tu=!0;return q};function sf(a,b){for(var c=a.length,d=z.P(),e=0;eh&&(h+=360),s.Me+=h);0>a&&(s.Me=180-s.Me,s.Bf=-s.Bf);0>d&&(s.Me=-s.Me,s.Bf=-s.Bf);s.radiusX*=Math.sqrt(a*a+c*c);void 0!==s.radiusY&&(s.radiusY*=Math.sqrt(b*b+d*d));break;case Qf:h=s.G;k=s.H;s.G=h*
a+k*c+e;s.H=h*b+k*d+g;0!==b&&(h=180*Math.atan2(b,a)/Math.PI,0>h&&(h+=360),s.Vj+=h);0>a&&(s.Vj=180-s.Vj,s.qm=!s.qm);0>d&&(s.Vj=-s.Vj,s.qm=!s.qm);s.radiusX*=Math.sqrt(a*a+c*c);s.radiusY*=Math.sqrt(b*b+d*d);break;default:z.k("Unknown Segment type: "+s.type)}}}}this.jb=!0;return this};
-Ve.prototype.Oa=function(a,b,c,d){var e=a.x,g=a.y,h=this.sb.x-20;a=a.y;for(var k=0,l=0,m=0,n=0,p=0,q=0,r=this.mc.o,s=r.length,v=0;v=a)return 0;if((e>h?e-h:h-e)<(g>k?g-k:k-g)){if(e=a=0,ge)return 0}else if(ee)return 0;return 0a?a=0:1=g)return d=(g-h)/p,c=c[k],k=c[2*n],e=c[2*n+1],b.m(k+(c[2*n+2]-k)*d,e+(c[2*n+3]-e)*d),b;h+=p}b.m(NaN,NaN);return b};
Ve.prototype.getFractionForPoint=Ve.prototype.II=function(a){if(this.type===hf){var b=this.na,c=this.la,d=this.G,e=this.H;if(b!==d||c!==e){var g=a.x;a=a.y;var h=0,k=0;return b===d?(c=k?k===c?0:1:Math.abs(a-c)/(k-h)):c===e?(b=k?k===b?0:1:Math.abs(g-b)/(k-h)):((g-b)*(g-b)+(a-c)*(a-c))/((d-b)*(d-b)+(e-c)*(e-c))}}else if(this.type===jf){if(b=this.na,c=this.la,d=this.G,e=this.H,b!==d||c!==e){var h=d-b,k=e-c,l=2*h+2*k,g=a.x;
a=a.y;g=Math.min(Math.max(g,b),d);a=Math.min(Math.max(a,c),e);var b=Math.abs(g-b),d=Math.abs(g-d),c=Math.abs(a-c),e=Math.abs(a-e),m=Math.min(b,d,c,e);if(m===c)return g/l;if(m===d)return(h+a)/l;if(m===e)return(2*h+k-g)/l;if(m===b)return(2*h+2*k-a)/l}}else{for(var e=this.DA,h=this.Gx,k=this.EA,l=z.P(),c=Infinity,b=d=0,g=e.length,n=m=0,p=0;pa?0:1a?0:1a?"M"+this.na.toString()+" "+this.la.toString():"M"+this.na.toFixed(a)+" "+this.la.toFixed(a),c=this.Db.o,d=c.length,e=0;ea&&(a+=360),this.Rd=a,this.df=0,u&&z.p(d,Wf,"x1"),this.Bh=Math.max(d,0),u&&z.p(e,Wf,"y1"),this.Kg=Math.max(e,0),this.pp="boolean"===typeof h?!!h:!1,this.Ho=!!k):(u&&z.p(d,Wf,"x1"),this.Rd=d,u&&z.p(e,
-Wf,"y1"),this.df=e,u&&z.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Bh=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Kg=h):this.Kg=0,this.Ho=this.pp=!1);this.ei=!1;this.jb=!0;this.tg=null}z.ka("PathSegment",Wf);z.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.da=this.da;a.Bb=this.Bb;a.Ib=this.Ib;a.Rd=this.Rd;a.df=this.df;a.Bh=this.Bh;a.Kg=this.Kg;a.pp=this.pp;a.Ho=this.Ho;a.ei=this.ei;a.jb=this.jb;return a};
+function Wf(a,b,c,d,e,g,h,k){z.wc(this);this.I=!1;void 0===a?a=mf:u&&z.Ca(a,Wf,Wf,"constructor:type");this.da=a;void 0!==b?(u&&z.p(b,Wf,"ex"),this.Bb=b):this.Bb=0;void 0!==c?(u&&z.p(c,Wf,"ey"),this.Ib=c):this.Ib=0;void 0===d&&(d=0);void 0===e&&(e=0);void 0===g&&(g=0);void 0===h&&(h=0);a===Qf?(a=g%360,0>a&&(a+=360),this.Rd=a,this.df=0,u&&z.p(d,Wf,"x1"),this.Bh=Math.max(d,0),u&&z.p(e,Wf,"y1"),this.Kg=Math.max(e,0),this.op="boolean"===typeof h?!!h:!1,this.Go=!!k):(u&&z.p(d,Wf,"x1"),this.Rd=d,u&&z.p(e,
+Wf,"y1"),this.df=e,u&&z.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Bh=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Kg=h):this.Kg=0,this.Go=this.op=!1);this.ei=!1;this.jb=!0;this.tg=null}z.ka("PathSegment",Wf);z.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.da=this.da;a.Bb=this.Bb;a.Ib=this.Ib;a.Rd=this.Rd;a.df=this.df;a.Bh=this.Bh;a.Kg=this.Kg;a.op=this.op;a.Go=this.Go;a.ei=this.ei;a.jb=this.jb;return a};
Wf.prototype.equalsApprox=Wf.prototype.Vc=function(a){if(!(a instanceof Wf)||this.type!==a.type||this.Nx!==a.Nx)return!1;switch(this.type){case Mf:case mf:return Q(this.G,a.G)&&Q(this.H,a.H);case Nf:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Dc,a.Dc)&&Q(this.Zc,a.Zc)&&Q(this.Rh,a.Rh)&&Q(this.Sh,a.Sh);case Of:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Dc,a.Dc)&&Q(this.Zc,a.Zc);case Pf:return Q(this.Me,a.Me)&&Q(this.Bf,a.Bf)&&Q(this.oa,a.oa)&&Q(this.xa,a.xa)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,
-a.radiusY);case Qf:return this.qm===a.qm&&this.Sx===a.Sx&&Q(this.Vj,a.Vj)&&Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,a.radiusY);default:return!1}};Wf.prototype.qc=function(a){a.Pe===Wf?this.type=a:z.Tj(this,a)};
+a.radiusY);case Qf:return this.qm===a.qm&&this.Sx===a.Sx&&Q(this.Vj,a.Vj)&&Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,a.radiusY);default:return!1}};Wf.prototype.pc=function(a){a.Pe===Wf?this.type=a:z.Tj(this,a)};
Wf.prototype.toString=function(a){void 0===a&&(a=-1);var b="";switch(this.type){case Mf:b=0>a?"M"+this.G.toString()+" "+this.H.toString():"M"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case mf:b=0>a?"L"+this.G.toString()+" "+this.H.toString():"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Nf:b=0>a?"C"+this.Dc.toString()+" "+this.Zc.toString()+" "+this.Rh.toString()+" "+this.Sh.toString()+" "+this.G.toString()+" "+this.H.toString():"C"+this.Dc.toFixed(a)+" "+this.Zc.toFixed(a)+" "+this.Rh.toFixed(a)+
" "+this.Sh.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Of:b=0>a?"Q"+this.Dc.toString()+" "+this.Zc.toString()+" "+this.G.toString()+" "+this.H.toString():"Q"+this.Dc.toFixed(a)+" "+this.Zc.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Pf:b=0>a?"B"+this.Me.toString()+" "+this.Bf.toString()+" "+this.oa.toString()+" "+this.xa.toString()+" "+this.radiusX:"B"+this.Me.toFixed(a)+" "+this.Bf.toFixed(a)+" "+this.oa.toFixed(a)+" "+this.xa.toFixed(a)+" "+this.radiusX;
break;case Qf:b=0>a?"A"+this.radiusX.toString()+" "+this.radiusY.toString()+" "+this.Vj.toString()+" "+(this.Sx?1:0)+" "+(this.qm?1:0)+" "+this.G.toString()+" "+this.H.toString():"A"+this.radiusX.toFixed(a)+" "+this.radiusY.toFixed(a)+" "+this.Vj.toFixed(a)+" "+(this.Sx?1:0)+" "+(this.qm?1:0)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;default:b=this.type.toString()}return b+(this.ei?"z":"")};var Mf;Wf.Move=Mf=z.s(Wf,"Move",0);var mf;Wf.Line=mf=z.s(Wf,"Line",1);var Nf;
Wf.Bezier=Nf=z.s(Wf,"Bezier",2);var Of;Wf.QuadraticBezier=Of=z.s(Wf,"QuadraticBezier",3);var Pf;Wf.Arc=Pf=z.s(Wf,"Arc",4);var Qf;Wf.SvgArc=Qf=z.s(Wf,"SvgArc",4);Wf.prototype.freeze=function(){this.I=!0;return this};Wf.prototype.Za=function(){this.I=!1;return this};Wf.prototype.close=Wf.prototype.close=function(){this.ei=!0;return this};
function Rf(a,b){if(null!==a.tg&&!1===b.jb)return a.tg;var c=a.radiusX,d=a.radiusY;void 0===d&&(d=c);if(0===c||0===d)return a.tg=[],a.tg;var e=a.Rd,g=a.df,h=Se(c=r?h=Math.PI:1<=r&&(h=0);!l&&0h&&(h+=2*Math.PI);l=b>g?1:b/g;r=b>g?g/b:1;b=Se(b>g?b:g,n,n+h,!0);g=z.Pf();g.reset();g.translate(c,d);g.rotate(a.Rd,0,0);g.scale(l,r);sf(b,g);z.Ie(g);a.tg=b;return a.tg}
z.defineProperty(Wf,{Nx:"isClosed"},function(){return this.ei},function(a){this.ei!==a&&(this.ei=a,this.jb=!0)});z.defineProperty(Wf,{type:"type"},function(){return this.da},function(a){u&&z.Ca(a,Wf,Wf,"type");this.I&&z.pa(this,a);this.da=a;this.jb=!0});z.defineProperty(Wf,{G:"endX"},function(){return this.Bb},function(a){u&&z.p(a,Wf,"endX");this.I&&z.pa(this,a);this.Bb=a;this.jb=!0});
z.defineProperty(Wf,{H:"endY"},function(){return this.Ib},function(a){u&&z.p(a,Wf,"endY");this.I&&z.pa(this,a);this.Ib=a;this.jb=!0});z.defineProperty(Wf,{Dc:"point1X"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"point1X");this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});z.defineProperty(Wf,{Zc:"point1Y"},function(){return this.df},function(a){u&&z.p(a,Wf,"point1Y");this.I&&z.pa(this,a);this.df=a;this.jb=!0});
z.defineProperty(Wf,{Rh:"point2X"},function(){return this.Bh},function(a){u&&z.p(a,Wf,"point2X");this.I&&z.pa(this,a);this.Bh=a;this.jb=!0});z.defineProperty(Wf,{Sh:"point2Y"},function(){return this.Kg},function(a){u&&z.p(a,Wf,"point2Y");this.I&&z.pa(this,a);this.Kg=a;this.jb=!0});z.defineProperty(Wf,{oa:"centerX"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"centerX");this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});
z.defineProperty(Wf,{xa:"centerY"},function(){return this.df},function(a){u&&z.p(a,Wf,"centerY");this.I&&z.pa(this,a);this.df=a;this.jb=!0});z.defineProperty(Wf,{radiusX:"radiusX"},function(){return this.Bh},function(a){u&&z.p(a,Wf,"radiusX");0>a&&z.wa(a,">= zero",Wf,"radiusX");this.I&&z.pa(this,a);this.Bh=a;this.jb=!0});z.defineProperty(Wf,{radiusY:"radiusY"},function(){return this.Kg},function(a){u&&z.p(a,Wf,"radiusY");0>a&&z.wa(a,">= zero",Wf,"radiusY");this.I&&z.pa(this,a);this.Kg=a;this.jb=!0});
-z.defineProperty(Wf,{Me:"startAngle"},function(){return this.Bb},function(a){this.Bb!==a&&(this.I&&z.pa(this,a),u&&z.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Bb=a,this.jb=!0)});z.defineProperty(Wf,{Bf:"sweepAngle"},function(){return this.Ib},function(a){u&&z.p(a,Wf,"sweepAngle");this.I&&z.pa(this,a);360a&&(a=-360);this.Ib=a;this.jb=!0});z.defineProperty(Wf,{qm:"isClockwiseArc"},function(){return this.Ho},function(a){this.I&&z.pa(this,a);this.Ho=a;this.jb=!0});
-z.defineProperty(Wf,{Sx:"isLargeArc"},function(){return this.pp},function(a){this.I&&z.pa(this,a);this.pp=a;this.jb=!0});z.defineProperty(Wf,{Vj:"xAxisRotation"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});
+z.defineProperty(Wf,{Me:"startAngle"},function(){return this.Bb},function(a){this.Bb!==a&&(this.I&&z.pa(this,a),u&&z.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Bb=a,this.jb=!0)});z.defineProperty(Wf,{Bf:"sweepAngle"},function(){return this.Ib},function(a){u&&z.p(a,Wf,"sweepAngle");this.I&&z.pa(this,a);360a&&(a=-360);this.Ib=a;this.jb=!0});z.defineProperty(Wf,{qm:"isClockwiseArc"},function(){return this.Go},function(a){this.I&&z.pa(this,a);this.Go=a;this.jb=!0});
+z.defineProperty(Wf,{Sx:"isLargeArc"},function(){return this.op},function(a){this.I&&z.pa(this,a);this.op=a;this.jb=!0});z.defineProperty(Wf,{Vj:"xAxisRotation"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});
function Yf(){this.ca=null;this.cA=(new M(0,0)).freeze();this.jz=(new M(0,0)).freeze();this.vv=this.pw=0;this.wv=1;this.ew="";this.Xw=this.Lv=!1;this.Iv=this.xv=0;this.Xj=this.Sv=this.bw=!1;this.Qr=null;this.Vw=0;this.Ng=this.Uw=null}z.ka("InputEvent",Yf);
-Yf.prototype.copy=function(){var a=new Yf;a.ca=this.ca;a.cA.assign(this.te);a.jz.assign(this.ha);a.pw=this.pw;a.vv=this.vv;a.wv=this.wv;a.ew=this.ew;a.Lv=this.Lv;a.Xw=this.Xw;a.xv=this.xv;a.Iv=this.Iv;a.bw=this.bw;a.Sv=this.Sv;a.Xj=this.Xj;a.Qr=this.Qr;a.Vw=this.Vw;a.Uw=this.Uw;a.Ng=this.Ng;return a};
-Yf.prototype.toString=function(){var a="^";0!==this.Ld&&(a+="M:"+this.Ld);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Qe&&(a+="C:"+this.Qe);0!==this.fm&&(a+="D:"+this.fm);this.Nc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};z.defineProperty(Yf,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});z.defineProperty(Yf,{te:"viewPoint"},function(){return this.cA},function(a){z.l(a,M,Yf,"viewPoint");this.cA.assign(a)});
+Yf.prototype.copy=function(){var a=new Yf;a.ca=this.ca;a.cA.assign(this.se);a.jz.assign(this.ha);a.pw=this.pw;a.vv=this.vv;a.wv=this.wv;a.ew=this.ew;a.Lv=this.Lv;a.Xw=this.Xw;a.xv=this.xv;a.Iv=this.Iv;a.bw=this.bw;a.Sv=this.Sv;a.Xj=this.Xj;a.Qr=this.Qr;a.Vw=this.Vw;a.Uw=this.Uw;a.Ng=this.Ng;return a};
+Yf.prototype.toString=function(){var a="^";0!==this.Ld&&(a+="M:"+this.Ld);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Qe&&(a+="C:"+this.Qe);0!==this.fm&&(a+="D:"+this.fm);this.Nc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};z.defineProperty(Yf,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});z.defineProperty(Yf,{se:"viewPoint"},function(){return this.cA},function(a){z.l(a,M,Yf,"viewPoint");this.cA.assign(a)});
z.defineProperty(Yf,{ha:"documentPoint"},function(){return this.jz},function(a){z.l(a,M,Yf,"documentPoint");this.jz.assign(a)});Yf.prototype.getMultiTouchViewPoint=Yf.prototype.Ix=function(a,b){var c=this.g;if(null===c)return b;Zf(c,this.event,a,b);return b};Yf.prototype.getMultiTouchDocumentPoint=function(a,b){var c=this.g;if(null===c)return b;Zf(c,this.event,a,b);b.assign(c.NB(b));return b};z.defineProperty(Yf,{Ld:"modifiers"},function(){return this.pw},function(a){this.pw=a});
z.defineProperty(Yf,{button:"button"},function(){return this.vv},function(a){this.vv=a;if(null===this.event)switch(a){case 0:this.buttons=1;break;case 1:this.buttons=4;break;case 2:this.buttons=2}});z.defineProperty(Yf,{buttons:"buttons"},function(){return this.wv},function(a){this.wv=a});z.defineProperty(Yf,{key:"key"},function(){return this.ew},function(a){this.ew=a});z.defineProperty(Yf,{gm:"down"},function(){return this.Lv},function(a){this.Lv=a});
z.defineProperty(Yf,{up:"up"},function(){return this.Xw},function(a){this.Xw=a});z.defineProperty(Yf,{Qe:"clickCount"},function(){return this.xv},function(a){this.xv=a});z.defineProperty(Yf,{fm:"delta"},function(){return this.Iv},function(a){this.Iv=a});z.defineProperty(Yf,{vu:"isMultiTouch"},function(){return this.bw},function(a){this.bw=a});z.defineProperty(Yf,{Nc:"handled"},function(){return this.Sv},function(a){this.Sv=a});
@@ -323,31 +323,31 @@ z.defineProperty(Yf,{eh:"targetDiagram"},function(){return this.Uw},function(a){
z.defineProperty(Yf,{alt:"alt"},function(){return 0!==(this.Ld&2)},function(a){this.Ld=a?this.Ld|2:this.Ld&-3});z.defineProperty(Yf,{Du:"meta"},function(){return 0!==(this.Ld&8)},function(a){this.Ld=a?this.Ld|8:this.Ld&-9});z.defineProperty(Yf,{left:"left"},function(){var a=this.event;return null!==a&&a instanceof MouseEvent&&("mousedown"===a.type||"mouseup"===a.type)?0===this.button:0!==(this.buttons&1)},function(a){this.buttons=a?this.buttons|1:this.buttons&-2});
z.defineProperty(Yf,{right:"right"},function(){var a=this.event;return null!==a&&a instanceof MouseEvent&&("mousedown"===a.type||"mouseup"===a.type)?2===this.button:0!==(this.buttons&2)},function(a){this.buttons=a?this.buttons|2:this.buttons&-3});z.defineProperty(Yf,{aM:"middle"},function(){var a=this.event;return null!==a&&a instanceof MouseEvent&&("mousedown"===a.type||"mouseup"===a.type)?1===this.button:0!==(this.buttons&4)},function(a){this.buttons=a?this.buttons|4:this.buttons&-5});
function $f(){this.ca=null;this.Xb="";this.yw=this.Sw=null;this.mr=!1}z.ka("DiagramEvent",$f);$f.prototype.copy=function(){var a=new $f;a.ca=this.ca;a.Xb=this.Xb;a.Sw=this.Sw;a.yw=this.yw;a.mr=this.mr;return a};$f.prototype.toString=function(){var a="*"+this.name;null!==this.HB&&(a+=":"+this.HB.toString());null!==this.lB&&(a+="("+this.lB.toString()+")");return a};z.defineProperty($f,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});
-z.defineProperty($f,{name:"name"},function(){return this.Xb},function(a){this.Xb=a});z.defineProperty($f,{HB:"subject"},function(){return this.Sw},function(a){this.Sw=a});z.defineProperty($f,{lB:"parameter"},function(){return this.yw},function(a){this.yw=a});z.defineProperty($f,{cancel:"cancel"},function(){return this.mr},function(a){this.mr!==a&&z.Nn("DiagramEvent.cancel","2.0");this.mr=a});function ag(){this.nr=bg;this.jn=this.ow="";this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.ye=null}
-z.ka("ChangedEvent",ag);var rg;ag.Transaction=rg=z.s(ag,"Transaction",-1);var bg;ag.Property=bg=z.s(ag,"Property",0);var sg;ag.Insert=sg=z.s(ag,"Insert",1);var tg;ag.Remove=tg=z.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.ye=null};
-ag.prototype.copy=function(){var a=new ag;a.nr=this.nr;a.ow=this.ow;a.jn=this.jn;a.ye=this.ye;a.ca=this.ca;a.Ns=this.Ns;var b=this.Ps;a.Ps=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Os;a.Os=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ks;a.Ks=z.Xa(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.qc=function(a){a.Pe===ag?this.Kc=a:z.Tj(this,a)};
+z.defineProperty($f,{name:"name"},function(){return this.Xb},function(a){this.Xb=a});z.defineProperty($f,{HB:"subject"},function(){return this.Sw},function(a){this.Sw=a});z.defineProperty($f,{lB:"parameter"},function(){return this.yw},function(a){this.yw=a});z.defineProperty($f,{cancel:"cancel"},function(){return this.mr},function(a){this.mr!==a&&z.Nn("DiagramEvent.cancel","2.0");this.mr=a});function ag(){this.nr=bg;this.jn=this.ow="";this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.xe=null}
+z.ka("ChangedEvent",ag);var rg;ag.Transaction=rg=z.s(ag,"Transaction",-1);var bg;ag.Property=bg=z.s(ag,"Property",0);var sg;ag.Insert=sg=z.s(ag,"Insert",1);var tg;ag.Remove=tg=z.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.xe=null};
+ag.prototype.copy=function(){var a=new ag;a.nr=this.nr;a.ow=this.ow;a.jn=this.jn;a.xe=this.xe;a.ca=this.ca;a.Ns=this.Ns;var b=this.Ps;a.Ps=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Os;a.Os=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ks;a.Ks=z.Xa(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.pc=function(a){a.Pe===ag?this.Kc=a:z.Tj(this,a)};
ag.prototype.toString=function(){var a="",a=this.Kc===rg?a+"* ":this.Kc===bg?a+(null!==this.ia?"!m":"!d"):a+((null!==this.ia?"!m":"!d")+this.Kc);this.propertyName&&"string"===typeof this.propertyName&&(a+=" "+this.propertyName);this.Af&&this.Af!==this.propertyName&&(a+=" "+this.Af);a+=": ";this.Kc===rg?null!==this.oldValue&&(a+=" "+this.oldValue):(null!==this.object&&(a+=ka(this.object)),null!==this.oldValue&&(a+=" old: "+ka(this.oldValue)),null!==this.Oj&&(a+=" "+this.Oj),null!==this.newValue&&
(a+=" new: "+ka(this.newValue)),null!==this.Mj&&(a+=" "+this.Mj));return a};ag.prototype.getValue=ag.prototype.qa=function(a){return a?this.oldValue:this.newValue};ag.prototype.getParam=function(a){return a?this.Oj:this.Mj};ag.prototype.canUndo=ag.prototype.canUndo=function(){return null!==this.ia||null!==this.g?!0:!1};ag.prototype.undo=ag.prototype.undo=function(){this.canUndo()&&(null!==this.ia?this.ia.En(this,!0):null!==this.g&&this.g.En(this,!0))};
-ag.prototype.canRedo=ag.prototype.canRedo=function(){return null!==this.ia||null!==this.g?!0:!1};ag.prototype.redo=ag.prototype.redo=function(){this.canRedo()&&(null!==this.ia?this.ia.En(this,!1):null!==this.g&&this.g.En(this,!1))};z.defineProperty(ag,{ia:"model"},function(){return this.ye},function(a){this.ye=a});z.defineProperty(ag,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});
+ag.prototype.canRedo=ag.prototype.canRedo=function(){return null!==this.ia||null!==this.g?!0:!1};ag.prototype.redo=ag.prototype.redo=function(){this.canRedo()&&(null!==this.ia?this.ia.En(this,!1):null!==this.g&&this.g.En(this,!1))};z.defineProperty(ag,{ia:"model"},function(){return this.xe},function(a){this.xe=a});z.defineProperty(ag,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});
z.defineProperty(ag,{Kc:"change"},function(){return this.nr},function(a){u&&z.Ca(a,ag,ag,"change");this.nr=a});z.defineProperty(ag,{Af:"modelChange"},function(){return this.ow},function(a){u&&z.h(a,"string",ag,"modelChange");this.ow=a});z.defineProperty(ag,{propertyName:"propertyName"},function(){return this.jn},function(a){u&&"string"!==typeof a&&z.h(a,"function",ag,"propertyName");this.jn=a});
z.w(ag,{NF:"isTransactionFinished"},function(){return this.nr===rg&&("CommittedTransaction"===this.jn||"FinishedUndo"===this.jn||"FinishedRedo"===this.jn)});z.defineProperty(ag,{object:"object"},function(){return this.Ns},function(a){this.Ns=a});z.defineProperty(ag,{oldValue:"oldValue"},function(){return this.Ps},function(a){this.Ps=a});z.defineProperty(ag,{Oj:"oldParam"},function(){return this.Os},function(a){this.Os=a});
z.defineProperty(ag,{newValue:"newValue"},function(){return this.Ls},function(a){this.Ls=a});z.defineProperty(ag,{Mj:"newParam"},function(){return this.Ks},function(a){this.Ks=a});
-function L(a){1d)return;z.Rg(a.ze,d)}dh(a,"nodeDataArray",tg,"nodeDataArray",a,b,null,d,null);a.dv(b)}
+L.prototype.makeNodeDataKeyUnique=L.prototype.ZA=function(a){if(null!==a){var b=this.uk;if(""!==b){var c=this.Cb(a);if(void 0===c||this.Gc.contains(c)){var d=this.sp;if(null!==d&&(c=d(this,a),void 0!==c&&null!==c&&!this.Gc.contains(c))){z.Ua(a,b,c);return}if("string"===typeof c){for(d=2;this.Gc.contains(c+d);)d++;z.Ua(a,b,c+d)}else if(void 0===c||"number"===typeof c){for(d=-this.Gc.count-1;this.Gc.contains(d);)d--;z.Ua(a,b,d)}else z.k("Model.getKeyForNodeData returned something other than a string or a number: "+
+c)}}}};L.prototype.addNodeData=L.prototype.Tl=function(a){null!==a&&(z.oq(a),this.ke(a)||gh(this,a,!0))};function gh(a,b,c){var d=a.Cb(b);if(void 0===d||a.Gc.qa(d)!==b)a.ZA(b),d=a.Cb(b),void 0===d?z.k("Model.makeNodeDataKeyUnique failed on "+b+". Data not added to Model."):(a.Gc.add(d,b),d=null,c&&(d=z.bb(a.ye),z.Hh(a.ye,d,b)),dh(a,"nodeDataArray",sg,"nodeDataArray",a,null,b,null,d),a.Kq(b),a.Jq(b))}
+L.prototype.addNodeDataCollection=function(a){if(z.isArray(a))for(var b=z.bb(a),c=0;cd)return;z.Rg(a.ye,d)}dh(a,"nodeDataArray",tg,"nodeDataArray",a,b,null,d,null);a.dv(b)}
L.prototype.removeNodeDataCollection=function(a){if(z.isArray(a))for(var b=z.bb(a),c=0;cb&&(b=z.bb(a));z.Hh(a,b,c);dh(this,"",sg,"",a,null,c,null,b)};
-L.prototype.removeArrayItem=L.prototype.hG=function(a,b){void 0===b&&(b=-1);u&&(z.Tt(a,L,"removeArrayItem:arr"),z.p(b,L,"removeArrayItem:idx"));a===this.ze&&z.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=z.bb(a)-1);var c=z.Ma(a,b);z.Rg(a,b);dh(this,"",tg,"",a,c,null,b,null)};z.defineProperty(L,{jo:"nodeCategoryProperty"},function(){return this.dn},function(a){var b=this.dn;b!==a&&(eh(a,L,"nodeCategoryProperty"),this.dn=a,this.i("nodeCategoryProperty",b,a))});
+L.prototype.setDataProperty=function(a,b,c){u&&(z.h(a,"object",L,"setDataProperty:data"),z.h(b,"string",L,"setDataProperty:propname"),""===b&&z.k("Model.setDataProperty: property name must not be an empty string when setting "+a+" to "+c));if(this.ke(a))if(b===this.Nj)this.yy(a,c);else{if(b===this.jo){this.xy(a,c);return}}else!oh&&a instanceof O&&(oh=!0,z.trace('Model.setDataProperty is modifying a GraphObject, "'+a.toString()+'"'),z.trace(" Is that really your intent?"));var d=z.vb(a,b);d!==c&&
+(z.Ua(a,b,c),this.mB(a,b,d,c))};L.prototype.addArrayItem=function(a,b){this.PA(a,-1,b)};L.prototype.insertArrayItem=L.prototype.PA=function(a,b,c){u&&(z.Tt(a,L,"insertArrayItem:arr"),z.p(b,L,"insertArrayItem:idx"));a===this.ye&&z.k("Model.insertArrayItem or Model.addArrayItem should not be called on the Model.nodeDataArray");0>b&&(b=z.bb(a));z.Hh(a,b,c);dh(this,"",sg,"",a,null,c,null,b)};
+L.prototype.removeArrayItem=L.prototype.hG=function(a,b){void 0===b&&(b=-1);u&&(z.Tt(a,L,"removeArrayItem:arr"),z.p(b,L,"removeArrayItem:idx"));a===this.ye&&z.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=z.bb(a)-1);var c=z.Ma(a,b);z.Rg(a,b);dh(this,"",tg,"",a,c,null,b,null)};z.defineProperty(L,{jo:"nodeCategoryProperty"},function(){return this.dn},function(a){var b=this.dn;b!==a&&(eh(a,L,"nodeCategoryProperty"),this.dn=a,this.i("nodeCategoryProperty",b,a))});
L.prototype.getCategoryForNodeData=L.prototype.IA=function(a){if(null===a)return"";var b=this.dn;if(""===b)return"";b=z.vb(a,b);if(void 0===b)return"";if("string"===typeof b)return b;z.k("getCategoryForNodeData found a non-string category for "+a+": "+b);return""};
-L.prototype.setCategoryForNodeData=L.prototype.xy=function(a,b){z.h(b,"string",L,"setCategoryForNodeData:cat");if(null!==a){var c=this.dn;if(""!==c)if(this.le(a)){var d=z.vb(a,c);void 0===d&&(d="");d!==b&&(z.Ua(a,c,b),dh(this,"nodeCategory",bg,c,a,d,b))}else z.Ua(a,c,b)}};
-function X(a,b){2z.Yl(d,a.newValue)&&z.Hh(d,c,a.newValue));return}}else if(a.Kc===
tg){c=a.Oj;if("linkDataArray"===a.Af){d=a.oldValue;z.Xa(d)&&"number"===typeof c&&(e=this.eg(d),b?(this.hi.add(d),z.Ma(this.bf,c)!==d&&z.Hh(this.bf,c,d),void 0!==e&&this.qd.add(e,d)):(this.hi.remove(d),z.Ma(this.bf,c)===d&&z.Rg(this.bf,c),void 0!==e&&this.qd.remove(e)));return}if("linkLabelKeys"===a.Af){d=this.Rk(a.object);z.isArray(d)&&"number"===typeof c&&(b?0>z.Yl(d,a.newValue)&&z.Hh(d,c,a.newValue):(c=z.Yl(d,a.newValue),0<=c&&z.Rg(d,c)));return}}L.prototype.En.call(this,a,b)};
z.defineProperty(X,{jA:"archetypeNodeData"},function(){return this.ol},function(a){var b=this.ol;b!==a&&(null!==a&&z.l(a,Object,X,"archetypeNodeData"),this.ol=a,this.i("archetypeNodeData",b,a))});X.prototype.ho=function(a){if(void 0!==a){var b=this.ol;if(null!==b){var c=this.Ge(a);null===c&&(c=this.copyNodeData(b),z.Ua(c,this.uk,a),this.Tl(c))}return a}};
@@ -417,252 +417,252 @@ X.prototype.getLabelKeysForLinkData=X.prototype.Rk=function(a){if(null===a)retur
X.prototype.setLabelKeysForLinkData=X.prototype.FG=function(a,b){z.Tt(b,X,"setLabelKeysForLinkData:arr");if(null!==a){var c=this.Gg;if(""!==c)if(this.Kh(a)){var d=z.vb(a,c);void 0===d&&(d=z.bl);if(d!==b){for(var e=z.bb(d),g=0;ge||(z.Rg(d,e),this.Kh(a)&&(kh(this,b,a),dh(this,"linkLabelKeys",tg,c,a,b,null,e,null)))}else void 0!==d&&z.k(c+" property is not an Array; cannot removeLabelKeyforLinkData: "+a)}}};
-z.defineProperty(X,{Xg:"linkDataArray"},function(){return this.bf},function(a){var b=this.bf;if(b!==a){z.Tt(a,X,"linkDataArray");this.qd.clear();for(var c=z.bb(a),d=0;dd)return;z.Rg(a.bf,d)}dh(a,"linkDataArray",tg,"linkDataArray",a,b,null,d,null);c=a.mm(b);kh(a,c,b);c=a.nm(b);kh(a,c,b);d=a.Rk(b);if(z.isArray(d))for(var e=z.bb(d),g=0;ga.Vh&&z.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Vh;d&&b&&a.sd("CommittingTransaction",c,a.zj);var e=0;if(0a.Ej;e--)g=d.fa(e),null!==g&&g.clear(),
+ug.prototype.clear=ug.prototype.clear=function(){var a=this.history;a.Za();for(var b=a.count-1;0<=b;b--){var c=a.fa(b);null!==c&&c.clear()}a.clear();this.rh=-1;a.freeze();this.bj=!1;this.Hv=null;this.Ql=0;this.xh.Za();this.xh.clear();this.xh.freeze();this.wp.clear()};ug.prototype.addModel=ug.prototype.LH=function(a){this.Lz.add(a)};ug.prototype.removeModel=ug.prototype.ZJ=function(a){this.Lz.remove(a)};
+ug.prototype.startTransaction=ug.prototype.$b=function(a){void 0===a&&(a="");null===a&&(a="");if(this.lb)return!1;!0===this.uz&&(this.uz=!1,this.Ql++,this.sd("StartingFirstTransaction",a,this.zj),0a.Vh&&z.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Vh;d&&b&&a.sd("CommittingTransaction",c,a.zj);var e=0;if(0a.Ej;e--)g=d.fa(e),null!==g&&g.clear(),
d.md(e),a.Fz=!0;e=a.UF;0===e&&(e=1);0=e&&(g=d.fa(0),null!==g&&g.clear(),d.md(0),a.rh--);d.add(b);a.rh++;d.freeze();g=b}a.sd("CommittedTransaction",c,g)}else{a.bj=!0;try{a.isEnabled&&null!==g&&(g.ru=!0,g.undo())}finally{a.sd("RolledBackTransaction",c,g),a.bj=!1}null!==g&&g.clear()}a.Hv=null;return!0}if(a.isEnabled&&!b&&null!==g){a=e;c=g.bg;for(b=c.count-1;b>=a;b--)d=c.fa(b),null!==d&&d.undo(),c.Za(),c.md(b);c.freeze()}return!1}
ug.prototype.canUndo=ug.prototype.canUndo=function(){if(!this.isEnabled||0=this.Vh&&!this.uz&&(a=a.g,null!==a&&!1===a.Zn||z.trace("Change not within a transaction: "+c.toString()))}};
ug.prototype.skipsEvent=function(a){if(null===a||0>a.Kc.value)return!0;a=a.object;if(a instanceof O){if(a=a.layer,null!==a&&a.Wc)return!0}else if(a instanceof ah&&a.Wc)return!0;return!1};z.w(ug,{GJ:"models"},function(){return this.Lz.j});z.defineProperty(ug,{isEnabled:"isEnabled"},function(){return this.pf},function(a){this.pf=a});z.w(ug,{YG:"transactionToUndo"},function(){return 0<=this.Ej&&this.Ej<=this.history.count-1?this.history.fa(this.Ej):null});
z.w(ug,{XG:"transactionToRedo"},function(){return this.Ejb.Oh||(b.scale=a))};ta.prototype.canDecreaseZoom=function(a){void 0===a&&(a=1/this.Fy);z.p(a,ta,"canDecreaseZoom:factor");var b=this.g;if(null===b||b.Zl!==Qh)return!1;a*=b.scale;return ab.Oh?!1:b.lx};
ta.prototype.increaseZoom=function(a){void 0===a&&(a=this.Fy);z.p(a,ta,"increaseZoom:factor");var b=this.g;null!==b&&b.Zl===Qh&&(a*=b.scale,ab.Oh||(b.scale=a))};ta.prototype.canIncreaseZoom=function(a){void 0===a&&(a=this.Fy);z.p(a,ta,"canIncreaseZoom:factor");var b=this.g;if(null===b||b.Zl!==Qh)return!1;a*=b.scale;return ab.Oh?!1:b.lx};ta.prototype.resetZoom=function(a){void 0===a&&(a=this.vx);z.p(a,ta,"resetZoom:newscale");var b=this.g;null===b||ab.Oh||(b.scale=a)};
ta.prototype.canResetZoom=function(a){void 0===a&&(a=this.vx);z.p(a,ta,"canResetZoom:newscale");var b=this.g;return null===b||ab.Oh?!1:b.lx};ta.prototype.zoomToFit=function(){var a=this.g;if(null!==a){var b=a.scale,c=a.position;b===this.fA&&!isNaN(this.Gz)&&a.fd.O(this.eA)?(a.scale=this.Gz,a.position=this.lD,this.fA=NaN,this.eA=Ed):(this.Gz=b,this.lD=c.copy(),a.zoomToFit(),this.fA=a.scale,this.eA=a.fd.copy())}};ta.prototype.canZoomToFit=function(){var a=this.g;return null===a?!1:a.lx};
-ta.prototype.scrollToPart=function(a){void 0===a&&(a=null);null!==a&&z.l(a,D,ta,"part");var b=this.g;if(null!==b){if(null===a){try{null!==this.qj&&(this.qj.next()?a=this.qj.value:this.qj=null)}catch(c){this.qj=null}null===a&&(0e||Math.abs(b.y-a.y)>d};z.w(bh,{g:"diagram"},function(){return this.ca});z.defineProperty(bh,{name:"name"},function(){return this.Xb},function(a){z.h(a,"string",bh,"name");this.Xb=a});
+bh.prototype.cancelWaitAfter=function(){-1!==this.$w&&z.clearTimeout(this.$w);this.$w=-1};bh.prototype.doWaitAfter=function(){};bh.prototype.findToolHandleAt=function(a,b){var c=this.g;if(null===c)return null;c=c.He(a,function(a){for(;null!==a&&!(a.Q instanceof ea);)a=a.Q;return a});return null===c?null:c.Q.rc===b?c:null};
+bh.prototype.isBeyondDragSize=function(a,b){var c=this.g;if(null===c)return!1;void 0===a&&(a=c.Mc.se);void 0===b&&(b=c.U.se);var d=c.ib.sI,e=d.width,d=d.height;c.Mc.Hj&&(e+=6,d+=6);return Math.abs(b.x-a.x)>e||Math.abs(b.y-a.y)>d};z.w(bh,{g:"diagram"},function(){return this.ca});z.defineProperty(bh,{name:"name"},function(){return this.Xb},function(a){z.h(a,"string",bh,"name");this.Xb=a});
z.defineProperty(bh,{isEnabled:"isEnabled"},function(){return this.pf},function(a){z.h(a,"boolean",bh,"isEnabled");this.pf=a});z.defineProperty(bh,{ya:"isActive"},function(){return this.ZC},function(a){z.h(a,"boolean",bh,"isActive");this.ZC=a});z.defineProperty(bh,{Qf:"transactionResult"},function(){return this.jE},function(a){null!==a&&z.h(a,"string",bh,"transactionResult");this.jE=a});
-function Ph(){0e&&(e=k),l>g&&(g=l))}}Infinity===c?b.m(0,0,0,0):b.m(c,d,e-c,g-d)}
-function Hi(a,b){if(null===a.kc){var c=a.g;if(!(null===c||b&&(c.kb||c.Hf))&&null!==a.fc){var d=c.sa;d.isEnabled&&d.JF?null!==d.zj&&0e&&(e=k),l>g&&(g=l))}}Infinity===c?b.m(0,0,0,0):b.m(c,d,e-c,g-d)}
+function Hi(a,b){if(null===a.kc){var c=a.g;if(!(null===c||b&&(c.kb||c.Hf))&&null!==a.fc){var d=c.sa;d.isEnabled&&d.JF?null!==d.zj&&0c.ua)){var d=a.g;if(null!==d&&!d.kb&&(d=a.oj,null!==d)){var e=null,g=null;null===c.aa&&(e=Ri(a,c.n(0),!1),null!==e&&(g=e.ba));var h=null,k=null;null===c.ea&&(h=Ri(a,c.n(c.ua-1),!0),null!==h&&(k=h.ba));d.isValidLink(g,e,k,h)?b?(c.eq=c.n(0),c.fq=c.n(c.ua-1),c.Sj=!1,c.aa=g,null!==e&&(c.dg=e.vd),c.ea=k,null!==h&&(c.ih=h.vd)):Si(d,g,e,k,h):Si(d,null,null,null,null)}}}Ph.prototype.doDragOver=function(){};
+function Oi(a,b){var c=a.td;if(null!==c&&!(2>c.ua)){var d=a.g;if(null!==d&&!d.kb&&(d=a.oj,null!==d)){var e=null,g=null;null===c.aa&&(e=Ri(a,c.n(0),!1),null!==e&&(g=e.ba));var h=null,k=null;null===c.ea&&(h=Ri(a,c.n(c.ua-1),!0),null!==h&&(k=h.ba));d.isValidLink(g,e,k,h)?b?(c.dq=c.n(0),c.eq=c.n(c.ua-1),c.Sj=!1,c.aa=g,null!==e&&(c.dg=e.vd),c.ea=k,null!==h&&(c.ih=h.vd)):Si(d,g,e,k,h):Si(d,null,null,null,null)}}}Ph.prototype.doDragOver=function(){};
function Ti(a,b){var c=a.g;if(null!==c){a.Bj&&Oi(a,!0);zi(a);var d=Pi(c,b,null,function(b){return!Mi(a,b)}),e=c.U;e.We=d;if(null!==d){e.Nc=!1;for(var g=d;null!==g;){var h=g.bB;if(null!==h&&(h(e,g),e.Nc))break;g=Qi(g)}}else h=c.bB,null!==h&&h(e);if(a.ya||null!==Yh){for(e=(a.kc||a.fc).j;e.next();)g=e.key,g instanceof E&&g.Jd.each(function(a){a.Sj=!1});a.doDropOnto(b,d);if(a.ya||null!==Yh){d=z.Of();for(e=c.selection.j;e.next();)g=e.value,g instanceof E&&Ui(c,g.getAvoidableRect(d));z.Mb(d)}}}}
-Ph.prototype.doDropOnto=function(){};Ph.prototype.doMouseMove=function(){if(this.ya){var a=this.g;if(null!==a&&null!==this.Ln&&null!==this.fc){var b=!1,c=!1;this.mayCopy()?(b=!0,a.lc="copy",Hi(this,!1),this.xt(this.kc),Ii(this,this.kc,!1),this.Ep(this.kc)):this.mayMove()?(c=!0,a.lc="default",Ci(this),Ii(this,this.fc,!0)):this.mayDragOut()?(a.lc="no-drop",Hi(this,!1),Ii(this,this.kc,!1)):Ci(this);Ni(this,a.U.ha,c,b)}}};
-Ph.prototype.doMouseUp=function(){if(this.ya){var a=this.g;if(null!==a){var b=!1,c=this.mayCopy();c&&null!==this.kc?(Ci(this),Hi(this,!0),this.xt(this.kc),Ii(this,this.kc,!1),this.Ep(this.kc),null!==this.kc&&a.AG(this.kc.Uj())):(b=!0,Ci(this),this.mayMove()&&(Ii(this,this.fc,!0),Ni(this,a.U.ha,!0,!1)));this.Kr=!0;Ti(this,a.U.ha);if(this.ya){this.kc=null;if(b&&null!==this.fc)for(b=this.fc.j;b.next();){var d=b.key;d instanceof E&&(d=d.Qa,null===d||null===d.placeholder||this.fc.contains(d)||d.placeholder.K())}a.Bc();
-this.Ep(this.fc);this.Qf=c?"Copy":"Move";a.Ka(c?"SelectionCopied":"SelectionMoved",a.selection)}this.stopTool()}}};Ph.prototype.mayCopy=function(){if(!this.EF)return!1;var a=this.g;if(null===a||a.kb||a.Hf||!a.Wp||!a.Ik||(z.Uk?!a.U.alt:!a.U.control))return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.re()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};
-Ph.prototype.mayDragOut=function(){if(!this.EF)return!1;var a=this.g;if(null===a||!a.Qt||!a.Ik||a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.re()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};Ph.prototype.mayMove=function(){var a=this.g;if(null===a||a.kb||!a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.re()&&b.canMove())return!0}return null!==this.td&&this.Bj&&this.td.canMove()?!0:!1};var Ai=new J(Ph),Yh=null,Zh=null;
-Ph.prototype.getDraggingSource=function(){return Yh};Ph.prototype.mayDragIn=function(){var a=this.g;if(null===a||!a.wE||a.kb||a.Hf||!a.Wp)return!1;var b=Yh;return null===b||null===b.g||b.g.ia.dm!==a.ia.dm?!1:!0};Ph.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.g;a.Ya.Ii();Vi(a);a=Yh;null!==a&&null!==a.g&&(a.g.lc="copy")}};Ph.prototype.doSimulatedDragLeave=function(){var a=Yh;null!==a&&a.doSimulatedDragOut();this.doCancel()};
+Ph.prototype.doDropOnto=function(){};Ph.prototype.doMouseMove=function(){if(this.ya){var a=this.g;if(null!==a&&null!==this.Ln&&null!==this.fc){var b=!1,c=!1;this.mayCopy()?(b=!0,a.lc="copy",Hi(this,!1),this.xt(this.kc),Ii(this,this.kc,!1),this.Dp(this.kc)):this.mayMove()?(c=!0,a.lc="default",Ci(this),Ii(this,this.fc,!0)):this.mayDragOut()?(a.lc="no-drop",Hi(this,!1),Ii(this,this.kc,!1)):Ci(this);Ni(this,a.U.ha,c,b)}}};
+Ph.prototype.doMouseUp=function(){if(this.ya){var a=this.g;if(null!==a){var b=!1,c=this.mayCopy();c&&null!==this.kc?(Ci(this),Hi(this,!0),this.xt(this.kc),Ii(this,this.kc,!1),this.Dp(this.kc),null!==this.kc&&a.AG(this.kc.Uj())):(b=!0,Ci(this),this.mayMove()&&(Ii(this,this.fc,!0),Ni(this,a.U.ha,!0,!1)));this.Kr=!0;Ti(this,a.U.ha);if(this.ya){this.kc=null;if(b&&null!==this.fc)for(b=this.fc.j;b.next();){var d=b.key;d instanceof E&&(d=d.Qa,null===d||null===d.placeholder||this.fc.contains(d)||d.placeholder.K())}a.Bc();
+this.Dp(this.fc);this.Qf=c?"Copy":"Move";a.Ka(c?"SelectionCopied":"SelectionMoved",a.selection)}this.stopTool()}}};Ph.prototype.mayCopy=function(){if(!this.EF)return!1;var a=this.g;if(null===a||a.kb||a.Hf||!a.Vp||!a.Ik||(z.Uk?!a.U.alt:!a.U.control))return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.qe()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};
+Ph.prototype.mayDragOut=function(){if(!this.EF)return!1;var a=this.g;if(null===a||!a.Qt||!a.Ik||a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.qe()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};Ph.prototype.mayMove=function(){var a=this.g;if(null===a||a.kb||!a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.qe()&&b.canMove())return!0}return null!==this.td&&this.Bj&&this.td.canMove()?!0:!1};var Ai=new J(Ph),Yh=null,Zh=null;
+Ph.prototype.getDraggingSource=function(){return Yh};Ph.prototype.mayDragIn=function(){var a=this.g;if(null===a||!a.wE||a.kb||a.Hf||!a.Vp)return!1;var b=Yh;return null===b||null===b.g||b.g.ia.dm!==a.ia.dm?!1:!0};Ph.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.g;a.Ya.Ii();Vi(a);a=Yh;null!==a&&null!==a.g&&(a.g.lc="copy")}};Ph.prototype.doSimulatedDragLeave=function(){var a=Yh;null!==a&&a.doSimulatedDragOut();this.doCancel()};
Ph.prototype.doSimulatedDragOver=function(){var a=this.g;if(null!==a){var b=Yh;null!==b&&null!==b.fc&&this.mayDragIn()&&(a.lc="copy",Wi(this,b.fc.Uj(),!1),Ii(this,this.kc,!1),Ni(this,a.U.ha,!1,!0))}};
Ph.prototype.doSimulatedDrop=function(){var a=this.g;if(null!==a){var b=Yh;if(null!==b){var c=b.g;b.Kr=!0;Ci(this);this.mayDragIn()&&(this.$b("Drop"),Wi(this,b.fc.Uj(),!0),Ii(this,this.kc,!1),null!==this.kc&&a.AG(this.kc.Uj()),Ti(this,a.U.ha),a.Bc(),b=a.selection,null!==this.kc?this.Qf="ExternalCopy":b=new K(D),this.kc=null,a.doFocus(),a.Ka("ExternalObjectsDropped",b,c),this.al())}}};
-function Wi(a,b,c){if(null===a.kc){var d=a.g;if(null!==d&&!d.kb&&!d.Hf){d.Eb=!c;d.cr=!c;a.$k=d.U.ha;d=d.dq(b,d,!0);c=z.Of();Gi(b,c);var e=c.x+c.width/2,g=c.y+c.height/2;z.Mb(c);var h=a.Qw;c=new oa(D);var k=z.P();for(b=b.j;b.next();){var l=b.value;if(l.re()&&l.canCopy()){var m=l.location,l=d.qa(l);k.m(h.x-(e-m.x),h.y-(g-m.y));l.location=k;l.kf();c.add(l,wi(k))}}z.A(k);for(d=d.j;d.next();)e=d.value,e instanceof H&&e.canCopy()&&c.add(e,wi());a.kc=c;Xh(a,c.Uj());null!==a.td&&(c=a.td,d=c.no,c.um(a.$k.x-
+function Wi(a,b,c){if(null===a.kc){var d=a.g;if(null!==d&&!d.kb&&!d.Hf){d.Eb=!c;d.cr=!c;a.$k=d.U.ha;d=d.cq(b,d,!0);c=z.Of();Gi(b,c);var e=c.x+c.width/2,g=c.y+c.height/2;z.Mb(c);var h=a.Qw;c=new oa(D);var k=z.P();for(b=b.j;b.next();){var l=b.value;if(l.qe()&&l.canCopy()){var m=l.location,l=d.qa(l);k.m(h.x-(e-m.x),h.y-(g-m.y));l.location=k;l.kf();c.add(l,wi(k))}}z.A(k);for(d=d.j;d.next();)e=d.value,e instanceof H&&e.canCopy()&&c.add(e,wi());a.kc=c;Xh(a,c.Uj());null!==a.td&&(c=a.td,d=c.mo,c.um(a.$k.x-
(d.x+d.width/2),a.$k.y-(d.y+d.height/2)))}}}Ph.prototype.doSimulatedDragOut=function(){var a=this.g;null!==a&&(this.mayCopy()||this.mayMove()?a.lc="":a.lc="no-drop")};function xi(a){this.point=a;this.GG=Dd}z.ka("DraggingInfo",xi);function Ji(a,b,c){this.Yc=a;this.info=b;this.RI=c}
function Xi(){0=d&&(d=.1);for(var e=this,g=b.On(c,d,function(b){return e.findValidLinkablePort(b,a)},null,!0),d=Infinity,b=null,g=g.j;g.next();){var h=g.value,k=h.ba;if(k instanceof E){var l=h.cb(mc,z.P()),m=c.x-l.x,n=c.y-l.y;z.A(l);l=m*m+n*n;lc){if(null!==this.vc&&a===this.Yg&&b===this.Zg)return!0;var d=b.vd;null===d&&(d="");if(a.Dx(d).count>=c)return!1}return!0};
-Xi.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.xq;if(null!==this.g&&this.g.fb===this&&(null!==a.layer&&!a.layer.Rt||!0!==b.QG))return!1;var c=b.yK;if(Infinity>c){if(null!==this.vc&&a===this.$g&&b===this.ah)return!0;var d=b.vd;null===d&&(d="");if(a.Ug(d).count>=c)return!1}return!0};Xi.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.ba,d=b.ba;return null!==c&&c===d};
+c instanceof E&&(null===c.layer||c.layer.Rt))?b:null};Xi.prototype.isValidFrom=function(a,b){if(null===a||null===b)return this.wq;if(null!==this.g&&this.g.fb===this&&(null!==a.layer&&!a.layer.Rt||!0!==b.kF))return!1;var c=b.GA;if(Infinity>c){if(null!==this.uc&&a===this.Yg&&b===this.Zg)return!0;var d=b.vd;null===d&&(d="");if(a.Dx(d).count>=c)return!1}return!0};
+Xi.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.wq;if(null!==this.g&&this.g.fb===this&&(null!==a.layer&&!a.layer.Rt||!0!==b.QG))return!1;var c=b.yK;if(Infinity>c){if(null!==this.uc&&a===this.$g&&b===this.ah)return!0;var d=b.vd;null===d&&(d="");if(a.Ug(d).count>=c)return!1}return!0};Xi.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.ba,d=b.ba;return null!==c&&c===d};
Xi.prototype.isLinked=function(a,b){if(null===a||null===b)return!1;var c=a.ba;if(!(c instanceof E))return!1;var d=a.vd;null===d&&(d="");var e=b.ba;if(!(e instanceof E))return!1;var g=b.vd;null===g&&(g="");for(e=e.Ug(g);e.next();)if(g=e.value,g.aa===c&&g.dg===d)return!0;return!1};
-Xi.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.GI&&d.xK||!this.isInSameNode(b,d))&&(b.FI&&d.wK||!this.isLinked(b,d)))||null!==this.vc&&(null!==a&&this.isLabelDependentOnLink(a,this.vc)||null!==c&&this.isLabelDependentOnLink(c,this.vc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.vc))return!1;if(null!==a){var e=a.Zx;if(null!==e&&!e(a,b,c,d,this.vc))return!1}if(null!==
-c&&(e=c.Zx,null!==e&&!e(a,b,c,d,this.vc)))return!1;e=this.Zx;return null!==e?e(a,b,c,d,this.vc):!0};Xi.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Cc;if(null===c)return!1;if(c===b)return!0;var d=new K(E);d.add(a);return Yi(this,c,b,d)};function Yi(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.xf&&(d.add(e),Yi(a,e.Cc,c,d)))return!0;b=b.ea;return null!==b&&b.xf&&(d.add(b),Yi(a,b.Cc,c,d))?!0:!1}
-Xi.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.xq;var d=null!==this.g?this.g.EK:Zi;if(d!==Zi){if(d===$i){if(null!==c&&!c.Xc)return!0;for(d=b.Jd;d.next();){var e=d.value;if(e!==c&&e.Xc&&e.ea===b)return!1}return!aj(this,a,b,c,!0)}if(d===bj){if(null!==c&&!c.Xc)return!0;for(d=a.Jd;d.next();)if(e=d.value,e!==c&&e.Xc&&e.aa===a)return!1;return!aj(this,a,b,c,!0)}if(d===cj)return a===b?a=!0:(d=new K(E),d.add(b),a=dj(this,d,a,b,c)),!a;if(d===ej)return!aj(this,
+Xi.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.GI&&d.xK||!this.isInSameNode(b,d))&&(b.FI&&d.wK||!this.isLinked(b,d)))||null!==this.uc&&(null!==a&&this.isLabelDependentOnLink(a,this.uc)||null!==c&&this.isLabelDependentOnLink(c,this.uc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.uc))return!1;if(null!==a){var e=a.Zx;if(null!==e&&!e(a,b,c,d,this.uc))return!1}if(null!==
+c&&(e=c.Zx,null!==e&&!e(a,b,c,d,this.uc)))return!1;e=this.Zx;return null!==e?e(a,b,c,d,this.uc):!0};Xi.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Cc;if(null===c)return!1;if(c===b)return!0;var d=new K(E);d.add(a);return Yi(this,c,b,d)};function Yi(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.xf&&(d.add(e),Yi(a,e.Cc,c,d)))return!0;b=b.ea;return null!==b&&b.xf&&(d.add(b),Yi(a,b.Cc,c,d))?!0:!1}
+Xi.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.wq;var d=null!==this.g?this.g.EK:Zi;if(d!==Zi){if(d===$i){if(null!==c&&!c.Xc)return!0;for(d=b.Jd;d.next();){var e=d.value;if(e!==c&&e.Xc&&e.ea===b)return!1}return!aj(this,a,b,c,!0)}if(d===bj){if(null!==c&&!c.Xc)return!0;for(d=a.Jd;d.next();)if(e=d.value,e!==c&&e.Xc&&e.aa===a)return!1;return!aj(this,a,b,c,!0)}if(d===cj)return a===b?a=!0:(d=new K(E),d.add(b),a=dj(this,d,a,b,c)),!a;if(d===ej)return!aj(this,
a,b,c,!1);if(d===fj)return a===b?a=!0:(d=new K(E),d.add(b),a=gj(this,d,a,b,c)),!a}return!0};function aj(a,b,c,d,e){if(b===c)return!0;if(null===b||null===c)return!1;for(var g=b.Jd;g.next();){var h=g.value;if(h!==d&&(!e||h.Xc)&&h.ea===b&&(h=h.aa,h!==b&&aj(a,h,c,d,e)))return!0}return!1}function dj(a,b,c,d,e){if(c===d)return!0;if(null===c||null===d||b.contains(c))return!1;b.add(c);for(var g=c.Jd;g.next();){var h=g.value;if(h!==e&&h.ea===c&&(h=h.aa,h!==c&&dj(a,b,h,d,e)))return!0}return!1}
function gj(a,b,c,d,e){if(c===d)return!0;if(null===c||null===d||b.contains(c))return!1;b.add(c);for(var g=c.Jd;g.next();){var h=g.value;if(h!==e){var k=h.aa,h=h.ea,k=k===c?h:k;if(k!==c&&gj(a,b,k,d,e))return!0}}return!1}z.defineProperty(Xi,{Zx:"linkValidation"},function(){return this.Gl},function(a){null!==a&&z.h(a,"function",Xi,"linkValidation");this.Gl=a});z.defineProperty(Xi,{ly:"portTargeted"},function(){return this.KD},function(a){null!==a&&z.h(a,"function",Xi,"portTargeted");this.KD=a});
function ua(){0b.fu+1&&cb.fu+1&&c=c.x)d=0>=c.y?d+225:1<=c.y?d+135:d+180;else if(1<=c.x)0>=c.y?d+=315:1<=c.y&&(d+=45);else if(0>=c.y)d+=270;else if(1<=c.y)d+=90;else break a;0>d?d+=360:360<=d&&(d-=360);a.cursor=22.5>d?"e-resize":67.5>d?"se-resize":112.5>d?"s-resize":157.5>d?"sw-resize":202.5>d?"w-resize":247.5>d?"nw-resize":292.5>d?"n-resize":337.5>d?
+Qj.prototype.updateResizeHandles=function(a,b){if(null!==a)if(!a.alignment.hd()&&("pointer"===a.cursor||0=c.x)d=0>=c.y?d+225:1<=c.y?d+135:d+180;else if(1<=c.x)0>=c.y?d+=315:1<=c.y&&(d+=45);else if(0>=c.y)d+=270;else if(1<=c.y)d+=90;else break a;0>d?d+=360:360<=d&&(d-=360);a.cursor=22.5>d?"e-resize":67.5>d?"se-resize":112.5>d?"s-resize":157.5>d?"sw-resize":202.5>d?"w-resize":247.5>d?"nw-resize":292.5>d?"n-resize":337.5>d?
"ne-resize":"e-resize"}else if(a instanceof I)for(c=a.elements;c.next();)this.updateResizeHandles(c.value,b)};z.defineProperty(Qj,{mu:"handleArchetype"},function(){return this.vl},function(a){null!==a&&z.l(a,O,Qj,"handleArchetype");this.vl=a});z.w(Qj,{handle:"handle"},function(){return this.oc});z.defineProperty(Qj,{Ab:"adornedObject"},function(){return this.Rc},function(a){null!==a&&z.l(a,O,Qj,"adornedObject");this.Rc=a});
Qj.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.g;return null!==a&&!a.kb&&a.St&&a.U.left?null!==this.findToolHandleAt(a.Mc.ha,this.name):!1};
-Qj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.oc=this.findToolHandleAt(a.Mc.ha,this.name),null!==this.oc&&(this.Rc=this.oc.ba.Ab,this.Ap.set(this.Ab.cb(this.handle.alignment.cG())),this.ED.set(this.Rc.ba.location),this.zD.set(this.Rc.Da),this.pz=this.computeCellSize(),this.rz=this.computeMinSize(),this.qz=this.computeMaxSize(),a.lf=!0,this.wD=a.Ya.isEnabled,a.Ya.isEnabled=!1,this.$b(this.name),this.ya=!0))};
+Qj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.oc=this.findToolHandleAt(a.Mc.ha,this.name),null!==this.oc&&(this.Rc=this.oc.ba.Ab,this.zp.set(this.Ab.cb(this.handle.alignment.cG())),this.ED.set(this.Rc.ba.location),this.zD.set(this.Rc.Da),this.pz=this.computeCellSize(),this.rz=this.computeMinSize(),this.qz=this.computeMaxSize(),a.lf=!0,this.wD=a.Ya.isEnabled,a.Ya.isEnabled=!1,this.$b(this.name),this.ya=!0))};
Qj.prototype.doDeactivate=function(){var a=this.g;null!==a&&(this.al(),this.Rc=this.oc=null,this.ya=a.lf=!1,a.Ya.isEnabled=this.wD)};Qj.prototype.doCancel=function(){null!==this.Ab&&(this.Ab.Da=this.dG,this.Ab.ba.location=this.OJ);this.stopTool()};Qj.prototype.doMouseMove=function(){var a=this.g;if(this.ya&&null!==a){var b=this.rz,c=this.qz,d=this.pz,e=this.Ab.mF(a.U.ha,z.P()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);a.hg();z.A(e)}};
Qj.prototype.doMouseUp=function(){var a=this.g;if(this.ya&&null!==a){var b=this.rz,c=this.qz,d=this.pz,e=this.Ab.mF(a.U.ha,z.P()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);z.A(e);a.Bc();this.Qf=this.name;a.Ka("PartResized",this.Ab,this.dG)}this.stopTool()};
-Qj.prototype.resize=function(a){if(null!==this.g){var b=this.Ab,c=b.ba;b.Da=a.size;c.kf();a=this.Ab.cb(this.handle.alignment.cG());c instanceof F?(a=c.position.copy().so(a).add(this.Ap),c.move(a)):c.location=c.location.copy().so(a).add(this.Ap)}};
-Qj.prototype.computeResize=function(a,b,c,d,e,g){b.ae()&&(b=mc);var h=this.Ab.Ja,k=h.x,l=h.y,m=h.x+h.width,n=h.y+h.height,p=1;if(!g){var p=h.width,q=h.height;0>=p&&(p=1);0>=q&&(q=1);p=q/p}q=z.P();tb(a.x,a.y,k,l,e.width,e.height,q);a=h.copy();0>=b.x?0>=b.y?(a.x=Math.max(q.x,m-d.width),a.x=Math.min(a.x,m-c.width),a.width=Math.max(m-a.x,c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p=p&&(p=1);0>=q&&(q=1);p=q/p}q=z.P();tb(a.x,a.y,k,l,e.width,e.height,q);a=h.copy();0>=b.x?0>=b.y?(a.x=Math.max(q.x,m-d.width),a.x=Math.min(a.x,m-c.width),a.width=Math.max(m-a.x,c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p=b.y?(a.width=Math.max(Math.min(q.x-k,d.width),c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),
a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p=b.y?(a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=n-a.y,g||(a.width=a.height/p,a.x=
k+.5*(m-k-a.width))):1<=b.y&&(a.height=Math.max(Math.min(q.y-l,d.height),c.height),g||(a.width=a.height/p,a.x=k+.5*(m-k-a.width)));z.A(q);return a};Qj.prototype.computeReshape=function(){var a=Tj;this.Ab instanceof Y&&(a=Uj(this.Ab));return!(a===Vj||a===Wj||null!==this.g&&this.g.U.shift)};Qj.prototype.computeMinSize=function(){var a=this.Ab.ig.copy(),b=this.ig;!isNaN(b.width)&&b.width>a.width&&(a.width=b.width);!isNaN(b.height)&&b.height>a.height&&(a.height=b.height);return a};
Qj.prototype.computeMaxSize=function(){var a=this.Ab.mf.copy(),b=this.mf;!isNaN(b.width)&&b.widtha&&(a+=360));var b=Math.min(Math.abs(this.oK),180),c=Math.min(Math.abs(this.nK),b/2);(null===this.g||!this.g.U.shift)&&0b-c&&(a=(Math.floor(a/b)+1)*b));360<=a?a-=360:0>a&&(a+=360);return a};z.defineProperty(Xj,{oK:"snapAngleMultiple"},function(){return this.RD},function(a){z.h(a,"number",Xj,"snapAngleMultiple");this.RD=a});
z.defineProperty(Xj,{nK:"snapAngleEpsilon"},function(){return this.QD},function(a){z.h(a,"number",Xj,"snapAngleEpsilon");this.QD=a});z.w(Xj,{hM:"originalAngle"},function(){return this.tw});function Zj(){0e.right&&(c.x-=d.width+5);c.xe.bottom&&(c.y-=d.height+5);c.ya.U.Qe?!1:!0};kk.prototype.doStart=function(){this.ya||null===this.hh||this.doActivate()};
-kk.prototype.doActivate=function(){if(!this.ya){var a=this.g;if(null!==a){var b=this.hh;null===b&&(b=a.He(a.U.ha,function(a){return a instanceof pa?a:null}));if(null!==b&&(this.hh=b,null!==b.ba)){this.ya=!0;this.qb=tk;var c=this.nI;null!==b.PG&&(c=b.PG);this.Ak=this.hh.copy();var d=new w(this.hh.cb(hc),this.hh.cb(qc));a.gK(d);if(c instanceof bk)c.show(b,a,this);else{c.style.position="absolute";c.style.zIndex=100;c.textEditingTool=this;if("function"===typeof c.onActivate)c.onActivate();"function"===
+kk.prototype.doActivate=function(){if(!this.ya){var a=this.g;if(null!==a){var b=this.hh;null===b&&(b=a.He(a.U.ha,function(a){return a instanceof pa?a:null}));if(null!==b&&(this.hh=b,null!==b.ba)){this.ya=!0;this.qb=tk;var c=this.nI;null!==b.PG&&(c=b.PG);this.Ak=this.hh.copy();var d=new w(this.hh.cb(hc),this.hh.cb(qc));a.gK(d);if(c instanceof bk)c.show(b,a,this);else{c.style.position="absolute";c.style.zIndex="100";c.textEditingTool=this;if("function"===typeof c.onActivate)c.onActivate();"function"===
typeof c.focus&&c.focus();"function"===typeof c.select&&this.wy&&(c.select(),c.setSelectionRange(0,9999));a.Aj.appendChild(c)}this.Nk=c}}}};kk.prototype.doCancel=function(){null!==this.Ll&&(this.Nk.style.border=this.Ll,this.Ll=null);this.stopTool()};kk.prototype.doMouseUp=function(){!this.ya&&this.canStart()&&this.doActivate()};kk.prototype.doMouseDown=function(){this.ya&&this.acceptText(pk)};
kk.prototype.acceptText=function(a){switch(a){case pk:if(this.qb===xk)"function"===typeof this.Nk.focus&&this.Nk.focus();else if(this.qb===tk||this.qb===wk||this.qb===uk)this.qb=vk,Ak(this);break;case ok:case rk:case qk:if(rk===a&&!0===this.$z.Tx)break;if(this.qb===tk||this.qb===wk||this.qb===uk)this.qb=vk,Ak(this)}};
function Ak(a){var b=a.hh,c=a.g,d=a.Nk;if(null!==b&&null!==d){var e=b.text,g=d.value,h="";d instanceof bk?null!==d.RB&&(h=d.RB()):h="function"===typeof g?g():g;a.isValidText(b,e,h)?(a.$b(a.name),a.qb=xk,d instanceof bk?d.show(b,c,a):null!==a.Ll&&(d.style.border=a.Ll,a.Ll=null),a.Qf=a.name,b.text=h,null!==b.OG&&b.OG(b,e,h),null!==c&&c.Ka("TextEdited",b,e),a.al(),a.stopTool(),null!==c&&c.doFocus()):(a.qb=wk,null!==b.BA&&b.BA(a,e,h),d instanceof bk?d.show(b,c,a):(null===a.Ll&&(a.Ll=d.style.border,d.style.border=
"3px solid red"),"function"===typeof d.focus&&d.focus()))}}kk.prototype.doDeactivate=function(){var a=this.g;if(null!==a){this.qb=mk;this.hh=null;if(null!==this.Nk){var b=this.Nk;if(b instanceof bk)b.Wn(a,this);else{if("function"===typeof b.onDeactivate)b.onDeactivate();null!==b&&a.Aj.removeChild(b)}}this.ya=!1}};kk.prototype.doFocus=function(){u&&z.Nn("TextEditingTool.doFocus","2.0");yk(this)};kk.prototype.doBlur=function(){u&&z.Nn("TextEditingTool.doBlur","2.0");zk(this)};
function yk(a){if(null!==a.Nk){var b=a.ez;a.qb===tk&&(a.qb=uk);"function"===typeof b.select&&a.wy&&(b.select(),b.setSelectionRange(0,9999))}}function zk(a){if(null!==a.Nk){var b=a.ez;"function"===typeof b.focus&&b.focus();"function"===typeof b.select&&a.wy&&(b.select(),b.setSelectionRange(0,9999))}}kk.prototype.isValidText=function(a,b,c){z.l(a,pa,kk,"isValidText:textblock");var d=this.JB;if(null!==d&&!d(a,b,c))return!1;d=a.JB;return null===d||d(a,b,c)?!0:!1};
z.defineProperty(kk,{JB:"textValidation"},function(){return this.Ol},function(a){null!==a&&z.h(a,"function",kk,"textValidation");this.Ol=a});z.defineProperty(kk,{XF:"minimumEditorScale"},function(){return this.rD},function(a){null!==a&&z.h(a,"number",kk,"minimumEditorScale");this.rD=a});z.defineProperty(kk,{wy:"selectsTextOnActivate"},function(){return this.OD},function(a){null!==a&&z.h(a,"boolean",kk,"selectsTextOnActivate");this.OD=a});
-z.defineProperty(kk,{state:"state"},function(){return this.qb},function(a){this.qb!==a&&(z.Ca(a,kk,kk,"starting"),this.qb=a)});kk.prototype.measureTemporaryTextBlock=kk.prototype.BJ=function(a){var b=this.Ak;b.text=a;Bk(b,this.hh.qp,Infinity);return b};function Kh(){bh.call(this);this.name="ToolManager";this.oH=new J(bh);this.pH=new J(bh);this.qH=new J(bh);this.WC=this.XC=850;this.KC=(new Fa(2,2)).Na();this.gE=5E3;this.vD=Wh;this.UC=Ck;this.Gv=this.yC=null;this.xn=-1}z.Ta(Kh,bh);
+z.defineProperty(kk,{state:"state"},function(){return this.qb},function(a){this.qb!==a&&(z.Ca(a,kk,kk,"starting"),this.qb=a)});kk.prototype.measureTemporaryTextBlock=kk.prototype.BJ=function(a){var b=this.Ak;b.text=a;Bk(b,this.hh.pp,Infinity);return b};function Kh(){bh.call(this);this.name="ToolManager";this.oH=new J(bh);this.pH=new J(bh);this.qH=new J(bh);this.WC=this.XC=850;this.KC=(new Fa(2,2)).Na();this.gE=5E3;this.vD=Wh;this.UC=Ck;this.Gv=this.yC=null;this.xn=-1}z.Ta(Kh,bh);
z.ka("ToolManager",Kh);var Wh;Kh.WheelScroll=Wh=z.s(Kh,"WheelScroll",0);var Vh;Kh.WheelZoom=Vh=z.s(Kh,"WheelZoom",1);Kh.WheelNone=z.s(Kh,"WheelNone",2);var Ck;Kh.GestureZoom=Ck=z.s(Kh,"GestureZoom",3);var Dk;Kh.GestureCancel=Dk=z.s(Kh,"GestureCancel",4);var Ek;Kh.GestureNone=Ek=z.s(Kh,"GestureNone",5);z.defineProperty(Kh,{Gu:"mouseWheelBehavior"},function(){return this.vD},function(a){z.Ca(a,Kh,Kh,"mouseWheelBehavior");this.vD=a});
-z.defineProperty(Kh,{oq:"gestureBehavior"},function(){return this.UC},function(a){z.Ca(a,Kh,Kh,"gestureBehavior");this.UC=a});Kh.prototype.initializeStandardTools=function(){this.FH=new ak;this.gG=new $h;this.tJ=new pj;this.tG=new Qj;this.dK=new Xj;this.TF=new ua;this.Ee=new Ph;this.rI=new ik;this.PJ=new jk;this.pA=new dk;this.IB=new kk;this.WH=new wa;this.XH=new Zj};
+z.defineProperty(Kh,{nq:"gestureBehavior"},function(){return this.UC},function(a){z.Ca(a,Kh,Kh,"gestureBehavior");this.UC=a});Kh.prototype.initializeStandardTools=function(){this.FH=new ak;this.gG=new $h;this.tJ=new pj;this.tG=new Qj;this.dK=new Xj;this.TF=new ua;this.Ee=new Ph;this.rI=new ik;this.PJ=new jk;this.pA=new dk;this.IB=new kk;this.WH=new wa;this.XH=new Zj};
Kh.prototype.updateAdornments=function(a){var b=this.cm;if(b instanceof ea&&this.Gv===a){var c=b.Ab;(null!==a?c.ba===a:null===c)?this.showToolTip(b,c):this.hideToolTip()}};
-Kh.prototype.doMouseDown=function(){var a=this.g;if(null!==a){var b=a.U;b.Hj&&this.oq===Dk&&(b.bubbles=!1);if(b.vu){this.cancelWaitAfter();if(this.oq===Ek){b.bubbles=!0;return}if(this.oq===Dk)return;if(a.fb.canStartMultiTouch()){a.fb.standardPinchZoomStart();return}}var c=a.sa;c.lA&&0!==c.Vh&&z.trace("WARNING: In ToolManager.doMouseDown: UndoManager.transactionLevel is not zero");for(var c=this.nf.length,d=0;de.right&&(c.x-=d.width+5);c.xe.bottom?c.y-(d.height+5):c.y+20;c.ya?c/2*a*a+b:-c/2*(--a*(a-2)-1)+b}z.w(nh,{eL:"animationReasons"},function(){return this.rv});
-nh.prototype.canStart=function(){return!0};nh.prototype.prepareAutomaticAnimation=nh.prototype.lo=function(a){this.pf&&(this.kk||this.ca.Zn)&&(this.rv.add(a),this.canStart(a)&&(this.jk&&this.Ii(),this.yc=!0))};function Vk(a){if(a.pf&&(a.rv.clear(),a.yc))if(!a.Do)a.yc=!1;else if(0===a.Co){var b=+new Date;a.Co=b;requestAnimationFrame(function(){if(!1!==a.yc&&!a.jk&&a.Co===b){var c=a.ca;c.Dj("temporaryPixelRatio")&&(c.zk=1);al(c);a.yc=!1;c.Ka("AnimationStarting");bl(a,b)}})}}
+function nh(){this.zC=Hk;this.Fr=this.Gr=this.ca=null;this.Bo=this.Hr=this.Ir=0;this.Co=this.yc=this.kp=this.jk=!1;this.kk=this.pf=!0;this.Ev=this.Dv=this.uC=null;this.tC=0;this.Fv=null;this.rv=new K("string");this.mz=600;this.uH=new M(0,0);this.iC=this.hC=this.kE=!1;this.en=new oa(O,Ik)}z.ka("AnimationManager",nh);nh.prototype.$c=function(a){this.ca=a};function Hk(a,b,c,d){a/=d/2;return 1>a?c/2*a*a+b:-c/2*(--a*(a-2)-1)+b}z.w(nh,{eL:"animationReasons"},function(){return this.rv});
+nh.prototype.canStart=function(){return!0};nh.prototype.prepareAutomaticAnimation=nh.prototype.ko=function(a){this.pf&&(this.kk||this.ca.Zn)&&(this.rv.add(a),this.canStart(a)&&(this.jk&&this.Ii(),this.yc=!0))};function Vk(a){if(a.pf&&(a.rv.clear(),a.yc))if(!a.Co)a.yc=!1;else if(0===a.Bo){var b=+new Date;a.Bo=b;requestAnimationFrame(function(){if(!1!==a.yc&&!a.jk&&a.Bo===b){var c=a.ca;c.Dj("temporaryPixelRatio")&&(c.zk=1);al(c);a.yc=!1;c.Ka("AnimationStarting");bl(a,b)}})}}
function cl(a,b,c,d,e,g){if(a.yc&&(u&&z.l(b,O,nh,"addPropToAnimation:obj"),!("position"===c&&d.O(e)||b instanceof D&&!b.CF))){var h=a.en;if(h.contains(b)){var h=h.qa(b),k=h.start,l=h.end;void 0===k[c]&&(k[c]=dl(d));h.sx&&void 0!==l[c]?h.cu[c]=dl(e):(g||(h.cu[c]=dl(e)),l[c]=dl(e));g&&0===c.indexOf("position:")&&(h.cu.location=dl(b.location))}else k=new na,l=new na,k[c]=dl(d),l[c]=dl(e),d=l,e=k.position,e instanceof M&&!e.F()&&a.rv.contains("Expand SubGraph")&&e.assign(d.position),k=new Ik(k,l,g),g&&
-0===c.indexOf("position:")&&(k.cu.location=dl(b.location)),h.add(b,k);a.Do=!0}}function dl(a){return a instanceof M?a.copy():a instanceof Fa?a.copy():a}
-function bl(a,b){var c;function d(){if(!1!==g.jk&&g.Co===b){var a=+new Date,c=a>s?m:a-r;el(g);fl(g,e,q,h,c,m);g.Dv&&g.Dv();Vi(e);gl(g);a>s?hl(g):requestAnimationFrame(d)}}void 0===c&&(c=new na);var e=a.ca;if(null!==e){a.jk=!0;var g=a,h=c.GL||a.zC,k=c.fM||null,l=c.gM||null,m=c.duration||a.mz,n=a.uH;for(c=a.en.j;c.next();){var p=c.value.start.position;p instanceof M&&(p.F()||p.assign(n))}a.uC=h;a.Dv=k;a.Ev=l;a.tC=m;a.Fv=a.en;var q=a.Fv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l=
-k["position:placeholder"],n=l.cb(hc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);el(a);fl(a,e,q,h,0,m);Vi(a.ca);gl(a);var r=+new Date,s=r+m;g.Co===b&&requestAnimationFrame(function(){d()})}}
+0===c.indexOf("position:")&&(k.cu.location=dl(b.location)),h.add(b,k);a.Co=!0}}function dl(a){return a instanceof M?a.copy():a instanceof Fa?a.copy():a}
+function bl(a,b){var c;function d(){if(!1!==g.jk&&g.Bo===b){var a=+new Date,c=a>s?m:a-r;el(g);fl(g,e,q,h,c,m);g.Dv&&g.Dv();Vi(e);gl(g);a>s?hl(g):requestAnimationFrame(d)}}void 0===c&&(c=new na);var e=a.ca;if(null!==e){a.jk=!0;var g=a,h=c.GL||a.zC,k=c.fM||null,l=c.gM||null,m=c.duration||a.mz,n=a.uH;for(c=a.en.j;c.next();){var p=c.value.start.position;p instanceof M&&(p.F()||p.assign(n))}a.uC=h;a.Dv=k;a.Ev=l;a.tC=m;a.Fv=a.en;var q=a.Fv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l=
+k["position:placeholder"],n=l.cb(hc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);el(a);fl(a,e,q,h,0,m);Vi(a.ca);gl(a);var r=+new Date,s=r+m;g.Bo===b&&requestAnimationFrame(function(){d()})}}
var il={opacity:function(a,b,c,d,e,g){a.opacity=d(e,b,c-b,g)},position:function(a,b,c,d,e,g){e!==g?a.zy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):a.position=new M(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g))},"position:node":function(a,b,c,d,e,g){var h=a.Z,k=c.Z;c=k.x+k.width/2-h.width/2;h=k.y+k.height/2-h.height/2;e!==g?a.zy(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g)):a.position=new M(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g))},"position:placeholder":function(a,b,c,d,e,g){e!==g?a.zy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):
-a.position=new M(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g))},scale:function(a,b,c,d,e,g){a.scale=d(e,b,c-b,g)},visible:function(a,b,c,d,e,g){a.visible=e!==g?b:c}};function el(a){if(!a.lp){var b=a.ca;a.kE=b.Eb;a.hC=b.Ve;a.iC=b.Zu;b.Eb=!0;b.Ve=!0;b.Zu=!0;a.lp=!0}}function gl(a){var b=a.ca;b.Eb=a.kE;b.Ve=a.hC;b.Zu=a.iC;a.lp=!1}
+a.position=new M(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g))},scale:function(a,b,c,d,e,g){a.scale=d(e,b,c-b,g)},visible:function(a,b,c,d,e,g){a.visible=e!==g?b:c}};function el(a){if(!a.kp){var b=a.ca;a.kE=b.Eb;a.hC=b.Ve;a.iC=b.Zu;b.Eb=!0;b.Ve=!0;b.Zu=!0;a.kp=!0}}function gl(a){var b=a.ca;b.Eb=a.kE;b.Ve=a.hC;b.Zu=a.iC;a.kp=!1}
function fl(a,b,c,d,e,g){for(c=c.j;c.next();){var h=c.key,k=c.value,l=k.start,k=k.end,m;for(m in k)if(("position"!==m||!k["position:placeholder"]&&!k["position:node"])&&void 0!==il[m])il[m](h,l[m],k[m],d,e,g)}d=b.RA;b.RA=!0;m=a.zC;0!==a.Ir&&0!==a.Hr&&(c=a.Ir,b.Rb=m(e,c,a.Hr-c,g));null!==a.Gr&&null!==a.Fr&&(c=a.Gr,a=a.Fr,b.ub=new M(m(e,c.x,a.x-c.x,g),m(e,c.y,a.y-c.y,g)));b.RA=d}
-nh.prototype.stopAnimation=nh.prototype.Ii=function(){!0===this.yc&&(this.yc=!1,this.Do&&this.ca.Te());this.jk&&this.pf&&hl(this)};
-function hl(a){a.jk=!1;a.Do=!1;el(a);for(var b=a.ca,c=a.uC,d=a.tC,e=a.Fv.j;e.next();){var g=e.key,h=e.value,k=h.start,l=h.end,m=h.cu,n;for(n in l)if(void 0!==il[n]){var p=n;!h.sx||"position:node"!==p&&"position:placeholder"!==p||(p="position");il[p](g,k[n],void 0!==m[n]?m[n]:h.sx?k[n]:l[n],c,d,d)}h.sx&&void 0!==m.location&&(g.location=m.location);h.ny&&g.Kd(!1)}for(c=a.ca.links;c.next();)d=c.value,null!==d.Gp&&(d.points=d.Gp,d.Gp=null);b.$x.clear();b.zk=null;b.Bc();b.ra();b.hg();jl(b);gl(a);a.Ev&&
-a.Ev();a.Co=0;a.Fv=null;a.Ev=null;a.Dv=null;a.Gr=null;a.Fr=null;a.Ir=0;a.Hr=0;a.en=new oa(O,Ik);b.Ka("AnimationFinished");b.Te()}function kl(a,b,c){var d=b.Z,e=c.Z,g=null;c instanceof F&&(g=c.placeholder);null!==g?(d=g.cb(hc),d.x+=g.padding.left,d.y+=g.padding.top,cl(a,b,"position",d,b.position,!1)):cl(a,b,"position",new M(e.x+e.width/2-d.width/2,e.y+e.height/2-d.height/2),b.position,!1);cl(a,b,"scale",.01,b.scale,!1);if(b instanceof F)for(b=b.Oc;b.next();)g=b.value,g instanceof E&&kl(a,g,c)}
-function ll(a,b,c){if(b.isVisible()){var d=null;c instanceof F&&(d=c.placeholder);null!==d?cl(a,b,"position:placeholder",b.position,d,!0):cl(a,b,"position:node",b.position,c,!0);cl(a,b,"scale",b.scale,.01,!0);a.yc&&(d=a.en,d.contains(b)&&(d.qa(b).ny=!0));if(b instanceof F)for(b=b.Oc;b.next();)d=b.value,d instanceof E&&ll(a,d,c)}}function ml(a,b,c){a.yc&&(null===a.Gr&&b.F()&&null===a.Fr&&(a.Gr=b.copy()),a.Fr=c.copy(),a.Do=!0)}
-function nl(a,b,c){a.yc&&a.ca.Zn&&(0===a.Ir&&0===a.Hr&&(a.Ir=b),a.Hr=c,a.Do=!0)}z.defineProperty(nh,{isEnabled:"isEnabled"},function(){return this.pf},function(a){z.h(a,"boolean",nh,"isEnabled");this.pf=a});z.defineProperty(nh,{duration:"duration"},function(){return this.mz},function(a){z.h(a,"number",nh,"duration");1>a&&z.wa(a,">= 1",nh,"duration");this.mz=a});z.w(nh,{wf:"isAnimating"},function(){return this.jk});z.w(nh,{jJ:"isTicking"},function(){return this.lp});
-z.defineProperty(nh,{KF:"isInitial"},function(){return this.kk},function(a){z.h(a,"boolean",nh,"isInitial");this.kk=a});function Ik(a,b,c){this.start=a;this.end=b;this.cu=new na;this.sx=c;this.ny=!1}function ah(){0a&&z.wa(a,">= 1",nh,"duration");this.mz=a});z.w(nh,{wf:"isAnimating"},function(){return this.jk});z.w(nh,{jJ:"isTicking"},function(){return this.kp});
+z.defineProperty(nh,{KF:"isInitial"},function(){return this.kk},function(a){z.h(a,"boolean",nh,"isInitial");this.kk=a});function Ik(a,b,c){this.start=a;this.end=b;this.cu=new na;this.sx=c;this.ny=!1}function ah(){0=a)return b;for(var c=0,d=0,e=0,g=0,h=0,k=this.pb.j;k.next();){var l=k.value;l instanceof F?e++:l instanceof E?d++:l instanceof H?g++:l instanceof ea?h++:c++}k="";0=d.count)a=d.count;else if(d.fa(a)===b)return-1;d.Zd(a,b);b.ou(c);d=this.g;null!==d&&(c?d.ra():d.rq(b));tl(this,a,b);return a};
+f.Mf=function(a,b){if(this.visible){var c;c=void 0===b?a.yb:b;for(var d=this.pb.o,e=d.length,g=0;g=d.count)a=d.count;else if(d.fa(a)===b)return-1;d.Yd(a,b);b.ou(c);d=this.g;null!==d&&(c?d.ra():d.qq(b));tl(this,a,b);return a};
f.vf=function(a,b,c){if(!c&&b.layer!==this&&null!==b.layer)return b.layer.vf(a,b,c);var d=this.pb;if(0>a||a>=d.length){if(a=d.indexOf(b),0>a)return-1}else if(d.fa(a)!==b&&(a=d.indexOf(b),0>a))return-1;b.pu(c);d.md(a);d=this.g;null!==d&&(c?d.ra():d.vf(b));b.fw=null;return a};
-function tl(a,b,c){b=ul(a,b,c);if(c instanceof F&&null!==c&&isNaN(c.yo)){if(0!==c.Oc.count){for(var d=-1,e=a.pb.o,g=e.length,h=0;hd&&k.Qa===c&&(d=h,0<=b))break}!(0>d)&&d=e)return b;0>b&&(b=a.indexOf(c));if(0>b)return-1;for(var g=b-1,h=NaN;0<=g;){h=a.fa(g).yo;if(!isNaN(h))break;g--}for(var k=b+1,l=NaN;kd)for(;;){if(-1===g||h<=d){g++;if(g===b)break;a.md(b);a.Zd(g,c);return g}for(h=NaN;0<=--g&&(h=a.fa(g).yo,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.md(b);a.Zd(k,c);return k}for(l=NaN;++kd&&k.Qa===c&&(d=h,0<=b))break}!(0>d)&&d=e)return b;0>b&&(b=a.indexOf(c));if(0>b)return-1;for(var g=b-1,h=NaN;0<=g;){h=a.fa(g).xo;if(!isNaN(h))break;g--}for(var k=b+1,l=NaN;kd)for(;;){if(-1===g||h<=d){g++;if(g===b)break;a.md(b);a.Yd(g,c);return g}for(h=NaN;0<=--g&&(h=a.fa(g).xo,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.md(b);a.Yd(k,c);return k}for(l=NaN;++ka||1e[1]&&(z.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+
+function C(a){function b(){window.document.removeEventListener("DOMContentLoaded",b,!1);vl(c)}1e[1]&&(z.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+
z.vfo+". This license key will do nothing until you upgrade to GoJS 1.7 or later."),z.xx.licenseKey=!0);this.Dl=1;this.Wm=0;this.mD=new M;this.iE=500;this.tv=new M;this.qt=null;this.cd=this.Al=!1}z.ka("Diagram",C);
-C.prototype.clear=C.prototype.clear=function(){var a=null;null!==this.Cd&&(a=this.Cd.ba);this.ia.clear();for(var b=this.bc.length,c=0;c=a)return b;for(var c=this.bc.j;c.next();)b+="\n "+c.value.toString(a-1);return b};C.fromDiv=function(a){var b=a;"string"===typeof a&&(b=window.document.getElementById(a));return b instanceof HTMLDivElement&&b.ca instanceof C?b.ca:null};
z.defineProperty(C,{Aj:"div"},function(){return this.Tb},function(a){null!==a&&z.l(a,HTMLDivElement,C,"div");if(this.Tb!==a){wl=[];var b=this.Tb;null!==b?(b.ca=void 0,b.innerHTML="",null!==this.Lb&&(this.Lb.removeEventListener("touchstart",this.WG,!1),this.Lb.removeEventListener("touchmove",this.VG,!1),this.Lb.removeEventListener("touchend",this.UG,!1),this.Lb.Fd.ca=null),b=this.ib,null!==b&&(b.nf.each(function(a){a.cancelWaitAfter()}),b.jg.each(function(a){a.cancelWaitAfter()}),b.kg.each(function(a){a.cancelWaitAfter()})),
-b.cancelWaitAfter(),this.fb.doCancel(),this.pd=this.Lb=null,window.removeEventListener("resize",this.dH,!1),window.removeEventListener("mousemove",this.Cq,!0),window.removeEventListener("mousedown",this.Bq,!0),window.removeEventListener("mouseup",this.Eq,!0),window.removeEventListener("mousewheel",this.Qh,!0),window.removeEventListener("DOMMouseScroll",this.Qh,!0),window.removeEventListener("mouseout",this.Dq,!0)):this.sh=!1;this.Tb=null;if(null!==a){if(b=a.ca)b.Aj=null;Il(this,a);this.Iq()}}});
-function Ll(a){var b=a.Lb;b.addEventListener("touchstart",a.WG,!1);b.addEventListener("touchmove",a.VG,!1);b.addEventListener("touchend",a.UG,!1);b.addEventListener("mousemove",a.Cq,!1);b.addEventListener("mousedown",a.Bq,!1);b.addEventListener("mouseup",a.Eq,!1);b.addEventListener("mousewheel",a.Qh,!1);b.addEventListener("DOMMouseScroll",a.Qh,!1);b.addEventListener("mouseout",a.Dq,!1);b.addEventListener("keydown",a.mJ,!1);b.addEventListener("keyup",a.nJ,!1);b.addEventListener("selectstart",function(a){a.preventDefault();
-return!1},!1);b.addEventListener("contextmenu",function(a){a.preventDefault();return!1},!1);b.addEventListener("gesturechange",function(b){a.ib.oq===Dk&&b.preventDefault()},!1);b.addEventListener("pointerdown",a.QJ,!1);b.addEventListener("pointermove",a.SJ,!1);b.addEventListener("pointerleave",a.RJ,!1);window.addEventListener("resize",a.dH,!1)}C.prototype.computePixelRatio=function(){return null!==this.zk?this.zk:this.rH};C.prototype.doMouseMove=function(){this.fb.doMouseMove()};
+b.cancelWaitAfter(),this.fb.doCancel(),this.pd=this.Lb=null,window.removeEventListener("resize",this.dH,!1),window.removeEventListener("mousemove",this.Bq,!0),window.removeEventListener("mousedown",this.Aq,!0),window.removeEventListener("mouseup",this.Dq,!0),window.removeEventListener("mousewheel",this.Qh,!0),window.removeEventListener("DOMMouseScroll",this.Qh,!0),window.removeEventListener("mouseout",this.Cq,!0)):this.sh=!1;this.Tb=null;if(null!==a){if(b=a.ca)b.Aj=null;Il(this,a);this.Iq()}}});
+function Ll(a){var b=a.Lb;b.addEventListener("touchstart",a.WG,!1);b.addEventListener("touchmove",a.VG,!1);b.addEventListener("touchend",a.UG,!1);b.addEventListener("mousemove",a.Bq,!1);b.addEventListener("mousedown",a.Aq,!1);b.addEventListener("mouseup",a.Dq,!1);b.addEventListener("mousewheel",a.Qh,!1);b.addEventListener("DOMMouseScroll",a.Qh,!1);b.addEventListener("mouseout",a.Cq,!1);b.addEventListener("keydown",a.mJ,!1);b.addEventListener("keyup",a.nJ,!1);b.addEventListener("selectstart",function(a){a.preventDefault();
+return!1},!1);b.addEventListener("contextmenu",function(a){a.preventDefault();return!1},!1);b.addEventListener("gesturechange",function(b){a.ib.nq===Dk&&b.preventDefault()},!1);b.addEventListener("pointerdown",a.QJ,!1);b.addEventListener("pointermove",a.SJ,!1);b.addEventListener("pointerleave",a.RJ,!1);window.addEventListener("resize",a.dH,!1)}C.prototype.computePixelRatio=function(){return null!==this.zk?this.zk:this.rH};C.prototype.doMouseMove=function(){this.fb.doMouseMove()};
C.prototype.doMouseDown=function(){this.fb.doMouseDown()};C.prototype.doMouseUp=function(){this.fb.doMouseUp()};C.prototype.doMouseWheel=function(){this.fb.doMouseWheel()};C.prototype.doKeyDown=function(){this.fb.doKeyDown()};C.prototype.doKeyUp=function(){this.fb.doKeyUp()};C.prototype.doFocus=function(){this.focus()};C.prototype.focus=C.prototype.focus=function(){this.Lb&&this.Lb.focus()};
-function al(a){if(null!==a.Lb){var b=a.Tb;if(0!==b.clientWidth&&0!==b.clientHeight){var c=a.wl?a.Ud:0,d=a.hk?a.Ud:0,e=a.rd;a.rd=a.computePixelRatio();a.rd!==e&&(a.bs=!0,a.Te());if(b.clientWidth!==a.Ob+c||b.clientHeight!==a.Sb+d)a.Qm=!0,a.Ne=!0,b=a.Wb,null!==b&&b.Vx&&a.Zl===Qh&&b.N(),a.je||a.Te()}}}
+function al(a){if(null!==a.Lb){var b=a.Tb;if(0!==b.clientWidth&&0!==b.clientHeight){var c=a.wl?a.Td:0,d=a.hk?a.Td:0,e=a.rd;a.rd=a.computePixelRatio();a.rd!==e&&(a.bs=!0,a.Te());if(b.clientWidth!==a.Ob+c||b.clientHeight!==a.Sb+d)a.Qm=!0,a.Ne=!0,b=a.Wb,null!==b&&b.Vx&&a.Zl===Qh&&b.N(),a.ie||a.Te()}}}
function Fl(a){var b=new ah;b.name="Background";a.Lt(b);b=new ah;b.name="";a.Lt(b);b=new ah;b.name="Foreground";a.Lt(b);b=new ah;b.name="Adornment";b.Wc=!0;a.Lt(b);b=new ah;b.name="Tool";b.Wc=!0;b.DF=!0;a.Lt(b);b=new ah;b.name="Grid";b.Df=!1;b.qg=!1;b.Wc=!0;a.KH(b,a.hm("Background"))}
function Ml(a){a.Cd=new I(Nl);a.Cd.name="GRID";var b=new Y;b.Jb="LineH";b.stroke="lightgray";b.mb=.5;b.interval=1;a.Cd.add(b);b=new Y;b.Jb="LineH";b.stroke="gray";b.mb=.5;b.interval=5;a.Cd.add(b);b=new Y;b.Jb="LineH";b.stroke="gray";b.mb=1;b.interval=10;a.Cd.add(b);b=new Y;b.Jb="LineV";b.stroke="lightgray";b.mb=.5;b.interval=1;a.Cd.add(b);b=new Y;b.Jb="LineV";b.stroke="gray";b.mb=.5;b.interval=5;a.Cd.add(b);b=new Y;b.Jb="LineV";b.stroke="gray";b.mb=1;b.interval=10;a.Cd.add(b);b=new D;b.add(a.Cd);
-b.Lf="Grid";b.yo=0;b.Qx=!1;b.CF=!1;b.qg=!1;b.ay="GRID";a.add(b);a.pb.remove(b);a.Cd.visible=!1}C.prototype.tH=function(){this.ca.isEnabled?this.ca.qI(this):Ol(this.ca)};C.prototype.xD=function(a){this.ca.isEnabled?(this.ca.Sz=!0,this.ca.Uz=a.target.scrollTop,this.ca.Tz=a.target.scrollLeft):Ol(this.ca)};
+b.Lf="Grid";b.xo=0;b.Qx=!1;b.CF=!1;b.qg=!1;b.ay="GRID";a.add(b);a.pb.remove(b);a.Cd.visible=!1}C.prototype.tH=function(){this.ca.isEnabled?this.ca.qI(this):Ol(this.ca)};C.prototype.xD=function(a){this.ca.isEnabled?(this.ca.Sz=!0,this.ca.Uz=a.target.scrollTop,this.ca.Tz=a.target.scrollLeft):Ol(this.ca)};
C.prototype.diagramScroll=C.prototype.qI=function(a){if(this.Sz&&null!==this.Lb){this.Gw=!0;var b=this.fd,c=this.yb,d=b.width,e=c.width,g=b.height,h=c.height,k=b.right,l=c.right,m=b.bottom,n=c.bottom,p=b.x,q=c.x,b=b.y,c=c.y,r=this.scale,s;s=a.scrollLeft;if(this.fs)switch(this.Qz){case "negative":s=s+a.scrollWidth-a.clientWidth;break;case "reverse":s=a.scrollWidth-s-a.clientWidth}var v=s;el&&(this.position=s.m(-(this.Kw.scrollWidth-this.Ob)+v-this.Ob/r+k,this.position.y))),a.xH&&this.Be&&(bn&&(this.position=s.m(this.position.x,-(this.Kw.scrollHeight-this.Sb)+a.scrollTop-this.Sb/r+m))),z.A(s),Pl(this),this.Qm=this.Gw=!1,b=this.fd,c=this.yb,k=b.right,l=c.right,
m=b.bottom,n=c.bottom,p=b.x,q=c.x,b=b.y,c=c.y,e>=d&&p>=q&&k<=l&&(this.ht.style.width="1px"),h>=g&&b>=c&&m<=n&&(this.ht.style.height="1px"))}};C.prototype.computeBounds=C.prototype.Jh=function(){0c&&(e=c),ea.Oh&&(e=a.Oh),e):b===Wl?(e=l>k?(h-a.Ud)/d:(g-a.Ud)/e,e>c&&(e=c),ea.Oh&&(e=a.Oh),e):a.scale}C.prototype.zoomToFit=C.prototype.zoomToFit=function(){this.scale=Sl(this,Vl)};
-C.prototype.zoomToRect=function(a,b){void 0===b&&(b=Vl);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Vl||b===Wl)if(isNaN(c))e=this.yb.height*this.scale/d;else if(isNaN(d))e=this.yb.width*this.scale/c;else var e=this.Ob,g=this.Sb,e=b===Wl?g/d>e/c?(g-(this.hk?this.Ud:0))/d:(e-(this.wl?this.Ud:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new M(a.x,a.y)}};z.defineProperty(C,{RA:null},function(){return this.cd},function(a){this.cd=a});
+function Rl(a,b){if((b||a.sh)&&!a.cd&&null!==a.Lb&&!a.Ya.wf&&a.fd.F()){a.cd=!0;var c=a.Gm;b&&a.yl!==Qh&&(c=a.yl);var d=c!==Qh?Sl(a,c):a.scale,c=a.yb.copy(),e=a.Ob/d,g=a.Sb/d,h=null,k=a.Ya;k.yc&&(h=a.ub.copy());a.position.Za();var l=a.Jo;b&&!l.jd()&&a.ep.jd()&&(l=a.ep);Tl(a,a.ub,a.fd,e,g,l,b);a.position.freeze();null!==h&&ml(k,h,a.ub);e=a.scale;a.scale=d;a.cd=!1;d=a.yb;d.Vc(c)||a.Lu(c,d,e,a.scale,!1)}}
+function Sl(a,b){var c=a.xb.vx;if(null===a.Lb)return c;a.ik&&Ul(a,a.Jh());var d=a.fd;if(!d.F())return c;var e=d.width,d=d.height,g=a.Ob,h=a.Sb,k=g/e,l=h/d;return b===Vl?(e=Math.min(l,k),e>c&&(e=c),ea.Oh&&(e=a.Oh),e):b===Wl?(e=l>k?(h-a.Td)/d:(g-a.Td)/e,e>c&&(e=c),ea.Oh&&(e=a.Oh),e):a.scale}C.prototype.zoomToFit=C.prototype.zoomToFit=function(){this.scale=Sl(this,Vl)};
+C.prototype.zoomToRect=function(a,b){void 0===b&&(b=Vl);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Vl||b===Wl)if(isNaN(c))e=this.yb.height*this.scale/d;else if(isNaN(d))e=this.yb.width*this.scale/c;else var e=this.Ob,g=this.Sb,e=b===Wl?g/d>e/c?(g-(this.hk?this.Td:0))/d:(e-(this.wl?this.Td:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new M(a.x,a.y)}};z.defineProperty(C,{RA:null},function(){return this.cd},function(a){this.cd=a});
C.prototype.alignDocument=function(a,b){this.ik&&Ul(this,this.Jh());var c=this.fd,d=this.yb;this.position=new M(c.x+(a.x*c.width+a.offsetX)-(b.x*d.width-b.offsetX),c.y+(a.y*c.height+a.offsetY)-(b.y*d.height-b.offsetY))};
function Tl(a,b,c,d,e,g,h){var k=b.x,l=b.y;if(h||a.uB===xl)g.jd()&&(d>c.width&&(k=c.x+(g.x*c.width+g.offsetX)-(g.x*d-g.offsetX)),e>c.height&&(l=c.y+(g.y*c.height+g.offsetY)-(g.y*e-g.offsetY))),g=a.xG,h=d-c.width,dc.left?k=c.left:kc.top?l=c.top:lc.touches.length)&&c.preventDefault();c.cancelBubble=!0;return!1}
C.prototype.mJ=function(a){if(!this.ca.isEnabled)return!1;var b=this.ca.Ub;Xl(this.ca,this.ca,a,b,!1);b.key=String.fromCharCode(a.which);b.gm=!0;switch(a.which){case 8:b.key="Backspace";break;case 33:b.key="PageUp";break;case 34:b.key="PageDown";break;case 35:b.key="End";break;case 36:b.key="Home";break;case 37:b.key="Left";break;case 38:b.key="Up";break;case 39:b.key="Right";break;case 40:b.key="Down";break;case 45:b.key="Insert";break;case 46:b.key="Del";break;case 48:b.key="0";break;case 187:case 61:case 107:b.key=
"Add";break;case 189:case 173:case 109:b.key="Subtract";break;case 27:b.key="Esc"}this.ca.doKeyDown();return 187!==a.which&&189!==a.which&&48!==a.which&&107!==a.which&&109!==a.which&&61!==a.which&&173!==a.which||!0!==a.ctrlKey?ia(this.ca,b,a):(a.cancelBubble=!0,a.preventDefault(),a.stopPropagation(),!1)};
C.prototype.nJ=function(a){if(!this.ca.isEnabled)return!1;var b=this.ca.Ub;Xl(this.ca,this.ca,a,b,!1);b.key=String.fromCharCode(a.which);b.up=!0;switch(a.which){case 8:b.key="Backspace";break;case 33:b.key="PageUp";break;case 34:b.key="PageDown";break;case 35:b.key="End";break;case 36:b.key="Home";break;case 37:b.key="Left";break;case 38:b.key="Up";break;case 39:b.key="Right";break;case 40:b.key="Down";break;case 45:b.key="Insert";break;case 46:b.key="Del";break;case 93:a.preventDefault()}this.ca.doKeyUp();
-return ia(this.ca,b,a)};C.prototype.bp=function(a){var b=this.Lb;if(null===b)return new M(0,0);var c=this.Ob,d=this.Sb,b=b.getBoundingClientRect(),c=a.clientX-c/b.width*b.left;a=a.clientY-d/b.height*b.top;return null!==this.Jc?(a=new M(c,a),ub(a,this.Jc),a):new M(c,a)};
-function Yl(a,b,c){var d=a.Lb,e=a.Ob,g=a.Sb,h=0,k=0;null!==d&&(d=d.getBoundingClientRect(),h=b.clientX-e/d.width*d.left,k=b.clientY-g/d.height*d.top);c.te.m(h,k);null!==a.Jc?(b=z.Fb(h,k),a.Jc.Ci(b),c.ha.assign(b),z.A(b)):c.ha.m(h,k)}
-function Zf(a,b,c,d){var e=null;if(void 0!==b.targetTouches){if(2>b.targetTouches.length)return;e=b.targetTouches[c]}else if(null!==a.nj[0])e=a.nj[c];else return;c=a.Lb;b=a.Ob;a=a.Sb;var g=0,h=0;null!==c&&null!==e&&(c=c.getBoundingClientRect(),g=e.clientX-b/c.width*c.left,h=e.clientY-a/c.height*c.top);d.m(g,h)}C.prototype.invalidateDocumentBounds=C.prototype.Bc=function(){this.ik||(this.ik=!0,this.Te(!0))};function jl(a){a.je||Li(a);a.ik&&Ul(a,a.Jh())}
-C.prototype.redraw=C.prototype.Iq=function(){this.cd||this.je||(this.ra(),am(this),Pl(this),this.Bc(),this.hg())};C.prototype.isUpdateRequested=function(){return this.Zf};C.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Ya,c=b.isEnabled;b.Ii();b.isEnabled=!1;Vi(this);this.sh=!1;b.isEnabled=c;null!==a&&z.setTimeout(a,1)};
-C.prototype.requestUpdate=C.prototype.Te=function(a){void 0===a&&(a=!1);if(!0!==this.Zf&&!(this.cd||!1===a&&this.je)){this.Zf=!0;var b=this;requestAnimationFrame(function(){b.Zf&&b.hg()})}};C.prototype.maybeUpdate=C.prototype.hg=function(){if(!this.$o||this.Zf)this.$o&&(this.$o=!1),Vi(this)};function bm(a,b){a.Ya.wf||a.cd||!a.Qm||Ol(a)||(b&&Li(a),Rl(a,!1))}
-function Vi(a){if(!a.je&&(a.Zf=!1,null!==a.Tb)){a.je=!0;var b=a.Ya,c=a.Pz;if(!b.lp&&0!==c.length){for(var d=c.o,e=d.length,g=0;gb;b++){var c=a.Cg.j;if(null===c||0===a.Cg.count)break;a.Cg=new K(O);a.QB(c,a.Cg);u&&22===b&&z.trace("failure to validate parts")}a.og.each(function(a){a instanceof F&&0!==(a.Ha&65536)!==!1&&(a.Ha^=65536)})}}
-C.prototype.QB=function(a,b){for(a.reset();a.next();){var c=a.value;!c.re()||c instanceof F||(c.sm()?(Bk(c,Infinity,Infinity),c.rc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof F&&c.isVisible()&&Bm(this,c);for(a.reset();a.next();)c=a.value,c instanceof H&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.rc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof ea&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.rc()):b.add(c))};
-function Bm(a,b){for(var c=z.tb(),d=z.tb(),e=b.Oc;e.next();){var g=e.value;g.isVisible()&&(g instanceof F?(Cm(g)||Dm(g)||Em(g))&&Bm(a,g):g instanceof H?g.aa===b||g.ea===b?d.push(g):c.push(g):(Bk(g,Infinity,Infinity),g.rc()))}for(var e=c.length,h=0;hb.targetTouches.length)return;e=b.targetTouches[c]}else if(null!==a.nj[0])e=a.nj[c];else return;c=a.Lb;b=a.Ob;a=a.Sb;var g=0,h=0;null!==c&&null!==e&&(c=c.getBoundingClientRect(),g=e.clientX-b/c.width*c.left,h=e.clientY-a/c.height*c.top);d.m(g,h)}C.prototype.invalidateDocumentBounds=C.prototype.Bc=function(){this.ik||(this.ik=!0,this.Te(!0))};function jl(a){a.ie||Li(a);a.ik&&Ul(a,a.Jh())}
+C.prototype.redraw=C.prototype.Iq=function(){this.cd||this.ie||(this.ra(),am(this),Pl(this),this.Bc(),this.hg())};C.prototype.isUpdateRequested=function(){return this.Zf};C.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Ya,c=b.isEnabled;b.Ii();b.isEnabled=!1;Vi(this);this.sh=!1;b.isEnabled=c;null!==a&&z.setTimeout(a,1)};
+C.prototype.requestUpdate=C.prototype.Te=function(a){void 0===a&&(a=!1);if(!0!==this.Zf&&!(this.cd||!1===a&&this.ie)){this.Zf=!0;var b=this;requestAnimationFrame(function(){b.Zf&&b.hg()})}};C.prototype.maybeUpdate=C.prototype.hg=function(){if(!this.Zo||this.Zf)this.Zo&&(this.Zo=!1),Vi(this)};function bm(a,b){a.Ya.wf||a.cd||!a.Qm||Ol(a)||(b&&Li(a),Rl(a,!1))}
+function Vi(a){if(!a.ie&&(a.Zf=!1,null!==a.Tb)){a.ie=!0;var b=a.Ya,c=a.Pz;if(!b.kp&&0!==c.length){for(var d=c.o,e=d.length,g=0;gb;b++){var c=a.Cg.j;if(null===c||0===a.Cg.count)break;a.Cg=new K(O);a.QB(c,a.Cg);u&&22===b&&z.trace("failure to validate parts")}a.og.each(function(a){a instanceof F&&0!==(a.Ha&65536)!==!1&&(a.Ha^=65536)})}}
+C.prototype.QB=function(a,b){for(a.reset();a.next();){var c=a.value;!c.qe()||c instanceof F||(c.sm()?(Bk(c,Infinity,Infinity),c.qc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof F&&c.isVisible()&&Bm(this,c);for(a.reset();a.next();)c=a.value,c instanceof H&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.qc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof ea&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.qc()):b.add(c))};
+function Bm(a,b){for(var c=z.tb(),d=z.tb(),e=b.Oc;e.next();){var g=e.value;g.isVisible()&&(g instanceof F?(Cm(g)||Dm(g)||Em(g))&&Bm(a,g):g instanceof H?g.aa===b||g.ea===b?d.push(g):c.push(g):(Bk(g,Infinity,Infinity),g.qc()))}for(var e=c.length,h=0;hx+1&&
-(N=Math.max((t-x)*c+a.Ob,N)),q+k+1p+1&&(G=Math.max((B-p)*c+a.Sb,G)),r+l+1x+1&&(N=Math.max((t-x)*c+a.Ob,N)),q+1p+1&&(G=Math.max((B-p)*c+l,G)),r+1x+1&&(k=a.position.x*c));if(a.fs)switch(a.Qz){case "negative":k=-(b.scrollWidth-k-b.clientWidth);break;case "reverse":k=b.scrollWidth-k-b.clientWidth}b.scrollLeft=k;a.OA&&a.Be&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.bs=!0);m=a.Ob;n=a.Sb;b.style.width=m+(a.wl?a.Ud:0)+"px";b.style.height=n+(a.hk?a.Ud:0)+"px";a.Sz=!1;return d!==m||e!==
+function Ol(a){var b=a.Lb;if(null===b)return!0;var c=a.Tb,d=a.Ob,e=a.Sb,g=a.mE.copy();if(!g.F())return!0;var h=!1,k=a.wl?a.Td:0,l=a.hk?a.Td:0,m=c.clientWidth||d+k,n=c.clientHeight||e+l;if(m!==d+k||n!==e+l)a.wl=!1,a.hk=!1,l=k=0,a.Ob=m,a.Sb=n,h=a.bs=!0;a.Qm=!1;var p=a.yb,c=a.fd,m=c.width,n=c.height,q=p.width,r=p.height,s=c.x,v=p.x,t=c.right,x=p.right+k,y=c.y,B=p.y,A=c.bottom,p=p.bottom+l,N="1px",G="1px",c=a.scale;a.uB===xl&&mx+1&&
+(N=Math.max((t-x)*c+a.Ob,N)),q+k+1p+1&&(G=Math.max((A-p)*c+a.Sb,G)),r+l+1x+1&&(N=Math.max((t-x)*c+a.Ob,N)),q+1p+1&&(G=Math.max((A-p)*c+l,G)),r+1x+1&&(k=a.position.x*c));if(a.fs)switch(a.Qz){case "negative":k=-(b.scrollWidth-k-b.clientWidth);break;case "reverse":k=b.scrollWidth-k-b.clientWidth}b.scrollLeft=k;a.OA&&a.Be&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.bs=!0);m=a.Ob;n=a.Sb;b.style.width=m+(a.wl?a.Td:0)+"px";b.style.height=n+(a.hk?a.Td:0)+"px";a.Sz=!1;return d!==m||e!==
n||a.Ya.yc?(p=a.yb,a.Lu(g,p,c,a.scale,h),!1):!0}
-C.prototype.add=C.prototype.add=function(a){z.l(a,D,C,"add:part");var b=a.g;if(b!==this){null!==b&&z.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.cr&&(a.El="Tool");var c=a.Lf,b=this.hm(c);null===b&&(b=this.hm(""));null===b&&z.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.rq(99999999,a,a.g===this),0<=c&&this.ld(sg,"parts",b,null,a,null,c),b.Wc||this.Bc(),a.N(Lm),c=a.Yx,null!==
+C.prototype.add=C.prototype.add=function(a){z.l(a,D,C,"add:part");var b=a.g;if(b!==this){null!==b&&z.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.cr&&(a.El="Tool");var c=a.Lf,b=this.hm(c);null===b&&(b=this.hm(""));null===b&&z.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.qq(99999999,a,a.g===this),0<=c&&this.ld(sg,"parts",b,null,a,null,c),b.Wc||this.Bc(),a.N(Lm),c=a.Yx,null!==
c&&c(a,null,b))}};
-C.prototype.rq=function(a){if(a instanceof E){if(this.zp.add(a),a instanceof F){var b=a.Qa;null===b?this.Pl.add(a):b.cn.add(a);b=a.Wb;null!==b&&(b.g=this)}}else a instanceof H?this.sp.add(a):a instanceof ea||this.pb.add(a);var c=this;Mm(a,function(a){Nm(c,a)});a.Qb&&a.K();b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.add(b,a):this.Ti.add(b,a)),Mm(a,function(a){Om(c,a)}));!0!==Dm(a)&&!0!==Em(a)||this.Cg.add(a);Pm(a,!0,this);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&
+C.prototype.qq=function(a){if(a instanceof E){if(this.yp.add(a),a instanceof F){var b=a.Qa;null===b?this.Pl.add(a):b.cn.add(a);b=a.Wb;null!==b&&(b.g=this)}}else a instanceof H?this.rp.add(a):a instanceof ea||this.pb.add(a);var c=this;Mm(a,function(a){Nm(c,a)});a.Qb&&a.K();b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.add(b,a):this.Ti.add(b,a)),Mm(a,function(a){Om(c,a)}));!0!==Dm(a)&&!0!==Em(a)||this.Cg.add(a);Pm(a,!0,this);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&
a.Z.F()&&this.ra(sl(a,a.Z));this.Te()};
-C.prototype.vf=function(a){a.Vt();if(a instanceof E){if(this.zp.remove(a),a instanceof F){var b=a.Qa;null===b?this.Pl.remove(a):b.cn.remove(a);b=a.Wb;null!==b&&(b.g=null)}}else a instanceof H?this.sp.remove(a):a instanceof ea||this.pb.remove(a);var c=this;Mm(a,function(a){Rm(c,a)});b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.remove(b):this.Ti.remove(b)),Mm(a,function(a){Sm(c,a)}));this.Cg.remove(a);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&a.Z.F()&&this.ra(sl(a,
+C.prototype.vf=function(a){a.Vt();if(a instanceof E){if(this.yp.remove(a),a instanceof F){var b=a.Qa;null===b?this.Pl.remove(a):b.cn.remove(a);b=a.Wb;null!==b&&(b.g=null)}}else a instanceof H?this.rp.remove(a):a instanceof ea||this.pb.remove(a);var c=this;Mm(a,function(a){Rm(c,a)});b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.remove(b):this.Ti.remove(b)),Mm(a,function(a){Sm(c,a)}));this.Cg.remove(a);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&a.Z.F()&&this.ra(sl(a,
a.Z));this.Te()};C.prototype.remove=C.prototype.remove=function(a){z.l(a,D,C,"remove:part");Tm(this,a,!0)};function Tm(a,b,c){var d=b.layer;null!==d&&d.g===a&&(b.gb=!1,b.Wg=!1,b.N(Um),c&&b.Mn(),c=d.vf(-1,b,!1),0<=c&&a.ld(tg,"parts",d,b,null,c,null),a=b.Yx,null!==a&&a(b,d,null))}
-C.prototype.removeParts=C.prototype.rB=function(a,b){if(z.isArray(a))for(var c=z.bb(a),d=0;dd&&this.Bc()};
-C.prototype.addLayerAfter=function(a,b){Vm(this,a,b);a.$c(this);var c=this.bc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.ye&&this.ld(tg,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.Bc()};
-C.prototype.removeLayer=function(a){z.l(a,ah,C,"removeLayer:layer");a.g!==this&&z.k("Cannot remove a Layer from another Diagram: "+a+" of "+a.g);if(""!==a.name){var b=this.bc,c=b.indexOf(a);if(b.remove(a)){for(b=a.pb.copy().j;b.next();){var d=b.value,e=d.Lf;d.Lf=e!==a.name?e:""}null!==this.ye&&this.ld(tg,"layers",this,a,null,c,null);this.ra();this.Bc()}}};C.prototype.findLayer=C.prototype.hm=function(a){for(var b=this.ao;b.next();){var c=b.value;if(c.name===a)return c}return null};
+b+"'; a Layer with the same name is already present in this Diagram.")}}C.prototype.addLayer=C.prototype.Lt=function(a){Vm(this,a,null);a.$c(this);var b=this.bc,c=b.count-1;if(!a.Wc)for(;0<=c&&b.fa(c).Wc;)c--;b.Yd(c+1,a);null!==this.xe&&this.ld(sg,"layers",this,null,a,null,c+1);this.ra();this.Bc()};
+C.prototype.addLayerBefore=C.prototype.KH=function(a,b){Vm(this,a,b);a.$c(this);var c=this.bc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.xe&&this.ld(tg,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.Bc()};
+C.prototype.addLayerAfter=function(a,b){Vm(this,a,b);a.$c(this);var c=this.bc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.xe&&this.ld(tg,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.Bc()};
+C.prototype.removeLayer=function(a){z.l(a,ah,C,"removeLayer:layer");a.g!==this&&z.k("Cannot remove a Layer from another Diagram: "+a+" of "+a.g);if(""!==a.name){var b=this.bc,c=b.indexOf(a);if(b.remove(a)){for(b=a.pb.copy().j;b.next();){var d=b.value,e=d.Lf;d.Lf=e!==a.name?e:""}null!==this.xe&&this.ld(tg,"layers",this,a,null,c,null);this.ra();this.Bc()}}};C.prototype.findLayer=C.prototype.hm=function(a){for(var b=this.ao;b.next();){var c=b.value;if(c.name===a)return c}return null};
C.prototype.addModelChangedListener=C.prototype.MH=function(a){z.h(a,"function",C,"addModelChangedListener:listener");null===this.vh&&(this.vh=new J("function"));this.vh.add(a);this.ia.An(a)};C.prototype.removeModelChangedListener=function(a){z.h(a,"function",C,"removeModelChangedListener:listener");null!==this.vh&&(this.vh.remove(a),0===this.vh.count&&(this.vh=null));this.ia.Ou(a)};
C.prototype.addChangedListener=C.prototype.An=function(a){z.h(a,"function",C,"addChangedListener:listener");null===this.Oi&&(this.Oi=new J("function"));this.Oi.add(a)};C.prototype.removeChangedListener=C.prototype.Ou=function(a){z.h(a,"function",C,"removeChangedListener:listener");null!==this.Oi&&(this.Oi.remove(a),0===this.Oi.count&&(this.Oi=null))};
C.prototype.mx=function(a){this.Eb||this.sa.wF(a);a.Kc!==rg&&(this.Fi=!0);if(null!==this.Oi){var b=this.Oi,c=b.length;if(1===c)b=b.fa(0),b(a);else if(0!==c)for(var d=b.nc(),e=0;ea.Oh&&(c=a.Oh);e=z.Fb(a.ub.x+h/b-h/c,a.ub.y+k/b-k/c);a.position=e;z.A(e);a.Rb=c;a.Lu(d,a.yb,b,c,!1);a.cd=!1;Rl(a,
-!1);c=a.Ya;c.yc&&nl(c,b,a.Rb);a.ra();am(a)}}C.prototype.Lu=function(a,b,c,d,e){a.O(b)||(void 0===e&&(e=!1),e||am(this),Pl(this),d=this.Wb,null===d||!d.Vx||this.Zl!==Qh||e||a.width===b.width&&a.height===b.height||d.N(),d=this.fb,!0===this.Sm&&d instanceof Kh&&(this.U.ha=this.NB(this.U.te),Fk(d,this)),this.cd||this.BF(a,b),dm(this),this.Eh.scale=c,this.Eh.position.x=a.x,this.Eh.position.y=a.y,this.Eh.bounds.set(a),this.Eh.isScroll=e,this.Ka("ViewportBoundsChanged",this.Eh,a))};
+function Wm(a,b,c){if(a.cd||a.ie)a.Rb=c,c=a.Ya,c.yc&&nl(c,b,a.Rb);else if(a.cd=!0,null===a.Lb)a.Rb=c;else{var d=a.yb.copy(),e=a.Ob,g=a.Sb;d.width=a.Ob/b;d.height=a.Sb/b;var h=a.Dm.x,k=a.Dm.y,l=a.JE;isNaN(h)&&(l.Gj()?l.Fj(sc)?h=0:l.Fj(xc)&&(h=e-1):h=l.jd()?l.x*(e-1):e/2);isNaN(k)&&(l.Gj()?l.Fj(rc)?k=0:l.Fj(yc)&&(k=g-1):k=l.jd()?l.y*(g-1):g/2);null!==a.wG&&(c=a.wG(a,c));ca.Oh&&(c=a.Oh);e=z.Fb(a.ub.x+h/b-h/c,a.ub.y+k/b-k/c);a.position=e;z.A(e);a.Rb=c;a.Lu(d,a.yb,b,c,!1);a.cd=!1;Rl(a,
+!1);c=a.Ya;c.yc&&nl(c,b,a.Rb);a.ra();am(a)}}C.prototype.Lu=function(a,b,c,d,e){a.O(b)||(void 0===e&&(e=!1),e||am(this),Pl(this),d=this.Wb,null===d||!d.Vx||this.Zl!==Qh||e||a.width===b.width&&a.height===b.height||d.N(),d=this.fb,!0===this.Sm&&d instanceof Kh&&(this.U.ha=this.NB(this.U.se),Fk(d,this)),this.cd||this.BF(a,b),dm(this),this.Eh.scale=c,this.Eh.position.x=a.x,this.Eh.position.y=a.y,this.Eh.bounds.set(a),this.Eh.isScroll=e,this.Ka("ViewportBoundsChanged",this.Eh,a))};
function dm(a,b){void 0===b&&(b=null);var c=a.Cd;if(null!==c&&c.visible){for(var d=z.Am(),e=1,g=1,h=c.va.o,k=h.length,l=0;ln||(Xm(m.Jb)?g=g*n/Te(g,n):e=e*n/Te(e,n))}h=c.Kx;d.m(g*h.width,e*h.height);h=g=l=k=0;if(null!==b)k=b.width,l=b.height,g=b.x,h=b.y;else{e=z.Of();g=a.yb;e.m(g.x,g.y,g.width,g.height);for(h=a.ww.j;h.next();)g=h.value.yb,g.F()&&Rb(e,g.x,g.y,g.width,g.height);if(!e.F()){z.Mb(e);return}k=e.width;l=e.height;g=e.x;h=e.y;z.Mb(e)}c.width=k+2*d.width;c.height=
l+2*d.height;e=z.P();tb(g,h,0,0,d.width,d.height,e);e.offset(-d.width,-d.height);z.Qk(d);c.ba.location=e;z.A(e)}}C.prototype.clearSelection=C.prototype.ox=function(){var a=0l)){var m=l;kn(k)&&m++;k.vf(m);ln(k,m,l)}}}}function Om(a,b){var c=b.cj;if(z.isArray(c)){var d=a.Um.qa(c);if(null===d)d=[],d.push(b),a.Um.add(c,d);else{for(c=0;cthis.scale&&(this.scale=a)):z.wa(a,"> 0",C,"minScale"))});
z.defineProperty(C,{Oh:"maxScale"},function(){return this.kw},function(a){z.p(a,C,"maxScale");var b=this.kw;b!==a&&(0 0",C,"maxScale"))});z.defineProperty(C,{Dm:"zoomPoint"},function(){return this.ax},function(a){this.ax.O(a)||(z.l(a,M,C,"zoomPoint"),this.ax=a=a.V())});
-z.defineProperty(C,{JE:"contentAlignment"},function(){return this.Ko},function(a){var b=this.Ko;b.O(a)||(z.l(a,R,C,"contentAlignment"),this.Ko=a=a.V(),this.i("contentAlignment",b,a),Rl(this,!1))});z.defineProperty(C,{LL:"initialContentAlignment"},function(){return this.fp},function(a){var b=this.fp;b.O(a)||(z.l(a,R,C,"initialContentAlignment"),this.fp=a=a.V(),this.i("initialContentAlignment",b,a))});
-z.defineProperty(C,{padding:"padding"},function(){return this.sf},function(a){"number"===typeof a?a=new Kb(a):z.l(a,Kb,C,"padding");var b=this.sf;b.O(a)||(this.sf=a=a.V(),this.Bc(),this.i("padding",b,a))});z.w(C,{og:"nodes"},function(){return this.zp.j});z.w(C,{links:"links"},function(){return this.sp.j});z.w(C,{Gi:"parts"},function(){return this.pb.j});
-C.prototype.findTopLevelNodesAndLinks=function(){for(var a=new K(D),b=this.zp.j;b.next();){var c=b.value;c.wq&&a.add(c)}for(b=this.sp.j;b.next();)c=b.value,c.wq&&a.add(c);return a.j};C.prototype.findTopLevelGroups=function(){return this.Pl.j};z.defineProperty(C,{Wb:"layout"},function(){return this.we},function(a){var b=this.we;b!==a&&(z.l(a,ch,C,"layout"),null!==b&&(b.g=null,b.group=null),this.we=a,a.g=this,a.group=null,this.sv=!0,this.i("layout",b,a),this.Te())});
+z.defineProperty(C,{JE:"contentAlignment"},function(){return this.Jo},function(a){var b=this.Jo;b.O(a)||(z.l(a,R,C,"contentAlignment"),this.Jo=a=a.V(),this.i("contentAlignment",b,a),Rl(this,!1))});z.defineProperty(C,{LL:"initialContentAlignment"},function(){return this.ep},function(a){var b=this.ep;b.O(a)||(z.l(a,R,C,"initialContentAlignment"),this.ep=a=a.V(),this.i("initialContentAlignment",b,a))});
+z.defineProperty(C,{padding:"padding"},function(){return this.sf},function(a){"number"===typeof a?a=new Kb(a):z.l(a,Kb,C,"padding");var b=this.sf;b.O(a)||(this.sf=a=a.V(),this.Bc(),this.i("padding",b,a))});z.w(C,{og:"nodes"},function(){return this.yp.j});z.w(C,{links:"links"},function(){return this.rp.j});z.w(C,{Gi:"parts"},function(){return this.pb.j});
+C.prototype.findTopLevelNodesAndLinks=function(){for(var a=new K(D),b=this.yp.j;b.next();){var c=b.value;c.vq&&a.add(c)}for(b=this.rp.j;b.next();)c=b.value,c.vq&&a.add(c);return a.j};C.prototype.findTopLevelGroups=function(){return this.Pl.j};z.defineProperty(C,{Wb:"layout"},function(){return this.ve},function(a){var b=this.ve;b!==a&&(z.l(a,ch,C,"layout"),null!==b&&(b.g=null,b.group=null),this.ve=a,a.g=this,a.group=null,this.sv=!0,this.i("layout",b,a),this.Te())});
C.prototype.layoutDiagram=function(a){Li(this);a&&qn(this,!0);em(this,!1)};function qn(a,b){for(var c=a.Pl.j;c.next();)yn(a,c.value,b);null!==a.Wb&&(b?a.Wb.Jf=!1:a.Wb.N())}function yn(a,b,c){if(null!==b){for(var d=b.cn.j;d.next();)yn(a,d.value,c);null!==b.Wb&&(c?b.Wb.Jf=!1:b.Wb.N())}}
-function em(a,b){if(!a.gz){var c=a.Wb,d=a.ab;a.ab=!0;try{var e=a.sa.Vh;0===e&&a.$b("Layout");var g=a.Ya;1!==a.sa.Vh||g.wf||g.yc||b||g.lo("Layout");for(var h=a.Pl.j;h.next();)zn(a,h.value,b);c.Jf||b&&!c.MF&&0!==e||(c.doLayout(a),Li(a),c.Jf=!0)}finally{0===e&&a.Wd("Layout"),a.sv=!c.Jf,a.ab=d}}}function zn(a,b,c){if(null!==b){for(var d=b.cn.j;d.next();)zn(a,d.value,c);d=b.Wb;null===d||d.Jf||c&&!d.MF||(b.io=!b.location.F(),d.doLayout(b),b.N(An),d.Jf=!0,Bm(a,b))}}
-z.defineProperty(C,{be:"isTreePathToChildren"},function(){return this.dw},function(a){var b=this.dw;if(b!==a&&(z.h(a,"boolean",C,"isTreePathToChildren"),this.dw=a,this.i("isTreePathToChildren",b,a),!this.sa.lb))for(a=this.og;a.next();)Bn(a.value)});C.prototype.findTreeRoots=function(){for(var a=new J(E),b=this.og;b.next();){var c=b.value;c.wq&&null===c.Pn()&&a.add(c)}return a.j};
+function em(a,b){if(!a.gz){var c=a.Wb,d=a.ab;a.ab=!0;try{var e=a.sa.Vh;0===e&&a.$b("Layout");var g=a.Ya;1!==a.sa.Vh||g.wf||g.yc||b||g.ko("Layout");for(var h=a.Pl.j;h.next();)zn(a,h.value,b);c.Jf||b&&!c.MF&&0!==e||(c.doLayout(a),Li(a),c.Jf=!0)}finally{0===e&&a.Vd("Layout"),a.sv=!c.Jf,a.ab=d}}}function zn(a,b,c){if(null!==b){for(var d=b.cn.j;d.next();)zn(a,d.value,c);d=b.Wb;null===d||d.Jf||c&&!d.MF||(b.io=!b.location.F(),d.doLayout(b),b.N(An),d.Jf=!0,Bm(a,b))}}
+z.defineProperty(C,{ae:"isTreePathToChildren"},function(){return this.dw},function(a){var b=this.dw;if(b!==a&&(z.h(a,"boolean",C,"isTreePathToChildren"),this.dw=a,this.i("isTreePathToChildren",b,a),!this.sa.lb))for(a=this.og;a.next();)Bn(a.value)});C.prototype.findTreeRoots=function(){for(var a=new J(E),b=this.og;b.next();){var c=b.value;c.vq&&null===c.Pn()&&a.add(c)}return a.j};
z.defineProperty(C,{OB:"treeCollapsePolicy"},function(){return this.Ww},function(a){var b=this.Ww;b!==a&&(a!==zl&&a!==Ym&&a!==Zm&&z.k("Unknown Diagram.treeCollapsePolicy: "+a),this.Ww=a,this.i("treeCollapsePolicy",b,a))});z.defineProperty(C,{Nh:null},function(){return this.$C},function(a){this.$C=a});
function yl(a){function b(a){var b=a.toLowerCase(),h=new J("function");c.add(a,h);c.add(b,h);d.add(a,a);d.add(b,a)}var c=new oa("string",J),d=new oa("string","string");b("AnimationStarting");b("AnimationFinished");b("BackgroundSingleClicked");b("BackgroundDoubleClicked");b("BackgroundContextClicked");b("ClipboardChanged");b("ClipboardPasted");b("DocumentBoundsChanged");b("ExternalObjectsDropped");b("InitialLayoutCompleted");b("LayoutCompleted");b("LinkDrawn");b("LinkRelinked");b("LinkReshaped");b("Modified");
b("ObjectSingleClicked");b("ObjectDoubleClicked");b("ObjectContextClicked");b("PartCreated");b("PartResized");b("PartRotated");b("SelectionMoved");b("SelectionCopied");b("SelectionDeleting");b("SelectionDeleted");b("SelectionGrouped");b("SelectionUngrouped");b("ChangingSelection");b("ChangedSelection");b("SubGraphCollapsed");b("SubGraphExpanded");b("TextEdited");b("TreeCollapsed");b("TreeExpanded");b("ViewportBoundsChanged");a.iz=c;a.hz=d}
function Ia(a,b){var c=a.hz.qa(b);return null!==c?c:a.hz.qa(b.toLowerCase())}function Cn(a,b){var c=a.iz.qa(b);if(null!==c)return c;c=a.iz.qa(b.toLowerCase());if(null!==c)return c;z.k("Unknown DiagramEvent name: "+b);return null}C.prototype.addDiagramListener=C.prototype.gA=function(a,b){z.h(a,"string",C,"addDiagramListener:name");z.h(b,"function",C,"addDiagramListener:listener");var c=Cn(this,a);null!==c&&c.add(b)};
-C.prototype.removeDiagramListener=C.prototype.jG=function(a,b){z.h(a,"string",C,"removeDiagramListener:name");z.h(b,"function",C,"addDiagramListener:listener");var c=Cn(this,a);null!==c&&c.remove(b)};C.prototype.raiseDiagramEvent=C.prototype.Ka=function(a,b,c){u&&z.h(a,"string",C,"raiseDiagramEvent:name");var d=Cn(this,a),e=new $f;e.g=this;e.name=Ia(this,a);void 0!==b&&(e.HB=b);void 0!==c&&(e.lB=c);a=d.length;if(1===a)d=d.fa(0),d(e);else if(0!==a)for(b=d.nc(),c=0;c=d.top&&0>=d.left&&0>=d.right&&0>=d.bottom)return c;var e=a.yb,g=a.scale,e=z.fh(0,0,e.width*g,e.height*g),h=z.Fb(0,0);if(b.x>=e.x&&b.xe.x+e.width-d.right&&(k=Math.max(a.Tu,1),k|=0,h.x+=k,b.x>e.x+e.width-d.right/2&&(h.x+=k),b.x>e.x+e.width-d.right/4&&(h.x+=4*k));b.y>=e.y&&b.ye.y+e.height-d.bottom&&(k=Math.max(a.Uu,1),k|=0,h.y+=k,b.y>e.y+e.height-d.bottom/2&&(h.y+=k),b.y>e.y+e.height-d.bottom/4&&(h.y+=4*k));h.Vc(Dd)||(c=new M(c.x+h.x/g,c.y+h.y/g));z.Mb(e);z.A(h);return c}C.prototype.makeSvg=C.prototype.makeSVG=function(a){void 0===a&&(a=new na);a.context="svg";a=Kn(this,a);return null!==a?a.ym:null};
C.prototype.makeImage=function(a){void 0===a&&(a=new na);var b=(a.document||document).createElement("img");b.src=this.vJ(a);return b};
C.prototype.makeImageData=C.prototype.vJ=function(a){void 0===a&&(a=new na);var b=Kn(this,a);if(null!==b){var c=a.returnType,c=void 0===c?"string":c.toLowerCase();switch(c){case "imagedata":return b.Mk.getImageData(0,0,b.width,b.height);case "blob":b=b.Fd;c=a.callback;if("function"!==typeof c){z.k('Error: Diagram.makeImageData called with "returnType: toBlob", but no "callback" function property defined.');break}if("function"===typeof b.uK)return b.uK(c,a.type,a.details),"toBlob";if("function"===
typeof b.KJ)return c(b.KJ(a.type,a.details)),"msToBlob";c(null);break;default:return b.toDataURL(a.type,a.details)}}return""};var Ln=!1;
function Kn(a,b){a.Ya.Ii();a.hg();if(null===a.Lb)return null;"object"!==typeof b&&z.k("properties argument must be an Object.");var c=!1,d=b.size||null,e=b.scale||null;void 0!==b.scale&&isNaN(b.scale)&&(e="NaN");var g=b.maxSize;void 0===b.maxSize&&(c=!0,g="svg"===b.context?new Fa(Infinity,Infinity):new Fa(2E3,2E3));var h=b.position||null,k=b.parts||null,l=void 0===b.padding?1:b.padding,m=b.background||null,n=b.omitTemporary;void 0===n&&(n=!0);var p=b.document||document,q=b.elementFinished||null,r=
-b.showTemporary;void 0===r&&(r=!n);n=b.showGrid;void 0===n&&(n=r);null!==d&&isNaN(d.width)&&isNaN(d.height)&&(d=null);"number"===typeof l?l=new Kb(l):l instanceof Kb||(l=new Kb(0));l.left=Math.max(l.left,0);l.right=Math.max(l.right,0);l.top=Math.max(l.top,0);l.bottom=Math.max(l.bottom,0);a.Vo=!1;da(a.pd,!0);var s=new ma(null,p),v=s.Mk,t=s;if(!(d||e||k||h))return s.width=a.Ob+Math.ceil(l.left+l.right),s.height=a.Sb+Math.ceil(l.top+l.bottom),"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&
-(a.Vo=!0)),Im(a,v,l,new Fa(s.width,s.height),a.Rb,a.ub,k,m,r,n),a.Vo=!0,t;var x=a.xb.vx,y=new M(0,0),A=a.fd.copy();A.sK(a.padding);if(r)for(var B=!0,B=a.bc.o,N=B.length,G=0;Gx?(e=x,h=A.width,aa=A.height):(h=g.width,aa=g.height)):(h=A.width*e,aa=A.height*e):(e=x,h=A.width,aa=A.height);null!==l?(h+=fa,aa+=B):l=new Kb(0);null!==g&&(d=g.width,g=g.height,"svg"!==b.context&&c&&!Ln&&(h>d||aa>g)&&(z.trace("Diagram.makeImage(data): Diagram width or height is larger than the default max size. ("+Math.ceil(h)+"x"+Math.ceil(aa)+" vs 2000x2000) Consider increasing the max size."),
-Ln=!0),isNaN(d)&&(d=2E3),isNaN(g)&&(g=2E3),isFinite(d)&&(h=Math.min(h,d)),isFinite(g)&&(aa=Math.min(aa,g)));s.width=Math.ceil(h);s.height=Math.ceil(aa);"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&(a.Vo=!0));Im(a,v,l,new Fa(Math.ceil(h),Math.ceil(aa)),e,y,k,m,r,n);a.Vo=!0;return t}C.inherit=function(a,b){z.h(a,"function",C,"inherit");z.h(b,"function",C,"inherit");b.yH&&z.k("Cannot inherit from "+z.uf(b));z.Ta(a,b)};
+b.showTemporary;void 0===r&&(r=!n);n=b.showGrid;void 0===n&&(n=r);null!==d&&isNaN(d.width)&&isNaN(d.height)&&(d=null);"number"===typeof l?l=new Kb(l):l instanceof Kb||(l=new Kb(0));l.left=Math.max(l.left,0);l.right=Math.max(l.right,0);l.top=Math.max(l.top,0);l.bottom=Math.max(l.bottom,0);a.Uo=!1;da(a.pd,!0);var s=new ma(null,p),v=s.Mk,t=s;if(!(d||e||k||h))return s.width=a.Ob+Math.ceil(l.left+l.right),s.height=a.Sb+Math.ceil(l.top+l.bottom),"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&
+(a.Uo=!0)),Im(a,v,l,new Fa(s.width,s.height),a.Rb,a.ub,k,m,r,n),a.Uo=!0,t;var x=a.xb.vx,y=new M(0,0),B=a.fd.copy();B.sK(a.padding);if(r)for(var A=!0,A=a.bc.o,N=A.length,G=0;Gx?(e=x,h=B.width,aa=B.height):(h=g.width,aa=g.height)):(h=B.width*e,aa=B.height*e):(e=x,h=B.width,aa=B.height);null!==l?(h+=fa,aa+=A):l=new Kb(0);null!==g&&(d=g.width,g=g.height,"svg"!==b.context&&c&&!Ln&&(h>d||aa>g)&&(z.trace("Diagram.makeImage(data): Diagram width or height is larger than the default max size. ("+Math.ceil(h)+"x"+Math.ceil(aa)+" vs 2000x2000) Consider increasing the max size."),
+Ln=!0),isNaN(d)&&(d=2E3),isNaN(g)&&(g=2E3),isFinite(d)&&(h=Math.min(h,d)),isFinite(g)&&(aa=Math.min(aa,g)));s.width=Math.ceil(h);s.height=Math.ceil(aa);"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&(a.Uo=!0));Im(a,v,l,new Fa(Math.ceil(h),Math.ceil(aa)),e,y,k,m,r,n);a.Uo=!0;return t}C.inherit=function(a,b){z.h(a,"function",C,"inherit");z.h(b,"function",C,"inherit");b.yH&&z.k("Cannot inherit from "+z.uf(b));z.Ta(a,b)};
function Hl(){this.BH="63ad05bbe23a1786468a4c741b6d2";this.Xi=this.BH===this._tk?!0:null}
function Mn(a){var b="f",c=window[z.Sg("76a715b2f73f148a")][z.Sg("72ba13b5")],d=z.Sg;if(window[d("7da7")]&&window[d("7da7")][d("76a115b6ed251eaf4692")]){a.Xi=!0;var e=window[d("7da7")][d("76a115b6ed251eaf4692")],e=d(e).split(d("39e9"));if(6>e.length)return;var g=d(e[1]).split(".");if("7da71ca0"!==e[4])return;var h=d(z[d("6cae19")]).split(".");if(g[0]>h[0]||g[0]===h[0]&&g[1]>=h[1]){g=c[d("76ad18b4f73e")];for(h=c[d("73a612b6fb191d")](d("35e7"))+2;h
g&&d(e[2])!==d("7da71ca0ad381e90")&&(g=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));0>g&&(g=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));a.Xi=!(0<=g&&gg&&d(z.adym)!==d("7da71ca0ad381e90")&&(g=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));a.Xi=!(0<=g&&gb.timeStamp-a.Wm)b.preventDefault();else if(a.Al)b.preventDefault();else{a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.gm=!0;c.Qe=b.detail;if(z.GF||z.HF)b.timeStamp-a.Wmb.timeStamp-a.Wm){b.preventDefault();return}a.Wm=b.timeStamp}if(z.Xn&&null!==a.qt)a.qt=null,b.preventDefault();else{a.ed=
-a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.up=!0;c.Qe=b.detail;if(z.GF||z.HF)c.Qe=a.Dl;c.bubbles=b.bubbles;b.target.ca&&(c.eh=b.target.ca);a.HG(b,null,new M,c.eh)||(a.doMouseUp(),yi(a),ia(a,c,b))}}};a.Qh=function(b){if(a.isEnabled){var c=a.ed;a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.bubbles=!0;c.fm=void 0!==b.wheelDelta?b.wheelDelta:-40*b.detail;a.doMouseWheel();ia(a,c,b)}};a.Dq=function(){if(a.isEnabled){a.Sm=!1;var b=a.fb;b.cancelWaitAfter();b instanceof Kh&&b.hideToolTip()}};a.WG=function(b){if(a.isEnabled){a.zt=!1;
+c.style.position="absolute";c.style.overflow="auto";c.style.width=a.Ob+"px";c.style.height=a.Sb+"px";c.style.zIndex="1";e.style.position="absolute";e.style.width="1px";e.style.height="1px";a.Tb.appendChild(c);c.appendChild(e);c.onscroll=a.tH;c.onmousedown=a.xD;c.ontouchstart=a.xD;c.ca=a;c.wH=!0;c.xH=!0;a.Kw=c;a.ht=e;a.qB=z.NE(function(){a.zk=null;a.ra()},300,!1);a.dH=z.NE(function(){al(a)},250,!1);a.preventDefault=function(a){a.preventDefault();return!1};a.Bq=function(b){if(a.isEnabled){a.Sm=!0;var c=
+a.ed;z.Xn&&c.Hj?(b.preventDefault(),b.simulated=!0,a.qt=b):(a.ed=a.Ub,a.Ub=c,Xl(a,a,b,c,!0),a.Ay(b,null,b.target.ca)||(a.doMouseMove(),a.fb.isBeyondDragSize()&&(a.Dl=0),ia(a,c,b)))}};a.Aq=function(b){if(a.isEnabled){a.Sm=!0;var c=a.ed;if(z.Xn&&null!==a.qt)a.qt=b,b.preventDefault();else if(z.Xn&&400>b.timeStamp-a.Wm)b.preventDefault();else if(a.Al)b.preventDefault();else{a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.gm=!0;c.Qe=b.detail;if(z.GF||z.HF)b.timeStamp-a.Wmb.timeStamp-a.Wm){b.preventDefault();return}a.Wm=b.timeStamp}if(z.Xn&&null!==a.qt)a.qt=null,b.preventDefault();else{a.ed=
+a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.up=!0;c.Qe=b.detail;if(z.GF||z.HF)c.Qe=a.Dl;c.bubbles=b.bubbles;b.target.ca&&(c.eh=b.target.ca);a.HG(b,null,new M,c.eh)||(a.doMouseUp(),yi(a),ia(a,c,b))}}};a.Qh=function(b){if(a.isEnabled){var c=a.ed;a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.bubbles=!0;c.fm=void 0!==b.wheelDelta?b.wheelDelta:-40*b.detail;a.doMouseWheel();ia(a,c,b)}};a.Cq=function(){if(a.isEnabled){a.Sm=!1;var b=a.fb;b.cancelWaitAfter();b instanceof Kh&&b.hideToolTip()}};a.WG=function(b){if(a.isEnabled){a.zt=!1;
a.Al=!0;var c=a.ed;a.ed=a.Ub;a.Ub=c;Zl(a,b,b.targetTouches[0],c,1a.Aw)){var c=
@@ -1007,24 +1008,24 @@ a.nj;c[0].pointerId===b.pointerId&&(c[0]=b);c[1].pointerId===b.pointerId&&(c[1]=
function Nn(a){1a)&&z.wa(a,"0 <= loc <= 1",Ea,"addColorStop:loc");z.h(b,"string",Ea,"addColorStop:color");u&&!Da(b)&&z.k('Color "'+b+'" is not a valid color string for Brush.addColorStop');null===this.ph&&(this.ph=new oa("number","string"));this.ph.add(a,b);this.da===Zg&&(this.type=$g);this.qh=null};
-z.defineProperty(Ea,{type:"type"},function(){return this.da},function(a){this.I&&z.pa(this,a);z.Ca(a,Ea,Ea,"type");this.da=a;this.start.ae()&&(a===$g?this.start=ic:a===Bd&&(this.start=mc));this.end.ae()&&(a===$g?this.end=pc:a===Bd&&(this.end=mc));this.qh=null});z.defineProperty(Ea,{color:"color"},function(){return this.Io},function(a){this.I&&z.pa(this,a);u&&!Da(a)&&z.k('Color "'+a+'" is not a valid color string for Brush.color');this.Io=a;this.qh=null});
-z.defineProperty(Ea,{start:"start"},function(){return this.Lp},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"start");this.Lp=a.V();this.qh=null});z.defineProperty(Ea,{end:"end"},function(){return this.Xo},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"end");this.Xo=a.V();this.qh=null});z.defineProperty(Ea,{$u:"startRadius"},function(){return this.Rw},function(a){this.I&&z.pa(this,a);z.p(a,Ea,"startRadius");0>a&&z.wa(a,">= zero",Ea,"startRadius");this.Rw=a;this.qh=null});
+z.defineProperty(Ea,{type:"type"},function(){return this.da},function(a){this.I&&z.pa(this,a);z.Ca(a,Ea,Ea,"type");this.da=a;this.start.$d()&&(a===$g?this.start=ic:a===Bd&&(this.start=mc));this.end.$d()&&(a===$g?this.end=pc:a===Bd&&(this.end=mc));this.qh=null});z.defineProperty(Ea,{color:"color"},function(){return this.Ho},function(a){this.I&&z.pa(this,a);u&&!Da(a)&&z.k('Color "'+a+'" is not a valid color string for Brush.color');this.Ho=a;this.qh=null});
+z.defineProperty(Ea,{start:"start"},function(){return this.Kp},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"start");this.Kp=a.V();this.qh=null});z.defineProperty(Ea,{end:"end"},function(){return this.Wo},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"end");this.Wo=a.V();this.qh=null});z.defineProperty(Ea,{$u:"startRadius"},function(){return this.Rw},function(a){this.I&&z.pa(this,a);z.p(a,Ea,"startRadius");0>a&&z.wa(a,">= zero",Ea,"startRadius");this.Rw=a;this.qh=null});
z.defineProperty(Ea,{bu:"endRadius"},function(){return this.Nv},function(a){this.I&&z.pa(this,a);z.p(a,Ea,"endRadius");0>a&&z.wa(a,">= zero",Ea,"endRadius");this.Nv=a;this.qh=null});z.defineProperty(Ea,{Jk:"colorStops"},function(){return this.ph},function(a){this.I&&z.pa(this,a);u&&z.l(a,oa,Ea,"colorStops");this.ph=a;this.qh=null});z.defineProperty(Ea,{pattern:"pattern"},function(){return this.zw},function(a){this.I&&z.pa(this,a);this.zw=a;this.qh=null});
Ea.randomColor=function(a,b){void 0===a&&(a=128);u&&(z.p(a,Ea,"randomColor:min"),(0>a||255d.length&&(d="0"+d);2>e.length&&(e="0"+e);2>c.length&&(c="0"+c);return"#"+
d+e+c};var Xn=(new ma(null)).Mk,Da;Ea.isValidColor=Da=function(a){if("black"===a)return!0;if(""===a)return!1;u&&z.h(a,"string",Ea,"isValidColor");Xn.fillStyle="#000000";var b=Xn.fillStyle;Xn.fillStyle=a;if(Xn.fillStyle!==b)return!0;Xn.fillStyle="#FFFFFF";b=Xn.fillStyle;Xn.fillStyle=a;return Xn.fillStyle!==b};var Yn=new Wn,Zn=new Wn,$n=new Wn,ao=new Wn;Ea.lighten=function(a){return bo(a)};
@@ -1035,15 +1036,15 @@ ao.mg;c=-.969266*$n.Pc+1.8760108*$n.Md+.041556*$n.kd;d=.0556434*$n.Pc+-.2040259*
255,h=Yn.kd/255,k=Math.max(e,g,h),d=Math.min(e,g,h),l=k-d,d=(k+d)/2;if(0===l)c=e=0;else{switch(k){case e:c=(g-h)/l%6;break;case g:c=(h-e)/l+2;break;case h:c=(e-g)/l+4}c*=60;0>c&&(c+=360);e=l/(1-Math.abs(2*d-1))}Zn.Pc=Math.round(c);Zn.Md=Math.round(100*e);Zn.kd=Math.round(100*d);Zn.mg=Yn.mg;Zn.kd=Math.min(100,Math.max(0,Zn.kd+100*a));return"hsla("+Zn.Pc+", "+Zn.Md+"%, "+Zn.kd+"%, "+Zn.mg+")";default:return z.k("Unknown color space: "+b),"rgba(0, 0, 0, 1)"}}
function co(a){Xn.clearRect(0,0,1,1);Xn.fillStyle="#000000";var b=Xn.fillStyle;Xn.fillStyle=a;Xn.fillStyle!==b?(Xn.fillRect(0,0,1,1),a=Xn.getImageData(0,0,1,1).data,Yn.Pc=a[0],Yn.Md=a[1],Yn.kd=a[2],Yn.mg=a[3]/255):(Xn.fillStyle="#FFFFFF",b=Xn.fillStyle,Xn.fillStyle=a,Xn.fillStyle===b&&u&&z.k('Color "'+a+'" is not a valid color string for RGBA color conversion'),Yn.Pc=0,Yn.Md=0,Yn.kd=0,Yn.mg=1)}function ho(a){a/=255;return.04045>=a?a/12.92:Math.pow((a+.055)/1.055,2.4)}
function no(a){return.0031308>=a?12.92*a:1.055*Math.pow(a,1/2.4)-.055}var mo=216/24389,lo=24389/27,jo=[95.047,100,108.883];function io(a){return a>mo?Math.pow(a,1/3):(lo*a+16)/116}function ko(a){var b=a*a*a;return b>mo?b:(116*a-16)/lo}
-function O(){z.xc(this);this.T=4225027;this.Hc=1;this.Ah=null;this.Xb="";this.ic=this.Kb=null;this.ub=(new M(NaN,NaN)).freeze();this.Ye=ie;this.li=Sd;this.ki=ge;this.Jc=new Ga;this.Li=new Ga;this.ej=new Ga;this.Rb=this.Uo=1;this.rg=0;this.Mg=oo;this.an=Nd;this.Dd=(new w(NaN,NaN,NaN,NaN)).freeze();this.ac=(new w(NaN,NaN,NaN,NaN)).freeze();this.Tc=(new w(0,0,NaN,NaN)).freeze();this.Y=this.Us=this.Vs=null;this.Fm=this.ue=Rc;this.et=0;this.pj=1;this.pr=0;this.Qi=1;this.ut=null;this.it=-Infinity;this.on=
-0;this.pn=Dd;this.qn=nj;this.xr="";this.Ec=this.ma=null;this.Fo=-1;this.hn=this.un=this.ug=this.rl=this.Kp=null}z.Ai(O);z.ka("GraphObject",O);
-O.prototype.cloneProtected=function(a){a.T=this.T|6144;a.Hc=this.Hc;a.Xb=this.Xb;a.Kb=this.Kb;a.ic=this.ic;a.ub.assign(this.ub);a.Ye=this.Ye.V();a.li=this.li.V();a.ki=this.ki.V();a.ej=this.ej.copy();a.Rb=this.Rb;a.rg=this.rg;a.Mg=this.Mg;a.an=this.an.V();a.Dd.assign(this.Dd);a.ac.assign(this.ac);a.Tc.assign(this.Tc);a.Us=this.Us;null!==this.Y&&(a.Y=this.Y.copy());a.ue=this.ue.V();a.Fm=this.Fm.V();a.et=this.et;a.pj=this.pj;a.pr=this.pr;a.Qi=this.Qi;a.ut=this.ut;a.it=this.it;a.on=this.on;a.pn=this.pn.V();
-a.qn=this.qn;a.xr=this.xr;null!==this.ma&&(a.ma=this.ma.copy());a.Ec=this.Ec;a.Fo=this.Fo;null!==this.rl&&(a.rl=z.am(this.rl));null!==this.ug&&(a.ug=this.ug.copy());a.un=this.un};O.prototype.addCopyProperty=O.prototype.JH=function(a){var b=this.rl;if(z.isArray(b))for(var c=0;ck;)k+=g[n++%l],p=!p;q=!1}else k=g[n++%l];k>m&&(k=m);var r=Math.sqrt(k*k/(1+e*e));0>d&&(r=-r);b+=r;c+=e*r;p?a.lineTo(b,c):a.moveTo(b,c);m-=k;p=!p}}
-O.prototype.raiseChangedEvent=O.prototype.ld=function(a,b,c,d,e,g,h){var k=this.ba;if(null!==k&&(k.mo(a,b,c,d,e,g,h),zo(this)&&c===this&&a===bg&&Ao(this,k,b),c===k&&0!==(k.T&16777216)&&null!==k.data))for(a=this.va.o,c=a.length,d=0;dk;)k+=g[n++%l],p=!p;q=!1}else k=g[n++%l];k>m&&(k=m);var r=Math.sqrt(k*k/(1+e*e));0>d&&(r=-r);b+=r;c+=e*r;p?a.lineTo(b,c):a.moveTo(b,c);m-=k;p=!p}}
+O.prototype.raiseChangedEvent=O.prototype.ld=function(a,b,c,d,e,g,h){var k=this.ba;if(null!==k&&(k.lo(a,b,c,d,e,g,h),zo(this)&&c===this&&a===bg&&Ao(this,k,b),c===k&&0!==(k.T&16777216)&&null!==k.data))for(a=this.va.o,c=a.length,d=0;d
Gets or sets the current cursor for the Diagram, overriding the defaultCursor.More...
Valid CSS cursors are accepted, such as "auto", "default", "none", "context-menu", "help", "pointer", "progress", "wait", etc.
It is possible to use custom cursors with the syntax "url(path_to_image), default". A fallback (like default here) is necessary for a custom cursor to work.
To read more about cursor syntax, go to: CSS cursors (mozilla.org).
If the specified cursor is not accepted by the platform, GoJS will append
-webkit-
or -moz-
prefixes.
Setting this property does not notify about any changed event. Setting this value to the empty string ('') returns the Diagram's cursor to the defaultCursor.
Gets or sets the current cursor for the Diagram, overriding the defaultCursor.More...
Valid CSS cursors are accepted, such as "auto", "default", "none", "context-menu", "help", "pointer", "progress", "wait", etc.
It is possible to use custom cursors with the syntax "url(path_to_image), default". A fallback (like default here) is necessary for a custom cursor to work.
To read more about cursor syntax, go to: CSS cursors (mozilla.org).
If the specified cursor is not accepted by the platform, GoJS will append
-webkit-
or -moz-
prefixes.
Setting this property does not notify about any changed event. Setting this value to the empty string ('') returns the Diagram's cursor to the defaultCursor.
-
@@ -3964,7 +3964,7 @@
- - {boolean=} includeLinks, + {boolean=} includeLinks
- defaults to false diff --git a/api/symbols/DiagramEvent.html b/api/symbols/DiagramEvent.html index 14dff09d8..3f8182905 100644 --- a/api/symbols/DiagramEvent.html +++ b/api/symbols/DiagramEvent.html @@ -1111,7 +1111,7 @@
- - arr + {Array.<(string|number)>} arr -
- {Array.<(string|number)>} an Array of node keys; an empty Array if the property was not present. +
- an Array of node keys; an empty Array if the property was not present. diff --git a/api/symbols/GraphObject.html b/api/symbols/GraphObject.html index c6d198b52..2d66694cb 100644 --- a/api/symbols/GraphObject.html +++ b/api/symbols/GraphObject.html @@ -1111,7 +1111,7 @@
- - val + {*} val diff --git a/api/symbols/Map.html b/api/symbols/Map.html index 23a9b6efb..428234f7d 100644 --- a/api/symbols/Map.html +++ b/api/symbols/Map.html @@ -1111,7 +1111,7 @@
- - data + {Object} data
- must be an Object, not a string or a number or a boolean or a function diff --git a/api/symbols/PanningTool.html b/api/symbols/PanningTool.html index 086e17b63..e7d3e0054 100644 --- a/api/symbols/PanningTool.html +++ b/api/symbols/PanningTool.html @@ -1111,7 +1111,7 @@
-
+ Added the
angular2-minimal
project, in the projects subdirectory. + This is a copy of the Angular 2 Quick Start example, https://angular.io/docs/ts/latest/quickstart.html. +
+ -
+ Fixed another declaration in
go.d.ts
. +
+ -
+ Fixed missing declaration in
go.d.ts
. +
Method Summary
- computePartsBounds(coll, includeLinks,)
+ computePartsBounds(coll, includeLinks)
{Rect}
@@ -3988,7 +3988,7 @@ Method Summarya collection of Parts.
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/DragSelectingTool.html b/api/symbols/DragSelectingTool.html
index de0ba8193..694017cbf 100644
--- a/api/symbols/DragSelectingTool.html
+++ b/api/symbols/DragSelectingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/DraggingTool.html b/api/symbols/DraggingTool.html
index 2a34ec7fc..72053b569 100644
--- a/api/symbols/DraggingTool.html
+++ b/api/symbols/DraggingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ForceDirectedEdge.html b/api/symbols/ForceDirectedEdge.html
index 072ccac12..e83931df1 100644
--- a/api/symbols/ForceDirectedEdge.html
+++ b/api/symbols/ForceDirectedEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ForceDirectedLayout.html b/api/symbols/ForceDirectedLayout.html
index aec9f49b6..4114b4fea 100644
--- a/api/symbols/ForceDirectedLayout.html
+++ b/api/symbols/ForceDirectedLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ForceDirectedVertex.html b/api/symbols/ForceDirectedVertex.html
index c05ec6c3b..17670acde 100644
--- a/api/symbols/ForceDirectedVertex.html
+++ b/api/symbols/ForceDirectedVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Geometry.html b/api/symbols/Geometry.html
index 3a3157820..883060768 100644
--- a/api/symbols/Geometry.html
+++ b/api/symbols/Geometry.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/GraphLinksModel.html b/api/symbols/GraphLinksModel.html
index 52a2658d9..f89e1624d 100644
--- a/api/symbols/GraphLinksModel.html
+++ b/api/symbols/GraphLinksModel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
@@ -2827,10 +2827,10 @@ Method Summarya JavaScript object represented by a link.
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/GridLayout.html b/api/symbols/GridLayout.html
index 3abf678e3..2665d4689 100644
--- a/api/symbols/GridLayout.html
+++ b/api/symbols/GridLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Group.html b/api/symbols/Group.html
index 867fc2398..a5a34dcc5 100644
--- a/api/symbols/Group.html
+++ b/api/symbols/Group.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/HTMLInfo.html b/api/symbols/HTMLInfo.html
index 0f73984c2..7b2ee6ee7 100644
--- a/api/symbols/HTMLInfo.html
+++ b/api/symbols/HTMLInfo.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/InputEvent.html b/api/symbols/InputEvent.html
index 505198e42..ba3718d4c 100644
--- a/api/symbols/InputEvent.html
+++ b/api/symbols/InputEvent.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Iterable.html b/api/symbols/Iterable.html
index 1d809220e..08ce6056c 100644
--- a/api/symbols/Iterable.html
+++ b/api/symbols/Iterable.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Iterator.html b/api/symbols/Iterator.html
index 3c2bca5b0..a2be777cf 100644
--- a/api/symbols/Iterator.html
+++ b/api/symbols/Iterator.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Layer.html b/api/symbols/Layer.html
index f30f582f4..00b51b274 100644
--- a/api/symbols/Layer.html
+++ b/api/symbols/Layer.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayeredDigraphEdge.html b/api/symbols/LayeredDigraphEdge.html
index bb92cfd1f..3671817b0 100644
--- a/api/symbols/LayeredDigraphEdge.html
+++ b/api/symbols/LayeredDigraphEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayeredDigraphLayout.html b/api/symbols/LayeredDigraphLayout.html
index 540b0a459..733a55ee4 100644
--- a/api/symbols/LayeredDigraphLayout.html
+++ b/api/symbols/LayeredDigraphLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayeredDigraphVertex.html b/api/symbols/LayeredDigraphVertex.html
index 64cb038d4..dac78c930 100644
--- a/api/symbols/LayeredDigraphVertex.html
+++ b/api/symbols/LayeredDigraphVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Layout.html b/api/symbols/Layout.html
index 3efa9072b..c1151765e 100644
--- a/api/symbols/Layout.html
+++ b/api/symbols/Layout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayoutEdge.html b/api/symbols/LayoutEdge.html
index 043ea923c..a57650cf0 100644
--- a/api/symbols/LayoutEdge.html
+++ b/api/symbols/LayoutEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayoutNetwork.html b/api/symbols/LayoutNetwork.html
index d69e34b28..23da253b3 100644
--- a/api/symbols/LayoutNetwork.html
+++ b/api/symbols/LayoutNetwork.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayoutVertex.html b/api/symbols/LayoutVertex.html
index 97902ca83..e035cc1bf 100644
--- a/api/symbols/LayoutVertex.html
+++ b/api/symbols/LayoutVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Link.html b/api/symbols/Link.html
index 27ec92c46..6e3df6489 100644
--- a/api/symbols/Link.html
+++ b/api/symbols/Link.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LinkReshapingTool.html b/api/symbols/LinkReshapingTool.html
index 943968767..bb59734da 100644
--- a/api/symbols/LinkReshapingTool.html
+++ b/api/symbols/LinkReshapingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LinkingBaseTool.html b/api/symbols/LinkingBaseTool.html
index 06f26eacd..01b8f7416 100644
--- a/api/symbols/LinkingBaseTool.html
+++ b/api/symbols/LinkingBaseTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LinkingTool.html b/api/symbols/LinkingTool.html
index 0e6829431..f9470885f 100644
--- a/api/symbols/LinkingTool.html
+++ b/api/symbols/LinkingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/List.html b/api/symbols/List.html
index 59219f64f..3e514fdb7 100644
--- a/api/symbols/List.html
+++ b/api/symbols/List.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
@@ -1316,7 +1316,7 @@ Method SummaryParameters:
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Margin.html b/api/symbols/Margin.html
index d66c350e4..37a63083d 100644
--- a/api/symbols/Margin.html
+++ b/api/symbols/Margin.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Model.html b/api/symbols/Model.html
index bf2bd71c6..3e21287a2 100644
--- a/api/symbols/Model.html
+++ b/api/symbols/Model.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Node.html b/api/symbols/Node.html
index b99f52d6a..4f384d827 100644
--- a/api/symbols/Node.html
+++ b/api/symbols/Node.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Overview.html b/api/symbols/Overview.html
index 1f5fcbde6..412275000 100644
--- a/api/symbols/Overview.html
+++ b/api/symbols/Overview.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Palette.html b/api/symbols/Palette.html
index d5e2de350..60e8c1b03 100644
--- a/api/symbols/Palette.html
+++ b/api/symbols/Palette.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Panel.html b/api/symbols/Panel.html
index ef52eb14f..d289ee870 100644
--- a/api/symbols/Panel.html
+++ b/api/symbols/Panel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
@@ -2287,7 +2287,7 @@ Method SummaryParameters:
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Part.html b/api/symbols/Part.html
index 0f9e28e68..5b7758fc0 100644
--- a/api/symbols/Part.html
+++ b/api/symbols/Part.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PathFigure.html b/api/symbols/PathFigure.html
index 03499cf52..cbf8b036a 100644
--- a/api/symbols/PathFigure.html
+++ b/api/symbols/PathFigure.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PathSegment.html b/api/symbols/PathSegment.html
index 116e06871..9c40eec72 100644
--- a/api/symbols/PathSegment.html
+++ b/api/symbols/PathSegment.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Picture.html b/api/symbols/Picture.html
index a5aa9f704..436846775 100644
--- a/api/symbols/Picture.html
+++ b/api/symbols/Picture.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Placeholder.html b/api/symbols/Placeholder.html
index 772258e6f..f7c2b5ee4 100644
--- a/api/symbols/Placeholder.html
+++ b/api/symbols/Placeholder.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Point.html b/api/symbols/Point.html
index 582ab9a01..b2f1bf6a6 100644
--- a/api/symbols/Point.html
+++ b/api/symbols/Point.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Rect.html b/api/symbols/Rect.html
index 664b3d257..bce25088c 100644
--- a/api/symbols/Rect.html
+++ b/api/symbols/Rect.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RelinkingTool.html b/api/symbols/RelinkingTool.html
index 0342f78f4..a7c389357 100644
--- a/api/symbols/RelinkingTool.html
+++ b/api/symbols/RelinkingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ResizingTool.html b/api/symbols/ResizingTool.html
index 87174f8c3..1e68aec49 100644
--- a/api/symbols/ResizingTool.html
+++ b/api/symbols/ResizingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RotatingTool.html b/api/symbols/RotatingTool.html
index babc13e9d..4d59e7543 100644
--- a/api/symbols/RotatingTool.html
+++ b/api/symbols/RotatingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RowColumnDefinition.html b/api/symbols/RowColumnDefinition.html
index ca2e9366b..7e13bbe1b 100644
--- a/api/symbols/RowColumnDefinition.html
+++ b/api/symbols/RowColumnDefinition.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Set.html b/api/symbols/Set.html
index c6a91c11e..5323534c8 100644
--- a/api/symbols/Set.html
+++ b/api/symbols/Set.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Shape.html b/api/symbols/Shape.html
index f118b4610..5d10a0325 100644
--- a/api/symbols/Shape.html
+++ b/api/symbols/Shape.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Size.html b/api/symbols/Size.html
index 120e72a8c..33d897714 100644
--- a/api/symbols/Size.html
+++ b/api/symbols/Size.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Spot.html b/api/symbols/Spot.html
index fd78e9bd9..9186bfffc 100644
--- a/api/symbols/Spot.html
+++ b/api/symbols/Spot.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TextBlock.html b/api/symbols/TextBlock.html
index 35d0dff9f..39608cb04 100644
--- a/api/symbols/TextBlock.html
+++ b/api/symbols/TextBlock.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TextEditingTool.html b/api/symbols/TextEditingTool.html
index 7c9484c5d..4bb28895a 100644
--- a/api/symbols/TextEditingTool.html
+++ b/api/symbols/TextEditingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Tool.html b/api/symbols/Tool.html
index 2bb97a22b..9e8944be2 100644
--- a/api/symbols/Tool.html
+++ b/api/symbols/Tool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ToolManager.html b/api/symbols/ToolManager.html
index b02134192..384bd1da3 100644
--- a/api/symbols/ToolManager.html
+++ b/api/symbols/ToolManager.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Transaction.html b/api/symbols/Transaction.html
index aed3e223d..98a022de3 100644
--- a/api/symbols/Transaction.html
+++ b/api/symbols/Transaction.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeEdge.html b/api/symbols/TreeEdge.html
index b310dbc5c..0e2795bef 100644
--- a/api/symbols/TreeEdge.html
+++ b/api/symbols/TreeEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeLayout.html b/api/symbols/TreeLayout.html
index 3dca92735..225560589 100644
--- a/api/symbols/TreeLayout.html
+++ b/api/symbols/TreeLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeModel.html b/api/symbols/TreeModel.html
index 1eb61dbf0..20843937e 100644
--- a/api/symbols/TreeModel.html
+++ b/api/symbols/TreeModel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeVertex.html b/api/symbols/TreeVertex.html
index 102008e4b..e37724f53 100644
--- a/api/symbols/TreeVertex.html
+++ b/api/symbols/TreeVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/UndoManager.html b/api/symbols/UndoManager.html
index 82759f6f7..4c73dd9e5 100644
--- a/api/symbols/UndoManager.html
+++ b/api/symbols/UndoManager.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/doc/changelog.html b/doc/changelog.html
index 8a90a9fe9..afa223498 100644
--- a/doc/changelog.html
+++ b/doc/changelog.html
@@ -74,9 +74,22 @@ GoJS Change Log
}
+ Changes for 1.7.3
+
+
+
Changes for 1.7.2
- Fixed missing declaration in go.d.ts
.
+
Changes for 1.7.1
diff --git a/intro/index.html b/intro/index.html
index 92273c063..2cf094f53 100644
--- a/intro/index.html
+++ b/intro/index.html
@@ -208,6 +208,8 @@ Loading GoJS
In ES6 (ECMAScript 2015) or TypeScript code, just import the "go.js" library:
import * as go from "go";
+ or, if depending on your npm environment:
+ import * as go from "gojs";
Hosting GoJS in a Div Element
diff --git a/package.json b/package.json
index 094c750a5..db3e72509 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "gojs",
- "version": "1.7.2",
+ "version": "1.7.3",
"description": "Interactive diagrams, charts, and graphs, such as trees, flowcharts, orgcharts, UML, BPMN, or business diagrams",
"keywords": [ "diagram", "chart", "tree", "flowchart", "orgchart", "uml", "bpmn", "graphics", "editor", "inspector", "drawing", "canvas", "shape", "svg", "hierarchy", "node", "link", "group", "vertex", "edge", "connection", "port", "label", "arrowhead", "family-tree", "decision-tree", "mindmap", "tournament", "treeview", "pipe-tree", "genogram", "ivr-tree", "parse-tree", "concept-map", "euler", "visualization", "entity-relationship", "er-diagram", "friend-wheel", "radial", "graph-distances", "graph-paths", "sankey", "pert", "gantt", "timeline", "monitor", "layer", "swimlane", "spreadsheet", "virtualization", "flow", "process", "state", "sequential-function", "grafcet", "sequence", "circuit", "record", "field", "table", "dataflow", "data-flow", "planogram", "seating", "pipes", "overview", "palette", "comment", "layout", "grid-layout", "tree-layout", "force-directed", "layered", "hierarchical", "circular", "fishbone", "ishikawa", "parallel", "serpentine", "treemap", "tree-map", "freehand", "polygon", "polyline", "bezier", "panel", "view", "model", "databinding", "data-binding", "binding", "transaction", "coordinates", "subgraph", "selection", "highlight", "tooltip", "context-menu", "tool", "command", "validation", "button", "template", "legend", "grid", "printing" ],
"homepage": "https://gojs.net",
diff --git a/projects/angular2-minimal/README.md b/projects/angular2-minimal/README.md
new file mode 100644
index 000000000..fefdc6681
--- /dev/null
+++ b/projects/angular2-minimal/README.md
@@ -0,0 +1,15 @@
+This is a minimal modification of the Angular 2 Quick Start environment
+that demonstrates how to show a GoJS diagram in a component.
+
+First, assuming you already have npm:
+```
+$ npm install gojs --save
+$ npm update
+```
+
+Note how we have updated the src/systemjs.config.json
file to tell which GoJS library to load.
+
+Start app page with:
+```
+$ npm start
+```
diff --git a/projects/angular2-minimal/bs-config.json b/projects/angular2-minimal/bs-config.json
new file mode 100644
index 000000000..4e5859526
--- /dev/null
+++ b/projects/angular2-minimal/bs-config.json
@@ -0,0 +1,8 @@
+{
+ "server": {
+ "baseDir": "src",
+ "routes": {
+ "/node_modules": "node_modules"
+ }
+ }
+}
diff --git a/projects/angular2-minimal/package.json b/projects/angular2-minimal/package.json
new file mode 100644
index 000000000..cbcb56864
--- /dev/null
+++ b/projects/angular2-minimal/package.json
@@ -0,0 +1,61 @@
+{
+ "name": "angular-quickstart",
+ "version": "1.0.0",
+ "description": "QuickStart package.json from the documentation, supplemented with testing support",
+ "scripts": {
+ "build": "tsc -p src/",
+ "build:watch": "tsc -p src/ -w",
+ "build:e2e": "tsc -p e2e/",
+ "serve": "lite-server -c=bs-config.json",
+ "serve:e2e": "lite-server -c=bs-config.e2e.json",
+ "prestart": "npm run build",
+ "start": "concurrently \"npm run build:watch\" \"npm run serve\"",
+ "pree2e": "npm run build:e2e",
+ "e2e": "concurrently \"npm run serve:e2e\" \"npm run protractor\" --kill-others --success first",
+ "preprotractor": "webdriver-manager update",
+ "protractor": "protractor protractor.config.js",
+ "pretest": "npm run build",
+ "test": "concurrently \"npm run build:watch\" \"karma start karma.conf.js\"",
+ "pretest:once": "npm run build",
+ "test:once": "karma start karma.conf.js --single-run",
+ "lint": "tslint ./src/**/*.ts -t verbose"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "MIT",
+ "dependencies": {
+ "@angular/common": "~2.4.0",
+ "@angular/compiler": "~2.4.0",
+ "@angular/core": "~2.4.0",
+ "@angular/forms": "~2.4.0",
+ "@angular/http": "~2.4.0",
+ "@angular/platform-browser": "~2.4.0",
+ "@angular/platform-browser-dynamic": "~2.4.0",
+ "@angular/router": "~3.4.0",
+ "angular-in-memory-web-api": "~0.2.4",
+ "core-js": "^2.4.1",
+ "gojs": "^1.7.3",
+ "rxjs": "5.0.1",
+ "systemjs": "0.19.40",
+ "zone.js": "^0.7.4"
+ },
+ "devDependencies": {
+ "concurrently": "^3.2.0",
+ "lite-server": "^2.2.2",
+ "typescript": "~2.0.10",
+ "canonical-path": "0.0.2",
+ "tslint": "^3.15.1",
+ "lodash": "^4.16.4",
+ "jasmine-core": "~2.4.1",
+ "karma": "^1.3.0",
+ "karma-chrome-launcher": "^2.0.0",
+ "karma-cli": "^1.0.1",
+ "karma-jasmine": "^1.0.2",
+ "karma-jasmine-html-reporter": "^0.2.2",
+ "protractor": "~4.0.14",
+ "rimraf": "^2.5.4",
+ "@types/node": "^6.0.46",
+ "@types/jasmine": "2.5.36"
+ },
+ "repository": {}
+}
diff --git a/projects/angular2-minimal/tslint.json b/projects/angular2-minimal/tslint.json
new file mode 100644
index 000000000..276453f4f
--- /dev/null
+++ b/projects/angular2-minimal/tslint.json
@@ -0,0 +1,93 @@
+{
+ "rules": {
+ "class-name": true,
+ "comment-format": [
+ true,
+ "check-space"
+ ],
+ "curly": true,
+ "eofline": true,
+ "forin": true,
+ "indent": [
+ true,
+ "spaces"
+ ],
+ "label-position": true,
+ "label-undefined": true,
+ "max-line-length": [
+ true,
+ 140
+ ],
+ "member-access": false,
+ "member-ordering": [
+ true,
+ "static-before-instance",
+ "variables-before-functions"
+ ],
+ "no-arg": true,
+ "no-bitwise": true,
+ "no-console": [
+ true,
+ "debug",
+ "info",
+ "time",
+ "timeEnd",
+ "trace"
+ ],
+ "no-construct": true,
+ "no-debugger": true,
+ "no-duplicate-key": true,
+ "no-duplicate-variable": true,
+ "no-empty": false,
+ "no-eval": true,
+ "no-inferrable-types": true,
+ "no-shadowed-variable": true,
+ "no-string-literal": false,
+ "no-switch-case-fall-through": true,
+ "no-trailing-whitespace": true,
+ "no-unused-expression": true,
+ "no-unused-variable": true,
+ "no-unreachable": true,
+ "no-use-before-declare": true,
+ "no-var-keyword": true,
+ "object-literal-sort-keys": false,
+ "one-line": [
+ true,
+ "check-open-brace",
+ "check-catch",
+ "check-else",
+ "check-whitespace"
+ ],
+ "quotemark": [
+ true,
+ "single"
+ ],
+ "radix": true,
+ "semicolon": [
+ "always"
+ ],
+ "triple-equals": [
+ true,
+ "allow-null-check"
+ ],
+ "typedef-whitespace": [
+ true,
+ {
+ "call-signature": "nospace",
+ "index-signature": "nospace",
+ "parameter": "nospace",
+ "property-declaration": "nospace",
+ "variable-declaration": "nospace"
+ }
+ ],
+ "variable-name": false,
+ "whitespace": [
+ true,
+ "check-branch",
+ "check-decl",
+ "check-operator",
+ "check-separator",
+ "check-type"
+ ]
+ }
+}
diff --git a/release/go-debug.js b/release/go-debug.js
index 34a65a73e..e4b1f4839 100644
--- a/release/go-debug.js
+++ b/release/go-debug.js
@@ -1,9 +1,9 @@
/*
- * GoJS v1.7.2 JavaScript Library for HTML Diagrams
+ * GoJS v1.7.3 JavaScript Library for HTML Diagrams
* Northwoods Software, https://www.nwoods.com/
* GoJS and Northwoods Software are registered trademarks of Northwoods Software Corporation.
* Copyright (C) 1998-2017 by Northwoods Software Corporation. All Rights Reserved.
- * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.7.2/doc/license.html.
+ * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.7.3/doc/license.html.
*/
(function(window) { var f,ca={};if(!window.document||void 0===window.document.createElement("canvas").getContext)throw window.console&&window.console.log("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode."),Error("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode.");if(!Object.defineProperty)throw Error("GoJS requires a newer version of JavaScript");
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return g.apply(a,e.concat(d.call(arguments)))}function c(){}var d=Array.prototype.slice,e=d.call(arguments,1),g=this;c.prototype=this.prototype;b.prototype=new c;return b});
@@ -16,17 +16,17 @@ c.fillRect(h.x||0,h.y||0,h.width,h.height),c.restore())}},BL:function(){u.XE();u
b.ef)},xA:function(a,b,c){a.setTransform(1,0,0,1,0,0);a.scale(b.rd,b.rd);a.transform(c.m11,c.m12,c.m21,c.m22,c.dx,c.dy);c=b.bc.length;for(var d=0;d=d.length)){var e=z.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.xw&&g.xw[d])continue}else if(z.Lx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},nx:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==
-typeof b&&"boolean"!==typeof b&&"function"!==typeof b)if(void 0!==z.Hd(b)){if(!u.Mw.contains(b))if(u.Mw.add(b),u.mw.add(u.DE(a,b)),b instanceof J||b instanceof K||b instanceof oa)for(var c=b.j;c.next();)u.nx(a+"["+c.key+"]",c.value);else for(c in b){var d=z.vb(b,c);if(void 0!==d&&null!==d&&z.Xa(d)&&d!==b.xw){if(b instanceof pa){if(d===b.gi)continue}else if(b instanceof I){if("data"===c||d===b.he)continue;if("itemArray"===c||d===b.cj)continue;if(b instanceof D&&d===b.Jl)continue}else if(!(b instanceof
-C))if(b instanceof ta){if("archetypeGroupData"===c||d===b.Sy)continue}else if(b instanceof ua){if("archetypeLinkData"===c||d===b.Uy)continue;if("archetypeLabelNodeData"===c||d===b.Ty)continue}else if(b instanceof wa){if("archetypeNodeData"===c||d===b.ol)continue}else if(b instanceof L){if("nodeDataArray"===c||d===b.ze)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Gc)continue;if(d===b.vg)continue}else if(b instanceof ya||b instanceof za||b instanceof Aa)continue;u.nx(a+"."+
-c,d)}}}else if(Array.isArray(b))for(c=0;c=d.length)){var e=z.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.xw&&g.xw[d])continue}else if(z.Lx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},nx:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==typeof b&&"boolean"!==typeof b&&
+"function"!==typeof b)if(void 0!==z.Hd(b)){if(!u.Mw.contains(b))if(u.Mw.add(b),u.mw.add(u.DE(a,b)),b instanceof J||b instanceof K||b instanceof oa)for(var c=b.j;c.next();)u.nx(a+"["+c.key+"]",c.value);else for(c in b){var d=z.vb(b,c);if(void 0!==d&&null!==d&&z.Xa(d)&&d!==b.xw){if(b instanceof pa){if(d===b.gi)continue}else if(b instanceof I){if("data"===c||d===b.ge)continue;if("itemArray"===c||d===b.cj)continue;if(b instanceof D&&d===b.Jl)continue}else if(!(b instanceof C))if(b instanceof ta){if("archetypeGroupData"===
+c||d===b.Sy)continue}else if(b instanceof ua){if("archetypeLinkData"===c||d===b.Uy)continue;if("archetypeLabelNodeData"===c||d===b.Ty)continue}else if(b instanceof wa){if("archetypeNodeData"===c||d===b.ol)continue}else if(b instanceof L){if("nodeDataArray"===c||d===b.ye)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Gc)continue;if(d===b.vg)continue}else if(b instanceof ya||b instanceof za||b instanceof Aa)continue;u.nx(a+"."+c,d)}}}else if(Array.isArray(b))for(c=0;c=a.length?a.push(c):a.splice(b,0,c):z.k("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Rg:function(a,b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):
z.k("Cannot remove an object from an HTMLCollection or NodeList at "+b)},Ky:[],P:function(){var a=z.Ky.pop();return void 0===a?new M:a},Fb:function(a,b){var c=z.Ky.pop();if(void 0===c)return new M(a,b);c.x=a;c.y=b;return c},A:function(a){z.Ky.push(a)},$B:[],Am:function(){var a=z.$B.pop();return void 0===a?new Fa:a},Qk:function(a){z.$B.push(a)},Ly:[],Of:function(){var a=z.Ly.pop();return void 0===a?new w:a},fh:function(a,b,c,d){var e=z.Ly.pop();if(void 0===e)return new w(a,b,c,d);e.x=a;e.y=b;e.width=
-c;e.height=d;return e},Mb:function(a){z.Ly.push(a)},aC:[],Pf:function(){var a=z.aC.pop();return void 0===a?new Ga:a},Ie:function(a){z.aC.push(a)},My:null,v:function(){var a=z.My;return null!==a?(z.My=null,a):new Ha},u:function(a){a.reset();z.My=a},ZB:[],tb:function(){var a=z.ZB.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;z.ZB.push(a)},bl:Object.freeze([]),Em:1,xc:function(a){a.__gohashid=z.Em++},pq:function(a){var b=a.__gohashid;void 0===b&&(b=z.Em++,a.__gohashid=b);return b},Hd:function(a){return a.__gohashid},
+c;e.height=d;return e},Mb:function(a){z.Ly.push(a)},aC:[],Pf:function(){var a=z.aC.pop();return void 0===a?new Ga:a},Ie:function(a){z.aC.push(a)},My:null,v:function(){var a=z.My;return null!==a?(z.My=null,a):new Ha},u:function(a){a.reset();z.My=a},ZB:[],tb:function(){var a=z.ZB.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;z.ZB.push(a)},bl:Object.freeze([]),Em:1,wc:function(a){a.__gohashid=z.Em++},oq:function(a){var b=a.__gohashid;void 0===b&&(b=z.Em++,a.__gohashid=b);return b},Hd:function(a){return a.__gohashid},
ka:function(a,b){b.Zy=a;ca[a]=b},Ta:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},Ai:function(a){a.yH=!0},defineProperty:function(a,b,c,d,e){z.h(a,"function","Util.defineProperty:classfunc");z.h(b,"object","Util.defineProperty:propobj");z.h(c,"function","Util.defineProperty:getter");z.h(d,"function","Util.defineProperty:setter");for(var g in b){b=b[g];c={get:c,set:d,enumerable:!0};if(void 0!==e)for(var h in e)c[h]=e[h];Object.defineProperty(a.prototype,
g,c);e=Object.getOwnPropertyDescriptor(a.prototype,g);b&&e&&Object.defineProperty(a.prototype,b,e);break}},IK:!1,w:function(a,b,c,d){z.h(a,"function","Util.defineReadOnlyProperty:classfunc");z.h(b,"object","Util.defineReadOnlyProperty:propobj");z.h(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var g=b[e];b={get:c,set:function(a){z.k('The property "'+g+'" is read-only and cannot be set to '+a)},enumerable:!0};if(void 0!==d)for(var h in d)b[h]=d[h];Object.defineProperty(a.prototype,
-e,b);d=Object.getOwnPropertyDescriptor(a.prototype,e);g&&d&&Object.defineProperty(a.prototype,g,d);break}},ne:function(a,b){for(var c in b)b[c]=!0;a.prototype.xw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?z.uf(a):null===a?"*":""},uf:function(a){if("function"===typeof a){if(a.Zy)return a.Zy;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,c).trim();if(""!==b)return a.Zy=b}else if("object"===typeof a&&a.constructor)return z.uf(a.constructor);
+e,b);d=Object.getOwnPropertyDescriptor(a.prototype,e);g&&d&&Object.defineProperty(a.prototype,g,d);break}},me:function(a,b){for(var c in b)b[c]=!0;a.prototype.xw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?z.uf(a):null===a?"*":""},uf:function(a){if("function"===typeof a){if(a.Zy)return a.Zy;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,c).trim();if(""!==b)return a.Zy=b}else if("object"===typeof a&&a.constructor)return z.uf(a.constructor);
return typeof a},s:function(a,b,c){z.h(a,"function","Util.defineEnumValue:classfunc");z.h(b,"string","Util.defineEnumValue:name");z.h(c,"number","Util.defineEnumValue:num");c=new Ca(a,b,c);Object.freeze(c);a[b]=c;var d=a.hv;d instanceof oa||(d=new oa("string",Ca),a.hv=d);d.add(b,c);return c},vb:function(a,b){if(!a||!b)return null;var c=void 0;try{"function"===typeof b?c=b(a):"function"===typeof a.getAttribute?(c=a.getAttribute(b),null===c&&(c=void 0)):c=a[b]}catch(d){u&&z.trace("property get error: "+
d.toString())}return c},Ua:function(a,b,c){if(a&&b)try{"function"===typeof b?b(a,c):"function"===typeof a.setAttribute?a.setAttribute(b,c):a[b]=c}catch(d){u&&z.trace("property set error: "+d.toString())}},Vu:function(a,b){z.h(a,"object","Setting properties requires Objects as arguments");z.h(b,"object","Setting properties requires Objects as arguments");var c=a instanceof I,d=a instanceof C,e;for(e in b){""===e&&z.k("Setting properties requires non-empty property names");var g=a,h=e;if(c||d){var k=
e.indexOf(".");if(0c;c++)b[c]=c;for(var d=0,e=0,c=0;256>c;c++)d=(d+b[c]+119)%256,e=b[c],b[c]=b[d],b[d]=e;for(var d=c=0,g="",h=0;hc;c++)b["0123456789abcdef".charAt(c>>4)+"0123456789abcdef".charAt(c&15)]=String.fromCharCode(c);a.length%2&&(a="0"+a);for(var d=[],e=0,c=0;cc;c++)b["0123456789abcdef".charAt(c>>4)+"0123456789abcdef".charAt(c&15)]=String.fromCharCode(c);a.length%2&&(a="0"+a);for(var d=[],e=0,c=0;cd;d++)b[z.Sg("7ca11abfd7330390")](z.Sg(c[d-1]),10,15*d+0);b[z.Sg("7ca11abfd022028846")]=z.Sg("39f046ebb36e4b");for(d=1;5>d;d++)b[z.Sg("7ca11abfd7330390")](z.Sg(c[d-
-1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])z.s=function(a,b){var c=new Ca(a,b,2);Object.freeze(c);a[b]=c;var d=a.hv;d instanceof oa||(d=new oa("string",Ca),a.hv=d);d.add(b,c);return c};return a}();function Ca(a,b,c){z.xc(this);this.kC=a;this.Xb=b;this.DH=c}z.ka("EnumValue",Ca);Ca.prototype.toString=function(){return z.uf(this.kC)+"."+this.Xb};z.w(Ca,{Pe:"classType"},function(){return this.kC});z.w(Ca,{name:"name"},function(){return this.Xb});z.w(Ca,{value:"value"},function(){return this.DH});
+1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])z.s=function(a,b){var c=new Ca(a,b,2);Object.freeze(c);a[b]=c;var d=a.hv;d instanceof oa||(d=new oa("string",Ca),a.hv=d);d.add(b,c);return c};return a}();function Ca(a,b,c){z.wc(this);this.kC=a;this.Xb=b;this.DH=c}z.ka("EnumValue",Ca);Ca.prototype.toString=function(){return z.uf(this.kC)+"."+this.Xb};z.w(Ca,{Pe:"classType"},function(){return this.kC});z.w(Ca,{name:"name"},function(){return this.Xb});z.w(Ca,{value:"value"},function(){return this.DH});
var Ja;Ca.findName=Ja=function(a,b){if(void 0===b||null===b||""===b)return null;z.h(a,"function","findName:classfunc");z.h(b,"string","EnumValue.findName:name");var c=a.hv;return c instanceof oa?c.qa(b):null};function Ba(){this.jC=[]}Ba.prototype.toString=function(){return this.jC.join("")};Ba.prototype.add=function(a){""!==a&&this.jC.push(a)};function na(){}
function Ka(a){void 0===a&&(a=42);this.seed=a;this.Gy=48271;this.gv=2147483647;this.YB=this.gv/this.Gy;this.hH=this.gv%this.Gy;this.gH=1/this.gv;this.random()}Ka.prototype.random=function(){var a=this.seed%this.YB*this.Gy-this.seed/this.YB*this.hH;this.seed=0this.key)return!1;z.Va(a)}var a=a.o,b=a.length,c=++this.bd,d=this.mi;if(null!==d)for(;cthis.key)return!1;z.Va(a)}var b=--this.bd;if(0<=b)return this.key=b,this.value=a.o[b],!0;this.Rf();return!1};Wa.prototype.first=Wa.prototype.first=function(){var a=this.Fc;this.qb=a.J;var b=a.o;this.bd=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};
Wa.prototype.any=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=b.o,e=d.length;this.bd=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.J!==c&&z.Va(b)}return!1};Wa.prototype.all=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=b.o,e=d.length;this.bd=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.J!==c&&z.Va(b)}return!0};Wa.prototype.each=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=b.o,e=d.length;this.bd=e;for(e-=1;0<=e;e--)a(d[e]),b.J!==c&&z.Va(b);return this};
Wa.prototype.map=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=[],e=b.o,g=e.length;this.bd=g;for(g-=1;0<=g;g--)d.push(a(e[g])),b.J!==c&&z.Va(b);a=new J;a.o=d;a.Sc();return a.j};Wa.prototype.filter=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=[],e=b.o,g=e.length;this.bd=g;for(g-=1;0<=g;g--){var h=e[g];a(h)&&d.push(h);b.J!==c&&z.Va(b)}a=new J(b.da);a.o=d;a.Sc();return a.j};Wa.prototype.concat=function(a){this.Fc.nk=null;return new Sa(this,a.j)};z.w(Wa,{count:"count"},function(){return this.Fc.o.length});
Wa.prototype.Rf=function(){this.key=-1;this.value=null;this.qb=-1;this.Fc.nk=this};Wa.prototype.toString=function(){return"ListIteratorBackwards("+this.bd+"/"+this.Fc.count+")"};
-function J(a){z.xc(this);this.I=!1;this.o=[];this.J=0;this.nk=this.jc=null;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.da=a:z.wa(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:z.wa(a,"null, a primitive type name, or a class type",
+function J(a){z.wc(this);this.I=!1;this.o=[];this.J=0;this.nk=this.jc=null;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.da=a:z.wa(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:z.wa(a,"null, a primitive type name, or a class type",
"List constructor: type")}z.ka("List",J);J.prototype.nh=function(a){null!==this.da&&("string"===typeof this.da?typeof a===this.da&&null!==a||z.hc(a,this.da):a instanceof this.da||z.hc(a,this.da))};J.prototype.Sc=function(){var a=this.J;a++;999999999a||a>=b.length)&&z.wa(a,"0 <= i < length",J,"elt:i");return b[a]};
-J.prototype.setElt=J.prototype.set=J.prototype.bh=function(a,b){u&&(this.nh(b),z.p(a,J,"setElt:i"));var c=this.o;(0>a||a>=c.length)&&z.wa(a,"0 <= i < length",J,"setElt:i");this.I&&z.pa(this,a);c[a]=b};J.prototype.first=J.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};J.prototype.last=J.prototype.se=function(){var a=this.o,b=a.length;return 0a||a>=c.length)&&z.wa(a,"0 <= i < length",J,"setElt:i");this.I&&z.pa(this,a);c[a]=b};J.prototype.first=J.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};J.prototype.last=J.prototype.re=function(){var a=this.o,b=a.length;return 0a&&z.wa(a,">= 0",J,"insertAt:i");this.I&&z.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Sc();return!0};J.prototype.remove=J.prototype["delete"]=J.prototype.remove=function(a){if(null===a)return!1;u&&this.nh(a);this.I&&z.pa(this,a);var b=this.o;a=b.indexOf(a);if(-1===a)return!1;a===b.length-1?b.pop():b.splice(a,1);this.Sc();return!0};
+J.prototype.insertAt=J.prototype.Yd=function(a,b){u&&(this.nh(b),z.p(a,J,"insertAt:i"));0>a&&z.wa(a,">= 0",J,"insertAt:i");this.I&&z.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Sc();return!0};J.prototype.remove=J.prototype["delete"]=J.prototype.remove=function(a){if(null===a)return!1;u&&this.nh(a);this.I&&z.pa(this,a);var b=this.o;a=b.indexOf(a);if(-1===a)return!1;a===b.length-1?b.pop():b.splice(a,1);this.Sc();return!0};
J.prototype.removeAt=J.prototype.md=function(a){u&&z.p(a,J,"removeAt:i");var b=this.o;(0>a||a>=b.length)&&z.wa(a,"0 <= i < length",J,"removeAt:i");this.I&&z.pa(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Sc()};
J.prototype.removeRange=J.prototype.removeRange=function(a,b){u&&(z.p(a,J,"removeRange:from"),z.p(b,J,"removeRange:to"));var c=this.o,d=c.length;if(0>a)a=0;else if(a>=d)return this;if(0>b)return this;b>=d&&(b=d-1);if(a>b)return this;this.I&&z.pa(this);for(var e=a,g=b+1;g=g)return this;(0>b||b>=e-1)&&z.wa(b,"0 <= from < length",J,"sortRange:from");if(2===g)return c=d[b],e=d[b+1],0=e)d.sort(a);else for(g=d.slice(0,c),g.sort(a),a=0;a=e)for(g=d.slice(b),
g.sort(a),a=b;a=this.o.length)return Na;var a=this.jc;return null!==a?(a.reset(),a):new Va(this)});
-z.w(J,{$n:"iteratorBackwards"},function(){if(0>=this.o.length)return Na;var a=this.nk;return null!==a?(a.reset(),a):new Wa(this)});function Xa(a){this.oi=a;this.reset()}z.ne(Xa,{key:!0,value:!0});z.w(Xa,{j:"iterator"},function(){return this});Xa.prototype.reset=Xa.prototype.reset=function(){var a=this.oi;a.jc=null;this.qb=a.J;this.ob=null};
+z.w(J,{$n:"iteratorBackwards"},function(){if(0>=this.o.length)return Na;var a=this.nk;return null!==a?(a.reset(),a):new Wa(this)});function Xa(a){this.oi=a;this.reset()}z.me(Xa,{key:!0,value:!0});z.w(Xa,{j:"iterator"},function(){return this});Xa.prototype.reset=Xa.prototype.reset=function(){var a=this.oi;a.jc=null;this.qb=a.J;this.ob=null};
Xa.prototype.next=Xa.prototype.hasNext=Xa.prototype.next=function(){var a=this.oi;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};Xa.prototype.first=Xa.prototype.first=function(){var a=this.oi;this.qb=a.J;a=a.La;if(null!==a){this.ob=a;var b=a.value;this.key=a.key;return this.value=b}return null};
Xa.prototype.any=function(a){var b=this.oi;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d.value))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};Xa.prototype.all=function(a){var b=this.oi;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d.value))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};Xa.prototype.each=function(a){var b=this.oi;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d.value),b.J!==c&&z.Va(b),d=d.eb;return this};
Xa.prototype.map=function(a){var b=this.oi;b.jc=null;for(var c=new J,d=b.J,e=b.La;null!==e;)c.add(a(e.value)),b.J!==d&&z.Va(b),e=e.eb;return c.j};Xa.prototype.filter=function(a){var b=this.oi;b.jc=null;for(var c=new J(b.da),d=b.J,e=b.La;null!==e;){var g=e.value;a(g)&&c.add(g);b.J!==d&&z.Va(b);e=e.eb}return c.j};Xa.prototype.concat=function(a){this.oi.jc=null;return new Sa(this,a.j)};z.w(Xa,{count:"count"},function(){return this.oi.Ad});
Xa.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.oi.jc=this};Xa.prototype.toString=function(){return null!==this.ob?"SetIterator@"+this.ob.value:"SetIterator"};
-function K(a){z.xc(this);this.I=!1;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.da=a:z.wa(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Set constructor: type");this.Bd={};this.Ad=0;this.jc=null;this.J=0;this.fi=this.La=null}z.ka("Set",K);
+function K(a){z.wc(this);this.I=!1;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.da=a:z.wa(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Set constructor: type");this.Bd={};this.Ad=0;this.jc=null;this.J=0;this.fi=this.La=null}z.ka("Set",K);
K.prototype.nh=function(a){null!==this.da&&("string"===typeof this.da?typeof a===this.da&&null!==a||z.hc(a,this.da):a instanceof this.da||z.hc(a,this.da))};K.prototype.Sc=function(){var a=this.J;a++;999999999=this.Ad)return Na;var a=this.jc;return null!==a?(a.reset(),a):new Xa(this)});function $a(a){this.Pa=a;this.reset()}z.ne($a,{key:!0,value:!0});z.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){this.qb=this.Pa.J;this.ob=null};
+z.w(K,{size:"size"},function(){return this.Ad});z.w(K,{j:"iterator"},function(){if(0>=this.Ad)return Na;var a=this.jc;return null!==a?(a.reset(),a):new Xa(this)});function $a(a){this.Pa=a;this.reset()}z.me($a,{key:!0,value:!0});z.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){this.qb=this.Pa.J;this.ob=null};
$a.prototype.next=$a.prototype.hasNext=$a.prototype.next=function(){var a=this.Pa;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.value=this.key=a=b.key,!0;this.Rf();return!1};$a.prototype.first=$a.prototype.first=function(){var a=this.Pa;this.qb=a.J;a=a.La;return null!==a?(this.ob=a,this.value=this.key=a=a.key):null};
$a.prototype.any=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d.key))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};$a.prototype.all=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d.key))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};$a.prototype.each=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d.key),b.J!==c&&z.Va(b),d=d.eb;return this};
$a.prototype.map=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)d.add(a(e.key)),b.J!==c&&z.Va(b),e=e.eb;return d.j};$a.prototype.filter=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=new J(b.qf),e=b.La;null!==e;){var g=e.key;a(g)&&d.add(g);b.J!==c&&z.Va(b);e=e.eb}return d.j};$a.prototype.concat=function(a){return new Sa(this,a.j)};z.w($a,{count:"count"},function(){return this.Pa.Ad});$a.prototype.Rf=function(){this.value=this.key=null;this.qb=-1};
-$a.prototype.toString=function(){return null!==this.ob?"MapKeySetIterator@"+this.ob.value:"MapKeySetIterator"};function cb(a){z.xc(this);this.I=!0;this.Pa=a}z.Ta(cb,K);cb.prototype.freeze=function(){return this};cb.prototype.Za=function(){return this};cb.prototype.toString=function(){return"MapKeySet("+this.Pa.toString()+")"};cb.prototype.add=cb.prototype.set=cb.prototype.add=function(){z.k("This Set is read-only: "+this.toString());return!1};
+$a.prototype.toString=function(){return null!==this.ob?"MapKeySetIterator@"+this.ob.value:"MapKeySetIterator"};function cb(a){z.wc(this);this.I=!0;this.Pa=a}z.Ta(cb,K);cb.prototype.freeze=function(){return this};cb.prototype.Za=function(){return this};cb.prototype.toString=function(){return"MapKeySet("+this.Pa.toString()+")"};cb.prototype.add=cb.prototype.set=cb.prototype.add=function(){z.k("This Set is read-only: "+this.toString());return!1};
cb.prototype.contains=cb.prototype.has=cb.prototype.contains=function(a){return this.Pa.contains(a)};cb.prototype.remove=cb.prototype["delete"]=cb.prototype.remove=function(){z.k("This Set is read-only: "+this.toString());return!1};cb.prototype.clear=cb.prototype.clear=function(){z.k("This Set is read-only: "+this.toString())};cb.prototype.first=cb.prototype.first=function(){var a=this.Pa.La;return null!==a?a.key:null};
cb.prototype.any=function(a){for(var b=this.Pa.La;null!==b;){if(a(b.key))return!0;b=b.eb}return!1};cb.prototype.all=function(a){for(var b=this.Pa.La;null!==b;){if(!a(b.key))return!1;b=b.eb}return!0};cb.prototype.each=function(a){for(var b=this.Pa.La;null!==b;)a(b.key),b=b.eb;return this};cb.prototype.map=function(a){for(var b=new K,c=this.Pa.La;null!==c;)b.add(a(c.key)),c=c.eb;return b};
cb.prototype.filter=function(a){for(var b=new K(this.Pa.qf),c=this.Pa.La;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.eb}return b};cb.prototype.concat=function(a){return this.SG().Uc(a)};cb.prototype.copy=function(){return new cb(this.Pa)};cb.prototype.toSet=cb.prototype.SG=function(){var a=new K(this.Pa.qf),b=this.Pa.Bd,c;for(c in b)a.add(b[c].key);return a};cb.prototype.toArray=cb.prototype.nc=function(){var a=this.Pa.Bd,b=Array(this.Pa.Ad),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};
-cb.prototype.toList=function(){var a=new J(this.da),b=this.Pa.Bd,c;for(c in b)a.add(b[c].key);return a};z.w(cb,{count:"count"},function(){return this.Pa.Ad});z.w(cb,{size:"size"},function(){return this.Pa.Ad});z.w(cb,{j:"iterator"},function(){return 0>=this.Pa.Ad?Na:new $a(this.Pa)});function gb(a){this.Pa=a;this.reset()}z.ne(gb,{key:!0,value:!0});z.w(gb,{j:"iterator"},function(){return this});gb.prototype.reset=gb.prototype.reset=function(){var a=this.Pa;a.ok=null;this.qb=a.J;this.ob=null};
+cb.prototype.toList=function(){var a=new J(this.da),b=this.Pa.Bd,c;for(c in b)a.add(b[c].key);return a};z.w(cb,{count:"count"},function(){return this.Pa.Ad});z.w(cb,{size:"size"},function(){return this.Pa.Ad});z.w(cb,{j:"iterator"},function(){return 0>=this.Pa.Ad?Na:new $a(this.Pa)});function gb(a){this.Pa=a;this.reset()}z.me(gb,{key:!0,value:!0});z.w(gb,{j:"iterator"},function(){return this});gb.prototype.reset=gb.prototype.reset=function(){var a=this.Pa;a.ok=null;this.qb=a.J;this.ob=null};
gb.prototype.next=gb.prototype.hasNext=gb.prototype.next=function(){var a=this.Pa;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};gb.prototype.first=gb.prototype.first=function(){var a=this.Pa;this.qb=a.J;a=a.La;if(null!==a){this.ob=a;var b=a.value;this.key=a.key;return this.value=b}return null};
gb.prototype.any=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d.value))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};gb.prototype.all=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d.value))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};gb.prototype.each=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d.value),b.J!==c&&z.Va(b),d=d.eb;return this};
gb.prototype.map=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)d.add(a(e.value)),b.J!==c&&z.Va(b),e=e.eb;return d.j};gb.prototype.filter=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=new J(b.qf),e=b.La;null!==e;){var g=e.value;a(g)&&d.add(g);b.J!==c&&z.Va(b);e=e.eb}return d.j};gb.prototype.concat=function(a){this.Pa.ok=null;return new Sa(this,a.j)};z.w(gb,{count:"count"},function(){return this.Pa.Ad});
-gb.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.Pa.ok=this};gb.prototype.toString=function(){return null!==this.ob?"MapValueSetIterator@"+this.ob.value:"MapValueSetIterator"};function Za(a,b){this.key=a;this.value=b;this.Cp=this.eb=null}z.ne(Za,{key:!0,value:!0});Za.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};function ib(a){this.Pa=a;this.reset()}z.ne(ib,{key:!0,value:!0});z.w(ib,{j:"iterator"},function(){return this});
+gb.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.Pa.ok=this};gb.prototype.toString=function(){return null!==this.ob?"MapValueSetIterator@"+this.ob.value:"MapValueSetIterator"};function Za(a,b){this.key=a;this.value=b;this.Bp=this.eb=null}z.me(Za,{key:!0,value:!0});Za.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};function ib(a){this.Pa=a;this.reset()}z.me(ib,{key:!0,value:!0});z.w(ib,{j:"iterator"},function(){return this});
ib.prototype.reset=ib.prototype.reset=function(){var a=this.Pa;a.jc=null;this.qb=a.J;this.ob=null};ib.prototype.next=ib.prototype.hasNext=ib.prototype.next=function(){var a=this.Pa;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.key=b.key,this.value=b.value,!0;this.Rf();return!1};
ib.prototype.first=ib.prototype.first=function(){var a=this.Pa;this.qb=a.J;a=a.La;return null!==a?(this.ob=a,this.key=a.key,this.value=a.value,a):null};ib.prototype.any=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};ib.prototype.all=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};
ib.prototype.each=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d),b.J!==c&&z.Va(b),d=d.eb;return this};ib.prototype.map=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)d.add(a(e)),b.J!==c&&z.Va(b),e=e.eb;return d.j};ib.prototype.filter=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)a(e)&&d.add(e),b.J!==c&&z.Va(b),e=e.eb;return d.j};
ib.prototype.concat=function(a){this.Pa.jc=null;return new Sa(this,a.j)};z.w(ib,{count:"count"},function(){return this.Pa.Ad});ib.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.Pa.jc=this};ib.prototype.toString=function(){return null!==this.ob?"MapIterator@"+this.ob:"MapIterator"};
-function oa(a,b){z.xc(this);this.I=!1;void 0===a||null===a?this.qf=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.qf=a:z.wa(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.qf=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Map constructor: keytype");void 0===b||null===b?this.yi=null:"string"===typeof b?"object"===b||"string"===b||"boolean"===b||"number"===
+function oa(a,b){z.wc(this);this.I=!1;void 0===a||null===a?this.qf=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.qf=a:z.wa(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.qf=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Map constructor: keytype");void 0===b||null===b?this.yi=null:"string"===typeof b?"object"===b||"string"===b||"boolean"===b||"number"===
b||"function"===b?this.yi=b:z.wa(b,"the string 'object', 'number', 'string', 'boolean', or 'function'","Map constructor: valtype"):"function"===typeof b?this.yi=b===Object?"object":b===String?"string":b===Number?"number":b===Boolean?"boolean":b===Function?"function":b:z.wa(b,"null, a primitive type name, or a class type","Map constructor: valtype");this.Bd={};this.Ad=0;this.ok=this.jc=null;this.J=0;this.fi=this.La=null}z.ka("Map",oa);
function mb(a,b){null!==a.qf&&("string"===typeof a.qf?typeof b===a.qf&&null!==b||z.hc(b,a.qf):b instanceof a.qf||z.hc(b,a.qf))}oa.prototype.Sc=function(){var a=this.J;a++;999999999=this.count)return Na;var a=this.jc;return null!==a?(a.reset(),a):new ib(this)});z.w(oa,{OF:"iteratorKeys"},function(){return 0>=this.count?Na:new $a(this)});z.w(oa,{PF:"iteratorValues"},function(){if(0>=this.count)return Na;var a=this.ok;return null!==a?(a.reset(),a):new gb(this)});function M(a,b){void 0===a?this.M=this.L=0:"number"===typeof a&&"number"===typeof b?(this.L=a,this.M=b):z.k("Invalid arguments to Point constructor: "+a+", "+b);this.I=!1}
-z.ka("Point",M);z.Ai(M);z.ne(M,{x:!0,y:!0});M.prototype.assign=function(a){this.L=a.L;this.M=a.M};M.prototype.setTo=M.prototype.m=function(a,b){u&&(z.h(a,"number",M,"setTo:x"),z.h(b,"number",M,"setTo:y"));this.L=a;this.M=b;return this};M.prototype.set=M.prototype.set=function(a){u&&z.l(a,M,M,"set:p");this.Sa();this.L=a.L;this.M=a.M;return this};M.prototype.copy=function(){var a=new M;a.L=this.L;a.M=this.M;return a};f=M.prototype;f.Na=function(){this.I=!0;Object.freeze(this);return this};
+z.ka("Point",M);z.Ai(M);z.me(M,{x:!0,y:!0});M.prototype.assign=function(a){this.L=a.L;this.M=a.M};M.prototype.setTo=M.prototype.m=function(a,b){u&&(z.h(a,"number",M,"setTo:x"),z.h(b,"number",M,"setTo:y"));this.L=a;this.M=b;return this};M.prototype.set=M.prototype.set=function(a){u&&z.l(a,M,M,"set:p");this.Sa();this.L=a.L;this.M=a.M;return this};M.prototype.copy=function(){var a=new M;a.L=this.L;a.M=this.M;return a};f=M.prototype;f.Na=function(){this.I=!0;Object.freeze(this);return this};
f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Point is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
M.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));return new M(c,e)}return new M};M.stringify=function(a){return a instanceof M?a.x.toString()+" "+a.y.toString():a.toString()};M.prototype.toString=function(){return"Point("+this.x+","+this.y+")"};M.prototype.equals=M.prototype.O=function(a){return a instanceof M?this.L===a.x&&this.M===a.y:!1};
-M.prototype.equalTo=M.prototype.Ax=function(a,b){return this.L===a&&this.M===b};M.prototype.equalsApprox=M.prototype.Vc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)};M.prototype.add=M.prototype.add=function(a){u&&z.l(a,M,M,"add:p");this.Sa();this.L+=a.x;this.M+=a.y;return this};M.prototype.subtract=M.prototype.so=function(a){u&&z.l(a,M,M,"subtract:p");this.Sa();this.L-=a.x;this.M-=a.y;return this};
+M.prototype.equalTo=M.prototype.Ax=function(a,b){return this.L===a&&this.M===b};M.prototype.equalsApprox=M.prototype.Vc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)};M.prototype.add=M.prototype.add=function(a){u&&z.l(a,M,M,"add:p");this.Sa();this.L+=a.x;this.M+=a.y;return this};M.prototype.subtract=M.prototype.ro=function(a){u&&z.l(a,M,M,"subtract:p");this.Sa();this.L-=a.x;this.M-=a.y;return this};
M.prototype.offset=M.prototype.offset=function(a,b){u&&(z.p(a,M,"offset:dx"),z.p(b,M,"offset:dy"));this.Sa();this.L+=a;this.M+=b;return this};M.prototype.rotate=M.prototype.rotate=function(a){u&&z.p(a,M,"rotate:angle");this.Sa();if(0===a)return this;var b=this.L,c=this.M;if(0===b&&0===c)return this;var d=0,e=0;360<=a?a-=360:0>a&&(a+=360);90===a?(d=0,e=1):180===a?(d=-1,e=0):270===a?(d=0,e=-1):(a=a*Math.PI/180,d=Math.cos(a),e=Math.sin(a));this.L=d*b-e*c;this.M=e*b+d*c;return this};
-M.prototype.scale=M.prototype.scale=function(a,b){u&&(z.p(a,M,"scale:sx"),z.p(b,M,"scale:sy"));this.L*=a;this.M*=b;return this};M.prototype.distanceSquaredPoint=M.prototype.Ef=function(a){u&&z.l(a,M,M,"distanceSquaredPoint:p");var b=a.x-this.L;a=a.y-this.M;return b*b+a*a};M.prototype.distanceSquared=M.prototype.iq=function(a,b){u&&(z.p(a,M,"distanceSquared:px"),z.p(b,M,"distanceSquared:py"));var c=a-this.L,d=b-this.M;return c*c+d*d};
+M.prototype.scale=M.prototype.scale=function(a,b){u&&(z.p(a,M,"scale:sx"),z.p(b,M,"scale:sy"));this.L*=a;this.M*=b;return this};M.prototype.distanceSquaredPoint=M.prototype.Ef=function(a){u&&z.l(a,M,M,"distanceSquaredPoint:p");var b=a.x-this.L;a=a.y-this.M;return b*b+a*a};M.prototype.distanceSquared=M.prototype.hq=function(a,b){u&&(z.p(a,M,"distanceSquared:px"),z.p(b,M,"distanceSquared:py"));var c=a-this.L,d=b-this.M;return c*c+d*d};
M.prototype.normalize=M.prototype.normalize=function(){this.Sa();var a=this.L,b=this.M,c=Math.sqrt(a*a+b*b);0b?270:0;if(0===b)return 0a?c=0>b?c+180:180-c:0>b&&(c=360-c);return c}M.prototype.projectOntoLineSegment=function(a,b,c,d){u&&(z.p(a,M,"projectOntoLineSegment:px"),z.p(b,M,"projectOntoLineSegment:py"),z.p(c,M,"projectOntoLineSegment:qx"),z.p(d,M,"projectOntoLineSegment:qy"));ob(a,b,c,d,this.L,this.M,this);return this};
M.prototype.projectOntoLineSegmentPoint=function(a,b){u&&(z.l(a,M,M,"projectOntoLineSegmentPoint:p"),z.l(b,M,M,"projectOntoLineSegmentPoint:q"));ob(a.x,a.y,b.x,b.y,this.L,this.M,this);return this};M.prototype.snapToGrid=function(a,b,c,d){u&&(z.p(a,M,"snapToGrid:originx"),z.p(b,M,"snapToGrid:originy"),z.p(c,M,"snapToGrid:cellwidth"),z.p(d,M,"snapToGrid:cellheight"));tb(this.L,this.M,a,b,c,d,this);return this};
-M.prototype.snapToGridPoint=function(a,b){u&&(z.l(a,M,M,"snapToGridPoint:p"),z.l(b,Fa,M,"snapToGridPoint:q"));tb(this.L,this.M,a.x,a.y,b.width,b.height,this);return this};M.prototype.setRectSpot=M.prototype.po=function(a,b){u&&(z.l(a,w,M,"setRectSpot:r"),z.l(b,R,M,"setRectSpot:spot"));this.Sa();this.L=a.x+b.x*a.width+b.offsetX;this.M=a.y+b.y*a.height+b.offsetY;return this};
+M.prototype.snapToGridPoint=function(a,b){u&&(z.l(a,M,M,"snapToGridPoint:p"),z.l(b,Fa,M,"snapToGridPoint:q"));tb(this.L,this.M,a.x,a.y,b.width,b.height,this);return this};M.prototype.setRectSpot=M.prototype.oo=function(a,b){u&&(z.l(a,w,M,"setRectSpot:r"),z.l(b,R,M,"setRectSpot:spot"));this.Sa();this.L=a.x+b.x*a.width+b.offsetX;this.M=a.y+b.y*a.height+b.offsetY;return this};
M.prototype.setSpot=M.prototype.Xu=function(a,b,c,d,e){u&&(z.p(a,M,"setSpot:x"),z.p(b,M,"setSpot:y"),z.p(c,M,"setSpot:w"),z.p(d,M,"setSpot:h"),(0>c||0>d)&&z.k("Point.setSpot:Width and height cannot be negative"),z.l(e,R,M,"setSpot:spot"));this.Sa();this.L=a+e.x*c+e.offsetX;this.M=b+e.y*d+e.offsetY;return this};M.prototype.transform=function(a){u&&z.l(a,Ga,M,"transform:t");a.wb(this);return this};function ub(a,b){u&&z.l(b,Ga,M,"transformInverted:t");b.Ci(a);return a}var xb;
M.distanceLineSegmentSquared=xb=function(a,b,c,d,e,g){u&&(z.p(a,M,"distanceLineSegmentSquared:px"),z.p(b,M,"distanceLineSegmentSquared:py"),z.p(c,M,"distanceLineSegmentSquared:ax"),z.p(d,M,"distanceLineSegmentSquared:ay"),z.p(e,M,"distanceLineSegmentSquared:bx"),z.p(g,M,"distanceLineSegmentSquared:by"));var h=e-c,k=g-d,l=h*h+k*k;c-=a;d-=b;var m=-c*h-d*k;if(0>=m||m>=l)return h=e-a,k=g-b,Math.min(c*c+d*d,h*h+k*k);a=h*d-k*c;return a*a/l};var yb;
M.distanceSquared=yb=function(a,b,c,d){u&&(z.p(a,M,"distanceSquared:px"),z.p(b,M,"distanceSquared:py"),z.p(c,M,"distanceSquared:qx"),z.p(d,M,"distanceSquared:qy"));a=c-a;b=d-b;return a*a+b*b};var zb;
M.direction=zb=function(a,b,c,d){u&&(z.p(a,M,"direction:px"),z.p(b,M,"direction:py"),z.p(c,M,"direction:qx"),z.p(d,M,"direction:qy"));a=c-a;b=d-b;if(0===a)return 0b?270:0;if(0===b)return 0a?d=0>b?d+180:180-d:0>b&&(d=360-d);return d};z.defineProperty(M,{x:"x"},function(){return this.L},function(a){this.Sa(a);u&&z.h(a,"number",M,"x");this.L=a});
-z.defineProperty(M,{y:"y"},function(){return this.M},function(a){this.Sa(a);u&&z.h(a,"number",M,"y");this.M=a});M.prototype.isReal=M.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)};function Fa(a,b){void 0===a?this.Ga=this.Ia=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.Ia=a,this.Ga=b):z.k("Invalid arguments to Size constructor: "+a+", "+b);this.I=!1}z.ka("Size",Fa);z.Ai(Fa);z.ne(Fa,{width:!0,height:!0});
+z.defineProperty(M,{y:"y"},function(){return this.M},function(a){this.Sa(a);u&&z.h(a,"number",M,"y");this.M=a});M.prototype.isReal=M.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)};function Fa(a,b){void 0===a?this.Ga=this.Ia=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.Ia=a,this.Ga=b):z.k("Invalid arguments to Size constructor: "+a+", "+b);this.I=!1}z.ka("Size",Fa);z.Ai(Fa);z.me(Fa,{width:!0,height:!0});
Fa.prototype.assign=function(a){this.Ia=a.Ia;this.Ga=a.Ga};Fa.prototype.setTo=Fa.prototype.m=function(a,b){u&&(z.h(a,"number",Fa,"setTo:w"),z.h(b,"number",Fa,"setTo:h"),0>a&&z.wa(a,">= 0",Fa,"setTo:w"),0>b&&z.wa(b,">= 0",Fa,"setTo:h"));this.Ia=a;this.Ga=b;return this};Fa.prototype.set=Fa.prototype.set=function(a){u&&z.l(a,Fa,Fa,"set:s");this.Sa();this.Ia=a.Ia;this.Ga=a.Ga;return this};Fa.prototype.copy=function(){var a=new Fa;a.Ia=this.Ia;a.Ga=this.Ga;return a};f=Fa.prototype;
f.Na=function(){this.I=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Size is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
Fa.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));return new Fa(c,e)}return new Fa};Fa.stringify=function(a){return a instanceof Fa?a.width.toString()+" "+a.height.toString():a.toString()};Fa.prototype.toString=function(){return"Size("+this.width+","+this.height+")"};
Fa.prototype.equals=Fa.prototype.O=function(a){return a instanceof Fa?this.Ia===a.width&&this.Ga===a.height:!1};Fa.prototype.equalTo=Fa.prototype.Ax=function(a,b){return this.Ia===a&&this.Ga===b};Fa.prototype.equalsApprox=Fa.prototype.Vc=function(a){return Q(this.Ia,a.width)&&Q(this.Ga,a.height)};z.defineProperty(Fa,{width:"width"},function(){return this.Ia},function(a){this.Sa(a);u&&z.h(a,"number",Fa,"width");0>a&&z.wa(a,">= 0",Fa,"width");this.Ia=a});
z.defineProperty(Fa,{height:"height"},function(){return this.Ga},function(a){this.Sa(a);u&&z.h(a,"number",Fa,"height");0>a&&z.wa(a,">= 0",Fa,"height");this.Ga=a});Fa.prototype.isReal=Fa.prototype.F=function(){return isFinite(this.width)&&isFinite(this.height)};
function w(a,b,c,d){void 0===a?this.Ga=this.Ia=this.M=this.L=0:a instanceof M?b instanceof M?(this.L=Math.min(a.L,b.L),this.M=Math.min(a.M,b.M),this.Ia=Math.abs(a.L-b.L),this.Ga=Math.abs(a.M-b.M)):b instanceof Fa?(this.L=a.L,this.M=a.M,this.Ia=b.Ia,this.Ga=b.Ga):z.k("Incorrect arguments supplied to Rect constructor"):"number"===typeof a&&"number"===typeof b&&"number"===typeof c&&(0<=c||isNaN(c))&&"number"===typeof d&&(0<=d||isNaN(d))?(this.L=a,this.M=b,this.Ia=c,this.Ga=d):z.k("Invalid arguments to Rect constructor: "+
-a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Rect",w);z.Ai(w);z.ne(w,{x:!0,y:!0,width:!0,height:!0});w.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ga=a.Ga};function Ab(a,b,c){a.Ia=b;a.Ga=c}w.prototype.setTo=w.prototype.m=function(a,b,c,d){u&&(z.h(a,"number",w,"setTo:x"),z.h(b,"number",w,"setTo:y"),z.h(c,"number",w,"setTo:w"),z.h(d,"number",w,"setTo:h"),0>c&&z.wa(c,">= 0",w,"setTo:w"),0>d&&z.wa(d,">= 0",w,"setTo:h"));this.L=a;this.M=b;this.Ia=c;this.Ga=d;return this};
+a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Rect",w);z.Ai(w);z.me(w,{x:!0,y:!0,width:!0,height:!0});w.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ga=a.Ga};function Ab(a,b,c){a.Ia=b;a.Ga=c}w.prototype.setTo=w.prototype.m=function(a,b,c,d){u&&(z.h(a,"number",w,"setTo:x"),z.h(b,"number",w,"setTo:y"),z.h(c,"number",w,"setTo:w"),z.h(d,"number",w,"setTo:h"),0>c&&z.wa(c,">= 0",w,"setTo:w"),0>d&&z.wa(d,">= 0",w,"setTo:h"));this.L=a;this.M=b;this.Ia=c;this.Ga=d;return this};
w.prototype.set=w.prototype.set=function(a){u&&z.l(a,w,w,"set:r");this.Sa();this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ga=a.Ga;return this};w.prototype.setPoint=w.prototype.dh=function(a){u&&z.l(a,M,w,"setPoint:p");this.Sa();this.L=a.L;this.M=a.M;return this};w.prototype.setSize=function(a){u&&z.l(a,Fa,w,"setSize:s");this.Sa();this.Ia=a.Ia;this.Ga=a.Ga;return this};w.prototype.copy=function(){var a=new w;a.L=this.L;a.M=this.M;a.Ia=this.Ia;a.Ga=this.Ga;return a};f=w.prototype;
f.Na=function(){this.I=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Rect is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
w.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));for(var g=0;""===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));for(var h=0;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return new w(c,e,g,h)}return new w};w.stringify=function(a){return a instanceof w?a.x.toString()+" "+a.y.toString()+" "+a.width.toString()+" "+a.height.toString():a.toString()};
@@ -151,7 +151,7 @@ w.prototype.subtractMargin=w.prototype.sK=function(a){u&&z.l(a,Kb,w,"subtractMar
w.prototype.intersectRect=function(a){u&&z.l(a,w,w,"intersectRect:r");return Lb(this,a.x,a.y,a.width,a.height)};w.prototype.intersect=w.prototype.zF=function(a,b,c,d){u&&(z.p(a,w,"intersect:x"),z.p(b,w,"intersect:y"),z.p(c,w,"intersect:w"),z.p(d,w,"intersect:h"),(0>c||0>d)&&z.k("Rect.intersect:Width and height cannot be negative"));return Lb(this,a,b,c,d)};
function Lb(a,b,c,d,e){a.Sa();var g=Math.max(a.L,b),h=Math.max(a.M,c);b=Math.min(a.L+a.Ia,b+d);c=Math.min(a.M+a.Ga,c+e);a.L=g;a.M=h;a.Ia=Math.max(0,b-g);a.Ga=Math.max(0,c-h);return a}w.prototype.intersectsRect=w.prototype.Vg=function(a){u&&z.l(a,w,w,"intersectsRect:r");return this.AF(a.x,a.y,a.width,a.height)};
w.prototype.intersects=w.prototype.AF=function(a,b,c,d){u&&(z.p(a,w,"intersects:x"),z.p(b,w,"intersects:y"),z.p(a,w,"intersects:w"),z.p(b,w,"intersects:h"),(0>c||0>d)&&z.k("Rect.intersects:Width and height cannot be negative"));var e=this.Ia,g=this.L;if(Infinity!==e&&Infinity!==c&&(e+=g,c+=a,isNaN(c)||isNaN(e)||g>c||a>e))return!1;a=this.Ga;c=this.M;return Infinity!==a&&Infinity!==d&&(a+=c,d+=b,isNaN(d)||isNaN(a)||c>d||b>a)?!1:!0};
-function Mb(a,b){var c=a.Ia,d=b.width+10+10,e=a.L,g=b.x-10;if(e>d+g||g>c+e)return!1;c=a.Ga;d=b.height+10+10;e=a.M;g=b.y-10;return e>d+g||g>c+e?!1:!0}w.prototype.unionPoint=w.prototype.Ki=function(a){u&&z.l(a,M,w,"unionPoint:p");return Rb(this,a.x,a.y,0,0)};w.prototype.unionRect=w.prototype.Wh=function(a){u&&z.l(a,w,w,"unionRect:r");return Rb(this,a.L,a.M,a.Ia,a.Ga)};
+function Qb(a,b){var c=a.Ia,d=b.width+10+10,e=a.L,g=b.x-10;if(e>d+g||g>c+e)return!1;c=a.Ga;d=b.height+10+10;e=a.M;g=b.y-10;return e>d+g||g>c+e?!1:!0}w.prototype.unionPoint=w.prototype.Ki=function(a){u&&z.l(a,M,w,"unionPoint:p");return Rb(this,a.x,a.y,0,0)};w.prototype.unionRect=w.prototype.Wh=function(a){u&&z.l(a,w,w,"unionRect:r");return Rb(this,a.L,a.M,a.Ia,a.Ga)};
w.prototype.union=w.prototype.$G=function(a,b,c,d){this.Sa();u?(z.p(a,w,"union:x"),z.p(b,w,"union:y"),void 0===c?c=0:z.p(c,w,"union:w"),void 0===d?d=0:z.p(d,w,"union:h"),(0>c||0>d)&&z.k("Rect.union:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return Rb(this,a,b,c,d)};function Rb(a,b,c,d,e){var g=Math.min(a.L,b),h=Math.min(a.M,c);b=Math.max(a.L+a.Ia,b+d);c=Math.max(a.M+a.Ga,c+e);a.L=g;a.M=h;a.Ia=b-g;a.Ga=c-h;return a}
w.prototype.setSpot=w.prototype.Xu=function(a,b,c){u&&(z.p(a,w,"setSpot:x"),z.p(b,w,"setSpot:y"),z.l(c,R,w,"setSpot:spot"));this.Sa();this.L=a-c.offsetX-c.x*this.Ia;this.M=b-c.offsetY-c.y*this.Ga;return this};var Sb;
w.contains=Sb=function(a,b,c,d,e,g,h,k){u?(z.p(a,w,"contains:rx"),z.p(b,w,"contains:ry"),z.p(c,w,"contains:rw"),z.p(d,w,"contains:rh"),z.p(e,w,"contains:x"),z.p(g,w,"contains:y"),void 0===h?h=0:z.p(h,w,"contains:w"),void 0===k?k=0:z.p(k,w,"contains:h"),(0>c||0>d||0>h||0>k)&&z.k("Rect.contains:Width and height cannot be negative")):(void 0===h&&(h=0),void 0===k&&(k=0));return a<=e&&e+h<=a+c&&b<=g&&g+k<=b+d};
@@ -161,14 +161,14 @@ z.defineProperty(w,{left:"left"},function(){return this.L},function(a){this.Sa(a
z.defineProperty(w,{bottom:"bottom"},function(){return this.M+this.Ga},function(a){this.Sa(a);u&&z.p(a,w,"top");this.M+=a-(this.M+this.Ga)});z.defineProperty(w,{position:"position"},function(){return new M(this.L,this.M)},function(a){this.Sa(a);u&&z.l(a,M,w,"position");this.L=a.x;this.M=a.y});z.defineProperty(w,{size:"size"},function(){return new Fa(this.Ia,this.Ga)},function(a){this.Sa(a);u&&z.l(a,Fa,w,"size");this.Ia=a.width;this.Ga=a.height});
z.defineProperty(w,{$l:"center"},function(){return new M(this.L+this.Ia/2,this.M+this.Ga/2)},function(a){this.Sa(a);u&&z.l(a,M,w,"center");this.L=a.x-this.Ia/2;this.M=a.y-this.Ga/2});z.defineProperty(w,{oa:"centerX"},function(){return this.L+this.Ia/2},function(a){this.Sa(a);u&&z.p(a,w,"centerX");this.L=a-this.Ia/2});z.defineProperty(w,{xa:"centerY"},function(){return this.M+this.Ga/2},function(a){this.Sa(a);u&&z.p(a,w,"centerY");this.M=a-this.Ga/2});
w.prototype.isReal=w.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)};w.prototype.isEmpty=function(){return 0===this.width&&0===this.height};
-function Kb(a,b,c,d){void 0===a?this.th=this.mh=this.Ch=this.Dh=0:void 0===b?this.left=this.bottom=this.right=this.top=a:void 0===c?(d=b,this.top=a,this.right=b,this.bottom=a,this.left=d):void 0!==d?(this.top=a,this.right=b,this.bottom=c,this.left=d):z.k("Invalid arguments to Margin constructor: "+a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Margin",Kb);z.Ai(Kb);z.ne(Kb,{top:!0,right:!0,bottom:!0,left:!0});Kb.prototype.assign=function(a){this.Dh=a.Dh;this.Ch=a.Ch;this.mh=a.mh;this.th=a.th};
+function Kb(a,b,c,d){void 0===a?this.th=this.mh=this.Ch=this.Dh=0:void 0===b?this.left=this.bottom=this.right=this.top=a:void 0===c?(d=b,this.top=a,this.right=b,this.bottom=a,this.left=d):void 0!==d?(this.top=a,this.right=b,this.bottom=c,this.left=d):z.k("Invalid arguments to Margin constructor: "+a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Margin",Kb);z.Ai(Kb);z.me(Kb,{top:!0,right:!0,bottom:!0,left:!0});Kb.prototype.assign=function(a){this.Dh=a.Dh;this.Ch=a.Ch;this.mh=a.mh;this.th=a.th};
Kb.prototype.setTo=Kb.prototype.m=function(a,b,c,d){u&&(z.h(a,"number",Kb,"setTo:t"),z.h(b,"number",Kb,"setTo:r"),z.h(c,"number",Kb,"setTo:b"),z.h(d,"number",Kb,"setTo:l"));this.Sa();this.Dh=a;this.Ch=b;this.mh=c;this.th=d;return this};Kb.prototype.set=Kb.prototype.set=function(a){u&&z.l(a,Kb,Kb,"assign:m");this.Sa();this.Dh=a.Dh;this.Ch=a.Ch;this.mh=a.mh;this.th=a.th;return this};Kb.prototype.copy=function(){var a=new Kb;a.Dh=this.Dh;a.Ch=this.Ch;a.mh=this.mh;a.th=this.th;return a};f=Kb.prototype;
f.Na=function(){this.I=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Margin is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
Kb.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=NaN;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));if(isNaN(c))return new Kb;for(var e=NaN;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));if(isNaN(e))return new Kb(c);for(var g=NaN;""===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));if(isNaN(g))return new Kb(c,e);for(var h=NaN;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return isNaN(h)?new Kb(c,e):new Kb(c,e,g,h)}return new Kb};
Kb.stringify=function(a){return a instanceof Kb?a.top.toString()+" "+a.right.toString()+" "+a.bottom.toString()+" "+a.left.toString():a.toString()};Kb.prototype.toString=function(){return"Margin("+this.top+","+this.right+","+this.bottom+","+this.left+")"};Kb.prototype.equals=Kb.prototype.O=function(a){return a instanceof Kb?this.Dh===a.top&&this.Ch===a.right&&this.mh===a.bottom&&this.th===a.left:!1};
Kb.prototype.equalTo=Kb.prototype.Ax=function(a,b,c,d){return this.Dh===a&&this.Ch===b&&this.mh===c&&this.th===d};Kb.prototype.equalsApprox=Kb.prototype.Vc=function(a){return Q(this.Dh,a.top)&&Q(this.Ch,a.right)&&Q(this.mh,a.bottom)&&Q(this.th,a.left)};z.defineProperty(Kb,{top:"top"},function(){return this.Dh},function(a){this.Sa(a);u&&z.p(a,Kb,"top");this.Dh=a});z.defineProperty(Kb,{right:"right"},function(){return this.Ch},function(a){this.Sa(a);u&&z.p(a,Kb,"right");this.Ch=a});
z.defineProperty(Kb,{bottom:"bottom"},function(){return this.mh},function(a){this.Sa(a);u&&z.p(a,Kb,"bottom");this.mh=a});z.defineProperty(Kb,{left:"left"},function(){return this.th},function(a){this.Sa(a);u&&z.p(a,Kb,"left");this.th=a});Kb.prototype.isReal=Kb.prototype.F=function(){return isFinite(this.top)&&isFinite(this.right)&&isFinite(this.bottom)&&isFinite(this.left)};function Ga(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0}z.Ai(Ga);
-z.ne(Ga,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});Ga.prototype.set=Ga.prototype.set=function(a){u&&z.l(a,Ga,Ga,"set:t");this.m11=a.m11;this.m12=a.m12;this.m21=a.m21;this.m22=a.m22;this.dx=a.dx;this.dy=a.dy;return this};Ga.prototype.copy=function(){var a=new Ga;a.m11=this.m11;a.m12=this.m12;a.m21=this.m21;a.m22=this.m22;a.dx=this.dx;a.dy=this.dy;return a};Ga.prototype.toString=function(){return"Transform("+this.m11+","+this.m12+","+this.m21+","+this.m22+","+this.dx+","+this.dy+")"};
+z.me(Ga,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});Ga.prototype.set=Ga.prototype.set=function(a){u&&z.l(a,Ga,Ga,"set:t");this.m11=a.m11;this.m12=a.m12;this.m21=a.m21;this.m22=a.m22;this.dx=a.dx;this.dy=a.dy;return this};Ga.prototype.copy=function(){var a=new Ga;a.m11=this.m11;a.m12=this.m12;a.m21=this.m21;a.m22=this.m22;a.dx=this.dx;a.dy=this.dy;return a};Ga.prototype.toString=function(){return"Transform("+this.m11+","+this.m12+","+this.m21+","+this.m22+","+this.dx+","+this.dy+")"};
Ga.prototype.equals=Ga.prototype.O=function(a){return a instanceof Ga?this.m11===a.m11&&this.m12===a.m12&&this.m21===a.m21&&this.m22===a.m22&&this.dx===a.dx&&this.dy===a.dy:!1};Ga.prototype.isIdentity=Ga.prototype.uu=function(){return 1===this.m11&&0===this.m12&&0===this.m21&&1===this.m22&&0===this.dx&&0===this.dy};Ga.prototype.reset=Ga.prototype.reset=function(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0;return this};
Ga.prototype.multiply=Ga.prototype.multiply=function(a){u&&z.l(a,Ga,Ga,"multiply:matrix");var b=this.m12*a.m11+this.m22*a.m12,c=this.m11*a.m21+this.m21*a.m22,d=this.m12*a.m21+this.m22*a.m22,e=this.m11*a.dx+this.m21*a.dy+this.dx,g=this.m12*a.dx+this.m22*a.dy+this.dy;this.m11=this.m11*a.m11+this.m21*a.m12;this.m12=b;this.m21=c;this.m22=d;this.dx=e;this.dy=g;return this};
Ga.prototype.multiplyInverted=Ga.prototype.fB=function(a){u&&z.l(a,Ga,Ga,"multiplyInverted:matrix");var b=1/(a.m11*a.m22-a.m12*a.m21),c=a.m22*b,d=-a.m12*b,e=-a.m21*b,g=a.m11*b,h=b*(a.m21*a.dy-a.m22*a.dx),k=b*(a.m12*a.dx-a.m11*a.dy);a=this.m12*c+this.m22*d;b=this.m11*e+this.m21*g;e=this.m12*e+this.m22*g;g=this.m11*h+this.m21*k+this.dx;h=this.m12*h+this.m22*k+this.dy;this.m11=this.m11*c+this.m21*d;this.m12=a;this.m21=b;this.m22=e;this.dx=g;this.dy=h;return this};
@@ -177,7 +177,7 @@ Ga.prototype.rotate=Ga.prototype.rotate=function(a,b,c){u&&(z.p(a,Ga,"rotate:ang
Ga.prototype.translate=Ga.prototype.translate=function(a,b){u&&(z.p(a,Ga,"translate:x"),z.p(b,Ga,"translate:y"));this.dx+=this.m11*a+this.m21*b;this.dy+=this.m12*a+this.m22*b;return this};Ga.prototype.scale=Ga.prototype.scale=function(a,b){void 0===b&&(b=a);u&&(z.p(a,Ga,"translate:sx"),z.p(b,Ga,"translate:sy"));this.m11*=a;this.m12*=a;this.m21*=b;this.m22*=b;return this};
Ga.prototype.transformPoint=Ga.prototype.wb=function(a){u&&z.l(a,M,Ga,"transformPoint:p");var b=a.L,c=a.M;a.L=b*this.m11+c*this.m21+this.dx;a.M=b*this.m12+c*this.m22+this.dy;return a};Ga.prototype.invertedTransformPoint=Ga.prototype.Ci=function(a){u&&z.l(a,M,Ga,"invertedTransformPoint:p");var b=1/(this.m11*this.m22-this.m12*this.m21),c=-this.m12*b,d=this.m11*b,e=b*(this.m12*this.dx-this.m11*this.dy),g=a.L,h=a.M;a.L=g*this.m22*b+h*-this.m21*b+b*(this.m21*this.dy-this.m22*this.dx);a.M=g*c+h*d+e;return a};
Ga.prototype.transformRect=Ga.prototype.ZG=function(a){u&&z.l(a,w,Ga,"transformRect:rect");var b=a.L,c=a.M,d=b+a.Ia,e=c+a.Ga,g=this.m11,h=this.m12,k=this.m21,l=this.m22,m=this.dx,n=this.dy,p=b*g+c*k+m,q=b*h+c*l+n,r=d*g+c*k+m,c=d*h+c*l+n,s=b*g+e*k+m,b=b*h+e*l+n,g=d*g+e*k+m,d=d*h+e*l+n,e=p,h=q,p=Math.min(p,r),e=Math.max(e,r),h=Math.min(h,c),q=Math.max(q,c),p=Math.min(p,s),e=Math.max(e,s),h=Math.min(h,b),q=Math.max(q,b),p=Math.min(p,g),e=Math.max(e,g),h=Math.min(h,d),q=Math.max(q,d);a.L=p;a.M=h;a.Ia=
-e-p;a.Ga=q-h;return a};function R(a,b,c,d){void 0===a?this.Jg=this.Ig=this.M=this.L=0:(void 0===b&&(b=0),void 0===c&&(c=0),void 0===d&&(d=0),this.x=a,this.y=b,this.offsetX=c,this.offsetY=d);this.I=!1}z.ka("Spot",R);z.Ai(R);z.ne(R,{x:!0,y:!0,offsetX:!0,offsetY:!0});R.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ig=a.Ig;this.Jg=a.Jg};
+e-p;a.Ga=q-h;return a};function R(a,b,c,d){void 0===a?this.Jg=this.Ig=this.M=this.L=0:(void 0===b&&(b=0),void 0===c&&(c=0),void 0===d&&(d=0),this.x=a,this.y=b,this.offsetX=c,this.offsetY=d);this.I=!1}z.ka("Spot",R);z.Ai(R);z.me(R,{x:!0,y:!0,offsetX:!0,offsetY:!0});R.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ig=a.Ig;this.Jg=a.Jg};
R.prototype.setTo=R.prototype.m=function(a,b,c,d){u&&(Vb(a,"setTo:x"),Vb(b,"setTo:y"),Zb(c,"setTo:offx"),Zb(d,"setTo:offy"));this.Sa();this.L=a;this.M=b;this.Ig=c;this.Jg=d;return this};R.prototype.set=R.prototype.set=function(a){u&&z.l(a,R,R,"set:s");this.Sa();this.L=a.L;this.M=a.M;this.Ig=a.Ig;this.Jg=a.Jg;return this};R.prototype.copy=function(){var a=new R;a.L=this.L;a.M=this.M;a.Ig=this.Ig;a.Jg=this.Jg;return a};f=R.prototype;f.Na=function(){this.I=!0;Object.freeze(this);return this};
f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Spot is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};function $b(a,b){a.L=NaN;a.M=NaN;a.Ig=b;return a}function Vb(a,b){(isNaN(a)||1a)&&z.wa(a,"0 <= "+b+" <= 1",R,b)}
function Zb(a,b){(isNaN(a)||Infinity===a||-Infinity===a)&&z.wa(a,"real number, not NaN or Infinity",R,b)}var fc;
@@ -187,7 +187,7 @@ var d=a[b++];void 0!==d&&0=2*Math.PI?(pd(a,b,c,d,e,e+Math.PI,h),pd(a,b,c,d,e+Math.PI,e+2*Math.PI,h),a.path.push(["M",l,g])):(b+=d*Math.cos(e),c+=d*Math.sin(e),k=180*k/Math.PI,e=h?0:1,h=180<=k===!!h?0:1,0!==a.path.length?a.path.push(["L",b,c]):a.path.push(["M",b,c]),a.path.push(["A",d,d,k,h,e,l,g]))}}function od(a,b,c,d,e,g,h){var k=new dd;k.Yb=[b,c,d,e,g,h];b={};xd(a,"g",b,k);k=a.addElement("g",b);a.Gf.push(k)}
f.hb=function(){if(0!==this.shadowOffsetX||0!==this.shadowOffsetY||0!==this.shadowBlur){var a="SHADOW"+z.Em++,b=this.addElement("filter",{id:a,x:"-100%",y:"-100%",width:"300%",height:"300%"},null),c,d,e,g,h;c=nd(this,"feGaussianBlur",{"in":"SourceAlpha",result:"blur",zM:this.shadowBlur/2});d=nd(this,"feFlood",{"in":"blur",result:"flood","flood-color":this.shadowColor});e=nd(this,"feComposite",{"in":"flood",in2:"blur",operator:"in",result:"comp"});g=nd(this,"feOffset",{"in":"comp",result:"offsetBlur",
-dx:this.shadowOffsetX,dy:this.shadowOffsetY});h=nd(this,"feMerge",{});h.appendChild(nd(this,"feMergeNode",{"in":"offsetBlur"}));h.appendChild(nd(this,"feMergeNode",{"in":"SourceGraphic"}));b.appendChild(c);b.appendChild(d);b.appendChild(e);b.appendChild(g);b.appendChild(h);0b?(this.scale(b/a,1),this.translate((a-b)/2,0)):b>a&&(this.scale(1,a/b),this.translate(0,(b-a)/2));this.Go?this.clip():this.fill();a>b?(this.translate(-(a-b)/2,0),this.scale(1/(b/a),1)):b>a&&(this.translate(0,-(b-a)/2),this.scale(1,1/(a/b)))}else this.Go?this.clip():this.fill()};f.Rj=function(){this.Go||this.stroke()};z.defineProperty(Ad,{Wt:"clipInsteadOfFill"},function(){return this.Go},function(a){this.Go=a});f=Ad.prototype;
-f.FB=function(a,b,c){this.ot=a;this.pt=b;this.Lg=c};f.qo=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};f.ro=function(){this.shadowOffsetX=this.ot;this.shadowOffsetY=this.pt;this.shadowBlur=this.Lg};f.AA=function(a,b){var c=this.Fa;if(void 0!==c.setLineDash)c.setLineDash(a),c.lineDashOffset=b;else if(void 0!==c.webkitLineDash)c.webkitLineDash=a,c.webkitLineDashOffset=b;else if(void 0!==c.mozDash)c.mozDash=a,c.mozDashOffset=b;else return!1;return!0};
+f.Tg=function(a){if(a instanceof Ea&&a.type===Bd){var b=a.Io;a=a.az;a>b?(this.scale(b/a,1),this.translate((a-b)/2,0)):b>a&&(this.scale(1,a/b),this.translate(0,(b-a)/2));this.Fo?this.clip():this.fill();a>b?(this.translate(-(a-b)/2,0),this.scale(1/(b/a),1)):b>a&&(this.translate(0,-(b-a)/2),this.scale(1,1/(a/b)))}else this.Fo?this.clip():this.fill()};f.Rj=function(){this.Fo||this.stroke()};z.defineProperty(Ad,{Wt:"clipInsteadOfFill"},function(){return this.Fo},function(a){this.Fo=a});f=Ad.prototype;
+f.FB=function(a,b,c){this.ot=a;this.pt=b;this.Lg=c};f.po=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};f.qo=function(){this.shadowOffsetX=this.ot;this.shadowOffsetY=this.pt;this.shadowBlur=this.Lg};f.AA=function(a,b){var c=this.Fa;if(void 0!==c.setLineDash)c.setLineDash(a),c.lineDashOffset=b;else if(void 0!==c.webkitLineDash)c.webkitLineDash=a,c.webkitLineDashOffset=b;else if(void 0!==c.mozDash)c.mozDash=a,c.mozDashOffset=b;else return!1;return!0};
f.vA=function(){var a=this.Fa;void 0!==a.setLineDash?(a.setLineDash(z.bl),a.lineDashOffset=0):void 0!==a.webkitLineDash?(a.webkitLineDash=z.bl,a.webkitLineDashOffset=0):void 0!==a.mozDash&&(a.mozDash=null,a.mozDashOffset=0)};function da(a,b){b&&(a.Wy="");a.Xy="";a.Vy=""}
var Cd=(Math.sqrt(2)-1)/3*4,Dd=(new M(0,0)).Na(),Ed=(new w(0,0,0,0)).Na(),Nd=(new Kb(0,0,0,0)).Na(),Od=(new Kb(2,2,2,2)).Na(),Pd=(new M(6,6)).Na(),Qd=(new M(-Infinity,-Infinity)).Na(),Rd=(new M(Infinity,Infinity)).Na(),Sd=(new Fa(0,0)).Na(),Td=(new Fa(1,1)).Na(),Ud=(new Fa(6,6)).Na(),Vd=(new Fa(8,8)).Na(),Wd=(new Fa(10,10)).Na(),ge=(new Fa(Infinity,Infinity)).Na(),he=(new M(NaN,NaN)).Na(),ie=(new Fa(NaN,NaN)).Na(),je=(new w(NaN,NaN,NaN,NaN)).Na(),ke=(new R(.156,.156)).Na(),le=(new R(.844,.844)).Na(),
me=new na,ne=new na,oe=null;function pe(a){if(0>=a)return 0;var b=oe;if(null===b){for(var b=[],c=0;2E3>=c;c++)b[c]=Math.sqrt(c);oe=b}return 1>a?(c=1/a,2E3>=c?1/b[c|0]:Math.sqrt(a)):2E3>=a?b[a|0]:Math.sqrt(a)}function Q(a,b){var c=a-b;return.5>c&&-.5c&&-5E-8=q&&(q=1E-6);if(qe(a,b,h,k,q,c,d)&&qe(a,b,h,k,q,e,g)){var s=(a-h)*(m-p)-(b-k)*(l-n);if(0===s)return!1;q=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/s;s=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/s;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(h=l=0,bh)return!1}else if(ah)return!1;r.x=q;r.y=s;return!0}var s=(a+c)/2,v=(b+d)/2;c=(c+e)/2;d=(d+g)/2;e=(e+h)/2;g=(g+k)/2;var t=(s+c)/2,x=(v+d)/2;c=(c+e)/2;d=(d+g)/2;var y=(t+c)/2,A=(x+d)/2,
-B=(n-l)*(n-l)+(p-m)*(p-m),N=!1;De(a,b,s,v,t,x,y,A,l,m,n,p,q,r)&&(b=(r.x-l)*(r.x-l)+(r.y-m)*(r.y-m),b=q&&(q=1E-6);if(qe(a,b,h,k,q,c,d)&&qe(a,b,h,k,q,e,g)){var s=(a-h)*(m-p)-(b-k)*(l-n);if(0===s)return!1;q=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/s;s=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/s;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(h=l=0,bh)return!1}else if(ah)return!1;r.x=q;r.y=s;return!0}var s=(a+c)/2,v=(b+d)/2;c=(c+e)/2;d=(d+g)/2;e=(e+h)/2;g=(g+k)/2;var t=(s+c)/2,x=(v+d)/2;c=(c+e)/2;d=(d+g)/2;var y=(t+c)/2,B=(x+d)/2,
+A=(n-l)*(n-l)+(p-m)*(p-m),N=!1;De(a,b,s,v,t,x,y,B,l,m,n,p,q,r)&&(b=(r.x-l)*(r.x-l)+(r.y-m)*(r.y-m),b=q&&(q=1E-6);if(qe(a,b,h,k,q,c,d)&&qe(a,b,h,k,q,e,g)){q=(a-h)*(m-p)-(b-k)*(l-n);if(0===q)return r;var s=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/q,v=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/q;if(s>=n)return r;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(a=l=0,ba)return r}else if(aa)return r;0q&&r--}else{var s=(a+c)/2,v=(b+d)/2,t=(c+e)/2,x=(d+g)/2;e=(e+h)/2;g=(g+k)/2;d=(s+t)/2;c=(v+x)/2;var t=(t+e)/2,x=(x+g)/2,
-y=(d+t)/2,A=(c+x)/2,r=r+Ee(a,b,s,v,d,c,y,A,l,m,n,p,q),r=r+Ee(y,A,t,x,e,g,h,k,l,m,n,p,q)}return r}
+y=(d+t)/2,B=(c+x)/2,r=r+Ee(a,b,s,v,d,c,y,B,l,m,n,p,q),r=r+Ee(y,B,t,x,e,g,h,k,l,m,n,p,q)}return r}
function ob(a,b,c,d,e,g,h){if(Db(a,c)){var k=0;c=0;bc)return h.x=a,h.y=c,!1;h.x=a;h.y=d;return!0}if(Db(b,d)){ac)return h.x=c,h.y=b,!1;h.x=d;h.y=b;return!0}k=((a-e)*(a-c)+(b-g)*(b-d))/((c-a)*(c-a)+(d-b)*(d-b));if(-5E-6>k)return h.x=a,h.y=b,!1;if(1.000005c)return l.x=a,l.y=c,!1;l.x=a;l.y=g;return!0}h=(d-b)/(c-a);if(Db(k,h))return ob(a,b,c,d,e,g,l),!1;e=(h*a-k*e+g-b)/(h-k);if(Db(h,0)){ac)return l.x=c,l.y=b,!1;l.x=e;l.y=b;return!0}g=
h*(e-a)+b;return ob(a,b,c,d,e,g,l)}function Ge(a,b,c,d,e,g,h,k,l){var m=1E21,n=a,p=b;if(Fe(a,b,a,d,e,g,h,k,l)){var q=(l.x-e)*(l.x-e)+(l.y-g)*(l.y-g);qm}
@@ -248,22 +248,22 @@ function Qe(a,b,c,d,e,g){c-=a;d-=b;a=e-a;b=g-b;g=a*d-b*c;0===g&&(g=a*c+b*d,0c,g=0>d,h=0,k=h=0;ag;++g){m=.5*(d+e);if(m===d||m===e)break;k=l/(m+b);h=c/(m+a);k=k*k+h*h-1;if(0k)e=m;else break}n=b*n/(m+b)-n;p=a*p/(m+a)-p;a=Math.sqrt(n*n+p*p)}else a=Math.abs(p-m);else p=l*l-m*m,a=l*n,aa?"M"+this.na.toString()+" "+this.la.toString()+"L"+this.G.toString()+" "+this.H.toString():"M"+this.na.toFixed(a)+" "+this.la.toFixed(a)+"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);case jf:var b=new w(this.na,this.la,0,0);b.$G(this.G,this.H,0,0);return 0>a?"M"+b.x.toString()+" "+b.y.toString()+"H"+b.right.toString()+"V"+b.bottom.toString()+"H"+b.left.toString()+"z":"M"+b.x.toFixed(a)+" "+b.y.toFixed(a)+"H"+b.right.toFixed(a)+
"V"+b.bottom.toFixed(a)+"H"+b.left.toFixed(a)+"z";case kf:b=new w(this.na,this.la,0,0);b.$G(this.G,this.H,0,0);if(0>a){var c=b.left.toString()+" "+(b.y+b.height/2).toString(),d=b.right.toString()+" "+(b.y+b.height/2).toString();return"M"+c+"A"+(b.width/2).toString()+" "+(b.height/2).toString()+" 0 0 1 "+d+"A"+(b.width/2).toString()+" "+(b.height/2).toString()+" 0 0 1 "+c}c=b.left.toFixed(a)+" "+(b.y+b.height/2).toFixed(a);d=b.right.toFixed(a)+" "+(b.y+b.height/2).toFixed(a);return"M"+c+"A"+(b.width/
2).toFixed(a)+" "+(b.height/2).toFixed(a)+" 0 0 1 "+d+"A"+(b.width/2).toFixed(a)+" "+(b.height/2).toFixed(a)+" 0 0 1 "+c;case We:for(var b="",c=this.mc.o,d=c.length,e=0;e=v-1?!0:null!==l[m+1].match(/[A-Za-z]/)}function d(){m++;return l[m]}function e(){var a=new M(parseFloat(d()),parseFloat(d()));n===n.toLowerCase()&&(a.x=s.x+a.x,a.y=s.y+a.y);return a}function g(){return s=e()}function h(){return r=e()}function k(){return"c"!==p.toLowerCase()&&"s"!==p.toLowerCase()?s:new M(2*s.x-r.x,2*s.y-r.y)}void 0===b&&(b=!1);"string"!==typeof a&&z.hc(a,"string",Ve,"parse:str");a=a.replace(/,/gm," ");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,
"$1 $2");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,"$1 $2");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([^\s])/gm,"$1 $2");a=a.replace(/([^\s])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,"$1 $2");a=a.replace(/([0-9])([+\-])/gm,"$1 $2");a=a.replace(/(\.[0-9]*)(\.)/gm,"$1 $2");a=a.replace(/([Aa](\s+[0-9]+){3})\s+([01])\s*([01])/gm,"$1 $3 $4 ");a=a.replace(/[\s\r\t\n]+/gm," ");a=a.replace(/^\s+|\s+$/g,"");for(var l=a.split(" "),m=-1,n="",p="",q=new M(0,0),r=new M(0,0),s=new M(0,
-0),v=l.length,t=z.v(),x=!1,y=!1,A=!0;!(m>=v-1);)if(p=n,n=d(),""!==n)switch(n.toUpperCase()){case "X":A=!0;y=x=!1;break;case "M":var B=g();null===t.dc||!0===A?(S(t,B.x,B.y,x,!1,!y),A=!1):t.moveTo(B.x,B.y);for(q=s;!c();)B=g(),t.lineTo(B.x,B.y);break;case "L":for(;!c();)B=g(),t.lineTo(B.x,B.y);break;case "H":for(;!c();)s=B=new M((n===n.toLowerCase()?s.x:0)+parseFloat(d()),s.y),t.lineTo(s.x,s.y);break;case "V":for(;!c();)s=B=new M(s.x,(n===n.toLowerCase()?s.y:0)+parseFloat(d())),t.lineTo(s.x,s.y);break;
-case "C":for(;!c();){var N=e(),G=h(),B=g();U(t,N.x,N.y,G.x,G.y,B.x,B.y)}break;case "S":for(;!c();)N=k(),G=h(),B=g(),U(t,N.x,N.y,G.x,G.y,B.x,B.y);break;case "Q":for(;!c();)G=h(),B=g(),pf(t,G.x,G.y,B.x,B.y);break;case "T":for(;!c();)r=G=k(),B=g(),pf(t,G.x,G.y,B.x,B.y);break;case "B":for(;!c();){var B=parseFloat(d()),N=parseFloat(d()),G=parseFloat(d()),T=parseFloat(d()),fa=parseFloat(d()),W=fa,P=!1;c()||(W=parseFloat(d()),c()||(P=0!==parseFloat(d())));n===n.toLowerCase()&&(G+=s.x,T+=s.y);t.arcTo(B,N,
-G,T,fa,W,P)}break;case "A":for(;!c();)N=Math.abs(parseFloat(d())),G=Math.abs(parseFloat(d())),T=parseFloat(d()),fa=!!parseFloat(d()),W=!!parseFloat(d()),B=g(),qf(t,N,G,T,fa,W,B.x,B.y);break;case "Z":B=t.q.mc.o[t.q.mc.length-1];V(t);s=q;break;case "F":B="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Uu]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;else{B=l[m+N];break}B.match(/[Mm]/)?x=!0:rf(t);break;case "U":B="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Ff]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;
-else{B=l[m+N];break}B.match(/[Mm]/)?y=!0:t.hb(!1)}q=t.q;z.u(t);if(b)for(t=q.mc.j;t.next();)B=t.value,B.tu=!0;return q};function sf(a,b){for(var c=a.length,d=z.P(),e=0;e=v-1);)if(p=n,n=d(),""!==n)switch(n.toUpperCase()){case "X":B=!0;y=x=!1;break;case "M":var A=g();null===t.dc||!0===B?(S(t,A.x,A.y,x,!1,!y),B=!1):t.moveTo(A.x,A.y);for(q=s;!c();)A=g(),t.lineTo(A.x,A.y);break;case "L":for(;!c();)A=g(),t.lineTo(A.x,A.y);break;case "H":for(;!c();)s=A=new M((n===n.toLowerCase()?s.x:0)+parseFloat(d()),s.y),t.lineTo(s.x,s.y);break;case "V":for(;!c();)s=A=new M(s.x,(n===n.toLowerCase()?s.y:0)+parseFloat(d())),t.lineTo(s.x,s.y);break;
+case "C":for(;!c();){var N=e(),G=h(),A=g();U(t,N.x,N.y,G.x,G.y,A.x,A.y)}break;case "S":for(;!c();)N=k(),G=h(),A=g(),U(t,N.x,N.y,G.x,G.y,A.x,A.y);break;case "Q":for(;!c();)G=h(),A=g(),pf(t,G.x,G.y,A.x,A.y);break;case "T":for(;!c();)r=G=k(),A=g(),pf(t,G.x,G.y,A.x,A.y);break;case "B":for(;!c();){var A=parseFloat(d()),N=parseFloat(d()),G=parseFloat(d()),T=parseFloat(d()),fa=parseFloat(d()),W=fa,P=!1;c()||(W=parseFloat(d()),c()||(P=0!==parseFloat(d())));n===n.toLowerCase()&&(G+=s.x,T+=s.y);t.arcTo(A,N,
+G,T,fa,W,P)}break;case "A":for(;!c();)N=Math.abs(parseFloat(d())),G=Math.abs(parseFloat(d())),T=parseFloat(d()),fa=!!parseFloat(d()),W=!!parseFloat(d()),A=g(),qf(t,N,G,T,fa,W,A.x,A.y);break;case "Z":A=t.q.mc.o[t.q.mc.length-1];V(t);s=q;break;case "F":A="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Uu]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;else{A=l[m+N];break}A.match(/[Mm]/)?x=!0:rf(t);break;case "U":A="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Ff]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;
+else{A=l[m+N];break}A.match(/[Mm]/)?y=!0:t.hb(!1)}q=t.q;z.u(t);if(b)for(t=q.mc.j;t.next();)A=t.value,A.tu=!0;return q};function sf(a,b){for(var c=a.length,d=z.P(),e=0;eh&&(h+=360),s.Me+=h);0>a&&(s.Me=180-s.Me,s.Bf=-s.Bf);0>d&&(s.Me=-s.Me,s.Bf=-s.Bf);s.radiusX*=Math.sqrt(a*a+c*c);void 0!==s.radiusY&&(s.radiusY*=Math.sqrt(b*b+d*d));break;case Qf:h=s.G;k=s.H;s.G=h*
a+k*c+e;s.H=h*b+k*d+g;0!==b&&(h=180*Math.atan2(b,a)/Math.PI,0>h&&(h+=360),s.Vj+=h);0>a&&(s.Vj=180-s.Vj,s.qm=!s.qm);0>d&&(s.Vj=-s.Vj,s.qm=!s.qm);s.radiusX*=Math.sqrt(a*a+c*c);s.radiusY*=Math.sqrt(b*b+d*d);break;default:z.k("Unknown Segment type: "+s.type)}}}}this.jb=!0;return this};
-Ve.prototype.Oa=function(a,b,c,d){var e=a.x,g=a.y,h=this.sb.x-20;a=a.y;for(var k=0,l=0,m=0,n=0,p=0,q=0,r=this.mc.o,s=r.length,v=0;v=a)return 0;if((e>h?e-h:h-e)<(g>k?g-k:k-g)){if(e=a=0,ge)return 0}else if(ee)return 0;return 0a?a=0:1=g)return d=(g-h)/p,c=c[k],k=c[2*n],e=c[2*n+1],b.m(k+(c[2*n+2]-k)*d,e+(c[2*n+3]-e)*d),b;h+=p}b.m(NaN,NaN);return b};
Ve.prototype.getFractionForPoint=Ve.prototype.II=function(a){if(this.type===hf){var b=this.na,c=this.la,d=this.G,e=this.H;if(b!==d||c!==e){var g=a.x;a=a.y;var h=0,k=0;return b===d?(c=k?k===c?0:1:Math.abs(a-c)/(k-h)):c===e?(b=k?k===b?0:1:Math.abs(g-b)/(k-h)):((g-b)*(g-b)+(a-c)*(a-c))/((d-b)*(d-b)+(e-c)*(e-c))}}else if(this.type===jf){if(b=this.na,c=this.la,d=this.G,e=this.H,b!==d||c!==e){var h=d-b,k=e-c,l=2*h+2*k,g=a.x;
a=a.y;g=Math.min(Math.max(g,b),d);a=Math.min(Math.max(a,c),e);var b=Math.abs(g-b),d=Math.abs(g-d),c=Math.abs(a-c),e=Math.abs(a-e),m=Math.min(b,d,c,e);if(m===c)return g/l;if(m===d)return(h+a)/l;if(m===e)return(2*h+k-g)/l;if(m===b)return(2*h+2*k-a)/l}}else{for(var e=this.DA,h=this.Gx,k=this.EA,l=z.P(),c=Infinity,b=d=0,g=e.length,n=m=0,p=0;pa?0:1a?0:1a?"M"+this.na.toString()+" "+this.la.toString():"M"+this.na.toFixed(a)+" "+this.la.toFixed(a),c=this.Db.o,d=c.length,e=0;ea&&(a+=360),this.Rd=a,this.df=0,u&&z.p(d,Wf,"x1"),this.Bh=Math.max(d,0),u&&z.p(e,Wf,"y1"),this.Kg=Math.max(e,0),this.pp="boolean"===typeof h?!!h:!1,this.Ho=!!k):(u&&z.p(d,Wf,"x1"),this.Rd=d,u&&z.p(e,
-Wf,"y1"),this.df=e,u&&z.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Bh=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Kg=h):this.Kg=0,this.Ho=this.pp=!1);this.ei=!1;this.jb=!0;this.tg=null}z.ka("PathSegment",Wf);z.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.da=this.da;a.Bb=this.Bb;a.Ib=this.Ib;a.Rd=this.Rd;a.df=this.df;a.Bh=this.Bh;a.Kg=this.Kg;a.pp=this.pp;a.Ho=this.Ho;a.ei=this.ei;a.jb=this.jb;return a};
+function Wf(a,b,c,d,e,g,h,k){z.wc(this);this.I=!1;void 0===a?a=mf:u&&z.Ca(a,Wf,Wf,"constructor:type");this.da=a;void 0!==b?(u&&z.p(b,Wf,"ex"),this.Bb=b):this.Bb=0;void 0!==c?(u&&z.p(c,Wf,"ey"),this.Ib=c):this.Ib=0;void 0===d&&(d=0);void 0===e&&(e=0);void 0===g&&(g=0);void 0===h&&(h=0);a===Qf?(a=g%360,0>a&&(a+=360),this.Rd=a,this.df=0,u&&z.p(d,Wf,"x1"),this.Bh=Math.max(d,0),u&&z.p(e,Wf,"y1"),this.Kg=Math.max(e,0),this.op="boolean"===typeof h?!!h:!1,this.Go=!!k):(u&&z.p(d,Wf,"x1"),this.Rd=d,u&&z.p(e,
+Wf,"y1"),this.df=e,u&&z.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Bh=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Kg=h):this.Kg=0,this.Go=this.op=!1);this.ei=!1;this.jb=!0;this.tg=null}z.ka("PathSegment",Wf);z.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.da=this.da;a.Bb=this.Bb;a.Ib=this.Ib;a.Rd=this.Rd;a.df=this.df;a.Bh=this.Bh;a.Kg=this.Kg;a.op=this.op;a.Go=this.Go;a.ei=this.ei;a.jb=this.jb;return a};
Wf.prototype.equalsApprox=Wf.prototype.Vc=function(a){if(!(a instanceof Wf)||this.type!==a.type||this.Nx!==a.Nx)return!1;switch(this.type){case Mf:case mf:return Q(this.G,a.G)&&Q(this.H,a.H);case Nf:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Dc,a.Dc)&&Q(this.Zc,a.Zc)&&Q(this.Rh,a.Rh)&&Q(this.Sh,a.Sh);case Of:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Dc,a.Dc)&&Q(this.Zc,a.Zc);case Pf:return Q(this.Me,a.Me)&&Q(this.Bf,a.Bf)&&Q(this.oa,a.oa)&&Q(this.xa,a.xa)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,
-a.radiusY);case Qf:return this.qm===a.qm&&this.Sx===a.Sx&&Q(this.Vj,a.Vj)&&Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,a.radiusY);default:return!1}};Wf.prototype.qc=function(a){a.Pe===Wf?this.type=a:z.Tj(this,a)};
+a.radiusY);case Qf:return this.qm===a.qm&&this.Sx===a.Sx&&Q(this.Vj,a.Vj)&&Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,a.radiusY);default:return!1}};Wf.prototype.pc=function(a){a.Pe===Wf?this.type=a:z.Tj(this,a)};
Wf.prototype.toString=function(a){void 0===a&&(a=-1);var b="";switch(this.type){case Mf:b=0>a?"M"+this.G.toString()+" "+this.H.toString():"M"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case mf:b=0>a?"L"+this.G.toString()+" "+this.H.toString():"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Nf:b=0>a?"C"+this.Dc.toString()+" "+this.Zc.toString()+" "+this.Rh.toString()+" "+this.Sh.toString()+" "+this.G.toString()+" "+this.H.toString():"C"+this.Dc.toFixed(a)+" "+this.Zc.toFixed(a)+" "+this.Rh.toFixed(a)+
" "+this.Sh.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Of:b=0>a?"Q"+this.Dc.toString()+" "+this.Zc.toString()+" "+this.G.toString()+" "+this.H.toString():"Q"+this.Dc.toFixed(a)+" "+this.Zc.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Pf:b=0>a?"B"+this.Me.toString()+" "+this.Bf.toString()+" "+this.oa.toString()+" "+this.xa.toString()+" "+this.radiusX:"B"+this.Me.toFixed(a)+" "+this.Bf.toFixed(a)+" "+this.oa.toFixed(a)+" "+this.xa.toFixed(a)+" "+this.radiusX;
break;case Qf:b=0>a?"A"+this.radiusX.toString()+" "+this.radiusY.toString()+" "+this.Vj.toString()+" "+(this.Sx?1:0)+" "+(this.qm?1:0)+" "+this.G.toString()+" "+this.H.toString():"A"+this.radiusX.toFixed(a)+" "+this.radiusY.toFixed(a)+" "+this.Vj.toFixed(a)+" "+(this.Sx?1:0)+" "+(this.qm?1:0)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;default:b=this.type.toString()}return b+(this.ei?"z":"")};var Mf;Wf.Move=Mf=z.s(Wf,"Move",0);var mf;Wf.Line=mf=z.s(Wf,"Line",1);var Nf;
Wf.Bezier=Nf=z.s(Wf,"Bezier",2);var Of;Wf.QuadraticBezier=Of=z.s(Wf,"QuadraticBezier",3);var Pf;Wf.Arc=Pf=z.s(Wf,"Arc",4);var Qf;Wf.SvgArc=Qf=z.s(Wf,"SvgArc",4);Wf.prototype.freeze=function(){this.I=!0;return this};Wf.prototype.Za=function(){this.I=!1;return this};Wf.prototype.close=Wf.prototype.close=function(){this.ei=!0;return this};
function Rf(a,b){if(null!==a.tg&&!1===b.jb)return a.tg;var c=a.radiusX,d=a.radiusY;void 0===d&&(d=c);if(0===c||0===d)return a.tg=[],a.tg;var e=a.Rd,g=a.df,h=Se(c=r?h=Math.PI:1<=r&&(h=0);!l&&0h&&(h+=2*Math.PI);l=b>g?1:b/g;r=b>g?g/b:1;b=Se(b>g?b:g,n,n+h,!0);g=z.Pf();g.reset();g.translate(c,d);g.rotate(a.Rd,0,0);g.scale(l,r);sf(b,g);z.Ie(g);a.tg=b;return a.tg}
z.defineProperty(Wf,{Nx:"isClosed"},function(){return this.ei},function(a){this.ei!==a&&(this.ei=a,this.jb=!0)});z.defineProperty(Wf,{type:"type"},function(){return this.da},function(a){u&&z.Ca(a,Wf,Wf,"type");this.I&&z.pa(this,a);this.da=a;this.jb=!0});z.defineProperty(Wf,{G:"endX"},function(){return this.Bb},function(a){u&&z.p(a,Wf,"endX");this.I&&z.pa(this,a);this.Bb=a;this.jb=!0});
z.defineProperty(Wf,{H:"endY"},function(){return this.Ib},function(a){u&&z.p(a,Wf,"endY");this.I&&z.pa(this,a);this.Ib=a;this.jb=!0});z.defineProperty(Wf,{Dc:"point1X"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"point1X");this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});z.defineProperty(Wf,{Zc:"point1Y"},function(){return this.df},function(a){u&&z.p(a,Wf,"point1Y");this.I&&z.pa(this,a);this.df=a;this.jb=!0});
z.defineProperty(Wf,{Rh:"point2X"},function(){return this.Bh},function(a){u&&z.p(a,Wf,"point2X");this.I&&z.pa(this,a);this.Bh=a;this.jb=!0});z.defineProperty(Wf,{Sh:"point2Y"},function(){return this.Kg},function(a){u&&z.p(a,Wf,"point2Y");this.I&&z.pa(this,a);this.Kg=a;this.jb=!0});z.defineProperty(Wf,{oa:"centerX"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"centerX");this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});
z.defineProperty(Wf,{xa:"centerY"},function(){return this.df},function(a){u&&z.p(a,Wf,"centerY");this.I&&z.pa(this,a);this.df=a;this.jb=!0});z.defineProperty(Wf,{radiusX:"radiusX"},function(){return this.Bh},function(a){u&&z.p(a,Wf,"radiusX");0>a&&z.wa(a,">= zero",Wf,"radiusX");this.I&&z.pa(this,a);this.Bh=a;this.jb=!0});z.defineProperty(Wf,{radiusY:"radiusY"},function(){return this.Kg},function(a){u&&z.p(a,Wf,"radiusY");0>a&&z.wa(a,">= zero",Wf,"radiusY");this.I&&z.pa(this,a);this.Kg=a;this.jb=!0});
-z.defineProperty(Wf,{Me:"startAngle"},function(){return this.Bb},function(a){this.Bb!==a&&(this.I&&z.pa(this,a),u&&z.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Bb=a,this.jb=!0)});z.defineProperty(Wf,{Bf:"sweepAngle"},function(){return this.Ib},function(a){u&&z.p(a,Wf,"sweepAngle");this.I&&z.pa(this,a);360a&&(a=-360);this.Ib=a;this.jb=!0});z.defineProperty(Wf,{qm:"isClockwiseArc"},function(){return this.Ho},function(a){this.I&&z.pa(this,a);this.Ho=a;this.jb=!0});
-z.defineProperty(Wf,{Sx:"isLargeArc"},function(){return this.pp},function(a){this.I&&z.pa(this,a);this.pp=a;this.jb=!0});z.defineProperty(Wf,{Vj:"xAxisRotation"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});
+z.defineProperty(Wf,{Me:"startAngle"},function(){return this.Bb},function(a){this.Bb!==a&&(this.I&&z.pa(this,a),u&&z.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Bb=a,this.jb=!0)});z.defineProperty(Wf,{Bf:"sweepAngle"},function(){return this.Ib},function(a){u&&z.p(a,Wf,"sweepAngle");this.I&&z.pa(this,a);360a&&(a=-360);this.Ib=a;this.jb=!0});z.defineProperty(Wf,{qm:"isClockwiseArc"},function(){return this.Go},function(a){this.I&&z.pa(this,a);this.Go=a;this.jb=!0});
+z.defineProperty(Wf,{Sx:"isLargeArc"},function(){return this.op},function(a){this.I&&z.pa(this,a);this.op=a;this.jb=!0});z.defineProperty(Wf,{Vj:"xAxisRotation"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});
function Yf(){this.ca=null;this.cA=(new M(0,0)).freeze();this.jz=(new M(0,0)).freeze();this.vv=this.pw=0;this.wv=1;this.ew="";this.Xw=this.Lv=!1;this.Iv=this.xv=0;this.Xj=this.Sv=this.bw=!1;this.Qr=null;this.Vw=0;this.Ng=this.Uw=null}z.ka("InputEvent",Yf);
-Yf.prototype.copy=function(){var a=new Yf;a.ca=this.ca;a.cA.assign(this.te);a.jz.assign(this.ha);a.pw=this.pw;a.vv=this.vv;a.wv=this.wv;a.ew=this.ew;a.Lv=this.Lv;a.Xw=this.Xw;a.xv=this.xv;a.Iv=this.Iv;a.bw=this.bw;a.Sv=this.Sv;a.Xj=this.Xj;a.Qr=this.Qr;a.Vw=this.Vw;a.Uw=this.Uw;a.Ng=this.Ng;return a};
-Yf.prototype.toString=function(){var a="^";0!==this.Ld&&(a+="M:"+this.Ld);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Qe&&(a+="C:"+this.Qe);0!==this.fm&&(a+="D:"+this.fm);this.Nc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};z.defineProperty(Yf,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});z.defineProperty(Yf,{te:"viewPoint"},function(){return this.cA},function(a){z.l(a,M,Yf,"viewPoint");this.cA.assign(a)});
+Yf.prototype.copy=function(){var a=new Yf;a.ca=this.ca;a.cA.assign(this.se);a.jz.assign(this.ha);a.pw=this.pw;a.vv=this.vv;a.wv=this.wv;a.ew=this.ew;a.Lv=this.Lv;a.Xw=this.Xw;a.xv=this.xv;a.Iv=this.Iv;a.bw=this.bw;a.Sv=this.Sv;a.Xj=this.Xj;a.Qr=this.Qr;a.Vw=this.Vw;a.Uw=this.Uw;a.Ng=this.Ng;return a};
+Yf.prototype.toString=function(){var a="^";0!==this.Ld&&(a+="M:"+this.Ld);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Qe&&(a+="C:"+this.Qe);0!==this.fm&&(a+="D:"+this.fm);this.Nc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};z.defineProperty(Yf,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});z.defineProperty(Yf,{se:"viewPoint"},function(){return this.cA},function(a){z.l(a,M,Yf,"viewPoint");this.cA.assign(a)});
z.defineProperty(Yf,{ha:"documentPoint"},function(){return this.jz},function(a){z.l(a,M,Yf,"documentPoint");this.jz.assign(a)});Yf.prototype.getMultiTouchViewPoint=Yf.prototype.Ix=function(a,b){var c=this.g;if(null===c)return b;Zf(c,this.event,a,b);return b};Yf.prototype.getMultiTouchDocumentPoint=function(a,b){var c=this.g;if(null===c)return b;Zf(c,this.event,a,b);b.assign(c.NB(b));return b};z.defineProperty(Yf,{Ld:"modifiers"},function(){return this.pw},function(a){this.pw=a});
z.defineProperty(Yf,{button:"button"},function(){return this.vv},function(a){this.vv=a;if(null===this.event)switch(a){case 0:this.buttons=1;break;case 1:this.buttons=4;break;case 2:this.buttons=2}});z.defineProperty(Yf,{buttons:"buttons"},function(){return this.wv},function(a){this.wv=a});z.defineProperty(Yf,{key:"key"},function(){return this.ew},function(a){this.ew=a});z.defineProperty(Yf,{gm:"down"},function(){return this.Lv},function(a){this.Lv=a});
z.defineProperty(Yf,{up:"up"},function(){return this.Xw},function(a){this.Xw=a});z.defineProperty(Yf,{Qe:"clickCount"},function(){return this.xv},function(a){this.xv=a});z.defineProperty(Yf,{fm:"delta"},function(){return this.Iv},function(a){this.Iv=a});z.defineProperty(Yf,{vu:"isMultiTouch"},function(){return this.bw},function(a){this.bw=a});z.defineProperty(Yf,{Nc:"handled"},function(){return this.Sv},function(a){this.Sv=a});
@@ -323,31 +323,31 @@ z.defineProperty(Yf,{eh:"targetDiagram"},function(){return this.Uw},function(a){
z.defineProperty(Yf,{alt:"alt"},function(){return 0!==(this.Ld&2)},function(a){this.Ld=a?this.Ld|2:this.Ld&-3});z.defineProperty(Yf,{Du:"meta"},function(){return 0!==(this.Ld&8)},function(a){this.Ld=a?this.Ld|8:this.Ld&-9});z.defineProperty(Yf,{left:"left"},function(){var a=this.event;return null!==a&&a instanceof MouseEvent&&("mousedown"===a.type||"mouseup"===a.type)?0===this.button:0!==(this.buttons&1)},function(a){this.buttons=a?this.buttons|1:this.buttons&-2});
z.defineProperty(Yf,{right:"right"},function(){var a=this.event;return null!==a&&a instanceof MouseEvent&&("mousedown"===a.type||"mouseup"===a.type)?2===this.button:0!==(this.buttons&2)},function(a){this.buttons=a?this.buttons|2:this.buttons&-3});z.defineProperty(Yf,{aM:"middle"},function(){var a=this.event;return null!==a&&a instanceof MouseEvent&&("mousedown"===a.type||"mouseup"===a.type)?1===this.button:0!==(this.buttons&4)},function(a){this.buttons=a?this.buttons|4:this.buttons&-5});
function $f(){this.ca=null;this.Xb="";this.yw=this.Sw=null;this.mr=!1}z.ka("DiagramEvent",$f);$f.prototype.copy=function(){var a=new $f;a.ca=this.ca;a.Xb=this.Xb;a.Sw=this.Sw;a.yw=this.yw;a.mr=this.mr;return a};$f.prototype.toString=function(){var a="*"+this.name;null!==this.HB&&(a+=":"+this.HB.toString());null!==this.lB&&(a+="("+this.lB.toString()+")");return a};z.defineProperty($f,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});
-z.defineProperty($f,{name:"name"},function(){return this.Xb},function(a){this.Xb=a});z.defineProperty($f,{HB:"subject"},function(){return this.Sw},function(a){this.Sw=a});z.defineProperty($f,{lB:"parameter"},function(){return this.yw},function(a){this.yw=a});z.defineProperty($f,{cancel:"cancel"},function(){return this.mr},function(a){this.mr!==a&&z.Nn("DiagramEvent.cancel","2.0");this.mr=a});function ag(){this.nr=bg;this.jn=this.ow="";this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.ye=null}
-z.ka("ChangedEvent",ag);var rg;ag.Transaction=rg=z.s(ag,"Transaction",-1);var bg;ag.Property=bg=z.s(ag,"Property",0);var sg;ag.Insert=sg=z.s(ag,"Insert",1);var tg;ag.Remove=tg=z.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.ye=null};
-ag.prototype.copy=function(){var a=new ag;a.nr=this.nr;a.ow=this.ow;a.jn=this.jn;a.ye=this.ye;a.ca=this.ca;a.Ns=this.Ns;var b=this.Ps;a.Ps=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Os;a.Os=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ks;a.Ks=z.Xa(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.qc=function(a){a.Pe===ag?this.Kc=a:z.Tj(this,a)};
+z.defineProperty($f,{name:"name"},function(){return this.Xb},function(a){this.Xb=a});z.defineProperty($f,{HB:"subject"},function(){return this.Sw},function(a){this.Sw=a});z.defineProperty($f,{lB:"parameter"},function(){return this.yw},function(a){this.yw=a});z.defineProperty($f,{cancel:"cancel"},function(){return this.mr},function(a){this.mr!==a&&z.Nn("DiagramEvent.cancel","2.0");this.mr=a});function ag(){this.nr=bg;this.jn=this.ow="";this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.xe=null}
+z.ka("ChangedEvent",ag);var rg;ag.Transaction=rg=z.s(ag,"Transaction",-1);var bg;ag.Property=bg=z.s(ag,"Property",0);var sg;ag.Insert=sg=z.s(ag,"Insert",1);var tg;ag.Remove=tg=z.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.xe=null};
+ag.prototype.copy=function(){var a=new ag;a.nr=this.nr;a.ow=this.ow;a.jn=this.jn;a.xe=this.xe;a.ca=this.ca;a.Ns=this.Ns;var b=this.Ps;a.Ps=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Os;a.Os=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ks;a.Ks=z.Xa(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.pc=function(a){a.Pe===ag?this.Kc=a:z.Tj(this,a)};
ag.prototype.toString=function(){var a="",a=this.Kc===rg?a+"* ":this.Kc===bg?a+(null!==this.ia?"!m":"!d"):a+((null!==this.ia?"!m":"!d")+this.Kc);this.propertyName&&"string"===typeof this.propertyName&&(a+=" "+this.propertyName);this.Af&&this.Af!==this.propertyName&&(a+=" "+this.Af);a+=": ";this.Kc===rg?null!==this.oldValue&&(a+=" "+this.oldValue):(null!==this.object&&(a+=ka(this.object)),null!==this.oldValue&&(a+=" old: "+ka(this.oldValue)),null!==this.Oj&&(a+=" "+this.Oj),null!==this.newValue&&
(a+=" new: "+ka(this.newValue)),null!==this.Mj&&(a+=" "+this.Mj));return a};ag.prototype.getValue=ag.prototype.qa=function(a){return a?this.oldValue:this.newValue};ag.prototype.getParam=function(a){return a?this.Oj:this.Mj};ag.prototype.canUndo=ag.prototype.canUndo=function(){return null!==this.ia||null!==this.g?!0:!1};ag.prototype.undo=ag.prototype.undo=function(){this.canUndo()&&(null!==this.ia?this.ia.En(this,!0):null!==this.g&&this.g.En(this,!0))};
-ag.prototype.canRedo=ag.prototype.canRedo=function(){return null!==this.ia||null!==this.g?!0:!1};ag.prototype.redo=ag.prototype.redo=function(){this.canRedo()&&(null!==this.ia?this.ia.En(this,!1):null!==this.g&&this.g.En(this,!1))};z.defineProperty(ag,{ia:"model"},function(){return this.ye},function(a){this.ye=a});z.defineProperty(ag,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});
+ag.prototype.canRedo=ag.prototype.canRedo=function(){return null!==this.ia||null!==this.g?!0:!1};ag.prototype.redo=ag.prototype.redo=function(){this.canRedo()&&(null!==this.ia?this.ia.En(this,!1):null!==this.g&&this.g.En(this,!1))};z.defineProperty(ag,{ia:"model"},function(){return this.xe},function(a){this.xe=a});z.defineProperty(ag,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});
z.defineProperty(ag,{Kc:"change"},function(){return this.nr},function(a){u&&z.Ca(a,ag,ag,"change");this.nr=a});z.defineProperty(ag,{Af:"modelChange"},function(){return this.ow},function(a){u&&z.h(a,"string",ag,"modelChange");this.ow=a});z.defineProperty(ag,{propertyName:"propertyName"},function(){return this.jn},function(a){u&&"string"!==typeof a&&z.h(a,"function",ag,"propertyName");this.jn=a});
z.w(ag,{NF:"isTransactionFinished"},function(){return this.nr===rg&&("CommittedTransaction"===this.jn||"FinishedUndo"===this.jn||"FinishedRedo"===this.jn)});z.defineProperty(ag,{object:"object"},function(){return this.Ns},function(a){this.Ns=a});z.defineProperty(ag,{oldValue:"oldValue"},function(){return this.Ps},function(a){this.Ps=a});z.defineProperty(ag,{Oj:"oldParam"},function(){return this.Os},function(a){this.Os=a});
z.defineProperty(ag,{newValue:"newValue"},function(){return this.Ls},function(a){this.Ls=a});z.defineProperty(ag,{Mj:"newParam"},function(){return this.Ks},function(a){this.Ks=a});
-function L(a){1d)return;z.Rg(a.ze,d)}dh(a,"nodeDataArray",tg,"nodeDataArray",a,b,null,d,null);a.dv(b)}
+L.prototype.makeNodeDataKeyUnique=L.prototype.ZA=function(a){if(null!==a){var b=this.uk;if(""!==b){var c=this.Cb(a);if(void 0===c||this.Gc.contains(c)){var d=this.sp;if(null!==d&&(c=d(this,a),void 0!==c&&null!==c&&!this.Gc.contains(c))){z.Ua(a,b,c);return}if("string"===typeof c){for(d=2;this.Gc.contains(c+d);)d++;z.Ua(a,b,c+d)}else if(void 0===c||"number"===typeof c){for(d=-this.Gc.count-1;this.Gc.contains(d);)d--;z.Ua(a,b,d)}else z.k("Model.getKeyForNodeData returned something other than a string or a number: "+
+c)}}}};L.prototype.addNodeData=L.prototype.Tl=function(a){null!==a&&(z.oq(a),this.ke(a)||gh(this,a,!0))};function gh(a,b,c){var d=a.Cb(b);if(void 0===d||a.Gc.qa(d)!==b)a.ZA(b),d=a.Cb(b),void 0===d?z.k("Model.makeNodeDataKeyUnique failed on "+b+". Data not added to Model."):(a.Gc.add(d,b),d=null,c&&(d=z.bb(a.ye),z.Hh(a.ye,d,b)),dh(a,"nodeDataArray",sg,"nodeDataArray",a,null,b,null,d),a.Kq(b),a.Jq(b))}
+L.prototype.addNodeDataCollection=function(a){if(z.isArray(a))for(var b=z.bb(a),c=0;cd)return;z.Rg(a.ye,d)}dh(a,"nodeDataArray",tg,"nodeDataArray",a,b,null,d,null);a.dv(b)}
L.prototype.removeNodeDataCollection=function(a){if(z.isArray(a))for(var b=z.bb(a),c=0;cb&&(b=z.bb(a));z.Hh(a,b,c);dh(this,"",sg,"",a,null,c,null,b)};
-L.prototype.removeArrayItem=L.prototype.hG=function(a,b){void 0===b&&(b=-1);u&&(z.Tt(a,L,"removeArrayItem:arr"),z.p(b,L,"removeArrayItem:idx"));a===this.ze&&z.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=z.bb(a)-1);var c=z.Ma(a,b);z.Rg(a,b);dh(this,"",tg,"",a,c,null,b,null)};z.defineProperty(L,{jo:"nodeCategoryProperty"},function(){return this.dn},function(a){var b=this.dn;b!==a&&(eh(a,L,"nodeCategoryProperty"),this.dn=a,this.i("nodeCategoryProperty",b,a))});
+L.prototype.setDataProperty=function(a,b,c){u&&(z.h(a,"object",L,"setDataProperty:data"),z.h(b,"string",L,"setDataProperty:propname"),""===b&&z.k("Model.setDataProperty: property name must not be an empty string when setting "+a+" to "+c));if(this.ke(a))if(b===this.Nj)this.yy(a,c);else{if(b===this.jo){this.xy(a,c);return}}else!oh&&a instanceof O&&(oh=!0,z.trace('Model.setDataProperty is modifying a GraphObject, "'+a.toString()+'"'),z.trace(" Is that really your intent?"));var d=z.vb(a,b);d!==c&&
+(z.Ua(a,b,c),this.mB(a,b,d,c))};L.prototype.addArrayItem=function(a,b){this.PA(a,-1,b)};L.prototype.insertArrayItem=L.prototype.PA=function(a,b,c){u&&(z.Tt(a,L,"insertArrayItem:arr"),z.p(b,L,"insertArrayItem:idx"));a===this.ye&&z.k("Model.insertArrayItem or Model.addArrayItem should not be called on the Model.nodeDataArray");0>b&&(b=z.bb(a));z.Hh(a,b,c);dh(this,"",sg,"",a,null,c,null,b)};
+L.prototype.removeArrayItem=L.prototype.hG=function(a,b){void 0===b&&(b=-1);u&&(z.Tt(a,L,"removeArrayItem:arr"),z.p(b,L,"removeArrayItem:idx"));a===this.ye&&z.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=z.bb(a)-1);var c=z.Ma(a,b);z.Rg(a,b);dh(this,"",tg,"",a,c,null,b,null)};z.defineProperty(L,{jo:"nodeCategoryProperty"},function(){return this.dn},function(a){var b=this.dn;b!==a&&(eh(a,L,"nodeCategoryProperty"),this.dn=a,this.i("nodeCategoryProperty",b,a))});
L.prototype.getCategoryForNodeData=L.prototype.IA=function(a){if(null===a)return"";var b=this.dn;if(""===b)return"";b=z.vb(a,b);if(void 0===b)return"";if("string"===typeof b)return b;z.k("getCategoryForNodeData found a non-string category for "+a+": "+b);return""};
-L.prototype.setCategoryForNodeData=L.prototype.xy=function(a,b){z.h(b,"string",L,"setCategoryForNodeData:cat");if(null!==a){var c=this.dn;if(""!==c)if(this.le(a)){var d=z.vb(a,c);void 0===d&&(d="");d!==b&&(z.Ua(a,c,b),dh(this,"nodeCategory",bg,c,a,d,b))}else z.Ua(a,c,b)}};
-function X(a,b){2z.Yl(d,a.newValue)&&z.Hh(d,c,a.newValue));return}}else if(a.Kc===
tg){c=a.Oj;if("linkDataArray"===a.Af){d=a.oldValue;z.Xa(d)&&"number"===typeof c&&(e=this.eg(d),b?(this.hi.add(d),z.Ma(this.bf,c)!==d&&z.Hh(this.bf,c,d),void 0!==e&&this.qd.add(e,d)):(this.hi.remove(d),z.Ma(this.bf,c)===d&&z.Rg(this.bf,c),void 0!==e&&this.qd.remove(e)));return}if("linkLabelKeys"===a.Af){d=this.Rk(a.object);z.isArray(d)&&"number"===typeof c&&(b?0>z.Yl(d,a.newValue)&&z.Hh(d,c,a.newValue):(c=z.Yl(d,a.newValue),0<=c&&z.Rg(d,c)));return}}L.prototype.En.call(this,a,b)};
z.defineProperty(X,{jA:"archetypeNodeData"},function(){return this.ol},function(a){var b=this.ol;b!==a&&(null!==a&&z.l(a,Object,X,"archetypeNodeData"),this.ol=a,this.i("archetypeNodeData",b,a))});X.prototype.ho=function(a){if(void 0!==a){var b=this.ol;if(null!==b){var c=this.Ge(a);null===c&&(c=this.copyNodeData(b),z.Ua(c,this.uk,a),this.Tl(c))}return a}};
@@ -417,252 +417,252 @@ X.prototype.getLabelKeysForLinkData=X.prototype.Rk=function(a){if(null===a)retur
X.prototype.setLabelKeysForLinkData=X.prototype.FG=function(a,b){z.Tt(b,X,"setLabelKeysForLinkData:arr");if(null!==a){var c=this.Gg;if(""!==c)if(this.Kh(a)){var d=z.vb(a,c);void 0===d&&(d=z.bl);if(d!==b){for(var e=z.bb(d),g=0;ge||(z.Rg(d,e),this.Kh(a)&&(kh(this,b,a),dh(this,"linkLabelKeys",tg,c,a,b,null,e,null)))}else void 0!==d&&z.k(c+" property is not an Array; cannot removeLabelKeyforLinkData: "+a)}}};
-z.defineProperty(X,{Xg:"linkDataArray"},function(){return this.bf},function(a){var b=this.bf;if(b!==a){z.Tt(a,X,"linkDataArray");this.qd.clear();for(var c=z.bb(a),d=0;dd)return;z.Rg(a.bf,d)}dh(a,"linkDataArray",tg,"linkDataArray",a,b,null,d,null);c=a.mm(b);kh(a,c,b);c=a.nm(b);kh(a,c,b);d=a.Rk(b);if(z.isArray(d))for(var e=z.bb(d),g=0;ga.Vh&&z.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Vh;d&&b&&a.sd("CommittingTransaction",c,a.zj);var e=0;if(0a.Ej;e--)g=d.fa(e),null!==g&&g.clear(),
+ug.prototype.clear=ug.prototype.clear=function(){var a=this.history;a.Za();for(var b=a.count-1;0<=b;b--){var c=a.fa(b);null!==c&&c.clear()}a.clear();this.rh=-1;a.freeze();this.bj=!1;this.Hv=null;this.Ql=0;this.xh.Za();this.xh.clear();this.xh.freeze();this.wp.clear()};ug.prototype.addModel=ug.prototype.LH=function(a){this.Lz.add(a)};ug.prototype.removeModel=ug.prototype.ZJ=function(a){this.Lz.remove(a)};
+ug.prototype.startTransaction=ug.prototype.$b=function(a){void 0===a&&(a="");null===a&&(a="");if(this.lb)return!1;!0===this.uz&&(this.uz=!1,this.Ql++,this.sd("StartingFirstTransaction",a,this.zj),0a.Vh&&z.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Vh;d&&b&&a.sd("CommittingTransaction",c,a.zj);var e=0;if(0a.Ej;e--)g=d.fa(e),null!==g&&g.clear(),
d.md(e),a.Fz=!0;e=a.UF;0===e&&(e=1);0=e&&(g=d.fa(0),null!==g&&g.clear(),d.md(0),a.rh--);d.add(b);a.rh++;d.freeze();g=b}a.sd("CommittedTransaction",c,g)}else{a.bj=!0;try{a.isEnabled&&null!==g&&(g.ru=!0,g.undo())}finally{a.sd("RolledBackTransaction",c,g),a.bj=!1}null!==g&&g.clear()}a.Hv=null;return!0}if(a.isEnabled&&!b&&null!==g){a=e;c=g.bg;for(b=c.count-1;b>=a;b--)d=c.fa(b),null!==d&&d.undo(),c.Za(),c.md(b);c.freeze()}return!1}
ug.prototype.canUndo=ug.prototype.canUndo=function(){if(!this.isEnabled||0=this.Vh&&!this.uz&&(a=a.g,null!==a&&!1===a.Zn||z.trace("Change not within a transaction: "+c.toString()))}};
ug.prototype.skipsEvent=function(a){if(null===a||0>a.Kc.value)return!0;a=a.object;if(a instanceof O){if(a=a.layer,null!==a&&a.Wc)return!0}else if(a instanceof ah&&a.Wc)return!0;return!1};z.w(ug,{GJ:"models"},function(){return this.Lz.j});z.defineProperty(ug,{isEnabled:"isEnabled"},function(){return this.pf},function(a){this.pf=a});z.w(ug,{YG:"transactionToUndo"},function(){return 0<=this.Ej&&this.Ej<=this.history.count-1?this.history.fa(this.Ej):null});
z.w(ug,{XG:"transactionToRedo"},function(){return this.Ejb.Oh||(b.scale=a))};ta.prototype.canDecreaseZoom=function(a){void 0===a&&(a=1/this.Fy);z.p(a,ta,"canDecreaseZoom:factor");var b=this.g;if(null===b||b.Zl!==Qh)return!1;a*=b.scale;return ab.Oh?!1:b.lx};
ta.prototype.increaseZoom=function(a){void 0===a&&(a=this.Fy);z.p(a,ta,"increaseZoom:factor");var b=this.g;null!==b&&b.Zl===Qh&&(a*=b.scale,ab.Oh||(b.scale=a))};ta.prototype.canIncreaseZoom=function(a){void 0===a&&(a=this.Fy);z.p(a,ta,"canIncreaseZoom:factor");var b=this.g;if(null===b||b.Zl!==Qh)return!1;a*=b.scale;return ab.Oh?!1:b.lx};ta.prototype.resetZoom=function(a){void 0===a&&(a=this.vx);z.p(a,ta,"resetZoom:newscale");var b=this.g;null===b||ab.Oh||(b.scale=a)};
ta.prototype.canResetZoom=function(a){void 0===a&&(a=this.vx);z.p(a,ta,"canResetZoom:newscale");var b=this.g;return null===b||ab.Oh?!1:b.lx};ta.prototype.zoomToFit=function(){var a=this.g;if(null!==a){var b=a.scale,c=a.position;b===this.fA&&!isNaN(this.Gz)&&a.fd.O(this.eA)?(a.scale=this.Gz,a.position=this.lD,this.fA=NaN,this.eA=Ed):(this.Gz=b,this.lD=c.copy(),a.zoomToFit(),this.fA=a.scale,this.eA=a.fd.copy())}};ta.prototype.canZoomToFit=function(){var a=this.g;return null===a?!1:a.lx};
-ta.prototype.scrollToPart=function(a){void 0===a&&(a=null);null!==a&&z.l(a,D,ta,"part");var b=this.g;if(null!==b){if(null===a){try{null!==this.qj&&(this.qj.next()?a=this.qj.value:this.qj=null)}catch(c){this.qj=null}null===a&&(0e||Math.abs(b.y-a.y)>d};z.w(bh,{g:"diagram"},function(){return this.ca});z.defineProperty(bh,{name:"name"},function(){return this.Xb},function(a){z.h(a,"string",bh,"name");this.Xb=a});
+bh.prototype.cancelWaitAfter=function(){-1!==this.$w&&z.clearTimeout(this.$w);this.$w=-1};bh.prototype.doWaitAfter=function(){};bh.prototype.findToolHandleAt=function(a,b){var c=this.g;if(null===c)return null;c=c.He(a,function(a){for(;null!==a&&!(a.Q instanceof ea);)a=a.Q;return a});return null===c?null:c.Q.rc===b?c:null};
+bh.prototype.isBeyondDragSize=function(a,b){var c=this.g;if(null===c)return!1;void 0===a&&(a=c.Mc.se);void 0===b&&(b=c.U.se);var d=c.ib.sI,e=d.width,d=d.height;c.Mc.Hj&&(e+=6,d+=6);return Math.abs(b.x-a.x)>e||Math.abs(b.y-a.y)>d};z.w(bh,{g:"diagram"},function(){return this.ca});z.defineProperty(bh,{name:"name"},function(){return this.Xb},function(a){z.h(a,"string",bh,"name");this.Xb=a});
z.defineProperty(bh,{isEnabled:"isEnabled"},function(){return this.pf},function(a){z.h(a,"boolean",bh,"isEnabled");this.pf=a});z.defineProperty(bh,{ya:"isActive"},function(){return this.ZC},function(a){z.h(a,"boolean",bh,"isActive");this.ZC=a});z.defineProperty(bh,{Qf:"transactionResult"},function(){return this.jE},function(a){null!==a&&z.h(a,"string",bh,"transactionResult");this.jE=a});
-function Ph(){0e&&(e=k),l>g&&(g=l))}}Infinity===c?b.m(0,0,0,0):b.m(c,d,e-c,g-d)}
-function Hi(a,b){if(null===a.kc){var c=a.g;if(!(null===c||b&&(c.kb||c.Hf))&&null!==a.fc){var d=c.sa;d.isEnabled&&d.JF?null!==d.zj&&0e&&(e=k),l>g&&(g=l))}}Infinity===c?b.m(0,0,0,0):b.m(c,d,e-c,g-d)}
+function Hi(a,b){if(null===a.kc){var c=a.g;if(!(null===c||b&&(c.kb||c.Hf))&&null!==a.fc){var d=c.sa;d.isEnabled&&d.JF?null!==d.zj&&0c.ua)){var d=a.g;if(null!==d&&!d.kb&&(d=a.oj,null!==d)){var e=null,g=null;null===c.aa&&(e=Ri(a,c.n(0),!1),null!==e&&(g=e.ba));var h=null,k=null;null===c.ea&&(h=Ri(a,c.n(c.ua-1),!0),null!==h&&(k=h.ba));d.isValidLink(g,e,k,h)?b?(c.eq=c.n(0),c.fq=c.n(c.ua-1),c.Sj=!1,c.aa=g,null!==e&&(c.dg=e.vd),c.ea=k,null!==h&&(c.ih=h.vd)):Si(d,g,e,k,h):Si(d,null,null,null,null)}}}Ph.prototype.doDragOver=function(){};
+function Oi(a,b){var c=a.td;if(null!==c&&!(2>c.ua)){var d=a.g;if(null!==d&&!d.kb&&(d=a.oj,null!==d)){var e=null,g=null;null===c.aa&&(e=Ri(a,c.n(0),!1),null!==e&&(g=e.ba));var h=null,k=null;null===c.ea&&(h=Ri(a,c.n(c.ua-1),!0),null!==h&&(k=h.ba));d.isValidLink(g,e,k,h)?b?(c.dq=c.n(0),c.eq=c.n(c.ua-1),c.Sj=!1,c.aa=g,null!==e&&(c.dg=e.vd),c.ea=k,null!==h&&(c.ih=h.vd)):Si(d,g,e,k,h):Si(d,null,null,null,null)}}}Ph.prototype.doDragOver=function(){};
function Ti(a,b){var c=a.g;if(null!==c){a.Bj&&Oi(a,!0);zi(a);var d=Pi(c,b,null,function(b){return!Mi(a,b)}),e=c.U;e.We=d;if(null!==d){e.Nc=!1;for(var g=d;null!==g;){var h=g.bB;if(null!==h&&(h(e,g),e.Nc))break;g=Qi(g)}}else h=c.bB,null!==h&&h(e);if(a.ya||null!==Yh){for(e=(a.kc||a.fc).j;e.next();)g=e.key,g instanceof E&&g.Jd.each(function(a){a.Sj=!1});a.doDropOnto(b,d);if(a.ya||null!==Yh){d=z.Of();for(e=c.selection.j;e.next();)g=e.value,g instanceof E&&Ui(c,g.getAvoidableRect(d));z.Mb(d)}}}}
-Ph.prototype.doDropOnto=function(){};Ph.prototype.doMouseMove=function(){if(this.ya){var a=this.g;if(null!==a&&null!==this.Ln&&null!==this.fc){var b=!1,c=!1;this.mayCopy()?(b=!0,a.lc="copy",Hi(this,!1),this.xt(this.kc),Ii(this,this.kc,!1),this.Ep(this.kc)):this.mayMove()?(c=!0,a.lc="default",Ci(this),Ii(this,this.fc,!0)):this.mayDragOut()?(a.lc="no-drop",Hi(this,!1),Ii(this,this.kc,!1)):Ci(this);Ni(this,a.U.ha,c,b)}}};
-Ph.prototype.doMouseUp=function(){if(this.ya){var a=this.g;if(null!==a){var b=!1,c=this.mayCopy();c&&null!==this.kc?(Ci(this),Hi(this,!0),this.xt(this.kc),Ii(this,this.kc,!1),this.Ep(this.kc),null!==this.kc&&a.AG(this.kc.Uj())):(b=!0,Ci(this),this.mayMove()&&(Ii(this,this.fc,!0),Ni(this,a.U.ha,!0,!1)));this.Kr=!0;Ti(this,a.U.ha);if(this.ya){this.kc=null;if(b&&null!==this.fc)for(b=this.fc.j;b.next();){var d=b.key;d instanceof E&&(d=d.Qa,null===d||null===d.placeholder||this.fc.contains(d)||d.placeholder.K())}a.Bc();
-this.Ep(this.fc);this.Qf=c?"Copy":"Move";a.Ka(c?"SelectionCopied":"SelectionMoved",a.selection)}this.stopTool()}}};Ph.prototype.mayCopy=function(){if(!this.EF)return!1;var a=this.g;if(null===a||a.kb||a.Hf||!a.Wp||!a.Ik||(z.Uk?!a.U.alt:!a.U.control))return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.re()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};
-Ph.prototype.mayDragOut=function(){if(!this.EF)return!1;var a=this.g;if(null===a||!a.Qt||!a.Ik||a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.re()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};Ph.prototype.mayMove=function(){var a=this.g;if(null===a||a.kb||!a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.re()&&b.canMove())return!0}return null!==this.td&&this.Bj&&this.td.canMove()?!0:!1};var Ai=new J(Ph),Yh=null,Zh=null;
-Ph.prototype.getDraggingSource=function(){return Yh};Ph.prototype.mayDragIn=function(){var a=this.g;if(null===a||!a.wE||a.kb||a.Hf||!a.Wp)return!1;var b=Yh;return null===b||null===b.g||b.g.ia.dm!==a.ia.dm?!1:!0};Ph.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.g;a.Ya.Ii();Vi(a);a=Yh;null!==a&&null!==a.g&&(a.g.lc="copy")}};Ph.prototype.doSimulatedDragLeave=function(){var a=Yh;null!==a&&a.doSimulatedDragOut();this.doCancel()};
+Ph.prototype.doDropOnto=function(){};Ph.prototype.doMouseMove=function(){if(this.ya){var a=this.g;if(null!==a&&null!==this.Ln&&null!==this.fc){var b=!1,c=!1;this.mayCopy()?(b=!0,a.lc="copy",Hi(this,!1),this.xt(this.kc),Ii(this,this.kc,!1),this.Dp(this.kc)):this.mayMove()?(c=!0,a.lc="default",Ci(this),Ii(this,this.fc,!0)):this.mayDragOut()?(a.lc="no-drop",Hi(this,!1),Ii(this,this.kc,!1)):Ci(this);Ni(this,a.U.ha,c,b)}}};
+Ph.prototype.doMouseUp=function(){if(this.ya){var a=this.g;if(null!==a){var b=!1,c=this.mayCopy();c&&null!==this.kc?(Ci(this),Hi(this,!0),this.xt(this.kc),Ii(this,this.kc,!1),this.Dp(this.kc),null!==this.kc&&a.AG(this.kc.Uj())):(b=!0,Ci(this),this.mayMove()&&(Ii(this,this.fc,!0),Ni(this,a.U.ha,!0,!1)));this.Kr=!0;Ti(this,a.U.ha);if(this.ya){this.kc=null;if(b&&null!==this.fc)for(b=this.fc.j;b.next();){var d=b.key;d instanceof E&&(d=d.Qa,null===d||null===d.placeholder||this.fc.contains(d)||d.placeholder.K())}a.Bc();
+this.Dp(this.fc);this.Qf=c?"Copy":"Move";a.Ka(c?"SelectionCopied":"SelectionMoved",a.selection)}this.stopTool()}}};Ph.prototype.mayCopy=function(){if(!this.EF)return!1;var a=this.g;if(null===a||a.kb||a.Hf||!a.Vp||!a.Ik||(z.Uk?!a.U.alt:!a.U.control))return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.qe()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};
+Ph.prototype.mayDragOut=function(){if(!this.EF)return!1;var a=this.g;if(null===a||!a.Qt||!a.Ik||a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.qe()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};Ph.prototype.mayMove=function(){var a=this.g;if(null===a||a.kb||!a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.qe()&&b.canMove())return!0}return null!==this.td&&this.Bj&&this.td.canMove()?!0:!1};var Ai=new J(Ph),Yh=null,Zh=null;
+Ph.prototype.getDraggingSource=function(){return Yh};Ph.prototype.mayDragIn=function(){var a=this.g;if(null===a||!a.wE||a.kb||a.Hf||!a.Vp)return!1;var b=Yh;return null===b||null===b.g||b.g.ia.dm!==a.ia.dm?!1:!0};Ph.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.g;a.Ya.Ii();Vi(a);a=Yh;null!==a&&null!==a.g&&(a.g.lc="copy")}};Ph.prototype.doSimulatedDragLeave=function(){var a=Yh;null!==a&&a.doSimulatedDragOut();this.doCancel()};
Ph.prototype.doSimulatedDragOver=function(){var a=this.g;if(null!==a){var b=Yh;null!==b&&null!==b.fc&&this.mayDragIn()&&(a.lc="copy",Wi(this,b.fc.Uj(),!1),Ii(this,this.kc,!1),Ni(this,a.U.ha,!1,!0))}};
Ph.prototype.doSimulatedDrop=function(){var a=this.g;if(null!==a){var b=Yh;if(null!==b){var c=b.g;b.Kr=!0;Ci(this);this.mayDragIn()&&(this.$b("Drop"),Wi(this,b.fc.Uj(),!0),Ii(this,this.kc,!1),null!==this.kc&&a.AG(this.kc.Uj()),Ti(this,a.U.ha),a.Bc(),b=a.selection,null!==this.kc?this.Qf="ExternalCopy":b=new K(D),this.kc=null,a.doFocus(),a.Ka("ExternalObjectsDropped",b,c),this.al())}}};
-function Wi(a,b,c){if(null===a.kc){var d=a.g;if(null!==d&&!d.kb&&!d.Hf){d.Eb=!c;d.cr=!c;a.$k=d.U.ha;d=d.dq(b,d,!0);c=z.Of();Gi(b,c);var e=c.x+c.width/2,g=c.y+c.height/2;z.Mb(c);var h=a.Qw;c=new oa(D);var k=z.P();for(b=b.j;b.next();){var l=b.value;if(l.re()&&l.canCopy()){var m=l.location,l=d.qa(l);k.m(h.x-(e-m.x),h.y-(g-m.y));l.location=k;l.kf();c.add(l,wi(k))}}z.A(k);for(d=d.j;d.next();)e=d.value,e instanceof H&&e.canCopy()&&c.add(e,wi());a.kc=c;Xh(a,c.Uj());null!==a.td&&(c=a.td,d=c.no,c.um(a.$k.x-
+function Wi(a,b,c){if(null===a.kc){var d=a.g;if(null!==d&&!d.kb&&!d.Hf){d.Eb=!c;d.cr=!c;a.$k=d.U.ha;d=d.cq(b,d,!0);c=z.Of();Gi(b,c);var e=c.x+c.width/2,g=c.y+c.height/2;z.Mb(c);var h=a.Qw;c=new oa(D);var k=z.P();for(b=b.j;b.next();){var l=b.value;if(l.qe()&&l.canCopy()){var m=l.location,l=d.qa(l);k.m(h.x-(e-m.x),h.y-(g-m.y));l.location=k;l.kf();c.add(l,wi(k))}}z.A(k);for(d=d.j;d.next();)e=d.value,e instanceof H&&e.canCopy()&&c.add(e,wi());a.kc=c;Xh(a,c.Uj());null!==a.td&&(c=a.td,d=c.mo,c.um(a.$k.x-
(d.x+d.width/2),a.$k.y-(d.y+d.height/2)))}}}Ph.prototype.doSimulatedDragOut=function(){var a=this.g;null!==a&&(this.mayCopy()||this.mayMove()?a.lc="":a.lc="no-drop")};function xi(a){this.point=a;this.GG=Dd}z.ka("DraggingInfo",xi);function Ji(a,b,c){this.Yc=a;this.info=b;this.RI=c}
function Xi(){0=d&&(d=.1);for(var e=this,g=b.On(c,d,function(b){return e.findValidLinkablePort(b,a)},null,!0),d=Infinity,b=null,g=g.j;g.next();){var h=g.value,k=h.ba;if(k instanceof E){var l=h.cb(mc,z.P()),m=c.x-l.x,n=c.y-l.y;z.A(l);l=m*m+n*n;lc){if(null!==this.vc&&a===this.Yg&&b===this.Zg)return!0;var d=b.vd;null===d&&(d="");if(a.Dx(d).count>=c)return!1}return!0};
-Xi.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.xq;if(null!==this.g&&this.g.fb===this&&(null!==a.layer&&!a.layer.Rt||!0!==b.QG))return!1;var c=b.yK;if(Infinity>c){if(null!==this.vc&&a===this.$g&&b===this.ah)return!0;var d=b.vd;null===d&&(d="");if(a.Ug(d).count>=c)return!1}return!0};Xi.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.ba,d=b.ba;return null!==c&&c===d};
+c instanceof E&&(null===c.layer||c.layer.Rt))?b:null};Xi.prototype.isValidFrom=function(a,b){if(null===a||null===b)return this.wq;if(null!==this.g&&this.g.fb===this&&(null!==a.layer&&!a.layer.Rt||!0!==b.kF))return!1;var c=b.GA;if(Infinity>c){if(null!==this.uc&&a===this.Yg&&b===this.Zg)return!0;var d=b.vd;null===d&&(d="");if(a.Dx(d).count>=c)return!1}return!0};
+Xi.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.wq;if(null!==this.g&&this.g.fb===this&&(null!==a.layer&&!a.layer.Rt||!0!==b.QG))return!1;var c=b.yK;if(Infinity>c){if(null!==this.uc&&a===this.$g&&b===this.ah)return!0;var d=b.vd;null===d&&(d="");if(a.Ug(d).count>=c)return!1}return!0};Xi.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.ba,d=b.ba;return null!==c&&c===d};
Xi.prototype.isLinked=function(a,b){if(null===a||null===b)return!1;var c=a.ba;if(!(c instanceof E))return!1;var d=a.vd;null===d&&(d="");var e=b.ba;if(!(e instanceof E))return!1;var g=b.vd;null===g&&(g="");for(e=e.Ug(g);e.next();)if(g=e.value,g.aa===c&&g.dg===d)return!0;return!1};
-Xi.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.GI&&d.xK||!this.isInSameNode(b,d))&&(b.FI&&d.wK||!this.isLinked(b,d)))||null!==this.vc&&(null!==a&&this.isLabelDependentOnLink(a,this.vc)||null!==c&&this.isLabelDependentOnLink(c,this.vc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.vc))return!1;if(null!==a){var e=a.Zx;if(null!==e&&!e(a,b,c,d,this.vc))return!1}if(null!==
-c&&(e=c.Zx,null!==e&&!e(a,b,c,d,this.vc)))return!1;e=this.Zx;return null!==e?e(a,b,c,d,this.vc):!0};Xi.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Cc;if(null===c)return!1;if(c===b)return!0;var d=new K(E);d.add(a);return Yi(this,c,b,d)};function Yi(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.xf&&(d.add(e),Yi(a,e.Cc,c,d)))return!0;b=b.ea;return null!==b&&b.xf&&(d.add(b),Yi(a,b.Cc,c,d))?!0:!1}
-Xi.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.xq;var d=null!==this.g?this.g.EK:Zi;if(d!==Zi){if(d===$i){if(null!==c&&!c.Xc)return!0;for(d=b.Jd;d.next();){var e=d.value;if(e!==c&&e.Xc&&e.ea===b)return!1}return!aj(this,a,b,c,!0)}if(d===bj){if(null!==c&&!c.Xc)return!0;for(d=a.Jd;d.next();)if(e=d.value,e!==c&&e.Xc&&e.aa===a)return!1;return!aj(this,a,b,c,!0)}if(d===cj)return a===b?a=!0:(d=new K(E),d.add(b),a=dj(this,d,a,b,c)),!a;if(d===ej)return!aj(this,
+Xi.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.GI&&d.xK||!this.isInSameNode(b,d))&&(b.FI&&d.wK||!this.isLinked(b,d)))||null!==this.uc&&(null!==a&&this.isLabelDependentOnLink(a,this.uc)||null!==c&&this.isLabelDependentOnLink(c,this.uc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.uc))return!1;if(null!==a){var e=a.Zx;if(null!==e&&!e(a,b,c,d,this.uc))return!1}if(null!==
+c&&(e=c.Zx,null!==e&&!e(a,b,c,d,this.uc)))return!1;e=this.Zx;return null!==e?e(a,b,c,d,this.uc):!0};Xi.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Cc;if(null===c)return!1;if(c===b)return!0;var d=new K(E);d.add(a);return Yi(this,c,b,d)};function Yi(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.xf&&(d.add(e),Yi(a,e.Cc,c,d)))return!0;b=b.ea;return null!==b&&b.xf&&(d.add(b),Yi(a,b.Cc,c,d))?!0:!1}
+Xi.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.wq;var d=null!==this.g?this.g.EK:Zi;if(d!==Zi){if(d===$i){if(null!==c&&!c.Xc)return!0;for(d=b.Jd;d.next();){var e=d.value;if(e!==c&&e.Xc&&e.ea===b)return!1}return!aj(this,a,b,c,!0)}if(d===bj){if(null!==c&&!c.Xc)return!0;for(d=a.Jd;d.next();)if(e=d.value,e!==c&&e.Xc&&e.aa===a)return!1;return!aj(this,a,b,c,!0)}if(d===cj)return a===b?a=!0:(d=new K(E),d.add(b),a=dj(this,d,a,b,c)),!a;if(d===ej)return!aj(this,
a,b,c,!1);if(d===fj)return a===b?a=!0:(d=new K(E),d.add(b),a=gj(this,d,a,b,c)),!a}return!0};function aj(a,b,c,d,e){if(b===c)return!0;if(null===b||null===c)return!1;for(var g=b.Jd;g.next();){var h=g.value;if(h!==d&&(!e||h.Xc)&&h.ea===b&&(h=h.aa,h!==b&&aj(a,h,c,d,e)))return!0}return!1}function dj(a,b,c,d,e){if(c===d)return!0;if(null===c||null===d||b.contains(c))return!1;b.add(c);for(var g=c.Jd;g.next();){var h=g.value;if(h!==e&&h.ea===c&&(h=h.aa,h!==c&&dj(a,b,h,d,e)))return!0}return!1}
function gj(a,b,c,d,e){if(c===d)return!0;if(null===c||null===d||b.contains(c))return!1;b.add(c);for(var g=c.Jd;g.next();){var h=g.value;if(h!==e){var k=h.aa,h=h.ea,k=k===c?h:k;if(k!==c&&gj(a,b,k,d,e))return!0}}return!1}z.defineProperty(Xi,{Zx:"linkValidation"},function(){return this.Gl},function(a){null!==a&&z.h(a,"function",Xi,"linkValidation");this.Gl=a});z.defineProperty(Xi,{ly:"portTargeted"},function(){return this.KD},function(a){null!==a&&z.h(a,"function",Xi,"portTargeted");this.KD=a});
function ua(){0b.fu+1&&cb.fu+1&&c=c.x)d=0>=c.y?d+225:1<=c.y?d+135:d+180;else if(1<=c.x)0>=c.y?d+=315:1<=c.y&&(d+=45);else if(0>=c.y)d+=270;else if(1<=c.y)d+=90;else break a;0>d?d+=360:360<=d&&(d-=360);a.cursor=22.5>d?"e-resize":67.5>d?"se-resize":112.5>d?"s-resize":157.5>d?"sw-resize":202.5>d?"w-resize":247.5>d?"nw-resize":292.5>d?"n-resize":337.5>d?
+Qj.prototype.updateResizeHandles=function(a,b){if(null!==a)if(!a.alignment.hd()&&("pointer"===a.cursor||0=c.x)d=0>=c.y?d+225:1<=c.y?d+135:d+180;else if(1<=c.x)0>=c.y?d+=315:1<=c.y&&(d+=45);else if(0>=c.y)d+=270;else if(1<=c.y)d+=90;else break a;0>d?d+=360:360<=d&&(d-=360);a.cursor=22.5>d?"e-resize":67.5>d?"se-resize":112.5>d?"s-resize":157.5>d?"sw-resize":202.5>d?"w-resize":247.5>d?"nw-resize":292.5>d?"n-resize":337.5>d?
"ne-resize":"e-resize"}else if(a instanceof I)for(c=a.elements;c.next();)this.updateResizeHandles(c.value,b)};z.defineProperty(Qj,{mu:"handleArchetype"},function(){return this.vl},function(a){null!==a&&z.l(a,O,Qj,"handleArchetype");this.vl=a});z.w(Qj,{handle:"handle"},function(){return this.oc});z.defineProperty(Qj,{Ab:"adornedObject"},function(){return this.Rc},function(a){null!==a&&z.l(a,O,Qj,"adornedObject");this.Rc=a});
Qj.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.g;return null!==a&&!a.kb&&a.St&&a.U.left?null!==this.findToolHandleAt(a.Mc.ha,this.name):!1};
-Qj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.oc=this.findToolHandleAt(a.Mc.ha,this.name),null!==this.oc&&(this.Rc=this.oc.ba.Ab,this.Ap.set(this.Ab.cb(this.handle.alignment.cG())),this.ED.set(this.Rc.ba.location),this.zD.set(this.Rc.Da),this.pz=this.computeCellSize(),this.rz=this.computeMinSize(),this.qz=this.computeMaxSize(),a.lf=!0,this.wD=a.Ya.isEnabled,a.Ya.isEnabled=!1,this.$b(this.name),this.ya=!0))};
+Qj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.oc=this.findToolHandleAt(a.Mc.ha,this.name),null!==this.oc&&(this.Rc=this.oc.ba.Ab,this.zp.set(this.Ab.cb(this.handle.alignment.cG())),this.ED.set(this.Rc.ba.location),this.zD.set(this.Rc.Da),this.pz=this.computeCellSize(),this.rz=this.computeMinSize(),this.qz=this.computeMaxSize(),a.lf=!0,this.wD=a.Ya.isEnabled,a.Ya.isEnabled=!1,this.$b(this.name),this.ya=!0))};
Qj.prototype.doDeactivate=function(){var a=this.g;null!==a&&(this.al(),this.Rc=this.oc=null,this.ya=a.lf=!1,a.Ya.isEnabled=this.wD)};Qj.prototype.doCancel=function(){null!==this.Ab&&(this.Ab.Da=this.dG,this.Ab.ba.location=this.OJ);this.stopTool()};Qj.prototype.doMouseMove=function(){var a=this.g;if(this.ya&&null!==a){var b=this.rz,c=this.qz,d=this.pz,e=this.Ab.mF(a.U.ha,z.P()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);a.hg();z.A(e)}};
Qj.prototype.doMouseUp=function(){var a=this.g;if(this.ya&&null!==a){var b=this.rz,c=this.qz,d=this.pz,e=this.Ab.mF(a.U.ha,z.P()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);z.A(e);a.Bc();this.Qf=this.name;a.Ka("PartResized",this.Ab,this.dG)}this.stopTool()};
-Qj.prototype.resize=function(a){if(null!==this.g){var b=this.Ab,c=b.ba;b.Da=a.size;c.kf();a=this.Ab.cb(this.handle.alignment.cG());c instanceof F?(a=c.position.copy().so(a).add(this.Ap),c.move(a)):c.location=c.location.copy().so(a).add(this.Ap)}};
-Qj.prototype.computeResize=function(a,b,c,d,e,g){b.ae()&&(b=mc);var h=this.Ab.Ja,k=h.x,l=h.y,m=h.x+h.width,n=h.y+h.height,p=1;if(!g){var p=h.width,q=h.height;0>=p&&(p=1);0>=q&&(q=1);p=q/p}q=z.P();tb(a.x,a.y,k,l,e.width,e.height,q);a=h.copy();0>=b.x?0>=b.y?(a.x=Math.max(q.x,m-d.width),a.x=Math.min(a.x,m-c.width),a.width=Math.max(m-a.x,c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p=p&&(p=1);0>=q&&(q=1);p=q/p}q=z.P();tb(a.x,a.y,k,l,e.width,e.height,q);a=h.copy();0>=b.x?0>=b.y?(a.x=Math.max(q.x,m-d.width),a.x=Math.min(a.x,m-c.width),a.width=Math.max(m-a.x,c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p=b.y?(a.width=Math.max(Math.min(q.x-k,d.width),c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),
a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p=b.y?(a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=n-a.y,g||(a.width=a.height/p,a.x=
k+.5*(m-k-a.width))):1<=b.y&&(a.height=Math.max(Math.min(q.y-l,d.height),c.height),g||(a.width=a.height/p,a.x=k+.5*(m-k-a.width)));z.A(q);return a};Qj.prototype.computeReshape=function(){var a=Tj;this.Ab instanceof Y&&(a=Uj(this.Ab));return!(a===Vj||a===Wj||null!==this.g&&this.g.U.shift)};Qj.prototype.computeMinSize=function(){var a=this.Ab.ig.copy(),b=this.ig;!isNaN(b.width)&&b.width>a.width&&(a.width=b.width);!isNaN(b.height)&&b.height>a.height&&(a.height=b.height);return a};
Qj.prototype.computeMaxSize=function(){var a=this.Ab.mf.copy(),b=this.mf;!isNaN(b.width)&&b.widtha&&(a+=360));var b=Math.min(Math.abs(this.oK),180),c=Math.min(Math.abs(this.nK),b/2);(null===this.g||!this.g.U.shift)&&0b-c&&(a=(Math.floor(a/b)+1)*b));360<=a?a-=360:0>a&&(a+=360);return a};z.defineProperty(Xj,{oK:"snapAngleMultiple"},function(){return this.RD},function(a){z.h(a,"number",Xj,"snapAngleMultiple");this.RD=a});
z.defineProperty(Xj,{nK:"snapAngleEpsilon"},function(){return this.QD},function(a){z.h(a,"number",Xj,"snapAngleEpsilon");this.QD=a});z.w(Xj,{hM:"originalAngle"},function(){return this.tw});function Zj(){0e.right&&(c.x-=d.width+5);c.xe.bottom&&(c.y-=d.height+5);c.ya.U.Qe?!1:!0};kk.prototype.doStart=function(){this.ya||null===this.hh||this.doActivate()};
-kk.prototype.doActivate=function(){if(!this.ya){var a=this.g;if(null!==a){var b=this.hh;null===b&&(b=a.He(a.U.ha,function(a){return a instanceof pa?a:null}));if(null!==b&&(this.hh=b,null!==b.ba)){this.ya=!0;this.qb=tk;var c=this.nI;null!==b.PG&&(c=b.PG);this.Ak=this.hh.copy();var d=new w(this.hh.cb(hc),this.hh.cb(qc));a.gK(d);if(c instanceof bk)c.show(b,a,this);else{c.style.position="absolute";c.style.zIndex=100;c.textEditingTool=this;if("function"===typeof c.onActivate)c.onActivate();"function"===
+kk.prototype.doActivate=function(){if(!this.ya){var a=this.g;if(null!==a){var b=this.hh;null===b&&(b=a.He(a.U.ha,function(a){return a instanceof pa?a:null}));if(null!==b&&(this.hh=b,null!==b.ba)){this.ya=!0;this.qb=tk;var c=this.nI;null!==b.PG&&(c=b.PG);this.Ak=this.hh.copy();var d=new w(this.hh.cb(hc),this.hh.cb(qc));a.gK(d);if(c instanceof bk)c.show(b,a,this);else{c.style.position="absolute";c.style.zIndex="100";c.textEditingTool=this;if("function"===typeof c.onActivate)c.onActivate();"function"===
typeof c.focus&&c.focus();"function"===typeof c.select&&this.wy&&(c.select(),c.setSelectionRange(0,9999));a.Aj.appendChild(c)}this.Nk=c}}}};kk.prototype.doCancel=function(){null!==this.Ll&&(this.Nk.style.border=this.Ll,this.Ll=null);this.stopTool()};kk.prototype.doMouseUp=function(){!this.ya&&this.canStart()&&this.doActivate()};kk.prototype.doMouseDown=function(){this.ya&&this.acceptText(pk)};
kk.prototype.acceptText=function(a){switch(a){case pk:if(this.qb===xk)"function"===typeof this.Nk.focus&&this.Nk.focus();else if(this.qb===tk||this.qb===wk||this.qb===uk)this.qb=vk,Ak(this);break;case ok:case rk:case qk:if(rk===a&&!0===this.$z.Tx)break;if(this.qb===tk||this.qb===wk||this.qb===uk)this.qb=vk,Ak(this)}};
function Ak(a){var b=a.hh,c=a.g,d=a.Nk;if(null!==b&&null!==d){var e=b.text,g=d.value,h="";d instanceof bk?null!==d.RB&&(h=d.RB()):h="function"===typeof g?g():g;a.isValidText(b,e,h)?(a.$b(a.name),a.qb=xk,d instanceof bk?d.show(b,c,a):null!==a.Ll&&(d.style.border=a.Ll,a.Ll=null),a.Qf=a.name,b.text=h,null!==b.OG&&b.OG(b,e,h),null!==c&&c.Ka("TextEdited",b,e),a.al(),a.stopTool(),null!==c&&c.doFocus()):(a.qb=wk,null!==b.BA&&b.BA(a,e,h),d instanceof bk?d.show(b,c,a):(null===a.Ll&&(a.Ll=d.style.border,d.style.border=
"3px solid red"),"function"===typeof d.focus&&d.focus()))}}kk.prototype.doDeactivate=function(){var a=this.g;if(null!==a){this.qb=mk;this.hh=null;if(null!==this.Nk){var b=this.Nk;if(b instanceof bk)b.Wn(a,this);else{if("function"===typeof b.onDeactivate)b.onDeactivate();null!==b&&a.Aj.removeChild(b)}}this.ya=!1}};kk.prototype.doFocus=function(){u&&z.Nn("TextEditingTool.doFocus","2.0");yk(this)};kk.prototype.doBlur=function(){u&&z.Nn("TextEditingTool.doBlur","2.0");zk(this)};
function yk(a){if(null!==a.Nk){var b=a.ez;a.qb===tk&&(a.qb=uk);"function"===typeof b.select&&a.wy&&(b.select(),b.setSelectionRange(0,9999))}}function zk(a){if(null!==a.Nk){var b=a.ez;"function"===typeof b.focus&&b.focus();"function"===typeof b.select&&a.wy&&(b.select(),b.setSelectionRange(0,9999))}}kk.prototype.isValidText=function(a,b,c){z.l(a,pa,kk,"isValidText:textblock");var d=this.JB;if(null!==d&&!d(a,b,c))return!1;d=a.JB;return null===d||d(a,b,c)?!0:!1};
z.defineProperty(kk,{JB:"textValidation"},function(){return this.Ol},function(a){null!==a&&z.h(a,"function",kk,"textValidation");this.Ol=a});z.defineProperty(kk,{XF:"minimumEditorScale"},function(){return this.rD},function(a){null!==a&&z.h(a,"number",kk,"minimumEditorScale");this.rD=a});z.defineProperty(kk,{wy:"selectsTextOnActivate"},function(){return this.OD},function(a){null!==a&&z.h(a,"boolean",kk,"selectsTextOnActivate");this.OD=a});
-z.defineProperty(kk,{state:"state"},function(){return this.qb},function(a){this.qb!==a&&(z.Ca(a,kk,kk,"starting"),this.qb=a)});kk.prototype.measureTemporaryTextBlock=kk.prototype.BJ=function(a){var b=this.Ak;b.text=a;Bk(b,this.hh.qp,Infinity);return b};function Kh(){bh.call(this);this.name="ToolManager";this.oH=new J(bh);this.pH=new J(bh);this.qH=new J(bh);this.WC=this.XC=850;this.KC=(new Fa(2,2)).Na();this.gE=5E3;this.vD=Wh;this.UC=Ck;this.Gv=this.yC=null;this.xn=-1}z.Ta(Kh,bh);
+z.defineProperty(kk,{state:"state"},function(){return this.qb},function(a){this.qb!==a&&(z.Ca(a,kk,kk,"starting"),this.qb=a)});kk.prototype.measureTemporaryTextBlock=kk.prototype.BJ=function(a){var b=this.Ak;b.text=a;Bk(b,this.hh.pp,Infinity);return b};function Kh(){bh.call(this);this.name="ToolManager";this.oH=new J(bh);this.pH=new J(bh);this.qH=new J(bh);this.WC=this.XC=850;this.KC=(new Fa(2,2)).Na();this.gE=5E3;this.vD=Wh;this.UC=Ck;this.Gv=this.yC=null;this.xn=-1}z.Ta(Kh,bh);
z.ka("ToolManager",Kh);var Wh;Kh.WheelScroll=Wh=z.s(Kh,"WheelScroll",0);var Vh;Kh.WheelZoom=Vh=z.s(Kh,"WheelZoom",1);Kh.WheelNone=z.s(Kh,"WheelNone",2);var Ck;Kh.GestureZoom=Ck=z.s(Kh,"GestureZoom",3);var Dk;Kh.GestureCancel=Dk=z.s(Kh,"GestureCancel",4);var Ek;Kh.GestureNone=Ek=z.s(Kh,"GestureNone",5);z.defineProperty(Kh,{Gu:"mouseWheelBehavior"},function(){return this.vD},function(a){z.Ca(a,Kh,Kh,"mouseWheelBehavior");this.vD=a});
-z.defineProperty(Kh,{oq:"gestureBehavior"},function(){return this.UC},function(a){z.Ca(a,Kh,Kh,"gestureBehavior");this.UC=a});Kh.prototype.initializeStandardTools=function(){this.FH=new ak;this.gG=new $h;this.tJ=new pj;this.tG=new Qj;this.dK=new Xj;this.TF=new ua;this.Ee=new Ph;this.rI=new ik;this.PJ=new jk;this.pA=new dk;this.IB=new kk;this.WH=new wa;this.XH=new Zj};
+z.defineProperty(Kh,{nq:"gestureBehavior"},function(){return this.UC},function(a){z.Ca(a,Kh,Kh,"gestureBehavior");this.UC=a});Kh.prototype.initializeStandardTools=function(){this.FH=new ak;this.gG=new $h;this.tJ=new pj;this.tG=new Qj;this.dK=new Xj;this.TF=new ua;this.Ee=new Ph;this.rI=new ik;this.PJ=new jk;this.pA=new dk;this.IB=new kk;this.WH=new wa;this.XH=new Zj};
Kh.prototype.updateAdornments=function(a){var b=this.cm;if(b instanceof ea&&this.Gv===a){var c=b.Ab;(null!==a?c.ba===a:null===c)?this.showToolTip(b,c):this.hideToolTip()}};
-Kh.prototype.doMouseDown=function(){var a=this.g;if(null!==a){var b=a.U;b.Hj&&this.oq===Dk&&(b.bubbles=!1);if(b.vu){this.cancelWaitAfter();if(this.oq===Ek){b.bubbles=!0;return}if(this.oq===Dk)return;if(a.fb.canStartMultiTouch()){a.fb.standardPinchZoomStart();return}}var c=a.sa;c.lA&&0!==c.Vh&&z.trace("WARNING: In ToolManager.doMouseDown: UndoManager.transactionLevel is not zero");for(var c=this.nf.length,d=0;de.right&&(c.x-=d.width+5);c.xe.bottom?c.y-(d.height+5):c.y+20;c.ya?c/2*a*a+b:-c/2*(--a*(a-2)-1)+b}z.w(nh,{eL:"animationReasons"},function(){return this.rv});
-nh.prototype.canStart=function(){return!0};nh.prototype.prepareAutomaticAnimation=nh.prototype.lo=function(a){this.pf&&(this.kk||this.ca.Zn)&&(this.rv.add(a),this.canStart(a)&&(this.jk&&this.Ii(),this.yc=!0))};function Vk(a){if(a.pf&&(a.rv.clear(),a.yc))if(!a.Do)a.yc=!1;else if(0===a.Co){var b=+new Date;a.Co=b;requestAnimationFrame(function(){if(!1!==a.yc&&!a.jk&&a.Co===b){var c=a.ca;c.Dj("temporaryPixelRatio")&&(c.zk=1);al(c);a.yc=!1;c.Ka("AnimationStarting");bl(a,b)}})}}
+function nh(){this.zC=Hk;this.Fr=this.Gr=this.ca=null;this.Bo=this.Hr=this.Ir=0;this.Co=this.yc=this.kp=this.jk=!1;this.kk=this.pf=!0;this.Ev=this.Dv=this.uC=null;this.tC=0;this.Fv=null;this.rv=new K("string");this.mz=600;this.uH=new M(0,0);this.iC=this.hC=this.kE=!1;this.en=new oa(O,Ik)}z.ka("AnimationManager",nh);nh.prototype.$c=function(a){this.ca=a};function Hk(a,b,c,d){a/=d/2;return 1>a?c/2*a*a+b:-c/2*(--a*(a-2)-1)+b}z.w(nh,{eL:"animationReasons"},function(){return this.rv});
+nh.prototype.canStart=function(){return!0};nh.prototype.prepareAutomaticAnimation=nh.prototype.ko=function(a){this.pf&&(this.kk||this.ca.Zn)&&(this.rv.add(a),this.canStart(a)&&(this.jk&&this.Ii(),this.yc=!0))};function Vk(a){if(a.pf&&(a.rv.clear(),a.yc))if(!a.Co)a.yc=!1;else if(0===a.Bo){var b=+new Date;a.Bo=b;requestAnimationFrame(function(){if(!1!==a.yc&&!a.jk&&a.Bo===b){var c=a.ca;c.Dj("temporaryPixelRatio")&&(c.zk=1);al(c);a.yc=!1;c.Ka("AnimationStarting");bl(a,b)}})}}
function cl(a,b,c,d,e,g){if(a.yc&&(u&&z.l(b,O,nh,"addPropToAnimation:obj"),!("position"===c&&d.O(e)||b instanceof D&&!b.CF))){var h=a.en;if(h.contains(b)){var h=h.qa(b),k=h.start,l=h.end;void 0===k[c]&&(k[c]=dl(d));h.sx&&void 0!==l[c]?h.cu[c]=dl(e):(g||(h.cu[c]=dl(e)),l[c]=dl(e));g&&0===c.indexOf("position:")&&(h.cu.location=dl(b.location))}else k=new na,l=new na,k[c]=dl(d),l[c]=dl(e),d=l,e=k.position,e instanceof M&&!e.F()&&a.rv.contains("Expand SubGraph")&&e.assign(d.position),k=new Ik(k,l,g),g&&
-0===c.indexOf("position:")&&(k.cu.location=dl(b.location)),h.add(b,k);a.Do=!0}}function dl(a){return a instanceof M?a.copy():a instanceof Fa?a.copy():a}
-function bl(a,b){var c;function d(){if(!1!==g.jk&&g.Co===b){var a=+new Date,c=a>s?m:a-r;el(g);fl(g,e,q,h,c,m);g.Dv&&g.Dv();Vi(e);gl(g);a>s?hl(g):requestAnimationFrame(d)}}void 0===c&&(c=new na);var e=a.ca;if(null!==e){a.jk=!0;var g=a,h=c.GL||a.zC,k=c.fM||null,l=c.gM||null,m=c.duration||a.mz,n=a.uH;for(c=a.en.j;c.next();){var p=c.value.start.position;p instanceof M&&(p.F()||p.assign(n))}a.uC=h;a.Dv=k;a.Ev=l;a.tC=m;a.Fv=a.en;var q=a.Fv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l=
-k["position:placeholder"],n=l.cb(hc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);el(a);fl(a,e,q,h,0,m);Vi(a.ca);gl(a);var r=+new Date,s=r+m;g.Co===b&&requestAnimationFrame(function(){d()})}}
+0===c.indexOf("position:")&&(k.cu.location=dl(b.location)),h.add(b,k);a.Co=!0}}function dl(a){return a instanceof M?a.copy():a instanceof Fa?a.copy():a}
+function bl(a,b){var c;function d(){if(!1!==g.jk&&g.Bo===b){var a=+new Date,c=a>s?m:a-r;el(g);fl(g,e,q,h,c,m);g.Dv&&g.Dv();Vi(e);gl(g);a>s?hl(g):requestAnimationFrame(d)}}void 0===c&&(c=new na);var e=a.ca;if(null!==e){a.jk=!0;var g=a,h=c.GL||a.zC,k=c.fM||null,l=c.gM||null,m=c.duration||a.mz,n=a.uH;for(c=a.en.j;c.next();){var p=c.value.start.position;p instanceof M&&(p.F()||p.assign(n))}a.uC=h;a.Dv=k;a.Ev=l;a.tC=m;a.Fv=a.en;var q=a.Fv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l=
+k["position:placeholder"],n=l.cb(hc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);el(a);fl(a,e,q,h,0,m);Vi(a.ca);gl(a);var r=+new Date,s=r+m;g.Bo===b&&requestAnimationFrame(function(){d()})}}
var il={opacity:function(a,b,c,d,e,g){a.opacity=d(e,b,c-b,g)},position:function(a,b,c,d,e,g){e!==g?a.zy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):a.position=new M(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g))},"position:node":function(a,b,c,d,e,g){var h=a.Z,k=c.Z;c=k.x+k.width/2-h.width/2;h=k.y+k.height/2-h.height/2;e!==g?a.zy(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g)):a.position=new M(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g))},"position:placeholder":function(a,b,c,d,e,g){e!==g?a.zy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):
-a.position=new M(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g))},scale:function(a,b,c,d,e,g){a.scale=d(e,b,c-b,g)},visible:function(a,b,c,d,e,g){a.visible=e!==g?b:c}};function el(a){if(!a.lp){var b=a.ca;a.kE=b.Eb;a.hC=b.Ve;a.iC=b.Zu;b.Eb=!0;b.Ve=!0;b.Zu=!0;a.lp=!0}}function gl(a){var b=a.ca;b.Eb=a.kE;b.Ve=a.hC;b.Zu=a.iC;a.lp=!1}
+a.position=new M(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g))},scale:function(a,b,c,d,e,g){a.scale=d(e,b,c-b,g)},visible:function(a,b,c,d,e,g){a.visible=e!==g?b:c}};function el(a){if(!a.kp){var b=a.ca;a.kE=b.Eb;a.hC=b.Ve;a.iC=b.Zu;b.Eb=!0;b.Ve=!0;b.Zu=!0;a.kp=!0}}function gl(a){var b=a.ca;b.Eb=a.kE;b.Ve=a.hC;b.Zu=a.iC;a.kp=!1}
function fl(a,b,c,d,e,g){for(c=c.j;c.next();){var h=c.key,k=c.value,l=k.start,k=k.end,m;for(m in k)if(("position"!==m||!k["position:placeholder"]&&!k["position:node"])&&void 0!==il[m])il[m](h,l[m],k[m],d,e,g)}d=b.RA;b.RA=!0;m=a.zC;0!==a.Ir&&0!==a.Hr&&(c=a.Ir,b.Rb=m(e,c,a.Hr-c,g));null!==a.Gr&&null!==a.Fr&&(c=a.Gr,a=a.Fr,b.ub=new M(m(e,c.x,a.x-c.x,g),m(e,c.y,a.y-c.y,g)));b.RA=d}
-nh.prototype.stopAnimation=nh.prototype.Ii=function(){!0===this.yc&&(this.yc=!1,this.Do&&this.ca.Te());this.jk&&this.pf&&hl(this)};
-function hl(a){a.jk=!1;a.Do=!1;el(a);for(var b=a.ca,c=a.uC,d=a.tC,e=a.Fv.j;e.next();){var g=e.key,h=e.value,k=h.start,l=h.end,m=h.cu,n;for(n in l)if(void 0!==il[n]){var p=n;!h.sx||"position:node"!==p&&"position:placeholder"!==p||(p="position");il[p](g,k[n],void 0!==m[n]?m[n]:h.sx?k[n]:l[n],c,d,d)}h.sx&&void 0!==m.location&&(g.location=m.location);h.ny&&g.Kd(!1)}for(c=a.ca.links;c.next();)d=c.value,null!==d.Gp&&(d.points=d.Gp,d.Gp=null);b.$x.clear();b.zk=null;b.Bc();b.ra();b.hg();jl(b);gl(a);a.Ev&&
-a.Ev();a.Co=0;a.Fv=null;a.Ev=null;a.Dv=null;a.Gr=null;a.Fr=null;a.Ir=0;a.Hr=0;a.en=new oa(O,Ik);b.Ka("AnimationFinished");b.Te()}function kl(a,b,c){var d=b.Z,e=c.Z,g=null;c instanceof F&&(g=c.placeholder);null!==g?(d=g.cb(hc),d.x+=g.padding.left,d.y+=g.padding.top,cl(a,b,"position",d,b.position,!1)):cl(a,b,"position",new M(e.x+e.width/2-d.width/2,e.y+e.height/2-d.height/2),b.position,!1);cl(a,b,"scale",.01,b.scale,!1);if(b instanceof F)for(b=b.Oc;b.next();)g=b.value,g instanceof E&&kl(a,g,c)}
-function ll(a,b,c){if(b.isVisible()){var d=null;c instanceof F&&(d=c.placeholder);null!==d?cl(a,b,"position:placeholder",b.position,d,!0):cl(a,b,"position:node",b.position,c,!0);cl(a,b,"scale",b.scale,.01,!0);a.yc&&(d=a.en,d.contains(b)&&(d.qa(b).ny=!0));if(b instanceof F)for(b=b.Oc;b.next();)d=b.value,d instanceof E&&ll(a,d,c)}}function ml(a,b,c){a.yc&&(null===a.Gr&&b.F()&&null===a.Fr&&(a.Gr=b.copy()),a.Fr=c.copy(),a.Do=!0)}
-function nl(a,b,c){a.yc&&a.ca.Zn&&(0===a.Ir&&0===a.Hr&&(a.Ir=b),a.Hr=c,a.Do=!0)}z.defineProperty(nh,{isEnabled:"isEnabled"},function(){return this.pf},function(a){z.h(a,"boolean",nh,"isEnabled");this.pf=a});z.defineProperty(nh,{duration:"duration"},function(){return this.mz},function(a){z.h(a,"number",nh,"duration");1>a&&z.wa(a,">= 1",nh,"duration");this.mz=a});z.w(nh,{wf:"isAnimating"},function(){return this.jk});z.w(nh,{jJ:"isTicking"},function(){return this.lp});
-z.defineProperty(nh,{KF:"isInitial"},function(){return this.kk},function(a){z.h(a,"boolean",nh,"isInitial");this.kk=a});function Ik(a,b,c){this.start=a;this.end=b;this.cu=new na;this.sx=c;this.ny=!1}function ah(){0a&&z.wa(a,">= 1",nh,"duration");this.mz=a});z.w(nh,{wf:"isAnimating"},function(){return this.jk});z.w(nh,{jJ:"isTicking"},function(){return this.kp});
+z.defineProperty(nh,{KF:"isInitial"},function(){return this.kk},function(a){z.h(a,"boolean",nh,"isInitial");this.kk=a});function Ik(a,b,c){this.start=a;this.end=b;this.cu=new na;this.sx=c;this.ny=!1}function ah(){0=a)return b;for(var c=0,d=0,e=0,g=0,h=0,k=this.pb.j;k.next();){var l=k.value;l instanceof F?e++:l instanceof E?d++:l instanceof H?g++:l instanceof ea?h++:c++}k="";0=d.count)a=d.count;else if(d.fa(a)===b)return-1;d.Zd(a,b);b.ou(c);d=this.g;null!==d&&(c?d.ra():d.rq(b));tl(this,a,b);return a};
+f.Mf=function(a,b){if(this.visible){var c;c=void 0===b?a.yb:b;for(var d=this.pb.o,e=d.length,g=0;g=d.count)a=d.count;else if(d.fa(a)===b)return-1;d.Yd(a,b);b.ou(c);d=this.g;null!==d&&(c?d.ra():d.qq(b));tl(this,a,b);return a};
f.vf=function(a,b,c){if(!c&&b.layer!==this&&null!==b.layer)return b.layer.vf(a,b,c);var d=this.pb;if(0>a||a>=d.length){if(a=d.indexOf(b),0>a)return-1}else if(d.fa(a)!==b&&(a=d.indexOf(b),0>a))return-1;b.pu(c);d.md(a);d=this.g;null!==d&&(c?d.ra():d.vf(b));b.fw=null;return a};
-function tl(a,b,c){b=ul(a,b,c);if(c instanceof F&&null!==c&&isNaN(c.yo)){if(0!==c.Oc.count){for(var d=-1,e=a.pb.o,g=e.length,h=0;hd&&k.Qa===c&&(d=h,0<=b))break}!(0>d)&&d=e)return b;0>b&&(b=a.indexOf(c));if(0>b)return-1;for(var g=b-1,h=NaN;0<=g;){h=a.fa(g).yo;if(!isNaN(h))break;g--}for(var k=b+1,l=NaN;kd)for(;;){if(-1===g||h<=d){g++;if(g===b)break;a.md(b);a.Zd(g,c);return g}for(h=NaN;0<=--g&&(h=a.fa(g).yo,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.md(b);a.Zd(k,c);return k}for(l=NaN;++kd&&k.Qa===c&&(d=h,0<=b))break}!(0>d)&&d=e)return b;0>b&&(b=a.indexOf(c));if(0>b)return-1;for(var g=b-1,h=NaN;0<=g;){h=a.fa(g).xo;if(!isNaN(h))break;g--}for(var k=b+1,l=NaN;kd)for(;;){if(-1===g||h<=d){g++;if(g===b)break;a.md(b);a.Yd(g,c);return g}for(h=NaN;0<=--g&&(h=a.fa(g).xo,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.md(b);a.Yd(k,c);return k}for(l=NaN;++ka||1e[1]&&(z.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+
+function C(a){function b(){window.document.removeEventListener("DOMContentLoaded",b,!1);vl(c)}1e[1]&&(z.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+
z.vfo+". This license key will do nothing until you upgrade to GoJS 1.7 or later."),z.xx.licenseKey=!0);this.Dl=1;this.Wm=0;this.mD=new M;this.iE=500;this.tv=new M;this.qt=null;this.cd=this.Al=!1}z.ka("Diagram",C);
-C.prototype.clear=C.prototype.clear=function(){var a=null;null!==this.Cd&&(a=this.Cd.ba);this.ia.clear();for(var b=this.bc.length,c=0;c=a)return b;for(var c=this.bc.j;c.next();)b+="\n "+c.value.toString(a-1);return b};C.fromDiv=function(a){var b=a;"string"===typeof a&&(b=window.document.getElementById(a));return b instanceof HTMLDivElement&&b.ca instanceof C?b.ca:null};
z.defineProperty(C,{Aj:"div"},function(){return this.Tb},function(a){null!==a&&z.l(a,HTMLDivElement,C,"div");if(this.Tb!==a){wl=[];var b=this.Tb;null!==b?(b.ca=void 0,b.innerHTML="",null!==this.Lb&&(this.Lb.removeEventListener("touchstart",this.WG,!1),this.Lb.removeEventListener("touchmove",this.VG,!1),this.Lb.removeEventListener("touchend",this.UG,!1),this.Lb.Fd.ca=null),b=this.ib,null!==b&&(b.nf.each(function(a){a.cancelWaitAfter()}),b.jg.each(function(a){a.cancelWaitAfter()}),b.kg.each(function(a){a.cancelWaitAfter()})),
-b.cancelWaitAfter(),this.fb.doCancel(),this.pd=this.Lb=null,window.removeEventListener("resize",this.dH,!1),window.removeEventListener("mousemove",this.Cq,!0),window.removeEventListener("mousedown",this.Bq,!0),window.removeEventListener("mouseup",this.Eq,!0),window.removeEventListener("mousewheel",this.Qh,!0),window.removeEventListener("DOMMouseScroll",this.Qh,!0),window.removeEventListener("mouseout",this.Dq,!0)):this.sh=!1;this.Tb=null;if(null!==a){if(b=a.ca)b.Aj=null;Il(this,a);this.Iq()}}});
-function Ll(a){var b=a.Lb;b.addEventListener("touchstart",a.WG,!1);b.addEventListener("touchmove",a.VG,!1);b.addEventListener("touchend",a.UG,!1);b.addEventListener("mousemove",a.Cq,!1);b.addEventListener("mousedown",a.Bq,!1);b.addEventListener("mouseup",a.Eq,!1);b.addEventListener("mousewheel",a.Qh,!1);b.addEventListener("DOMMouseScroll",a.Qh,!1);b.addEventListener("mouseout",a.Dq,!1);b.addEventListener("keydown",a.mJ,!1);b.addEventListener("keyup",a.nJ,!1);b.addEventListener("selectstart",function(a){a.preventDefault();
-return!1},!1);b.addEventListener("contextmenu",function(a){a.preventDefault();return!1},!1);b.addEventListener("gesturechange",function(b){a.ib.oq===Dk&&b.preventDefault()},!1);b.addEventListener("pointerdown",a.QJ,!1);b.addEventListener("pointermove",a.SJ,!1);b.addEventListener("pointerleave",a.RJ,!1);window.addEventListener("resize",a.dH,!1)}C.prototype.computePixelRatio=function(){return null!==this.zk?this.zk:this.rH};C.prototype.doMouseMove=function(){this.fb.doMouseMove()};
+b.cancelWaitAfter(),this.fb.doCancel(),this.pd=this.Lb=null,window.removeEventListener("resize",this.dH,!1),window.removeEventListener("mousemove",this.Bq,!0),window.removeEventListener("mousedown",this.Aq,!0),window.removeEventListener("mouseup",this.Dq,!0),window.removeEventListener("mousewheel",this.Qh,!0),window.removeEventListener("DOMMouseScroll",this.Qh,!0),window.removeEventListener("mouseout",this.Cq,!0)):this.sh=!1;this.Tb=null;if(null!==a){if(b=a.ca)b.Aj=null;Il(this,a);this.Iq()}}});
+function Ll(a){var b=a.Lb;b.addEventListener("touchstart",a.WG,!1);b.addEventListener("touchmove",a.VG,!1);b.addEventListener("touchend",a.UG,!1);b.addEventListener("mousemove",a.Bq,!1);b.addEventListener("mousedown",a.Aq,!1);b.addEventListener("mouseup",a.Dq,!1);b.addEventListener("mousewheel",a.Qh,!1);b.addEventListener("DOMMouseScroll",a.Qh,!1);b.addEventListener("mouseout",a.Cq,!1);b.addEventListener("keydown",a.mJ,!1);b.addEventListener("keyup",a.nJ,!1);b.addEventListener("selectstart",function(a){a.preventDefault();
+return!1},!1);b.addEventListener("contextmenu",function(a){a.preventDefault();return!1},!1);b.addEventListener("gesturechange",function(b){a.ib.nq===Dk&&b.preventDefault()},!1);b.addEventListener("pointerdown",a.QJ,!1);b.addEventListener("pointermove",a.SJ,!1);b.addEventListener("pointerleave",a.RJ,!1);window.addEventListener("resize",a.dH,!1)}C.prototype.computePixelRatio=function(){return null!==this.zk?this.zk:this.rH};C.prototype.doMouseMove=function(){this.fb.doMouseMove()};
C.prototype.doMouseDown=function(){this.fb.doMouseDown()};C.prototype.doMouseUp=function(){this.fb.doMouseUp()};C.prototype.doMouseWheel=function(){this.fb.doMouseWheel()};C.prototype.doKeyDown=function(){this.fb.doKeyDown()};C.prototype.doKeyUp=function(){this.fb.doKeyUp()};C.prototype.doFocus=function(){this.focus()};C.prototype.focus=C.prototype.focus=function(){this.Lb&&this.Lb.focus()};
-function al(a){if(null!==a.Lb){var b=a.Tb;if(0!==b.clientWidth&&0!==b.clientHeight){var c=a.wl?a.Ud:0,d=a.hk?a.Ud:0,e=a.rd;a.rd=a.computePixelRatio();a.rd!==e&&(a.bs=!0,a.Te());if(b.clientWidth!==a.Ob+c||b.clientHeight!==a.Sb+d)a.Qm=!0,a.Ne=!0,b=a.Wb,null!==b&&b.Vx&&a.Zl===Qh&&b.N(),a.je||a.Te()}}}
+function al(a){if(null!==a.Lb){var b=a.Tb;if(0!==b.clientWidth&&0!==b.clientHeight){var c=a.wl?a.Td:0,d=a.hk?a.Td:0,e=a.rd;a.rd=a.computePixelRatio();a.rd!==e&&(a.bs=!0,a.Te());if(b.clientWidth!==a.Ob+c||b.clientHeight!==a.Sb+d)a.Qm=!0,a.Ne=!0,b=a.Wb,null!==b&&b.Vx&&a.Zl===Qh&&b.N(),a.ie||a.Te()}}}
function Fl(a){var b=new ah;b.name="Background";a.Lt(b);b=new ah;b.name="";a.Lt(b);b=new ah;b.name="Foreground";a.Lt(b);b=new ah;b.name="Adornment";b.Wc=!0;a.Lt(b);b=new ah;b.name="Tool";b.Wc=!0;b.DF=!0;a.Lt(b);b=new ah;b.name="Grid";b.Df=!1;b.qg=!1;b.Wc=!0;a.KH(b,a.hm("Background"))}
function Ml(a){a.Cd=new I(Nl);a.Cd.name="GRID";var b=new Y;b.Jb="LineH";b.stroke="lightgray";b.mb=.5;b.interval=1;a.Cd.add(b);b=new Y;b.Jb="LineH";b.stroke="gray";b.mb=.5;b.interval=5;a.Cd.add(b);b=new Y;b.Jb="LineH";b.stroke="gray";b.mb=1;b.interval=10;a.Cd.add(b);b=new Y;b.Jb="LineV";b.stroke="lightgray";b.mb=.5;b.interval=1;a.Cd.add(b);b=new Y;b.Jb="LineV";b.stroke="gray";b.mb=.5;b.interval=5;a.Cd.add(b);b=new Y;b.Jb="LineV";b.stroke="gray";b.mb=1;b.interval=10;a.Cd.add(b);b=new D;b.add(a.Cd);
-b.Lf="Grid";b.yo=0;b.Qx=!1;b.CF=!1;b.qg=!1;b.ay="GRID";a.add(b);a.pb.remove(b);a.Cd.visible=!1}C.prototype.tH=function(){this.ca.isEnabled?this.ca.qI(this):Ol(this.ca)};C.prototype.xD=function(a){this.ca.isEnabled?(this.ca.Sz=!0,this.ca.Uz=a.target.scrollTop,this.ca.Tz=a.target.scrollLeft):Ol(this.ca)};
+b.Lf="Grid";b.xo=0;b.Qx=!1;b.CF=!1;b.qg=!1;b.ay="GRID";a.add(b);a.pb.remove(b);a.Cd.visible=!1}C.prototype.tH=function(){this.ca.isEnabled?this.ca.qI(this):Ol(this.ca)};C.prototype.xD=function(a){this.ca.isEnabled?(this.ca.Sz=!0,this.ca.Uz=a.target.scrollTop,this.ca.Tz=a.target.scrollLeft):Ol(this.ca)};
C.prototype.diagramScroll=C.prototype.qI=function(a){if(this.Sz&&null!==this.Lb){this.Gw=!0;var b=this.fd,c=this.yb,d=b.width,e=c.width,g=b.height,h=c.height,k=b.right,l=c.right,m=b.bottom,n=c.bottom,p=b.x,q=c.x,b=b.y,c=c.y,r=this.scale,s;s=a.scrollLeft;if(this.fs)switch(this.Qz){case "negative":s=s+a.scrollWidth-a.clientWidth;break;case "reverse":s=a.scrollWidth-s-a.clientWidth}var v=s;el&&(this.position=s.m(-(this.Kw.scrollWidth-this.Ob)+v-this.Ob/r+k,this.position.y))),a.xH&&this.Be&&(bn&&(this.position=s.m(this.position.x,-(this.Kw.scrollHeight-this.Sb)+a.scrollTop-this.Sb/r+m))),z.A(s),Pl(this),this.Qm=this.Gw=!1,b=this.fd,c=this.yb,k=b.right,l=c.right,
m=b.bottom,n=c.bottom,p=b.x,q=c.x,b=b.y,c=c.y,e>=d&&p>=q&&k<=l&&(this.ht.style.width="1px"),h>=g&&b>=c&&m<=n&&(this.ht.style.height="1px"))}};C.prototype.computeBounds=C.prototype.Jh=function(){0c&&(e=c),ea.Oh&&(e=a.Oh),e):b===Wl?(e=l>k?(h-a.Ud)/d:(g-a.Ud)/e,e>c&&(e=c),ea.Oh&&(e=a.Oh),e):a.scale}C.prototype.zoomToFit=C.prototype.zoomToFit=function(){this.scale=Sl(this,Vl)};
-C.prototype.zoomToRect=function(a,b){void 0===b&&(b=Vl);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Vl||b===Wl)if(isNaN(c))e=this.yb.height*this.scale/d;else if(isNaN(d))e=this.yb.width*this.scale/c;else var e=this.Ob,g=this.Sb,e=b===Wl?g/d>e/c?(g-(this.hk?this.Ud:0))/d:(e-(this.wl?this.Ud:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new M(a.x,a.y)}};z.defineProperty(C,{RA:null},function(){return this.cd},function(a){this.cd=a});
+function Rl(a,b){if((b||a.sh)&&!a.cd&&null!==a.Lb&&!a.Ya.wf&&a.fd.F()){a.cd=!0;var c=a.Gm;b&&a.yl!==Qh&&(c=a.yl);var d=c!==Qh?Sl(a,c):a.scale,c=a.yb.copy(),e=a.Ob/d,g=a.Sb/d,h=null,k=a.Ya;k.yc&&(h=a.ub.copy());a.position.Za();var l=a.Jo;b&&!l.jd()&&a.ep.jd()&&(l=a.ep);Tl(a,a.ub,a.fd,e,g,l,b);a.position.freeze();null!==h&&ml(k,h,a.ub);e=a.scale;a.scale=d;a.cd=!1;d=a.yb;d.Vc(c)||a.Lu(c,d,e,a.scale,!1)}}
+function Sl(a,b){var c=a.xb.vx;if(null===a.Lb)return c;a.ik&&Ul(a,a.Jh());var d=a.fd;if(!d.F())return c;var e=d.width,d=d.height,g=a.Ob,h=a.Sb,k=g/e,l=h/d;return b===Vl?(e=Math.min(l,k),e>c&&(e=c),ea.Oh&&(e=a.Oh),e):b===Wl?(e=l>k?(h-a.Td)/d:(g-a.Td)/e,e>c&&(e=c),ea.Oh&&(e=a.Oh),e):a.scale}C.prototype.zoomToFit=C.prototype.zoomToFit=function(){this.scale=Sl(this,Vl)};
+C.prototype.zoomToRect=function(a,b){void 0===b&&(b=Vl);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Vl||b===Wl)if(isNaN(c))e=this.yb.height*this.scale/d;else if(isNaN(d))e=this.yb.width*this.scale/c;else var e=this.Ob,g=this.Sb,e=b===Wl?g/d>e/c?(g-(this.hk?this.Td:0))/d:(e-(this.wl?this.Td:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new M(a.x,a.y)}};z.defineProperty(C,{RA:null},function(){return this.cd},function(a){this.cd=a});
C.prototype.alignDocument=function(a,b){this.ik&&Ul(this,this.Jh());var c=this.fd,d=this.yb;this.position=new M(c.x+(a.x*c.width+a.offsetX)-(b.x*d.width-b.offsetX),c.y+(a.y*c.height+a.offsetY)-(b.y*d.height-b.offsetY))};
function Tl(a,b,c,d,e,g,h){var k=b.x,l=b.y;if(h||a.uB===xl)g.jd()&&(d>c.width&&(k=c.x+(g.x*c.width+g.offsetX)-(g.x*d-g.offsetX)),e>c.height&&(l=c.y+(g.y*c.height+g.offsetY)-(g.y*e-g.offsetY))),g=a.xG,h=d-c.width,dc.left?k=c.left:kc.top?l=c.top:lc.touches.length)&&c.preventDefault();c.cancelBubble=!0;return!1}
C.prototype.mJ=function(a){if(!this.ca.isEnabled)return!1;var b=this.ca.Ub;Xl(this.ca,this.ca,a,b,!1);b.key=String.fromCharCode(a.which);b.gm=!0;switch(a.which){case 8:b.key="Backspace";break;case 33:b.key="PageUp";break;case 34:b.key="PageDown";break;case 35:b.key="End";break;case 36:b.key="Home";break;case 37:b.key="Left";break;case 38:b.key="Up";break;case 39:b.key="Right";break;case 40:b.key="Down";break;case 45:b.key="Insert";break;case 46:b.key="Del";break;case 48:b.key="0";break;case 187:case 61:case 107:b.key=
"Add";break;case 189:case 173:case 109:b.key="Subtract";break;case 27:b.key="Esc"}this.ca.doKeyDown();return 187!==a.which&&189!==a.which&&48!==a.which&&107!==a.which&&109!==a.which&&61!==a.which&&173!==a.which||!0!==a.ctrlKey?ia(this.ca,b,a):(a.cancelBubble=!0,a.preventDefault(),a.stopPropagation(),!1)};
C.prototype.nJ=function(a){if(!this.ca.isEnabled)return!1;var b=this.ca.Ub;Xl(this.ca,this.ca,a,b,!1);b.key=String.fromCharCode(a.which);b.up=!0;switch(a.which){case 8:b.key="Backspace";break;case 33:b.key="PageUp";break;case 34:b.key="PageDown";break;case 35:b.key="End";break;case 36:b.key="Home";break;case 37:b.key="Left";break;case 38:b.key="Up";break;case 39:b.key="Right";break;case 40:b.key="Down";break;case 45:b.key="Insert";break;case 46:b.key="Del";break;case 93:a.preventDefault()}this.ca.doKeyUp();
-return ia(this.ca,b,a)};C.prototype.bp=function(a){var b=this.Lb;if(null===b)return new M(0,0);var c=this.Ob,d=this.Sb,b=b.getBoundingClientRect(),c=a.clientX-c/b.width*b.left;a=a.clientY-d/b.height*b.top;return null!==this.Jc?(a=new M(c,a),ub(a,this.Jc),a):new M(c,a)};
-function Yl(a,b,c){var d=a.Lb,e=a.Ob,g=a.Sb,h=0,k=0;null!==d&&(d=d.getBoundingClientRect(),h=b.clientX-e/d.width*d.left,k=b.clientY-g/d.height*d.top);c.te.m(h,k);null!==a.Jc?(b=z.Fb(h,k),a.Jc.Ci(b),c.ha.assign(b),z.A(b)):c.ha.m(h,k)}
-function Zf(a,b,c,d){var e=null;if(void 0!==b.targetTouches){if(2>b.targetTouches.length)return;e=b.targetTouches[c]}else if(null!==a.nj[0])e=a.nj[c];else return;c=a.Lb;b=a.Ob;a=a.Sb;var g=0,h=0;null!==c&&null!==e&&(c=c.getBoundingClientRect(),g=e.clientX-b/c.width*c.left,h=e.clientY-a/c.height*c.top);d.m(g,h)}C.prototype.invalidateDocumentBounds=C.prototype.Bc=function(){this.ik||(this.ik=!0,this.Te(!0))};function jl(a){a.je||Li(a);a.ik&&Ul(a,a.Jh())}
-C.prototype.redraw=C.prototype.Iq=function(){this.cd||this.je||(this.ra(),am(this),Pl(this),this.Bc(),this.hg())};C.prototype.isUpdateRequested=function(){return this.Zf};C.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Ya,c=b.isEnabled;b.Ii();b.isEnabled=!1;Vi(this);this.sh=!1;b.isEnabled=c;null!==a&&z.setTimeout(a,1)};
-C.prototype.requestUpdate=C.prototype.Te=function(a){void 0===a&&(a=!1);if(!0!==this.Zf&&!(this.cd||!1===a&&this.je)){this.Zf=!0;var b=this;requestAnimationFrame(function(){b.Zf&&b.hg()})}};C.prototype.maybeUpdate=C.prototype.hg=function(){if(!this.$o||this.Zf)this.$o&&(this.$o=!1),Vi(this)};function bm(a,b){a.Ya.wf||a.cd||!a.Qm||Ol(a)||(b&&Li(a),Rl(a,!1))}
-function Vi(a){if(!a.je&&(a.Zf=!1,null!==a.Tb)){a.je=!0;var b=a.Ya,c=a.Pz;if(!b.lp&&0!==c.length){for(var d=c.o,e=d.length,g=0;gb;b++){var c=a.Cg.j;if(null===c||0===a.Cg.count)break;a.Cg=new K(O);a.QB(c,a.Cg);u&&22===b&&z.trace("failure to validate parts")}a.og.each(function(a){a instanceof F&&0!==(a.Ha&65536)!==!1&&(a.Ha^=65536)})}}
-C.prototype.QB=function(a,b){for(a.reset();a.next();){var c=a.value;!c.re()||c instanceof F||(c.sm()?(Bk(c,Infinity,Infinity),c.rc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof F&&c.isVisible()&&Bm(this,c);for(a.reset();a.next();)c=a.value,c instanceof H&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.rc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof ea&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.rc()):b.add(c))};
-function Bm(a,b){for(var c=z.tb(),d=z.tb(),e=b.Oc;e.next();){var g=e.value;g.isVisible()&&(g instanceof F?(Cm(g)||Dm(g)||Em(g))&&Bm(a,g):g instanceof H?g.aa===b||g.ea===b?d.push(g):c.push(g):(Bk(g,Infinity,Infinity),g.rc()))}for(var e=c.length,h=0;hb.targetTouches.length)return;e=b.targetTouches[c]}else if(null!==a.nj[0])e=a.nj[c];else return;c=a.Lb;b=a.Ob;a=a.Sb;var g=0,h=0;null!==c&&null!==e&&(c=c.getBoundingClientRect(),g=e.clientX-b/c.width*c.left,h=e.clientY-a/c.height*c.top);d.m(g,h)}C.prototype.invalidateDocumentBounds=C.prototype.Bc=function(){this.ik||(this.ik=!0,this.Te(!0))};function jl(a){a.ie||Li(a);a.ik&&Ul(a,a.Jh())}
+C.prototype.redraw=C.prototype.Iq=function(){this.cd||this.ie||(this.ra(),am(this),Pl(this),this.Bc(),this.hg())};C.prototype.isUpdateRequested=function(){return this.Zf};C.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Ya,c=b.isEnabled;b.Ii();b.isEnabled=!1;Vi(this);this.sh=!1;b.isEnabled=c;null!==a&&z.setTimeout(a,1)};
+C.prototype.requestUpdate=C.prototype.Te=function(a){void 0===a&&(a=!1);if(!0!==this.Zf&&!(this.cd||!1===a&&this.ie)){this.Zf=!0;var b=this;requestAnimationFrame(function(){b.Zf&&b.hg()})}};C.prototype.maybeUpdate=C.prototype.hg=function(){if(!this.Zo||this.Zf)this.Zo&&(this.Zo=!1),Vi(this)};function bm(a,b){a.Ya.wf||a.cd||!a.Qm||Ol(a)||(b&&Li(a),Rl(a,!1))}
+function Vi(a){if(!a.ie&&(a.Zf=!1,null!==a.Tb)){a.ie=!0;var b=a.Ya,c=a.Pz;if(!b.kp&&0!==c.length){for(var d=c.o,e=d.length,g=0;gb;b++){var c=a.Cg.j;if(null===c||0===a.Cg.count)break;a.Cg=new K(O);a.QB(c,a.Cg);u&&22===b&&z.trace("failure to validate parts")}a.og.each(function(a){a instanceof F&&0!==(a.Ha&65536)!==!1&&(a.Ha^=65536)})}}
+C.prototype.QB=function(a,b){for(a.reset();a.next();){var c=a.value;!c.qe()||c instanceof F||(c.sm()?(Bk(c,Infinity,Infinity),c.qc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof F&&c.isVisible()&&Bm(this,c);for(a.reset();a.next();)c=a.value,c instanceof H&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.qc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof ea&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.qc()):b.add(c))};
+function Bm(a,b){for(var c=z.tb(),d=z.tb(),e=b.Oc;e.next();){var g=e.value;g.isVisible()&&(g instanceof F?(Cm(g)||Dm(g)||Em(g))&&Bm(a,g):g instanceof H?g.aa===b||g.ea===b?d.push(g):c.push(g):(Bk(g,Infinity,Infinity),g.qc()))}for(var e=c.length,h=0;hx+1&&
-(N=Math.max((t-x)*c+a.Ob,N)),q+k+1p+1&&(G=Math.max((B-p)*c+a.Sb,G)),r+l+1x+1&&(N=Math.max((t-x)*c+a.Ob,N)),q+1p+1&&(G=Math.max((B-p)*c+l,G)),r+1x+1&&(k=a.position.x*c));if(a.fs)switch(a.Qz){case "negative":k=-(b.scrollWidth-k-b.clientWidth);break;case "reverse":k=b.scrollWidth-k-b.clientWidth}b.scrollLeft=k;a.OA&&a.Be&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.bs=!0);m=a.Ob;n=a.Sb;b.style.width=m+(a.wl?a.Ud:0)+"px";b.style.height=n+(a.hk?a.Ud:0)+"px";a.Sz=!1;return d!==m||e!==
+function Ol(a){var b=a.Lb;if(null===b)return!0;var c=a.Tb,d=a.Ob,e=a.Sb,g=a.mE.copy();if(!g.F())return!0;var h=!1,k=a.wl?a.Td:0,l=a.hk?a.Td:0,m=c.clientWidth||d+k,n=c.clientHeight||e+l;if(m!==d+k||n!==e+l)a.wl=!1,a.hk=!1,l=k=0,a.Ob=m,a.Sb=n,h=a.bs=!0;a.Qm=!1;var p=a.yb,c=a.fd,m=c.width,n=c.height,q=p.width,r=p.height,s=c.x,v=p.x,t=c.right,x=p.right+k,y=c.y,B=p.y,A=c.bottom,p=p.bottom+l,N="1px",G="1px",c=a.scale;a.uB===xl&&mx+1&&
+(N=Math.max((t-x)*c+a.Ob,N)),q+k+1p+1&&(G=Math.max((A-p)*c+a.Sb,G)),r+l+1x+1&&(N=Math.max((t-x)*c+a.Ob,N)),q+1p+1&&(G=Math.max((A-p)*c+l,G)),r+1x+1&&(k=a.position.x*c));if(a.fs)switch(a.Qz){case "negative":k=-(b.scrollWidth-k-b.clientWidth);break;case "reverse":k=b.scrollWidth-k-b.clientWidth}b.scrollLeft=k;a.OA&&a.Be&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.bs=!0);m=a.Ob;n=a.Sb;b.style.width=m+(a.wl?a.Td:0)+"px";b.style.height=n+(a.hk?a.Td:0)+"px";a.Sz=!1;return d!==m||e!==
n||a.Ya.yc?(p=a.yb,a.Lu(g,p,c,a.scale,h),!1):!0}
-C.prototype.add=C.prototype.add=function(a){z.l(a,D,C,"add:part");var b=a.g;if(b!==this){null!==b&&z.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.cr&&(a.El="Tool");var c=a.Lf,b=this.hm(c);null===b&&(b=this.hm(""));null===b&&z.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.rq(99999999,a,a.g===this),0<=c&&this.ld(sg,"parts",b,null,a,null,c),b.Wc||this.Bc(),a.N(Lm),c=a.Yx,null!==
+C.prototype.add=C.prototype.add=function(a){z.l(a,D,C,"add:part");var b=a.g;if(b!==this){null!==b&&z.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.cr&&(a.El="Tool");var c=a.Lf,b=this.hm(c);null===b&&(b=this.hm(""));null===b&&z.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.qq(99999999,a,a.g===this),0<=c&&this.ld(sg,"parts",b,null,a,null,c),b.Wc||this.Bc(),a.N(Lm),c=a.Yx,null!==
c&&c(a,null,b))}};
-C.prototype.rq=function(a){if(a instanceof E){if(this.zp.add(a),a instanceof F){var b=a.Qa;null===b?this.Pl.add(a):b.cn.add(a);b=a.Wb;null!==b&&(b.g=this)}}else a instanceof H?this.sp.add(a):a instanceof ea||this.pb.add(a);var c=this;Mm(a,function(a){Nm(c,a)});a.Qb&&a.K();b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.add(b,a):this.Ti.add(b,a)),Mm(a,function(a){Om(c,a)}));!0!==Dm(a)&&!0!==Em(a)||this.Cg.add(a);Pm(a,!0,this);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&
+C.prototype.qq=function(a){if(a instanceof E){if(this.yp.add(a),a instanceof F){var b=a.Qa;null===b?this.Pl.add(a):b.cn.add(a);b=a.Wb;null!==b&&(b.g=this)}}else a instanceof H?this.rp.add(a):a instanceof ea||this.pb.add(a);var c=this;Mm(a,function(a){Nm(c,a)});a.Qb&&a.K();b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.add(b,a):this.Ti.add(b,a)),Mm(a,function(a){Om(c,a)}));!0!==Dm(a)&&!0!==Em(a)||this.Cg.add(a);Pm(a,!0,this);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&
a.Z.F()&&this.ra(sl(a,a.Z));this.Te()};
-C.prototype.vf=function(a){a.Vt();if(a instanceof E){if(this.zp.remove(a),a instanceof F){var b=a.Qa;null===b?this.Pl.remove(a):b.cn.remove(a);b=a.Wb;null!==b&&(b.g=null)}}else a instanceof H?this.sp.remove(a):a instanceof ea||this.pb.remove(a);var c=this;Mm(a,function(a){Rm(c,a)});b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.remove(b):this.Ti.remove(b)),Mm(a,function(a){Sm(c,a)}));this.Cg.remove(a);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&a.Z.F()&&this.ra(sl(a,
+C.prototype.vf=function(a){a.Vt();if(a instanceof E){if(this.yp.remove(a),a instanceof F){var b=a.Qa;null===b?this.Pl.remove(a):b.cn.remove(a);b=a.Wb;null!==b&&(b.g=null)}}else a instanceof H?this.rp.remove(a):a instanceof ea||this.pb.remove(a);var c=this;Mm(a,function(a){Rm(c,a)});b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.remove(b):this.Ti.remove(b)),Mm(a,function(a){Sm(c,a)}));this.Cg.remove(a);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&a.Z.F()&&this.ra(sl(a,
a.Z));this.Te()};C.prototype.remove=C.prototype.remove=function(a){z.l(a,D,C,"remove:part");Tm(this,a,!0)};function Tm(a,b,c){var d=b.layer;null!==d&&d.g===a&&(b.gb=!1,b.Wg=!1,b.N(Um),c&&b.Mn(),c=d.vf(-1,b,!1),0<=c&&a.ld(tg,"parts",d,b,null,c,null),a=b.Yx,null!==a&&a(b,d,null))}
-C.prototype.removeParts=C.prototype.rB=function(a,b){if(z.isArray(a))for(var c=z.bb(a),d=0;dd&&this.Bc()};
-C.prototype.addLayerAfter=function(a,b){Vm(this,a,b);a.$c(this);var c=this.bc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.ye&&this.ld(tg,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.Bc()};
-C.prototype.removeLayer=function(a){z.l(a,ah,C,"removeLayer:layer");a.g!==this&&z.k("Cannot remove a Layer from another Diagram: "+a+" of "+a.g);if(""!==a.name){var b=this.bc,c=b.indexOf(a);if(b.remove(a)){for(b=a.pb.copy().j;b.next();){var d=b.value,e=d.Lf;d.Lf=e!==a.name?e:""}null!==this.ye&&this.ld(tg,"layers",this,a,null,c,null);this.ra();this.Bc()}}};C.prototype.findLayer=C.prototype.hm=function(a){for(var b=this.ao;b.next();){var c=b.value;if(c.name===a)return c}return null};
+b+"'; a Layer with the same name is already present in this Diagram.")}}C.prototype.addLayer=C.prototype.Lt=function(a){Vm(this,a,null);a.$c(this);var b=this.bc,c=b.count-1;if(!a.Wc)for(;0<=c&&b.fa(c).Wc;)c--;b.Yd(c+1,a);null!==this.xe&&this.ld(sg,"layers",this,null,a,null,c+1);this.ra();this.Bc()};
+C.prototype.addLayerBefore=C.prototype.KH=function(a,b){Vm(this,a,b);a.$c(this);var c=this.bc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.xe&&this.ld(tg,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.Bc()};
+C.prototype.addLayerAfter=function(a,b){Vm(this,a,b);a.$c(this);var c=this.bc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.xe&&this.ld(tg,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.Bc()};
+C.prototype.removeLayer=function(a){z.l(a,ah,C,"removeLayer:layer");a.g!==this&&z.k("Cannot remove a Layer from another Diagram: "+a+" of "+a.g);if(""!==a.name){var b=this.bc,c=b.indexOf(a);if(b.remove(a)){for(b=a.pb.copy().j;b.next();){var d=b.value,e=d.Lf;d.Lf=e!==a.name?e:""}null!==this.xe&&this.ld(tg,"layers",this,a,null,c,null);this.ra();this.Bc()}}};C.prototype.findLayer=C.prototype.hm=function(a){for(var b=this.ao;b.next();){var c=b.value;if(c.name===a)return c}return null};
C.prototype.addModelChangedListener=C.prototype.MH=function(a){z.h(a,"function",C,"addModelChangedListener:listener");null===this.vh&&(this.vh=new J("function"));this.vh.add(a);this.ia.An(a)};C.prototype.removeModelChangedListener=function(a){z.h(a,"function",C,"removeModelChangedListener:listener");null!==this.vh&&(this.vh.remove(a),0===this.vh.count&&(this.vh=null));this.ia.Ou(a)};
C.prototype.addChangedListener=C.prototype.An=function(a){z.h(a,"function",C,"addChangedListener:listener");null===this.Oi&&(this.Oi=new J("function"));this.Oi.add(a)};C.prototype.removeChangedListener=C.prototype.Ou=function(a){z.h(a,"function",C,"removeChangedListener:listener");null!==this.Oi&&(this.Oi.remove(a),0===this.Oi.count&&(this.Oi=null))};
C.prototype.mx=function(a){this.Eb||this.sa.wF(a);a.Kc!==rg&&(this.Fi=!0);if(null!==this.Oi){var b=this.Oi,c=b.length;if(1===c)b=b.fa(0),b(a);else if(0!==c)for(var d=b.nc(),e=0;ea.Oh&&(c=a.Oh);e=z.Fb(a.ub.x+h/b-h/c,a.ub.y+k/b-k/c);a.position=e;z.A(e);a.Rb=c;a.Lu(d,a.yb,b,c,!1);a.cd=!1;Rl(a,
-!1);c=a.Ya;c.yc&&nl(c,b,a.Rb);a.ra();am(a)}}C.prototype.Lu=function(a,b,c,d,e){a.O(b)||(void 0===e&&(e=!1),e||am(this),Pl(this),d=this.Wb,null===d||!d.Vx||this.Zl!==Qh||e||a.width===b.width&&a.height===b.height||d.N(),d=this.fb,!0===this.Sm&&d instanceof Kh&&(this.U.ha=this.NB(this.U.te),Fk(d,this)),this.cd||this.BF(a,b),dm(this),this.Eh.scale=c,this.Eh.position.x=a.x,this.Eh.position.y=a.y,this.Eh.bounds.set(a),this.Eh.isScroll=e,this.Ka("ViewportBoundsChanged",this.Eh,a))};
+function Wm(a,b,c){if(a.cd||a.ie)a.Rb=c,c=a.Ya,c.yc&&nl(c,b,a.Rb);else if(a.cd=!0,null===a.Lb)a.Rb=c;else{var d=a.yb.copy(),e=a.Ob,g=a.Sb;d.width=a.Ob/b;d.height=a.Sb/b;var h=a.Dm.x,k=a.Dm.y,l=a.JE;isNaN(h)&&(l.Gj()?l.Fj(sc)?h=0:l.Fj(xc)&&(h=e-1):h=l.jd()?l.x*(e-1):e/2);isNaN(k)&&(l.Gj()?l.Fj(rc)?k=0:l.Fj(yc)&&(k=g-1):k=l.jd()?l.y*(g-1):g/2);null!==a.wG&&(c=a.wG(a,c));ca.Oh&&(c=a.Oh);e=z.Fb(a.ub.x+h/b-h/c,a.ub.y+k/b-k/c);a.position=e;z.A(e);a.Rb=c;a.Lu(d,a.yb,b,c,!1);a.cd=!1;Rl(a,
+!1);c=a.Ya;c.yc&&nl(c,b,a.Rb);a.ra();am(a)}}C.prototype.Lu=function(a,b,c,d,e){a.O(b)||(void 0===e&&(e=!1),e||am(this),Pl(this),d=this.Wb,null===d||!d.Vx||this.Zl!==Qh||e||a.width===b.width&&a.height===b.height||d.N(),d=this.fb,!0===this.Sm&&d instanceof Kh&&(this.U.ha=this.NB(this.U.se),Fk(d,this)),this.cd||this.BF(a,b),dm(this),this.Eh.scale=c,this.Eh.position.x=a.x,this.Eh.position.y=a.y,this.Eh.bounds.set(a),this.Eh.isScroll=e,this.Ka("ViewportBoundsChanged",this.Eh,a))};
function dm(a,b){void 0===b&&(b=null);var c=a.Cd;if(null!==c&&c.visible){for(var d=z.Am(),e=1,g=1,h=c.va.o,k=h.length,l=0;ln||(Xm(m.Jb)?g=g*n/Te(g,n):e=e*n/Te(e,n))}h=c.Kx;d.m(g*h.width,e*h.height);h=g=l=k=0;if(null!==b)k=b.width,l=b.height,g=b.x,h=b.y;else{e=z.Of();g=a.yb;e.m(g.x,g.y,g.width,g.height);for(h=a.ww.j;h.next();)g=h.value.yb,g.F()&&Rb(e,g.x,g.y,g.width,g.height);if(!e.F()){z.Mb(e);return}k=e.width;l=e.height;g=e.x;h=e.y;z.Mb(e)}c.width=k+2*d.width;c.height=
l+2*d.height;e=z.P();tb(g,h,0,0,d.width,d.height,e);e.offset(-d.width,-d.height);z.Qk(d);c.ba.location=e;z.A(e)}}C.prototype.clearSelection=C.prototype.ox=function(){var a=0l)){var m=l;kn(k)&&m++;k.vf(m);ln(k,m,l)}}}}function Om(a,b){var c=b.cj;if(z.isArray(c)){var d=a.Um.qa(c);if(null===d)d=[],d.push(b),a.Um.add(c,d);else{for(c=0;cthis.scale&&(this.scale=a)):z.wa(a,"> 0",C,"minScale"))});
z.defineProperty(C,{Oh:"maxScale"},function(){return this.kw},function(a){z.p(a,C,"maxScale");var b=this.kw;b!==a&&(0 0",C,"maxScale"))});z.defineProperty(C,{Dm:"zoomPoint"},function(){return this.ax},function(a){this.ax.O(a)||(z.l(a,M,C,"zoomPoint"),this.ax=a=a.V())});
-z.defineProperty(C,{JE:"contentAlignment"},function(){return this.Ko},function(a){var b=this.Ko;b.O(a)||(z.l(a,R,C,"contentAlignment"),this.Ko=a=a.V(),this.i("contentAlignment",b,a),Rl(this,!1))});z.defineProperty(C,{LL:"initialContentAlignment"},function(){return this.fp},function(a){var b=this.fp;b.O(a)||(z.l(a,R,C,"initialContentAlignment"),this.fp=a=a.V(),this.i("initialContentAlignment",b,a))});
-z.defineProperty(C,{padding:"padding"},function(){return this.sf},function(a){"number"===typeof a?a=new Kb(a):z.l(a,Kb,C,"padding");var b=this.sf;b.O(a)||(this.sf=a=a.V(),this.Bc(),this.i("padding",b,a))});z.w(C,{og:"nodes"},function(){return this.zp.j});z.w(C,{links:"links"},function(){return this.sp.j});z.w(C,{Gi:"parts"},function(){return this.pb.j});
-C.prototype.findTopLevelNodesAndLinks=function(){for(var a=new K(D),b=this.zp.j;b.next();){var c=b.value;c.wq&&a.add(c)}for(b=this.sp.j;b.next();)c=b.value,c.wq&&a.add(c);return a.j};C.prototype.findTopLevelGroups=function(){return this.Pl.j};z.defineProperty(C,{Wb:"layout"},function(){return this.we},function(a){var b=this.we;b!==a&&(z.l(a,ch,C,"layout"),null!==b&&(b.g=null,b.group=null),this.we=a,a.g=this,a.group=null,this.sv=!0,this.i("layout",b,a),this.Te())});
+z.defineProperty(C,{JE:"contentAlignment"},function(){return this.Jo},function(a){var b=this.Jo;b.O(a)||(z.l(a,R,C,"contentAlignment"),this.Jo=a=a.V(),this.i("contentAlignment",b,a),Rl(this,!1))});z.defineProperty(C,{LL:"initialContentAlignment"},function(){return this.ep},function(a){var b=this.ep;b.O(a)||(z.l(a,R,C,"initialContentAlignment"),this.ep=a=a.V(),this.i("initialContentAlignment",b,a))});
+z.defineProperty(C,{padding:"padding"},function(){return this.sf},function(a){"number"===typeof a?a=new Kb(a):z.l(a,Kb,C,"padding");var b=this.sf;b.O(a)||(this.sf=a=a.V(),this.Bc(),this.i("padding",b,a))});z.w(C,{og:"nodes"},function(){return this.yp.j});z.w(C,{links:"links"},function(){return this.rp.j});z.w(C,{Gi:"parts"},function(){return this.pb.j});
+C.prototype.findTopLevelNodesAndLinks=function(){for(var a=new K(D),b=this.yp.j;b.next();){var c=b.value;c.vq&&a.add(c)}for(b=this.rp.j;b.next();)c=b.value,c.vq&&a.add(c);return a.j};C.prototype.findTopLevelGroups=function(){return this.Pl.j};z.defineProperty(C,{Wb:"layout"},function(){return this.ve},function(a){var b=this.ve;b!==a&&(z.l(a,ch,C,"layout"),null!==b&&(b.g=null,b.group=null),this.ve=a,a.g=this,a.group=null,this.sv=!0,this.i("layout",b,a),this.Te())});
C.prototype.layoutDiagram=function(a){Li(this);a&&qn(this,!0);em(this,!1)};function qn(a,b){for(var c=a.Pl.j;c.next();)yn(a,c.value,b);null!==a.Wb&&(b?a.Wb.Jf=!1:a.Wb.N())}function yn(a,b,c){if(null!==b){for(var d=b.cn.j;d.next();)yn(a,d.value,c);null!==b.Wb&&(c?b.Wb.Jf=!1:b.Wb.N())}}
-function em(a,b){if(!a.gz){var c=a.Wb,d=a.ab;a.ab=!0;try{var e=a.sa.Vh;0===e&&a.$b("Layout");var g=a.Ya;1!==a.sa.Vh||g.wf||g.yc||b||g.lo("Layout");for(var h=a.Pl.j;h.next();)zn(a,h.value,b);c.Jf||b&&!c.MF&&0!==e||(c.doLayout(a),Li(a),c.Jf=!0)}finally{0===e&&a.Wd("Layout"),a.sv=!c.Jf,a.ab=d}}}function zn(a,b,c){if(null!==b){for(var d=b.cn.j;d.next();)zn(a,d.value,c);d=b.Wb;null===d||d.Jf||c&&!d.MF||(b.io=!b.location.F(),d.doLayout(b),b.N(An),d.Jf=!0,Bm(a,b))}}
-z.defineProperty(C,{be:"isTreePathToChildren"},function(){return this.dw},function(a){var b=this.dw;if(b!==a&&(z.h(a,"boolean",C,"isTreePathToChildren"),this.dw=a,this.i("isTreePathToChildren",b,a),!this.sa.lb))for(a=this.og;a.next();)Bn(a.value)});C.prototype.findTreeRoots=function(){for(var a=new J(E),b=this.og;b.next();){var c=b.value;c.wq&&null===c.Pn()&&a.add(c)}return a.j};
+function em(a,b){if(!a.gz){var c=a.Wb,d=a.ab;a.ab=!0;try{var e=a.sa.Vh;0===e&&a.$b("Layout");var g=a.Ya;1!==a.sa.Vh||g.wf||g.yc||b||g.ko("Layout");for(var h=a.Pl.j;h.next();)zn(a,h.value,b);c.Jf||b&&!c.MF&&0!==e||(c.doLayout(a),Li(a),c.Jf=!0)}finally{0===e&&a.Vd("Layout"),a.sv=!c.Jf,a.ab=d}}}function zn(a,b,c){if(null!==b){for(var d=b.cn.j;d.next();)zn(a,d.value,c);d=b.Wb;null===d||d.Jf||c&&!d.MF||(b.io=!b.location.F(),d.doLayout(b),b.N(An),d.Jf=!0,Bm(a,b))}}
+z.defineProperty(C,{ae:"isTreePathToChildren"},function(){return this.dw},function(a){var b=this.dw;if(b!==a&&(z.h(a,"boolean",C,"isTreePathToChildren"),this.dw=a,this.i("isTreePathToChildren",b,a),!this.sa.lb))for(a=this.og;a.next();)Bn(a.value)});C.prototype.findTreeRoots=function(){for(var a=new J(E),b=this.og;b.next();){var c=b.value;c.vq&&null===c.Pn()&&a.add(c)}return a.j};
z.defineProperty(C,{OB:"treeCollapsePolicy"},function(){return this.Ww},function(a){var b=this.Ww;b!==a&&(a!==zl&&a!==Ym&&a!==Zm&&z.k("Unknown Diagram.treeCollapsePolicy: "+a),this.Ww=a,this.i("treeCollapsePolicy",b,a))});z.defineProperty(C,{Nh:null},function(){return this.$C},function(a){this.$C=a});
function yl(a){function b(a){var b=a.toLowerCase(),h=new J("function");c.add(a,h);c.add(b,h);d.add(a,a);d.add(b,a)}var c=new oa("string",J),d=new oa("string","string");b("AnimationStarting");b("AnimationFinished");b("BackgroundSingleClicked");b("BackgroundDoubleClicked");b("BackgroundContextClicked");b("ClipboardChanged");b("ClipboardPasted");b("DocumentBoundsChanged");b("ExternalObjectsDropped");b("InitialLayoutCompleted");b("LayoutCompleted");b("LinkDrawn");b("LinkRelinked");b("LinkReshaped");b("Modified");
b("ObjectSingleClicked");b("ObjectDoubleClicked");b("ObjectContextClicked");b("PartCreated");b("PartResized");b("PartRotated");b("SelectionMoved");b("SelectionCopied");b("SelectionDeleting");b("SelectionDeleted");b("SelectionGrouped");b("SelectionUngrouped");b("ChangingSelection");b("ChangedSelection");b("SubGraphCollapsed");b("SubGraphExpanded");b("TextEdited");b("TreeCollapsed");b("TreeExpanded");b("ViewportBoundsChanged");a.iz=c;a.hz=d}
function Ia(a,b){var c=a.hz.qa(b);return null!==c?c:a.hz.qa(b.toLowerCase())}function Cn(a,b){var c=a.iz.qa(b);if(null!==c)return c;c=a.iz.qa(b.toLowerCase());if(null!==c)return c;z.k("Unknown DiagramEvent name: "+b);return null}C.prototype.addDiagramListener=C.prototype.gA=function(a,b){z.h(a,"string",C,"addDiagramListener:name");z.h(b,"function",C,"addDiagramListener:listener");var c=Cn(this,a);null!==c&&c.add(b)};
-C.prototype.removeDiagramListener=C.prototype.jG=function(a,b){z.h(a,"string",C,"removeDiagramListener:name");z.h(b,"function",C,"addDiagramListener:listener");var c=Cn(this,a);null!==c&&c.remove(b)};C.prototype.raiseDiagramEvent=C.prototype.Ka=function(a,b,c){u&&z.h(a,"string",C,"raiseDiagramEvent:name");var d=Cn(this,a),e=new $f;e.g=this;e.name=Ia(this,a);void 0!==b&&(e.HB=b);void 0!==c&&(e.lB=c);a=d.length;if(1===a)d=d.fa(0),d(e);else if(0!==a)for(b=d.nc(),c=0;c=d.top&&0>=d.left&&0>=d.right&&0>=d.bottom)return c;var e=a.yb,g=a.scale,e=z.fh(0,0,e.width*g,e.height*g),h=z.Fb(0,0);if(b.x>=e.x&&b.xe.x+e.width-d.right&&(k=Math.max(a.Tu,1),k|=0,h.x+=k,b.x>e.x+e.width-d.right/2&&(h.x+=k),b.x>e.x+e.width-d.right/4&&(h.x+=4*k));b.y>=e.y&&b.ye.y+e.height-d.bottom&&(k=Math.max(a.Uu,1),k|=0,h.y+=k,b.y>e.y+e.height-d.bottom/2&&(h.y+=k),b.y>e.y+e.height-d.bottom/4&&(h.y+=4*k));h.Vc(Dd)||(c=new M(c.x+h.x/g,c.y+h.y/g));z.Mb(e);z.A(h);return c}C.prototype.makeSvg=C.prototype.makeSVG=function(a){void 0===a&&(a=new na);a.context="svg";a=Kn(this,a);return null!==a?a.ym:null};
C.prototype.makeImage=function(a){void 0===a&&(a=new na);var b=(a.document||document).createElement("img");b.src=this.vJ(a);return b};
C.prototype.makeImageData=C.prototype.vJ=function(a){void 0===a&&(a=new na);var b=Kn(this,a);if(null!==b){var c=a.returnType,c=void 0===c?"string":c.toLowerCase();switch(c){case "imagedata":return b.Mk.getImageData(0,0,b.width,b.height);case "blob":b=b.Fd;c=a.callback;if("function"!==typeof c){z.k('Error: Diagram.makeImageData called with "returnType: toBlob", but no "callback" function property defined.');break}if("function"===typeof b.uK)return b.uK(c,a.type,a.details),"toBlob";if("function"===
typeof b.KJ)return c(b.KJ(a.type,a.details)),"msToBlob";c(null);break;default:return b.toDataURL(a.type,a.details)}}return""};var Ln=!1;
function Kn(a,b){a.Ya.Ii();a.hg();if(null===a.Lb)return null;"object"!==typeof b&&z.k("properties argument must be an Object.");var c=!1,d=b.size||null,e=b.scale||null;void 0!==b.scale&&isNaN(b.scale)&&(e="NaN");var g=b.maxSize;void 0===b.maxSize&&(c=!0,g="svg"===b.context?new Fa(Infinity,Infinity):new Fa(2E3,2E3));var h=b.position||null,k=b.parts||null,l=void 0===b.padding?1:b.padding,m=b.background||null,n=b.omitTemporary;void 0===n&&(n=!0);var p=b.document||document,q=b.elementFinished||null,r=
-b.showTemporary;void 0===r&&(r=!n);n=b.showGrid;void 0===n&&(n=r);null!==d&&isNaN(d.width)&&isNaN(d.height)&&(d=null);"number"===typeof l?l=new Kb(l):l instanceof Kb||(l=new Kb(0));l.left=Math.max(l.left,0);l.right=Math.max(l.right,0);l.top=Math.max(l.top,0);l.bottom=Math.max(l.bottom,0);a.Vo=!1;da(a.pd,!0);var s=new ma(null,p),v=s.Mk,t=s;if(!(d||e||k||h))return s.width=a.Ob+Math.ceil(l.left+l.right),s.height=a.Sb+Math.ceil(l.top+l.bottom),"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&
-(a.Vo=!0)),Im(a,v,l,new Fa(s.width,s.height),a.Rb,a.ub,k,m,r,n),a.Vo=!0,t;var x=a.xb.vx,y=new M(0,0),A=a.fd.copy();A.sK(a.padding);if(r)for(var B=!0,B=a.bc.o,N=B.length,G=0;Gx?(e=x,h=A.width,aa=A.height):(h=g.width,aa=g.height)):(h=A.width*e,aa=A.height*e):(e=x,h=A.width,aa=A.height);null!==l?(h+=fa,aa+=B):l=new Kb(0);null!==g&&(d=g.width,g=g.height,"svg"!==b.context&&c&&!Ln&&(h>d||aa>g)&&(z.trace("Diagram.makeImage(data): Diagram width or height is larger than the default max size. ("+Math.ceil(h)+"x"+Math.ceil(aa)+" vs 2000x2000) Consider increasing the max size."),
-Ln=!0),isNaN(d)&&(d=2E3),isNaN(g)&&(g=2E3),isFinite(d)&&(h=Math.min(h,d)),isFinite(g)&&(aa=Math.min(aa,g)));s.width=Math.ceil(h);s.height=Math.ceil(aa);"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&(a.Vo=!0));Im(a,v,l,new Fa(Math.ceil(h),Math.ceil(aa)),e,y,k,m,r,n);a.Vo=!0;return t}C.inherit=function(a,b){z.h(a,"function",C,"inherit");z.h(b,"function",C,"inherit");b.yH&&z.k("Cannot inherit from "+z.uf(b));z.Ta(a,b)};
+b.showTemporary;void 0===r&&(r=!n);n=b.showGrid;void 0===n&&(n=r);null!==d&&isNaN(d.width)&&isNaN(d.height)&&(d=null);"number"===typeof l?l=new Kb(l):l instanceof Kb||(l=new Kb(0));l.left=Math.max(l.left,0);l.right=Math.max(l.right,0);l.top=Math.max(l.top,0);l.bottom=Math.max(l.bottom,0);a.Uo=!1;da(a.pd,!0);var s=new ma(null,p),v=s.Mk,t=s;if(!(d||e||k||h))return s.width=a.Ob+Math.ceil(l.left+l.right),s.height=a.Sb+Math.ceil(l.top+l.bottom),"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&
+(a.Uo=!0)),Im(a,v,l,new Fa(s.width,s.height),a.Rb,a.ub,k,m,r,n),a.Uo=!0,t;var x=a.xb.vx,y=new M(0,0),B=a.fd.copy();B.sK(a.padding);if(r)for(var A=!0,A=a.bc.o,N=A.length,G=0;Gx?(e=x,h=B.width,aa=B.height):(h=g.width,aa=g.height)):(h=B.width*e,aa=B.height*e):(e=x,h=B.width,aa=B.height);null!==l?(h+=fa,aa+=A):l=new Kb(0);null!==g&&(d=g.width,g=g.height,"svg"!==b.context&&c&&!Ln&&(h>d||aa>g)&&(z.trace("Diagram.makeImage(data): Diagram width or height is larger than the default max size. ("+Math.ceil(h)+"x"+Math.ceil(aa)+" vs 2000x2000) Consider increasing the max size."),
+Ln=!0),isNaN(d)&&(d=2E3),isNaN(g)&&(g=2E3),isFinite(d)&&(h=Math.min(h,d)),isFinite(g)&&(aa=Math.min(aa,g)));s.width=Math.ceil(h);s.height=Math.ceil(aa);"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&(a.Uo=!0));Im(a,v,l,new Fa(Math.ceil(h),Math.ceil(aa)),e,y,k,m,r,n);a.Uo=!0;return t}C.inherit=function(a,b){z.h(a,"function",C,"inherit");z.h(b,"function",C,"inherit");b.yH&&z.k("Cannot inherit from "+z.uf(b));z.Ta(a,b)};
function Hl(){this.BH="63ad05bbe23a1786468a4c741b6d2";this.Xi=this.BH===this._tk?!0:null}
function Mn(a){var b="f",c=window[z.Sg("76a715b2f73f148a")][z.Sg("72ba13b5")],d=z.Sg;if(window[d("7da7")]&&window[d("7da7")][d("76a115b6ed251eaf4692")]){a.Xi=!0;var e=window[d("7da7")][d("76a115b6ed251eaf4692")],e=d(e).split(d("39e9"));if(6>e.length)return;var g=d(e[1]).split(".");if("7da71ca0"!==e[4])return;var h=d(z[d("6cae19")]).split(".");if(g[0]>h[0]||g[0]===h[0]&&g[1]>=h[1]){g=c[d("76ad18b4f73e")];for(h=c[d("73a612b6fb191d")](d("35e7"))+2;h
g&&d(e[2])!==d("7da71ca0ad381e90")&&(g=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));0>g&&(g=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));a.Xi=!(0<=g&&gg&&d(z.adym)!==d("7da71ca0ad381e90")&&(g=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));a.Xi=!(0<=g&&gb.timeStamp-a.Wm)b.preventDefault();else if(a.Al)b.preventDefault();else{a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.gm=!0;c.Qe=b.detail;if(z.GF||z.HF)b.timeStamp-a.Wmb.timeStamp-a.Wm){b.preventDefault();return}a.Wm=b.timeStamp}if(z.Xn&&null!==a.qt)a.qt=null,b.preventDefault();else{a.ed=
-a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.up=!0;c.Qe=b.detail;if(z.GF||z.HF)c.Qe=a.Dl;c.bubbles=b.bubbles;b.target.ca&&(c.eh=b.target.ca);a.HG(b,null,new M,c.eh)||(a.doMouseUp(),yi(a),ia(a,c,b))}}};a.Qh=function(b){if(a.isEnabled){var c=a.ed;a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.bubbles=!0;c.fm=void 0!==b.wheelDelta?b.wheelDelta:-40*b.detail;a.doMouseWheel();ia(a,c,b)}};a.Dq=function(){if(a.isEnabled){a.Sm=!1;var b=a.fb;b.cancelWaitAfter();b instanceof Kh&&b.hideToolTip()}};a.WG=function(b){if(a.isEnabled){a.zt=!1;
+c.style.position="absolute";c.style.overflow="auto";c.style.width=a.Ob+"px";c.style.height=a.Sb+"px";c.style.zIndex="1";e.style.position="absolute";e.style.width="1px";e.style.height="1px";a.Tb.appendChild(c);c.appendChild(e);c.onscroll=a.tH;c.onmousedown=a.xD;c.ontouchstart=a.xD;c.ca=a;c.wH=!0;c.xH=!0;a.Kw=c;a.ht=e;a.qB=z.NE(function(){a.zk=null;a.ra()},300,!1);a.dH=z.NE(function(){al(a)},250,!1);a.preventDefault=function(a){a.preventDefault();return!1};a.Bq=function(b){if(a.isEnabled){a.Sm=!0;var c=
+a.ed;z.Xn&&c.Hj?(b.preventDefault(),b.simulated=!0,a.qt=b):(a.ed=a.Ub,a.Ub=c,Xl(a,a,b,c,!0),a.Ay(b,null,b.target.ca)||(a.doMouseMove(),a.fb.isBeyondDragSize()&&(a.Dl=0),ia(a,c,b)))}};a.Aq=function(b){if(a.isEnabled){a.Sm=!0;var c=a.ed;if(z.Xn&&null!==a.qt)a.qt=b,b.preventDefault();else if(z.Xn&&400>b.timeStamp-a.Wm)b.preventDefault();else if(a.Al)b.preventDefault();else{a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.gm=!0;c.Qe=b.detail;if(z.GF||z.HF)b.timeStamp-a.Wmb.timeStamp-a.Wm){b.preventDefault();return}a.Wm=b.timeStamp}if(z.Xn&&null!==a.qt)a.qt=null,b.preventDefault();else{a.ed=
+a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.up=!0;c.Qe=b.detail;if(z.GF||z.HF)c.Qe=a.Dl;c.bubbles=b.bubbles;b.target.ca&&(c.eh=b.target.ca);a.HG(b,null,new M,c.eh)||(a.doMouseUp(),yi(a),ia(a,c,b))}}};a.Qh=function(b){if(a.isEnabled){var c=a.ed;a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.bubbles=!0;c.fm=void 0!==b.wheelDelta?b.wheelDelta:-40*b.detail;a.doMouseWheel();ia(a,c,b)}};a.Cq=function(){if(a.isEnabled){a.Sm=!1;var b=a.fb;b.cancelWaitAfter();b instanceof Kh&&b.hideToolTip()}};a.WG=function(b){if(a.isEnabled){a.zt=!1;
a.Al=!0;var c=a.ed;a.ed=a.Ub;a.Ub=c;Zl(a,b,b.targetTouches[0],c,1a.Aw)){var c=
@@ -1007,24 +1008,24 @@ a.nj;c[0].pointerId===b.pointerId&&(c[0]=b);c[1].pointerId===b.pointerId&&(c[1]=
function Nn(a){1a)&&z.wa(a,"0 <= loc <= 1",Ea,"addColorStop:loc");z.h(b,"string",Ea,"addColorStop:color");u&&!Da(b)&&z.k('Color "'+b+'" is not a valid color string for Brush.addColorStop');null===this.ph&&(this.ph=new oa("number","string"));this.ph.add(a,b);this.da===Zg&&(this.type=$g);this.qh=null};
-z.defineProperty(Ea,{type:"type"},function(){return this.da},function(a){this.I&&z.pa(this,a);z.Ca(a,Ea,Ea,"type");this.da=a;this.start.ae()&&(a===$g?this.start=ic:a===Bd&&(this.start=mc));this.end.ae()&&(a===$g?this.end=pc:a===Bd&&(this.end=mc));this.qh=null});z.defineProperty(Ea,{color:"color"},function(){return this.Io},function(a){this.I&&z.pa(this,a);u&&!Da(a)&&z.k('Color "'+a+'" is not a valid color string for Brush.color');this.Io=a;this.qh=null});
-z.defineProperty(Ea,{start:"start"},function(){return this.Lp},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"start");this.Lp=a.V();this.qh=null});z.defineProperty(Ea,{end:"end"},function(){return this.Xo},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"end");this.Xo=a.V();this.qh=null});z.defineProperty(Ea,{$u:"startRadius"},function(){return this.Rw},function(a){this.I&&z.pa(this,a);z.p(a,Ea,"startRadius");0>a&&z.wa(a,">= zero",Ea,"startRadius");this.Rw=a;this.qh=null});
+z.defineProperty(Ea,{type:"type"},function(){return this.da},function(a){this.I&&z.pa(this,a);z.Ca(a,Ea,Ea,"type");this.da=a;this.start.$d()&&(a===$g?this.start=ic:a===Bd&&(this.start=mc));this.end.$d()&&(a===$g?this.end=pc:a===Bd&&(this.end=mc));this.qh=null});z.defineProperty(Ea,{color:"color"},function(){return this.Ho},function(a){this.I&&z.pa(this,a);u&&!Da(a)&&z.k('Color "'+a+'" is not a valid color string for Brush.color');this.Ho=a;this.qh=null});
+z.defineProperty(Ea,{start:"start"},function(){return this.Kp},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"start");this.Kp=a.V();this.qh=null});z.defineProperty(Ea,{end:"end"},function(){return this.Wo},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"end");this.Wo=a.V();this.qh=null});z.defineProperty(Ea,{$u:"startRadius"},function(){return this.Rw},function(a){this.I&&z.pa(this,a);z.p(a,Ea,"startRadius");0>a&&z.wa(a,">= zero",Ea,"startRadius");this.Rw=a;this.qh=null});
z.defineProperty(Ea,{bu:"endRadius"},function(){return this.Nv},function(a){this.I&&z.pa(this,a);z.p(a,Ea,"endRadius");0>a&&z.wa(a,">= zero",Ea,"endRadius");this.Nv=a;this.qh=null});z.defineProperty(Ea,{Jk:"colorStops"},function(){return this.ph},function(a){this.I&&z.pa(this,a);u&&z.l(a,oa,Ea,"colorStops");this.ph=a;this.qh=null});z.defineProperty(Ea,{pattern:"pattern"},function(){return this.zw},function(a){this.I&&z.pa(this,a);this.zw=a;this.qh=null});
Ea.randomColor=function(a,b){void 0===a&&(a=128);u&&(z.p(a,Ea,"randomColor:min"),(0>a||255d.length&&(d="0"+d);2>e.length&&(e="0"+e);2>c.length&&(c="0"+c);return"#"+
d+e+c};var Xn=(new ma(null)).Mk,Da;Ea.isValidColor=Da=function(a){if("black"===a)return!0;if(""===a)return!1;u&&z.h(a,"string",Ea,"isValidColor");Xn.fillStyle="#000000";var b=Xn.fillStyle;Xn.fillStyle=a;if(Xn.fillStyle!==b)return!0;Xn.fillStyle="#FFFFFF";b=Xn.fillStyle;Xn.fillStyle=a;return Xn.fillStyle!==b};var Yn=new Wn,Zn=new Wn,$n=new Wn,ao=new Wn;Ea.lighten=function(a){return bo(a)};
@@ -1035,15 +1036,15 @@ ao.mg;c=-.969266*$n.Pc+1.8760108*$n.Md+.041556*$n.kd;d=.0556434*$n.Pc+-.2040259*
255,h=Yn.kd/255,k=Math.max(e,g,h),d=Math.min(e,g,h),l=k-d,d=(k+d)/2;if(0===l)c=e=0;else{switch(k){case e:c=(g-h)/l%6;break;case g:c=(h-e)/l+2;break;case h:c=(e-g)/l+4}c*=60;0>c&&(c+=360);e=l/(1-Math.abs(2*d-1))}Zn.Pc=Math.round(c);Zn.Md=Math.round(100*e);Zn.kd=Math.round(100*d);Zn.mg=Yn.mg;Zn.kd=Math.min(100,Math.max(0,Zn.kd+100*a));return"hsla("+Zn.Pc+", "+Zn.Md+"%, "+Zn.kd+"%, "+Zn.mg+")";default:return z.k("Unknown color space: "+b),"rgba(0, 0, 0, 1)"}}
function co(a){Xn.clearRect(0,0,1,1);Xn.fillStyle="#000000";var b=Xn.fillStyle;Xn.fillStyle=a;Xn.fillStyle!==b?(Xn.fillRect(0,0,1,1),a=Xn.getImageData(0,0,1,1).data,Yn.Pc=a[0],Yn.Md=a[1],Yn.kd=a[2],Yn.mg=a[3]/255):(Xn.fillStyle="#FFFFFF",b=Xn.fillStyle,Xn.fillStyle=a,Xn.fillStyle===b&&u&&z.k('Color "'+a+'" is not a valid color string for RGBA color conversion'),Yn.Pc=0,Yn.Md=0,Yn.kd=0,Yn.mg=1)}function ho(a){a/=255;return.04045>=a?a/12.92:Math.pow((a+.055)/1.055,2.4)}
function no(a){return.0031308>=a?12.92*a:1.055*Math.pow(a,1/2.4)-.055}var mo=216/24389,lo=24389/27,jo=[95.047,100,108.883];function io(a){return a>mo?Math.pow(a,1/3):(lo*a+16)/116}function ko(a){var b=a*a*a;return b>mo?b:(116*a-16)/lo}
-function O(){z.xc(this);this.T=4225027;this.Hc=1;this.Ah=null;this.Xb="";this.ic=this.Kb=null;this.ub=(new M(NaN,NaN)).freeze();this.Ye=ie;this.li=Sd;this.ki=ge;this.Jc=new Ga;this.Li=new Ga;this.ej=new Ga;this.Rb=this.Uo=1;this.rg=0;this.Mg=oo;this.an=Nd;this.Dd=(new w(NaN,NaN,NaN,NaN)).freeze();this.ac=(new w(NaN,NaN,NaN,NaN)).freeze();this.Tc=(new w(0,0,NaN,NaN)).freeze();this.Y=this.Us=this.Vs=null;this.Fm=this.ue=Rc;this.et=0;this.pj=1;this.pr=0;this.Qi=1;this.ut=null;this.it=-Infinity;this.on=
-0;this.pn=Dd;this.qn=nj;this.xr="";this.Ec=this.ma=null;this.Fo=-1;this.hn=this.un=this.ug=this.rl=this.Kp=null}z.Ai(O);z.ka("GraphObject",O);
-O.prototype.cloneProtected=function(a){a.T=this.T|6144;a.Hc=this.Hc;a.Xb=this.Xb;a.Kb=this.Kb;a.ic=this.ic;a.ub.assign(this.ub);a.Ye=this.Ye.V();a.li=this.li.V();a.ki=this.ki.V();a.ej=this.ej.copy();a.Rb=this.Rb;a.rg=this.rg;a.Mg=this.Mg;a.an=this.an.V();a.Dd.assign(this.Dd);a.ac.assign(this.ac);a.Tc.assign(this.Tc);a.Us=this.Us;null!==this.Y&&(a.Y=this.Y.copy());a.ue=this.ue.V();a.Fm=this.Fm.V();a.et=this.et;a.pj=this.pj;a.pr=this.pr;a.Qi=this.Qi;a.ut=this.ut;a.it=this.it;a.on=this.on;a.pn=this.pn.V();
-a.qn=this.qn;a.xr=this.xr;null!==this.ma&&(a.ma=this.ma.copy());a.Ec=this.Ec;a.Fo=this.Fo;null!==this.rl&&(a.rl=z.am(this.rl));null!==this.ug&&(a.ug=this.ug.copy());a.un=this.un};O.prototype.addCopyProperty=O.prototype.JH=function(a){var b=this.rl;if(z.isArray(b))for(var c=0;ck;)k+=g[n++%l],p=!p;q=!1}else k=g[n++%l];k>m&&(k=m);var r=Math.sqrt(k*k/(1+e*e));0>d&&(r=-r);b+=r;c+=e*r;p?a.lineTo(b,c):a.moveTo(b,c);m-=k;p=!p}}
-O.prototype.raiseChangedEvent=O.prototype.ld=function(a,b,c,d,e,g,h){var k=this.ba;if(null!==k&&(k.mo(a,b,c,d,e,g,h),zo(this)&&c===this&&a===bg&&Ao(this,k,b),c===k&&0!==(k.T&16777216)&&null!==k.data))for(a=this.va.o,c=a.length,d=0;dk;)k+=g[n++%l],p=!p;q=!1}else k=g[n++%l];k>m&&(k=m);var r=Math.sqrt(k*k/(1+e*e));0>d&&(r=-r);b+=r;c+=e*r;p?a.lineTo(b,c):a.moveTo(b,c);m-=k;p=!p}}
+O.prototype.raiseChangedEvent=O.prototype.ld=function(a,b,c,d,e,g,h){var k=this.ba;if(null!==k&&(k.lo(a,b,c,d,e,g,h),zo(this)&&c===this&&a===bg&&Ao(this,k,b),c===k&&0!==(k.T&16777216)&&null!==k.data))for(a=this.va.o,c=a.length,d=0;d
Method Summarya collection of Parts.
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/DragSelectingTool.html b/api/symbols/DragSelectingTool.html
index de0ba8193..694017cbf 100644
--- a/api/symbols/DragSelectingTool.html
+++ b/api/symbols/DragSelectingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/DraggingTool.html b/api/symbols/DraggingTool.html
index 2a34ec7fc..72053b569 100644
--- a/api/symbols/DraggingTool.html
+++ b/api/symbols/DraggingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ForceDirectedEdge.html b/api/symbols/ForceDirectedEdge.html
index 072ccac12..e83931df1 100644
--- a/api/symbols/ForceDirectedEdge.html
+++ b/api/symbols/ForceDirectedEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ForceDirectedLayout.html b/api/symbols/ForceDirectedLayout.html
index aec9f49b6..4114b4fea 100644
--- a/api/symbols/ForceDirectedLayout.html
+++ b/api/symbols/ForceDirectedLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ForceDirectedVertex.html b/api/symbols/ForceDirectedVertex.html
index c05ec6c3b..17670acde 100644
--- a/api/symbols/ForceDirectedVertex.html
+++ b/api/symbols/ForceDirectedVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Geometry.html b/api/symbols/Geometry.html
index 3a3157820..883060768 100644
--- a/api/symbols/Geometry.html
+++ b/api/symbols/Geometry.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/GraphLinksModel.html b/api/symbols/GraphLinksModel.html
index 52a2658d9..f89e1624d 100644
--- a/api/symbols/GraphLinksModel.html
+++ b/api/symbols/GraphLinksModel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
@@ -2827,10 +2827,10 @@ Method Summarya JavaScript object represented by a link.
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/GridLayout.html b/api/symbols/GridLayout.html
index 3abf678e3..2665d4689 100644
--- a/api/symbols/GridLayout.html
+++ b/api/symbols/GridLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Group.html b/api/symbols/Group.html
index 867fc2398..a5a34dcc5 100644
--- a/api/symbols/Group.html
+++ b/api/symbols/Group.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/HTMLInfo.html b/api/symbols/HTMLInfo.html
index 0f73984c2..7b2ee6ee7 100644
--- a/api/symbols/HTMLInfo.html
+++ b/api/symbols/HTMLInfo.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/InputEvent.html b/api/symbols/InputEvent.html
index 505198e42..ba3718d4c 100644
--- a/api/symbols/InputEvent.html
+++ b/api/symbols/InputEvent.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Iterable.html b/api/symbols/Iterable.html
index 1d809220e..08ce6056c 100644
--- a/api/symbols/Iterable.html
+++ b/api/symbols/Iterable.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Iterator.html b/api/symbols/Iterator.html
index 3c2bca5b0..a2be777cf 100644
--- a/api/symbols/Iterator.html
+++ b/api/symbols/Iterator.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Layer.html b/api/symbols/Layer.html
index f30f582f4..00b51b274 100644
--- a/api/symbols/Layer.html
+++ b/api/symbols/Layer.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayeredDigraphEdge.html b/api/symbols/LayeredDigraphEdge.html
index bb92cfd1f..3671817b0 100644
--- a/api/symbols/LayeredDigraphEdge.html
+++ b/api/symbols/LayeredDigraphEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayeredDigraphLayout.html b/api/symbols/LayeredDigraphLayout.html
index 540b0a459..733a55ee4 100644
--- a/api/symbols/LayeredDigraphLayout.html
+++ b/api/symbols/LayeredDigraphLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayeredDigraphVertex.html b/api/symbols/LayeredDigraphVertex.html
index 64cb038d4..dac78c930 100644
--- a/api/symbols/LayeredDigraphVertex.html
+++ b/api/symbols/LayeredDigraphVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Layout.html b/api/symbols/Layout.html
index 3efa9072b..c1151765e 100644
--- a/api/symbols/Layout.html
+++ b/api/symbols/Layout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayoutEdge.html b/api/symbols/LayoutEdge.html
index 043ea923c..a57650cf0 100644
--- a/api/symbols/LayoutEdge.html
+++ b/api/symbols/LayoutEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayoutNetwork.html b/api/symbols/LayoutNetwork.html
index d69e34b28..23da253b3 100644
--- a/api/symbols/LayoutNetwork.html
+++ b/api/symbols/LayoutNetwork.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayoutVertex.html b/api/symbols/LayoutVertex.html
index 97902ca83..e035cc1bf 100644
--- a/api/symbols/LayoutVertex.html
+++ b/api/symbols/LayoutVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Link.html b/api/symbols/Link.html
index 27ec92c46..6e3df6489 100644
--- a/api/symbols/Link.html
+++ b/api/symbols/Link.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LinkReshapingTool.html b/api/symbols/LinkReshapingTool.html
index 943968767..bb59734da 100644
--- a/api/symbols/LinkReshapingTool.html
+++ b/api/symbols/LinkReshapingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LinkingBaseTool.html b/api/symbols/LinkingBaseTool.html
index 06f26eacd..01b8f7416 100644
--- a/api/symbols/LinkingBaseTool.html
+++ b/api/symbols/LinkingBaseTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LinkingTool.html b/api/symbols/LinkingTool.html
index 0e6829431..f9470885f 100644
--- a/api/symbols/LinkingTool.html
+++ b/api/symbols/LinkingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/List.html b/api/symbols/List.html
index 59219f64f..3e514fdb7 100644
--- a/api/symbols/List.html
+++ b/api/symbols/List.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
@@ -1316,7 +1316,7 @@ Method SummaryParameters:
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Margin.html b/api/symbols/Margin.html
index d66c350e4..37a63083d 100644
--- a/api/symbols/Margin.html
+++ b/api/symbols/Margin.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Model.html b/api/symbols/Model.html
index bf2bd71c6..3e21287a2 100644
--- a/api/symbols/Model.html
+++ b/api/symbols/Model.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Node.html b/api/symbols/Node.html
index b99f52d6a..4f384d827 100644
--- a/api/symbols/Node.html
+++ b/api/symbols/Node.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Overview.html b/api/symbols/Overview.html
index 1f5fcbde6..412275000 100644
--- a/api/symbols/Overview.html
+++ b/api/symbols/Overview.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Palette.html b/api/symbols/Palette.html
index d5e2de350..60e8c1b03 100644
--- a/api/symbols/Palette.html
+++ b/api/symbols/Palette.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Panel.html b/api/symbols/Panel.html
index ef52eb14f..d289ee870 100644
--- a/api/symbols/Panel.html
+++ b/api/symbols/Panel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
@@ -2287,7 +2287,7 @@ Method SummaryParameters:
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Part.html b/api/symbols/Part.html
index 0f9e28e68..5b7758fc0 100644
--- a/api/symbols/Part.html
+++ b/api/symbols/Part.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PathFigure.html b/api/symbols/PathFigure.html
index 03499cf52..cbf8b036a 100644
--- a/api/symbols/PathFigure.html
+++ b/api/symbols/PathFigure.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PathSegment.html b/api/symbols/PathSegment.html
index 116e06871..9c40eec72 100644
--- a/api/symbols/PathSegment.html
+++ b/api/symbols/PathSegment.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Picture.html b/api/symbols/Picture.html
index a5aa9f704..436846775 100644
--- a/api/symbols/Picture.html
+++ b/api/symbols/Picture.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Placeholder.html b/api/symbols/Placeholder.html
index 772258e6f..f7c2b5ee4 100644
--- a/api/symbols/Placeholder.html
+++ b/api/symbols/Placeholder.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Point.html b/api/symbols/Point.html
index 582ab9a01..b2f1bf6a6 100644
--- a/api/symbols/Point.html
+++ b/api/symbols/Point.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Rect.html b/api/symbols/Rect.html
index 664b3d257..bce25088c 100644
--- a/api/symbols/Rect.html
+++ b/api/symbols/Rect.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RelinkingTool.html b/api/symbols/RelinkingTool.html
index 0342f78f4..a7c389357 100644
--- a/api/symbols/RelinkingTool.html
+++ b/api/symbols/RelinkingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ResizingTool.html b/api/symbols/ResizingTool.html
index 87174f8c3..1e68aec49 100644
--- a/api/symbols/ResizingTool.html
+++ b/api/symbols/ResizingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RotatingTool.html b/api/symbols/RotatingTool.html
index babc13e9d..4d59e7543 100644
--- a/api/symbols/RotatingTool.html
+++ b/api/symbols/RotatingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RowColumnDefinition.html b/api/symbols/RowColumnDefinition.html
index ca2e9366b..7e13bbe1b 100644
--- a/api/symbols/RowColumnDefinition.html
+++ b/api/symbols/RowColumnDefinition.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Set.html b/api/symbols/Set.html
index c6a91c11e..5323534c8 100644
--- a/api/symbols/Set.html
+++ b/api/symbols/Set.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Shape.html b/api/symbols/Shape.html
index f118b4610..5d10a0325 100644
--- a/api/symbols/Shape.html
+++ b/api/symbols/Shape.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Size.html b/api/symbols/Size.html
index 120e72a8c..33d897714 100644
--- a/api/symbols/Size.html
+++ b/api/symbols/Size.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Spot.html b/api/symbols/Spot.html
index fd78e9bd9..9186bfffc 100644
--- a/api/symbols/Spot.html
+++ b/api/symbols/Spot.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TextBlock.html b/api/symbols/TextBlock.html
index 35d0dff9f..39608cb04 100644
--- a/api/symbols/TextBlock.html
+++ b/api/symbols/TextBlock.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TextEditingTool.html b/api/symbols/TextEditingTool.html
index 7c9484c5d..4bb28895a 100644
--- a/api/symbols/TextEditingTool.html
+++ b/api/symbols/TextEditingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Tool.html b/api/symbols/Tool.html
index 2bb97a22b..9e8944be2 100644
--- a/api/symbols/Tool.html
+++ b/api/symbols/Tool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ToolManager.html b/api/symbols/ToolManager.html
index b02134192..384bd1da3 100644
--- a/api/symbols/ToolManager.html
+++ b/api/symbols/ToolManager.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Transaction.html b/api/symbols/Transaction.html
index aed3e223d..98a022de3 100644
--- a/api/symbols/Transaction.html
+++ b/api/symbols/Transaction.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeEdge.html b/api/symbols/TreeEdge.html
index b310dbc5c..0e2795bef 100644
--- a/api/symbols/TreeEdge.html
+++ b/api/symbols/TreeEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeLayout.html b/api/symbols/TreeLayout.html
index 3dca92735..225560589 100644
--- a/api/symbols/TreeLayout.html
+++ b/api/symbols/TreeLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeModel.html b/api/symbols/TreeModel.html
index 1eb61dbf0..20843937e 100644
--- a/api/symbols/TreeModel.html
+++ b/api/symbols/TreeModel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeVertex.html b/api/symbols/TreeVertex.html
index 102008e4b..e37724f53 100644
--- a/api/symbols/TreeVertex.html
+++ b/api/symbols/TreeVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/UndoManager.html b/api/symbols/UndoManager.html
index 82759f6f7..4c73dd9e5 100644
--- a/api/symbols/UndoManager.html
+++ b/api/symbols/UndoManager.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/doc/changelog.html b/doc/changelog.html
index 8a90a9fe9..afa223498 100644
--- a/doc/changelog.html
+++ b/doc/changelog.html
@@ -74,9 +74,22 @@ GoJS Change Log
}
+ Changes for 1.7.3
+
+
+
Changes for 1.7.2
- Fixed missing declaration in go.d.ts
.
+
Changes for 1.7.1
diff --git a/intro/index.html b/intro/index.html
index 92273c063..2cf094f53 100644
--- a/intro/index.html
+++ b/intro/index.html
@@ -208,6 +208,8 @@ Loading GoJS
In ES6 (ECMAScript 2015) or TypeScript code, just import the "go.js" library:
import * as go from "go";
+ or, if depending on your npm environment:
+ import * as go from "gojs";
Hosting GoJS in a Div Element
diff --git a/package.json b/package.json
index 094c750a5..db3e72509 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "gojs",
- "version": "1.7.2",
+ "version": "1.7.3",
"description": "Interactive diagrams, charts, and graphs, such as trees, flowcharts, orgcharts, UML, BPMN, or business diagrams",
"keywords": [ "diagram", "chart", "tree", "flowchart", "orgchart", "uml", "bpmn", "graphics", "editor", "inspector", "drawing", "canvas", "shape", "svg", "hierarchy", "node", "link", "group", "vertex", "edge", "connection", "port", "label", "arrowhead", "family-tree", "decision-tree", "mindmap", "tournament", "treeview", "pipe-tree", "genogram", "ivr-tree", "parse-tree", "concept-map", "euler", "visualization", "entity-relationship", "er-diagram", "friend-wheel", "radial", "graph-distances", "graph-paths", "sankey", "pert", "gantt", "timeline", "monitor", "layer", "swimlane", "spreadsheet", "virtualization", "flow", "process", "state", "sequential-function", "grafcet", "sequence", "circuit", "record", "field", "table", "dataflow", "data-flow", "planogram", "seating", "pipes", "overview", "palette", "comment", "layout", "grid-layout", "tree-layout", "force-directed", "layered", "hierarchical", "circular", "fishbone", "ishikawa", "parallel", "serpentine", "treemap", "tree-map", "freehand", "polygon", "polyline", "bezier", "panel", "view", "model", "databinding", "data-binding", "binding", "transaction", "coordinates", "subgraph", "selection", "highlight", "tooltip", "context-menu", "tool", "command", "validation", "button", "template", "legend", "grid", "printing" ],
"homepage": "https://gojs.net",
diff --git a/projects/angular2-minimal/README.md b/projects/angular2-minimal/README.md
new file mode 100644
index 000000000..fefdc6681
--- /dev/null
+++ b/projects/angular2-minimal/README.md
@@ -0,0 +1,15 @@
+This is a minimal modification of the Angular 2 Quick Start environment
+that demonstrates how to show a GoJS diagram in a component.
+
+First, assuming you already have npm:
+```
+$ npm install gojs --save
+$ npm update
+```
+
+Note how we have updated the src/systemjs.config.json
file to tell which GoJS library to load.
+
+Start app page with:
+```
+$ npm start
+```
diff --git a/projects/angular2-minimal/bs-config.json b/projects/angular2-minimal/bs-config.json
new file mode 100644
index 000000000..4e5859526
--- /dev/null
+++ b/projects/angular2-minimal/bs-config.json
@@ -0,0 +1,8 @@
+{
+ "server": {
+ "baseDir": "src",
+ "routes": {
+ "/node_modules": "node_modules"
+ }
+ }
+}
diff --git a/projects/angular2-minimal/package.json b/projects/angular2-minimal/package.json
new file mode 100644
index 000000000..cbcb56864
--- /dev/null
+++ b/projects/angular2-minimal/package.json
@@ -0,0 +1,61 @@
+{
+ "name": "angular-quickstart",
+ "version": "1.0.0",
+ "description": "QuickStart package.json from the documentation, supplemented with testing support",
+ "scripts": {
+ "build": "tsc -p src/",
+ "build:watch": "tsc -p src/ -w",
+ "build:e2e": "tsc -p e2e/",
+ "serve": "lite-server -c=bs-config.json",
+ "serve:e2e": "lite-server -c=bs-config.e2e.json",
+ "prestart": "npm run build",
+ "start": "concurrently \"npm run build:watch\" \"npm run serve\"",
+ "pree2e": "npm run build:e2e",
+ "e2e": "concurrently \"npm run serve:e2e\" \"npm run protractor\" --kill-others --success first",
+ "preprotractor": "webdriver-manager update",
+ "protractor": "protractor protractor.config.js",
+ "pretest": "npm run build",
+ "test": "concurrently \"npm run build:watch\" \"karma start karma.conf.js\"",
+ "pretest:once": "npm run build",
+ "test:once": "karma start karma.conf.js --single-run",
+ "lint": "tslint ./src/**/*.ts -t verbose"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "MIT",
+ "dependencies": {
+ "@angular/common": "~2.4.0",
+ "@angular/compiler": "~2.4.0",
+ "@angular/core": "~2.4.0",
+ "@angular/forms": "~2.4.0",
+ "@angular/http": "~2.4.0",
+ "@angular/platform-browser": "~2.4.0",
+ "@angular/platform-browser-dynamic": "~2.4.0",
+ "@angular/router": "~3.4.0",
+ "angular-in-memory-web-api": "~0.2.4",
+ "core-js": "^2.4.1",
+ "gojs": "^1.7.3",
+ "rxjs": "5.0.1",
+ "systemjs": "0.19.40",
+ "zone.js": "^0.7.4"
+ },
+ "devDependencies": {
+ "concurrently": "^3.2.0",
+ "lite-server": "^2.2.2",
+ "typescript": "~2.0.10",
+ "canonical-path": "0.0.2",
+ "tslint": "^3.15.1",
+ "lodash": "^4.16.4",
+ "jasmine-core": "~2.4.1",
+ "karma": "^1.3.0",
+ "karma-chrome-launcher": "^2.0.0",
+ "karma-cli": "^1.0.1",
+ "karma-jasmine": "^1.0.2",
+ "karma-jasmine-html-reporter": "^0.2.2",
+ "protractor": "~4.0.14",
+ "rimraf": "^2.5.4",
+ "@types/node": "^6.0.46",
+ "@types/jasmine": "2.5.36"
+ },
+ "repository": {}
+}
diff --git a/projects/angular2-minimal/tslint.json b/projects/angular2-minimal/tslint.json
new file mode 100644
index 000000000..276453f4f
--- /dev/null
+++ b/projects/angular2-minimal/tslint.json
@@ -0,0 +1,93 @@
+{
+ "rules": {
+ "class-name": true,
+ "comment-format": [
+ true,
+ "check-space"
+ ],
+ "curly": true,
+ "eofline": true,
+ "forin": true,
+ "indent": [
+ true,
+ "spaces"
+ ],
+ "label-position": true,
+ "label-undefined": true,
+ "max-line-length": [
+ true,
+ 140
+ ],
+ "member-access": false,
+ "member-ordering": [
+ true,
+ "static-before-instance",
+ "variables-before-functions"
+ ],
+ "no-arg": true,
+ "no-bitwise": true,
+ "no-console": [
+ true,
+ "debug",
+ "info",
+ "time",
+ "timeEnd",
+ "trace"
+ ],
+ "no-construct": true,
+ "no-debugger": true,
+ "no-duplicate-key": true,
+ "no-duplicate-variable": true,
+ "no-empty": false,
+ "no-eval": true,
+ "no-inferrable-types": true,
+ "no-shadowed-variable": true,
+ "no-string-literal": false,
+ "no-switch-case-fall-through": true,
+ "no-trailing-whitespace": true,
+ "no-unused-expression": true,
+ "no-unused-variable": true,
+ "no-unreachable": true,
+ "no-use-before-declare": true,
+ "no-var-keyword": true,
+ "object-literal-sort-keys": false,
+ "one-line": [
+ true,
+ "check-open-brace",
+ "check-catch",
+ "check-else",
+ "check-whitespace"
+ ],
+ "quotemark": [
+ true,
+ "single"
+ ],
+ "radix": true,
+ "semicolon": [
+ "always"
+ ],
+ "triple-equals": [
+ true,
+ "allow-null-check"
+ ],
+ "typedef-whitespace": [
+ true,
+ {
+ "call-signature": "nospace",
+ "index-signature": "nospace",
+ "parameter": "nospace",
+ "property-declaration": "nospace",
+ "variable-declaration": "nospace"
+ }
+ ],
+ "variable-name": false,
+ "whitespace": [
+ true,
+ "check-branch",
+ "check-decl",
+ "check-operator",
+ "check-separator",
+ "check-type"
+ ]
+ }
+}
diff --git a/release/go-debug.js b/release/go-debug.js
index 34a65a73e..e4b1f4839 100644
--- a/release/go-debug.js
+++ b/release/go-debug.js
@@ -1,9 +1,9 @@
/*
- * GoJS v1.7.2 JavaScript Library for HTML Diagrams
+ * GoJS v1.7.3 JavaScript Library for HTML Diagrams
* Northwoods Software, https://www.nwoods.com/
* GoJS and Northwoods Software are registered trademarks of Northwoods Software Corporation.
* Copyright (C) 1998-2017 by Northwoods Software Corporation. All Rights Reserved.
- * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.7.2/doc/license.html.
+ * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.7.3/doc/license.html.
*/
(function(window) { var f,ca={};if(!window.document||void 0===window.document.createElement("canvas").getContext)throw window.console&&window.console.log("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode."),Error("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode.");if(!Object.defineProperty)throw Error("GoJS requires a newer version of JavaScript");
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return g.apply(a,e.concat(d.call(arguments)))}function c(){}var d=Array.prototype.slice,e=d.call(arguments,1),g=this;c.prototype=this.prototype;b.prototype=new c;return b});
@@ -16,17 +16,17 @@ c.fillRect(h.x||0,h.y||0,h.width,h.height),c.restore())}},BL:function(){u.XE();u
b.ef)},xA:function(a,b,c){a.setTransform(1,0,0,1,0,0);a.scale(b.rd,b.rd);a.transform(c.m11,c.m12,c.m21,c.m22,c.dx,c.dy);c=b.bc.length;for(var d=0;d=d.length)){var e=z.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.xw&&g.xw[d])continue}else if(z.Lx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},nx:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==
-typeof b&&"boolean"!==typeof b&&"function"!==typeof b)if(void 0!==z.Hd(b)){if(!u.Mw.contains(b))if(u.Mw.add(b),u.mw.add(u.DE(a,b)),b instanceof J||b instanceof K||b instanceof oa)for(var c=b.j;c.next();)u.nx(a+"["+c.key+"]",c.value);else for(c in b){var d=z.vb(b,c);if(void 0!==d&&null!==d&&z.Xa(d)&&d!==b.xw){if(b instanceof pa){if(d===b.gi)continue}else if(b instanceof I){if("data"===c||d===b.he)continue;if("itemArray"===c||d===b.cj)continue;if(b instanceof D&&d===b.Jl)continue}else if(!(b instanceof
-C))if(b instanceof ta){if("archetypeGroupData"===c||d===b.Sy)continue}else if(b instanceof ua){if("archetypeLinkData"===c||d===b.Uy)continue;if("archetypeLabelNodeData"===c||d===b.Ty)continue}else if(b instanceof wa){if("archetypeNodeData"===c||d===b.ol)continue}else if(b instanceof L){if("nodeDataArray"===c||d===b.ze)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Gc)continue;if(d===b.vg)continue}else if(b instanceof ya||b instanceof za||b instanceof Aa)continue;u.nx(a+"."+
-c,d)}}}else if(Array.isArray(b))for(c=0;c=d.length)){var e=z.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.xw&&g.xw[d])continue}else if(z.Lx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},nx:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==typeof b&&"boolean"!==typeof b&&
+"function"!==typeof b)if(void 0!==z.Hd(b)){if(!u.Mw.contains(b))if(u.Mw.add(b),u.mw.add(u.DE(a,b)),b instanceof J||b instanceof K||b instanceof oa)for(var c=b.j;c.next();)u.nx(a+"["+c.key+"]",c.value);else for(c in b){var d=z.vb(b,c);if(void 0!==d&&null!==d&&z.Xa(d)&&d!==b.xw){if(b instanceof pa){if(d===b.gi)continue}else if(b instanceof I){if("data"===c||d===b.ge)continue;if("itemArray"===c||d===b.cj)continue;if(b instanceof D&&d===b.Jl)continue}else if(!(b instanceof C))if(b instanceof ta){if("archetypeGroupData"===
+c||d===b.Sy)continue}else if(b instanceof ua){if("archetypeLinkData"===c||d===b.Uy)continue;if("archetypeLabelNodeData"===c||d===b.Ty)continue}else if(b instanceof wa){if("archetypeNodeData"===c||d===b.ol)continue}else if(b instanceof L){if("nodeDataArray"===c||d===b.ye)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Gc)continue;if(d===b.vg)continue}else if(b instanceof ya||b instanceof za||b instanceof Aa)continue;u.nx(a+"."+c,d)}}}else if(Array.isArray(b))for(c=0;c=a.length?a.push(c):a.splice(b,0,c):z.k("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Rg:function(a,b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):
z.k("Cannot remove an object from an HTMLCollection or NodeList at "+b)},Ky:[],P:function(){var a=z.Ky.pop();return void 0===a?new M:a},Fb:function(a,b){var c=z.Ky.pop();if(void 0===c)return new M(a,b);c.x=a;c.y=b;return c},A:function(a){z.Ky.push(a)},$B:[],Am:function(){var a=z.$B.pop();return void 0===a?new Fa:a},Qk:function(a){z.$B.push(a)},Ly:[],Of:function(){var a=z.Ly.pop();return void 0===a?new w:a},fh:function(a,b,c,d){var e=z.Ly.pop();if(void 0===e)return new w(a,b,c,d);e.x=a;e.y=b;e.width=
-c;e.height=d;return e},Mb:function(a){z.Ly.push(a)},aC:[],Pf:function(){var a=z.aC.pop();return void 0===a?new Ga:a},Ie:function(a){z.aC.push(a)},My:null,v:function(){var a=z.My;return null!==a?(z.My=null,a):new Ha},u:function(a){a.reset();z.My=a},ZB:[],tb:function(){var a=z.ZB.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;z.ZB.push(a)},bl:Object.freeze([]),Em:1,xc:function(a){a.__gohashid=z.Em++},pq:function(a){var b=a.__gohashid;void 0===b&&(b=z.Em++,a.__gohashid=b);return b},Hd:function(a){return a.__gohashid},
+c;e.height=d;return e},Mb:function(a){z.Ly.push(a)},aC:[],Pf:function(){var a=z.aC.pop();return void 0===a?new Ga:a},Ie:function(a){z.aC.push(a)},My:null,v:function(){var a=z.My;return null!==a?(z.My=null,a):new Ha},u:function(a){a.reset();z.My=a},ZB:[],tb:function(){var a=z.ZB.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;z.ZB.push(a)},bl:Object.freeze([]),Em:1,wc:function(a){a.__gohashid=z.Em++},oq:function(a){var b=a.__gohashid;void 0===b&&(b=z.Em++,a.__gohashid=b);return b},Hd:function(a){return a.__gohashid},
ka:function(a,b){b.Zy=a;ca[a]=b},Ta:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},Ai:function(a){a.yH=!0},defineProperty:function(a,b,c,d,e){z.h(a,"function","Util.defineProperty:classfunc");z.h(b,"object","Util.defineProperty:propobj");z.h(c,"function","Util.defineProperty:getter");z.h(d,"function","Util.defineProperty:setter");for(var g in b){b=b[g];c={get:c,set:d,enumerable:!0};if(void 0!==e)for(var h in e)c[h]=e[h];Object.defineProperty(a.prototype,
g,c);e=Object.getOwnPropertyDescriptor(a.prototype,g);b&&e&&Object.defineProperty(a.prototype,b,e);break}},IK:!1,w:function(a,b,c,d){z.h(a,"function","Util.defineReadOnlyProperty:classfunc");z.h(b,"object","Util.defineReadOnlyProperty:propobj");z.h(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var g=b[e];b={get:c,set:function(a){z.k('The property "'+g+'" is read-only and cannot be set to '+a)},enumerable:!0};if(void 0!==d)for(var h in d)b[h]=d[h];Object.defineProperty(a.prototype,
-e,b);d=Object.getOwnPropertyDescriptor(a.prototype,e);g&&d&&Object.defineProperty(a.prototype,g,d);break}},ne:function(a,b){for(var c in b)b[c]=!0;a.prototype.xw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?z.uf(a):null===a?"*":""},uf:function(a){if("function"===typeof a){if(a.Zy)return a.Zy;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,c).trim();if(""!==b)return a.Zy=b}else if("object"===typeof a&&a.constructor)return z.uf(a.constructor);
+e,b);d=Object.getOwnPropertyDescriptor(a.prototype,e);g&&d&&Object.defineProperty(a.prototype,g,d);break}},me:function(a,b){for(var c in b)b[c]=!0;a.prototype.xw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?z.uf(a):null===a?"*":""},uf:function(a){if("function"===typeof a){if(a.Zy)return a.Zy;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,c).trim();if(""!==b)return a.Zy=b}else if("object"===typeof a&&a.constructor)return z.uf(a.constructor);
return typeof a},s:function(a,b,c){z.h(a,"function","Util.defineEnumValue:classfunc");z.h(b,"string","Util.defineEnumValue:name");z.h(c,"number","Util.defineEnumValue:num");c=new Ca(a,b,c);Object.freeze(c);a[b]=c;var d=a.hv;d instanceof oa||(d=new oa("string",Ca),a.hv=d);d.add(b,c);return c},vb:function(a,b){if(!a||!b)return null;var c=void 0;try{"function"===typeof b?c=b(a):"function"===typeof a.getAttribute?(c=a.getAttribute(b),null===c&&(c=void 0)):c=a[b]}catch(d){u&&z.trace("property get error: "+
d.toString())}return c},Ua:function(a,b,c){if(a&&b)try{"function"===typeof b?b(a,c):"function"===typeof a.setAttribute?a.setAttribute(b,c):a[b]=c}catch(d){u&&z.trace("property set error: "+d.toString())}},Vu:function(a,b){z.h(a,"object","Setting properties requires Objects as arguments");z.h(b,"object","Setting properties requires Objects as arguments");var c=a instanceof I,d=a instanceof C,e;for(e in b){""===e&&z.k("Setting properties requires non-empty property names");var g=a,h=e;if(c||d){var k=
e.indexOf(".");if(0c;c++)b[c]=c;for(var d=0,e=0,c=0;256>c;c++)d=(d+b[c]+119)%256,e=b[c],b[c]=b[d],b[d]=e;for(var d=c=0,g="",h=0;hc;c++)b["0123456789abcdef".charAt(c>>4)+"0123456789abcdef".charAt(c&15)]=String.fromCharCode(c);a.length%2&&(a="0"+a);for(var d=[],e=0,c=0;cc;c++)b["0123456789abcdef".charAt(c>>4)+"0123456789abcdef".charAt(c&15)]=String.fromCharCode(c);a.length%2&&(a="0"+a);for(var d=[],e=0,c=0;cd;d++)b[z.Sg("7ca11abfd7330390")](z.Sg(c[d-1]),10,15*d+0);b[z.Sg("7ca11abfd022028846")]=z.Sg("39f046ebb36e4b");for(d=1;5>d;d++)b[z.Sg("7ca11abfd7330390")](z.Sg(c[d-
-1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])z.s=function(a,b){var c=new Ca(a,b,2);Object.freeze(c);a[b]=c;var d=a.hv;d instanceof oa||(d=new oa("string",Ca),a.hv=d);d.add(b,c);return c};return a}();function Ca(a,b,c){z.xc(this);this.kC=a;this.Xb=b;this.DH=c}z.ka("EnumValue",Ca);Ca.prototype.toString=function(){return z.uf(this.kC)+"."+this.Xb};z.w(Ca,{Pe:"classType"},function(){return this.kC});z.w(Ca,{name:"name"},function(){return this.Xb});z.w(Ca,{value:"value"},function(){return this.DH});
+1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])z.s=function(a,b){var c=new Ca(a,b,2);Object.freeze(c);a[b]=c;var d=a.hv;d instanceof oa||(d=new oa("string",Ca),a.hv=d);d.add(b,c);return c};return a}();function Ca(a,b,c){z.wc(this);this.kC=a;this.Xb=b;this.DH=c}z.ka("EnumValue",Ca);Ca.prototype.toString=function(){return z.uf(this.kC)+"."+this.Xb};z.w(Ca,{Pe:"classType"},function(){return this.kC});z.w(Ca,{name:"name"},function(){return this.Xb});z.w(Ca,{value:"value"},function(){return this.DH});
var Ja;Ca.findName=Ja=function(a,b){if(void 0===b||null===b||""===b)return null;z.h(a,"function","findName:classfunc");z.h(b,"string","EnumValue.findName:name");var c=a.hv;return c instanceof oa?c.qa(b):null};function Ba(){this.jC=[]}Ba.prototype.toString=function(){return this.jC.join("")};Ba.prototype.add=function(a){""!==a&&this.jC.push(a)};function na(){}
function Ka(a){void 0===a&&(a=42);this.seed=a;this.Gy=48271;this.gv=2147483647;this.YB=this.gv/this.Gy;this.hH=this.gv%this.Gy;this.gH=1/this.gv;this.random()}Ka.prototype.random=function(){var a=this.seed%this.YB*this.Gy-this.seed/this.YB*this.hH;this.seed=0this.key)return!1;z.Va(a)}var a=a.o,b=a.length,c=++this.bd,d=this.mi;if(null!==d)for(;cthis.key)return!1;z.Va(a)}var b=--this.bd;if(0<=b)return this.key=b,this.value=a.o[b],!0;this.Rf();return!1};Wa.prototype.first=Wa.prototype.first=function(){var a=this.Fc;this.qb=a.J;var b=a.o;this.bd=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};
Wa.prototype.any=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=b.o,e=d.length;this.bd=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.J!==c&&z.Va(b)}return!1};Wa.prototype.all=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=b.o,e=d.length;this.bd=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.J!==c&&z.Va(b)}return!0};Wa.prototype.each=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=b.o,e=d.length;this.bd=e;for(e-=1;0<=e;e--)a(d[e]),b.J!==c&&z.Va(b);return this};
Wa.prototype.map=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=[],e=b.o,g=e.length;this.bd=g;for(g-=1;0<=g;g--)d.push(a(e[g])),b.J!==c&&z.Va(b);a=new J;a.o=d;a.Sc();return a.j};Wa.prototype.filter=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=[],e=b.o,g=e.length;this.bd=g;for(g-=1;0<=g;g--){var h=e[g];a(h)&&d.push(h);b.J!==c&&z.Va(b)}a=new J(b.da);a.o=d;a.Sc();return a.j};Wa.prototype.concat=function(a){this.Fc.nk=null;return new Sa(this,a.j)};z.w(Wa,{count:"count"},function(){return this.Fc.o.length});
Wa.prototype.Rf=function(){this.key=-1;this.value=null;this.qb=-1;this.Fc.nk=this};Wa.prototype.toString=function(){return"ListIteratorBackwards("+this.bd+"/"+this.Fc.count+")"};
-function J(a){z.xc(this);this.I=!1;this.o=[];this.J=0;this.nk=this.jc=null;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.da=a:z.wa(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:z.wa(a,"null, a primitive type name, or a class type",
+function J(a){z.wc(this);this.I=!1;this.o=[];this.J=0;this.nk=this.jc=null;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.da=a:z.wa(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:z.wa(a,"null, a primitive type name, or a class type",
"List constructor: type")}z.ka("List",J);J.prototype.nh=function(a){null!==this.da&&("string"===typeof this.da?typeof a===this.da&&null!==a||z.hc(a,this.da):a instanceof this.da||z.hc(a,this.da))};J.prototype.Sc=function(){var a=this.J;a++;999999999a||a>=b.length)&&z.wa(a,"0 <= i < length",J,"elt:i");return b[a]};
-J.prototype.setElt=J.prototype.set=J.prototype.bh=function(a,b){u&&(this.nh(b),z.p(a,J,"setElt:i"));var c=this.o;(0>a||a>=c.length)&&z.wa(a,"0 <= i < length",J,"setElt:i");this.I&&z.pa(this,a);c[a]=b};J.prototype.first=J.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};J.prototype.last=J.prototype.se=function(){var a=this.o,b=a.length;return 0a||a>=c.length)&&z.wa(a,"0 <= i < length",J,"setElt:i");this.I&&z.pa(this,a);c[a]=b};J.prototype.first=J.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};J.prototype.last=J.prototype.re=function(){var a=this.o,b=a.length;return 0a&&z.wa(a,">= 0",J,"insertAt:i");this.I&&z.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Sc();return!0};J.prototype.remove=J.prototype["delete"]=J.prototype.remove=function(a){if(null===a)return!1;u&&this.nh(a);this.I&&z.pa(this,a);var b=this.o;a=b.indexOf(a);if(-1===a)return!1;a===b.length-1?b.pop():b.splice(a,1);this.Sc();return!0};
+J.prototype.insertAt=J.prototype.Yd=function(a,b){u&&(this.nh(b),z.p(a,J,"insertAt:i"));0>a&&z.wa(a,">= 0",J,"insertAt:i");this.I&&z.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Sc();return!0};J.prototype.remove=J.prototype["delete"]=J.prototype.remove=function(a){if(null===a)return!1;u&&this.nh(a);this.I&&z.pa(this,a);var b=this.o;a=b.indexOf(a);if(-1===a)return!1;a===b.length-1?b.pop():b.splice(a,1);this.Sc();return!0};
J.prototype.removeAt=J.prototype.md=function(a){u&&z.p(a,J,"removeAt:i");var b=this.o;(0>a||a>=b.length)&&z.wa(a,"0 <= i < length",J,"removeAt:i");this.I&&z.pa(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Sc()};
J.prototype.removeRange=J.prototype.removeRange=function(a,b){u&&(z.p(a,J,"removeRange:from"),z.p(b,J,"removeRange:to"));var c=this.o,d=c.length;if(0>a)a=0;else if(a>=d)return this;if(0>b)return this;b>=d&&(b=d-1);if(a>b)return this;this.I&&z.pa(this);for(var e=a,g=b+1;g=g)return this;(0>b||b>=e-1)&&z.wa(b,"0 <= from < length",J,"sortRange:from");if(2===g)return c=d[b],e=d[b+1],0=e)d.sort(a);else for(g=d.slice(0,c),g.sort(a),a=0;a=e)for(g=d.slice(b),
g.sort(a),a=b;a=this.o.length)return Na;var a=this.jc;return null!==a?(a.reset(),a):new Va(this)});
-z.w(J,{$n:"iteratorBackwards"},function(){if(0>=this.o.length)return Na;var a=this.nk;return null!==a?(a.reset(),a):new Wa(this)});function Xa(a){this.oi=a;this.reset()}z.ne(Xa,{key:!0,value:!0});z.w(Xa,{j:"iterator"},function(){return this});Xa.prototype.reset=Xa.prototype.reset=function(){var a=this.oi;a.jc=null;this.qb=a.J;this.ob=null};
+z.w(J,{$n:"iteratorBackwards"},function(){if(0>=this.o.length)return Na;var a=this.nk;return null!==a?(a.reset(),a):new Wa(this)});function Xa(a){this.oi=a;this.reset()}z.me(Xa,{key:!0,value:!0});z.w(Xa,{j:"iterator"},function(){return this});Xa.prototype.reset=Xa.prototype.reset=function(){var a=this.oi;a.jc=null;this.qb=a.J;this.ob=null};
Xa.prototype.next=Xa.prototype.hasNext=Xa.prototype.next=function(){var a=this.oi;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};Xa.prototype.first=Xa.prototype.first=function(){var a=this.oi;this.qb=a.J;a=a.La;if(null!==a){this.ob=a;var b=a.value;this.key=a.key;return this.value=b}return null};
Xa.prototype.any=function(a){var b=this.oi;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d.value))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};Xa.prototype.all=function(a){var b=this.oi;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d.value))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};Xa.prototype.each=function(a){var b=this.oi;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d.value),b.J!==c&&z.Va(b),d=d.eb;return this};
Xa.prototype.map=function(a){var b=this.oi;b.jc=null;for(var c=new J,d=b.J,e=b.La;null!==e;)c.add(a(e.value)),b.J!==d&&z.Va(b),e=e.eb;return c.j};Xa.prototype.filter=function(a){var b=this.oi;b.jc=null;for(var c=new J(b.da),d=b.J,e=b.La;null!==e;){var g=e.value;a(g)&&c.add(g);b.J!==d&&z.Va(b);e=e.eb}return c.j};Xa.prototype.concat=function(a){this.oi.jc=null;return new Sa(this,a.j)};z.w(Xa,{count:"count"},function(){return this.oi.Ad});
Xa.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.oi.jc=this};Xa.prototype.toString=function(){return null!==this.ob?"SetIterator@"+this.ob.value:"SetIterator"};
-function K(a){z.xc(this);this.I=!1;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.da=a:z.wa(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Set constructor: type");this.Bd={};this.Ad=0;this.jc=null;this.J=0;this.fi=this.La=null}z.ka("Set",K);
+function K(a){z.wc(this);this.I=!1;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.da=a:z.wa(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Set constructor: type");this.Bd={};this.Ad=0;this.jc=null;this.J=0;this.fi=this.La=null}z.ka("Set",K);
K.prototype.nh=function(a){null!==this.da&&("string"===typeof this.da?typeof a===this.da&&null!==a||z.hc(a,this.da):a instanceof this.da||z.hc(a,this.da))};K.prototype.Sc=function(){var a=this.J;a++;999999999=this.Ad)return Na;var a=this.jc;return null!==a?(a.reset(),a):new Xa(this)});function $a(a){this.Pa=a;this.reset()}z.ne($a,{key:!0,value:!0});z.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){this.qb=this.Pa.J;this.ob=null};
+z.w(K,{size:"size"},function(){return this.Ad});z.w(K,{j:"iterator"},function(){if(0>=this.Ad)return Na;var a=this.jc;return null!==a?(a.reset(),a):new Xa(this)});function $a(a){this.Pa=a;this.reset()}z.me($a,{key:!0,value:!0});z.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){this.qb=this.Pa.J;this.ob=null};
$a.prototype.next=$a.prototype.hasNext=$a.prototype.next=function(){var a=this.Pa;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.value=this.key=a=b.key,!0;this.Rf();return!1};$a.prototype.first=$a.prototype.first=function(){var a=this.Pa;this.qb=a.J;a=a.La;return null!==a?(this.ob=a,this.value=this.key=a=a.key):null};
$a.prototype.any=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d.key))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};$a.prototype.all=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d.key))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};$a.prototype.each=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d.key),b.J!==c&&z.Va(b),d=d.eb;return this};
$a.prototype.map=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)d.add(a(e.key)),b.J!==c&&z.Va(b),e=e.eb;return d.j};$a.prototype.filter=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=new J(b.qf),e=b.La;null!==e;){var g=e.key;a(g)&&d.add(g);b.J!==c&&z.Va(b);e=e.eb}return d.j};$a.prototype.concat=function(a){return new Sa(this,a.j)};z.w($a,{count:"count"},function(){return this.Pa.Ad});$a.prototype.Rf=function(){this.value=this.key=null;this.qb=-1};
-$a.prototype.toString=function(){return null!==this.ob?"MapKeySetIterator@"+this.ob.value:"MapKeySetIterator"};function cb(a){z.xc(this);this.I=!0;this.Pa=a}z.Ta(cb,K);cb.prototype.freeze=function(){return this};cb.prototype.Za=function(){return this};cb.prototype.toString=function(){return"MapKeySet("+this.Pa.toString()+")"};cb.prototype.add=cb.prototype.set=cb.prototype.add=function(){z.k("This Set is read-only: "+this.toString());return!1};
+$a.prototype.toString=function(){return null!==this.ob?"MapKeySetIterator@"+this.ob.value:"MapKeySetIterator"};function cb(a){z.wc(this);this.I=!0;this.Pa=a}z.Ta(cb,K);cb.prototype.freeze=function(){return this};cb.prototype.Za=function(){return this};cb.prototype.toString=function(){return"MapKeySet("+this.Pa.toString()+")"};cb.prototype.add=cb.prototype.set=cb.prototype.add=function(){z.k("This Set is read-only: "+this.toString());return!1};
cb.prototype.contains=cb.prototype.has=cb.prototype.contains=function(a){return this.Pa.contains(a)};cb.prototype.remove=cb.prototype["delete"]=cb.prototype.remove=function(){z.k("This Set is read-only: "+this.toString());return!1};cb.prototype.clear=cb.prototype.clear=function(){z.k("This Set is read-only: "+this.toString())};cb.prototype.first=cb.prototype.first=function(){var a=this.Pa.La;return null!==a?a.key:null};
cb.prototype.any=function(a){for(var b=this.Pa.La;null!==b;){if(a(b.key))return!0;b=b.eb}return!1};cb.prototype.all=function(a){for(var b=this.Pa.La;null!==b;){if(!a(b.key))return!1;b=b.eb}return!0};cb.prototype.each=function(a){for(var b=this.Pa.La;null!==b;)a(b.key),b=b.eb;return this};cb.prototype.map=function(a){for(var b=new K,c=this.Pa.La;null!==c;)b.add(a(c.key)),c=c.eb;return b};
cb.prototype.filter=function(a){for(var b=new K(this.Pa.qf),c=this.Pa.La;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.eb}return b};cb.prototype.concat=function(a){return this.SG().Uc(a)};cb.prototype.copy=function(){return new cb(this.Pa)};cb.prototype.toSet=cb.prototype.SG=function(){var a=new K(this.Pa.qf),b=this.Pa.Bd,c;for(c in b)a.add(b[c].key);return a};cb.prototype.toArray=cb.prototype.nc=function(){var a=this.Pa.Bd,b=Array(this.Pa.Ad),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};
-cb.prototype.toList=function(){var a=new J(this.da),b=this.Pa.Bd,c;for(c in b)a.add(b[c].key);return a};z.w(cb,{count:"count"},function(){return this.Pa.Ad});z.w(cb,{size:"size"},function(){return this.Pa.Ad});z.w(cb,{j:"iterator"},function(){return 0>=this.Pa.Ad?Na:new $a(this.Pa)});function gb(a){this.Pa=a;this.reset()}z.ne(gb,{key:!0,value:!0});z.w(gb,{j:"iterator"},function(){return this});gb.prototype.reset=gb.prototype.reset=function(){var a=this.Pa;a.ok=null;this.qb=a.J;this.ob=null};
+cb.prototype.toList=function(){var a=new J(this.da),b=this.Pa.Bd,c;for(c in b)a.add(b[c].key);return a};z.w(cb,{count:"count"},function(){return this.Pa.Ad});z.w(cb,{size:"size"},function(){return this.Pa.Ad});z.w(cb,{j:"iterator"},function(){return 0>=this.Pa.Ad?Na:new $a(this.Pa)});function gb(a){this.Pa=a;this.reset()}z.me(gb,{key:!0,value:!0});z.w(gb,{j:"iterator"},function(){return this});gb.prototype.reset=gb.prototype.reset=function(){var a=this.Pa;a.ok=null;this.qb=a.J;this.ob=null};
gb.prototype.next=gb.prototype.hasNext=gb.prototype.next=function(){var a=this.Pa;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};gb.prototype.first=gb.prototype.first=function(){var a=this.Pa;this.qb=a.J;a=a.La;if(null!==a){this.ob=a;var b=a.value;this.key=a.key;return this.value=b}return null};
gb.prototype.any=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d.value))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};gb.prototype.all=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d.value))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};gb.prototype.each=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d.value),b.J!==c&&z.Va(b),d=d.eb;return this};
gb.prototype.map=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)d.add(a(e.value)),b.J!==c&&z.Va(b),e=e.eb;return d.j};gb.prototype.filter=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=new J(b.qf),e=b.La;null!==e;){var g=e.value;a(g)&&d.add(g);b.J!==c&&z.Va(b);e=e.eb}return d.j};gb.prototype.concat=function(a){this.Pa.ok=null;return new Sa(this,a.j)};z.w(gb,{count:"count"},function(){return this.Pa.Ad});
-gb.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.Pa.ok=this};gb.prototype.toString=function(){return null!==this.ob?"MapValueSetIterator@"+this.ob.value:"MapValueSetIterator"};function Za(a,b){this.key=a;this.value=b;this.Cp=this.eb=null}z.ne(Za,{key:!0,value:!0});Za.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};function ib(a){this.Pa=a;this.reset()}z.ne(ib,{key:!0,value:!0});z.w(ib,{j:"iterator"},function(){return this});
+gb.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.Pa.ok=this};gb.prototype.toString=function(){return null!==this.ob?"MapValueSetIterator@"+this.ob.value:"MapValueSetIterator"};function Za(a,b){this.key=a;this.value=b;this.Bp=this.eb=null}z.me(Za,{key:!0,value:!0});Za.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};function ib(a){this.Pa=a;this.reset()}z.me(ib,{key:!0,value:!0});z.w(ib,{j:"iterator"},function(){return this});
ib.prototype.reset=ib.prototype.reset=function(){var a=this.Pa;a.jc=null;this.qb=a.J;this.ob=null};ib.prototype.next=ib.prototype.hasNext=ib.prototype.next=function(){var a=this.Pa;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.key=b.key,this.value=b.value,!0;this.Rf();return!1};
ib.prototype.first=ib.prototype.first=function(){var a=this.Pa;this.qb=a.J;a=a.La;return null!==a?(this.ob=a,this.key=a.key,this.value=a.value,a):null};ib.prototype.any=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};ib.prototype.all=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};
ib.prototype.each=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d),b.J!==c&&z.Va(b),d=d.eb;return this};ib.prototype.map=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)d.add(a(e)),b.J!==c&&z.Va(b),e=e.eb;return d.j};ib.prototype.filter=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)a(e)&&d.add(e),b.J!==c&&z.Va(b),e=e.eb;return d.j};
ib.prototype.concat=function(a){this.Pa.jc=null;return new Sa(this,a.j)};z.w(ib,{count:"count"},function(){return this.Pa.Ad});ib.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.Pa.jc=this};ib.prototype.toString=function(){return null!==this.ob?"MapIterator@"+this.ob:"MapIterator"};
-function oa(a,b){z.xc(this);this.I=!1;void 0===a||null===a?this.qf=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.qf=a:z.wa(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.qf=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Map constructor: keytype");void 0===b||null===b?this.yi=null:"string"===typeof b?"object"===b||"string"===b||"boolean"===b||"number"===
+function oa(a,b){z.wc(this);this.I=!1;void 0===a||null===a?this.qf=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.qf=a:z.wa(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.qf=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Map constructor: keytype");void 0===b||null===b?this.yi=null:"string"===typeof b?"object"===b||"string"===b||"boolean"===b||"number"===
b||"function"===b?this.yi=b:z.wa(b,"the string 'object', 'number', 'string', 'boolean', or 'function'","Map constructor: valtype"):"function"===typeof b?this.yi=b===Object?"object":b===String?"string":b===Number?"number":b===Boolean?"boolean":b===Function?"function":b:z.wa(b,"null, a primitive type name, or a class type","Map constructor: valtype");this.Bd={};this.Ad=0;this.ok=this.jc=null;this.J=0;this.fi=this.La=null}z.ka("Map",oa);
function mb(a,b){null!==a.qf&&("string"===typeof a.qf?typeof b===a.qf&&null!==b||z.hc(b,a.qf):b instanceof a.qf||z.hc(b,a.qf))}oa.prototype.Sc=function(){var a=this.J;a++;999999999=this.count)return Na;var a=this.jc;return null!==a?(a.reset(),a):new ib(this)});z.w(oa,{OF:"iteratorKeys"},function(){return 0>=this.count?Na:new $a(this)});z.w(oa,{PF:"iteratorValues"},function(){if(0>=this.count)return Na;var a=this.ok;return null!==a?(a.reset(),a):new gb(this)});function M(a,b){void 0===a?this.M=this.L=0:"number"===typeof a&&"number"===typeof b?(this.L=a,this.M=b):z.k("Invalid arguments to Point constructor: "+a+", "+b);this.I=!1}
-z.ka("Point",M);z.Ai(M);z.ne(M,{x:!0,y:!0});M.prototype.assign=function(a){this.L=a.L;this.M=a.M};M.prototype.setTo=M.prototype.m=function(a,b){u&&(z.h(a,"number",M,"setTo:x"),z.h(b,"number",M,"setTo:y"));this.L=a;this.M=b;return this};M.prototype.set=M.prototype.set=function(a){u&&z.l(a,M,M,"set:p");this.Sa();this.L=a.L;this.M=a.M;return this};M.prototype.copy=function(){var a=new M;a.L=this.L;a.M=this.M;return a};f=M.prototype;f.Na=function(){this.I=!0;Object.freeze(this);return this};
+z.ka("Point",M);z.Ai(M);z.me(M,{x:!0,y:!0});M.prototype.assign=function(a){this.L=a.L;this.M=a.M};M.prototype.setTo=M.prototype.m=function(a,b){u&&(z.h(a,"number",M,"setTo:x"),z.h(b,"number",M,"setTo:y"));this.L=a;this.M=b;return this};M.prototype.set=M.prototype.set=function(a){u&&z.l(a,M,M,"set:p");this.Sa();this.L=a.L;this.M=a.M;return this};M.prototype.copy=function(){var a=new M;a.L=this.L;a.M=this.M;return a};f=M.prototype;f.Na=function(){this.I=!0;Object.freeze(this);return this};
f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Point is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
M.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));return new M(c,e)}return new M};M.stringify=function(a){return a instanceof M?a.x.toString()+" "+a.y.toString():a.toString()};M.prototype.toString=function(){return"Point("+this.x+","+this.y+")"};M.prototype.equals=M.prototype.O=function(a){return a instanceof M?this.L===a.x&&this.M===a.y:!1};
-M.prototype.equalTo=M.prototype.Ax=function(a,b){return this.L===a&&this.M===b};M.prototype.equalsApprox=M.prototype.Vc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)};M.prototype.add=M.prototype.add=function(a){u&&z.l(a,M,M,"add:p");this.Sa();this.L+=a.x;this.M+=a.y;return this};M.prototype.subtract=M.prototype.so=function(a){u&&z.l(a,M,M,"subtract:p");this.Sa();this.L-=a.x;this.M-=a.y;return this};
+M.prototype.equalTo=M.prototype.Ax=function(a,b){return this.L===a&&this.M===b};M.prototype.equalsApprox=M.prototype.Vc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)};M.prototype.add=M.prototype.add=function(a){u&&z.l(a,M,M,"add:p");this.Sa();this.L+=a.x;this.M+=a.y;return this};M.prototype.subtract=M.prototype.ro=function(a){u&&z.l(a,M,M,"subtract:p");this.Sa();this.L-=a.x;this.M-=a.y;return this};
M.prototype.offset=M.prototype.offset=function(a,b){u&&(z.p(a,M,"offset:dx"),z.p(b,M,"offset:dy"));this.Sa();this.L+=a;this.M+=b;return this};M.prototype.rotate=M.prototype.rotate=function(a){u&&z.p(a,M,"rotate:angle");this.Sa();if(0===a)return this;var b=this.L,c=this.M;if(0===b&&0===c)return this;var d=0,e=0;360<=a?a-=360:0>a&&(a+=360);90===a?(d=0,e=1):180===a?(d=-1,e=0):270===a?(d=0,e=-1):(a=a*Math.PI/180,d=Math.cos(a),e=Math.sin(a));this.L=d*b-e*c;this.M=e*b+d*c;return this};
-M.prototype.scale=M.prototype.scale=function(a,b){u&&(z.p(a,M,"scale:sx"),z.p(b,M,"scale:sy"));this.L*=a;this.M*=b;return this};M.prototype.distanceSquaredPoint=M.prototype.Ef=function(a){u&&z.l(a,M,M,"distanceSquaredPoint:p");var b=a.x-this.L;a=a.y-this.M;return b*b+a*a};M.prototype.distanceSquared=M.prototype.iq=function(a,b){u&&(z.p(a,M,"distanceSquared:px"),z.p(b,M,"distanceSquared:py"));var c=a-this.L,d=b-this.M;return c*c+d*d};
+M.prototype.scale=M.prototype.scale=function(a,b){u&&(z.p(a,M,"scale:sx"),z.p(b,M,"scale:sy"));this.L*=a;this.M*=b;return this};M.prototype.distanceSquaredPoint=M.prototype.Ef=function(a){u&&z.l(a,M,M,"distanceSquaredPoint:p");var b=a.x-this.L;a=a.y-this.M;return b*b+a*a};M.prototype.distanceSquared=M.prototype.hq=function(a,b){u&&(z.p(a,M,"distanceSquared:px"),z.p(b,M,"distanceSquared:py"));var c=a-this.L,d=b-this.M;return c*c+d*d};
M.prototype.normalize=M.prototype.normalize=function(){this.Sa();var a=this.L,b=this.M,c=Math.sqrt(a*a+b*b);0b?270:0;if(0===b)return 0a?c=0>b?c+180:180-c:0>b&&(c=360-c);return c}M.prototype.projectOntoLineSegment=function(a,b,c,d){u&&(z.p(a,M,"projectOntoLineSegment:px"),z.p(b,M,"projectOntoLineSegment:py"),z.p(c,M,"projectOntoLineSegment:qx"),z.p(d,M,"projectOntoLineSegment:qy"));ob(a,b,c,d,this.L,this.M,this);return this};
M.prototype.projectOntoLineSegmentPoint=function(a,b){u&&(z.l(a,M,M,"projectOntoLineSegmentPoint:p"),z.l(b,M,M,"projectOntoLineSegmentPoint:q"));ob(a.x,a.y,b.x,b.y,this.L,this.M,this);return this};M.prototype.snapToGrid=function(a,b,c,d){u&&(z.p(a,M,"snapToGrid:originx"),z.p(b,M,"snapToGrid:originy"),z.p(c,M,"snapToGrid:cellwidth"),z.p(d,M,"snapToGrid:cellheight"));tb(this.L,this.M,a,b,c,d,this);return this};
-M.prototype.snapToGridPoint=function(a,b){u&&(z.l(a,M,M,"snapToGridPoint:p"),z.l(b,Fa,M,"snapToGridPoint:q"));tb(this.L,this.M,a.x,a.y,b.width,b.height,this);return this};M.prototype.setRectSpot=M.prototype.po=function(a,b){u&&(z.l(a,w,M,"setRectSpot:r"),z.l(b,R,M,"setRectSpot:spot"));this.Sa();this.L=a.x+b.x*a.width+b.offsetX;this.M=a.y+b.y*a.height+b.offsetY;return this};
+M.prototype.snapToGridPoint=function(a,b){u&&(z.l(a,M,M,"snapToGridPoint:p"),z.l(b,Fa,M,"snapToGridPoint:q"));tb(this.L,this.M,a.x,a.y,b.width,b.height,this);return this};M.prototype.setRectSpot=M.prototype.oo=function(a,b){u&&(z.l(a,w,M,"setRectSpot:r"),z.l(b,R,M,"setRectSpot:spot"));this.Sa();this.L=a.x+b.x*a.width+b.offsetX;this.M=a.y+b.y*a.height+b.offsetY;return this};
M.prototype.setSpot=M.prototype.Xu=function(a,b,c,d,e){u&&(z.p(a,M,"setSpot:x"),z.p(b,M,"setSpot:y"),z.p(c,M,"setSpot:w"),z.p(d,M,"setSpot:h"),(0>c||0>d)&&z.k("Point.setSpot:Width and height cannot be negative"),z.l(e,R,M,"setSpot:spot"));this.Sa();this.L=a+e.x*c+e.offsetX;this.M=b+e.y*d+e.offsetY;return this};M.prototype.transform=function(a){u&&z.l(a,Ga,M,"transform:t");a.wb(this);return this};function ub(a,b){u&&z.l(b,Ga,M,"transformInverted:t");b.Ci(a);return a}var xb;
M.distanceLineSegmentSquared=xb=function(a,b,c,d,e,g){u&&(z.p(a,M,"distanceLineSegmentSquared:px"),z.p(b,M,"distanceLineSegmentSquared:py"),z.p(c,M,"distanceLineSegmentSquared:ax"),z.p(d,M,"distanceLineSegmentSquared:ay"),z.p(e,M,"distanceLineSegmentSquared:bx"),z.p(g,M,"distanceLineSegmentSquared:by"));var h=e-c,k=g-d,l=h*h+k*k;c-=a;d-=b;var m=-c*h-d*k;if(0>=m||m>=l)return h=e-a,k=g-b,Math.min(c*c+d*d,h*h+k*k);a=h*d-k*c;return a*a/l};var yb;
M.distanceSquared=yb=function(a,b,c,d){u&&(z.p(a,M,"distanceSquared:px"),z.p(b,M,"distanceSquared:py"),z.p(c,M,"distanceSquared:qx"),z.p(d,M,"distanceSquared:qy"));a=c-a;b=d-b;return a*a+b*b};var zb;
M.direction=zb=function(a,b,c,d){u&&(z.p(a,M,"direction:px"),z.p(b,M,"direction:py"),z.p(c,M,"direction:qx"),z.p(d,M,"direction:qy"));a=c-a;b=d-b;if(0===a)return 0b?270:0;if(0===b)return 0a?d=0>b?d+180:180-d:0>b&&(d=360-d);return d};z.defineProperty(M,{x:"x"},function(){return this.L},function(a){this.Sa(a);u&&z.h(a,"number",M,"x");this.L=a});
-z.defineProperty(M,{y:"y"},function(){return this.M},function(a){this.Sa(a);u&&z.h(a,"number",M,"y");this.M=a});M.prototype.isReal=M.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)};function Fa(a,b){void 0===a?this.Ga=this.Ia=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.Ia=a,this.Ga=b):z.k("Invalid arguments to Size constructor: "+a+", "+b);this.I=!1}z.ka("Size",Fa);z.Ai(Fa);z.ne(Fa,{width:!0,height:!0});
+z.defineProperty(M,{y:"y"},function(){return this.M},function(a){this.Sa(a);u&&z.h(a,"number",M,"y");this.M=a});M.prototype.isReal=M.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)};function Fa(a,b){void 0===a?this.Ga=this.Ia=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.Ia=a,this.Ga=b):z.k("Invalid arguments to Size constructor: "+a+", "+b);this.I=!1}z.ka("Size",Fa);z.Ai(Fa);z.me(Fa,{width:!0,height:!0});
Fa.prototype.assign=function(a){this.Ia=a.Ia;this.Ga=a.Ga};Fa.prototype.setTo=Fa.prototype.m=function(a,b){u&&(z.h(a,"number",Fa,"setTo:w"),z.h(b,"number",Fa,"setTo:h"),0>a&&z.wa(a,">= 0",Fa,"setTo:w"),0>b&&z.wa(b,">= 0",Fa,"setTo:h"));this.Ia=a;this.Ga=b;return this};Fa.prototype.set=Fa.prototype.set=function(a){u&&z.l(a,Fa,Fa,"set:s");this.Sa();this.Ia=a.Ia;this.Ga=a.Ga;return this};Fa.prototype.copy=function(){var a=new Fa;a.Ia=this.Ia;a.Ga=this.Ga;return a};f=Fa.prototype;
f.Na=function(){this.I=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Size is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
Fa.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));return new Fa(c,e)}return new Fa};Fa.stringify=function(a){return a instanceof Fa?a.width.toString()+" "+a.height.toString():a.toString()};Fa.prototype.toString=function(){return"Size("+this.width+","+this.height+")"};
Fa.prototype.equals=Fa.prototype.O=function(a){return a instanceof Fa?this.Ia===a.width&&this.Ga===a.height:!1};Fa.prototype.equalTo=Fa.prototype.Ax=function(a,b){return this.Ia===a&&this.Ga===b};Fa.prototype.equalsApprox=Fa.prototype.Vc=function(a){return Q(this.Ia,a.width)&&Q(this.Ga,a.height)};z.defineProperty(Fa,{width:"width"},function(){return this.Ia},function(a){this.Sa(a);u&&z.h(a,"number",Fa,"width");0>a&&z.wa(a,">= 0",Fa,"width");this.Ia=a});
z.defineProperty(Fa,{height:"height"},function(){return this.Ga},function(a){this.Sa(a);u&&z.h(a,"number",Fa,"height");0>a&&z.wa(a,">= 0",Fa,"height");this.Ga=a});Fa.prototype.isReal=Fa.prototype.F=function(){return isFinite(this.width)&&isFinite(this.height)};
function w(a,b,c,d){void 0===a?this.Ga=this.Ia=this.M=this.L=0:a instanceof M?b instanceof M?(this.L=Math.min(a.L,b.L),this.M=Math.min(a.M,b.M),this.Ia=Math.abs(a.L-b.L),this.Ga=Math.abs(a.M-b.M)):b instanceof Fa?(this.L=a.L,this.M=a.M,this.Ia=b.Ia,this.Ga=b.Ga):z.k("Incorrect arguments supplied to Rect constructor"):"number"===typeof a&&"number"===typeof b&&"number"===typeof c&&(0<=c||isNaN(c))&&"number"===typeof d&&(0<=d||isNaN(d))?(this.L=a,this.M=b,this.Ia=c,this.Ga=d):z.k("Invalid arguments to Rect constructor: "+
-a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Rect",w);z.Ai(w);z.ne(w,{x:!0,y:!0,width:!0,height:!0});w.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ga=a.Ga};function Ab(a,b,c){a.Ia=b;a.Ga=c}w.prototype.setTo=w.prototype.m=function(a,b,c,d){u&&(z.h(a,"number",w,"setTo:x"),z.h(b,"number",w,"setTo:y"),z.h(c,"number",w,"setTo:w"),z.h(d,"number",w,"setTo:h"),0>c&&z.wa(c,">= 0",w,"setTo:w"),0>d&&z.wa(d,">= 0",w,"setTo:h"));this.L=a;this.M=b;this.Ia=c;this.Ga=d;return this};
+a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Rect",w);z.Ai(w);z.me(w,{x:!0,y:!0,width:!0,height:!0});w.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ga=a.Ga};function Ab(a,b,c){a.Ia=b;a.Ga=c}w.prototype.setTo=w.prototype.m=function(a,b,c,d){u&&(z.h(a,"number",w,"setTo:x"),z.h(b,"number",w,"setTo:y"),z.h(c,"number",w,"setTo:w"),z.h(d,"number",w,"setTo:h"),0>c&&z.wa(c,">= 0",w,"setTo:w"),0>d&&z.wa(d,">= 0",w,"setTo:h"));this.L=a;this.M=b;this.Ia=c;this.Ga=d;return this};
w.prototype.set=w.prototype.set=function(a){u&&z.l(a,w,w,"set:r");this.Sa();this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ga=a.Ga;return this};w.prototype.setPoint=w.prototype.dh=function(a){u&&z.l(a,M,w,"setPoint:p");this.Sa();this.L=a.L;this.M=a.M;return this};w.prototype.setSize=function(a){u&&z.l(a,Fa,w,"setSize:s");this.Sa();this.Ia=a.Ia;this.Ga=a.Ga;return this};w.prototype.copy=function(){var a=new w;a.L=this.L;a.M=this.M;a.Ia=this.Ia;a.Ga=this.Ga;return a};f=w.prototype;
f.Na=function(){this.I=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Rect is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
w.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));for(var g=0;""===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));for(var h=0;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return new w(c,e,g,h)}return new w};w.stringify=function(a){return a instanceof w?a.x.toString()+" "+a.y.toString()+" "+a.width.toString()+" "+a.height.toString():a.toString()};
@@ -151,7 +151,7 @@ w.prototype.subtractMargin=w.prototype.sK=function(a){u&&z.l(a,Kb,w,"subtractMar
w.prototype.intersectRect=function(a){u&&z.l(a,w,w,"intersectRect:r");return Lb(this,a.x,a.y,a.width,a.height)};w.prototype.intersect=w.prototype.zF=function(a,b,c,d){u&&(z.p(a,w,"intersect:x"),z.p(b,w,"intersect:y"),z.p(c,w,"intersect:w"),z.p(d,w,"intersect:h"),(0>c||0>d)&&z.k("Rect.intersect:Width and height cannot be negative"));return Lb(this,a,b,c,d)};
function Lb(a,b,c,d,e){a.Sa();var g=Math.max(a.L,b),h=Math.max(a.M,c);b=Math.min(a.L+a.Ia,b+d);c=Math.min(a.M+a.Ga,c+e);a.L=g;a.M=h;a.Ia=Math.max(0,b-g);a.Ga=Math.max(0,c-h);return a}w.prototype.intersectsRect=w.prototype.Vg=function(a){u&&z.l(a,w,w,"intersectsRect:r");return this.AF(a.x,a.y,a.width,a.height)};
w.prototype.intersects=w.prototype.AF=function(a,b,c,d){u&&(z.p(a,w,"intersects:x"),z.p(b,w,"intersects:y"),z.p(a,w,"intersects:w"),z.p(b,w,"intersects:h"),(0>c||0>d)&&z.k("Rect.intersects:Width and height cannot be negative"));var e=this.Ia,g=this.L;if(Infinity!==e&&Infinity!==c&&(e+=g,c+=a,isNaN(c)||isNaN(e)||g>c||a>e))return!1;a=this.Ga;c=this.M;return Infinity!==a&&Infinity!==d&&(a+=c,d+=b,isNaN(d)||isNaN(a)||c>d||b>a)?!1:!0};
-function Mb(a,b){var c=a.Ia,d=b.width+10+10,e=a.L,g=b.x-10;if(e>d+g||g>c+e)return!1;c=a.Ga;d=b.height+10+10;e=a.M;g=b.y-10;return e>d+g||g>c+e?!1:!0}w.prototype.unionPoint=w.prototype.Ki=function(a){u&&z.l(a,M,w,"unionPoint:p");return Rb(this,a.x,a.y,0,0)};w.prototype.unionRect=w.prototype.Wh=function(a){u&&z.l(a,w,w,"unionRect:r");return Rb(this,a.L,a.M,a.Ia,a.Ga)};
+function Qb(a,b){var c=a.Ia,d=b.width+10+10,e=a.L,g=b.x-10;if(e>d+g||g>c+e)return!1;c=a.Ga;d=b.height+10+10;e=a.M;g=b.y-10;return e>d+g||g>c+e?!1:!0}w.prototype.unionPoint=w.prototype.Ki=function(a){u&&z.l(a,M,w,"unionPoint:p");return Rb(this,a.x,a.y,0,0)};w.prototype.unionRect=w.prototype.Wh=function(a){u&&z.l(a,w,w,"unionRect:r");return Rb(this,a.L,a.M,a.Ia,a.Ga)};
w.prototype.union=w.prototype.$G=function(a,b,c,d){this.Sa();u?(z.p(a,w,"union:x"),z.p(b,w,"union:y"),void 0===c?c=0:z.p(c,w,"union:w"),void 0===d?d=0:z.p(d,w,"union:h"),(0>c||0>d)&&z.k("Rect.union:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return Rb(this,a,b,c,d)};function Rb(a,b,c,d,e){var g=Math.min(a.L,b),h=Math.min(a.M,c);b=Math.max(a.L+a.Ia,b+d);c=Math.max(a.M+a.Ga,c+e);a.L=g;a.M=h;a.Ia=b-g;a.Ga=c-h;return a}
w.prototype.setSpot=w.prototype.Xu=function(a,b,c){u&&(z.p(a,w,"setSpot:x"),z.p(b,w,"setSpot:y"),z.l(c,R,w,"setSpot:spot"));this.Sa();this.L=a-c.offsetX-c.x*this.Ia;this.M=b-c.offsetY-c.y*this.Ga;return this};var Sb;
w.contains=Sb=function(a,b,c,d,e,g,h,k){u?(z.p(a,w,"contains:rx"),z.p(b,w,"contains:ry"),z.p(c,w,"contains:rw"),z.p(d,w,"contains:rh"),z.p(e,w,"contains:x"),z.p(g,w,"contains:y"),void 0===h?h=0:z.p(h,w,"contains:w"),void 0===k?k=0:z.p(k,w,"contains:h"),(0>c||0>d||0>h||0>k)&&z.k("Rect.contains:Width and height cannot be negative")):(void 0===h&&(h=0),void 0===k&&(k=0));return a<=e&&e+h<=a+c&&b<=g&&g+k<=b+d};
@@ -161,14 +161,14 @@ z.defineProperty(w,{left:"left"},function(){return this.L},function(a){this.Sa(a
z.defineProperty(w,{bottom:"bottom"},function(){return this.M+this.Ga},function(a){this.Sa(a);u&&z.p(a,w,"top");this.M+=a-(this.M+this.Ga)});z.defineProperty(w,{position:"position"},function(){return new M(this.L,this.M)},function(a){this.Sa(a);u&&z.l(a,M,w,"position");this.L=a.x;this.M=a.y});z.defineProperty(w,{size:"size"},function(){return new Fa(this.Ia,this.Ga)},function(a){this.Sa(a);u&&z.l(a,Fa,w,"size");this.Ia=a.width;this.Ga=a.height});
z.defineProperty(w,{$l:"center"},function(){return new M(this.L+this.Ia/2,this.M+this.Ga/2)},function(a){this.Sa(a);u&&z.l(a,M,w,"center");this.L=a.x-this.Ia/2;this.M=a.y-this.Ga/2});z.defineProperty(w,{oa:"centerX"},function(){return this.L+this.Ia/2},function(a){this.Sa(a);u&&z.p(a,w,"centerX");this.L=a-this.Ia/2});z.defineProperty(w,{xa:"centerY"},function(){return this.M+this.Ga/2},function(a){this.Sa(a);u&&z.p(a,w,"centerY");this.M=a-this.Ga/2});
w.prototype.isReal=w.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)};w.prototype.isEmpty=function(){return 0===this.width&&0===this.height};
-function Kb(a,b,c,d){void 0===a?this.th=this.mh=this.Ch=this.Dh=0:void 0===b?this.left=this.bottom=this.right=this.top=a:void 0===c?(d=b,this.top=a,this.right=b,this.bottom=a,this.left=d):void 0!==d?(this.top=a,this.right=b,this.bottom=c,this.left=d):z.k("Invalid arguments to Margin constructor: "+a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Margin",Kb);z.Ai(Kb);z.ne(Kb,{top:!0,right:!0,bottom:!0,left:!0});Kb.prototype.assign=function(a){this.Dh=a.Dh;this.Ch=a.Ch;this.mh=a.mh;this.th=a.th};
+function Kb(a,b,c,d){void 0===a?this.th=this.mh=this.Ch=this.Dh=0:void 0===b?this.left=this.bottom=this.right=this.top=a:void 0===c?(d=b,this.top=a,this.right=b,this.bottom=a,this.left=d):void 0!==d?(this.top=a,this.right=b,this.bottom=c,this.left=d):z.k("Invalid arguments to Margin constructor: "+a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Margin",Kb);z.Ai(Kb);z.me(Kb,{top:!0,right:!0,bottom:!0,left:!0});Kb.prototype.assign=function(a){this.Dh=a.Dh;this.Ch=a.Ch;this.mh=a.mh;this.th=a.th};
Kb.prototype.setTo=Kb.prototype.m=function(a,b,c,d){u&&(z.h(a,"number",Kb,"setTo:t"),z.h(b,"number",Kb,"setTo:r"),z.h(c,"number",Kb,"setTo:b"),z.h(d,"number",Kb,"setTo:l"));this.Sa();this.Dh=a;this.Ch=b;this.mh=c;this.th=d;return this};Kb.prototype.set=Kb.prototype.set=function(a){u&&z.l(a,Kb,Kb,"assign:m");this.Sa();this.Dh=a.Dh;this.Ch=a.Ch;this.mh=a.mh;this.th=a.th;return this};Kb.prototype.copy=function(){var a=new Kb;a.Dh=this.Dh;a.Ch=this.Ch;a.mh=this.mh;a.th=this.th;return a};f=Kb.prototype;
f.Na=function(){this.I=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Margin is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
Kb.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=NaN;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));if(isNaN(c))return new Kb;for(var e=NaN;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));if(isNaN(e))return new Kb(c);for(var g=NaN;""===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));if(isNaN(g))return new Kb(c,e);for(var h=NaN;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return isNaN(h)?new Kb(c,e):new Kb(c,e,g,h)}return new Kb};
Kb.stringify=function(a){return a instanceof Kb?a.top.toString()+" "+a.right.toString()+" "+a.bottom.toString()+" "+a.left.toString():a.toString()};Kb.prototype.toString=function(){return"Margin("+this.top+","+this.right+","+this.bottom+","+this.left+")"};Kb.prototype.equals=Kb.prototype.O=function(a){return a instanceof Kb?this.Dh===a.top&&this.Ch===a.right&&this.mh===a.bottom&&this.th===a.left:!1};
Kb.prototype.equalTo=Kb.prototype.Ax=function(a,b,c,d){return this.Dh===a&&this.Ch===b&&this.mh===c&&this.th===d};Kb.prototype.equalsApprox=Kb.prototype.Vc=function(a){return Q(this.Dh,a.top)&&Q(this.Ch,a.right)&&Q(this.mh,a.bottom)&&Q(this.th,a.left)};z.defineProperty(Kb,{top:"top"},function(){return this.Dh},function(a){this.Sa(a);u&&z.p(a,Kb,"top");this.Dh=a});z.defineProperty(Kb,{right:"right"},function(){return this.Ch},function(a){this.Sa(a);u&&z.p(a,Kb,"right");this.Ch=a});
z.defineProperty(Kb,{bottom:"bottom"},function(){return this.mh},function(a){this.Sa(a);u&&z.p(a,Kb,"bottom");this.mh=a});z.defineProperty(Kb,{left:"left"},function(){return this.th},function(a){this.Sa(a);u&&z.p(a,Kb,"left");this.th=a});Kb.prototype.isReal=Kb.prototype.F=function(){return isFinite(this.top)&&isFinite(this.right)&&isFinite(this.bottom)&&isFinite(this.left)};function Ga(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0}z.Ai(Ga);
-z.ne(Ga,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});Ga.prototype.set=Ga.prototype.set=function(a){u&&z.l(a,Ga,Ga,"set:t");this.m11=a.m11;this.m12=a.m12;this.m21=a.m21;this.m22=a.m22;this.dx=a.dx;this.dy=a.dy;return this};Ga.prototype.copy=function(){var a=new Ga;a.m11=this.m11;a.m12=this.m12;a.m21=this.m21;a.m22=this.m22;a.dx=this.dx;a.dy=this.dy;return a};Ga.prototype.toString=function(){return"Transform("+this.m11+","+this.m12+","+this.m21+","+this.m22+","+this.dx+","+this.dy+")"};
+z.me(Ga,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});Ga.prototype.set=Ga.prototype.set=function(a){u&&z.l(a,Ga,Ga,"set:t");this.m11=a.m11;this.m12=a.m12;this.m21=a.m21;this.m22=a.m22;this.dx=a.dx;this.dy=a.dy;return this};Ga.prototype.copy=function(){var a=new Ga;a.m11=this.m11;a.m12=this.m12;a.m21=this.m21;a.m22=this.m22;a.dx=this.dx;a.dy=this.dy;return a};Ga.prototype.toString=function(){return"Transform("+this.m11+","+this.m12+","+this.m21+","+this.m22+","+this.dx+","+this.dy+")"};
Ga.prototype.equals=Ga.prototype.O=function(a){return a instanceof Ga?this.m11===a.m11&&this.m12===a.m12&&this.m21===a.m21&&this.m22===a.m22&&this.dx===a.dx&&this.dy===a.dy:!1};Ga.prototype.isIdentity=Ga.prototype.uu=function(){return 1===this.m11&&0===this.m12&&0===this.m21&&1===this.m22&&0===this.dx&&0===this.dy};Ga.prototype.reset=Ga.prototype.reset=function(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0;return this};
Ga.prototype.multiply=Ga.prototype.multiply=function(a){u&&z.l(a,Ga,Ga,"multiply:matrix");var b=this.m12*a.m11+this.m22*a.m12,c=this.m11*a.m21+this.m21*a.m22,d=this.m12*a.m21+this.m22*a.m22,e=this.m11*a.dx+this.m21*a.dy+this.dx,g=this.m12*a.dx+this.m22*a.dy+this.dy;this.m11=this.m11*a.m11+this.m21*a.m12;this.m12=b;this.m21=c;this.m22=d;this.dx=e;this.dy=g;return this};
Ga.prototype.multiplyInverted=Ga.prototype.fB=function(a){u&&z.l(a,Ga,Ga,"multiplyInverted:matrix");var b=1/(a.m11*a.m22-a.m12*a.m21),c=a.m22*b,d=-a.m12*b,e=-a.m21*b,g=a.m11*b,h=b*(a.m21*a.dy-a.m22*a.dx),k=b*(a.m12*a.dx-a.m11*a.dy);a=this.m12*c+this.m22*d;b=this.m11*e+this.m21*g;e=this.m12*e+this.m22*g;g=this.m11*h+this.m21*k+this.dx;h=this.m12*h+this.m22*k+this.dy;this.m11=this.m11*c+this.m21*d;this.m12=a;this.m21=b;this.m22=e;this.dx=g;this.dy=h;return this};
@@ -177,7 +177,7 @@ Ga.prototype.rotate=Ga.prototype.rotate=function(a,b,c){u&&(z.p(a,Ga,"rotate:ang
Ga.prototype.translate=Ga.prototype.translate=function(a,b){u&&(z.p(a,Ga,"translate:x"),z.p(b,Ga,"translate:y"));this.dx+=this.m11*a+this.m21*b;this.dy+=this.m12*a+this.m22*b;return this};Ga.prototype.scale=Ga.prototype.scale=function(a,b){void 0===b&&(b=a);u&&(z.p(a,Ga,"translate:sx"),z.p(b,Ga,"translate:sy"));this.m11*=a;this.m12*=a;this.m21*=b;this.m22*=b;return this};
Ga.prototype.transformPoint=Ga.prototype.wb=function(a){u&&z.l(a,M,Ga,"transformPoint:p");var b=a.L,c=a.M;a.L=b*this.m11+c*this.m21+this.dx;a.M=b*this.m12+c*this.m22+this.dy;return a};Ga.prototype.invertedTransformPoint=Ga.prototype.Ci=function(a){u&&z.l(a,M,Ga,"invertedTransformPoint:p");var b=1/(this.m11*this.m22-this.m12*this.m21),c=-this.m12*b,d=this.m11*b,e=b*(this.m12*this.dx-this.m11*this.dy),g=a.L,h=a.M;a.L=g*this.m22*b+h*-this.m21*b+b*(this.m21*this.dy-this.m22*this.dx);a.M=g*c+h*d+e;return a};
Ga.prototype.transformRect=Ga.prototype.ZG=function(a){u&&z.l(a,w,Ga,"transformRect:rect");var b=a.L,c=a.M,d=b+a.Ia,e=c+a.Ga,g=this.m11,h=this.m12,k=this.m21,l=this.m22,m=this.dx,n=this.dy,p=b*g+c*k+m,q=b*h+c*l+n,r=d*g+c*k+m,c=d*h+c*l+n,s=b*g+e*k+m,b=b*h+e*l+n,g=d*g+e*k+m,d=d*h+e*l+n,e=p,h=q,p=Math.min(p,r),e=Math.max(e,r),h=Math.min(h,c),q=Math.max(q,c),p=Math.min(p,s),e=Math.max(e,s),h=Math.min(h,b),q=Math.max(q,b),p=Math.min(p,g),e=Math.max(e,g),h=Math.min(h,d),q=Math.max(q,d);a.L=p;a.M=h;a.Ia=
-e-p;a.Ga=q-h;return a};function R(a,b,c,d){void 0===a?this.Jg=this.Ig=this.M=this.L=0:(void 0===b&&(b=0),void 0===c&&(c=0),void 0===d&&(d=0),this.x=a,this.y=b,this.offsetX=c,this.offsetY=d);this.I=!1}z.ka("Spot",R);z.Ai(R);z.ne(R,{x:!0,y:!0,offsetX:!0,offsetY:!0});R.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ig=a.Ig;this.Jg=a.Jg};
+e-p;a.Ga=q-h;return a};function R(a,b,c,d){void 0===a?this.Jg=this.Ig=this.M=this.L=0:(void 0===b&&(b=0),void 0===c&&(c=0),void 0===d&&(d=0),this.x=a,this.y=b,this.offsetX=c,this.offsetY=d);this.I=!1}z.ka("Spot",R);z.Ai(R);z.me(R,{x:!0,y:!0,offsetX:!0,offsetY:!0});R.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ig=a.Ig;this.Jg=a.Jg};
R.prototype.setTo=R.prototype.m=function(a,b,c,d){u&&(Vb(a,"setTo:x"),Vb(b,"setTo:y"),Zb(c,"setTo:offx"),Zb(d,"setTo:offy"));this.Sa();this.L=a;this.M=b;this.Ig=c;this.Jg=d;return this};R.prototype.set=R.prototype.set=function(a){u&&z.l(a,R,R,"set:s");this.Sa();this.L=a.L;this.M=a.M;this.Ig=a.Ig;this.Jg=a.Jg;return this};R.prototype.copy=function(){var a=new R;a.L=this.L;a.M=this.M;a.Ig=this.Ig;a.Jg=this.Jg;return a};f=R.prototype;f.Na=function(){this.I=!0;Object.freeze(this);return this};
f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Spot is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};function $b(a,b){a.L=NaN;a.M=NaN;a.Ig=b;return a}function Vb(a,b){(isNaN(a)||1a)&&z.wa(a,"0 <= "+b+" <= 1",R,b)}
function Zb(a,b){(isNaN(a)||Infinity===a||-Infinity===a)&&z.wa(a,"real number, not NaN or Infinity",R,b)}var fc;
@@ -187,7 +187,7 @@ var d=a[b++];void 0!==d&&0=2*Math.PI?(pd(a,b,c,d,e,e+Math.PI,h),pd(a,b,c,d,e+Math.PI,e+2*Math.PI,h),a.path.push(["M",l,g])):(b+=d*Math.cos(e),c+=d*Math.sin(e),k=180*k/Math.PI,e=h?0:1,h=180<=k===!!h?0:1,0!==a.path.length?a.path.push(["L",b,c]):a.path.push(["M",b,c]),a.path.push(["A",d,d,k,h,e,l,g]))}}function od(a,b,c,d,e,g,h){var k=new dd;k.Yb=[b,c,d,e,g,h];b={};xd(a,"g",b,k);k=a.addElement("g",b);a.Gf.push(k)}
f.hb=function(){if(0!==this.shadowOffsetX||0!==this.shadowOffsetY||0!==this.shadowBlur){var a="SHADOW"+z.Em++,b=this.addElement("filter",{id:a,x:"-100%",y:"-100%",width:"300%",height:"300%"},null),c,d,e,g,h;c=nd(this,"feGaussianBlur",{"in":"SourceAlpha",result:"blur",zM:this.shadowBlur/2});d=nd(this,"feFlood",{"in":"blur",result:"flood","flood-color":this.shadowColor});e=nd(this,"feComposite",{"in":"flood",in2:"blur",operator:"in",result:"comp"});g=nd(this,"feOffset",{"in":"comp",result:"offsetBlur",
-dx:this.shadowOffsetX,dy:this.shadowOffsetY});h=nd(this,"feMerge",{});h.appendChild(nd(this,"feMergeNode",{"in":"offsetBlur"}));h.appendChild(nd(this,"feMergeNode",{"in":"SourceGraphic"}));b.appendChild(c);b.appendChild(d);b.appendChild(e);b.appendChild(g);b.appendChild(h);0b?(this.scale(b/a,1),this.translate((a-b)/2,0)):b>a&&(this.scale(1,a/b),this.translate(0,(b-a)/2));this.Go?this.clip():this.fill();a>b?(this.translate(-(a-b)/2,0),this.scale(1/(b/a),1)):b>a&&(this.translate(0,-(b-a)/2),this.scale(1,1/(a/b)))}else this.Go?this.clip():this.fill()};f.Rj=function(){this.Go||this.stroke()};z.defineProperty(Ad,{Wt:"clipInsteadOfFill"},function(){return this.Go},function(a){this.Go=a});f=Ad.prototype;
-f.FB=function(a,b,c){this.ot=a;this.pt=b;this.Lg=c};f.qo=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};f.ro=function(){this.shadowOffsetX=this.ot;this.shadowOffsetY=this.pt;this.shadowBlur=this.Lg};f.AA=function(a,b){var c=this.Fa;if(void 0!==c.setLineDash)c.setLineDash(a),c.lineDashOffset=b;else if(void 0!==c.webkitLineDash)c.webkitLineDash=a,c.webkitLineDashOffset=b;else if(void 0!==c.mozDash)c.mozDash=a,c.mozDashOffset=b;else return!1;return!0};
+f.Tg=function(a){if(a instanceof Ea&&a.type===Bd){var b=a.Io;a=a.az;a>b?(this.scale(b/a,1),this.translate((a-b)/2,0)):b>a&&(this.scale(1,a/b),this.translate(0,(b-a)/2));this.Fo?this.clip():this.fill();a>b?(this.translate(-(a-b)/2,0),this.scale(1/(b/a),1)):b>a&&(this.translate(0,-(b-a)/2),this.scale(1,1/(a/b)))}else this.Fo?this.clip():this.fill()};f.Rj=function(){this.Fo||this.stroke()};z.defineProperty(Ad,{Wt:"clipInsteadOfFill"},function(){return this.Fo},function(a){this.Fo=a});f=Ad.prototype;
+f.FB=function(a,b,c){this.ot=a;this.pt=b;this.Lg=c};f.po=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};f.qo=function(){this.shadowOffsetX=this.ot;this.shadowOffsetY=this.pt;this.shadowBlur=this.Lg};f.AA=function(a,b){var c=this.Fa;if(void 0!==c.setLineDash)c.setLineDash(a),c.lineDashOffset=b;else if(void 0!==c.webkitLineDash)c.webkitLineDash=a,c.webkitLineDashOffset=b;else if(void 0!==c.mozDash)c.mozDash=a,c.mozDashOffset=b;else return!1;return!0};
f.vA=function(){var a=this.Fa;void 0!==a.setLineDash?(a.setLineDash(z.bl),a.lineDashOffset=0):void 0!==a.webkitLineDash?(a.webkitLineDash=z.bl,a.webkitLineDashOffset=0):void 0!==a.mozDash&&(a.mozDash=null,a.mozDashOffset=0)};function da(a,b){b&&(a.Wy="");a.Xy="";a.Vy=""}
var Cd=(Math.sqrt(2)-1)/3*4,Dd=(new M(0,0)).Na(),Ed=(new w(0,0,0,0)).Na(),Nd=(new Kb(0,0,0,0)).Na(),Od=(new Kb(2,2,2,2)).Na(),Pd=(new M(6,6)).Na(),Qd=(new M(-Infinity,-Infinity)).Na(),Rd=(new M(Infinity,Infinity)).Na(),Sd=(new Fa(0,0)).Na(),Td=(new Fa(1,1)).Na(),Ud=(new Fa(6,6)).Na(),Vd=(new Fa(8,8)).Na(),Wd=(new Fa(10,10)).Na(),ge=(new Fa(Infinity,Infinity)).Na(),he=(new M(NaN,NaN)).Na(),ie=(new Fa(NaN,NaN)).Na(),je=(new w(NaN,NaN,NaN,NaN)).Na(),ke=(new R(.156,.156)).Na(),le=(new R(.844,.844)).Na(),
me=new na,ne=new na,oe=null;function pe(a){if(0>=a)return 0;var b=oe;if(null===b){for(var b=[],c=0;2E3>=c;c++)b[c]=Math.sqrt(c);oe=b}return 1>a?(c=1/a,2E3>=c?1/b[c|0]:Math.sqrt(a)):2E3>=a?b[a|0]:Math.sqrt(a)}function Q(a,b){var c=a-b;return.5>c&&-.5c&&-5E-8=q&&(q=1E-6);if(qe(a,b,h,k,q,c,d)&&qe(a,b,h,k,q,e,g)){var s=(a-h)*(m-p)-(b-k)*(l-n);if(0===s)return!1;q=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/s;s=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/s;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(h=l=0,bh)return!1}else if(ah)return!1;r.x=q;r.y=s;return!0}var s=(a+c)/2,v=(b+d)/2;c=(c+e)/2;d=(d+g)/2;e=(e+h)/2;g=(g+k)/2;var t=(s+c)/2,x=(v+d)/2;c=(c+e)/2;d=(d+g)/2;var y=(t+c)/2,A=(x+d)/2,
-B=(n-l)*(n-l)+(p-m)*(p-m),N=!1;De(a,b,s,v,t,x,y,A,l,m,n,p,q,r)&&(b=(r.x-l)*(r.x-l)+(r.y-m)*(r.y-m),b=q&&(q=1E-6);if(qe(a,b,h,k,q,c,d)&&qe(a,b,h,k,q,e,g)){var s=(a-h)*(m-p)-(b-k)*(l-n);if(0===s)return!1;q=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/s;s=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/s;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(h=l=0,bh)return!1}else if(ah)return!1;r.x=q;r.y=s;return!0}var s=(a+c)/2,v=(b+d)/2;c=(c+e)/2;d=(d+g)/2;e=(e+h)/2;g=(g+k)/2;var t=(s+c)/2,x=(v+d)/2;c=(c+e)/2;d=(d+g)/2;var y=(t+c)/2,B=(x+d)/2,
+A=(n-l)*(n-l)+(p-m)*(p-m),N=!1;De(a,b,s,v,t,x,y,B,l,m,n,p,q,r)&&(b=(r.x-l)*(r.x-l)+(r.y-m)*(r.y-m),b=q&&(q=1E-6);if(qe(a,b,h,k,q,c,d)&&qe(a,b,h,k,q,e,g)){q=(a-h)*(m-p)-(b-k)*(l-n);if(0===q)return r;var s=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/q,v=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/q;if(s>=n)return r;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(a=l=0,ba)return r}else if(aa)return r;0q&&r--}else{var s=(a+c)/2,v=(b+d)/2,t=(c+e)/2,x=(d+g)/2;e=(e+h)/2;g=(g+k)/2;d=(s+t)/2;c=(v+x)/2;var t=(t+e)/2,x=(x+g)/2,
-y=(d+t)/2,A=(c+x)/2,r=r+Ee(a,b,s,v,d,c,y,A,l,m,n,p,q),r=r+Ee(y,A,t,x,e,g,h,k,l,m,n,p,q)}return r}
+y=(d+t)/2,B=(c+x)/2,r=r+Ee(a,b,s,v,d,c,y,B,l,m,n,p,q),r=r+Ee(y,B,t,x,e,g,h,k,l,m,n,p,q)}return r}
function ob(a,b,c,d,e,g,h){if(Db(a,c)){var k=0;c=0;bc)return h.x=a,h.y=c,!1;h.x=a;h.y=d;return!0}if(Db(b,d)){ac)return h.x=c,h.y=b,!1;h.x=d;h.y=b;return!0}k=((a-e)*(a-c)+(b-g)*(b-d))/((c-a)*(c-a)+(d-b)*(d-b));if(-5E-6>k)return h.x=a,h.y=b,!1;if(1.000005c)return l.x=a,l.y=c,!1;l.x=a;l.y=g;return!0}h=(d-b)/(c-a);if(Db(k,h))return ob(a,b,c,d,e,g,l),!1;e=(h*a-k*e+g-b)/(h-k);if(Db(h,0)){ac)return l.x=c,l.y=b,!1;l.x=e;l.y=b;return!0}g=
h*(e-a)+b;return ob(a,b,c,d,e,g,l)}function Ge(a,b,c,d,e,g,h,k,l){var m=1E21,n=a,p=b;if(Fe(a,b,a,d,e,g,h,k,l)){var q=(l.x-e)*(l.x-e)+(l.y-g)*(l.y-g);qm}
@@ -248,22 +248,22 @@ function Qe(a,b,c,d,e,g){c-=a;d-=b;a=e-a;b=g-b;g=a*d-b*c;0===g&&(g=a*c+b*d,0c,g=0>d,h=0,k=h=0;ag;++g){m=.5*(d+e);if(m===d||m===e)break;k=l/(m+b);h=c/(m+a);k=k*k+h*h-1;if(0k)e=m;else break}n=b*n/(m+b)-n;p=a*p/(m+a)-p;a=Math.sqrt(n*n+p*p)}else a=Math.abs(p-m);else p=l*l-m*m,a=l*n,aa?"M"+this.na.toString()+" "+this.la.toString()+"L"+this.G.toString()+" "+this.H.toString():"M"+this.na.toFixed(a)+" "+this.la.toFixed(a)+"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);case jf:var b=new w(this.na,this.la,0,0);b.$G(this.G,this.H,0,0);return 0>a?"M"+b.x.toString()+" "+b.y.toString()+"H"+b.right.toString()+"V"+b.bottom.toString()+"H"+b.left.toString()+"z":"M"+b.x.toFixed(a)+" "+b.y.toFixed(a)+"H"+b.right.toFixed(a)+
"V"+b.bottom.toFixed(a)+"H"+b.left.toFixed(a)+"z";case kf:b=new w(this.na,this.la,0,0);b.$G(this.G,this.H,0,0);if(0>a){var c=b.left.toString()+" "+(b.y+b.height/2).toString(),d=b.right.toString()+" "+(b.y+b.height/2).toString();return"M"+c+"A"+(b.width/2).toString()+" "+(b.height/2).toString()+" 0 0 1 "+d+"A"+(b.width/2).toString()+" "+(b.height/2).toString()+" 0 0 1 "+c}c=b.left.toFixed(a)+" "+(b.y+b.height/2).toFixed(a);d=b.right.toFixed(a)+" "+(b.y+b.height/2).toFixed(a);return"M"+c+"A"+(b.width/
2).toFixed(a)+" "+(b.height/2).toFixed(a)+" 0 0 1 "+d+"A"+(b.width/2).toFixed(a)+" "+(b.height/2).toFixed(a)+" 0 0 1 "+c;case We:for(var b="",c=this.mc.o,d=c.length,e=0;e=v-1?!0:null!==l[m+1].match(/[A-Za-z]/)}function d(){m++;return l[m]}function e(){var a=new M(parseFloat(d()),parseFloat(d()));n===n.toLowerCase()&&(a.x=s.x+a.x,a.y=s.y+a.y);return a}function g(){return s=e()}function h(){return r=e()}function k(){return"c"!==p.toLowerCase()&&"s"!==p.toLowerCase()?s:new M(2*s.x-r.x,2*s.y-r.y)}void 0===b&&(b=!1);"string"!==typeof a&&z.hc(a,"string",Ve,"parse:str");a=a.replace(/,/gm," ");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,
"$1 $2");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,"$1 $2");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([^\s])/gm,"$1 $2");a=a.replace(/([^\s])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,"$1 $2");a=a.replace(/([0-9])([+\-])/gm,"$1 $2");a=a.replace(/(\.[0-9]*)(\.)/gm,"$1 $2");a=a.replace(/([Aa](\s+[0-9]+){3})\s+([01])\s*([01])/gm,"$1 $3 $4 ");a=a.replace(/[\s\r\t\n]+/gm," ");a=a.replace(/^\s+|\s+$/g,"");for(var l=a.split(" "),m=-1,n="",p="",q=new M(0,0),r=new M(0,0),s=new M(0,
-0),v=l.length,t=z.v(),x=!1,y=!1,A=!0;!(m>=v-1);)if(p=n,n=d(),""!==n)switch(n.toUpperCase()){case "X":A=!0;y=x=!1;break;case "M":var B=g();null===t.dc||!0===A?(S(t,B.x,B.y,x,!1,!y),A=!1):t.moveTo(B.x,B.y);for(q=s;!c();)B=g(),t.lineTo(B.x,B.y);break;case "L":for(;!c();)B=g(),t.lineTo(B.x,B.y);break;case "H":for(;!c();)s=B=new M((n===n.toLowerCase()?s.x:0)+parseFloat(d()),s.y),t.lineTo(s.x,s.y);break;case "V":for(;!c();)s=B=new M(s.x,(n===n.toLowerCase()?s.y:0)+parseFloat(d())),t.lineTo(s.x,s.y);break;
-case "C":for(;!c();){var N=e(),G=h(),B=g();U(t,N.x,N.y,G.x,G.y,B.x,B.y)}break;case "S":for(;!c();)N=k(),G=h(),B=g(),U(t,N.x,N.y,G.x,G.y,B.x,B.y);break;case "Q":for(;!c();)G=h(),B=g(),pf(t,G.x,G.y,B.x,B.y);break;case "T":for(;!c();)r=G=k(),B=g(),pf(t,G.x,G.y,B.x,B.y);break;case "B":for(;!c();){var B=parseFloat(d()),N=parseFloat(d()),G=parseFloat(d()),T=parseFloat(d()),fa=parseFloat(d()),W=fa,P=!1;c()||(W=parseFloat(d()),c()||(P=0!==parseFloat(d())));n===n.toLowerCase()&&(G+=s.x,T+=s.y);t.arcTo(B,N,
-G,T,fa,W,P)}break;case "A":for(;!c();)N=Math.abs(parseFloat(d())),G=Math.abs(parseFloat(d())),T=parseFloat(d()),fa=!!parseFloat(d()),W=!!parseFloat(d()),B=g(),qf(t,N,G,T,fa,W,B.x,B.y);break;case "Z":B=t.q.mc.o[t.q.mc.length-1];V(t);s=q;break;case "F":B="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Uu]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;else{B=l[m+N];break}B.match(/[Mm]/)?x=!0:rf(t);break;case "U":B="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Ff]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;
-else{B=l[m+N];break}B.match(/[Mm]/)?y=!0:t.hb(!1)}q=t.q;z.u(t);if(b)for(t=q.mc.j;t.next();)B=t.value,B.tu=!0;return q};function sf(a,b){for(var c=a.length,d=z.P(),e=0;e=v-1);)if(p=n,n=d(),""!==n)switch(n.toUpperCase()){case "X":B=!0;y=x=!1;break;case "M":var A=g();null===t.dc||!0===B?(S(t,A.x,A.y,x,!1,!y),B=!1):t.moveTo(A.x,A.y);for(q=s;!c();)A=g(),t.lineTo(A.x,A.y);break;case "L":for(;!c();)A=g(),t.lineTo(A.x,A.y);break;case "H":for(;!c();)s=A=new M((n===n.toLowerCase()?s.x:0)+parseFloat(d()),s.y),t.lineTo(s.x,s.y);break;case "V":for(;!c();)s=A=new M(s.x,(n===n.toLowerCase()?s.y:0)+parseFloat(d())),t.lineTo(s.x,s.y);break;
+case "C":for(;!c();){var N=e(),G=h(),A=g();U(t,N.x,N.y,G.x,G.y,A.x,A.y)}break;case "S":for(;!c();)N=k(),G=h(),A=g(),U(t,N.x,N.y,G.x,G.y,A.x,A.y);break;case "Q":for(;!c();)G=h(),A=g(),pf(t,G.x,G.y,A.x,A.y);break;case "T":for(;!c();)r=G=k(),A=g(),pf(t,G.x,G.y,A.x,A.y);break;case "B":for(;!c();){var A=parseFloat(d()),N=parseFloat(d()),G=parseFloat(d()),T=parseFloat(d()),fa=parseFloat(d()),W=fa,P=!1;c()||(W=parseFloat(d()),c()||(P=0!==parseFloat(d())));n===n.toLowerCase()&&(G+=s.x,T+=s.y);t.arcTo(A,N,
+G,T,fa,W,P)}break;case "A":for(;!c();)N=Math.abs(parseFloat(d())),G=Math.abs(parseFloat(d())),T=parseFloat(d()),fa=!!parseFloat(d()),W=!!parseFloat(d()),A=g(),qf(t,N,G,T,fa,W,A.x,A.y);break;case "Z":A=t.q.mc.o[t.q.mc.length-1];V(t);s=q;break;case "F":A="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Uu]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;else{A=l[m+N];break}A.match(/[Mm]/)?x=!0:rf(t);break;case "U":A="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Ff]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;
+else{A=l[m+N];break}A.match(/[Mm]/)?y=!0:t.hb(!1)}q=t.q;z.u(t);if(b)for(t=q.mc.j;t.next();)A=t.value,A.tu=!0;return q};function sf(a,b){for(var c=a.length,d=z.P(),e=0;eh&&(h+=360),s.Me+=h);0>a&&(s.Me=180-s.Me,s.Bf=-s.Bf);0>d&&(s.Me=-s.Me,s.Bf=-s.Bf);s.radiusX*=Math.sqrt(a*a+c*c);void 0!==s.radiusY&&(s.radiusY*=Math.sqrt(b*b+d*d));break;case Qf:h=s.G;k=s.H;s.G=h*
a+k*c+e;s.H=h*b+k*d+g;0!==b&&(h=180*Math.atan2(b,a)/Math.PI,0>h&&(h+=360),s.Vj+=h);0>a&&(s.Vj=180-s.Vj,s.qm=!s.qm);0>d&&(s.Vj=-s.Vj,s.qm=!s.qm);s.radiusX*=Math.sqrt(a*a+c*c);s.radiusY*=Math.sqrt(b*b+d*d);break;default:z.k("Unknown Segment type: "+s.type)}}}}this.jb=!0;return this};
-Ve.prototype.Oa=function(a,b,c,d){var e=a.x,g=a.y,h=this.sb.x-20;a=a.y;for(var k=0,l=0,m=0,n=0,p=0,q=0,r=this.mc.o,s=r.length,v=0;v=a)return 0;if((e>h?e-h:h-e)<(g>k?g-k:k-g)){if(e=a=0,ge)return 0}else if(ee)return 0;return 0a?a=0:1=g)return d=(g-h)/p,c=c[k],k=c[2*n],e=c[2*n+1],b.m(k+(c[2*n+2]-k)*d,e+(c[2*n+3]-e)*d),b;h+=p}b.m(NaN,NaN);return b};
Ve.prototype.getFractionForPoint=Ve.prototype.II=function(a){if(this.type===hf){var b=this.na,c=this.la,d=this.G,e=this.H;if(b!==d||c!==e){var g=a.x;a=a.y;var h=0,k=0;return b===d?(c=k?k===c?0:1:Math.abs(a-c)/(k-h)):c===e?(b=k?k===b?0:1:Math.abs(g-b)/(k-h)):((g-b)*(g-b)+(a-c)*(a-c))/((d-b)*(d-b)+(e-c)*(e-c))}}else if(this.type===jf){if(b=this.na,c=this.la,d=this.G,e=this.H,b!==d||c!==e){var h=d-b,k=e-c,l=2*h+2*k,g=a.x;
a=a.y;g=Math.min(Math.max(g,b),d);a=Math.min(Math.max(a,c),e);var b=Math.abs(g-b),d=Math.abs(g-d),c=Math.abs(a-c),e=Math.abs(a-e),m=Math.min(b,d,c,e);if(m===c)return g/l;if(m===d)return(h+a)/l;if(m===e)return(2*h+k-g)/l;if(m===b)return(2*h+2*k-a)/l}}else{for(var e=this.DA,h=this.Gx,k=this.EA,l=z.P(),c=Infinity,b=d=0,g=e.length,n=m=0,p=0;pa?0:1a?0:1a?"M"+this.na.toString()+" "+this.la.toString():"M"+this.na.toFixed(a)+" "+this.la.toFixed(a),c=this.Db.o,d=c.length,e=0;ea&&(a+=360),this.Rd=a,this.df=0,u&&z.p(d,Wf,"x1"),this.Bh=Math.max(d,0),u&&z.p(e,Wf,"y1"),this.Kg=Math.max(e,0),this.pp="boolean"===typeof h?!!h:!1,this.Ho=!!k):(u&&z.p(d,Wf,"x1"),this.Rd=d,u&&z.p(e,
-Wf,"y1"),this.df=e,u&&z.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Bh=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Kg=h):this.Kg=0,this.Ho=this.pp=!1);this.ei=!1;this.jb=!0;this.tg=null}z.ka("PathSegment",Wf);z.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.da=this.da;a.Bb=this.Bb;a.Ib=this.Ib;a.Rd=this.Rd;a.df=this.df;a.Bh=this.Bh;a.Kg=this.Kg;a.pp=this.pp;a.Ho=this.Ho;a.ei=this.ei;a.jb=this.jb;return a};
+function Wf(a,b,c,d,e,g,h,k){z.wc(this);this.I=!1;void 0===a?a=mf:u&&z.Ca(a,Wf,Wf,"constructor:type");this.da=a;void 0!==b?(u&&z.p(b,Wf,"ex"),this.Bb=b):this.Bb=0;void 0!==c?(u&&z.p(c,Wf,"ey"),this.Ib=c):this.Ib=0;void 0===d&&(d=0);void 0===e&&(e=0);void 0===g&&(g=0);void 0===h&&(h=0);a===Qf?(a=g%360,0>a&&(a+=360),this.Rd=a,this.df=0,u&&z.p(d,Wf,"x1"),this.Bh=Math.max(d,0),u&&z.p(e,Wf,"y1"),this.Kg=Math.max(e,0),this.op="boolean"===typeof h?!!h:!1,this.Go=!!k):(u&&z.p(d,Wf,"x1"),this.Rd=d,u&&z.p(e,
+Wf,"y1"),this.df=e,u&&z.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Bh=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Kg=h):this.Kg=0,this.Go=this.op=!1);this.ei=!1;this.jb=!0;this.tg=null}z.ka("PathSegment",Wf);z.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.da=this.da;a.Bb=this.Bb;a.Ib=this.Ib;a.Rd=this.Rd;a.df=this.df;a.Bh=this.Bh;a.Kg=this.Kg;a.op=this.op;a.Go=this.Go;a.ei=this.ei;a.jb=this.jb;return a};
Wf.prototype.equalsApprox=Wf.prototype.Vc=function(a){if(!(a instanceof Wf)||this.type!==a.type||this.Nx!==a.Nx)return!1;switch(this.type){case Mf:case mf:return Q(this.G,a.G)&&Q(this.H,a.H);case Nf:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Dc,a.Dc)&&Q(this.Zc,a.Zc)&&Q(this.Rh,a.Rh)&&Q(this.Sh,a.Sh);case Of:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Dc,a.Dc)&&Q(this.Zc,a.Zc);case Pf:return Q(this.Me,a.Me)&&Q(this.Bf,a.Bf)&&Q(this.oa,a.oa)&&Q(this.xa,a.xa)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,
-a.radiusY);case Qf:return this.qm===a.qm&&this.Sx===a.Sx&&Q(this.Vj,a.Vj)&&Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,a.radiusY);default:return!1}};Wf.prototype.qc=function(a){a.Pe===Wf?this.type=a:z.Tj(this,a)};
+a.radiusY);case Qf:return this.qm===a.qm&&this.Sx===a.Sx&&Q(this.Vj,a.Vj)&&Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,a.radiusY);default:return!1}};Wf.prototype.pc=function(a){a.Pe===Wf?this.type=a:z.Tj(this,a)};
Wf.prototype.toString=function(a){void 0===a&&(a=-1);var b="";switch(this.type){case Mf:b=0>a?"M"+this.G.toString()+" "+this.H.toString():"M"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case mf:b=0>a?"L"+this.G.toString()+" "+this.H.toString():"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Nf:b=0>a?"C"+this.Dc.toString()+" "+this.Zc.toString()+" "+this.Rh.toString()+" "+this.Sh.toString()+" "+this.G.toString()+" "+this.H.toString():"C"+this.Dc.toFixed(a)+" "+this.Zc.toFixed(a)+" "+this.Rh.toFixed(a)+
" "+this.Sh.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Of:b=0>a?"Q"+this.Dc.toString()+" "+this.Zc.toString()+" "+this.G.toString()+" "+this.H.toString():"Q"+this.Dc.toFixed(a)+" "+this.Zc.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Pf:b=0>a?"B"+this.Me.toString()+" "+this.Bf.toString()+" "+this.oa.toString()+" "+this.xa.toString()+" "+this.radiusX:"B"+this.Me.toFixed(a)+" "+this.Bf.toFixed(a)+" "+this.oa.toFixed(a)+" "+this.xa.toFixed(a)+" "+this.radiusX;
break;case Qf:b=0>a?"A"+this.radiusX.toString()+" "+this.radiusY.toString()+" "+this.Vj.toString()+" "+(this.Sx?1:0)+" "+(this.qm?1:0)+" "+this.G.toString()+" "+this.H.toString():"A"+this.radiusX.toFixed(a)+" "+this.radiusY.toFixed(a)+" "+this.Vj.toFixed(a)+" "+(this.Sx?1:0)+" "+(this.qm?1:0)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;default:b=this.type.toString()}return b+(this.ei?"z":"")};var Mf;Wf.Move=Mf=z.s(Wf,"Move",0);var mf;Wf.Line=mf=z.s(Wf,"Line",1);var Nf;
Wf.Bezier=Nf=z.s(Wf,"Bezier",2);var Of;Wf.QuadraticBezier=Of=z.s(Wf,"QuadraticBezier",3);var Pf;Wf.Arc=Pf=z.s(Wf,"Arc",4);var Qf;Wf.SvgArc=Qf=z.s(Wf,"SvgArc",4);Wf.prototype.freeze=function(){this.I=!0;return this};Wf.prototype.Za=function(){this.I=!1;return this};Wf.prototype.close=Wf.prototype.close=function(){this.ei=!0;return this};
function Rf(a,b){if(null!==a.tg&&!1===b.jb)return a.tg;var c=a.radiusX,d=a.radiusY;void 0===d&&(d=c);if(0===c||0===d)return a.tg=[],a.tg;var e=a.Rd,g=a.df,h=Se(c=r?h=Math.PI:1<=r&&(h=0);!l&&0h&&(h+=2*Math.PI);l=b>g?1:b/g;r=b>g?g/b:1;b=Se(b>g?b:g,n,n+h,!0);g=z.Pf();g.reset();g.translate(c,d);g.rotate(a.Rd,0,0);g.scale(l,r);sf(b,g);z.Ie(g);a.tg=b;return a.tg}
z.defineProperty(Wf,{Nx:"isClosed"},function(){return this.ei},function(a){this.ei!==a&&(this.ei=a,this.jb=!0)});z.defineProperty(Wf,{type:"type"},function(){return this.da},function(a){u&&z.Ca(a,Wf,Wf,"type");this.I&&z.pa(this,a);this.da=a;this.jb=!0});z.defineProperty(Wf,{G:"endX"},function(){return this.Bb},function(a){u&&z.p(a,Wf,"endX");this.I&&z.pa(this,a);this.Bb=a;this.jb=!0});
z.defineProperty(Wf,{H:"endY"},function(){return this.Ib},function(a){u&&z.p(a,Wf,"endY");this.I&&z.pa(this,a);this.Ib=a;this.jb=!0});z.defineProperty(Wf,{Dc:"point1X"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"point1X");this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});z.defineProperty(Wf,{Zc:"point1Y"},function(){return this.df},function(a){u&&z.p(a,Wf,"point1Y");this.I&&z.pa(this,a);this.df=a;this.jb=!0});
z.defineProperty(Wf,{Rh:"point2X"},function(){return this.Bh},function(a){u&&z.p(a,Wf,"point2X");this.I&&z.pa(this,a);this.Bh=a;this.jb=!0});z.defineProperty(Wf,{Sh:"point2Y"},function(){return this.Kg},function(a){u&&z.p(a,Wf,"point2Y");this.I&&z.pa(this,a);this.Kg=a;this.jb=!0});z.defineProperty(Wf,{oa:"centerX"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"centerX");this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});
z.defineProperty(Wf,{xa:"centerY"},function(){return this.df},function(a){u&&z.p(a,Wf,"centerY");this.I&&z.pa(this,a);this.df=a;this.jb=!0});z.defineProperty(Wf,{radiusX:"radiusX"},function(){return this.Bh},function(a){u&&z.p(a,Wf,"radiusX");0>a&&z.wa(a,">= zero",Wf,"radiusX");this.I&&z.pa(this,a);this.Bh=a;this.jb=!0});z.defineProperty(Wf,{radiusY:"radiusY"},function(){return this.Kg},function(a){u&&z.p(a,Wf,"radiusY");0>a&&z.wa(a,">= zero",Wf,"radiusY");this.I&&z.pa(this,a);this.Kg=a;this.jb=!0});
-z.defineProperty(Wf,{Me:"startAngle"},function(){return this.Bb},function(a){this.Bb!==a&&(this.I&&z.pa(this,a),u&&z.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Bb=a,this.jb=!0)});z.defineProperty(Wf,{Bf:"sweepAngle"},function(){return this.Ib},function(a){u&&z.p(a,Wf,"sweepAngle");this.I&&z.pa(this,a);360a&&(a=-360);this.Ib=a;this.jb=!0});z.defineProperty(Wf,{qm:"isClockwiseArc"},function(){return this.Ho},function(a){this.I&&z.pa(this,a);this.Ho=a;this.jb=!0});
-z.defineProperty(Wf,{Sx:"isLargeArc"},function(){return this.pp},function(a){this.I&&z.pa(this,a);this.pp=a;this.jb=!0});z.defineProperty(Wf,{Vj:"xAxisRotation"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});
+z.defineProperty(Wf,{Me:"startAngle"},function(){return this.Bb},function(a){this.Bb!==a&&(this.I&&z.pa(this,a),u&&z.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Bb=a,this.jb=!0)});z.defineProperty(Wf,{Bf:"sweepAngle"},function(){return this.Ib},function(a){u&&z.p(a,Wf,"sweepAngle");this.I&&z.pa(this,a);360a&&(a=-360);this.Ib=a;this.jb=!0});z.defineProperty(Wf,{qm:"isClockwiseArc"},function(){return this.Go},function(a){this.I&&z.pa(this,a);this.Go=a;this.jb=!0});
+z.defineProperty(Wf,{Sx:"isLargeArc"},function(){return this.op},function(a){this.I&&z.pa(this,a);this.op=a;this.jb=!0});z.defineProperty(Wf,{Vj:"xAxisRotation"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});
function Yf(){this.ca=null;this.cA=(new M(0,0)).freeze();this.jz=(new M(0,0)).freeze();this.vv=this.pw=0;this.wv=1;this.ew="";this.Xw=this.Lv=!1;this.Iv=this.xv=0;this.Xj=this.Sv=this.bw=!1;this.Qr=null;this.Vw=0;this.Ng=this.Uw=null}z.ka("InputEvent",Yf);
-Yf.prototype.copy=function(){var a=new Yf;a.ca=this.ca;a.cA.assign(this.te);a.jz.assign(this.ha);a.pw=this.pw;a.vv=this.vv;a.wv=this.wv;a.ew=this.ew;a.Lv=this.Lv;a.Xw=this.Xw;a.xv=this.xv;a.Iv=this.Iv;a.bw=this.bw;a.Sv=this.Sv;a.Xj=this.Xj;a.Qr=this.Qr;a.Vw=this.Vw;a.Uw=this.Uw;a.Ng=this.Ng;return a};
-Yf.prototype.toString=function(){var a="^";0!==this.Ld&&(a+="M:"+this.Ld);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Qe&&(a+="C:"+this.Qe);0!==this.fm&&(a+="D:"+this.fm);this.Nc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};z.defineProperty(Yf,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});z.defineProperty(Yf,{te:"viewPoint"},function(){return this.cA},function(a){z.l(a,M,Yf,"viewPoint");this.cA.assign(a)});
+Yf.prototype.copy=function(){var a=new Yf;a.ca=this.ca;a.cA.assign(this.se);a.jz.assign(this.ha);a.pw=this.pw;a.vv=this.vv;a.wv=this.wv;a.ew=this.ew;a.Lv=this.Lv;a.Xw=this.Xw;a.xv=this.xv;a.Iv=this.Iv;a.bw=this.bw;a.Sv=this.Sv;a.Xj=this.Xj;a.Qr=this.Qr;a.Vw=this.Vw;a.Uw=this.Uw;a.Ng=this.Ng;return a};
+Yf.prototype.toString=function(){var a="^";0!==this.Ld&&(a+="M:"+this.Ld);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Qe&&(a+="C:"+this.Qe);0!==this.fm&&(a+="D:"+this.fm);this.Nc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};z.defineProperty(Yf,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});z.defineProperty(Yf,{se:"viewPoint"},function(){return this.cA},function(a){z.l(a,M,Yf,"viewPoint");this.cA.assign(a)});
z.defineProperty(Yf,{ha:"documentPoint"},function(){return this.jz},function(a){z.l(a,M,Yf,"documentPoint");this.jz.assign(a)});Yf.prototype.getMultiTouchViewPoint=Yf.prototype.Ix=function(a,b){var c=this.g;if(null===c)return b;Zf(c,this.event,a,b);return b};Yf.prototype.getMultiTouchDocumentPoint=function(a,b){var c=this.g;if(null===c)return b;Zf(c,this.event,a,b);b.assign(c.NB(b));return b};z.defineProperty(Yf,{Ld:"modifiers"},function(){return this.pw},function(a){this.pw=a});
z.defineProperty(Yf,{button:"button"},function(){return this.vv},function(a){this.vv=a;if(null===this.event)switch(a){case 0:this.buttons=1;break;case 1:this.buttons=4;break;case 2:this.buttons=2}});z.defineProperty(Yf,{buttons:"buttons"},function(){return this.wv},function(a){this.wv=a});z.defineProperty(Yf,{key:"key"},function(){return this.ew},function(a){this.ew=a});z.defineProperty(Yf,{gm:"down"},function(){return this.Lv},function(a){this.Lv=a});
z.defineProperty(Yf,{up:"up"},function(){return this.Xw},function(a){this.Xw=a});z.defineProperty(Yf,{Qe:"clickCount"},function(){return this.xv},function(a){this.xv=a});z.defineProperty(Yf,{fm:"delta"},function(){return this.Iv},function(a){this.Iv=a});z.defineProperty(Yf,{vu:"isMultiTouch"},function(){return this.bw},function(a){this.bw=a});z.defineProperty(Yf,{Nc:"handled"},function(){return this.Sv},function(a){this.Sv=a});
@@ -323,31 +323,31 @@ z.defineProperty(Yf,{eh:"targetDiagram"},function(){return this.Uw},function(a){
z.defineProperty(Yf,{alt:"alt"},function(){return 0!==(this.Ld&2)},function(a){this.Ld=a?this.Ld|2:this.Ld&-3});z.defineProperty(Yf,{Du:"meta"},function(){return 0!==(this.Ld&8)},function(a){this.Ld=a?this.Ld|8:this.Ld&-9});z.defineProperty(Yf,{left:"left"},function(){var a=this.event;return null!==a&&a instanceof MouseEvent&&("mousedown"===a.type||"mouseup"===a.type)?0===this.button:0!==(this.buttons&1)},function(a){this.buttons=a?this.buttons|1:this.buttons&-2});
z.defineProperty(Yf,{right:"right"},function(){var a=this.event;return null!==a&&a instanceof MouseEvent&&("mousedown"===a.type||"mouseup"===a.type)?2===this.button:0!==(this.buttons&2)},function(a){this.buttons=a?this.buttons|2:this.buttons&-3});z.defineProperty(Yf,{aM:"middle"},function(){var a=this.event;return null!==a&&a instanceof MouseEvent&&("mousedown"===a.type||"mouseup"===a.type)?1===this.button:0!==(this.buttons&4)},function(a){this.buttons=a?this.buttons|4:this.buttons&-5});
function $f(){this.ca=null;this.Xb="";this.yw=this.Sw=null;this.mr=!1}z.ka("DiagramEvent",$f);$f.prototype.copy=function(){var a=new $f;a.ca=this.ca;a.Xb=this.Xb;a.Sw=this.Sw;a.yw=this.yw;a.mr=this.mr;return a};$f.prototype.toString=function(){var a="*"+this.name;null!==this.HB&&(a+=":"+this.HB.toString());null!==this.lB&&(a+="("+this.lB.toString()+")");return a};z.defineProperty($f,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});
-z.defineProperty($f,{name:"name"},function(){return this.Xb},function(a){this.Xb=a});z.defineProperty($f,{HB:"subject"},function(){return this.Sw},function(a){this.Sw=a});z.defineProperty($f,{lB:"parameter"},function(){return this.yw},function(a){this.yw=a});z.defineProperty($f,{cancel:"cancel"},function(){return this.mr},function(a){this.mr!==a&&z.Nn("DiagramEvent.cancel","2.0");this.mr=a});function ag(){this.nr=bg;this.jn=this.ow="";this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.ye=null}
-z.ka("ChangedEvent",ag);var rg;ag.Transaction=rg=z.s(ag,"Transaction",-1);var bg;ag.Property=bg=z.s(ag,"Property",0);var sg;ag.Insert=sg=z.s(ag,"Insert",1);var tg;ag.Remove=tg=z.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.ye=null};
-ag.prototype.copy=function(){var a=new ag;a.nr=this.nr;a.ow=this.ow;a.jn=this.jn;a.ye=this.ye;a.ca=this.ca;a.Ns=this.Ns;var b=this.Ps;a.Ps=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Os;a.Os=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ks;a.Ks=z.Xa(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.qc=function(a){a.Pe===ag?this.Kc=a:z.Tj(this,a)};
+z.defineProperty($f,{name:"name"},function(){return this.Xb},function(a){this.Xb=a});z.defineProperty($f,{HB:"subject"},function(){return this.Sw},function(a){this.Sw=a});z.defineProperty($f,{lB:"parameter"},function(){return this.yw},function(a){this.yw=a});z.defineProperty($f,{cancel:"cancel"},function(){return this.mr},function(a){this.mr!==a&&z.Nn("DiagramEvent.cancel","2.0");this.mr=a});function ag(){this.nr=bg;this.jn=this.ow="";this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.xe=null}
+z.ka("ChangedEvent",ag);var rg;ag.Transaction=rg=z.s(ag,"Transaction",-1);var bg;ag.Property=bg=z.s(ag,"Property",0);var sg;ag.Insert=sg=z.s(ag,"Insert",1);var tg;ag.Remove=tg=z.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.xe=null};
+ag.prototype.copy=function(){var a=new ag;a.nr=this.nr;a.ow=this.ow;a.jn=this.jn;a.xe=this.xe;a.ca=this.ca;a.Ns=this.Ns;var b=this.Ps;a.Ps=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Os;a.Os=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ks;a.Ks=z.Xa(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.pc=function(a){a.Pe===ag?this.Kc=a:z.Tj(this,a)};
ag.prototype.toString=function(){var a="",a=this.Kc===rg?a+"* ":this.Kc===bg?a+(null!==this.ia?"!m":"!d"):a+((null!==this.ia?"!m":"!d")+this.Kc);this.propertyName&&"string"===typeof this.propertyName&&(a+=" "+this.propertyName);this.Af&&this.Af!==this.propertyName&&(a+=" "+this.Af);a+=": ";this.Kc===rg?null!==this.oldValue&&(a+=" "+this.oldValue):(null!==this.object&&(a+=ka(this.object)),null!==this.oldValue&&(a+=" old: "+ka(this.oldValue)),null!==this.Oj&&(a+=" "+this.Oj),null!==this.newValue&&
(a+=" new: "+ka(this.newValue)),null!==this.Mj&&(a+=" "+this.Mj));return a};ag.prototype.getValue=ag.prototype.qa=function(a){return a?this.oldValue:this.newValue};ag.prototype.getParam=function(a){return a?this.Oj:this.Mj};ag.prototype.canUndo=ag.prototype.canUndo=function(){return null!==this.ia||null!==this.g?!0:!1};ag.prototype.undo=ag.prototype.undo=function(){this.canUndo()&&(null!==this.ia?this.ia.En(this,!0):null!==this.g&&this.g.En(this,!0))};
-ag.prototype.canRedo=ag.prototype.canRedo=function(){return null!==this.ia||null!==this.g?!0:!1};ag.prototype.redo=ag.prototype.redo=function(){this.canRedo()&&(null!==this.ia?this.ia.En(this,!1):null!==this.g&&this.g.En(this,!1))};z.defineProperty(ag,{ia:"model"},function(){return this.ye},function(a){this.ye=a});z.defineProperty(ag,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});
+ag.prototype.canRedo=ag.prototype.canRedo=function(){return null!==this.ia||null!==this.g?!0:!1};ag.prototype.redo=ag.prototype.redo=function(){this.canRedo()&&(null!==this.ia?this.ia.En(this,!1):null!==this.g&&this.g.En(this,!1))};z.defineProperty(ag,{ia:"model"},function(){return this.xe},function(a){this.xe=a});z.defineProperty(ag,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});
z.defineProperty(ag,{Kc:"change"},function(){return this.nr},function(a){u&&z.Ca(a,ag,ag,"change");this.nr=a});z.defineProperty(ag,{Af:"modelChange"},function(){return this.ow},function(a){u&&z.h(a,"string",ag,"modelChange");this.ow=a});z.defineProperty(ag,{propertyName:"propertyName"},function(){return this.jn},function(a){u&&"string"!==typeof a&&z.h(a,"function",ag,"propertyName");this.jn=a});
z.w(ag,{NF:"isTransactionFinished"},function(){return this.nr===rg&&("CommittedTransaction"===this.jn||"FinishedUndo"===this.jn||"FinishedRedo"===this.jn)});z.defineProperty(ag,{object:"object"},function(){return this.Ns},function(a){this.Ns=a});z.defineProperty(ag,{oldValue:"oldValue"},function(){return this.Ps},function(a){this.Ps=a});z.defineProperty(ag,{Oj:"oldParam"},function(){return this.Os},function(a){this.Os=a});
z.defineProperty(ag,{newValue:"newValue"},function(){return this.Ls},function(a){this.Ls=a});z.defineProperty(ag,{Mj:"newParam"},function(){return this.Ks},function(a){this.Ks=a});
-function L(a){1d)return;z.Rg(a.ze,d)}dh(a,"nodeDataArray",tg,"nodeDataArray",a,b,null,d,null);a.dv(b)}
+L.prototype.makeNodeDataKeyUnique=L.prototype.ZA=function(a){if(null!==a){var b=this.uk;if(""!==b){var c=this.Cb(a);if(void 0===c||this.Gc.contains(c)){var d=this.sp;if(null!==d&&(c=d(this,a),void 0!==c&&null!==c&&!this.Gc.contains(c))){z.Ua(a,b,c);return}if("string"===typeof c){for(d=2;this.Gc.contains(c+d);)d++;z.Ua(a,b,c+d)}else if(void 0===c||"number"===typeof c){for(d=-this.Gc.count-1;this.Gc.contains(d);)d--;z.Ua(a,b,d)}else z.k("Model.getKeyForNodeData returned something other than a string or a number: "+
+c)}}}};L.prototype.addNodeData=L.prototype.Tl=function(a){null!==a&&(z.oq(a),this.ke(a)||gh(this,a,!0))};function gh(a,b,c){var d=a.Cb(b);if(void 0===d||a.Gc.qa(d)!==b)a.ZA(b),d=a.Cb(b),void 0===d?z.k("Model.makeNodeDataKeyUnique failed on "+b+". Data not added to Model."):(a.Gc.add(d,b),d=null,c&&(d=z.bb(a.ye),z.Hh(a.ye,d,b)),dh(a,"nodeDataArray",sg,"nodeDataArray",a,null,b,null,d),a.Kq(b),a.Jq(b))}
+L.prototype.addNodeDataCollection=function(a){if(z.isArray(a))for(var b=z.bb(a),c=0;cd)return;z.Rg(a.ye,d)}dh(a,"nodeDataArray",tg,"nodeDataArray",a,b,null,d,null);a.dv(b)}
L.prototype.removeNodeDataCollection=function(a){if(z.isArray(a))for(var b=z.bb(a),c=0;cb&&(b=z.bb(a));z.Hh(a,b,c);dh(this,"",sg,"",a,null,c,null,b)};
-L.prototype.removeArrayItem=L.prototype.hG=function(a,b){void 0===b&&(b=-1);u&&(z.Tt(a,L,"removeArrayItem:arr"),z.p(b,L,"removeArrayItem:idx"));a===this.ze&&z.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=z.bb(a)-1);var c=z.Ma(a,b);z.Rg(a,b);dh(this,"",tg,"",a,c,null,b,null)};z.defineProperty(L,{jo:"nodeCategoryProperty"},function(){return this.dn},function(a){var b=this.dn;b!==a&&(eh(a,L,"nodeCategoryProperty"),this.dn=a,this.i("nodeCategoryProperty",b,a))});
+L.prototype.setDataProperty=function(a,b,c){u&&(z.h(a,"object",L,"setDataProperty:data"),z.h(b,"string",L,"setDataProperty:propname"),""===b&&z.k("Model.setDataProperty: property name must not be an empty string when setting "+a+" to "+c));if(this.ke(a))if(b===this.Nj)this.yy(a,c);else{if(b===this.jo){this.xy(a,c);return}}else!oh&&a instanceof O&&(oh=!0,z.trace('Model.setDataProperty is modifying a GraphObject, "'+a.toString()+'"'),z.trace(" Is that really your intent?"));var d=z.vb(a,b);d!==c&&
+(z.Ua(a,b,c),this.mB(a,b,d,c))};L.prototype.addArrayItem=function(a,b){this.PA(a,-1,b)};L.prototype.insertArrayItem=L.prototype.PA=function(a,b,c){u&&(z.Tt(a,L,"insertArrayItem:arr"),z.p(b,L,"insertArrayItem:idx"));a===this.ye&&z.k("Model.insertArrayItem or Model.addArrayItem should not be called on the Model.nodeDataArray");0>b&&(b=z.bb(a));z.Hh(a,b,c);dh(this,"",sg,"",a,null,c,null,b)};
+L.prototype.removeArrayItem=L.prototype.hG=function(a,b){void 0===b&&(b=-1);u&&(z.Tt(a,L,"removeArrayItem:arr"),z.p(b,L,"removeArrayItem:idx"));a===this.ye&&z.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=z.bb(a)-1);var c=z.Ma(a,b);z.Rg(a,b);dh(this,"",tg,"",a,c,null,b,null)};z.defineProperty(L,{jo:"nodeCategoryProperty"},function(){return this.dn},function(a){var b=this.dn;b!==a&&(eh(a,L,"nodeCategoryProperty"),this.dn=a,this.i("nodeCategoryProperty",b,a))});
L.prototype.getCategoryForNodeData=L.prototype.IA=function(a){if(null===a)return"";var b=this.dn;if(""===b)return"";b=z.vb(a,b);if(void 0===b)return"";if("string"===typeof b)return b;z.k("getCategoryForNodeData found a non-string category for "+a+": "+b);return""};
-L.prototype.setCategoryForNodeData=L.prototype.xy=function(a,b){z.h(b,"string",L,"setCategoryForNodeData:cat");if(null!==a){var c=this.dn;if(""!==c)if(this.le(a)){var d=z.vb(a,c);void 0===d&&(d="");d!==b&&(z.Ua(a,c,b),dh(this,"nodeCategory",bg,c,a,d,b))}else z.Ua(a,c,b)}};
-function X(a,b){2z.Yl(d,a.newValue)&&z.Hh(d,c,a.newValue));return}}else if(a.Kc===
tg){c=a.Oj;if("linkDataArray"===a.Af){d=a.oldValue;z.Xa(d)&&"number"===typeof c&&(e=this.eg(d),b?(this.hi.add(d),z.Ma(this.bf,c)!==d&&z.Hh(this.bf,c,d),void 0!==e&&this.qd.add(e,d)):(this.hi.remove(d),z.Ma(this.bf,c)===d&&z.Rg(this.bf,c),void 0!==e&&this.qd.remove(e)));return}if("linkLabelKeys"===a.Af){d=this.Rk(a.object);z.isArray(d)&&"number"===typeof c&&(b?0>z.Yl(d,a.newValue)&&z.Hh(d,c,a.newValue):(c=z.Yl(d,a.newValue),0<=c&&z.Rg(d,c)));return}}L.prototype.En.call(this,a,b)};
z.defineProperty(X,{jA:"archetypeNodeData"},function(){return this.ol},function(a){var b=this.ol;b!==a&&(null!==a&&z.l(a,Object,X,"archetypeNodeData"),this.ol=a,this.i("archetypeNodeData",b,a))});X.prototype.ho=function(a){if(void 0!==a){var b=this.ol;if(null!==b){var c=this.Ge(a);null===c&&(c=this.copyNodeData(b),z.Ua(c,this.uk,a),this.Tl(c))}return a}};
@@ -417,252 +417,252 @@ X.prototype.getLabelKeysForLinkData=X.prototype.Rk=function(a){if(null===a)retur
X.prototype.setLabelKeysForLinkData=X.prototype.FG=function(a,b){z.Tt(b,X,"setLabelKeysForLinkData:arr");if(null!==a){var c=this.Gg;if(""!==c)if(this.Kh(a)){var d=z.vb(a,c);void 0===d&&(d=z.bl);if(d!==b){for(var e=z.bb(d),g=0;ge||(z.Rg(d,e),this.Kh(a)&&(kh(this,b,a),dh(this,"linkLabelKeys",tg,c,a,b,null,e,null)))}else void 0!==d&&z.k(c+" property is not an Array; cannot removeLabelKeyforLinkData: "+a)}}};
-z.defineProperty(X,{Xg:"linkDataArray"},function(){return this.bf},function(a){var b=this.bf;if(b!==a){z.Tt(a,X,"linkDataArray");this.qd.clear();for(var c=z.bb(a),d=0;dd)return;z.Rg(a.bf,d)}dh(a,"linkDataArray",tg,"linkDataArray",a,b,null,d,null);c=a.mm(b);kh(a,c,b);c=a.nm(b);kh(a,c,b);d=a.Rk(b);if(z.isArray(d))for(var e=z.bb(d),g=0;ga.Vh&&z.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Vh;d&&b&&a.sd("CommittingTransaction",c,a.zj);var e=0;if(0a.Ej;e--)g=d.fa(e),null!==g&&g.clear(),
+ug.prototype.clear=ug.prototype.clear=function(){var a=this.history;a.Za();for(var b=a.count-1;0<=b;b--){var c=a.fa(b);null!==c&&c.clear()}a.clear();this.rh=-1;a.freeze();this.bj=!1;this.Hv=null;this.Ql=0;this.xh.Za();this.xh.clear();this.xh.freeze();this.wp.clear()};ug.prototype.addModel=ug.prototype.LH=function(a){this.Lz.add(a)};ug.prototype.removeModel=ug.prototype.ZJ=function(a){this.Lz.remove(a)};
+ug.prototype.startTransaction=ug.prototype.$b=function(a){void 0===a&&(a="");null===a&&(a="");if(this.lb)return!1;!0===this.uz&&(this.uz=!1,this.Ql++,this.sd("StartingFirstTransaction",a,this.zj),0a.Vh&&z.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Vh;d&&b&&a.sd("CommittingTransaction",c,a.zj);var e=0;if(0a.Ej;e--)g=d.fa(e),null!==g&&g.clear(),
d.md(e),a.Fz=!0;e=a.UF;0===e&&(e=1);0=e&&(g=d.fa(0),null!==g&&g.clear(),d.md(0),a.rh--);d.add(b);a.rh++;d.freeze();g=b}a.sd("CommittedTransaction",c,g)}else{a.bj=!0;try{a.isEnabled&&null!==g&&(g.ru=!0,g.undo())}finally{a.sd("RolledBackTransaction",c,g),a.bj=!1}null!==g&&g.clear()}a.Hv=null;return!0}if(a.isEnabled&&!b&&null!==g){a=e;c=g.bg;for(b=c.count-1;b>=a;b--)d=c.fa(b),null!==d&&d.undo(),c.Za(),c.md(b);c.freeze()}return!1}
ug.prototype.canUndo=ug.prototype.canUndo=function(){if(!this.isEnabled||0=this.Vh&&!this.uz&&(a=a.g,null!==a&&!1===a.Zn||z.trace("Change not within a transaction: "+c.toString()))}};
ug.prototype.skipsEvent=function(a){if(null===a||0>a.Kc.value)return!0;a=a.object;if(a instanceof O){if(a=a.layer,null!==a&&a.Wc)return!0}else if(a instanceof ah&&a.Wc)return!0;return!1};z.w(ug,{GJ:"models"},function(){return this.Lz.j});z.defineProperty(ug,{isEnabled:"isEnabled"},function(){return this.pf},function(a){this.pf=a});z.w(ug,{YG:"transactionToUndo"},function(){return 0<=this.Ej&&this.Ej<=this.history.count-1?this.history.fa(this.Ej):null});
z.w(ug,{XG:"transactionToRedo"},function(){return this.Ejb.Oh||(b.scale=a))};ta.prototype.canDecreaseZoom=function(a){void 0===a&&(a=1/this.Fy);z.p(a,ta,"canDecreaseZoom:factor");var b=this.g;if(null===b||b.Zl!==Qh)return!1;a*=b.scale;return ab.Oh?!1:b.lx};
ta.prototype.increaseZoom=function(a){void 0===a&&(a=this.Fy);z.p(a,ta,"increaseZoom:factor");var b=this.g;null!==b&&b.Zl===Qh&&(a*=b.scale,ab.Oh||(b.scale=a))};ta.prototype.canIncreaseZoom=function(a){void 0===a&&(a=this.Fy);z.p(a,ta,"canIncreaseZoom:factor");var b=this.g;if(null===b||b.Zl!==Qh)return!1;a*=b.scale;return ab.Oh?!1:b.lx};ta.prototype.resetZoom=function(a){void 0===a&&(a=this.vx);z.p(a,ta,"resetZoom:newscale");var b=this.g;null===b||ab.Oh||(b.scale=a)};
ta.prototype.canResetZoom=function(a){void 0===a&&(a=this.vx);z.p(a,ta,"canResetZoom:newscale");var b=this.g;return null===b||ab.Oh?!1:b.lx};ta.prototype.zoomToFit=function(){var a=this.g;if(null!==a){var b=a.scale,c=a.position;b===this.fA&&!isNaN(this.Gz)&&a.fd.O(this.eA)?(a.scale=this.Gz,a.position=this.lD,this.fA=NaN,this.eA=Ed):(this.Gz=b,this.lD=c.copy(),a.zoomToFit(),this.fA=a.scale,this.eA=a.fd.copy())}};ta.prototype.canZoomToFit=function(){var a=this.g;return null===a?!1:a.lx};
-ta.prototype.scrollToPart=function(a){void 0===a&&(a=null);null!==a&&z.l(a,D,ta,"part");var b=this.g;if(null!==b){if(null===a){try{null!==this.qj&&(this.qj.next()?a=this.qj.value:this.qj=null)}catch(c){this.qj=null}null===a&&(0e||Math.abs(b.y-a.y)>d};z.w(bh,{g:"diagram"},function(){return this.ca});z.defineProperty(bh,{name:"name"},function(){return this.Xb},function(a){z.h(a,"string",bh,"name");this.Xb=a});
+bh.prototype.cancelWaitAfter=function(){-1!==this.$w&&z.clearTimeout(this.$w);this.$w=-1};bh.prototype.doWaitAfter=function(){};bh.prototype.findToolHandleAt=function(a,b){var c=this.g;if(null===c)return null;c=c.He(a,function(a){for(;null!==a&&!(a.Q instanceof ea);)a=a.Q;return a});return null===c?null:c.Q.rc===b?c:null};
+bh.prototype.isBeyondDragSize=function(a,b){var c=this.g;if(null===c)return!1;void 0===a&&(a=c.Mc.se);void 0===b&&(b=c.U.se);var d=c.ib.sI,e=d.width,d=d.height;c.Mc.Hj&&(e+=6,d+=6);return Math.abs(b.x-a.x)>e||Math.abs(b.y-a.y)>d};z.w(bh,{g:"diagram"},function(){return this.ca});z.defineProperty(bh,{name:"name"},function(){return this.Xb},function(a){z.h(a,"string",bh,"name");this.Xb=a});
z.defineProperty(bh,{isEnabled:"isEnabled"},function(){return this.pf},function(a){z.h(a,"boolean",bh,"isEnabled");this.pf=a});z.defineProperty(bh,{ya:"isActive"},function(){return this.ZC},function(a){z.h(a,"boolean",bh,"isActive");this.ZC=a});z.defineProperty(bh,{Qf:"transactionResult"},function(){return this.jE},function(a){null!==a&&z.h(a,"string",bh,"transactionResult");this.jE=a});
-function Ph(){0e&&(e=k),l>g&&(g=l))}}Infinity===c?b.m(0,0,0,0):b.m(c,d,e-c,g-d)}
-function Hi(a,b){if(null===a.kc){var c=a.g;if(!(null===c||b&&(c.kb||c.Hf))&&null!==a.fc){var d=c.sa;d.isEnabled&&d.JF?null!==d.zj&&0e&&(e=k),l>g&&(g=l))}}Infinity===c?b.m(0,0,0,0):b.m(c,d,e-c,g-d)}
+function Hi(a,b){if(null===a.kc){var c=a.g;if(!(null===c||b&&(c.kb||c.Hf))&&null!==a.fc){var d=c.sa;d.isEnabled&&d.JF?null!==d.zj&&0c.ua)){var d=a.g;if(null!==d&&!d.kb&&(d=a.oj,null!==d)){var e=null,g=null;null===c.aa&&(e=Ri(a,c.n(0),!1),null!==e&&(g=e.ba));var h=null,k=null;null===c.ea&&(h=Ri(a,c.n(c.ua-1),!0),null!==h&&(k=h.ba));d.isValidLink(g,e,k,h)?b?(c.eq=c.n(0),c.fq=c.n(c.ua-1),c.Sj=!1,c.aa=g,null!==e&&(c.dg=e.vd),c.ea=k,null!==h&&(c.ih=h.vd)):Si(d,g,e,k,h):Si(d,null,null,null,null)}}}Ph.prototype.doDragOver=function(){};
+function Oi(a,b){var c=a.td;if(null!==c&&!(2>c.ua)){var d=a.g;if(null!==d&&!d.kb&&(d=a.oj,null!==d)){var e=null,g=null;null===c.aa&&(e=Ri(a,c.n(0),!1),null!==e&&(g=e.ba));var h=null,k=null;null===c.ea&&(h=Ri(a,c.n(c.ua-1),!0),null!==h&&(k=h.ba));d.isValidLink(g,e,k,h)?b?(c.dq=c.n(0),c.eq=c.n(c.ua-1),c.Sj=!1,c.aa=g,null!==e&&(c.dg=e.vd),c.ea=k,null!==h&&(c.ih=h.vd)):Si(d,g,e,k,h):Si(d,null,null,null,null)}}}Ph.prototype.doDragOver=function(){};
function Ti(a,b){var c=a.g;if(null!==c){a.Bj&&Oi(a,!0);zi(a);var d=Pi(c,b,null,function(b){return!Mi(a,b)}),e=c.U;e.We=d;if(null!==d){e.Nc=!1;for(var g=d;null!==g;){var h=g.bB;if(null!==h&&(h(e,g),e.Nc))break;g=Qi(g)}}else h=c.bB,null!==h&&h(e);if(a.ya||null!==Yh){for(e=(a.kc||a.fc).j;e.next();)g=e.key,g instanceof E&&g.Jd.each(function(a){a.Sj=!1});a.doDropOnto(b,d);if(a.ya||null!==Yh){d=z.Of();for(e=c.selection.j;e.next();)g=e.value,g instanceof E&&Ui(c,g.getAvoidableRect(d));z.Mb(d)}}}}
-Ph.prototype.doDropOnto=function(){};Ph.prototype.doMouseMove=function(){if(this.ya){var a=this.g;if(null!==a&&null!==this.Ln&&null!==this.fc){var b=!1,c=!1;this.mayCopy()?(b=!0,a.lc="copy",Hi(this,!1),this.xt(this.kc),Ii(this,this.kc,!1),this.Ep(this.kc)):this.mayMove()?(c=!0,a.lc="default",Ci(this),Ii(this,this.fc,!0)):this.mayDragOut()?(a.lc="no-drop",Hi(this,!1),Ii(this,this.kc,!1)):Ci(this);Ni(this,a.U.ha,c,b)}}};
-Ph.prototype.doMouseUp=function(){if(this.ya){var a=this.g;if(null!==a){var b=!1,c=this.mayCopy();c&&null!==this.kc?(Ci(this),Hi(this,!0),this.xt(this.kc),Ii(this,this.kc,!1),this.Ep(this.kc),null!==this.kc&&a.AG(this.kc.Uj())):(b=!0,Ci(this),this.mayMove()&&(Ii(this,this.fc,!0),Ni(this,a.U.ha,!0,!1)));this.Kr=!0;Ti(this,a.U.ha);if(this.ya){this.kc=null;if(b&&null!==this.fc)for(b=this.fc.j;b.next();){var d=b.key;d instanceof E&&(d=d.Qa,null===d||null===d.placeholder||this.fc.contains(d)||d.placeholder.K())}a.Bc();
-this.Ep(this.fc);this.Qf=c?"Copy":"Move";a.Ka(c?"SelectionCopied":"SelectionMoved",a.selection)}this.stopTool()}}};Ph.prototype.mayCopy=function(){if(!this.EF)return!1;var a=this.g;if(null===a||a.kb||a.Hf||!a.Wp||!a.Ik||(z.Uk?!a.U.alt:!a.U.control))return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.re()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};
-Ph.prototype.mayDragOut=function(){if(!this.EF)return!1;var a=this.g;if(null===a||!a.Qt||!a.Ik||a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.re()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};Ph.prototype.mayMove=function(){var a=this.g;if(null===a||a.kb||!a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.re()&&b.canMove())return!0}return null!==this.td&&this.Bj&&this.td.canMove()?!0:!1};var Ai=new J(Ph),Yh=null,Zh=null;
-Ph.prototype.getDraggingSource=function(){return Yh};Ph.prototype.mayDragIn=function(){var a=this.g;if(null===a||!a.wE||a.kb||a.Hf||!a.Wp)return!1;var b=Yh;return null===b||null===b.g||b.g.ia.dm!==a.ia.dm?!1:!0};Ph.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.g;a.Ya.Ii();Vi(a);a=Yh;null!==a&&null!==a.g&&(a.g.lc="copy")}};Ph.prototype.doSimulatedDragLeave=function(){var a=Yh;null!==a&&a.doSimulatedDragOut();this.doCancel()};
+Ph.prototype.doDropOnto=function(){};Ph.prototype.doMouseMove=function(){if(this.ya){var a=this.g;if(null!==a&&null!==this.Ln&&null!==this.fc){var b=!1,c=!1;this.mayCopy()?(b=!0,a.lc="copy",Hi(this,!1),this.xt(this.kc),Ii(this,this.kc,!1),this.Dp(this.kc)):this.mayMove()?(c=!0,a.lc="default",Ci(this),Ii(this,this.fc,!0)):this.mayDragOut()?(a.lc="no-drop",Hi(this,!1),Ii(this,this.kc,!1)):Ci(this);Ni(this,a.U.ha,c,b)}}};
+Ph.prototype.doMouseUp=function(){if(this.ya){var a=this.g;if(null!==a){var b=!1,c=this.mayCopy();c&&null!==this.kc?(Ci(this),Hi(this,!0),this.xt(this.kc),Ii(this,this.kc,!1),this.Dp(this.kc),null!==this.kc&&a.AG(this.kc.Uj())):(b=!0,Ci(this),this.mayMove()&&(Ii(this,this.fc,!0),Ni(this,a.U.ha,!0,!1)));this.Kr=!0;Ti(this,a.U.ha);if(this.ya){this.kc=null;if(b&&null!==this.fc)for(b=this.fc.j;b.next();){var d=b.key;d instanceof E&&(d=d.Qa,null===d||null===d.placeholder||this.fc.contains(d)||d.placeholder.K())}a.Bc();
+this.Dp(this.fc);this.Qf=c?"Copy":"Move";a.Ka(c?"SelectionCopied":"SelectionMoved",a.selection)}this.stopTool()}}};Ph.prototype.mayCopy=function(){if(!this.EF)return!1;var a=this.g;if(null===a||a.kb||a.Hf||!a.Vp||!a.Ik||(z.Uk?!a.U.alt:!a.U.control))return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.qe()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};
+Ph.prototype.mayDragOut=function(){if(!this.EF)return!1;var a=this.g;if(null===a||!a.Qt||!a.Ik||a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.qe()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};Ph.prototype.mayMove=function(){var a=this.g;if(null===a||a.kb||!a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.qe()&&b.canMove())return!0}return null!==this.td&&this.Bj&&this.td.canMove()?!0:!1};var Ai=new J(Ph),Yh=null,Zh=null;
+Ph.prototype.getDraggingSource=function(){return Yh};Ph.prototype.mayDragIn=function(){var a=this.g;if(null===a||!a.wE||a.kb||a.Hf||!a.Vp)return!1;var b=Yh;return null===b||null===b.g||b.g.ia.dm!==a.ia.dm?!1:!0};Ph.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.g;a.Ya.Ii();Vi(a);a=Yh;null!==a&&null!==a.g&&(a.g.lc="copy")}};Ph.prototype.doSimulatedDragLeave=function(){var a=Yh;null!==a&&a.doSimulatedDragOut();this.doCancel()};
Ph.prototype.doSimulatedDragOver=function(){var a=this.g;if(null!==a){var b=Yh;null!==b&&null!==b.fc&&this.mayDragIn()&&(a.lc="copy",Wi(this,b.fc.Uj(),!1),Ii(this,this.kc,!1),Ni(this,a.U.ha,!1,!0))}};
Ph.prototype.doSimulatedDrop=function(){var a=this.g;if(null!==a){var b=Yh;if(null!==b){var c=b.g;b.Kr=!0;Ci(this);this.mayDragIn()&&(this.$b("Drop"),Wi(this,b.fc.Uj(),!0),Ii(this,this.kc,!1),null!==this.kc&&a.AG(this.kc.Uj()),Ti(this,a.U.ha),a.Bc(),b=a.selection,null!==this.kc?this.Qf="ExternalCopy":b=new K(D),this.kc=null,a.doFocus(),a.Ka("ExternalObjectsDropped",b,c),this.al())}}};
-function Wi(a,b,c){if(null===a.kc){var d=a.g;if(null!==d&&!d.kb&&!d.Hf){d.Eb=!c;d.cr=!c;a.$k=d.U.ha;d=d.dq(b,d,!0);c=z.Of();Gi(b,c);var e=c.x+c.width/2,g=c.y+c.height/2;z.Mb(c);var h=a.Qw;c=new oa(D);var k=z.P();for(b=b.j;b.next();){var l=b.value;if(l.re()&&l.canCopy()){var m=l.location,l=d.qa(l);k.m(h.x-(e-m.x),h.y-(g-m.y));l.location=k;l.kf();c.add(l,wi(k))}}z.A(k);for(d=d.j;d.next();)e=d.value,e instanceof H&&e.canCopy()&&c.add(e,wi());a.kc=c;Xh(a,c.Uj());null!==a.td&&(c=a.td,d=c.no,c.um(a.$k.x-
+function Wi(a,b,c){if(null===a.kc){var d=a.g;if(null!==d&&!d.kb&&!d.Hf){d.Eb=!c;d.cr=!c;a.$k=d.U.ha;d=d.cq(b,d,!0);c=z.Of();Gi(b,c);var e=c.x+c.width/2,g=c.y+c.height/2;z.Mb(c);var h=a.Qw;c=new oa(D);var k=z.P();for(b=b.j;b.next();){var l=b.value;if(l.qe()&&l.canCopy()){var m=l.location,l=d.qa(l);k.m(h.x-(e-m.x),h.y-(g-m.y));l.location=k;l.kf();c.add(l,wi(k))}}z.A(k);for(d=d.j;d.next();)e=d.value,e instanceof H&&e.canCopy()&&c.add(e,wi());a.kc=c;Xh(a,c.Uj());null!==a.td&&(c=a.td,d=c.mo,c.um(a.$k.x-
(d.x+d.width/2),a.$k.y-(d.y+d.height/2)))}}}Ph.prototype.doSimulatedDragOut=function(){var a=this.g;null!==a&&(this.mayCopy()||this.mayMove()?a.lc="":a.lc="no-drop")};function xi(a){this.point=a;this.GG=Dd}z.ka("DraggingInfo",xi);function Ji(a,b,c){this.Yc=a;this.info=b;this.RI=c}
function Xi(){0=d&&(d=.1);for(var e=this,g=b.On(c,d,function(b){return e.findValidLinkablePort(b,a)},null,!0),d=Infinity,b=null,g=g.j;g.next();){var h=g.value,k=h.ba;if(k instanceof E){var l=h.cb(mc,z.P()),m=c.x-l.x,n=c.y-l.y;z.A(l);l=m*m+n*n;lc){if(null!==this.vc&&a===this.Yg&&b===this.Zg)return!0;var d=b.vd;null===d&&(d="");if(a.Dx(d).count>=c)return!1}return!0};
-Xi.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.xq;if(null!==this.g&&this.g.fb===this&&(null!==a.layer&&!a.layer.Rt||!0!==b.QG))return!1;var c=b.yK;if(Infinity>c){if(null!==this.vc&&a===this.$g&&b===this.ah)return!0;var d=b.vd;null===d&&(d="");if(a.Ug(d).count>=c)return!1}return!0};Xi.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.ba,d=b.ba;return null!==c&&c===d};
+c instanceof E&&(null===c.layer||c.layer.Rt))?b:null};Xi.prototype.isValidFrom=function(a,b){if(null===a||null===b)return this.wq;if(null!==this.g&&this.g.fb===this&&(null!==a.layer&&!a.layer.Rt||!0!==b.kF))return!1;var c=b.GA;if(Infinity>c){if(null!==this.uc&&a===this.Yg&&b===this.Zg)return!0;var d=b.vd;null===d&&(d="");if(a.Dx(d).count>=c)return!1}return!0};
+Xi.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.wq;if(null!==this.g&&this.g.fb===this&&(null!==a.layer&&!a.layer.Rt||!0!==b.QG))return!1;var c=b.yK;if(Infinity>c){if(null!==this.uc&&a===this.$g&&b===this.ah)return!0;var d=b.vd;null===d&&(d="");if(a.Ug(d).count>=c)return!1}return!0};Xi.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.ba,d=b.ba;return null!==c&&c===d};
Xi.prototype.isLinked=function(a,b){if(null===a||null===b)return!1;var c=a.ba;if(!(c instanceof E))return!1;var d=a.vd;null===d&&(d="");var e=b.ba;if(!(e instanceof E))return!1;var g=b.vd;null===g&&(g="");for(e=e.Ug(g);e.next();)if(g=e.value,g.aa===c&&g.dg===d)return!0;return!1};
-Xi.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.GI&&d.xK||!this.isInSameNode(b,d))&&(b.FI&&d.wK||!this.isLinked(b,d)))||null!==this.vc&&(null!==a&&this.isLabelDependentOnLink(a,this.vc)||null!==c&&this.isLabelDependentOnLink(c,this.vc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.vc))return!1;if(null!==a){var e=a.Zx;if(null!==e&&!e(a,b,c,d,this.vc))return!1}if(null!==
-c&&(e=c.Zx,null!==e&&!e(a,b,c,d,this.vc)))return!1;e=this.Zx;return null!==e?e(a,b,c,d,this.vc):!0};Xi.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Cc;if(null===c)return!1;if(c===b)return!0;var d=new K(E);d.add(a);return Yi(this,c,b,d)};function Yi(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.xf&&(d.add(e),Yi(a,e.Cc,c,d)))return!0;b=b.ea;return null!==b&&b.xf&&(d.add(b),Yi(a,b.Cc,c,d))?!0:!1}
-Xi.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.xq;var d=null!==this.g?this.g.EK:Zi;if(d!==Zi){if(d===$i){if(null!==c&&!c.Xc)return!0;for(d=b.Jd;d.next();){var e=d.value;if(e!==c&&e.Xc&&e.ea===b)return!1}return!aj(this,a,b,c,!0)}if(d===bj){if(null!==c&&!c.Xc)return!0;for(d=a.Jd;d.next();)if(e=d.value,e!==c&&e.Xc&&e.aa===a)return!1;return!aj(this,a,b,c,!0)}if(d===cj)return a===b?a=!0:(d=new K(E),d.add(b),a=dj(this,d,a,b,c)),!a;if(d===ej)return!aj(this,
+Xi.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.GI&&d.xK||!this.isInSameNode(b,d))&&(b.FI&&d.wK||!this.isLinked(b,d)))||null!==this.uc&&(null!==a&&this.isLabelDependentOnLink(a,this.uc)||null!==c&&this.isLabelDependentOnLink(c,this.uc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.uc))return!1;if(null!==a){var e=a.Zx;if(null!==e&&!e(a,b,c,d,this.uc))return!1}if(null!==
+c&&(e=c.Zx,null!==e&&!e(a,b,c,d,this.uc)))return!1;e=this.Zx;return null!==e?e(a,b,c,d,this.uc):!0};Xi.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Cc;if(null===c)return!1;if(c===b)return!0;var d=new K(E);d.add(a);return Yi(this,c,b,d)};function Yi(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.xf&&(d.add(e),Yi(a,e.Cc,c,d)))return!0;b=b.ea;return null!==b&&b.xf&&(d.add(b),Yi(a,b.Cc,c,d))?!0:!1}
+Xi.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.wq;var d=null!==this.g?this.g.EK:Zi;if(d!==Zi){if(d===$i){if(null!==c&&!c.Xc)return!0;for(d=b.Jd;d.next();){var e=d.value;if(e!==c&&e.Xc&&e.ea===b)return!1}return!aj(this,a,b,c,!0)}if(d===bj){if(null!==c&&!c.Xc)return!0;for(d=a.Jd;d.next();)if(e=d.value,e!==c&&e.Xc&&e.aa===a)return!1;return!aj(this,a,b,c,!0)}if(d===cj)return a===b?a=!0:(d=new K(E),d.add(b),a=dj(this,d,a,b,c)),!a;if(d===ej)return!aj(this,
a,b,c,!1);if(d===fj)return a===b?a=!0:(d=new K(E),d.add(b),a=gj(this,d,a,b,c)),!a}return!0};function aj(a,b,c,d,e){if(b===c)return!0;if(null===b||null===c)return!1;for(var g=b.Jd;g.next();){var h=g.value;if(h!==d&&(!e||h.Xc)&&h.ea===b&&(h=h.aa,h!==b&&aj(a,h,c,d,e)))return!0}return!1}function dj(a,b,c,d,e){if(c===d)return!0;if(null===c||null===d||b.contains(c))return!1;b.add(c);for(var g=c.Jd;g.next();){var h=g.value;if(h!==e&&h.ea===c&&(h=h.aa,h!==c&&dj(a,b,h,d,e)))return!0}return!1}
function gj(a,b,c,d,e){if(c===d)return!0;if(null===c||null===d||b.contains(c))return!1;b.add(c);for(var g=c.Jd;g.next();){var h=g.value;if(h!==e){var k=h.aa,h=h.ea,k=k===c?h:k;if(k!==c&&gj(a,b,k,d,e))return!0}}return!1}z.defineProperty(Xi,{Zx:"linkValidation"},function(){return this.Gl},function(a){null!==a&&z.h(a,"function",Xi,"linkValidation");this.Gl=a});z.defineProperty(Xi,{ly:"portTargeted"},function(){return this.KD},function(a){null!==a&&z.h(a,"function",Xi,"portTargeted");this.KD=a});
function ua(){0b.fu+1&&cb.fu+1&&c=c.x)d=0>=c.y?d+225:1<=c.y?d+135:d+180;else if(1<=c.x)0>=c.y?d+=315:1<=c.y&&(d+=45);else if(0>=c.y)d+=270;else if(1<=c.y)d+=90;else break a;0>d?d+=360:360<=d&&(d-=360);a.cursor=22.5>d?"e-resize":67.5>d?"se-resize":112.5>d?"s-resize":157.5>d?"sw-resize":202.5>d?"w-resize":247.5>d?"nw-resize":292.5>d?"n-resize":337.5>d?
+Qj.prototype.updateResizeHandles=function(a,b){if(null!==a)if(!a.alignment.hd()&&("pointer"===a.cursor||0=c.x)d=0>=c.y?d+225:1<=c.y?d+135:d+180;else if(1<=c.x)0>=c.y?d+=315:1<=c.y&&(d+=45);else if(0>=c.y)d+=270;else if(1<=c.y)d+=90;else break a;0>d?d+=360:360<=d&&(d-=360);a.cursor=22.5>d?"e-resize":67.5>d?"se-resize":112.5>d?"s-resize":157.5>d?"sw-resize":202.5>d?"w-resize":247.5>d?"nw-resize":292.5>d?"n-resize":337.5>d?
"ne-resize":"e-resize"}else if(a instanceof I)for(c=a.elements;c.next();)this.updateResizeHandles(c.value,b)};z.defineProperty(Qj,{mu:"handleArchetype"},function(){return this.vl},function(a){null!==a&&z.l(a,O,Qj,"handleArchetype");this.vl=a});z.w(Qj,{handle:"handle"},function(){return this.oc});z.defineProperty(Qj,{Ab:"adornedObject"},function(){return this.Rc},function(a){null!==a&&z.l(a,O,Qj,"adornedObject");this.Rc=a});
Qj.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.g;return null!==a&&!a.kb&&a.St&&a.U.left?null!==this.findToolHandleAt(a.Mc.ha,this.name):!1};
-Qj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.oc=this.findToolHandleAt(a.Mc.ha,this.name),null!==this.oc&&(this.Rc=this.oc.ba.Ab,this.Ap.set(this.Ab.cb(this.handle.alignment.cG())),this.ED.set(this.Rc.ba.location),this.zD.set(this.Rc.Da),this.pz=this.computeCellSize(),this.rz=this.computeMinSize(),this.qz=this.computeMaxSize(),a.lf=!0,this.wD=a.Ya.isEnabled,a.Ya.isEnabled=!1,this.$b(this.name),this.ya=!0))};
+Qj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.oc=this.findToolHandleAt(a.Mc.ha,this.name),null!==this.oc&&(this.Rc=this.oc.ba.Ab,this.zp.set(this.Ab.cb(this.handle.alignment.cG())),this.ED.set(this.Rc.ba.location),this.zD.set(this.Rc.Da),this.pz=this.computeCellSize(),this.rz=this.computeMinSize(),this.qz=this.computeMaxSize(),a.lf=!0,this.wD=a.Ya.isEnabled,a.Ya.isEnabled=!1,this.$b(this.name),this.ya=!0))};
Qj.prototype.doDeactivate=function(){var a=this.g;null!==a&&(this.al(),this.Rc=this.oc=null,this.ya=a.lf=!1,a.Ya.isEnabled=this.wD)};Qj.prototype.doCancel=function(){null!==this.Ab&&(this.Ab.Da=this.dG,this.Ab.ba.location=this.OJ);this.stopTool()};Qj.prototype.doMouseMove=function(){var a=this.g;if(this.ya&&null!==a){var b=this.rz,c=this.qz,d=this.pz,e=this.Ab.mF(a.U.ha,z.P()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);a.hg();z.A(e)}};
Qj.prototype.doMouseUp=function(){var a=this.g;if(this.ya&&null!==a){var b=this.rz,c=this.qz,d=this.pz,e=this.Ab.mF(a.U.ha,z.P()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);z.A(e);a.Bc();this.Qf=this.name;a.Ka("PartResized",this.Ab,this.dG)}this.stopTool()};
-Qj.prototype.resize=function(a){if(null!==this.g){var b=this.Ab,c=b.ba;b.Da=a.size;c.kf();a=this.Ab.cb(this.handle.alignment.cG());c instanceof F?(a=c.position.copy().so(a).add(this.Ap),c.move(a)):c.location=c.location.copy().so(a).add(this.Ap)}};
-Qj.prototype.computeResize=function(a,b,c,d,e,g){b.ae()&&(b=mc);var h=this.Ab.Ja,k=h.x,l=h.y,m=h.x+h.width,n=h.y+h.height,p=1;if(!g){var p=h.width,q=h.height;0>=p&&(p=1);0>=q&&(q=1);p=q/p}q=z.P();tb(a.x,a.y,k,l,e.width,e.height,q);a=h.copy();0>=b.x?0>=b.y?(a.x=Math.max(q.x,m-d.width),a.x=Math.min(a.x,m-c.width),a.width=Math.max(m-a.x,c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p=p&&(p=1);0>=q&&(q=1);p=q/p}q=z.P();tb(a.x,a.y,k,l,e.width,e.height,q);a=h.copy();0>=b.x?0>=b.y?(a.x=Math.max(q.x,m-d.width),a.x=Math.min(a.x,m-c.width),a.width=Math.max(m-a.x,c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p=b.y?(a.width=Math.max(Math.min(q.x-k,d.width),c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),
a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p=b.y?(a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=n-a.y,g||(a.width=a.height/p,a.x=
k+.5*(m-k-a.width))):1<=b.y&&(a.height=Math.max(Math.min(q.y-l,d.height),c.height),g||(a.width=a.height/p,a.x=k+.5*(m-k-a.width)));z.A(q);return a};Qj.prototype.computeReshape=function(){var a=Tj;this.Ab instanceof Y&&(a=Uj(this.Ab));return!(a===Vj||a===Wj||null!==this.g&&this.g.U.shift)};Qj.prototype.computeMinSize=function(){var a=this.Ab.ig.copy(),b=this.ig;!isNaN(b.width)&&b.width>a.width&&(a.width=b.width);!isNaN(b.height)&&b.height>a.height&&(a.height=b.height);return a};
Qj.prototype.computeMaxSize=function(){var a=this.Ab.mf.copy(),b=this.mf;!isNaN(b.width)&&b.widtha&&(a+=360));var b=Math.min(Math.abs(this.oK),180),c=Math.min(Math.abs(this.nK),b/2);(null===this.g||!this.g.U.shift)&&0b-c&&(a=(Math.floor(a/b)+1)*b));360<=a?a-=360:0>a&&(a+=360);return a};z.defineProperty(Xj,{oK:"snapAngleMultiple"},function(){return this.RD},function(a){z.h(a,"number",Xj,"snapAngleMultiple");this.RD=a});
z.defineProperty(Xj,{nK:"snapAngleEpsilon"},function(){return this.QD},function(a){z.h(a,"number",Xj,"snapAngleEpsilon");this.QD=a});z.w(Xj,{hM:"originalAngle"},function(){return this.tw});function Zj(){0e.right&&(c.x-=d.width+5);c.xe.bottom&&(c.y-=d.height+5);c.ya.U.Qe?!1:!0};kk.prototype.doStart=function(){this.ya||null===this.hh||this.doActivate()};
-kk.prototype.doActivate=function(){if(!this.ya){var a=this.g;if(null!==a){var b=this.hh;null===b&&(b=a.He(a.U.ha,function(a){return a instanceof pa?a:null}));if(null!==b&&(this.hh=b,null!==b.ba)){this.ya=!0;this.qb=tk;var c=this.nI;null!==b.PG&&(c=b.PG);this.Ak=this.hh.copy();var d=new w(this.hh.cb(hc),this.hh.cb(qc));a.gK(d);if(c instanceof bk)c.show(b,a,this);else{c.style.position="absolute";c.style.zIndex=100;c.textEditingTool=this;if("function"===typeof c.onActivate)c.onActivate();"function"===
+kk.prototype.doActivate=function(){if(!this.ya){var a=this.g;if(null!==a){var b=this.hh;null===b&&(b=a.He(a.U.ha,function(a){return a instanceof pa?a:null}));if(null!==b&&(this.hh=b,null!==b.ba)){this.ya=!0;this.qb=tk;var c=this.nI;null!==b.PG&&(c=b.PG);this.Ak=this.hh.copy();var d=new w(this.hh.cb(hc),this.hh.cb(qc));a.gK(d);if(c instanceof bk)c.show(b,a,this);else{c.style.position="absolute";c.style.zIndex="100";c.textEditingTool=this;if("function"===typeof c.onActivate)c.onActivate();"function"===
typeof c.focus&&c.focus();"function"===typeof c.select&&this.wy&&(c.select(),c.setSelectionRange(0,9999));a.Aj.appendChild(c)}this.Nk=c}}}};kk.prototype.doCancel=function(){null!==this.Ll&&(this.Nk.style.border=this.Ll,this.Ll=null);this.stopTool()};kk.prototype.doMouseUp=function(){!this.ya&&this.canStart()&&this.doActivate()};kk.prototype.doMouseDown=function(){this.ya&&this.acceptText(pk)};
kk.prototype.acceptText=function(a){switch(a){case pk:if(this.qb===xk)"function"===typeof this.Nk.focus&&this.Nk.focus();else if(this.qb===tk||this.qb===wk||this.qb===uk)this.qb=vk,Ak(this);break;case ok:case rk:case qk:if(rk===a&&!0===this.$z.Tx)break;if(this.qb===tk||this.qb===wk||this.qb===uk)this.qb=vk,Ak(this)}};
function Ak(a){var b=a.hh,c=a.g,d=a.Nk;if(null!==b&&null!==d){var e=b.text,g=d.value,h="";d instanceof bk?null!==d.RB&&(h=d.RB()):h="function"===typeof g?g():g;a.isValidText(b,e,h)?(a.$b(a.name),a.qb=xk,d instanceof bk?d.show(b,c,a):null!==a.Ll&&(d.style.border=a.Ll,a.Ll=null),a.Qf=a.name,b.text=h,null!==b.OG&&b.OG(b,e,h),null!==c&&c.Ka("TextEdited",b,e),a.al(),a.stopTool(),null!==c&&c.doFocus()):(a.qb=wk,null!==b.BA&&b.BA(a,e,h),d instanceof bk?d.show(b,c,a):(null===a.Ll&&(a.Ll=d.style.border,d.style.border=
"3px solid red"),"function"===typeof d.focus&&d.focus()))}}kk.prototype.doDeactivate=function(){var a=this.g;if(null!==a){this.qb=mk;this.hh=null;if(null!==this.Nk){var b=this.Nk;if(b instanceof bk)b.Wn(a,this);else{if("function"===typeof b.onDeactivate)b.onDeactivate();null!==b&&a.Aj.removeChild(b)}}this.ya=!1}};kk.prototype.doFocus=function(){u&&z.Nn("TextEditingTool.doFocus","2.0");yk(this)};kk.prototype.doBlur=function(){u&&z.Nn("TextEditingTool.doBlur","2.0");zk(this)};
function yk(a){if(null!==a.Nk){var b=a.ez;a.qb===tk&&(a.qb=uk);"function"===typeof b.select&&a.wy&&(b.select(),b.setSelectionRange(0,9999))}}function zk(a){if(null!==a.Nk){var b=a.ez;"function"===typeof b.focus&&b.focus();"function"===typeof b.select&&a.wy&&(b.select(),b.setSelectionRange(0,9999))}}kk.prototype.isValidText=function(a,b,c){z.l(a,pa,kk,"isValidText:textblock");var d=this.JB;if(null!==d&&!d(a,b,c))return!1;d=a.JB;return null===d||d(a,b,c)?!0:!1};
z.defineProperty(kk,{JB:"textValidation"},function(){return this.Ol},function(a){null!==a&&z.h(a,"function",kk,"textValidation");this.Ol=a});z.defineProperty(kk,{XF:"minimumEditorScale"},function(){return this.rD},function(a){null!==a&&z.h(a,"number",kk,"minimumEditorScale");this.rD=a});z.defineProperty(kk,{wy:"selectsTextOnActivate"},function(){return this.OD},function(a){null!==a&&z.h(a,"boolean",kk,"selectsTextOnActivate");this.OD=a});
-z.defineProperty(kk,{state:"state"},function(){return this.qb},function(a){this.qb!==a&&(z.Ca(a,kk,kk,"starting"),this.qb=a)});kk.prototype.measureTemporaryTextBlock=kk.prototype.BJ=function(a){var b=this.Ak;b.text=a;Bk(b,this.hh.qp,Infinity);return b};function Kh(){bh.call(this);this.name="ToolManager";this.oH=new J(bh);this.pH=new J(bh);this.qH=new J(bh);this.WC=this.XC=850;this.KC=(new Fa(2,2)).Na();this.gE=5E3;this.vD=Wh;this.UC=Ck;this.Gv=this.yC=null;this.xn=-1}z.Ta(Kh,bh);
+z.defineProperty(kk,{state:"state"},function(){return this.qb},function(a){this.qb!==a&&(z.Ca(a,kk,kk,"starting"),this.qb=a)});kk.prototype.measureTemporaryTextBlock=kk.prototype.BJ=function(a){var b=this.Ak;b.text=a;Bk(b,this.hh.pp,Infinity);return b};function Kh(){bh.call(this);this.name="ToolManager";this.oH=new J(bh);this.pH=new J(bh);this.qH=new J(bh);this.WC=this.XC=850;this.KC=(new Fa(2,2)).Na();this.gE=5E3;this.vD=Wh;this.UC=Ck;this.Gv=this.yC=null;this.xn=-1}z.Ta(Kh,bh);
z.ka("ToolManager",Kh);var Wh;Kh.WheelScroll=Wh=z.s(Kh,"WheelScroll",0);var Vh;Kh.WheelZoom=Vh=z.s(Kh,"WheelZoom",1);Kh.WheelNone=z.s(Kh,"WheelNone",2);var Ck;Kh.GestureZoom=Ck=z.s(Kh,"GestureZoom",3);var Dk;Kh.GestureCancel=Dk=z.s(Kh,"GestureCancel",4);var Ek;Kh.GestureNone=Ek=z.s(Kh,"GestureNone",5);z.defineProperty(Kh,{Gu:"mouseWheelBehavior"},function(){return this.vD},function(a){z.Ca(a,Kh,Kh,"mouseWheelBehavior");this.vD=a});
-z.defineProperty(Kh,{oq:"gestureBehavior"},function(){return this.UC},function(a){z.Ca(a,Kh,Kh,"gestureBehavior");this.UC=a});Kh.prototype.initializeStandardTools=function(){this.FH=new ak;this.gG=new $h;this.tJ=new pj;this.tG=new Qj;this.dK=new Xj;this.TF=new ua;this.Ee=new Ph;this.rI=new ik;this.PJ=new jk;this.pA=new dk;this.IB=new kk;this.WH=new wa;this.XH=new Zj};
+z.defineProperty(Kh,{nq:"gestureBehavior"},function(){return this.UC},function(a){z.Ca(a,Kh,Kh,"gestureBehavior");this.UC=a});Kh.prototype.initializeStandardTools=function(){this.FH=new ak;this.gG=new $h;this.tJ=new pj;this.tG=new Qj;this.dK=new Xj;this.TF=new ua;this.Ee=new Ph;this.rI=new ik;this.PJ=new jk;this.pA=new dk;this.IB=new kk;this.WH=new wa;this.XH=new Zj};
Kh.prototype.updateAdornments=function(a){var b=this.cm;if(b instanceof ea&&this.Gv===a){var c=b.Ab;(null!==a?c.ba===a:null===c)?this.showToolTip(b,c):this.hideToolTip()}};
-Kh.prototype.doMouseDown=function(){var a=this.g;if(null!==a){var b=a.U;b.Hj&&this.oq===Dk&&(b.bubbles=!1);if(b.vu){this.cancelWaitAfter();if(this.oq===Ek){b.bubbles=!0;return}if(this.oq===Dk)return;if(a.fb.canStartMultiTouch()){a.fb.standardPinchZoomStart();return}}var c=a.sa;c.lA&&0!==c.Vh&&z.trace("WARNING: In ToolManager.doMouseDown: UndoManager.transactionLevel is not zero");for(var c=this.nf.length,d=0;de.right&&(c.x-=d.width+5);c.xe.bottom?c.y-(d.height+5):c.y+20;c.ya?c/2*a*a+b:-c/2*(--a*(a-2)-1)+b}z.w(nh,{eL:"animationReasons"},function(){return this.rv});
-nh.prototype.canStart=function(){return!0};nh.prototype.prepareAutomaticAnimation=nh.prototype.lo=function(a){this.pf&&(this.kk||this.ca.Zn)&&(this.rv.add(a),this.canStart(a)&&(this.jk&&this.Ii(),this.yc=!0))};function Vk(a){if(a.pf&&(a.rv.clear(),a.yc))if(!a.Do)a.yc=!1;else if(0===a.Co){var b=+new Date;a.Co=b;requestAnimationFrame(function(){if(!1!==a.yc&&!a.jk&&a.Co===b){var c=a.ca;c.Dj("temporaryPixelRatio")&&(c.zk=1);al(c);a.yc=!1;c.Ka("AnimationStarting");bl(a,b)}})}}
+function nh(){this.zC=Hk;this.Fr=this.Gr=this.ca=null;this.Bo=this.Hr=this.Ir=0;this.Co=this.yc=this.kp=this.jk=!1;this.kk=this.pf=!0;this.Ev=this.Dv=this.uC=null;this.tC=0;this.Fv=null;this.rv=new K("string");this.mz=600;this.uH=new M(0,0);this.iC=this.hC=this.kE=!1;this.en=new oa(O,Ik)}z.ka("AnimationManager",nh);nh.prototype.$c=function(a){this.ca=a};function Hk(a,b,c,d){a/=d/2;return 1>a?c/2*a*a+b:-c/2*(--a*(a-2)-1)+b}z.w(nh,{eL:"animationReasons"},function(){return this.rv});
+nh.prototype.canStart=function(){return!0};nh.prototype.prepareAutomaticAnimation=nh.prototype.ko=function(a){this.pf&&(this.kk||this.ca.Zn)&&(this.rv.add(a),this.canStart(a)&&(this.jk&&this.Ii(),this.yc=!0))};function Vk(a){if(a.pf&&(a.rv.clear(),a.yc))if(!a.Co)a.yc=!1;else if(0===a.Bo){var b=+new Date;a.Bo=b;requestAnimationFrame(function(){if(!1!==a.yc&&!a.jk&&a.Bo===b){var c=a.ca;c.Dj("temporaryPixelRatio")&&(c.zk=1);al(c);a.yc=!1;c.Ka("AnimationStarting");bl(a,b)}})}}
function cl(a,b,c,d,e,g){if(a.yc&&(u&&z.l(b,O,nh,"addPropToAnimation:obj"),!("position"===c&&d.O(e)||b instanceof D&&!b.CF))){var h=a.en;if(h.contains(b)){var h=h.qa(b),k=h.start,l=h.end;void 0===k[c]&&(k[c]=dl(d));h.sx&&void 0!==l[c]?h.cu[c]=dl(e):(g||(h.cu[c]=dl(e)),l[c]=dl(e));g&&0===c.indexOf("position:")&&(h.cu.location=dl(b.location))}else k=new na,l=new na,k[c]=dl(d),l[c]=dl(e),d=l,e=k.position,e instanceof M&&!e.F()&&a.rv.contains("Expand SubGraph")&&e.assign(d.position),k=new Ik(k,l,g),g&&
-0===c.indexOf("position:")&&(k.cu.location=dl(b.location)),h.add(b,k);a.Do=!0}}function dl(a){return a instanceof M?a.copy():a instanceof Fa?a.copy():a}
-function bl(a,b){var c;function d(){if(!1!==g.jk&&g.Co===b){var a=+new Date,c=a>s?m:a-r;el(g);fl(g,e,q,h,c,m);g.Dv&&g.Dv();Vi(e);gl(g);a>s?hl(g):requestAnimationFrame(d)}}void 0===c&&(c=new na);var e=a.ca;if(null!==e){a.jk=!0;var g=a,h=c.GL||a.zC,k=c.fM||null,l=c.gM||null,m=c.duration||a.mz,n=a.uH;for(c=a.en.j;c.next();){var p=c.value.start.position;p instanceof M&&(p.F()||p.assign(n))}a.uC=h;a.Dv=k;a.Ev=l;a.tC=m;a.Fv=a.en;var q=a.Fv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l=
-k["position:placeholder"],n=l.cb(hc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);el(a);fl(a,e,q,h,0,m);Vi(a.ca);gl(a);var r=+new Date,s=r+m;g.Co===b&&requestAnimationFrame(function(){d()})}}
+0===c.indexOf("position:")&&(k.cu.location=dl(b.location)),h.add(b,k);a.Co=!0}}function dl(a){return a instanceof M?a.copy():a instanceof Fa?a.copy():a}
+function bl(a,b){var c;function d(){if(!1!==g.jk&&g.Bo===b){var a=+new Date,c=a>s?m:a-r;el(g);fl(g,e,q,h,c,m);g.Dv&&g.Dv();Vi(e);gl(g);a>s?hl(g):requestAnimationFrame(d)}}void 0===c&&(c=new na);var e=a.ca;if(null!==e){a.jk=!0;var g=a,h=c.GL||a.zC,k=c.fM||null,l=c.gM||null,m=c.duration||a.mz,n=a.uH;for(c=a.en.j;c.next();){var p=c.value.start.position;p instanceof M&&(p.F()||p.assign(n))}a.uC=h;a.Dv=k;a.Ev=l;a.tC=m;a.Fv=a.en;var q=a.Fv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l=
+k["position:placeholder"],n=l.cb(hc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);el(a);fl(a,e,q,h,0,m);Vi(a.ca);gl(a);var r=+new Date,s=r+m;g.Bo===b&&requestAnimationFrame(function(){d()})}}
var il={opacity:function(a,b,c,d,e,g){a.opacity=d(e,b,c-b,g)},position:function(a,b,c,d,e,g){e!==g?a.zy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):a.position=new M(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g))},"position:node":function(a,b,c,d,e,g){var h=a.Z,k=c.Z;c=k.x+k.width/2-h.width/2;h=k.y+k.height/2-h.height/2;e!==g?a.zy(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g)):a.position=new M(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g))},"position:placeholder":function(a,b,c,d,e,g){e!==g?a.zy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):
-a.position=new M(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g))},scale:function(a,b,c,d,e,g){a.scale=d(e,b,c-b,g)},visible:function(a,b,c,d,e,g){a.visible=e!==g?b:c}};function el(a){if(!a.lp){var b=a.ca;a.kE=b.Eb;a.hC=b.Ve;a.iC=b.Zu;b.Eb=!0;b.Ve=!0;b.Zu=!0;a.lp=!0}}function gl(a){var b=a.ca;b.Eb=a.kE;b.Ve=a.hC;b.Zu=a.iC;a.lp=!1}
+a.position=new M(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g))},scale:function(a,b,c,d,e,g){a.scale=d(e,b,c-b,g)},visible:function(a,b,c,d,e,g){a.visible=e!==g?b:c}};function el(a){if(!a.kp){var b=a.ca;a.kE=b.Eb;a.hC=b.Ve;a.iC=b.Zu;b.Eb=!0;b.Ve=!0;b.Zu=!0;a.kp=!0}}function gl(a){var b=a.ca;b.Eb=a.kE;b.Ve=a.hC;b.Zu=a.iC;a.kp=!1}
function fl(a,b,c,d,e,g){for(c=c.j;c.next();){var h=c.key,k=c.value,l=k.start,k=k.end,m;for(m in k)if(("position"!==m||!k["position:placeholder"]&&!k["position:node"])&&void 0!==il[m])il[m](h,l[m],k[m],d,e,g)}d=b.RA;b.RA=!0;m=a.zC;0!==a.Ir&&0!==a.Hr&&(c=a.Ir,b.Rb=m(e,c,a.Hr-c,g));null!==a.Gr&&null!==a.Fr&&(c=a.Gr,a=a.Fr,b.ub=new M(m(e,c.x,a.x-c.x,g),m(e,c.y,a.y-c.y,g)));b.RA=d}
-nh.prototype.stopAnimation=nh.prototype.Ii=function(){!0===this.yc&&(this.yc=!1,this.Do&&this.ca.Te());this.jk&&this.pf&&hl(this)};
-function hl(a){a.jk=!1;a.Do=!1;el(a);for(var b=a.ca,c=a.uC,d=a.tC,e=a.Fv.j;e.next();){var g=e.key,h=e.value,k=h.start,l=h.end,m=h.cu,n;for(n in l)if(void 0!==il[n]){var p=n;!h.sx||"position:node"!==p&&"position:placeholder"!==p||(p="position");il[p](g,k[n],void 0!==m[n]?m[n]:h.sx?k[n]:l[n],c,d,d)}h.sx&&void 0!==m.location&&(g.location=m.location);h.ny&&g.Kd(!1)}for(c=a.ca.links;c.next();)d=c.value,null!==d.Gp&&(d.points=d.Gp,d.Gp=null);b.$x.clear();b.zk=null;b.Bc();b.ra();b.hg();jl(b);gl(a);a.Ev&&
-a.Ev();a.Co=0;a.Fv=null;a.Ev=null;a.Dv=null;a.Gr=null;a.Fr=null;a.Ir=0;a.Hr=0;a.en=new oa(O,Ik);b.Ka("AnimationFinished");b.Te()}function kl(a,b,c){var d=b.Z,e=c.Z,g=null;c instanceof F&&(g=c.placeholder);null!==g?(d=g.cb(hc),d.x+=g.padding.left,d.y+=g.padding.top,cl(a,b,"position",d,b.position,!1)):cl(a,b,"position",new M(e.x+e.width/2-d.width/2,e.y+e.height/2-d.height/2),b.position,!1);cl(a,b,"scale",.01,b.scale,!1);if(b instanceof F)for(b=b.Oc;b.next();)g=b.value,g instanceof E&&kl(a,g,c)}
-function ll(a,b,c){if(b.isVisible()){var d=null;c instanceof F&&(d=c.placeholder);null!==d?cl(a,b,"position:placeholder",b.position,d,!0):cl(a,b,"position:node",b.position,c,!0);cl(a,b,"scale",b.scale,.01,!0);a.yc&&(d=a.en,d.contains(b)&&(d.qa(b).ny=!0));if(b instanceof F)for(b=b.Oc;b.next();)d=b.value,d instanceof E&&ll(a,d,c)}}function ml(a,b,c){a.yc&&(null===a.Gr&&b.F()&&null===a.Fr&&(a.Gr=b.copy()),a.Fr=c.copy(),a.Do=!0)}
-function nl(a,b,c){a.yc&&a.ca.Zn&&(0===a.Ir&&0===a.Hr&&(a.Ir=b),a.Hr=c,a.Do=!0)}z.defineProperty(nh,{isEnabled:"isEnabled"},function(){return this.pf},function(a){z.h(a,"boolean",nh,"isEnabled");this.pf=a});z.defineProperty(nh,{duration:"duration"},function(){return this.mz},function(a){z.h(a,"number",nh,"duration");1>a&&z.wa(a,">= 1",nh,"duration");this.mz=a});z.w(nh,{wf:"isAnimating"},function(){return this.jk});z.w(nh,{jJ:"isTicking"},function(){return this.lp});
-z.defineProperty(nh,{KF:"isInitial"},function(){return this.kk},function(a){z.h(a,"boolean",nh,"isInitial");this.kk=a});function Ik(a,b,c){this.start=a;this.end=b;this.cu=new na;this.sx=c;this.ny=!1}function ah(){0a&&z.wa(a,">= 1",nh,"duration");this.mz=a});z.w(nh,{wf:"isAnimating"},function(){return this.jk});z.w(nh,{jJ:"isTicking"},function(){return this.kp});
+z.defineProperty(nh,{KF:"isInitial"},function(){return this.kk},function(a){z.h(a,"boolean",nh,"isInitial");this.kk=a});function Ik(a,b,c){this.start=a;this.end=b;this.cu=new na;this.sx=c;this.ny=!1}function ah(){0=a)return b;for(var c=0,d=0,e=0,g=0,h=0,k=this.pb.j;k.next();){var l=k.value;l instanceof F?e++:l instanceof E?d++:l instanceof H?g++:l instanceof ea?h++:c++}k="";0=d.count)a=d.count;else if(d.fa(a)===b)return-1;d.Zd(a,b);b.ou(c);d=this.g;null!==d&&(c?d.ra():d.rq(b));tl(this,a,b);return a};
+f.Mf=function(a,b){if(this.visible){var c;c=void 0===b?a.yb:b;for(var d=this.pb.o,e=d.length,g=0;g=d.count)a=d.count;else if(d.fa(a)===b)return-1;d.Yd(a,b);b.ou(c);d=this.g;null!==d&&(c?d.ra():d.qq(b));tl(this,a,b);return a};
f.vf=function(a,b,c){if(!c&&b.layer!==this&&null!==b.layer)return b.layer.vf(a,b,c);var d=this.pb;if(0>a||a>=d.length){if(a=d.indexOf(b),0>a)return-1}else if(d.fa(a)!==b&&(a=d.indexOf(b),0>a))return-1;b.pu(c);d.md(a);d=this.g;null!==d&&(c?d.ra():d.vf(b));b.fw=null;return a};
-function tl(a,b,c){b=ul(a,b,c);if(c instanceof F&&null!==c&&isNaN(c.yo)){if(0!==c.Oc.count){for(var d=-1,e=a.pb.o,g=e.length,h=0;hd&&k.Qa===c&&(d=h,0<=b))break}!(0>d)&&d=e)return b;0>b&&(b=a.indexOf(c));if(0>b)return-1;for(var g=b-1,h=NaN;0<=g;){h=a.fa(g).yo;if(!isNaN(h))break;g--}for(var k=b+1,l=NaN;kd)for(;;){if(-1===g||h<=d){g++;if(g===b)break;a.md(b);a.Zd(g,c);return g}for(h=NaN;0<=--g&&(h=a.fa(g).yo,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.md(b);a.Zd(k,c);return k}for(l=NaN;++kd&&k.Qa===c&&(d=h,0<=b))break}!(0>d)&&d=e)return b;0>b&&(b=a.indexOf(c));if(0>b)return-1;for(var g=b-1,h=NaN;0<=g;){h=a.fa(g).xo;if(!isNaN(h))break;g--}for(var k=b+1,l=NaN;kd)for(;;){if(-1===g||h<=d){g++;if(g===b)break;a.md(b);a.Yd(g,c);return g}for(h=NaN;0<=--g&&(h=a.fa(g).xo,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.md(b);a.Yd(k,c);return k}for(l=NaN;++ka||1e[1]&&(z.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+
+function C(a){function b(){window.document.removeEventListener("DOMContentLoaded",b,!1);vl(c)}1e[1]&&(z.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+
z.vfo+". This license key will do nothing until you upgrade to GoJS 1.7 or later."),z.xx.licenseKey=!0);this.Dl=1;this.Wm=0;this.mD=new M;this.iE=500;this.tv=new M;this.qt=null;this.cd=this.Al=!1}z.ka("Diagram",C);
-C.prototype.clear=C.prototype.clear=function(){var a=null;null!==this.Cd&&(a=this.Cd.ba);this.ia.clear();for(var b=this.bc.length,c=0;c=a)return b;for(var c=this.bc.j;c.next();)b+="\n "+c.value.toString(a-1);return b};C.fromDiv=function(a){var b=a;"string"===typeof a&&(b=window.document.getElementById(a));return b instanceof HTMLDivElement&&b.ca instanceof C?b.ca:null};
z.defineProperty(C,{Aj:"div"},function(){return this.Tb},function(a){null!==a&&z.l(a,HTMLDivElement,C,"div");if(this.Tb!==a){wl=[];var b=this.Tb;null!==b?(b.ca=void 0,b.innerHTML="",null!==this.Lb&&(this.Lb.removeEventListener("touchstart",this.WG,!1),this.Lb.removeEventListener("touchmove",this.VG,!1),this.Lb.removeEventListener("touchend",this.UG,!1),this.Lb.Fd.ca=null),b=this.ib,null!==b&&(b.nf.each(function(a){a.cancelWaitAfter()}),b.jg.each(function(a){a.cancelWaitAfter()}),b.kg.each(function(a){a.cancelWaitAfter()})),
-b.cancelWaitAfter(),this.fb.doCancel(),this.pd=this.Lb=null,window.removeEventListener("resize",this.dH,!1),window.removeEventListener("mousemove",this.Cq,!0),window.removeEventListener("mousedown",this.Bq,!0),window.removeEventListener("mouseup",this.Eq,!0),window.removeEventListener("mousewheel",this.Qh,!0),window.removeEventListener("DOMMouseScroll",this.Qh,!0),window.removeEventListener("mouseout",this.Dq,!0)):this.sh=!1;this.Tb=null;if(null!==a){if(b=a.ca)b.Aj=null;Il(this,a);this.Iq()}}});
-function Ll(a){var b=a.Lb;b.addEventListener("touchstart",a.WG,!1);b.addEventListener("touchmove",a.VG,!1);b.addEventListener("touchend",a.UG,!1);b.addEventListener("mousemove",a.Cq,!1);b.addEventListener("mousedown",a.Bq,!1);b.addEventListener("mouseup",a.Eq,!1);b.addEventListener("mousewheel",a.Qh,!1);b.addEventListener("DOMMouseScroll",a.Qh,!1);b.addEventListener("mouseout",a.Dq,!1);b.addEventListener("keydown",a.mJ,!1);b.addEventListener("keyup",a.nJ,!1);b.addEventListener("selectstart",function(a){a.preventDefault();
-return!1},!1);b.addEventListener("contextmenu",function(a){a.preventDefault();return!1},!1);b.addEventListener("gesturechange",function(b){a.ib.oq===Dk&&b.preventDefault()},!1);b.addEventListener("pointerdown",a.QJ,!1);b.addEventListener("pointermove",a.SJ,!1);b.addEventListener("pointerleave",a.RJ,!1);window.addEventListener("resize",a.dH,!1)}C.prototype.computePixelRatio=function(){return null!==this.zk?this.zk:this.rH};C.prototype.doMouseMove=function(){this.fb.doMouseMove()};
+b.cancelWaitAfter(),this.fb.doCancel(),this.pd=this.Lb=null,window.removeEventListener("resize",this.dH,!1),window.removeEventListener("mousemove",this.Bq,!0),window.removeEventListener("mousedown",this.Aq,!0),window.removeEventListener("mouseup",this.Dq,!0),window.removeEventListener("mousewheel",this.Qh,!0),window.removeEventListener("DOMMouseScroll",this.Qh,!0),window.removeEventListener("mouseout",this.Cq,!0)):this.sh=!1;this.Tb=null;if(null!==a){if(b=a.ca)b.Aj=null;Il(this,a);this.Iq()}}});
+function Ll(a){var b=a.Lb;b.addEventListener("touchstart",a.WG,!1);b.addEventListener("touchmove",a.VG,!1);b.addEventListener("touchend",a.UG,!1);b.addEventListener("mousemove",a.Bq,!1);b.addEventListener("mousedown",a.Aq,!1);b.addEventListener("mouseup",a.Dq,!1);b.addEventListener("mousewheel",a.Qh,!1);b.addEventListener("DOMMouseScroll",a.Qh,!1);b.addEventListener("mouseout",a.Cq,!1);b.addEventListener("keydown",a.mJ,!1);b.addEventListener("keyup",a.nJ,!1);b.addEventListener("selectstart",function(a){a.preventDefault();
+return!1},!1);b.addEventListener("contextmenu",function(a){a.preventDefault();return!1},!1);b.addEventListener("gesturechange",function(b){a.ib.nq===Dk&&b.preventDefault()},!1);b.addEventListener("pointerdown",a.QJ,!1);b.addEventListener("pointermove",a.SJ,!1);b.addEventListener("pointerleave",a.RJ,!1);window.addEventListener("resize",a.dH,!1)}C.prototype.computePixelRatio=function(){return null!==this.zk?this.zk:this.rH};C.prototype.doMouseMove=function(){this.fb.doMouseMove()};
C.prototype.doMouseDown=function(){this.fb.doMouseDown()};C.prototype.doMouseUp=function(){this.fb.doMouseUp()};C.prototype.doMouseWheel=function(){this.fb.doMouseWheel()};C.prototype.doKeyDown=function(){this.fb.doKeyDown()};C.prototype.doKeyUp=function(){this.fb.doKeyUp()};C.prototype.doFocus=function(){this.focus()};C.prototype.focus=C.prototype.focus=function(){this.Lb&&this.Lb.focus()};
-function al(a){if(null!==a.Lb){var b=a.Tb;if(0!==b.clientWidth&&0!==b.clientHeight){var c=a.wl?a.Ud:0,d=a.hk?a.Ud:0,e=a.rd;a.rd=a.computePixelRatio();a.rd!==e&&(a.bs=!0,a.Te());if(b.clientWidth!==a.Ob+c||b.clientHeight!==a.Sb+d)a.Qm=!0,a.Ne=!0,b=a.Wb,null!==b&&b.Vx&&a.Zl===Qh&&b.N(),a.je||a.Te()}}}
+function al(a){if(null!==a.Lb){var b=a.Tb;if(0!==b.clientWidth&&0!==b.clientHeight){var c=a.wl?a.Td:0,d=a.hk?a.Td:0,e=a.rd;a.rd=a.computePixelRatio();a.rd!==e&&(a.bs=!0,a.Te());if(b.clientWidth!==a.Ob+c||b.clientHeight!==a.Sb+d)a.Qm=!0,a.Ne=!0,b=a.Wb,null!==b&&b.Vx&&a.Zl===Qh&&b.N(),a.ie||a.Te()}}}
function Fl(a){var b=new ah;b.name="Background";a.Lt(b);b=new ah;b.name="";a.Lt(b);b=new ah;b.name="Foreground";a.Lt(b);b=new ah;b.name="Adornment";b.Wc=!0;a.Lt(b);b=new ah;b.name="Tool";b.Wc=!0;b.DF=!0;a.Lt(b);b=new ah;b.name="Grid";b.Df=!1;b.qg=!1;b.Wc=!0;a.KH(b,a.hm("Background"))}
function Ml(a){a.Cd=new I(Nl);a.Cd.name="GRID";var b=new Y;b.Jb="LineH";b.stroke="lightgray";b.mb=.5;b.interval=1;a.Cd.add(b);b=new Y;b.Jb="LineH";b.stroke="gray";b.mb=.5;b.interval=5;a.Cd.add(b);b=new Y;b.Jb="LineH";b.stroke="gray";b.mb=1;b.interval=10;a.Cd.add(b);b=new Y;b.Jb="LineV";b.stroke="lightgray";b.mb=.5;b.interval=1;a.Cd.add(b);b=new Y;b.Jb="LineV";b.stroke="gray";b.mb=.5;b.interval=5;a.Cd.add(b);b=new Y;b.Jb="LineV";b.stroke="gray";b.mb=1;b.interval=10;a.Cd.add(b);b=new D;b.add(a.Cd);
-b.Lf="Grid";b.yo=0;b.Qx=!1;b.CF=!1;b.qg=!1;b.ay="GRID";a.add(b);a.pb.remove(b);a.Cd.visible=!1}C.prototype.tH=function(){this.ca.isEnabled?this.ca.qI(this):Ol(this.ca)};C.prototype.xD=function(a){this.ca.isEnabled?(this.ca.Sz=!0,this.ca.Uz=a.target.scrollTop,this.ca.Tz=a.target.scrollLeft):Ol(this.ca)};
+b.Lf="Grid";b.xo=0;b.Qx=!1;b.CF=!1;b.qg=!1;b.ay="GRID";a.add(b);a.pb.remove(b);a.Cd.visible=!1}C.prototype.tH=function(){this.ca.isEnabled?this.ca.qI(this):Ol(this.ca)};C.prototype.xD=function(a){this.ca.isEnabled?(this.ca.Sz=!0,this.ca.Uz=a.target.scrollTop,this.ca.Tz=a.target.scrollLeft):Ol(this.ca)};
C.prototype.diagramScroll=C.prototype.qI=function(a){if(this.Sz&&null!==this.Lb){this.Gw=!0;var b=this.fd,c=this.yb,d=b.width,e=c.width,g=b.height,h=c.height,k=b.right,l=c.right,m=b.bottom,n=c.bottom,p=b.x,q=c.x,b=b.y,c=c.y,r=this.scale,s;s=a.scrollLeft;if(this.fs)switch(this.Qz){case "negative":s=s+a.scrollWidth-a.clientWidth;break;case "reverse":s=a.scrollWidth-s-a.clientWidth}var v=s;el&&(this.position=s.m(-(this.Kw.scrollWidth-this.Ob)+v-this.Ob/r+k,this.position.y))),a.xH&&this.Be&&(bn&&(this.position=s.m(this.position.x,-(this.Kw.scrollHeight-this.Sb)+a.scrollTop-this.Sb/r+m))),z.A(s),Pl(this),this.Qm=this.Gw=!1,b=this.fd,c=this.yb,k=b.right,l=c.right,
m=b.bottom,n=c.bottom,p=b.x,q=c.x,b=b.y,c=c.y,e>=d&&p>=q&&k<=l&&(this.ht.style.width="1px"),h>=g&&b>=c&&m<=n&&(this.ht.style.height="1px"))}};C.prototype.computeBounds=C.prototype.Jh=function(){0c&&(e=c),ea.Oh&&(e=a.Oh),e):b===Wl?(e=l>k?(h-a.Ud)/d:(g-a.Ud)/e,e>c&&(e=c),ea.Oh&&(e=a.Oh),e):a.scale}C.prototype.zoomToFit=C.prototype.zoomToFit=function(){this.scale=Sl(this,Vl)};
-C.prototype.zoomToRect=function(a,b){void 0===b&&(b=Vl);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Vl||b===Wl)if(isNaN(c))e=this.yb.height*this.scale/d;else if(isNaN(d))e=this.yb.width*this.scale/c;else var e=this.Ob,g=this.Sb,e=b===Wl?g/d>e/c?(g-(this.hk?this.Ud:0))/d:(e-(this.wl?this.Ud:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new M(a.x,a.y)}};z.defineProperty(C,{RA:null},function(){return this.cd},function(a){this.cd=a});
+function Rl(a,b){if((b||a.sh)&&!a.cd&&null!==a.Lb&&!a.Ya.wf&&a.fd.F()){a.cd=!0;var c=a.Gm;b&&a.yl!==Qh&&(c=a.yl);var d=c!==Qh?Sl(a,c):a.scale,c=a.yb.copy(),e=a.Ob/d,g=a.Sb/d,h=null,k=a.Ya;k.yc&&(h=a.ub.copy());a.position.Za();var l=a.Jo;b&&!l.jd()&&a.ep.jd()&&(l=a.ep);Tl(a,a.ub,a.fd,e,g,l,b);a.position.freeze();null!==h&&ml(k,h,a.ub);e=a.scale;a.scale=d;a.cd=!1;d=a.yb;d.Vc(c)||a.Lu(c,d,e,a.scale,!1)}}
+function Sl(a,b){var c=a.xb.vx;if(null===a.Lb)return c;a.ik&&Ul(a,a.Jh());var d=a.fd;if(!d.F())return c;var e=d.width,d=d.height,g=a.Ob,h=a.Sb,k=g/e,l=h/d;return b===Vl?(e=Math.min(l,k),e>c&&(e=c),ea.Oh&&(e=a.Oh),e):b===Wl?(e=l>k?(h-a.Td)/d:(g-a.Td)/e,e>c&&(e=c),ea.Oh&&(e=a.Oh),e):a.scale}C.prototype.zoomToFit=C.prototype.zoomToFit=function(){this.scale=Sl(this,Vl)};
+C.prototype.zoomToRect=function(a,b){void 0===b&&(b=Vl);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Vl||b===Wl)if(isNaN(c))e=this.yb.height*this.scale/d;else if(isNaN(d))e=this.yb.width*this.scale/c;else var e=this.Ob,g=this.Sb,e=b===Wl?g/d>e/c?(g-(this.hk?this.Td:0))/d:(e-(this.wl?this.Td:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new M(a.x,a.y)}};z.defineProperty(C,{RA:null},function(){return this.cd},function(a){this.cd=a});
C.prototype.alignDocument=function(a,b){this.ik&&Ul(this,this.Jh());var c=this.fd,d=this.yb;this.position=new M(c.x+(a.x*c.width+a.offsetX)-(b.x*d.width-b.offsetX),c.y+(a.y*c.height+a.offsetY)-(b.y*d.height-b.offsetY))};
function Tl(a,b,c,d,e,g,h){var k=b.x,l=b.y;if(h||a.uB===xl)g.jd()&&(d>c.width&&(k=c.x+(g.x*c.width+g.offsetX)-(g.x*d-g.offsetX)),e>c.height&&(l=c.y+(g.y*c.height+g.offsetY)-(g.y*e-g.offsetY))),g=a.xG,h=d-c.width,dc.left?k=c.left:kc.top?l=c.top:lc.touches.length)&&c.preventDefault();c.cancelBubble=!0;return!1}
C.prototype.mJ=function(a){if(!this.ca.isEnabled)return!1;var b=this.ca.Ub;Xl(this.ca,this.ca,a,b,!1);b.key=String.fromCharCode(a.which);b.gm=!0;switch(a.which){case 8:b.key="Backspace";break;case 33:b.key="PageUp";break;case 34:b.key="PageDown";break;case 35:b.key="End";break;case 36:b.key="Home";break;case 37:b.key="Left";break;case 38:b.key="Up";break;case 39:b.key="Right";break;case 40:b.key="Down";break;case 45:b.key="Insert";break;case 46:b.key="Del";break;case 48:b.key="0";break;case 187:case 61:case 107:b.key=
"Add";break;case 189:case 173:case 109:b.key="Subtract";break;case 27:b.key="Esc"}this.ca.doKeyDown();return 187!==a.which&&189!==a.which&&48!==a.which&&107!==a.which&&109!==a.which&&61!==a.which&&173!==a.which||!0!==a.ctrlKey?ia(this.ca,b,a):(a.cancelBubble=!0,a.preventDefault(),a.stopPropagation(),!1)};
C.prototype.nJ=function(a){if(!this.ca.isEnabled)return!1;var b=this.ca.Ub;Xl(this.ca,this.ca,a,b,!1);b.key=String.fromCharCode(a.which);b.up=!0;switch(a.which){case 8:b.key="Backspace";break;case 33:b.key="PageUp";break;case 34:b.key="PageDown";break;case 35:b.key="End";break;case 36:b.key="Home";break;case 37:b.key="Left";break;case 38:b.key="Up";break;case 39:b.key="Right";break;case 40:b.key="Down";break;case 45:b.key="Insert";break;case 46:b.key="Del";break;case 93:a.preventDefault()}this.ca.doKeyUp();
-return ia(this.ca,b,a)};C.prototype.bp=function(a){var b=this.Lb;if(null===b)return new M(0,0);var c=this.Ob,d=this.Sb,b=b.getBoundingClientRect(),c=a.clientX-c/b.width*b.left;a=a.clientY-d/b.height*b.top;return null!==this.Jc?(a=new M(c,a),ub(a,this.Jc),a):new M(c,a)};
-function Yl(a,b,c){var d=a.Lb,e=a.Ob,g=a.Sb,h=0,k=0;null!==d&&(d=d.getBoundingClientRect(),h=b.clientX-e/d.width*d.left,k=b.clientY-g/d.height*d.top);c.te.m(h,k);null!==a.Jc?(b=z.Fb(h,k),a.Jc.Ci(b),c.ha.assign(b),z.A(b)):c.ha.m(h,k)}
-function Zf(a,b,c,d){var e=null;if(void 0!==b.targetTouches){if(2>b.targetTouches.length)return;e=b.targetTouches[c]}else if(null!==a.nj[0])e=a.nj[c];else return;c=a.Lb;b=a.Ob;a=a.Sb;var g=0,h=0;null!==c&&null!==e&&(c=c.getBoundingClientRect(),g=e.clientX-b/c.width*c.left,h=e.clientY-a/c.height*c.top);d.m(g,h)}C.prototype.invalidateDocumentBounds=C.prototype.Bc=function(){this.ik||(this.ik=!0,this.Te(!0))};function jl(a){a.je||Li(a);a.ik&&Ul(a,a.Jh())}
-C.prototype.redraw=C.prototype.Iq=function(){this.cd||this.je||(this.ra(),am(this),Pl(this),this.Bc(),this.hg())};C.prototype.isUpdateRequested=function(){return this.Zf};C.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Ya,c=b.isEnabled;b.Ii();b.isEnabled=!1;Vi(this);this.sh=!1;b.isEnabled=c;null!==a&&z.setTimeout(a,1)};
-C.prototype.requestUpdate=C.prototype.Te=function(a){void 0===a&&(a=!1);if(!0!==this.Zf&&!(this.cd||!1===a&&this.je)){this.Zf=!0;var b=this;requestAnimationFrame(function(){b.Zf&&b.hg()})}};C.prototype.maybeUpdate=C.prototype.hg=function(){if(!this.$o||this.Zf)this.$o&&(this.$o=!1),Vi(this)};function bm(a,b){a.Ya.wf||a.cd||!a.Qm||Ol(a)||(b&&Li(a),Rl(a,!1))}
-function Vi(a){if(!a.je&&(a.Zf=!1,null!==a.Tb)){a.je=!0;var b=a.Ya,c=a.Pz;if(!b.lp&&0!==c.length){for(var d=c.o,e=d.length,g=0;gb;b++){var c=a.Cg.j;if(null===c||0===a.Cg.count)break;a.Cg=new K(O);a.QB(c,a.Cg);u&&22===b&&z.trace("failure to validate parts")}a.og.each(function(a){a instanceof F&&0!==(a.Ha&65536)!==!1&&(a.Ha^=65536)})}}
-C.prototype.QB=function(a,b){for(a.reset();a.next();){var c=a.value;!c.re()||c instanceof F||(c.sm()?(Bk(c,Infinity,Infinity),c.rc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof F&&c.isVisible()&&Bm(this,c);for(a.reset();a.next();)c=a.value,c instanceof H&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.rc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof ea&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.rc()):b.add(c))};
-function Bm(a,b){for(var c=z.tb(),d=z.tb(),e=b.Oc;e.next();){var g=e.value;g.isVisible()&&(g instanceof F?(Cm(g)||Dm(g)||Em(g))&&Bm(a,g):g instanceof H?g.aa===b||g.ea===b?d.push(g):c.push(g):(Bk(g,Infinity,Infinity),g.rc()))}for(var e=c.length,h=0;hb.targetTouches.length)return;e=b.targetTouches[c]}else if(null!==a.nj[0])e=a.nj[c];else return;c=a.Lb;b=a.Ob;a=a.Sb;var g=0,h=0;null!==c&&null!==e&&(c=c.getBoundingClientRect(),g=e.clientX-b/c.width*c.left,h=e.clientY-a/c.height*c.top);d.m(g,h)}C.prototype.invalidateDocumentBounds=C.prototype.Bc=function(){this.ik||(this.ik=!0,this.Te(!0))};function jl(a){a.ie||Li(a);a.ik&&Ul(a,a.Jh())}
+C.prototype.redraw=C.prototype.Iq=function(){this.cd||this.ie||(this.ra(),am(this),Pl(this),this.Bc(),this.hg())};C.prototype.isUpdateRequested=function(){return this.Zf};C.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Ya,c=b.isEnabled;b.Ii();b.isEnabled=!1;Vi(this);this.sh=!1;b.isEnabled=c;null!==a&&z.setTimeout(a,1)};
+C.prototype.requestUpdate=C.prototype.Te=function(a){void 0===a&&(a=!1);if(!0!==this.Zf&&!(this.cd||!1===a&&this.ie)){this.Zf=!0;var b=this;requestAnimationFrame(function(){b.Zf&&b.hg()})}};C.prototype.maybeUpdate=C.prototype.hg=function(){if(!this.Zo||this.Zf)this.Zo&&(this.Zo=!1),Vi(this)};function bm(a,b){a.Ya.wf||a.cd||!a.Qm||Ol(a)||(b&&Li(a),Rl(a,!1))}
+function Vi(a){if(!a.ie&&(a.Zf=!1,null!==a.Tb)){a.ie=!0;var b=a.Ya,c=a.Pz;if(!b.kp&&0!==c.length){for(var d=c.o,e=d.length,g=0;gb;b++){var c=a.Cg.j;if(null===c||0===a.Cg.count)break;a.Cg=new K(O);a.QB(c,a.Cg);u&&22===b&&z.trace("failure to validate parts")}a.og.each(function(a){a instanceof F&&0!==(a.Ha&65536)!==!1&&(a.Ha^=65536)})}}
+C.prototype.QB=function(a,b){for(a.reset();a.next();){var c=a.value;!c.qe()||c instanceof F||(c.sm()?(Bk(c,Infinity,Infinity),c.qc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof F&&c.isVisible()&&Bm(this,c);for(a.reset();a.next();)c=a.value,c instanceof H&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.qc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof ea&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.qc()):b.add(c))};
+function Bm(a,b){for(var c=z.tb(),d=z.tb(),e=b.Oc;e.next();){var g=e.value;g.isVisible()&&(g instanceof F?(Cm(g)||Dm(g)||Em(g))&&Bm(a,g):g instanceof H?g.aa===b||g.ea===b?d.push(g):c.push(g):(Bk(g,Infinity,Infinity),g.qc()))}for(var e=c.length,h=0;hx+1&&
-(N=Math.max((t-x)*c+a.Ob,N)),q+k+1p+1&&(G=Math.max((B-p)*c+a.Sb,G)),r+l+1x+1&&(N=Math.max((t-x)*c+a.Ob,N)),q+1p+1&&(G=Math.max((B-p)*c+l,G)),r+1x+1&&(k=a.position.x*c));if(a.fs)switch(a.Qz){case "negative":k=-(b.scrollWidth-k-b.clientWidth);break;case "reverse":k=b.scrollWidth-k-b.clientWidth}b.scrollLeft=k;a.OA&&a.Be&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.bs=!0);m=a.Ob;n=a.Sb;b.style.width=m+(a.wl?a.Ud:0)+"px";b.style.height=n+(a.hk?a.Ud:0)+"px";a.Sz=!1;return d!==m||e!==
+function Ol(a){var b=a.Lb;if(null===b)return!0;var c=a.Tb,d=a.Ob,e=a.Sb,g=a.mE.copy();if(!g.F())return!0;var h=!1,k=a.wl?a.Td:0,l=a.hk?a.Td:0,m=c.clientWidth||d+k,n=c.clientHeight||e+l;if(m!==d+k||n!==e+l)a.wl=!1,a.hk=!1,l=k=0,a.Ob=m,a.Sb=n,h=a.bs=!0;a.Qm=!1;var p=a.yb,c=a.fd,m=c.width,n=c.height,q=p.width,r=p.height,s=c.x,v=p.x,t=c.right,x=p.right+k,y=c.y,B=p.y,A=c.bottom,p=p.bottom+l,N="1px",G="1px",c=a.scale;a.uB===xl&&mx+1&&
+(N=Math.max((t-x)*c+a.Ob,N)),q+k+1p+1&&(G=Math.max((A-p)*c+a.Sb,G)),r+l+1x+1&&(N=Math.max((t-x)*c+a.Ob,N)),q+1p+1&&(G=Math.max((A-p)*c+l,G)),r+1x+1&&(k=a.position.x*c));if(a.fs)switch(a.Qz){case "negative":k=-(b.scrollWidth-k-b.clientWidth);break;case "reverse":k=b.scrollWidth-k-b.clientWidth}b.scrollLeft=k;a.OA&&a.Be&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.bs=!0);m=a.Ob;n=a.Sb;b.style.width=m+(a.wl?a.Td:0)+"px";b.style.height=n+(a.hk?a.Td:0)+"px";a.Sz=!1;return d!==m||e!==
n||a.Ya.yc?(p=a.yb,a.Lu(g,p,c,a.scale,h),!1):!0}
-C.prototype.add=C.prototype.add=function(a){z.l(a,D,C,"add:part");var b=a.g;if(b!==this){null!==b&&z.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.cr&&(a.El="Tool");var c=a.Lf,b=this.hm(c);null===b&&(b=this.hm(""));null===b&&z.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.rq(99999999,a,a.g===this),0<=c&&this.ld(sg,"parts",b,null,a,null,c),b.Wc||this.Bc(),a.N(Lm),c=a.Yx,null!==
+C.prototype.add=C.prototype.add=function(a){z.l(a,D,C,"add:part");var b=a.g;if(b!==this){null!==b&&z.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.cr&&(a.El="Tool");var c=a.Lf,b=this.hm(c);null===b&&(b=this.hm(""));null===b&&z.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.qq(99999999,a,a.g===this),0<=c&&this.ld(sg,"parts",b,null,a,null,c),b.Wc||this.Bc(),a.N(Lm),c=a.Yx,null!==
c&&c(a,null,b))}};
-C.prototype.rq=function(a){if(a instanceof E){if(this.zp.add(a),a instanceof F){var b=a.Qa;null===b?this.Pl.add(a):b.cn.add(a);b=a.Wb;null!==b&&(b.g=this)}}else a instanceof H?this.sp.add(a):a instanceof ea||this.pb.add(a);var c=this;Mm(a,function(a){Nm(c,a)});a.Qb&&a.K();b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.add(b,a):this.Ti.add(b,a)),Mm(a,function(a){Om(c,a)}));!0!==Dm(a)&&!0!==Em(a)||this.Cg.add(a);Pm(a,!0,this);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&
+C.prototype.qq=function(a){if(a instanceof E){if(this.yp.add(a),a instanceof F){var b=a.Qa;null===b?this.Pl.add(a):b.cn.add(a);b=a.Wb;null!==b&&(b.g=this)}}else a instanceof H?this.rp.add(a):a instanceof ea||this.pb.add(a);var c=this;Mm(a,function(a){Nm(c,a)});a.Qb&&a.K();b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.add(b,a):this.Ti.add(b,a)),Mm(a,function(a){Om(c,a)}));!0!==Dm(a)&&!0!==Em(a)||this.Cg.add(a);Pm(a,!0,this);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&
a.Z.F()&&this.ra(sl(a,a.Z));this.Te()};
-C.prototype.vf=function(a){a.Vt();if(a instanceof E){if(this.zp.remove(a),a instanceof F){var b=a.Qa;null===b?this.Pl.remove(a):b.cn.remove(a);b=a.Wb;null!==b&&(b.g=null)}}else a instanceof H?this.sp.remove(a):a instanceof ea||this.pb.remove(a);var c=this;Mm(a,function(a){Rm(c,a)});b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.remove(b):this.Ti.remove(b)),Mm(a,function(a){Sm(c,a)}));this.Cg.remove(a);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&a.Z.F()&&this.ra(sl(a,
+C.prototype.vf=function(a){a.Vt();if(a instanceof E){if(this.yp.remove(a),a instanceof F){var b=a.Qa;null===b?this.Pl.remove(a):b.cn.remove(a);b=a.Wb;null!==b&&(b.g=null)}}else a instanceof H?this.rp.remove(a):a instanceof ea||this.pb.remove(a);var c=this;Mm(a,function(a){Rm(c,a)});b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.remove(b):this.Ti.remove(b)),Mm(a,function(a){Sm(c,a)}));this.Cg.remove(a);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&a.Z.F()&&this.ra(sl(a,
a.Z));this.Te()};C.prototype.remove=C.prototype.remove=function(a){z.l(a,D,C,"remove:part");Tm(this,a,!0)};function Tm(a,b,c){var d=b.layer;null!==d&&d.g===a&&(b.gb=!1,b.Wg=!1,b.N(Um),c&&b.Mn(),c=d.vf(-1,b,!1),0<=c&&a.ld(tg,"parts",d,b,null,c,null),a=b.Yx,null!==a&&a(b,d,null))}
-C.prototype.removeParts=C.prototype.rB=function(a,b){if(z.isArray(a))for(var c=z.bb(a),d=0;dd&&this.Bc()};
-C.prototype.addLayerAfter=function(a,b){Vm(this,a,b);a.$c(this);var c=this.bc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.ye&&this.ld(tg,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.Bc()};
-C.prototype.removeLayer=function(a){z.l(a,ah,C,"removeLayer:layer");a.g!==this&&z.k("Cannot remove a Layer from another Diagram: "+a+" of "+a.g);if(""!==a.name){var b=this.bc,c=b.indexOf(a);if(b.remove(a)){for(b=a.pb.copy().j;b.next();){var d=b.value,e=d.Lf;d.Lf=e!==a.name?e:""}null!==this.ye&&this.ld(tg,"layers",this,a,null,c,null);this.ra();this.Bc()}}};C.prototype.findLayer=C.prototype.hm=function(a){for(var b=this.ao;b.next();){var c=b.value;if(c.name===a)return c}return null};
+b+"'; a Layer with the same name is already present in this Diagram.")}}C.prototype.addLayer=C.prototype.Lt=function(a){Vm(this,a,null);a.$c(this);var b=this.bc,c=b.count-1;if(!a.Wc)for(;0<=c&&b.fa(c).Wc;)c--;b.Yd(c+1,a);null!==this.xe&&this.ld(sg,"layers",this,null,a,null,c+1);this.ra();this.Bc()};
+C.prototype.addLayerBefore=C.prototype.KH=function(a,b){Vm(this,a,b);a.$c(this);var c=this.bc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.xe&&this.ld(tg,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.Bc()};
+C.prototype.addLayerAfter=function(a,b){Vm(this,a,b);a.$c(this);var c=this.bc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.xe&&this.ld(tg,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.Bc()};
+C.prototype.removeLayer=function(a){z.l(a,ah,C,"removeLayer:layer");a.g!==this&&z.k("Cannot remove a Layer from another Diagram: "+a+" of "+a.g);if(""!==a.name){var b=this.bc,c=b.indexOf(a);if(b.remove(a)){for(b=a.pb.copy().j;b.next();){var d=b.value,e=d.Lf;d.Lf=e!==a.name?e:""}null!==this.xe&&this.ld(tg,"layers",this,a,null,c,null);this.ra();this.Bc()}}};C.prototype.findLayer=C.prototype.hm=function(a){for(var b=this.ao;b.next();){var c=b.value;if(c.name===a)return c}return null};
C.prototype.addModelChangedListener=C.prototype.MH=function(a){z.h(a,"function",C,"addModelChangedListener:listener");null===this.vh&&(this.vh=new J("function"));this.vh.add(a);this.ia.An(a)};C.prototype.removeModelChangedListener=function(a){z.h(a,"function",C,"removeModelChangedListener:listener");null!==this.vh&&(this.vh.remove(a),0===this.vh.count&&(this.vh=null));this.ia.Ou(a)};
C.prototype.addChangedListener=C.prototype.An=function(a){z.h(a,"function",C,"addChangedListener:listener");null===this.Oi&&(this.Oi=new J("function"));this.Oi.add(a)};C.prototype.removeChangedListener=C.prototype.Ou=function(a){z.h(a,"function",C,"removeChangedListener:listener");null!==this.Oi&&(this.Oi.remove(a),0===this.Oi.count&&(this.Oi=null))};
C.prototype.mx=function(a){this.Eb||this.sa.wF(a);a.Kc!==rg&&(this.Fi=!0);if(null!==this.Oi){var b=this.Oi,c=b.length;if(1===c)b=b.fa(0),b(a);else if(0!==c)for(var d=b.nc(),e=0;ea.Oh&&(c=a.Oh);e=z.Fb(a.ub.x+h/b-h/c,a.ub.y+k/b-k/c);a.position=e;z.A(e);a.Rb=c;a.Lu(d,a.yb,b,c,!1);a.cd=!1;Rl(a,
-!1);c=a.Ya;c.yc&&nl(c,b,a.Rb);a.ra();am(a)}}C.prototype.Lu=function(a,b,c,d,e){a.O(b)||(void 0===e&&(e=!1),e||am(this),Pl(this),d=this.Wb,null===d||!d.Vx||this.Zl!==Qh||e||a.width===b.width&&a.height===b.height||d.N(),d=this.fb,!0===this.Sm&&d instanceof Kh&&(this.U.ha=this.NB(this.U.te),Fk(d,this)),this.cd||this.BF(a,b),dm(this),this.Eh.scale=c,this.Eh.position.x=a.x,this.Eh.position.y=a.y,this.Eh.bounds.set(a),this.Eh.isScroll=e,this.Ka("ViewportBoundsChanged",this.Eh,a))};
+function Wm(a,b,c){if(a.cd||a.ie)a.Rb=c,c=a.Ya,c.yc&&nl(c,b,a.Rb);else if(a.cd=!0,null===a.Lb)a.Rb=c;else{var d=a.yb.copy(),e=a.Ob,g=a.Sb;d.width=a.Ob/b;d.height=a.Sb/b;var h=a.Dm.x,k=a.Dm.y,l=a.JE;isNaN(h)&&(l.Gj()?l.Fj(sc)?h=0:l.Fj(xc)&&(h=e-1):h=l.jd()?l.x*(e-1):e/2);isNaN(k)&&(l.Gj()?l.Fj(rc)?k=0:l.Fj(yc)&&(k=g-1):k=l.jd()?l.y*(g-1):g/2);null!==a.wG&&(c=a.wG(a,c));ca.Oh&&(c=a.Oh);e=z.Fb(a.ub.x+h/b-h/c,a.ub.y+k/b-k/c);a.position=e;z.A(e);a.Rb=c;a.Lu(d,a.yb,b,c,!1);a.cd=!1;Rl(a,
+!1);c=a.Ya;c.yc&&nl(c,b,a.Rb);a.ra();am(a)}}C.prototype.Lu=function(a,b,c,d,e){a.O(b)||(void 0===e&&(e=!1),e||am(this),Pl(this),d=this.Wb,null===d||!d.Vx||this.Zl!==Qh||e||a.width===b.width&&a.height===b.height||d.N(),d=this.fb,!0===this.Sm&&d instanceof Kh&&(this.U.ha=this.NB(this.U.se),Fk(d,this)),this.cd||this.BF(a,b),dm(this),this.Eh.scale=c,this.Eh.position.x=a.x,this.Eh.position.y=a.y,this.Eh.bounds.set(a),this.Eh.isScroll=e,this.Ka("ViewportBoundsChanged",this.Eh,a))};
function dm(a,b){void 0===b&&(b=null);var c=a.Cd;if(null!==c&&c.visible){for(var d=z.Am(),e=1,g=1,h=c.va.o,k=h.length,l=0;ln||(Xm(m.Jb)?g=g*n/Te(g,n):e=e*n/Te(e,n))}h=c.Kx;d.m(g*h.width,e*h.height);h=g=l=k=0;if(null!==b)k=b.width,l=b.height,g=b.x,h=b.y;else{e=z.Of();g=a.yb;e.m(g.x,g.y,g.width,g.height);for(h=a.ww.j;h.next();)g=h.value.yb,g.F()&&Rb(e,g.x,g.y,g.width,g.height);if(!e.F()){z.Mb(e);return}k=e.width;l=e.height;g=e.x;h=e.y;z.Mb(e)}c.width=k+2*d.width;c.height=
l+2*d.height;e=z.P();tb(g,h,0,0,d.width,d.height,e);e.offset(-d.width,-d.height);z.Qk(d);c.ba.location=e;z.A(e)}}C.prototype.clearSelection=C.prototype.ox=function(){var a=0l)){var m=l;kn(k)&&m++;k.vf(m);ln(k,m,l)}}}}function Om(a,b){var c=b.cj;if(z.isArray(c)){var d=a.Um.qa(c);if(null===d)d=[],d.push(b),a.Um.add(c,d);else{for(c=0;cthis.scale&&(this.scale=a)):z.wa(a,"> 0",C,"minScale"))});
z.defineProperty(C,{Oh:"maxScale"},function(){return this.kw},function(a){z.p(a,C,"maxScale");var b=this.kw;b!==a&&(0 0",C,"maxScale"))});z.defineProperty(C,{Dm:"zoomPoint"},function(){return this.ax},function(a){this.ax.O(a)||(z.l(a,M,C,"zoomPoint"),this.ax=a=a.V())});
-z.defineProperty(C,{JE:"contentAlignment"},function(){return this.Ko},function(a){var b=this.Ko;b.O(a)||(z.l(a,R,C,"contentAlignment"),this.Ko=a=a.V(),this.i("contentAlignment",b,a),Rl(this,!1))});z.defineProperty(C,{LL:"initialContentAlignment"},function(){return this.fp},function(a){var b=this.fp;b.O(a)||(z.l(a,R,C,"initialContentAlignment"),this.fp=a=a.V(),this.i("initialContentAlignment",b,a))});
-z.defineProperty(C,{padding:"padding"},function(){return this.sf},function(a){"number"===typeof a?a=new Kb(a):z.l(a,Kb,C,"padding");var b=this.sf;b.O(a)||(this.sf=a=a.V(),this.Bc(),this.i("padding",b,a))});z.w(C,{og:"nodes"},function(){return this.zp.j});z.w(C,{links:"links"},function(){return this.sp.j});z.w(C,{Gi:"parts"},function(){return this.pb.j});
-C.prototype.findTopLevelNodesAndLinks=function(){for(var a=new K(D),b=this.zp.j;b.next();){var c=b.value;c.wq&&a.add(c)}for(b=this.sp.j;b.next();)c=b.value,c.wq&&a.add(c);return a.j};C.prototype.findTopLevelGroups=function(){return this.Pl.j};z.defineProperty(C,{Wb:"layout"},function(){return this.we},function(a){var b=this.we;b!==a&&(z.l(a,ch,C,"layout"),null!==b&&(b.g=null,b.group=null),this.we=a,a.g=this,a.group=null,this.sv=!0,this.i("layout",b,a),this.Te())});
+z.defineProperty(C,{JE:"contentAlignment"},function(){return this.Jo},function(a){var b=this.Jo;b.O(a)||(z.l(a,R,C,"contentAlignment"),this.Jo=a=a.V(),this.i("contentAlignment",b,a),Rl(this,!1))});z.defineProperty(C,{LL:"initialContentAlignment"},function(){return this.ep},function(a){var b=this.ep;b.O(a)||(z.l(a,R,C,"initialContentAlignment"),this.ep=a=a.V(),this.i("initialContentAlignment",b,a))});
+z.defineProperty(C,{padding:"padding"},function(){return this.sf},function(a){"number"===typeof a?a=new Kb(a):z.l(a,Kb,C,"padding");var b=this.sf;b.O(a)||(this.sf=a=a.V(),this.Bc(),this.i("padding",b,a))});z.w(C,{og:"nodes"},function(){return this.yp.j});z.w(C,{links:"links"},function(){return this.rp.j});z.w(C,{Gi:"parts"},function(){return this.pb.j});
+C.prototype.findTopLevelNodesAndLinks=function(){for(var a=new K(D),b=this.yp.j;b.next();){var c=b.value;c.vq&&a.add(c)}for(b=this.rp.j;b.next();)c=b.value,c.vq&&a.add(c);return a.j};C.prototype.findTopLevelGroups=function(){return this.Pl.j};z.defineProperty(C,{Wb:"layout"},function(){return this.ve},function(a){var b=this.ve;b!==a&&(z.l(a,ch,C,"layout"),null!==b&&(b.g=null,b.group=null),this.ve=a,a.g=this,a.group=null,this.sv=!0,this.i("layout",b,a),this.Te())});
C.prototype.layoutDiagram=function(a){Li(this);a&&qn(this,!0);em(this,!1)};function qn(a,b){for(var c=a.Pl.j;c.next();)yn(a,c.value,b);null!==a.Wb&&(b?a.Wb.Jf=!1:a.Wb.N())}function yn(a,b,c){if(null!==b){for(var d=b.cn.j;d.next();)yn(a,d.value,c);null!==b.Wb&&(c?b.Wb.Jf=!1:b.Wb.N())}}
-function em(a,b){if(!a.gz){var c=a.Wb,d=a.ab;a.ab=!0;try{var e=a.sa.Vh;0===e&&a.$b("Layout");var g=a.Ya;1!==a.sa.Vh||g.wf||g.yc||b||g.lo("Layout");for(var h=a.Pl.j;h.next();)zn(a,h.value,b);c.Jf||b&&!c.MF&&0!==e||(c.doLayout(a),Li(a),c.Jf=!0)}finally{0===e&&a.Wd("Layout"),a.sv=!c.Jf,a.ab=d}}}function zn(a,b,c){if(null!==b){for(var d=b.cn.j;d.next();)zn(a,d.value,c);d=b.Wb;null===d||d.Jf||c&&!d.MF||(b.io=!b.location.F(),d.doLayout(b),b.N(An),d.Jf=!0,Bm(a,b))}}
-z.defineProperty(C,{be:"isTreePathToChildren"},function(){return this.dw},function(a){var b=this.dw;if(b!==a&&(z.h(a,"boolean",C,"isTreePathToChildren"),this.dw=a,this.i("isTreePathToChildren",b,a),!this.sa.lb))for(a=this.og;a.next();)Bn(a.value)});C.prototype.findTreeRoots=function(){for(var a=new J(E),b=this.og;b.next();){var c=b.value;c.wq&&null===c.Pn()&&a.add(c)}return a.j};
+function em(a,b){if(!a.gz){var c=a.Wb,d=a.ab;a.ab=!0;try{var e=a.sa.Vh;0===e&&a.$b("Layout");var g=a.Ya;1!==a.sa.Vh||g.wf||g.yc||b||g.ko("Layout");for(var h=a.Pl.j;h.next();)zn(a,h.value,b);c.Jf||b&&!c.MF&&0!==e||(c.doLayout(a),Li(a),c.Jf=!0)}finally{0===e&&a.Vd("Layout"),a.sv=!c.Jf,a.ab=d}}}function zn(a,b,c){if(null!==b){for(var d=b.cn.j;d.next();)zn(a,d.value,c);d=b.Wb;null===d||d.Jf||c&&!d.MF||(b.io=!b.location.F(),d.doLayout(b),b.N(An),d.Jf=!0,Bm(a,b))}}
+z.defineProperty(C,{ae:"isTreePathToChildren"},function(){return this.dw},function(a){var b=this.dw;if(b!==a&&(z.h(a,"boolean",C,"isTreePathToChildren"),this.dw=a,this.i("isTreePathToChildren",b,a),!this.sa.lb))for(a=this.og;a.next();)Bn(a.value)});C.prototype.findTreeRoots=function(){for(var a=new J(E),b=this.og;b.next();){var c=b.value;c.vq&&null===c.Pn()&&a.add(c)}return a.j};
z.defineProperty(C,{OB:"treeCollapsePolicy"},function(){return this.Ww},function(a){var b=this.Ww;b!==a&&(a!==zl&&a!==Ym&&a!==Zm&&z.k("Unknown Diagram.treeCollapsePolicy: "+a),this.Ww=a,this.i("treeCollapsePolicy",b,a))});z.defineProperty(C,{Nh:null},function(){return this.$C},function(a){this.$C=a});
function yl(a){function b(a){var b=a.toLowerCase(),h=new J("function");c.add(a,h);c.add(b,h);d.add(a,a);d.add(b,a)}var c=new oa("string",J),d=new oa("string","string");b("AnimationStarting");b("AnimationFinished");b("BackgroundSingleClicked");b("BackgroundDoubleClicked");b("BackgroundContextClicked");b("ClipboardChanged");b("ClipboardPasted");b("DocumentBoundsChanged");b("ExternalObjectsDropped");b("InitialLayoutCompleted");b("LayoutCompleted");b("LinkDrawn");b("LinkRelinked");b("LinkReshaped");b("Modified");
b("ObjectSingleClicked");b("ObjectDoubleClicked");b("ObjectContextClicked");b("PartCreated");b("PartResized");b("PartRotated");b("SelectionMoved");b("SelectionCopied");b("SelectionDeleting");b("SelectionDeleted");b("SelectionGrouped");b("SelectionUngrouped");b("ChangingSelection");b("ChangedSelection");b("SubGraphCollapsed");b("SubGraphExpanded");b("TextEdited");b("TreeCollapsed");b("TreeExpanded");b("ViewportBoundsChanged");a.iz=c;a.hz=d}
function Ia(a,b){var c=a.hz.qa(b);return null!==c?c:a.hz.qa(b.toLowerCase())}function Cn(a,b){var c=a.iz.qa(b);if(null!==c)return c;c=a.iz.qa(b.toLowerCase());if(null!==c)return c;z.k("Unknown DiagramEvent name: "+b);return null}C.prototype.addDiagramListener=C.prototype.gA=function(a,b){z.h(a,"string",C,"addDiagramListener:name");z.h(b,"function",C,"addDiagramListener:listener");var c=Cn(this,a);null!==c&&c.add(b)};
-C.prototype.removeDiagramListener=C.prototype.jG=function(a,b){z.h(a,"string",C,"removeDiagramListener:name");z.h(b,"function",C,"addDiagramListener:listener");var c=Cn(this,a);null!==c&&c.remove(b)};C.prototype.raiseDiagramEvent=C.prototype.Ka=function(a,b,c){u&&z.h(a,"string",C,"raiseDiagramEvent:name");var d=Cn(this,a),e=new $f;e.g=this;e.name=Ia(this,a);void 0!==b&&(e.HB=b);void 0!==c&&(e.lB=c);a=d.length;if(1===a)d=d.fa(0),d(e);else if(0!==a)for(b=d.nc(),c=0;c=d.top&&0>=d.left&&0>=d.right&&0>=d.bottom)return c;var e=a.yb,g=a.scale,e=z.fh(0,0,e.width*g,e.height*g),h=z.Fb(0,0);if(b.x>=e.x&&b.xe.x+e.width-d.right&&(k=Math.max(a.Tu,1),k|=0,h.x+=k,b.x>e.x+e.width-d.right/2&&(h.x+=k),b.x>e.x+e.width-d.right/4&&(h.x+=4*k));b.y>=e.y&&b.ye.y+e.height-d.bottom&&(k=Math.max(a.Uu,1),k|=0,h.y+=k,b.y>e.y+e.height-d.bottom/2&&(h.y+=k),b.y>e.y+e.height-d.bottom/4&&(h.y+=4*k));h.Vc(Dd)||(c=new M(c.x+h.x/g,c.y+h.y/g));z.Mb(e);z.A(h);return c}C.prototype.makeSvg=C.prototype.makeSVG=function(a){void 0===a&&(a=new na);a.context="svg";a=Kn(this,a);return null!==a?a.ym:null};
C.prototype.makeImage=function(a){void 0===a&&(a=new na);var b=(a.document||document).createElement("img");b.src=this.vJ(a);return b};
C.prototype.makeImageData=C.prototype.vJ=function(a){void 0===a&&(a=new na);var b=Kn(this,a);if(null!==b){var c=a.returnType,c=void 0===c?"string":c.toLowerCase();switch(c){case "imagedata":return b.Mk.getImageData(0,0,b.width,b.height);case "blob":b=b.Fd;c=a.callback;if("function"!==typeof c){z.k('Error: Diagram.makeImageData called with "returnType: toBlob", but no "callback" function property defined.');break}if("function"===typeof b.uK)return b.uK(c,a.type,a.details),"toBlob";if("function"===
typeof b.KJ)return c(b.KJ(a.type,a.details)),"msToBlob";c(null);break;default:return b.toDataURL(a.type,a.details)}}return""};var Ln=!1;
function Kn(a,b){a.Ya.Ii();a.hg();if(null===a.Lb)return null;"object"!==typeof b&&z.k("properties argument must be an Object.");var c=!1,d=b.size||null,e=b.scale||null;void 0!==b.scale&&isNaN(b.scale)&&(e="NaN");var g=b.maxSize;void 0===b.maxSize&&(c=!0,g="svg"===b.context?new Fa(Infinity,Infinity):new Fa(2E3,2E3));var h=b.position||null,k=b.parts||null,l=void 0===b.padding?1:b.padding,m=b.background||null,n=b.omitTemporary;void 0===n&&(n=!0);var p=b.document||document,q=b.elementFinished||null,r=
-b.showTemporary;void 0===r&&(r=!n);n=b.showGrid;void 0===n&&(n=r);null!==d&&isNaN(d.width)&&isNaN(d.height)&&(d=null);"number"===typeof l?l=new Kb(l):l instanceof Kb||(l=new Kb(0));l.left=Math.max(l.left,0);l.right=Math.max(l.right,0);l.top=Math.max(l.top,0);l.bottom=Math.max(l.bottom,0);a.Vo=!1;da(a.pd,!0);var s=new ma(null,p),v=s.Mk,t=s;if(!(d||e||k||h))return s.width=a.Ob+Math.ceil(l.left+l.right),s.height=a.Sb+Math.ceil(l.top+l.bottom),"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&
-(a.Vo=!0)),Im(a,v,l,new Fa(s.width,s.height),a.Rb,a.ub,k,m,r,n),a.Vo=!0,t;var x=a.xb.vx,y=new M(0,0),A=a.fd.copy();A.sK(a.padding);if(r)for(var B=!0,B=a.bc.o,N=B.length,G=0;Gx?(e=x,h=A.width,aa=A.height):(h=g.width,aa=g.height)):(h=A.width*e,aa=A.height*e):(e=x,h=A.width,aa=A.height);null!==l?(h+=fa,aa+=B):l=new Kb(0);null!==g&&(d=g.width,g=g.height,"svg"!==b.context&&c&&!Ln&&(h>d||aa>g)&&(z.trace("Diagram.makeImage(data): Diagram width or height is larger than the default max size. ("+Math.ceil(h)+"x"+Math.ceil(aa)+" vs 2000x2000) Consider increasing the max size."),
-Ln=!0),isNaN(d)&&(d=2E3),isNaN(g)&&(g=2E3),isFinite(d)&&(h=Math.min(h,d)),isFinite(g)&&(aa=Math.min(aa,g)));s.width=Math.ceil(h);s.height=Math.ceil(aa);"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&(a.Vo=!0));Im(a,v,l,new Fa(Math.ceil(h),Math.ceil(aa)),e,y,k,m,r,n);a.Vo=!0;return t}C.inherit=function(a,b){z.h(a,"function",C,"inherit");z.h(b,"function",C,"inherit");b.yH&&z.k("Cannot inherit from "+z.uf(b));z.Ta(a,b)};
+b.showTemporary;void 0===r&&(r=!n);n=b.showGrid;void 0===n&&(n=r);null!==d&&isNaN(d.width)&&isNaN(d.height)&&(d=null);"number"===typeof l?l=new Kb(l):l instanceof Kb||(l=new Kb(0));l.left=Math.max(l.left,0);l.right=Math.max(l.right,0);l.top=Math.max(l.top,0);l.bottom=Math.max(l.bottom,0);a.Uo=!1;da(a.pd,!0);var s=new ma(null,p),v=s.Mk,t=s;if(!(d||e||k||h))return s.width=a.Ob+Math.ceil(l.left+l.right),s.height=a.Sb+Math.ceil(l.top+l.bottom),"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&
+(a.Uo=!0)),Im(a,v,l,new Fa(s.width,s.height),a.Rb,a.ub,k,m,r,n),a.Uo=!0,t;var x=a.xb.vx,y=new M(0,0),B=a.fd.copy();B.sK(a.padding);if(r)for(var A=!0,A=a.bc.o,N=A.length,G=0;Gx?(e=x,h=B.width,aa=B.height):(h=g.width,aa=g.height)):(h=B.width*e,aa=B.height*e):(e=x,h=B.width,aa=B.height);null!==l?(h+=fa,aa+=A):l=new Kb(0);null!==g&&(d=g.width,g=g.height,"svg"!==b.context&&c&&!Ln&&(h>d||aa>g)&&(z.trace("Diagram.makeImage(data): Diagram width or height is larger than the default max size. ("+Math.ceil(h)+"x"+Math.ceil(aa)+" vs 2000x2000) Consider increasing the max size."),
+Ln=!0),isNaN(d)&&(d=2E3),isNaN(g)&&(g=2E3),isFinite(d)&&(h=Math.min(h,d)),isFinite(g)&&(aa=Math.min(aa,g)));s.width=Math.ceil(h);s.height=Math.ceil(aa);"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&(a.Uo=!0));Im(a,v,l,new Fa(Math.ceil(h),Math.ceil(aa)),e,y,k,m,r,n);a.Uo=!0;return t}C.inherit=function(a,b){z.h(a,"function",C,"inherit");z.h(b,"function",C,"inherit");b.yH&&z.k("Cannot inherit from "+z.uf(b));z.Ta(a,b)};
function Hl(){this.BH="63ad05bbe23a1786468a4c741b6d2";this.Xi=this.BH===this._tk?!0:null}
function Mn(a){var b="f",c=window[z.Sg("76a715b2f73f148a")][z.Sg("72ba13b5")],d=z.Sg;if(window[d("7da7")]&&window[d("7da7")][d("76a115b6ed251eaf4692")]){a.Xi=!0;var e=window[d("7da7")][d("76a115b6ed251eaf4692")],e=d(e).split(d("39e9"));if(6>e.length)return;var g=d(e[1]).split(".");if("7da71ca0"!==e[4])return;var h=d(z[d("6cae19")]).split(".");if(g[0]>h[0]||g[0]===h[0]&&g[1]>=h[1]){g=c[d("76ad18b4f73e")];for(h=c[d("73a612b6fb191d")](d("35e7"))+2;h
g&&d(e[2])!==d("7da71ca0ad381e90")&&(g=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));0>g&&(g=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));a.Xi=!(0<=g&&gg&&d(z.adym)!==d("7da71ca0ad381e90")&&(g=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));a.Xi=!(0<=g&&gb.timeStamp-a.Wm)b.preventDefault();else if(a.Al)b.preventDefault();else{a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.gm=!0;c.Qe=b.detail;if(z.GF||z.HF)b.timeStamp-a.Wmb.timeStamp-a.Wm){b.preventDefault();return}a.Wm=b.timeStamp}if(z.Xn&&null!==a.qt)a.qt=null,b.preventDefault();else{a.ed=
-a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.up=!0;c.Qe=b.detail;if(z.GF||z.HF)c.Qe=a.Dl;c.bubbles=b.bubbles;b.target.ca&&(c.eh=b.target.ca);a.HG(b,null,new M,c.eh)||(a.doMouseUp(),yi(a),ia(a,c,b))}}};a.Qh=function(b){if(a.isEnabled){var c=a.ed;a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.bubbles=!0;c.fm=void 0!==b.wheelDelta?b.wheelDelta:-40*b.detail;a.doMouseWheel();ia(a,c,b)}};a.Dq=function(){if(a.isEnabled){a.Sm=!1;var b=a.fb;b.cancelWaitAfter();b instanceof Kh&&b.hideToolTip()}};a.WG=function(b){if(a.isEnabled){a.zt=!1;
+c.style.position="absolute";c.style.overflow="auto";c.style.width=a.Ob+"px";c.style.height=a.Sb+"px";c.style.zIndex="1";e.style.position="absolute";e.style.width="1px";e.style.height="1px";a.Tb.appendChild(c);c.appendChild(e);c.onscroll=a.tH;c.onmousedown=a.xD;c.ontouchstart=a.xD;c.ca=a;c.wH=!0;c.xH=!0;a.Kw=c;a.ht=e;a.qB=z.NE(function(){a.zk=null;a.ra()},300,!1);a.dH=z.NE(function(){al(a)},250,!1);a.preventDefault=function(a){a.preventDefault();return!1};a.Bq=function(b){if(a.isEnabled){a.Sm=!0;var c=
+a.ed;z.Xn&&c.Hj?(b.preventDefault(),b.simulated=!0,a.qt=b):(a.ed=a.Ub,a.Ub=c,Xl(a,a,b,c,!0),a.Ay(b,null,b.target.ca)||(a.doMouseMove(),a.fb.isBeyondDragSize()&&(a.Dl=0),ia(a,c,b)))}};a.Aq=function(b){if(a.isEnabled){a.Sm=!0;var c=a.ed;if(z.Xn&&null!==a.qt)a.qt=b,b.preventDefault();else if(z.Xn&&400>b.timeStamp-a.Wm)b.preventDefault();else if(a.Al)b.preventDefault();else{a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.gm=!0;c.Qe=b.detail;if(z.GF||z.HF)b.timeStamp-a.Wmb.timeStamp-a.Wm){b.preventDefault();return}a.Wm=b.timeStamp}if(z.Xn&&null!==a.qt)a.qt=null,b.preventDefault();else{a.ed=
+a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.up=!0;c.Qe=b.detail;if(z.GF||z.HF)c.Qe=a.Dl;c.bubbles=b.bubbles;b.target.ca&&(c.eh=b.target.ca);a.HG(b,null,new M,c.eh)||(a.doMouseUp(),yi(a),ia(a,c,b))}}};a.Qh=function(b){if(a.isEnabled){var c=a.ed;a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.bubbles=!0;c.fm=void 0!==b.wheelDelta?b.wheelDelta:-40*b.detail;a.doMouseWheel();ia(a,c,b)}};a.Cq=function(){if(a.isEnabled){a.Sm=!1;var b=a.fb;b.cancelWaitAfter();b instanceof Kh&&b.hideToolTip()}};a.WG=function(b){if(a.isEnabled){a.zt=!1;
a.Al=!0;var c=a.ed;a.ed=a.Ub;a.Ub=c;Zl(a,b,b.targetTouches[0],c,1a.Aw)){var c=
@@ -1007,24 +1008,24 @@ a.nj;c[0].pointerId===b.pointerId&&(c[0]=b);c[1].pointerId===b.pointerId&&(c[1]=
function Nn(a){1a)&&z.wa(a,"0 <= loc <= 1",Ea,"addColorStop:loc");z.h(b,"string",Ea,"addColorStop:color");u&&!Da(b)&&z.k('Color "'+b+'" is not a valid color string for Brush.addColorStop');null===this.ph&&(this.ph=new oa("number","string"));this.ph.add(a,b);this.da===Zg&&(this.type=$g);this.qh=null};
-z.defineProperty(Ea,{type:"type"},function(){return this.da},function(a){this.I&&z.pa(this,a);z.Ca(a,Ea,Ea,"type");this.da=a;this.start.ae()&&(a===$g?this.start=ic:a===Bd&&(this.start=mc));this.end.ae()&&(a===$g?this.end=pc:a===Bd&&(this.end=mc));this.qh=null});z.defineProperty(Ea,{color:"color"},function(){return this.Io},function(a){this.I&&z.pa(this,a);u&&!Da(a)&&z.k('Color "'+a+'" is not a valid color string for Brush.color');this.Io=a;this.qh=null});
-z.defineProperty(Ea,{start:"start"},function(){return this.Lp},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"start");this.Lp=a.V();this.qh=null});z.defineProperty(Ea,{end:"end"},function(){return this.Xo},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"end");this.Xo=a.V();this.qh=null});z.defineProperty(Ea,{$u:"startRadius"},function(){return this.Rw},function(a){this.I&&z.pa(this,a);z.p(a,Ea,"startRadius");0>a&&z.wa(a,">= zero",Ea,"startRadius");this.Rw=a;this.qh=null});
+z.defineProperty(Ea,{type:"type"},function(){return this.da},function(a){this.I&&z.pa(this,a);z.Ca(a,Ea,Ea,"type");this.da=a;this.start.$d()&&(a===$g?this.start=ic:a===Bd&&(this.start=mc));this.end.$d()&&(a===$g?this.end=pc:a===Bd&&(this.end=mc));this.qh=null});z.defineProperty(Ea,{color:"color"},function(){return this.Ho},function(a){this.I&&z.pa(this,a);u&&!Da(a)&&z.k('Color "'+a+'" is not a valid color string for Brush.color');this.Ho=a;this.qh=null});
+z.defineProperty(Ea,{start:"start"},function(){return this.Kp},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"start");this.Kp=a.V();this.qh=null});z.defineProperty(Ea,{end:"end"},function(){return this.Wo},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"end");this.Wo=a.V();this.qh=null});z.defineProperty(Ea,{$u:"startRadius"},function(){return this.Rw},function(a){this.I&&z.pa(this,a);z.p(a,Ea,"startRadius");0>a&&z.wa(a,">= zero",Ea,"startRadius");this.Rw=a;this.qh=null});
z.defineProperty(Ea,{bu:"endRadius"},function(){return this.Nv},function(a){this.I&&z.pa(this,a);z.p(a,Ea,"endRadius");0>a&&z.wa(a,">= zero",Ea,"endRadius");this.Nv=a;this.qh=null});z.defineProperty(Ea,{Jk:"colorStops"},function(){return this.ph},function(a){this.I&&z.pa(this,a);u&&z.l(a,oa,Ea,"colorStops");this.ph=a;this.qh=null});z.defineProperty(Ea,{pattern:"pattern"},function(){return this.zw},function(a){this.I&&z.pa(this,a);this.zw=a;this.qh=null});
Ea.randomColor=function(a,b){void 0===a&&(a=128);u&&(z.p(a,Ea,"randomColor:min"),(0>a||255d.length&&(d="0"+d);2>e.length&&(e="0"+e);2>c.length&&(c="0"+c);return"#"+
d+e+c};var Xn=(new ma(null)).Mk,Da;Ea.isValidColor=Da=function(a){if("black"===a)return!0;if(""===a)return!1;u&&z.h(a,"string",Ea,"isValidColor");Xn.fillStyle="#000000";var b=Xn.fillStyle;Xn.fillStyle=a;if(Xn.fillStyle!==b)return!0;Xn.fillStyle="#FFFFFF";b=Xn.fillStyle;Xn.fillStyle=a;return Xn.fillStyle!==b};var Yn=new Wn,Zn=new Wn,$n=new Wn,ao=new Wn;Ea.lighten=function(a){return bo(a)};
@@ -1035,15 +1036,15 @@ ao.mg;c=-.969266*$n.Pc+1.8760108*$n.Md+.041556*$n.kd;d=.0556434*$n.Pc+-.2040259*
255,h=Yn.kd/255,k=Math.max(e,g,h),d=Math.min(e,g,h),l=k-d,d=(k+d)/2;if(0===l)c=e=0;else{switch(k){case e:c=(g-h)/l%6;break;case g:c=(h-e)/l+2;break;case h:c=(e-g)/l+4}c*=60;0>c&&(c+=360);e=l/(1-Math.abs(2*d-1))}Zn.Pc=Math.round(c);Zn.Md=Math.round(100*e);Zn.kd=Math.round(100*d);Zn.mg=Yn.mg;Zn.kd=Math.min(100,Math.max(0,Zn.kd+100*a));return"hsla("+Zn.Pc+", "+Zn.Md+"%, "+Zn.kd+"%, "+Zn.mg+")";default:return z.k("Unknown color space: "+b),"rgba(0, 0, 0, 1)"}}
function co(a){Xn.clearRect(0,0,1,1);Xn.fillStyle="#000000";var b=Xn.fillStyle;Xn.fillStyle=a;Xn.fillStyle!==b?(Xn.fillRect(0,0,1,1),a=Xn.getImageData(0,0,1,1).data,Yn.Pc=a[0],Yn.Md=a[1],Yn.kd=a[2],Yn.mg=a[3]/255):(Xn.fillStyle="#FFFFFF",b=Xn.fillStyle,Xn.fillStyle=a,Xn.fillStyle===b&&u&&z.k('Color "'+a+'" is not a valid color string for RGBA color conversion'),Yn.Pc=0,Yn.Md=0,Yn.kd=0,Yn.mg=1)}function ho(a){a/=255;return.04045>=a?a/12.92:Math.pow((a+.055)/1.055,2.4)}
function no(a){return.0031308>=a?12.92*a:1.055*Math.pow(a,1/2.4)-.055}var mo=216/24389,lo=24389/27,jo=[95.047,100,108.883];function io(a){return a>mo?Math.pow(a,1/3):(lo*a+16)/116}function ko(a){var b=a*a*a;return b>mo?b:(116*a-16)/lo}
-function O(){z.xc(this);this.T=4225027;this.Hc=1;this.Ah=null;this.Xb="";this.ic=this.Kb=null;this.ub=(new M(NaN,NaN)).freeze();this.Ye=ie;this.li=Sd;this.ki=ge;this.Jc=new Ga;this.Li=new Ga;this.ej=new Ga;this.Rb=this.Uo=1;this.rg=0;this.Mg=oo;this.an=Nd;this.Dd=(new w(NaN,NaN,NaN,NaN)).freeze();this.ac=(new w(NaN,NaN,NaN,NaN)).freeze();this.Tc=(new w(0,0,NaN,NaN)).freeze();this.Y=this.Us=this.Vs=null;this.Fm=this.ue=Rc;this.et=0;this.pj=1;this.pr=0;this.Qi=1;this.ut=null;this.it=-Infinity;this.on=
-0;this.pn=Dd;this.qn=nj;this.xr="";this.Ec=this.ma=null;this.Fo=-1;this.hn=this.un=this.ug=this.rl=this.Kp=null}z.Ai(O);z.ka("GraphObject",O);
-O.prototype.cloneProtected=function(a){a.T=this.T|6144;a.Hc=this.Hc;a.Xb=this.Xb;a.Kb=this.Kb;a.ic=this.ic;a.ub.assign(this.ub);a.Ye=this.Ye.V();a.li=this.li.V();a.ki=this.ki.V();a.ej=this.ej.copy();a.Rb=this.Rb;a.rg=this.rg;a.Mg=this.Mg;a.an=this.an.V();a.Dd.assign(this.Dd);a.ac.assign(this.ac);a.Tc.assign(this.Tc);a.Us=this.Us;null!==this.Y&&(a.Y=this.Y.copy());a.ue=this.ue.V();a.Fm=this.Fm.V();a.et=this.et;a.pj=this.pj;a.pr=this.pr;a.Qi=this.Qi;a.ut=this.ut;a.it=this.it;a.on=this.on;a.pn=this.pn.V();
-a.qn=this.qn;a.xr=this.xr;null!==this.ma&&(a.ma=this.ma.copy());a.Ec=this.Ec;a.Fo=this.Fo;null!==this.rl&&(a.rl=z.am(this.rl));null!==this.ug&&(a.ug=this.ug.copy());a.un=this.un};O.prototype.addCopyProperty=O.prototype.JH=function(a){var b=this.rl;if(z.isArray(b))for(var c=0;ck;)k+=g[n++%l],p=!p;q=!1}else k=g[n++%l];k>m&&(k=m);var r=Math.sqrt(k*k/(1+e*e));0>d&&(r=-r);b+=r;c+=e*r;p?a.lineTo(b,c):a.moveTo(b,c);m-=k;p=!p}}
-O.prototype.raiseChangedEvent=O.prototype.ld=function(a,b,c,d,e,g,h){var k=this.ba;if(null!==k&&(k.mo(a,b,c,d,e,g,h),zo(this)&&c===this&&a===bg&&Ao(this,k,b),c===k&&0!==(k.T&16777216)&&null!==k.data))for(a=this.va.o,c=a.length,d=0;dk;)k+=g[n++%l],p=!p;q=!1}else k=g[n++%l];k>m&&(k=m);var r=Math.sqrt(k*k/(1+e*e));0>d&&(r=-r);b+=r;c+=e*r;p?a.lineTo(b,c):a.moveTo(b,c);m-=k;p=!p}}
+O.prototype.raiseChangedEvent=O.prototype.ld=function(a,b,c,d,e,g,h){var k=this.ba;if(null!==k&&(k.lo(a,b,c,d,e,g,h),zo(this)&&c===this&&a===bg&&Ao(this,k,b),c===k&&0!==(k.T&16777216)&&null!==k.data))for(a=this.va.o,c=a.length,d=0;d
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
Method Summarya JavaScript object represented by a link.
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/GridLayout.html b/api/symbols/GridLayout.html
index 3abf678e3..2665d4689 100644
--- a/api/symbols/GridLayout.html
+++ b/api/symbols/GridLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Group.html b/api/symbols/Group.html
index 867fc2398..a5a34dcc5 100644
--- a/api/symbols/Group.html
+++ b/api/symbols/Group.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/HTMLInfo.html b/api/symbols/HTMLInfo.html
index 0f73984c2..7b2ee6ee7 100644
--- a/api/symbols/HTMLInfo.html
+++ b/api/symbols/HTMLInfo.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/InputEvent.html b/api/symbols/InputEvent.html
index 505198e42..ba3718d4c 100644
--- a/api/symbols/InputEvent.html
+++ b/api/symbols/InputEvent.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Iterable.html b/api/symbols/Iterable.html
index 1d809220e..08ce6056c 100644
--- a/api/symbols/Iterable.html
+++ b/api/symbols/Iterable.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Iterator.html b/api/symbols/Iterator.html
index 3c2bca5b0..a2be777cf 100644
--- a/api/symbols/Iterator.html
+++ b/api/symbols/Iterator.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Layer.html b/api/symbols/Layer.html
index f30f582f4..00b51b274 100644
--- a/api/symbols/Layer.html
+++ b/api/symbols/Layer.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayeredDigraphEdge.html b/api/symbols/LayeredDigraphEdge.html
index bb92cfd1f..3671817b0 100644
--- a/api/symbols/LayeredDigraphEdge.html
+++ b/api/symbols/LayeredDigraphEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayeredDigraphLayout.html b/api/symbols/LayeredDigraphLayout.html
index 540b0a459..733a55ee4 100644
--- a/api/symbols/LayeredDigraphLayout.html
+++ b/api/symbols/LayeredDigraphLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayeredDigraphVertex.html b/api/symbols/LayeredDigraphVertex.html
index 64cb038d4..dac78c930 100644
--- a/api/symbols/LayeredDigraphVertex.html
+++ b/api/symbols/LayeredDigraphVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Layout.html b/api/symbols/Layout.html
index 3efa9072b..c1151765e 100644
--- a/api/symbols/Layout.html
+++ b/api/symbols/Layout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayoutEdge.html b/api/symbols/LayoutEdge.html
index 043ea923c..a57650cf0 100644
--- a/api/symbols/LayoutEdge.html
+++ b/api/symbols/LayoutEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayoutNetwork.html b/api/symbols/LayoutNetwork.html
index d69e34b28..23da253b3 100644
--- a/api/symbols/LayoutNetwork.html
+++ b/api/symbols/LayoutNetwork.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayoutVertex.html b/api/symbols/LayoutVertex.html
index 97902ca83..e035cc1bf 100644
--- a/api/symbols/LayoutVertex.html
+++ b/api/symbols/LayoutVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Link.html b/api/symbols/Link.html
index 27ec92c46..6e3df6489 100644
--- a/api/symbols/Link.html
+++ b/api/symbols/Link.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LinkReshapingTool.html b/api/symbols/LinkReshapingTool.html
index 943968767..bb59734da 100644
--- a/api/symbols/LinkReshapingTool.html
+++ b/api/symbols/LinkReshapingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LinkingBaseTool.html b/api/symbols/LinkingBaseTool.html
index 06f26eacd..01b8f7416 100644
--- a/api/symbols/LinkingBaseTool.html
+++ b/api/symbols/LinkingBaseTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LinkingTool.html b/api/symbols/LinkingTool.html
index 0e6829431..f9470885f 100644
--- a/api/symbols/LinkingTool.html
+++ b/api/symbols/LinkingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/List.html b/api/symbols/List.html
index 59219f64f..3e514fdb7 100644
--- a/api/symbols/List.html
+++ b/api/symbols/List.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
@@ -1316,7 +1316,7 @@ Method SummaryParameters:
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Margin.html b/api/symbols/Margin.html
index d66c350e4..37a63083d 100644
--- a/api/symbols/Margin.html
+++ b/api/symbols/Margin.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Model.html b/api/symbols/Model.html
index bf2bd71c6..3e21287a2 100644
--- a/api/symbols/Model.html
+++ b/api/symbols/Model.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Node.html b/api/symbols/Node.html
index b99f52d6a..4f384d827 100644
--- a/api/symbols/Node.html
+++ b/api/symbols/Node.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Overview.html b/api/symbols/Overview.html
index 1f5fcbde6..412275000 100644
--- a/api/symbols/Overview.html
+++ b/api/symbols/Overview.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Palette.html b/api/symbols/Palette.html
index d5e2de350..60e8c1b03 100644
--- a/api/symbols/Palette.html
+++ b/api/symbols/Palette.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Panel.html b/api/symbols/Panel.html
index ef52eb14f..d289ee870 100644
--- a/api/symbols/Panel.html
+++ b/api/symbols/Panel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
@@ -2287,7 +2287,7 @@ Method SummaryParameters:
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Part.html b/api/symbols/Part.html
index 0f9e28e68..5b7758fc0 100644
--- a/api/symbols/Part.html
+++ b/api/symbols/Part.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PathFigure.html b/api/symbols/PathFigure.html
index 03499cf52..cbf8b036a 100644
--- a/api/symbols/PathFigure.html
+++ b/api/symbols/PathFigure.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PathSegment.html b/api/symbols/PathSegment.html
index 116e06871..9c40eec72 100644
--- a/api/symbols/PathSegment.html
+++ b/api/symbols/PathSegment.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Picture.html b/api/symbols/Picture.html
index a5aa9f704..436846775 100644
--- a/api/symbols/Picture.html
+++ b/api/symbols/Picture.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Placeholder.html b/api/symbols/Placeholder.html
index 772258e6f..f7c2b5ee4 100644
--- a/api/symbols/Placeholder.html
+++ b/api/symbols/Placeholder.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Point.html b/api/symbols/Point.html
index 582ab9a01..b2f1bf6a6 100644
--- a/api/symbols/Point.html
+++ b/api/symbols/Point.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Rect.html b/api/symbols/Rect.html
index 664b3d257..bce25088c 100644
--- a/api/symbols/Rect.html
+++ b/api/symbols/Rect.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RelinkingTool.html b/api/symbols/RelinkingTool.html
index 0342f78f4..a7c389357 100644
--- a/api/symbols/RelinkingTool.html
+++ b/api/symbols/RelinkingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ResizingTool.html b/api/symbols/ResizingTool.html
index 87174f8c3..1e68aec49 100644
--- a/api/symbols/ResizingTool.html
+++ b/api/symbols/ResizingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RotatingTool.html b/api/symbols/RotatingTool.html
index babc13e9d..4d59e7543 100644
--- a/api/symbols/RotatingTool.html
+++ b/api/symbols/RotatingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RowColumnDefinition.html b/api/symbols/RowColumnDefinition.html
index ca2e9366b..7e13bbe1b 100644
--- a/api/symbols/RowColumnDefinition.html
+++ b/api/symbols/RowColumnDefinition.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Set.html b/api/symbols/Set.html
index c6a91c11e..5323534c8 100644
--- a/api/symbols/Set.html
+++ b/api/symbols/Set.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Shape.html b/api/symbols/Shape.html
index f118b4610..5d10a0325 100644
--- a/api/symbols/Shape.html
+++ b/api/symbols/Shape.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Size.html b/api/symbols/Size.html
index 120e72a8c..33d897714 100644
--- a/api/symbols/Size.html
+++ b/api/symbols/Size.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Spot.html b/api/symbols/Spot.html
index fd78e9bd9..9186bfffc 100644
--- a/api/symbols/Spot.html
+++ b/api/symbols/Spot.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TextBlock.html b/api/symbols/TextBlock.html
index 35d0dff9f..39608cb04 100644
--- a/api/symbols/TextBlock.html
+++ b/api/symbols/TextBlock.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TextEditingTool.html b/api/symbols/TextEditingTool.html
index 7c9484c5d..4bb28895a 100644
--- a/api/symbols/TextEditingTool.html
+++ b/api/symbols/TextEditingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Tool.html b/api/symbols/Tool.html
index 2bb97a22b..9e8944be2 100644
--- a/api/symbols/Tool.html
+++ b/api/symbols/Tool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ToolManager.html b/api/symbols/ToolManager.html
index b02134192..384bd1da3 100644
--- a/api/symbols/ToolManager.html
+++ b/api/symbols/ToolManager.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Transaction.html b/api/symbols/Transaction.html
index aed3e223d..98a022de3 100644
--- a/api/symbols/Transaction.html
+++ b/api/symbols/Transaction.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeEdge.html b/api/symbols/TreeEdge.html
index b310dbc5c..0e2795bef 100644
--- a/api/symbols/TreeEdge.html
+++ b/api/symbols/TreeEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeLayout.html b/api/symbols/TreeLayout.html
index 3dca92735..225560589 100644
--- a/api/symbols/TreeLayout.html
+++ b/api/symbols/TreeLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeModel.html b/api/symbols/TreeModel.html
index 1eb61dbf0..20843937e 100644
--- a/api/symbols/TreeModel.html
+++ b/api/symbols/TreeModel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeVertex.html b/api/symbols/TreeVertex.html
index 102008e4b..e37724f53 100644
--- a/api/symbols/TreeVertex.html
+++ b/api/symbols/TreeVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/UndoManager.html b/api/symbols/UndoManager.html
index 82759f6f7..4c73dd9e5 100644
--- a/api/symbols/UndoManager.html
+++ b/api/symbols/UndoManager.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/doc/changelog.html b/doc/changelog.html
index 8a90a9fe9..afa223498 100644
--- a/doc/changelog.html
+++ b/doc/changelog.html
@@ -74,9 +74,22 @@ GoJS Change Log
}
+ Changes for 1.7.3
+
+
+
Changes for 1.7.2
- Fixed missing declaration in go.d.ts
.
+
Changes for 1.7.1
diff --git a/intro/index.html b/intro/index.html
index 92273c063..2cf094f53 100644
--- a/intro/index.html
+++ b/intro/index.html
@@ -208,6 +208,8 @@ Loading GoJS
In ES6 (ECMAScript 2015) or TypeScript code, just import the "go.js" library:
import * as go from "go";
+ or, if depending on your npm environment:
+ import * as go from "gojs";
Hosting GoJS in a Div Element
diff --git a/package.json b/package.json
index 094c750a5..db3e72509 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "gojs",
- "version": "1.7.2",
+ "version": "1.7.3",
"description": "Interactive diagrams, charts, and graphs, such as trees, flowcharts, orgcharts, UML, BPMN, or business diagrams",
"keywords": [ "diagram", "chart", "tree", "flowchart", "orgchart", "uml", "bpmn", "graphics", "editor", "inspector", "drawing", "canvas", "shape", "svg", "hierarchy", "node", "link", "group", "vertex", "edge", "connection", "port", "label", "arrowhead", "family-tree", "decision-tree", "mindmap", "tournament", "treeview", "pipe-tree", "genogram", "ivr-tree", "parse-tree", "concept-map", "euler", "visualization", "entity-relationship", "er-diagram", "friend-wheel", "radial", "graph-distances", "graph-paths", "sankey", "pert", "gantt", "timeline", "monitor", "layer", "swimlane", "spreadsheet", "virtualization", "flow", "process", "state", "sequential-function", "grafcet", "sequence", "circuit", "record", "field", "table", "dataflow", "data-flow", "planogram", "seating", "pipes", "overview", "palette", "comment", "layout", "grid-layout", "tree-layout", "force-directed", "layered", "hierarchical", "circular", "fishbone", "ishikawa", "parallel", "serpentine", "treemap", "tree-map", "freehand", "polygon", "polyline", "bezier", "panel", "view", "model", "databinding", "data-binding", "binding", "transaction", "coordinates", "subgraph", "selection", "highlight", "tooltip", "context-menu", "tool", "command", "validation", "button", "template", "legend", "grid", "printing" ],
"homepage": "https://gojs.net",
diff --git a/projects/angular2-minimal/README.md b/projects/angular2-minimal/README.md
new file mode 100644
index 000000000..fefdc6681
--- /dev/null
+++ b/projects/angular2-minimal/README.md
@@ -0,0 +1,15 @@
+This is a minimal modification of the Angular 2 Quick Start environment
+that demonstrates how to show a GoJS diagram in a component.
+
+First, assuming you already have npm:
+```
+$ npm install gojs --save
+$ npm update
+```
+
+Note how we have updated the src/systemjs.config.json
file to tell which GoJS library to load.
+
+Start app page with:
+```
+$ npm start
+```
diff --git a/projects/angular2-minimal/bs-config.json b/projects/angular2-minimal/bs-config.json
new file mode 100644
index 000000000..4e5859526
--- /dev/null
+++ b/projects/angular2-minimal/bs-config.json
@@ -0,0 +1,8 @@
+{
+ "server": {
+ "baseDir": "src",
+ "routes": {
+ "/node_modules": "node_modules"
+ }
+ }
+}
diff --git a/projects/angular2-minimal/package.json b/projects/angular2-minimal/package.json
new file mode 100644
index 000000000..cbcb56864
--- /dev/null
+++ b/projects/angular2-minimal/package.json
@@ -0,0 +1,61 @@
+{
+ "name": "angular-quickstart",
+ "version": "1.0.0",
+ "description": "QuickStart package.json from the documentation, supplemented with testing support",
+ "scripts": {
+ "build": "tsc -p src/",
+ "build:watch": "tsc -p src/ -w",
+ "build:e2e": "tsc -p e2e/",
+ "serve": "lite-server -c=bs-config.json",
+ "serve:e2e": "lite-server -c=bs-config.e2e.json",
+ "prestart": "npm run build",
+ "start": "concurrently \"npm run build:watch\" \"npm run serve\"",
+ "pree2e": "npm run build:e2e",
+ "e2e": "concurrently \"npm run serve:e2e\" \"npm run protractor\" --kill-others --success first",
+ "preprotractor": "webdriver-manager update",
+ "protractor": "protractor protractor.config.js",
+ "pretest": "npm run build",
+ "test": "concurrently \"npm run build:watch\" \"karma start karma.conf.js\"",
+ "pretest:once": "npm run build",
+ "test:once": "karma start karma.conf.js --single-run",
+ "lint": "tslint ./src/**/*.ts -t verbose"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "MIT",
+ "dependencies": {
+ "@angular/common": "~2.4.0",
+ "@angular/compiler": "~2.4.0",
+ "@angular/core": "~2.4.0",
+ "@angular/forms": "~2.4.0",
+ "@angular/http": "~2.4.0",
+ "@angular/platform-browser": "~2.4.0",
+ "@angular/platform-browser-dynamic": "~2.4.0",
+ "@angular/router": "~3.4.0",
+ "angular-in-memory-web-api": "~0.2.4",
+ "core-js": "^2.4.1",
+ "gojs": "^1.7.3",
+ "rxjs": "5.0.1",
+ "systemjs": "0.19.40",
+ "zone.js": "^0.7.4"
+ },
+ "devDependencies": {
+ "concurrently": "^3.2.0",
+ "lite-server": "^2.2.2",
+ "typescript": "~2.0.10",
+ "canonical-path": "0.0.2",
+ "tslint": "^3.15.1",
+ "lodash": "^4.16.4",
+ "jasmine-core": "~2.4.1",
+ "karma": "^1.3.0",
+ "karma-chrome-launcher": "^2.0.0",
+ "karma-cli": "^1.0.1",
+ "karma-jasmine": "^1.0.2",
+ "karma-jasmine-html-reporter": "^0.2.2",
+ "protractor": "~4.0.14",
+ "rimraf": "^2.5.4",
+ "@types/node": "^6.0.46",
+ "@types/jasmine": "2.5.36"
+ },
+ "repository": {}
+}
diff --git a/projects/angular2-minimal/tslint.json b/projects/angular2-minimal/tslint.json
new file mode 100644
index 000000000..276453f4f
--- /dev/null
+++ b/projects/angular2-minimal/tslint.json
@@ -0,0 +1,93 @@
+{
+ "rules": {
+ "class-name": true,
+ "comment-format": [
+ true,
+ "check-space"
+ ],
+ "curly": true,
+ "eofline": true,
+ "forin": true,
+ "indent": [
+ true,
+ "spaces"
+ ],
+ "label-position": true,
+ "label-undefined": true,
+ "max-line-length": [
+ true,
+ 140
+ ],
+ "member-access": false,
+ "member-ordering": [
+ true,
+ "static-before-instance",
+ "variables-before-functions"
+ ],
+ "no-arg": true,
+ "no-bitwise": true,
+ "no-console": [
+ true,
+ "debug",
+ "info",
+ "time",
+ "timeEnd",
+ "trace"
+ ],
+ "no-construct": true,
+ "no-debugger": true,
+ "no-duplicate-key": true,
+ "no-duplicate-variable": true,
+ "no-empty": false,
+ "no-eval": true,
+ "no-inferrable-types": true,
+ "no-shadowed-variable": true,
+ "no-string-literal": false,
+ "no-switch-case-fall-through": true,
+ "no-trailing-whitespace": true,
+ "no-unused-expression": true,
+ "no-unused-variable": true,
+ "no-unreachable": true,
+ "no-use-before-declare": true,
+ "no-var-keyword": true,
+ "object-literal-sort-keys": false,
+ "one-line": [
+ true,
+ "check-open-brace",
+ "check-catch",
+ "check-else",
+ "check-whitespace"
+ ],
+ "quotemark": [
+ true,
+ "single"
+ ],
+ "radix": true,
+ "semicolon": [
+ "always"
+ ],
+ "triple-equals": [
+ true,
+ "allow-null-check"
+ ],
+ "typedef-whitespace": [
+ true,
+ {
+ "call-signature": "nospace",
+ "index-signature": "nospace",
+ "parameter": "nospace",
+ "property-declaration": "nospace",
+ "variable-declaration": "nospace"
+ }
+ ],
+ "variable-name": false,
+ "whitespace": [
+ true,
+ "check-branch",
+ "check-decl",
+ "check-operator",
+ "check-separator",
+ "check-type"
+ ]
+ }
+}
diff --git a/release/go-debug.js b/release/go-debug.js
index 34a65a73e..e4b1f4839 100644
--- a/release/go-debug.js
+++ b/release/go-debug.js
@@ -1,9 +1,9 @@
/*
- * GoJS v1.7.2 JavaScript Library for HTML Diagrams
+ * GoJS v1.7.3 JavaScript Library for HTML Diagrams
* Northwoods Software, https://www.nwoods.com/
* GoJS and Northwoods Software are registered trademarks of Northwoods Software Corporation.
* Copyright (C) 1998-2017 by Northwoods Software Corporation. All Rights Reserved.
- * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.7.2/doc/license.html.
+ * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.7.3/doc/license.html.
*/
(function(window) { var f,ca={};if(!window.document||void 0===window.document.createElement("canvas").getContext)throw window.console&&window.console.log("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode."),Error("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode.");if(!Object.defineProperty)throw Error("GoJS requires a newer version of JavaScript");
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return g.apply(a,e.concat(d.call(arguments)))}function c(){}var d=Array.prototype.slice,e=d.call(arguments,1),g=this;c.prototype=this.prototype;b.prototype=new c;return b});
@@ -16,17 +16,17 @@ c.fillRect(h.x||0,h.y||0,h.width,h.height),c.restore())}},BL:function(){u.XE();u
b.ef)},xA:function(a,b,c){a.setTransform(1,0,0,1,0,0);a.scale(b.rd,b.rd);a.transform(c.m11,c.m12,c.m21,c.m22,c.dx,c.dy);c=b.bc.length;for(var d=0;d=d.length)){var e=z.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.xw&&g.xw[d])continue}else if(z.Lx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},nx:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==
-typeof b&&"boolean"!==typeof b&&"function"!==typeof b)if(void 0!==z.Hd(b)){if(!u.Mw.contains(b))if(u.Mw.add(b),u.mw.add(u.DE(a,b)),b instanceof J||b instanceof K||b instanceof oa)for(var c=b.j;c.next();)u.nx(a+"["+c.key+"]",c.value);else for(c in b){var d=z.vb(b,c);if(void 0!==d&&null!==d&&z.Xa(d)&&d!==b.xw){if(b instanceof pa){if(d===b.gi)continue}else if(b instanceof I){if("data"===c||d===b.he)continue;if("itemArray"===c||d===b.cj)continue;if(b instanceof D&&d===b.Jl)continue}else if(!(b instanceof
-C))if(b instanceof ta){if("archetypeGroupData"===c||d===b.Sy)continue}else if(b instanceof ua){if("archetypeLinkData"===c||d===b.Uy)continue;if("archetypeLabelNodeData"===c||d===b.Ty)continue}else if(b instanceof wa){if("archetypeNodeData"===c||d===b.ol)continue}else if(b instanceof L){if("nodeDataArray"===c||d===b.ze)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Gc)continue;if(d===b.vg)continue}else if(b instanceof ya||b instanceof za||b instanceof Aa)continue;u.nx(a+"."+
-c,d)}}}else if(Array.isArray(b))for(c=0;c=d.length)){var e=z.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.xw&&g.xw[d])continue}else if(z.Lx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},nx:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==typeof b&&"boolean"!==typeof b&&
+"function"!==typeof b)if(void 0!==z.Hd(b)){if(!u.Mw.contains(b))if(u.Mw.add(b),u.mw.add(u.DE(a,b)),b instanceof J||b instanceof K||b instanceof oa)for(var c=b.j;c.next();)u.nx(a+"["+c.key+"]",c.value);else for(c in b){var d=z.vb(b,c);if(void 0!==d&&null!==d&&z.Xa(d)&&d!==b.xw){if(b instanceof pa){if(d===b.gi)continue}else if(b instanceof I){if("data"===c||d===b.ge)continue;if("itemArray"===c||d===b.cj)continue;if(b instanceof D&&d===b.Jl)continue}else if(!(b instanceof C))if(b instanceof ta){if("archetypeGroupData"===
+c||d===b.Sy)continue}else if(b instanceof ua){if("archetypeLinkData"===c||d===b.Uy)continue;if("archetypeLabelNodeData"===c||d===b.Ty)continue}else if(b instanceof wa){if("archetypeNodeData"===c||d===b.ol)continue}else if(b instanceof L){if("nodeDataArray"===c||d===b.ye)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Gc)continue;if(d===b.vg)continue}else if(b instanceof ya||b instanceof za||b instanceof Aa)continue;u.nx(a+"."+c,d)}}}else if(Array.isArray(b))for(c=0;c=a.length?a.push(c):a.splice(b,0,c):z.k("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Rg:function(a,b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):
z.k("Cannot remove an object from an HTMLCollection or NodeList at "+b)},Ky:[],P:function(){var a=z.Ky.pop();return void 0===a?new M:a},Fb:function(a,b){var c=z.Ky.pop();if(void 0===c)return new M(a,b);c.x=a;c.y=b;return c},A:function(a){z.Ky.push(a)},$B:[],Am:function(){var a=z.$B.pop();return void 0===a?new Fa:a},Qk:function(a){z.$B.push(a)},Ly:[],Of:function(){var a=z.Ly.pop();return void 0===a?new w:a},fh:function(a,b,c,d){var e=z.Ly.pop();if(void 0===e)return new w(a,b,c,d);e.x=a;e.y=b;e.width=
-c;e.height=d;return e},Mb:function(a){z.Ly.push(a)},aC:[],Pf:function(){var a=z.aC.pop();return void 0===a?new Ga:a},Ie:function(a){z.aC.push(a)},My:null,v:function(){var a=z.My;return null!==a?(z.My=null,a):new Ha},u:function(a){a.reset();z.My=a},ZB:[],tb:function(){var a=z.ZB.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;z.ZB.push(a)},bl:Object.freeze([]),Em:1,xc:function(a){a.__gohashid=z.Em++},pq:function(a){var b=a.__gohashid;void 0===b&&(b=z.Em++,a.__gohashid=b);return b},Hd:function(a){return a.__gohashid},
+c;e.height=d;return e},Mb:function(a){z.Ly.push(a)},aC:[],Pf:function(){var a=z.aC.pop();return void 0===a?new Ga:a},Ie:function(a){z.aC.push(a)},My:null,v:function(){var a=z.My;return null!==a?(z.My=null,a):new Ha},u:function(a){a.reset();z.My=a},ZB:[],tb:function(){var a=z.ZB.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;z.ZB.push(a)},bl:Object.freeze([]),Em:1,wc:function(a){a.__gohashid=z.Em++},oq:function(a){var b=a.__gohashid;void 0===b&&(b=z.Em++,a.__gohashid=b);return b},Hd:function(a){return a.__gohashid},
ka:function(a,b){b.Zy=a;ca[a]=b},Ta:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},Ai:function(a){a.yH=!0},defineProperty:function(a,b,c,d,e){z.h(a,"function","Util.defineProperty:classfunc");z.h(b,"object","Util.defineProperty:propobj");z.h(c,"function","Util.defineProperty:getter");z.h(d,"function","Util.defineProperty:setter");for(var g in b){b=b[g];c={get:c,set:d,enumerable:!0};if(void 0!==e)for(var h in e)c[h]=e[h];Object.defineProperty(a.prototype,
g,c);e=Object.getOwnPropertyDescriptor(a.prototype,g);b&&e&&Object.defineProperty(a.prototype,b,e);break}},IK:!1,w:function(a,b,c,d){z.h(a,"function","Util.defineReadOnlyProperty:classfunc");z.h(b,"object","Util.defineReadOnlyProperty:propobj");z.h(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var g=b[e];b={get:c,set:function(a){z.k('The property "'+g+'" is read-only and cannot be set to '+a)},enumerable:!0};if(void 0!==d)for(var h in d)b[h]=d[h];Object.defineProperty(a.prototype,
-e,b);d=Object.getOwnPropertyDescriptor(a.prototype,e);g&&d&&Object.defineProperty(a.prototype,g,d);break}},ne:function(a,b){for(var c in b)b[c]=!0;a.prototype.xw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?z.uf(a):null===a?"*":""},uf:function(a){if("function"===typeof a){if(a.Zy)return a.Zy;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,c).trim();if(""!==b)return a.Zy=b}else if("object"===typeof a&&a.constructor)return z.uf(a.constructor);
+e,b);d=Object.getOwnPropertyDescriptor(a.prototype,e);g&&d&&Object.defineProperty(a.prototype,g,d);break}},me:function(a,b){for(var c in b)b[c]=!0;a.prototype.xw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?z.uf(a):null===a?"*":""},uf:function(a){if("function"===typeof a){if(a.Zy)return a.Zy;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,c).trim();if(""!==b)return a.Zy=b}else if("object"===typeof a&&a.constructor)return z.uf(a.constructor);
return typeof a},s:function(a,b,c){z.h(a,"function","Util.defineEnumValue:classfunc");z.h(b,"string","Util.defineEnumValue:name");z.h(c,"number","Util.defineEnumValue:num");c=new Ca(a,b,c);Object.freeze(c);a[b]=c;var d=a.hv;d instanceof oa||(d=new oa("string",Ca),a.hv=d);d.add(b,c);return c},vb:function(a,b){if(!a||!b)return null;var c=void 0;try{"function"===typeof b?c=b(a):"function"===typeof a.getAttribute?(c=a.getAttribute(b),null===c&&(c=void 0)):c=a[b]}catch(d){u&&z.trace("property get error: "+
d.toString())}return c},Ua:function(a,b,c){if(a&&b)try{"function"===typeof b?b(a,c):"function"===typeof a.setAttribute?a.setAttribute(b,c):a[b]=c}catch(d){u&&z.trace("property set error: "+d.toString())}},Vu:function(a,b){z.h(a,"object","Setting properties requires Objects as arguments");z.h(b,"object","Setting properties requires Objects as arguments");var c=a instanceof I,d=a instanceof C,e;for(e in b){""===e&&z.k("Setting properties requires non-empty property names");var g=a,h=e;if(c||d){var k=
e.indexOf(".");if(0c;c++)b[c]=c;for(var d=0,e=0,c=0;256>c;c++)d=(d+b[c]+119)%256,e=b[c],b[c]=b[d],b[d]=e;for(var d=c=0,g="",h=0;hc;c++)b["0123456789abcdef".charAt(c>>4)+"0123456789abcdef".charAt(c&15)]=String.fromCharCode(c);a.length%2&&(a="0"+a);for(var d=[],e=0,c=0;cc;c++)b["0123456789abcdef".charAt(c>>4)+"0123456789abcdef".charAt(c&15)]=String.fromCharCode(c);a.length%2&&(a="0"+a);for(var d=[],e=0,c=0;cd;d++)b[z.Sg("7ca11abfd7330390")](z.Sg(c[d-1]),10,15*d+0);b[z.Sg("7ca11abfd022028846")]=z.Sg("39f046ebb36e4b");for(d=1;5>d;d++)b[z.Sg("7ca11abfd7330390")](z.Sg(c[d-
-1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])z.s=function(a,b){var c=new Ca(a,b,2);Object.freeze(c);a[b]=c;var d=a.hv;d instanceof oa||(d=new oa("string",Ca),a.hv=d);d.add(b,c);return c};return a}();function Ca(a,b,c){z.xc(this);this.kC=a;this.Xb=b;this.DH=c}z.ka("EnumValue",Ca);Ca.prototype.toString=function(){return z.uf(this.kC)+"."+this.Xb};z.w(Ca,{Pe:"classType"},function(){return this.kC});z.w(Ca,{name:"name"},function(){return this.Xb});z.w(Ca,{value:"value"},function(){return this.DH});
+1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])z.s=function(a,b){var c=new Ca(a,b,2);Object.freeze(c);a[b]=c;var d=a.hv;d instanceof oa||(d=new oa("string",Ca),a.hv=d);d.add(b,c);return c};return a}();function Ca(a,b,c){z.wc(this);this.kC=a;this.Xb=b;this.DH=c}z.ka("EnumValue",Ca);Ca.prototype.toString=function(){return z.uf(this.kC)+"."+this.Xb};z.w(Ca,{Pe:"classType"},function(){return this.kC});z.w(Ca,{name:"name"},function(){return this.Xb});z.w(Ca,{value:"value"},function(){return this.DH});
var Ja;Ca.findName=Ja=function(a,b){if(void 0===b||null===b||""===b)return null;z.h(a,"function","findName:classfunc");z.h(b,"string","EnumValue.findName:name");var c=a.hv;return c instanceof oa?c.qa(b):null};function Ba(){this.jC=[]}Ba.prototype.toString=function(){return this.jC.join("")};Ba.prototype.add=function(a){""!==a&&this.jC.push(a)};function na(){}
function Ka(a){void 0===a&&(a=42);this.seed=a;this.Gy=48271;this.gv=2147483647;this.YB=this.gv/this.Gy;this.hH=this.gv%this.Gy;this.gH=1/this.gv;this.random()}Ka.prototype.random=function(){var a=this.seed%this.YB*this.Gy-this.seed/this.YB*this.hH;this.seed=0this.key)return!1;z.Va(a)}var a=a.o,b=a.length,c=++this.bd,d=this.mi;if(null!==d)for(;cthis.key)return!1;z.Va(a)}var b=--this.bd;if(0<=b)return this.key=b,this.value=a.o[b],!0;this.Rf();return!1};Wa.prototype.first=Wa.prototype.first=function(){var a=this.Fc;this.qb=a.J;var b=a.o;this.bd=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};
Wa.prototype.any=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=b.o,e=d.length;this.bd=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.J!==c&&z.Va(b)}return!1};Wa.prototype.all=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=b.o,e=d.length;this.bd=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.J!==c&&z.Va(b)}return!0};Wa.prototype.each=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=b.o,e=d.length;this.bd=e;for(e-=1;0<=e;e--)a(d[e]),b.J!==c&&z.Va(b);return this};
Wa.prototype.map=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=[],e=b.o,g=e.length;this.bd=g;for(g-=1;0<=g;g--)d.push(a(e[g])),b.J!==c&&z.Va(b);a=new J;a.o=d;a.Sc();return a.j};Wa.prototype.filter=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=[],e=b.o,g=e.length;this.bd=g;for(g-=1;0<=g;g--){var h=e[g];a(h)&&d.push(h);b.J!==c&&z.Va(b)}a=new J(b.da);a.o=d;a.Sc();return a.j};Wa.prototype.concat=function(a){this.Fc.nk=null;return new Sa(this,a.j)};z.w(Wa,{count:"count"},function(){return this.Fc.o.length});
Wa.prototype.Rf=function(){this.key=-1;this.value=null;this.qb=-1;this.Fc.nk=this};Wa.prototype.toString=function(){return"ListIteratorBackwards("+this.bd+"/"+this.Fc.count+")"};
-function J(a){z.xc(this);this.I=!1;this.o=[];this.J=0;this.nk=this.jc=null;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.da=a:z.wa(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:z.wa(a,"null, a primitive type name, or a class type",
+function J(a){z.wc(this);this.I=!1;this.o=[];this.J=0;this.nk=this.jc=null;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.da=a:z.wa(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:z.wa(a,"null, a primitive type name, or a class type",
"List constructor: type")}z.ka("List",J);J.prototype.nh=function(a){null!==this.da&&("string"===typeof this.da?typeof a===this.da&&null!==a||z.hc(a,this.da):a instanceof this.da||z.hc(a,this.da))};J.prototype.Sc=function(){var a=this.J;a++;999999999a||a>=b.length)&&z.wa(a,"0 <= i < length",J,"elt:i");return b[a]};
-J.prototype.setElt=J.prototype.set=J.prototype.bh=function(a,b){u&&(this.nh(b),z.p(a,J,"setElt:i"));var c=this.o;(0>a||a>=c.length)&&z.wa(a,"0 <= i < length",J,"setElt:i");this.I&&z.pa(this,a);c[a]=b};J.prototype.first=J.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};J.prototype.last=J.prototype.se=function(){var a=this.o,b=a.length;return 0a||a>=c.length)&&z.wa(a,"0 <= i < length",J,"setElt:i");this.I&&z.pa(this,a);c[a]=b};J.prototype.first=J.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};J.prototype.last=J.prototype.re=function(){var a=this.o,b=a.length;return 0a&&z.wa(a,">= 0",J,"insertAt:i");this.I&&z.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Sc();return!0};J.prototype.remove=J.prototype["delete"]=J.prototype.remove=function(a){if(null===a)return!1;u&&this.nh(a);this.I&&z.pa(this,a);var b=this.o;a=b.indexOf(a);if(-1===a)return!1;a===b.length-1?b.pop():b.splice(a,1);this.Sc();return!0};
+J.prototype.insertAt=J.prototype.Yd=function(a,b){u&&(this.nh(b),z.p(a,J,"insertAt:i"));0>a&&z.wa(a,">= 0",J,"insertAt:i");this.I&&z.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Sc();return!0};J.prototype.remove=J.prototype["delete"]=J.prototype.remove=function(a){if(null===a)return!1;u&&this.nh(a);this.I&&z.pa(this,a);var b=this.o;a=b.indexOf(a);if(-1===a)return!1;a===b.length-1?b.pop():b.splice(a,1);this.Sc();return!0};
J.prototype.removeAt=J.prototype.md=function(a){u&&z.p(a,J,"removeAt:i");var b=this.o;(0>a||a>=b.length)&&z.wa(a,"0 <= i < length",J,"removeAt:i");this.I&&z.pa(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Sc()};
J.prototype.removeRange=J.prototype.removeRange=function(a,b){u&&(z.p(a,J,"removeRange:from"),z.p(b,J,"removeRange:to"));var c=this.o,d=c.length;if(0>a)a=0;else if(a>=d)return this;if(0>b)return this;b>=d&&(b=d-1);if(a>b)return this;this.I&&z.pa(this);for(var e=a,g=b+1;g=g)return this;(0>b||b>=e-1)&&z.wa(b,"0 <= from < length",J,"sortRange:from");if(2===g)return c=d[b],e=d[b+1],0=e)d.sort(a);else for(g=d.slice(0,c),g.sort(a),a=0;a=e)for(g=d.slice(b),
g.sort(a),a=b;a=this.o.length)return Na;var a=this.jc;return null!==a?(a.reset(),a):new Va(this)});
-z.w(J,{$n:"iteratorBackwards"},function(){if(0>=this.o.length)return Na;var a=this.nk;return null!==a?(a.reset(),a):new Wa(this)});function Xa(a){this.oi=a;this.reset()}z.ne(Xa,{key:!0,value:!0});z.w(Xa,{j:"iterator"},function(){return this});Xa.prototype.reset=Xa.prototype.reset=function(){var a=this.oi;a.jc=null;this.qb=a.J;this.ob=null};
+z.w(J,{$n:"iteratorBackwards"},function(){if(0>=this.o.length)return Na;var a=this.nk;return null!==a?(a.reset(),a):new Wa(this)});function Xa(a){this.oi=a;this.reset()}z.me(Xa,{key:!0,value:!0});z.w(Xa,{j:"iterator"},function(){return this});Xa.prototype.reset=Xa.prototype.reset=function(){var a=this.oi;a.jc=null;this.qb=a.J;this.ob=null};
Xa.prototype.next=Xa.prototype.hasNext=Xa.prototype.next=function(){var a=this.oi;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};Xa.prototype.first=Xa.prototype.first=function(){var a=this.oi;this.qb=a.J;a=a.La;if(null!==a){this.ob=a;var b=a.value;this.key=a.key;return this.value=b}return null};
Xa.prototype.any=function(a){var b=this.oi;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d.value))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};Xa.prototype.all=function(a){var b=this.oi;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d.value))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};Xa.prototype.each=function(a){var b=this.oi;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d.value),b.J!==c&&z.Va(b),d=d.eb;return this};
Xa.prototype.map=function(a){var b=this.oi;b.jc=null;for(var c=new J,d=b.J,e=b.La;null!==e;)c.add(a(e.value)),b.J!==d&&z.Va(b),e=e.eb;return c.j};Xa.prototype.filter=function(a){var b=this.oi;b.jc=null;for(var c=new J(b.da),d=b.J,e=b.La;null!==e;){var g=e.value;a(g)&&c.add(g);b.J!==d&&z.Va(b);e=e.eb}return c.j};Xa.prototype.concat=function(a){this.oi.jc=null;return new Sa(this,a.j)};z.w(Xa,{count:"count"},function(){return this.oi.Ad});
Xa.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.oi.jc=this};Xa.prototype.toString=function(){return null!==this.ob?"SetIterator@"+this.ob.value:"SetIterator"};
-function K(a){z.xc(this);this.I=!1;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.da=a:z.wa(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Set constructor: type");this.Bd={};this.Ad=0;this.jc=null;this.J=0;this.fi=this.La=null}z.ka("Set",K);
+function K(a){z.wc(this);this.I=!1;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.da=a:z.wa(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Set constructor: type");this.Bd={};this.Ad=0;this.jc=null;this.J=0;this.fi=this.La=null}z.ka("Set",K);
K.prototype.nh=function(a){null!==this.da&&("string"===typeof this.da?typeof a===this.da&&null!==a||z.hc(a,this.da):a instanceof this.da||z.hc(a,this.da))};K.prototype.Sc=function(){var a=this.J;a++;999999999=this.Ad)return Na;var a=this.jc;return null!==a?(a.reset(),a):new Xa(this)});function $a(a){this.Pa=a;this.reset()}z.ne($a,{key:!0,value:!0});z.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){this.qb=this.Pa.J;this.ob=null};
+z.w(K,{size:"size"},function(){return this.Ad});z.w(K,{j:"iterator"},function(){if(0>=this.Ad)return Na;var a=this.jc;return null!==a?(a.reset(),a):new Xa(this)});function $a(a){this.Pa=a;this.reset()}z.me($a,{key:!0,value:!0});z.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){this.qb=this.Pa.J;this.ob=null};
$a.prototype.next=$a.prototype.hasNext=$a.prototype.next=function(){var a=this.Pa;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.value=this.key=a=b.key,!0;this.Rf();return!1};$a.prototype.first=$a.prototype.first=function(){var a=this.Pa;this.qb=a.J;a=a.La;return null!==a?(this.ob=a,this.value=this.key=a=a.key):null};
$a.prototype.any=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d.key))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};$a.prototype.all=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d.key))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};$a.prototype.each=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d.key),b.J!==c&&z.Va(b),d=d.eb;return this};
$a.prototype.map=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)d.add(a(e.key)),b.J!==c&&z.Va(b),e=e.eb;return d.j};$a.prototype.filter=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=new J(b.qf),e=b.La;null!==e;){var g=e.key;a(g)&&d.add(g);b.J!==c&&z.Va(b);e=e.eb}return d.j};$a.prototype.concat=function(a){return new Sa(this,a.j)};z.w($a,{count:"count"},function(){return this.Pa.Ad});$a.prototype.Rf=function(){this.value=this.key=null;this.qb=-1};
-$a.prototype.toString=function(){return null!==this.ob?"MapKeySetIterator@"+this.ob.value:"MapKeySetIterator"};function cb(a){z.xc(this);this.I=!0;this.Pa=a}z.Ta(cb,K);cb.prototype.freeze=function(){return this};cb.prototype.Za=function(){return this};cb.prototype.toString=function(){return"MapKeySet("+this.Pa.toString()+")"};cb.prototype.add=cb.prototype.set=cb.prototype.add=function(){z.k("This Set is read-only: "+this.toString());return!1};
+$a.prototype.toString=function(){return null!==this.ob?"MapKeySetIterator@"+this.ob.value:"MapKeySetIterator"};function cb(a){z.wc(this);this.I=!0;this.Pa=a}z.Ta(cb,K);cb.prototype.freeze=function(){return this};cb.prototype.Za=function(){return this};cb.prototype.toString=function(){return"MapKeySet("+this.Pa.toString()+")"};cb.prototype.add=cb.prototype.set=cb.prototype.add=function(){z.k("This Set is read-only: "+this.toString());return!1};
cb.prototype.contains=cb.prototype.has=cb.prototype.contains=function(a){return this.Pa.contains(a)};cb.prototype.remove=cb.prototype["delete"]=cb.prototype.remove=function(){z.k("This Set is read-only: "+this.toString());return!1};cb.prototype.clear=cb.prototype.clear=function(){z.k("This Set is read-only: "+this.toString())};cb.prototype.first=cb.prototype.first=function(){var a=this.Pa.La;return null!==a?a.key:null};
cb.prototype.any=function(a){for(var b=this.Pa.La;null!==b;){if(a(b.key))return!0;b=b.eb}return!1};cb.prototype.all=function(a){for(var b=this.Pa.La;null!==b;){if(!a(b.key))return!1;b=b.eb}return!0};cb.prototype.each=function(a){for(var b=this.Pa.La;null!==b;)a(b.key),b=b.eb;return this};cb.prototype.map=function(a){for(var b=new K,c=this.Pa.La;null!==c;)b.add(a(c.key)),c=c.eb;return b};
cb.prototype.filter=function(a){for(var b=new K(this.Pa.qf),c=this.Pa.La;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.eb}return b};cb.prototype.concat=function(a){return this.SG().Uc(a)};cb.prototype.copy=function(){return new cb(this.Pa)};cb.prototype.toSet=cb.prototype.SG=function(){var a=new K(this.Pa.qf),b=this.Pa.Bd,c;for(c in b)a.add(b[c].key);return a};cb.prototype.toArray=cb.prototype.nc=function(){var a=this.Pa.Bd,b=Array(this.Pa.Ad),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};
-cb.prototype.toList=function(){var a=new J(this.da),b=this.Pa.Bd,c;for(c in b)a.add(b[c].key);return a};z.w(cb,{count:"count"},function(){return this.Pa.Ad});z.w(cb,{size:"size"},function(){return this.Pa.Ad});z.w(cb,{j:"iterator"},function(){return 0>=this.Pa.Ad?Na:new $a(this.Pa)});function gb(a){this.Pa=a;this.reset()}z.ne(gb,{key:!0,value:!0});z.w(gb,{j:"iterator"},function(){return this});gb.prototype.reset=gb.prototype.reset=function(){var a=this.Pa;a.ok=null;this.qb=a.J;this.ob=null};
+cb.prototype.toList=function(){var a=new J(this.da),b=this.Pa.Bd,c;for(c in b)a.add(b[c].key);return a};z.w(cb,{count:"count"},function(){return this.Pa.Ad});z.w(cb,{size:"size"},function(){return this.Pa.Ad});z.w(cb,{j:"iterator"},function(){return 0>=this.Pa.Ad?Na:new $a(this.Pa)});function gb(a){this.Pa=a;this.reset()}z.me(gb,{key:!0,value:!0});z.w(gb,{j:"iterator"},function(){return this});gb.prototype.reset=gb.prototype.reset=function(){var a=this.Pa;a.ok=null;this.qb=a.J;this.ob=null};
gb.prototype.next=gb.prototype.hasNext=gb.prototype.next=function(){var a=this.Pa;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};gb.prototype.first=gb.prototype.first=function(){var a=this.Pa;this.qb=a.J;a=a.La;if(null!==a){this.ob=a;var b=a.value;this.key=a.key;return this.value=b}return null};
gb.prototype.any=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d.value))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};gb.prototype.all=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d.value))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};gb.prototype.each=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d.value),b.J!==c&&z.Va(b),d=d.eb;return this};
gb.prototype.map=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)d.add(a(e.value)),b.J!==c&&z.Va(b),e=e.eb;return d.j};gb.prototype.filter=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=new J(b.qf),e=b.La;null!==e;){var g=e.value;a(g)&&d.add(g);b.J!==c&&z.Va(b);e=e.eb}return d.j};gb.prototype.concat=function(a){this.Pa.ok=null;return new Sa(this,a.j)};z.w(gb,{count:"count"},function(){return this.Pa.Ad});
-gb.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.Pa.ok=this};gb.prototype.toString=function(){return null!==this.ob?"MapValueSetIterator@"+this.ob.value:"MapValueSetIterator"};function Za(a,b){this.key=a;this.value=b;this.Cp=this.eb=null}z.ne(Za,{key:!0,value:!0});Za.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};function ib(a){this.Pa=a;this.reset()}z.ne(ib,{key:!0,value:!0});z.w(ib,{j:"iterator"},function(){return this});
+gb.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.Pa.ok=this};gb.prototype.toString=function(){return null!==this.ob?"MapValueSetIterator@"+this.ob.value:"MapValueSetIterator"};function Za(a,b){this.key=a;this.value=b;this.Bp=this.eb=null}z.me(Za,{key:!0,value:!0});Za.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};function ib(a){this.Pa=a;this.reset()}z.me(ib,{key:!0,value:!0});z.w(ib,{j:"iterator"},function(){return this});
ib.prototype.reset=ib.prototype.reset=function(){var a=this.Pa;a.jc=null;this.qb=a.J;this.ob=null};ib.prototype.next=ib.prototype.hasNext=ib.prototype.next=function(){var a=this.Pa;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.key=b.key,this.value=b.value,!0;this.Rf();return!1};
ib.prototype.first=ib.prototype.first=function(){var a=this.Pa;this.qb=a.J;a=a.La;return null!==a?(this.ob=a,this.key=a.key,this.value=a.value,a):null};ib.prototype.any=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};ib.prototype.all=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};
ib.prototype.each=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d),b.J!==c&&z.Va(b),d=d.eb;return this};ib.prototype.map=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)d.add(a(e)),b.J!==c&&z.Va(b),e=e.eb;return d.j};ib.prototype.filter=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)a(e)&&d.add(e),b.J!==c&&z.Va(b),e=e.eb;return d.j};
ib.prototype.concat=function(a){this.Pa.jc=null;return new Sa(this,a.j)};z.w(ib,{count:"count"},function(){return this.Pa.Ad});ib.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.Pa.jc=this};ib.prototype.toString=function(){return null!==this.ob?"MapIterator@"+this.ob:"MapIterator"};
-function oa(a,b){z.xc(this);this.I=!1;void 0===a||null===a?this.qf=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.qf=a:z.wa(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.qf=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Map constructor: keytype");void 0===b||null===b?this.yi=null:"string"===typeof b?"object"===b||"string"===b||"boolean"===b||"number"===
+function oa(a,b){z.wc(this);this.I=!1;void 0===a||null===a?this.qf=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.qf=a:z.wa(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.qf=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Map constructor: keytype");void 0===b||null===b?this.yi=null:"string"===typeof b?"object"===b||"string"===b||"boolean"===b||"number"===
b||"function"===b?this.yi=b:z.wa(b,"the string 'object', 'number', 'string', 'boolean', or 'function'","Map constructor: valtype"):"function"===typeof b?this.yi=b===Object?"object":b===String?"string":b===Number?"number":b===Boolean?"boolean":b===Function?"function":b:z.wa(b,"null, a primitive type name, or a class type","Map constructor: valtype");this.Bd={};this.Ad=0;this.ok=this.jc=null;this.J=0;this.fi=this.La=null}z.ka("Map",oa);
function mb(a,b){null!==a.qf&&("string"===typeof a.qf?typeof b===a.qf&&null!==b||z.hc(b,a.qf):b instanceof a.qf||z.hc(b,a.qf))}oa.prototype.Sc=function(){var a=this.J;a++;999999999=this.count)return Na;var a=this.jc;return null!==a?(a.reset(),a):new ib(this)});z.w(oa,{OF:"iteratorKeys"},function(){return 0>=this.count?Na:new $a(this)});z.w(oa,{PF:"iteratorValues"},function(){if(0>=this.count)return Na;var a=this.ok;return null!==a?(a.reset(),a):new gb(this)});function M(a,b){void 0===a?this.M=this.L=0:"number"===typeof a&&"number"===typeof b?(this.L=a,this.M=b):z.k("Invalid arguments to Point constructor: "+a+", "+b);this.I=!1}
-z.ka("Point",M);z.Ai(M);z.ne(M,{x:!0,y:!0});M.prototype.assign=function(a){this.L=a.L;this.M=a.M};M.prototype.setTo=M.prototype.m=function(a,b){u&&(z.h(a,"number",M,"setTo:x"),z.h(b,"number",M,"setTo:y"));this.L=a;this.M=b;return this};M.prototype.set=M.prototype.set=function(a){u&&z.l(a,M,M,"set:p");this.Sa();this.L=a.L;this.M=a.M;return this};M.prototype.copy=function(){var a=new M;a.L=this.L;a.M=this.M;return a};f=M.prototype;f.Na=function(){this.I=!0;Object.freeze(this);return this};
+z.ka("Point",M);z.Ai(M);z.me(M,{x:!0,y:!0});M.prototype.assign=function(a){this.L=a.L;this.M=a.M};M.prototype.setTo=M.prototype.m=function(a,b){u&&(z.h(a,"number",M,"setTo:x"),z.h(b,"number",M,"setTo:y"));this.L=a;this.M=b;return this};M.prototype.set=M.prototype.set=function(a){u&&z.l(a,M,M,"set:p");this.Sa();this.L=a.L;this.M=a.M;return this};M.prototype.copy=function(){var a=new M;a.L=this.L;a.M=this.M;return a};f=M.prototype;f.Na=function(){this.I=!0;Object.freeze(this);return this};
f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Point is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
M.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));return new M(c,e)}return new M};M.stringify=function(a){return a instanceof M?a.x.toString()+" "+a.y.toString():a.toString()};M.prototype.toString=function(){return"Point("+this.x+","+this.y+")"};M.prototype.equals=M.prototype.O=function(a){return a instanceof M?this.L===a.x&&this.M===a.y:!1};
-M.prototype.equalTo=M.prototype.Ax=function(a,b){return this.L===a&&this.M===b};M.prototype.equalsApprox=M.prototype.Vc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)};M.prototype.add=M.prototype.add=function(a){u&&z.l(a,M,M,"add:p");this.Sa();this.L+=a.x;this.M+=a.y;return this};M.prototype.subtract=M.prototype.so=function(a){u&&z.l(a,M,M,"subtract:p");this.Sa();this.L-=a.x;this.M-=a.y;return this};
+M.prototype.equalTo=M.prototype.Ax=function(a,b){return this.L===a&&this.M===b};M.prototype.equalsApprox=M.prototype.Vc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)};M.prototype.add=M.prototype.add=function(a){u&&z.l(a,M,M,"add:p");this.Sa();this.L+=a.x;this.M+=a.y;return this};M.prototype.subtract=M.prototype.ro=function(a){u&&z.l(a,M,M,"subtract:p");this.Sa();this.L-=a.x;this.M-=a.y;return this};
M.prototype.offset=M.prototype.offset=function(a,b){u&&(z.p(a,M,"offset:dx"),z.p(b,M,"offset:dy"));this.Sa();this.L+=a;this.M+=b;return this};M.prototype.rotate=M.prototype.rotate=function(a){u&&z.p(a,M,"rotate:angle");this.Sa();if(0===a)return this;var b=this.L,c=this.M;if(0===b&&0===c)return this;var d=0,e=0;360<=a?a-=360:0>a&&(a+=360);90===a?(d=0,e=1):180===a?(d=-1,e=0):270===a?(d=0,e=-1):(a=a*Math.PI/180,d=Math.cos(a),e=Math.sin(a));this.L=d*b-e*c;this.M=e*b+d*c;return this};
-M.prototype.scale=M.prototype.scale=function(a,b){u&&(z.p(a,M,"scale:sx"),z.p(b,M,"scale:sy"));this.L*=a;this.M*=b;return this};M.prototype.distanceSquaredPoint=M.prototype.Ef=function(a){u&&z.l(a,M,M,"distanceSquaredPoint:p");var b=a.x-this.L;a=a.y-this.M;return b*b+a*a};M.prototype.distanceSquared=M.prototype.iq=function(a,b){u&&(z.p(a,M,"distanceSquared:px"),z.p(b,M,"distanceSquared:py"));var c=a-this.L,d=b-this.M;return c*c+d*d};
+M.prototype.scale=M.prototype.scale=function(a,b){u&&(z.p(a,M,"scale:sx"),z.p(b,M,"scale:sy"));this.L*=a;this.M*=b;return this};M.prototype.distanceSquaredPoint=M.prototype.Ef=function(a){u&&z.l(a,M,M,"distanceSquaredPoint:p");var b=a.x-this.L;a=a.y-this.M;return b*b+a*a};M.prototype.distanceSquared=M.prototype.hq=function(a,b){u&&(z.p(a,M,"distanceSquared:px"),z.p(b,M,"distanceSquared:py"));var c=a-this.L,d=b-this.M;return c*c+d*d};
M.prototype.normalize=M.prototype.normalize=function(){this.Sa();var a=this.L,b=this.M,c=Math.sqrt(a*a+b*b);0b?270:0;if(0===b)return 0a?c=0>b?c+180:180-c:0>b&&(c=360-c);return c}M.prototype.projectOntoLineSegment=function(a,b,c,d){u&&(z.p(a,M,"projectOntoLineSegment:px"),z.p(b,M,"projectOntoLineSegment:py"),z.p(c,M,"projectOntoLineSegment:qx"),z.p(d,M,"projectOntoLineSegment:qy"));ob(a,b,c,d,this.L,this.M,this);return this};
M.prototype.projectOntoLineSegmentPoint=function(a,b){u&&(z.l(a,M,M,"projectOntoLineSegmentPoint:p"),z.l(b,M,M,"projectOntoLineSegmentPoint:q"));ob(a.x,a.y,b.x,b.y,this.L,this.M,this);return this};M.prototype.snapToGrid=function(a,b,c,d){u&&(z.p(a,M,"snapToGrid:originx"),z.p(b,M,"snapToGrid:originy"),z.p(c,M,"snapToGrid:cellwidth"),z.p(d,M,"snapToGrid:cellheight"));tb(this.L,this.M,a,b,c,d,this);return this};
-M.prototype.snapToGridPoint=function(a,b){u&&(z.l(a,M,M,"snapToGridPoint:p"),z.l(b,Fa,M,"snapToGridPoint:q"));tb(this.L,this.M,a.x,a.y,b.width,b.height,this);return this};M.prototype.setRectSpot=M.prototype.po=function(a,b){u&&(z.l(a,w,M,"setRectSpot:r"),z.l(b,R,M,"setRectSpot:spot"));this.Sa();this.L=a.x+b.x*a.width+b.offsetX;this.M=a.y+b.y*a.height+b.offsetY;return this};
+M.prototype.snapToGridPoint=function(a,b){u&&(z.l(a,M,M,"snapToGridPoint:p"),z.l(b,Fa,M,"snapToGridPoint:q"));tb(this.L,this.M,a.x,a.y,b.width,b.height,this);return this};M.prototype.setRectSpot=M.prototype.oo=function(a,b){u&&(z.l(a,w,M,"setRectSpot:r"),z.l(b,R,M,"setRectSpot:spot"));this.Sa();this.L=a.x+b.x*a.width+b.offsetX;this.M=a.y+b.y*a.height+b.offsetY;return this};
M.prototype.setSpot=M.prototype.Xu=function(a,b,c,d,e){u&&(z.p(a,M,"setSpot:x"),z.p(b,M,"setSpot:y"),z.p(c,M,"setSpot:w"),z.p(d,M,"setSpot:h"),(0>c||0>d)&&z.k("Point.setSpot:Width and height cannot be negative"),z.l(e,R,M,"setSpot:spot"));this.Sa();this.L=a+e.x*c+e.offsetX;this.M=b+e.y*d+e.offsetY;return this};M.prototype.transform=function(a){u&&z.l(a,Ga,M,"transform:t");a.wb(this);return this};function ub(a,b){u&&z.l(b,Ga,M,"transformInverted:t");b.Ci(a);return a}var xb;
M.distanceLineSegmentSquared=xb=function(a,b,c,d,e,g){u&&(z.p(a,M,"distanceLineSegmentSquared:px"),z.p(b,M,"distanceLineSegmentSquared:py"),z.p(c,M,"distanceLineSegmentSquared:ax"),z.p(d,M,"distanceLineSegmentSquared:ay"),z.p(e,M,"distanceLineSegmentSquared:bx"),z.p(g,M,"distanceLineSegmentSquared:by"));var h=e-c,k=g-d,l=h*h+k*k;c-=a;d-=b;var m=-c*h-d*k;if(0>=m||m>=l)return h=e-a,k=g-b,Math.min(c*c+d*d,h*h+k*k);a=h*d-k*c;return a*a/l};var yb;
M.distanceSquared=yb=function(a,b,c,d){u&&(z.p(a,M,"distanceSquared:px"),z.p(b,M,"distanceSquared:py"),z.p(c,M,"distanceSquared:qx"),z.p(d,M,"distanceSquared:qy"));a=c-a;b=d-b;return a*a+b*b};var zb;
M.direction=zb=function(a,b,c,d){u&&(z.p(a,M,"direction:px"),z.p(b,M,"direction:py"),z.p(c,M,"direction:qx"),z.p(d,M,"direction:qy"));a=c-a;b=d-b;if(0===a)return 0b?270:0;if(0===b)return 0a?d=0>b?d+180:180-d:0>b&&(d=360-d);return d};z.defineProperty(M,{x:"x"},function(){return this.L},function(a){this.Sa(a);u&&z.h(a,"number",M,"x");this.L=a});
-z.defineProperty(M,{y:"y"},function(){return this.M},function(a){this.Sa(a);u&&z.h(a,"number",M,"y");this.M=a});M.prototype.isReal=M.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)};function Fa(a,b){void 0===a?this.Ga=this.Ia=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.Ia=a,this.Ga=b):z.k("Invalid arguments to Size constructor: "+a+", "+b);this.I=!1}z.ka("Size",Fa);z.Ai(Fa);z.ne(Fa,{width:!0,height:!0});
+z.defineProperty(M,{y:"y"},function(){return this.M},function(a){this.Sa(a);u&&z.h(a,"number",M,"y");this.M=a});M.prototype.isReal=M.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)};function Fa(a,b){void 0===a?this.Ga=this.Ia=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.Ia=a,this.Ga=b):z.k("Invalid arguments to Size constructor: "+a+", "+b);this.I=!1}z.ka("Size",Fa);z.Ai(Fa);z.me(Fa,{width:!0,height:!0});
Fa.prototype.assign=function(a){this.Ia=a.Ia;this.Ga=a.Ga};Fa.prototype.setTo=Fa.prototype.m=function(a,b){u&&(z.h(a,"number",Fa,"setTo:w"),z.h(b,"number",Fa,"setTo:h"),0>a&&z.wa(a,">= 0",Fa,"setTo:w"),0>b&&z.wa(b,">= 0",Fa,"setTo:h"));this.Ia=a;this.Ga=b;return this};Fa.prototype.set=Fa.prototype.set=function(a){u&&z.l(a,Fa,Fa,"set:s");this.Sa();this.Ia=a.Ia;this.Ga=a.Ga;return this};Fa.prototype.copy=function(){var a=new Fa;a.Ia=this.Ia;a.Ga=this.Ga;return a};f=Fa.prototype;
f.Na=function(){this.I=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Size is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
Fa.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));return new Fa(c,e)}return new Fa};Fa.stringify=function(a){return a instanceof Fa?a.width.toString()+" "+a.height.toString():a.toString()};Fa.prototype.toString=function(){return"Size("+this.width+","+this.height+")"};
Fa.prototype.equals=Fa.prototype.O=function(a){return a instanceof Fa?this.Ia===a.width&&this.Ga===a.height:!1};Fa.prototype.equalTo=Fa.prototype.Ax=function(a,b){return this.Ia===a&&this.Ga===b};Fa.prototype.equalsApprox=Fa.prototype.Vc=function(a){return Q(this.Ia,a.width)&&Q(this.Ga,a.height)};z.defineProperty(Fa,{width:"width"},function(){return this.Ia},function(a){this.Sa(a);u&&z.h(a,"number",Fa,"width");0>a&&z.wa(a,">= 0",Fa,"width");this.Ia=a});
z.defineProperty(Fa,{height:"height"},function(){return this.Ga},function(a){this.Sa(a);u&&z.h(a,"number",Fa,"height");0>a&&z.wa(a,">= 0",Fa,"height");this.Ga=a});Fa.prototype.isReal=Fa.prototype.F=function(){return isFinite(this.width)&&isFinite(this.height)};
function w(a,b,c,d){void 0===a?this.Ga=this.Ia=this.M=this.L=0:a instanceof M?b instanceof M?(this.L=Math.min(a.L,b.L),this.M=Math.min(a.M,b.M),this.Ia=Math.abs(a.L-b.L),this.Ga=Math.abs(a.M-b.M)):b instanceof Fa?(this.L=a.L,this.M=a.M,this.Ia=b.Ia,this.Ga=b.Ga):z.k("Incorrect arguments supplied to Rect constructor"):"number"===typeof a&&"number"===typeof b&&"number"===typeof c&&(0<=c||isNaN(c))&&"number"===typeof d&&(0<=d||isNaN(d))?(this.L=a,this.M=b,this.Ia=c,this.Ga=d):z.k("Invalid arguments to Rect constructor: "+
-a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Rect",w);z.Ai(w);z.ne(w,{x:!0,y:!0,width:!0,height:!0});w.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ga=a.Ga};function Ab(a,b,c){a.Ia=b;a.Ga=c}w.prototype.setTo=w.prototype.m=function(a,b,c,d){u&&(z.h(a,"number",w,"setTo:x"),z.h(b,"number",w,"setTo:y"),z.h(c,"number",w,"setTo:w"),z.h(d,"number",w,"setTo:h"),0>c&&z.wa(c,">= 0",w,"setTo:w"),0>d&&z.wa(d,">= 0",w,"setTo:h"));this.L=a;this.M=b;this.Ia=c;this.Ga=d;return this};
+a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Rect",w);z.Ai(w);z.me(w,{x:!0,y:!0,width:!0,height:!0});w.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ga=a.Ga};function Ab(a,b,c){a.Ia=b;a.Ga=c}w.prototype.setTo=w.prototype.m=function(a,b,c,d){u&&(z.h(a,"number",w,"setTo:x"),z.h(b,"number",w,"setTo:y"),z.h(c,"number",w,"setTo:w"),z.h(d,"number",w,"setTo:h"),0>c&&z.wa(c,">= 0",w,"setTo:w"),0>d&&z.wa(d,">= 0",w,"setTo:h"));this.L=a;this.M=b;this.Ia=c;this.Ga=d;return this};
w.prototype.set=w.prototype.set=function(a){u&&z.l(a,w,w,"set:r");this.Sa();this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ga=a.Ga;return this};w.prototype.setPoint=w.prototype.dh=function(a){u&&z.l(a,M,w,"setPoint:p");this.Sa();this.L=a.L;this.M=a.M;return this};w.prototype.setSize=function(a){u&&z.l(a,Fa,w,"setSize:s");this.Sa();this.Ia=a.Ia;this.Ga=a.Ga;return this};w.prototype.copy=function(){var a=new w;a.L=this.L;a.M=this.M;a.Ia=this.Ia;a.Ga=this.Ga;return a};f=w.prototype;
f.Na=function(){this.I=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Rect is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
w.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));for(var g=0;""===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));for(var h=0;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return new w(c,e,g,h)}return new w};w.stringify=function(a){return a instanceof w?a.x.toString()+" "+a.y.toString()+" "+a.width.toString()+" "+a.height.toString():a.toString()};
@@ -151,7 +151,7 @@ w.prototype.subtractMargin=w.prototype.sK=function(a){u&&z.l(a,Kb,w,"subtractMar
w.prototype.intersectRect=function(a){u&&z.l(a,w,w,"intersectRect:r");return Lb(this,a.x,a.y,a.width,a.height)};w.prototype.intersect=w.prototype.zF=function(a,b,c,d){u&&(z.p(a,w,"intersect:x"),z.p(b,w,"intersect:y"),z.p(c,w,"intersect:w"),z.p(d,w,"intersect:h"),(0>c||0>d)&&z.k("Rect.intersect:Width and height cannot be negative"));return Lb(this,a,b,c,d)};
function Lb(a,b,c,d,e){a.Sa();var g=Math.max(a.L,b),h=Math.max(a.M,c);b=Math.min(a.L+a.Ia,b+d);c=Math.min(a.M+a.Ga,c+e);a.L=g;a.M=h;a.Ia=Math.max(0,b-g);a.Ga=Math.max(0,c-h);return a}w.prototype.intersectsRect=w.prototype.Vg=function(a){u&&z.l(a,w,w,"intersectsRect:r");return this.AF(a.x,a.y,a.width,a.height)};
w.prototype.intersects=w.prototype.AF=function(a,b,c,d){u&&(z.p(a,w,"intersects:x"),z.p(b,w,"intersects:y"),z.p(a,w,"intersects:w"),z.p(b,w,"intersects:h"),(0>c||0>d)&&z.k("Rect.intersects:Width and height cannot be negative"));var e=this.Ia,g=this.L;if(Infinity!==e&&Infinity!==c&&(e+=g,c+=a,isNaN(c)||isNaN(e)||g>c||a>e))return!1;a=this.Ga;c=this.M;return Infinity!==a&&Infinity!==d&&(a+=c,d+=b,isNaN(d)||isNaN(a)||c>d||b>a)?!1:!0};
-function Mb(a,b){var c=a.Ia,d=b.width+10+10,e=a.L,g=b.x-10;if(e>d+g||g>c+e)return!1;c=a.Ga;d=b.height+10+10;e=a.M;g=b.y-10;return e>d+g||g>c+e?!1:!0}w.prototype.unionPoint=w.prototype.Ki=function(a){u&&z.l(a,M,w,"unionPoint:p");return Rb(this,a.x,a.y,0,0)};w.prototype.unionRect=w.prototype.Wh=function(a){u&&z.l(a,w,w,"unionRect:r");return Rb(this,a.L,a.M,a.Ia,a.Ga)};
+function Qb(a,b){var c=a.Ia,d=b.width+10+10,e=a.L,g=b.x-10;if(e>d+g||g>c+e)return!1;c=a.Ga;d=b.height+10+10;e=a.M;g=b.y-10;return e>d+g||g>c+e?!1:!0}w.prototype.unionPoint=w.prototype.Ki=function(a){u&&z.l(a,M,w,"unionPoint:p");return Rb(this,a.x,a.y,0,0)};w.prototype.unionRect=w.prototype.Wh=function(a){u&&z.l(a,w,w,"unionRect:r");return Rb(this,a.L,a.M,a.Ia,a.Ga)};
w.prototype.union=w.prototype.$G=function(a,b,c,d){this.Sa();u?(z.p(a,w,"union:x"),z.p(b,w,"union:y"),void 0===c?c=0:z.p(c,w,"union:w"),void 0===d?d=0:z.p(d,w,"union:h"),(0>c||0>d)&&z.k("Rect.union:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return Rb(this,a,b,c,d)};function Rb(a,b,c,d,e){var g=Math.min(a.L,b),h=Math.min(a.M,c);b=Math.max(a.L+a.Ia,b+d);c=Math.max(a.M+a.Ga,c+e);a.L=g;a.M=h;a.Ia=b-g;a.Ga=c-h;return a}
w.prototype.setSpot=w.prototype.Xu=function(a,b,c){u&&(z.p(a,w,"setSpot:x"),z.p(b,w,"setSpot:y"),z.l(c,R,w,"setSpot:spot"));this.Sa();this.L=a-c.offsetX-c.x*this.Ia;this.M=b-c.offsetY-c.y*this.Ga;return this};var Sb;
w.contains=Sb=function(a,b,c,d,e,g,h,k){u?(z.p(a,w,"contains:rx"),z.p(b,w,"contains:ry"),z.p(c,w,"contains:rw"),z.p(d,w,"contains:rh"),z.p(e,w,"contains:x"),z.p(g,w,"contains:y"),void 0===h?h=0:z.p(h,w,"contains:w"),void 0===k?k=0:z.p(k,w,"contains:h"),(0>c||0>d||0>h||0>k)&&z.k("Rect.contains:Width and height cannot be negative")):(void 0===h&&(h=0),void 0===k&&(k=0));return a<=e&&e+h<=a+c&&b<=g&&g+k<=b+d};
@@ -161,14 +161,14 @@ z.defineProperty(w,{left:"left"},function(){return this.L},function(a){this.Sa(a
z.defineProperty(w,{bottom:"bottom"},function(){return this.M+this.Ga},function(a){this.Sa(a);u&&z.p(a,w,"top");this.M+=a-(this.M+this.Ga)});z.defineProperty(w,{position:"position"},function(){return new M(this.L,this.M)},function(a){this.Sa(a);u&&z.l(a,M,w,"position");this.L=a.x;this.M=a.y});z.defineProperty(w,{size:"size"},function(){return new Fa(this.Ia,this.Ga)},function(a){this.Sa(a);u&&z.l(a,Fa,w,"size");this.Ia=a.width;this.Ga=a.height});
z.defineProperty(w,{$l:"center"},function(){return new M(this.L+this.Ia/2,this.M+this.Ga/2)},function(a){this.Sa(a);u&&z.l(a,M,w,"center");this.L=a.x-this.Ia/2;this.M=a.y-this.Ga/2});z.defineProperty(w,{oa:"centerX"},function(){return this.L+this.Ia/2},function(a){this.Sa(a);u&&z.p(a,w,"centerX");this.L=a-this.Ia/2});z.defineProperty(w,{xa:"centerY"},function(){return this.M+this.Ga/2},function(a){this.Sa(a);u&&z.p(a,w,"centerY");this.M=a-this.Ga/2});
w.prototype.isReal=w.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)};w.prototype.isEmpty=function(){return 0===this.width&&0===this.height};
-function Kb(a,b,c,d){void 0===a?this.th=this.mh=this.Ch=this.Dh=0:void 0===b?this.left=this.bottom=this.right=this.top=a:void 0===c?(d=b,this.top=a,this.right=b,this.bottom=a,this.left=d):void 0!==d?(this.top=a,this.right=b,this.bottom=c,this.left=d):z.k("Invalid arguments to Margin constructor: "+a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Margin",Kb);z.Ai(Kb);z.ne(Kb,{top:!0,right:!0,bottom:!0,left:!0});Kb.prototype.assign=function(a){this.Dh=a.Dh;this.Ch=a.Ch;this.mh=a.mh;this.th=a.th};
+function Kb(a,b,c,d){void 0===a?this.th=this.mh=this.Ch=this.Dh=0:void 0===b?this.left=this.bottom=this.right=this.top=a:void 0===c?(d=b,this.top=a,this.right=b,this.bottom=a,this.left=d):void 0!==d?(this.top=a,this.right=b,this.bottom=c,this.left=d):z.k("Invalid arguments to Margin constructor: "+a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Margin",Kb);z.Ai(Kb);z.me(Kb,{top:!0,right:!0,bottom:!0,left:!0});Kb.prototype.assign=function(a){this.Dh=a.Dh;this.Ch=a.Ch;this.mh=a.mh;this.th=a.th};
Kb.prototype.setTo=Kb.prototype.m=function(a,b,c,d){u&&(z.h(a,"number",Kb,"setTo:t"),z.h(b,"number",Kb,"setTo:r"),z.h(c,"number",Kb,"setTo:b"),z.h(d,"number",Kb,"setTo:l"));this.Sa();this.Dh=a;this.Ch=b;this.mh=c;this.th=d;return this};Kb.prototype.set=Kb.prototype.set=function(a){u&&z.l(a,Kb,Kb,"assign:m");this.Sa();this.Dh=a.Dh;this.Ch=a.Ch;this.mh=a.mh;this.th=a.th;return this};Kb.prototype.copy=function(){var a=new Kb;a.Dh=this.Dh;a.Ch=this.Ch;a.mh=this.mh;a.th=this.th;return a};f=Kb.prototype;
f.Na=function(){this.I=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Margin is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
Kb.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=NaN;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));if(isNaN(c))return new Kb;for(var e=NaN;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));if(isNaN(e))return new Kb(c);for(var g=NaN;""===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));if(isNaN(g))return new Kb(c,e);for(var h=NaN;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return isNaN(h)?new Kb(c,e):new Kb(c,e,g,h)}return new Kb};
Kb.stringify=function(a){return a instanceof Kb?a.top.toString()+" "+a.right.toString()+" "+a.bottom.toString()+" "+a.left.toString():a.toString()};Kb.prototype.toString=function(){return"Margin("+this.top+","+this.right+","+this.bottom+","+this.left+")"};Kb.prototype.equals=Kb.prototype.O=function(a){return a instanceof Kb?this.Dh===a.top&&this.Ch===a.right&&this.mh===a.bottom&&this.th===a.left:!1};
Kb.prototype.equalTo=Kb.prototype.Ax=function(a,b,c,d){return this.Dh===a&&this.Ch===b&&this.mh===c&&this.th===d};Kb.prototype.equalsApprox=Kb.prototype.Vc=function(a){return Q(this.Dh,a.top)&&Q(this.Ch,a.right)&&Q(this.mh,a.bottom)&&Q(this.th,a.left)};z.defineProperty(Kb,{top:"top"},function(){return this.Dh},function(a){this.Sa(a);u&&z.p(a,Kb,"top");this.Dh=a});z.defineProperty(Kb,{right:"right"},function(){return this.Ch},function(a){this.Sa(a);u&&z.p(a,Kb,"right");this.Ch=a});
z.defineProperty(Kb,{bottom:"bottom"},function(){return this.mh},function(a){this.Sa(a);u&&z.p(a,Kb,"bottom");this.mh=a});z.defineProperty(Kb,{left:"left"},function(){return this.th},function(a){this.Sa(a);u&&z.p(a,Kb,"left");this.th=a});Kb.prototype.isReal=Kb.prototype.F=function(){return isFinite(this.top)&&isFinite(this.right)&&isFinite(this.bottom)&&isFinite(this.left)};function Ga(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0}z.Ai(Ga);
-z.ne(Ga,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});Ga.prototype.set=Ga.prototype.set=function(a){u&&z.l(a,Ga,Ga,"set:t");this.m11=a.m11;this.m12=a.m12;this.m21=a.m21;this.m22=a.m22;this.dx=a.dx;this.dy=a.dy;return this};Ga.prototype.copy=function(){var a=new Ga;a.m11=this.m11;a.m12=this.m12;a.m21=this.m21;a.m22=this.m22;a.dx=this.dx;a.dy=this.dy;return a};Ga.prototype.toString=function(){return"Transform("+this.m11+","+this.m12+","+this.m21+","+this.m22+","+this.dx+","+this.dy+")"};
+z.me(Ga,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});Ga.prototype.set=Ga.prototype.set=function(a){u&&z.l(a,Ga,Ga,"set:t");this.m11=a.m11;this.m12=a.m12;this.m21=a.m21;this.m22=a.m22;this.dx=a.dx;this.dy=a.dy;return this};Ga.prototype.copy=function(){var a=new Ga;a.m11=this.m11;a.m12=this.m12;a.m21=this.m21;a.m22=this.m22;a.dx=this.dx;a.dy=this.dy;return a};Ga.prototype.toString=function(){return"Transform("+this.m11+","+this.m12+","+this.m21+","+this.m22+","+this.dx+","+this.dy+")"};
Ga.prototype.equals=Ga.prototype.O=function(a){return a instanceof Ga?this.m11===a.m11&&this.m12===a.m12&&this.m21===a.m21&&this.m22===a.m22&&this.dx===a.dx&&this.dy===a.dy:!1};Ga.prototype.isIdentity=Ga.prototype.uu=function(){return 1===this.m11&&0===this.m12&&0===this.m21&&1===this.m22&&0===this.dx&&0===this.dy};Ga.prototype.reset=Ga.prototype.reset=function(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0;return this};
Ga.prototype.multiply=Ga.prototype.multiply=function(a){u&&z.l(a,Ga,Ga,"multiply:matrix");var b=this.m12*a.m11+this.m22*a.m12,c=this.m11*a.m21+this.m21*a.m22,d=this.m12*a.m21+this.m22*a.m22,e=this.m11*a.dx+this.m21*a.dy+this.dx,g=this.m12*a.dx+this.m22*a.dy+this.dy;this.m11=this.m11*a.m11+this.m21*a.m12;this.m12=b;this.m21=c;this.m22=d;this.dx=e;this.dy=g;return this};
Ga.prototype.multiplyInverted=Ga.prototype.fB=function(a){u&&z.l(a,Ga,Ga,"multiplyInverted:matrix");var b=1/(a.m11*a.m22-a.m12*a.m21),c=a.m22*b,d=-a.m12*b,e=-a.m21*b,g=a.m11*b,h=b*(a.m21*a.dy-a.m22*a.dx),k=b*(a.m12*a.dx-a.m11*a.dy);a=this.m12*c+this.m22*d;b=this.m11*e+this.m21*g;e=this.m12*e+this.m22*g;g=this.m11*h+this.m21*k+this.dx;h=this.m12*h+this.m22*k+this.dy;this.m11=this.m11*c+this.m21*d;this.m12=a;this.m21=b;this.m22=e;this.dx=g;this.dy=h;return this};
@@ -177,7 +177,7 @@ Ga.prototype.rotate=Ga.prototype.rotate=function(a,b,c){u&&(z.p(a,Ga,"rotate:ang
Ga.prototype.translate=Ga.prototype.translate=function(a,b){u&&(z.p(a,Ga,"translate:x"),z.p(b,Ga,"translate:y"));this.dx+=this.m11*a+this.m21*b;this.dy+=this.m12*a+this.m22*b;return this};Ga.prototype.scale=Ga.prototype.scale=function(a,b){void 0===b&&(b=a);u&&(z.p(a,Ga,"translate:sx"),z.p(b,Ga,"translate:sy"));this.m11*=a;this.m12*=a;this.m21*=b;this.m22*=b;return this};
Ga.prototype.transformPoint=Ga.prototype.wb=function(a){u&&z.l(a,M,Ga,"transformPoint:p");var b=a.L,c=a.M;a.L=b*this.m11+c*this.m21+this.dx;a.M=b*this.m12+c*this.m22+this.dy;return a};Ga.prototype.invertedTransformPoint=Ga.prototype.Ci=function(a){u&&z.l(a,M,Ga,"invertedTransformPoint:p");var b=1/(this.m11*this.m22-this.m12*this.m21),c=-this.m12*b,d=this.m11*b,e=b*(this.m12*this.dx-this.m11*this.dy),g=a.L,h=a.M;a.L=g*this.m22*b+h*-this.m21*b+b*(this.m21*this.dy-this.m22*this.dx);a.M=g*c+h*d+e;return a};
Ga.prototype.transformRect=Ga.prototype.ZG=function(a){u&&z.l(a,w,Ga,"transformRect:rect");var b=a.L,c=a.M,d=b+a.Ia,e=c+a.Ga,g=this.m11,h=this.m12,k=this.m21,l=this.m22,m=this.dx,n=this.dy,p=b*g+c*k+m,q=b*h+c*l+n,r=d*g+c*k+m,c=d*h+c*l+n,s=b*g+e*k+m,b=b*h+e*l+n,g=d*g+e*k+m,d=d*h+e*l+n,e=p,h=q,p=Math.min(p,r),e=Math.max(e,r),h=Math.min(h,c),q=Math.max(q,c),p=Math.min(p,s),e=Math.max(e,s),h=Math.min(h,b),q=Math.max(q,b),p=Math.min(p,g),e=Math.max(e,g),h=Math.min(h,d),q=Math.max(q,d);a.L=p;a.M=h;a.Ia=
-e-p;a.Ga=q-h;return a};function R(a,b,c,d){void 0===a?this.Jg=this.Ig=this.M=this.L=0:(void 0===b&&(b=0),void 0===c&&(c=0),void 0===d&&(d=0),this.x=a,this.y=b,this.offsetX=c,this.offsetY=d);this.I=!1}z.ka("Spot",R);z.Ai(R);z.ne(R,{x:!0,y:!0,offsetX:!0,offsetY:!0});R.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ig=a.Ig;this.Jg=a.Jg};
+e-p;a.Ga=q-h;return a};function R(a,b,c,d){void 0===a?this.Jg=this.Ig=this.M=this.L=0:(void 0===b&&(b=0),void 0===c&&(c=0),void 0===d&&(d=0),this.x=a,this.y=b,this.offsetX=c,this.offsetY=d);this.I=!1}z.ka("Spot",R);z.Ai(R);z.me(R,{x:!0,y:!0,offsetX:!0,offsetY:!0});R.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ig=a.Ig;this.Jg=a.Jg};
R.prototype.setTo=R.prototype.m=function(a,b,c,d){u&&(Vb(a,"setTo:x"),Vb(b,"setTo:y"),Zb(c,"setTo:offx"),Zb(d,"setTo:offy"));this.Sa();this.L=a;this.M=b;this.Ig=c;this.Jg=d;return this};R.prototype.set=R.prototype.set=function(a){u&&z.l(a,R,R,"set:s");this.Sa();this.L=a.L;this.M=a.M;this.Ig=a.Ig;this.Jg=a.Jg;return this};R.prototype.copy=function(){var a=new R;a.L=this.L;a.M=this.M;a.Ig=this.Ig;a.Jg=this.Jg;return a};f=R.prototype;f.Na=function(){this.I=!0;Object.freeze(this);return this};
f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Spot is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};function $b(a,b){a.L=NaN;a.M=NaN;a.Ig=b;return a}function Vb(a,b){(isNaN(a)||1a)&&z.wa(a,"0 <= "+b+" <= 1",R,b)}
function Zb(a,b){(isNaN(a)||Infinity===a||-Infinity===a)&&z.wa(a,"real number, not NaN or Infinity",R,b)}var fc;
@@ -187,7 +187,7 @@ var d=a[b++];void 0!==d&&0=2*Math.PI?(pd(a,b,c,d,e,e+Math.PI,h),pd(a,b,c,d,e+Math.PI,e+2*Math.PI,h),a.path.push(["M",l,g])):(b+=d*Math.cos(e),c+=d*Math.sin(e),k=180*k/Math.PI,e=h?0:1,h=180<=k===!!h?0:1,0!==a.path.length?a.path.push(["L",b,c]):a.path.push(["M",b,c]),a.path.push(["A",d,d,k,h,e,l,g]))}}function od(a,b,c,d,e,g,h){var k=new dd;k.Yb=[b,c,d,e,g,h];b={};xd(a,"g",b,k);k=a.addElement("g",b);a.Gf.push(k)}
f.hb=function(){if(0!==this.shadowOffsetX||0!==this.shadowOffsetY||0!==this.shadowBlur){var a="SHADOW"+z.Em++,b=this.addElement("filter",{id:a,x:"-100%",y:"-100%",width:"300%",height:"300%"},null),c,d,e,g,h;c=nd(this,"feGaussianBlur",{"in":"SourceAlpha",result:"blur",zM:this.shadowBlur/2});d=nd(this,"feFlood",{"in":"blur",result:"flood","flood-color":this.shadowColor});e=nd(this,"feComposite",{"in":"flood",in2:"blur",operator:"in",result:"comp"});g=nd(this,"feOffset",{"in":"comp",result:"offsetBlur",
-dx:this.shadowOffsetX,dy:this.shadowOffsetY});h=nd(this,"feMerge",{});h.appendChild(nd(this,"feMergeNode",{"in":"offsetBlur"}));h.appendChild(nd(this,"feMergeNode",{"in":"SourceGraphic"}));b.appendChild(c);b.appendChild(d);b.appendChild(e);b.appendChild(g);b.appendChild(h);0b?(this.scale(b/a,1),this.translate((a-b)/2,0)):b>a&&(this.scale(1,a/b),this.translate(0,(b-a)/2));this.Go?this.clip():this.fill();a>b?(this.translate(-(a-b)/2,0),this.scale(1/(b/a),1)):b>a&&(this.translate(0,-(b-a)/2),this.scale(1,1/(a/b)))}else this.Go?this.clip():this.fill()};f.Rj=function(){this.Go||this.stroke()};z.defineProperty(Ad,{Wt:"clipInsteadOfFill"},function(){return this.Go},function(a){this.Go=a});f=Ad.prototype;
-f.FB=function(a,b,c){this.ot=a;this.pt=b;this.Lg=c};f.qo=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};f.ro=function(){this.shadowOffsetX=this.ot;this.shadowOffsetY=this.pt;this.shadowBlur=this.Lg};f.AA=function(a,b){var c=this.Fa;if(void 0!==c.setLineDash)c.setLineDash(a),c.lineDashOffset=b;else if(void 0!==c.webkitLineDash)c.webkitLineDash=a,c.webkitLineDashOffset=b;else if(void 0!==c.mozDash)c.mozDash=a,c.mozDashOffset=b;else return!1;return!0};
+f.Tg=function(a){if(a instanceof Ea&&a.type===Bd){var b=a.Io;a=a.az;a>b?(this.scale(b/a,1),this.translate((a-b)/2,0)):b>a&&(this.scale(1,a/b),this.translate(0,(b-a)/2));this.Fo?this.clip():this.fill();a>b?(this.translate(-(a-b)/2,0),this.scale(1/(b/a),1)):b>a&&(this.translate(0,-(b-a)/2),this.scale(1,1/(a/b)))}else this.Fo?this.clip():this.fill()};f.Rj=function(){this.Fo||this.stroke()};z.defineProperty(Ad,{Wt:"clipInsteadOfFill"},function(){return this.Fo},function(a){this.Fo=a});f=Ad.prototype;
+f.FB=function(a,b,c){this.ot=a;this.pt=b;this.Lg=c};f.po=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};f.qo=function(){this.shadowOffsetX=this.ot;this.shadowOffsetY=this.pt;this.shadowBlur=this.Lg};f.AA=function(a,b){var c=this.Fa;if(void 0!==c.setLineDash)c.setLineDash(a),c.lineDashOffset=b;else if(void 0!==c.webkitLineDash)c.webkitLineDash=a,c.webkitLineDashOffset=b;else if(void 0!==c.mozDash)c.mozDash=a,c.mozDashOffset=b;else return!1;return!0};
f.vA=function(){var a=this.Fa;void 0!==a.setLineDash?(a.setLineDash(z.bl),a.lineDashOffset=0):void 0!==a.webkitLineDash?(a.webkitLineDash=z.bl,a.webkitLineDashOffset=0):void 0!==a.mozDash&&(a.mozDash=null,a.mozDashOffset=0)};function da(a,b){b&&(a.Wy="");a.Xy="";a.Vy=""}
var Cd=(Math.sqrt(2)-1)/3*4,Dd=(new M(0,0)).Na(),Ed=(new w(0,0,0,0)).Na(),Nd=(new Kb(0,0,0,0)).Na(),Od=(new Kb(2,2,2,2)).Na(),Pd=(new M(6,6)).Na(),Qd=(new M(-Infinity,-Infinity)).Na(),Rd=(new M(Infinity,Infinity)).Na(),Sd=(new Fa(0,0)).Na(),Td=(new Fa(1,1)).Na(),Ud=(new Fa(6,6)).Na(),Vd=(new Fa(8,8)).Na(),Wd=(new Fa(10,10)).Na(),ge=(new Fa(Infinity,Infinity)).Na(),he=(new M(NaN,NaN)).Na(),ie=(new Fa(NaN,NaN)).Na(),je=(new w(NaN,NaN,NaN,NaN)).Na(),ke=(new R(.156,.156)).Na(),le=(new R(.844,.844)).Na(),
me=new na,ne=new na,oe=null;function pe(a){if(0>=a)return 0;var b=oe;if(null===b){for(var b=[],c=0;2E3>=c;c++)b[c]=Math.sqrt(c);oe=b}return 1>a?(c=1/a,2E3>=c?1/b[c|0]:Math.sqrt(a)):2E3>=a?b[a|0]:Math.sqrt(a)}function Q(a,b){var c=a-b;return.5>c&&-.5c&&-5E-8=q&&(q=1E-6);if(qe(a,b,h,k,q,c,d)&&qe(a,b,h,k,q,e,g)){var s=(a-h)*(m-p)-(b-k)*(l-n);if(0===s)return!1;q=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/s;s=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/s;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(h=l=0,bh)return!1}else if(ah)return!1;r.x=q;r.y=s;return!0}var s=(a+c)/2,v=(b+d)/2;c=(c+e)/2;d=(d+g)/2;e=(e+h)/2;g=(g+k)/2;var t=(s+c)/2,x=(v+d)/2;c=(c+e)/2;d=(d+g)/2;var y=(t+c)/2,A=(x+d)/2,
-B=(n-l)*(n-l)+(p-m)*(p-m),N=!1;De(a,b,s,v,t,x,y,A,l,m,n,p,q,r)&&(b=(r.x-l)*(r.x-l)+(r.y-m)*(r.y-m),b=q&&(q=1E-6);if(qe(a,b,h,k,q,c,d)&&qe(a,b,h,k,q,e,g)){var s=(a-h)*(m-p)-(b-k)*(l-n);if(0===s)return!1;q=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/s;s=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/s;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(h=l=0,bh)return!1}else if(ah)return!1;r.x=q;r.y=s;return!0}var s=(a+c)/2,v=(b+d)/2;c=(c+e)/2;d=(d+g)/2;e=(e+h)/2;g=(g+k)/2;var t=(s+c)/2,x=(v+d)/2;c=(c+e)/2;d=(d+g)/2;var y=(t+c)/2,B=(x+d)/2,
+A=(n-l)*(n-l)+(p-m)*(p-m),N=!1;De(a,b,s,v,t,x,y,B,l,m,n,p,q,r)&&(b=(r.x-l)*(r.x-l)+(r.y-m)*(r.y-m),b=q&&(q=1E-6);if(qe(a,b,h,k,q,c,d)&&qe(a,b,h,k,q,e,g)){q=(a-h)*(m-p)-(b-k)*(l-n);if(0===q)return r;var s=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/q,v=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/q;if(s>=n)return r;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(a=l=0,ba)return r}else if(aa)return r;0q&&r--}else{var s=(a+c)/2,v=(b+d)/2,t=(c+e)/2,x=(d+g)/2;e=(e+h)/2;g=(g+k)/2;d=(s+t)/2;c=(v+x)/2;var t=(t+e)/2,x=(x+g)/2,
-y=(d+t)/2,A=(c+x)/2,r=r+Ee(a,b,s,v,d,c,y,A,l,m,n,p,q),r=r+Ee(y,A,t,x,e,g,h,k,l,m,n,p,q)}return r}
+y=(d+t)/2,B=(c+x)/2,r=r+Ee(a,b,s,v,d,c,y,B,l,m,n,p,q),r=r+Ee(y,B,t,x,e,g,h,k,l,m,n,p,q)}return r}
function ob(a,b,c,d,e,g,h){if(Db(a,c)){var k=0;c=0;bc)return h.x=a,h.y=c,!1;h.x=a;h.y=d;return!0}if(Db(b,d)){ac)return h.x=c,h.y=b,!1;h.x=d;h.y=b;return!0}k=((a-e)*(a-c)+(b-g)*(b-d))/((c-a)*(c-a)+(d-b)*(d-b));if(-5E-6>k)return h.x=a,h.y=b,!1;if(1.000005c)return l.x=a,l.y=c,!1;l.x=a;l.y=g;return!0}h=(d-b)/(c-a);if(Db(k,h))return ob(a,b,c,d,e,g,l),!1;e=(h*a-k*e+g-b)/(h-k);if(Db(h,0)){ac)return l.x=c,l.y=b,!1;l.x=e;l.y=b;return!0}g=
h*(e-a)+b;return ob(a,b,c,d,e,g,l)}function Ge(a,b,c,d,e,g,h,k,l){var m=1E21,n=a,p=b;if(Fe(a,b,a,d,e,g,h,k,l)){var q=(l.x-e)*(l.x-e)+(l.y-g)*(l.y-g);qm}
@@ -248,22 +248,22 @@ function Qe(a,b,c,d,e,g){c-=a;d-=b;a=e-a;b=g-b;g=a*d-b*c;0===g&&(g=a*c+b*d,0c,g=0>d,h=0,k=h=0;ag;++g){m=.5*(d+e);if(m===d||m===e)break;k=l/(m+b);h=c/(m+a);k=k*k+h*h-1;if(0k)e=m;else break}n=b*n/(m+b)-n;p=a*p/(m+a)-p;a=Math.sqrt(n*n+p*p)}else a=Math.abs(p-m);else p=l*l-m*m,a=l*n,aa?"M"+this.na.toString()+" "+this.la.toString()+"L"+this.G.toString()+" "+this.H.toString():"M"+this.na.toFixed(a)+" "+this.la.toFixed(a)+"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);case jf:var b=new w(this.na,this.la,0,0);b.$G(this.G,this.H,0,0);return 0>a?"M"+b.x.toString()+" "+b.y.toString()+"H"+b.right.toString()+"V"+b.bottom.toString()+"H"+b.left.toString()+"z":"M"+b.x.toFixed(a)+" "+b.y.toFixed(a)+"H"+b.right.toFixed(a)+
"V"+b.bottom.toFixed(a)+"H"+b.left.toFixed(a)+"z";case kf:b=new w(this.na,this.la,0,0);b.$G(this.G,this.H,0,0);if(0>a){var c=b.left.toString()+" "+(b.y+b.height/2).toString(),d=b.right.toString()+" "+(b.y+b.height/2).toString();return"M"+c+"A"+(b.width/2).toString()+" "+(b.height/2).toString()+" 0 0 1 "+d+"A"+(b.width/2).toString()+" "+(b.height/2).toString()+" 0 0 1 "+c}c=b.left.toFixed(a)+" "+(b.y+b.height/2).toFixed(a);d=b.right.toFixed(a)+" "+(b.y+b.height/2).toFixed(a);return"M"+c+"A"+(b.width/
2).toFixed(a)+" "+(b.height/2).toFixed(a)+" 0 0 1 "+d+"A"+(b.width/2).toFixed(a)+" "+(b.height/2).toFixed(a)+" 0 0 1 "+c;case We:for(var b="",c=this.mc.o,d=c.length,e=0;e=v-1?!0:null!==l[m+1].match(/[A-Za-z]/)}function d(){m++;return l[m]}function e(){var a=new M(parseFloat(d()),parseFloat(d()));n===n.toLowerCase()&&(a.x=s.x+a.x,a.y=s.y+a.y);return a}function g(){return s=e()}function h(){return r=e()}function k(){return"c"!==p.toLowerCase()&&"s"!==p.toLowerCase()?s:new M(2*s.x-r.x,2*s.y-r.y)}void 0===b&&(b=!1);"string"!==typeof a&&z.hc(a,"string",Ve,"parse:str");a=a.replace(/,/gm," ");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,
"$1 $2");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,"$1 $2");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([^\s])/gm,"$1 $2");a=a.replace(/([^\s])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,"$1 $2");a=a.replace(/([0-9])([+\-])/gm,"$1 $2");a=a.replace(/(\.[0-9]*)(\.)/gm,"$1 $2");a=a.replace(/([Aa](\s+[0-9]+){3})\s+([01])\s*([01])/gm,"$1 $3 $4 ");a=a.replace(/[\s\r\t\n]+/gm," ");a=a.replace(/^\s+|\s+$/g,"");for(var l=a.split(" "),m=-1,n="",p="",q=new M(0,0),r=new M(0,0),s=new M(0,
-0),v=l.length,t=z.v(),x=!1,y=!1,A=!0;!(m>=v-1);)if(p=n,n=d(),""!==n)switch(n.toUpperCase()){case "X":A=!0;y=x=!1;break;case "M":var B=g();null===t.dc||!0===A?(S(t,B.x,B.y,x,!1,!y),A=!1):t.moveTo(B.x,B.y);for(q=s;!c();)B=g(),t.lineTo(B.x,B.y);break;case "L":for(;!c();)B=g(),t.lineTo(B.x,B.y);break;case "H":for(;!c();)s=B=new M((n===n.toLowerCase()?s.x:0)+parseFloat(d()),s.y),t.lineTo(s.x,s.y);break;case "V":for(;!c();)s=B=new M(s.x,(n===n.toLowerCase()?s.y:0)+parseFloat(d())),t.lineTo(s.x,s.y);break;
-case "C":for(;!c();){var N=e(),G=h(),B=g();U(t,N.x,N.y,G.x,G.y,B.x,B.y)}break;case "S":for(;!c();)N=k(),G=h(),B=g(),U(t,N.x,N.y,G.x,G.y,B.x,B.y);break;case "Q":for(;!c();)G=h(),B=g(),pf(t,G.x,G.y,B.x,B.y);break;case "T":for(;!c();)r=G=k(),B=g(),pf(t,G.x,G.y,B.x,B.y);break;case "B":for(;!c();){var B=parseFloat(d()),N=parseFloat(d()),G=parseFloat(d()),T=parseFloat(d()),fa=parseFloat(d()),W=fa,P=!1;c()||(W=parseFloat(d()),c()||(P=0!==parseFloat(d())));n===n.toLowerCase()&&(G+=s.x,T+=s.y);t.arcTo(B,N,
-G,T,fa,W,P)}break;case "A":for(;!c();)N=Math.abs(parseFloat(d())),G=Math.abs(parseFloat(d())),T=parseFloat(d()),fa=!!parseFloat(d()),W=!!parseFloat(d()),B=g(),qf(t,N,G,T,fa,W,B.x,B.y);break;case "Z":B=t.q.mc.o[t.q.mc.length-1];V(t);s=q;break;case "F":B="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Uu]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;else{B=l[m+N];break}B.match(/[Mm]/)?x=!0:rf(t);break;case "U":B="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Ff]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;
-else{B=l[m+N];break}B.match(/[Mm]/)?y=!0:t.hb(!1)}q=t.q;z.u(t);if(b)for(t=q.mc.j;t.next();)B=t.value,B.tu=!0;return q};function sf(a,b){for(var c=a.length,d=z.P(),e=0;e=v-1);)if(p=n,n=d(),""!==n)switch(n.toUpperCase()){case "X":B=!0;y=x=!1;break;case "M":var A=g();null===t.dc||!0===B?(S(t,A.x,A.y,x,!1,!y),B=!1):t.moveTo(A.x,A.y);for(q=s;!c();)A=g(),t.lineTo(A.x,A.y);break;case "L":for(;!c();)A=g(),t.lineTo(A.x,A.y);break;case "H":for(;!c();)s=A=new M((n===n.toLowerCase()?s.x:0)+parseFloat(d()),s.y),t.lineTo(s.x,s.y);break;case "V":for(;!c();)s=A=new M(s.x,(n===n.toLowerCase()?s.y:0)+parseFloat(d())),t.lineTo(s.x,s.y);break;
+case "C":for(;!c();){var N=e(),G=h(),A=g();U(t,N.x,N.y,G.x,G.y,A.x,A.y)}break;case "S":for(;!c();)N=k(),G=h(),A=g(),U(t,N.x,N.y,G.x,G.y,A.x,A.y);break;case "Q":for(;!c();)G=h(),A=g(),pf(t,G.x,G.y,A.x,A.y);break;case "T":for(;!c();)r=G=k(),A=g(),pf(t,G.x,G.y,A.x,A.y);break;case "B":for(;!c();){var A=parseFloat(d()),N=parseFloat(d()),G=parseFloat(d()),T=parseFloat(d()),fa=parseFloat(d()),W=fa,P=!1;c()||(W=parseFloat(d()),c()||(P=0!==parseFloat(d())));n===n.toLowerCase()&&(G+=s.x,T+=s.y);t.arcTo(A,N,
+G,T,fa,W,P)}break;case "A":for(;!c();)N=Math.abs(parseFloat(d())),G=Math.abs(parseFloat(d())),T=parseFloat(d()),fa=!!parseFloat(d()),W=!!parseFloat(d()),A=g(),qf(t,N,G,T,fa,W,A.x,A.y);break;case "Z":A=t.q.mc.o[t.q.mc.length-1];V(t);s=q;break;case "F":A="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Uu]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;else{A=l[m+N];break}A.match(/[Mm]/)?x=!0:rf(t);break;case "U":A="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Ff]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;
+else{A=l[m+N];break}A.match(/[Mm]/)?y=!0:t.hb(!1)}q=t.q;z.u(t);if(b)for(t=q.mc.j;t.next();)A=t.value,A.tu=!0;return q};function sf(a,b){for(var c=a.length,d=z.P(),e=0;eh&&(h+=360),s.Me+=h);0>a&&(s.Me=180-s.Me,s.Bf=-s.Bf);0>d&&(s.Me=-s.Me,s.Bf=-s.Bf);s.radiusX*=Math.sqrt(a*a+c*c);void 0!==s.radiusY&&(s.radiusY*=Math.sqrt(b*b+d*d));break;case Qf:h=s.G;k=s.H;s.G=h*
a+k*c+e;s.H=h*b+k*d+g;0!==b&&(h=180*Math.atan2(b,a)/Math.PI,0>h&&(h+=360),s.Vj+=h);0>a&&(s.Vj=180-s.Vj,s.qm=!s.qm);0>d&&(s.Vj=-s.Vj,s.qm=!s.qm);s.radiusX*=Math.sqrt(a*a+c*c);s.radiusY*=Math.sqrt(b*b+d*d);break;default:z.k("Unknown Segment type: "+s.type)}}}}this.jb=!0;return this};
-Ve.prototype.Oa=function(a,b,c,d){var e=a.x,g=a.y,h=this.sb.x-20;a=a.y;for(var k=0,l=0,m=0,n=0,p=0,q=0,r=this.mc.o,s=r.length,v=0;v=a)return 0;if((e>h?e-h:h-e)<(g>k?g-k:k-g)){if(e=a=0,ge)return 0}else if(ee)return 0;return 0a?a=0:1=g)return d=(g-h)/p,c=c[k],k=c[2*n],e=c[2*n+1],b.m(k+(c[2*n+2]-k)*d,e+(c[2*n+3]-e)*d),b;h+=p}b.m(NaN,NaN);return b};
Ve.prototype.getFractionForPoint=Ve.prototype.II=function(a){if(this.type===hf){var b=this.na,c=this.la,d=this.G,e=this.H;if(b!==d||c!==e){var g=a.x;a=a.y;var h=0,k=0;return b===d?(c=k?k===c?0:1:Math.abs(a-c)/(k-h)):c===e?(b=k?k===b?0:1:Math.abs(g-b)/(k-h)):((g-b)*(g-b)+(a-c)*(a-c))/((d-b)*(d-b)+(e-c)*(e-c))}}else if(this.type===jf){if(b=this.na,c=this.la,d=this.G,e=this.H,b!==d||c!==e){var h=d-b,k=e-c,l=2*h+2*k,g=a.x;
a=a.y;g=Math.min(Math.max(g,b),d);a=Math.min(Math.max(a,c),e);var b=Math.abs(g-b),d=Math.abs(g-d),c=Math.abs(a-c),e=Math.abs(a-e),m=Math.min(b,d,c,e);if(m===c)return g/l;if(m===d)return(h+a)/l;if(m===e)return(2*h+k-g)/l;if(m===b)return(2*h+2*k-a)/l}}else{for(var e=this.DA,h=this.Gx,k=this.EA,l=z.P(),c=Infinity,b=d=0,g=e.length,n=m=0,p=0;pa?0:1a?0:1a?"M"+this.na.toString()+" "+this.la.toString():"M"+this.na.toFixed(a)+" "+this.la.toFixed(a),c=this.Db.o,d=c.length,e=0;ea&&(a+=360),this.Rd=a,this.df=0,u&&z.p(d,Wf,"x1"),this.Bh=Math.max(d,0),u&&z.p(e,Wf,"y1"),this.Kg=Math.max(e,0),this.pp="boolean"===typeof h?!!h:!1,this.Ho=!!k):(u&&z.p(d,Wf,"x1"),this.Rd=d,u&&z.p(e,
-Wf,"y1"),this.df=e,u&&z.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Bh=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Kg=h):this.Kg=0,this.Ho=this.pp=!1);this.ei=!1;this.jb=!0;this.tg=null}z.ka("PathSegment",Wf);z.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.da=this.da;a.Bb=this.Bb;a.Ib=this.Ib;a.Rd=this.Rd;a.df=this.df;a.Bh=this.Bh;a.Kg=this.Kg;a.pp=this.pp;a.Ho=this.Ho;a.ei=this.ei;a.jb=this.jb;return a};
+function Wf(a,b,c,d,e,g,h,k){z.wc(this);this.I=!1;void 0===a?a=mf:u&&z.Ca(a,Wf,Wf,"constructor:type");this.da=a;void 0!==b?(u&&z.p(b,Wf,"ex"),this.Bb=b):this.Bb=0;void 0!==c?(u&&z.p(c,Wf,"ey"),this.Ib=c):this.Ib=0;void 0===d&&(d=0);void 0===e&&(e=0);void 0===g&&(g=0);void 0===h&&(h=0);a===Qf?(a=g%360,0>a&&(a+=360),this.Rd=a,this.df=0,u&&z.p(d,Wf,"x1"),this.Bh=Math.max(d,0),u&&z.p(e,Wf,"y1"),this.Kg=Math.max(e,0),this.op="boolean"===typeof h?!!h:!1,this.Go=!!k):(u&&z.p(d,Wf,"x1"),this.Rd=d,u&&z.p(e,
+Wf,"y1"),this.df=e,u&&z.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Bh=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Kg=h):this.Kg=0,this.Go=this.op=!1);this.ei=!1;this.jb=!0;this.tg=null}z.ka("PathSegment",Wf);z.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.da=this.da;a.Bb=this.Bb;a.Ib=this.Ib;a.Rd=this.Rd;a.df=this.df;a.Bh=this.Bh;a.Kg=this.Kg;a.op=this.op;a.Go=this.Go;a.ei=this.ei;a.jb=this.jb;return a};
Wf.prototype.equalsApprox=Wf.prototype.Vc=function(a){if(!(a instanceof Wf)||this.type!==a.type||this.Nx!==a.Nx)return!1;switch(this.type){case Mf:case mf:return Q(this.G,a.G)&&Q(this.H,a.H);case Nf:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Dc,a.Dc)&&Q(this.Zc,a.Zc)&&Q(this.Rh,a.Rh)&&Q(this.Sh,a.Sh);case Of:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Dc,a.Dc)&&Q(this.Zc,a.Zc);case Pf:return Q(this.Me,a.Me)&&Q(this.Bf,a.Bf)&&Q(this.oa,a.oa)&&Q(this.xa,a.xa)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,
-a.radiusY);case Qf:return this.qm===a.qm&&this.Sx===a.Sx&&Q(this.Vj,a.Vj)&&Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,a.radiusY);default:return!1}};Wf.prototype.qc=function(a){a.Pe===Wf?this.type=a:z.Tj(this,a)};
+a.radiusY);case Qf:return this.qm===a.qm&&this.Sx===a.Sx&&Q(this.Vj,a.Vj)&&Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,a.radiusY);default:return!1}};Wf.prototype.pc=function(a){a.Pe===Wf?this.type=a:z.Tj(this,a)};
Wf.prototype.toString=function(a){void 0===a&&(a=-1);var b="";switch(this.type){case Mf:b=0>a?"M"+this.G.toString()+" "+this.H.toString():"M"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case mf:b=0>a?"L"+this.G.toString()+" "+this.H.toString():"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Nf:b=0>a?"C"+this.Dc.toString()+" "+this.Zc.toString()+" "+this.Rh.toString()+" "+this.Sh.toString()+" "+this.G.toString()+" "+this.H.toString():"C"+this.Dc.toFixed(a)+" "+this.Zc.toFixed(a)+" "+this.Rh.toFixed(a)+
" "+this.Sh.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Of:b=0>a?"Q"+this.Dc.toString()+" "+this.Zc.toString()+" "+this.G.toString()+" "+this.H.toString():"Q"+this.Dc.toFixed(a)+" "+this.Zc.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Pf:b=0>a?"B"+this.Me.toString()+" "+this.Bf.toString()+" "+this.oa.toString()+" "+this.xa.toString()+" "+this.radiusX:"B"+this.Me.toFixed(a)+" "+this.Bf.toFixed(a)+" "+this.oa.toFixed(a)+" "+this.xa.toFixed(a)+" "+this.radiusX;
break;case Qf:b=0>a?"A"+this.radiusX.toString()+" "+this.radiusY.toString()+" "+this.Vj.toString()+" "+(this.Sx?1:0)+" "+(this.qm?1:0)+" "+this.G.toString()+" "+this.H.toString():"A"+this.radiusX.toFixed(a)+" "+this.radiusY.toFixed(a)+" "+this.Vj.toFixed(a)+" "+(this.Sx?1:0)+" "+(this.qm?1:0)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;default:b=this.type.toString()}return b+(this.ei?"z":"")};var Mf;Wf.Move=Mf=z.s(Wf,"Move",0);var mf;Wf.Line=mf=z.s(Wf,"Line",1);var Nf;
Wf.Bezier=Nf=z.s(Wf,"Bezier",2);var Of;Wf.QuadraticBezier=Of=z.s(Wf,"QuadraticBezier",3);var Pf;Wf.Arc=Pf=z.s(Wf,"Arc",4);var Qf;Wf.SvgArc=Qf=z.s(Wf,"SvgArc",4);Wf.prototype.freeze=function(){this.I=!0;return this};Wf.prototype.Za=function(){this.I=!1;return this};Wf.prototype.close=Wf.prototype.close=function(){this.ei=!0;return this};
function Rf(a,b){if(null!==a.tg&&!1===b.jb)return a.tg;var c=a.radiusX,d=a.radiusY;void 0===d&&(d=c);if(0===c||0===d)return a.tg=[],a.tg;var e=a.Rd,g=a.df,h=Se(c=r?h=Math.PI:1<=r&&(h=0);!l&&0h&&(h+=2*Math.PI);l=b>g?1:b/g;r=b>g?g/b:1;b=Se(b>g?b:g,n,n+h,!0);g=z.Pf();g.reset();g.translate(c,d);g.rotate(a.Rd,0,0);g.scale(l,r);sf(b,g);z.Ie(g);a.tg=b;return a.tg}
z.defineProperty(Wf,{Nx:"isClosed"},function(){return this.ei},function(a){this.ei!==a&&(this.ei=a,this.jb=!0)});z.defineProperty(Wf,{type:"type"},function(){return this.da},function(a){u&&z.Ca(a,Wf,Wf,"type");this.I&&z.pa(this,a);this.da=a;this.jb=!0});z.defineProperty(Wf,{G:"endX"},function(){return this.Bb},function(a){u&&z.p(a,Wf,"endX");this.I&&z.pa(this,a);this.Bb=a;this.jb=!0});
z.defineProperty(Wf,{H:"endY"},function(){return this.Ib},function(a){u&&z.p(a,Wf,"endY");this.I&&z.pa(this,a);this.Ib=a;this.jb=!0});z.defineProperty(Wf,{Dc:"point1X"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"point1X");this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});z.defineProperty(Wf,{Zc:"point1Y"},function(){return this.df},function(a){u&&z.p(a,Wf,"point1Y");this.I&&z.pa(this,a);this.df=a;this.jb=!0});
z.defineProperty(Wf,{Rh:"point2X"},function(){return this.Bh},function(a){u&&z.p(a,Wf,"point2X");this.I&&z.pa(this,a);this.Bh=a;this.jb=!0});z.defineProperty(Wf,{Sh:"point2Y"},function(){return this.Kg},function(a){u&&z.p(a,Wf,"point2Y");this.I&&z.pa(this,a);this.Kg=a;this.jb=!0});z.defineProperty(Wf,{oa:"centerX"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"centerX");this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});
z.defineProperty(Wf,{xa:"centerY"},function(){return this.df},function(a){u&&z.p(a,Wf,"centerY");this.I&&z.pa(this,a);this.df=a;this.jb=!0});z.defineProperty(Wf,{radiusX:"radiusX"},function(){return this.Bh},function(a){u&&z.p(a,Wf,"radiusX");0>a&&z.wa(a,">= zero",Wf,"radiusX");this.I&&z.pa(this,a);this.Bh=a;this.jb=!0});z.defineProperty(Wf,{radiusY:"radiusY"},function(){return this.Kg},function(a){u&&z.p(a,Wf,"radiusY");0>a&&z.wa(a,">= zero",Wf,"radiusY");this.I&&z.pa(this,a);this.Kg=a;this.jb=!0});
-z.defineProperty(Wf,{Me:"startAngle"},function(){return this.Bb},function(a){this.Bb!==a&&(this.I&&z.pa(this,a),u&&z.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Bb=a,this.jb=!0)});z.defineProperty(Wf,{Bf:"sweepAngle"},function(){return this.Ib},function(a){u&&z.p(a,Wf,"sweepAngle");this.I&&z.pa(this,a);360a&&(a=-360);this.Ib=a;this.jb=!0});z.defineProperty(Wf,{qm:"isClockwiseArc"},function(){return this.Ho},function(a){this.I&&z.pa(this,a);this.Ho=a;this.jb=!0});
-z.defineProperty(Wf,{Sx:"isLargeArc"},function(){return this.pp},function(a){this.I&&z.pa(this,a);this.pp=a;this.jb=!0});z.defineProperty(Wf,{Vj:"xAxisRotation"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});
+z.defineProperty(Wf,{Me:"startAngle"},function(){return this.Bb},function(a){this.Bb!==a&&(this.I&&z.pa(this,a),u&&z.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Bb=a,this.jb=!0)});z.defineProperty(Wf,{Bf:"sweepAngle"},function(){return this.Ib},function(a){u&&z.p(a,Wf,"sweepAngle");this.I&&z.pa(this,a);360a&&(a=-360);this.Ib=a;this.jb=!0});z.defineProperty(Wf,{qm:"isClockwiseArc"},function(){return this.Go},function(a){this.I&&z.pa(this,a);this.Go=a;this.jb=!0});
+z.defineProperty(Wf,{Sx:"isLargeArc"},function(){return this.op},function(a){this.I&&z.pa(this,a);this.op=a;this.jb=!0});z.defineProperty(Wf,{Vj:"xAxisRotation"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});
function Yf(){this.ca=null;this.cA=(new M(0,0)).freeze();this.jz=(new M(0,0)).freeze();this.vv=this.pw=0;this.wv=1;this.ew="";this.Xw=this.Lv=!1;this.Iv=this.xv=0;this.Xj=this.Sv=this.bw=!1;this.Qr=null;this.Vw=0;this.Ng=this.Uw=null}z.ka("InputEvent",Yf);
-Yf.prototype.copy=function(){var a=new Yf;a.ca=this.ca;a.cA.assign(this.te);a.jz.assign(this.ha);a.pw=this.pw;a.vv=this.vv;a.wv=this.wv;a.ew=this.ew;a.Lv=this.Lv;a.Xw=this.Xw;a.xv=this.xv;a.Iv=this.Iv;a.bw=this.bw;a.Sv=this.Sv;a.Xj=this.Xj;a.Qr=this.Qr;a.Vw=this.Vw;a.Uw=this.Uw;a.Ng=this.Ng;return a};
-Yf.prototype.toString=function(){var a="^";0!==this.Ld&&(a+="M:"+this.Ld);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Qe&&(a+="C:"+this.Qe);0!==this.fm&&(a+="D:"+this.fm);this.Nc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};z.defineProperty(Yf,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});z.defineProperty(Yf,{te:"viewPoint"},function(){return this.cA},function(a){z.l(a,M,Yf,"viewPoint");this.cA.assign(a)});
+Yf.prototype.copy=function(){var a=new Yf;a.ca=this.ca;a.cA.assign(this.se);a.jz.assign(this.ha);a.pw=this.pw;a.vv=this.vv;a.wv=this.wv;a.ew=this.ew;a.Lv=this.Lv;a.Xw=this.Xw;a.xv=this.xv;a.Iv=this.Iv;a.bw=this.bw;a.Sv=this.Sv;a.Xj=this.Xj;a.Qr=this.Qr;a.Vw=this.Vw;a.Uw=this.Uw;a.Ng=this.Ng;return a};
+Yf.prototype.toString=function(){var a="^";0!==this.Ld&&(a+="M:"+this.Ld);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Qe&&(a+="C:"+this.Qe);0!==this.fm&&(a+="D:"+this.fm);this.Nc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};z.defineProperty(Yf,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});z.defineProperty(Yf,{se:"viewPoint"},function(){return this.cA},function(a){z.l(a,M,Yf,"viewPoint");this.cA.assign(a)});
z.defineProperty(Yf,{ha:"documentPoint"},function(){return this.jz},function(a){z.l(a,M,Yf,"documentPoint");this.jz.assign(a)});Yf.prototype.getMultiTouchViewPoint=Yf.prototype.Ix=function(a,b){var c=this.g;if(null===c)return b;Zf(c,this.event,a,b);return b};Yf.prototype.getMultiTouchDocumentPoint=function(a,b){var c=this.g;if(null===c)return b;Zf(c,this.event,a,b);b.assign(c.NB(b));return b};z.defineProperty(Yf,{Ld:"modifiers"},function(){return this.pw},function(a){this.pw=a});
z.defineProperty(Yf,{button:"button"},function(){return this.vv},function(a){this.vv=a;if(null===this.event)switch(a){case 0:this.buttons=1;break;case 1:this.buttons=4;break;case 2:this.buttons=2}});z.defineProperty(Yf,{buttons:"buttons"},function(){return this.wv},function(a){this.wv=a});z.defineProperty(Yf,{key:"key"},function(){return this.ew},function(a){this.ew=a});z.defineProperty(Yf,{gm:"down"},function(){return this.Lv},function(a){this.Lv=a});
z.defineProperty(Yf,{up:"up"},function(){return this.Xw},function(a){this.Xw=a});z.defineProperty(Yf,{Qe:"clickCount"},function(){return this.xv},function(a){this.xv=a});z.defineProperty(Yf,{fm:"delta"},function(){return this.Iv},function(a){this.Iv=a});z.defineProperty(Yf,{vu:"isMultiTouch"},function(){return this.bw},function(a){this.bw=a});z.defineProperty(Yf,{Nc:"handled"},function(){return this.Sv},function(a){this.Sv=a});
@@ -323,31 +323,31 @@ z.defineProperty(Yf,{eh:"targetDiagram"},function(){return this.Uw},function(a){
z.defineProperty(Yf,{alt:"alt"},function(){return 0!==(this.Ld&2)},function(a){this.Ld=a?this.Ld|2:this.Ld&-3});z.defineProperty(Yf,{Du:"meta"},function(){return 0!==(this.Ld&8)},function(a){this.Ld=a?this.Ld|8:this.Ld&-9});z.defineProperty(Yf,{left:"left"},function(){var a=this.event;return null!==a&&a instanceof MouseEvent&&("mousedown"===a.type||"mouseup"===a.type)?0===this.button:0!==(this.buttons&1)},function(a){this.buttons=a?this.buttons|1:this.buttons&-2});
z.defineProperty(Yf,{right:"right"},function(){var a=this.event;return null!==a&&a instanceof MouseEvent&&("mousedown"===a.type||"mouseup"===a.type)?2===this.button:0!==(this.buttons&2)},function(a){this.buttons=a?this.buttons|2:this.buttons&-3});z.defineProperty(Yf,{aM:"middle"},function(){var a=this.event;return null!==a&&a instanceof MouseEvent&&("mousedown"===a.type||"mouseup"===a.type)?1===this.button:0!==(this.buttons&4)},function(a){this.buttons=a?this.buttons|4:this.buttons&-5});
function $f(){this.ca=null;this.Xb="";this.yw=this.Sw=null;this.mr=!1}z.ka("DiagramEvent",$f);$f.prototype.copy=function(){var a=new $f;a.ca=this.ca;a.Xb=this.Xb;a.Sw=this.Sw;a.yw=this.yw;a.mr=this.mr;return a};$f.prototype.toString=function(){var a="*"+this.name;null!==this.HB&&(a+=":"+this.HB.toString());null!==this.lB&&(a+="("+this.lB.toString()+")");return a};z.defineProperty($f,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});
-z.defineProperty($f,{name:"name"},function(){return this.Xb},function(a){this.Xb=a});z.defineProperty($f,{HB:"subject"},function(){return this.Sw},function(a){this.Sw=a});z.defineProperty($f,{lB:"parameter"},function(){return this.yw},function(a){this.yw=a});z.defineProperty($f,{cancel:"cancel"},function(){return this.mr},function(a){this.mr!==a&&z.Nn("DiagramEvent.cancel","2.0");this.mr=a});function ag(){this.nr=bg;this.jn=this.ow="";this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.ye=null}
-z.ka("ChangedEvent",ag);var rg;ag.Transaction=rg=z.s(ag,"Transaction",-1);var bg;ag.Property=bg=z.s(ag,"Property",0);var sg;ag.Insert=sg=z.s(ag,"Insert",1);var tg;ag.Remove=tg=z.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.ye=null};
-ag.prototype.copy=function(){var a=new ag;a.nr=this.nr;a.ow=this.ow;a.jn=this.jn;a.ye=this.ye;a.ca=this.ca;a.Ns=this.Ns;var b=this.Ps;a.Ps=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Os;a.Os=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ks;a.Ks=z.Xa(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.qc=function(a){a.Pe===ag?this.Kc=a:z.Tj(this,a)};
+z.defineProperty($f,{name:"name"},function(){return this.Xb},function(a){this.Xb=a});z.defineProperty($f,{HB:"subject"},function(){return this.Sw},function(a){this.Sw=a});z.defineProperty($f,{lB:"parameter"},function(){return this.yw},function(a){this.yw=a});z.defineProperty($f,{cancel:"cancel"},function(){return this.mr},function(a){this.mr!==a&&z.Nn("DiagramEvent.cancel","2.0");this.mr=a});function ag(){this.nr=bg;this.jn=this.ow="";this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.xe=null}
+z.ka("ChangedEvent",ag);var rg;ag.Transaction=rg=z.s(ag,"Transaction",-1);var bg;ag.Property=bg=z.s(ag,"Property",0);var sg;ag.Insert=sg=z.s(ag,"Insert",1);var tg;ag.Remove=tg=z.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.xe=null};
+ag.prototype.copy=function(){var a=new ag;a.nr=this.nr;a.ow=this.ow;a.jn=this.jn;a.xe=this.xe;a.ca=this.ca;a.Ns=this.Ns;var b=this.Ps;a.Ps=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Os;a.Os=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ks;a.Ks=z.Xa(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.pc=function(a){a.Pe===ag?this.Kc=a:z.Tj(this,a)};
ag.prototype.toString=function(){var a="",a=this.Kc===rg?a+"* ":this.Kc===bg?a+(null!==this.ia?"!m":"!d"):a+((null!==this.ia?"!m":"!d")+this.Kc);this.propertyName&&"string"===typeof this.propertyName&&(a+=" "+this.propertyName);this.Af&&this.Af!==this.propertyName&&(a+=" "+this.Af);a+=": ";this.Kc===rg?null!==this.oldValue&&(a+=" "+this.oldValue):(null!==this.object&&(a+=ka(this.object)),null!==this.oldValue&&(a+=" old: "+ka(this.oldValue)),null!==this.Oj&&(a+=" "+this.Oj),null!==this.newValue&&
(a+=" new: "+ka(this.newValue)),null!==this.Mj&&(a+=" "+this.Mj));return a};ag.prototype.getValue=ag.prototype.qa=function(a){return a?this.oldValue:this.newValue};ag.prototype.getParam=function(a){return a?this.Oj:this.Mj};ag.prototype.canUndo=ag.prototype.canUndo=function(){return null!==this.ia||null!==this.g?!0:!1};ag.prototype.undo=ag.prototype.undo=function(){this.canUndo()&&(null!==this.ia?this.ia.En(this,!0):null!==this.g&&this.g.En(this,!0))};
-ag.prototype.canRedo=ag.prototype.canRedo=function(){return null!==this.ia||null!==this.g?!0:!1};ag.prototype.redo=ag.prototype.redo=function(){this.canRedo()&&(null!==this.ia?this.ia.En(this,!1):null!==this.g&&this.g.En(this,!1))};z.defineProperty(ag,{ia:"model"},function(){return this.ye},function(a){this.ye=a});z.defineProperty(ag,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});
+ag.prototype.canRedo=ag.prototype.canRedo=function(){return null!==this.ia||null!==this.g?!0:!1};ag.prototype.redo=ag.prototype.redo=function(){this.canRedo()&&(null!==this.ia?this.ia.En(this,!1):null!==this.g&&this.g.En(this,!1))};z.defineProperty(ag,{ia:"model"},function(){return this.xe},function(a){this.xe=a});z.defineProperty(ag,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});
z.defineProperty(ag,{Kc:"change"},function(){return this.nr},function(a){u&&z.Ca(a,ag,ag,"change");this.nr=a});z.defineProperty(ag,{Af:"modelChange"},function(){return this.ow},function(a){u&&z.h(a,"string",ag,"modelChange");this.ow=a});z.defineProperty(ag,{propertyName:"propertyName"},function(){return this.jn},function(a){u&&"string"!==typeof a&&z.h(a,"function",ag,"propertyName");this.jn=a});
z.w(ag,{NF:"isTransactionFinished"},function(){return this.nr===rg&&("CommittedTransaction"===this.jn||"FinishedUndo"===this.jn||"FinishedRedo"===this.jn)});z.defineProperty(ag,{object:"object"},function(){return this.Ns},function(a){this.Ns=a});z.defineProperty(ag,{oldValue:"oldValue"},function(){return this.Ps},function(a){this.Ps=a});z.defineProperty(ag,{Oj:"oldParam"},function(){return this.Os},function(a){this.Os=a});
z.defineProperty(ag,{newValue:"newValue"},function(){return this.Ls},function(a){this.Ls=a});z.defineProperty(ag,{Mj:"newParam"},function(){return this.Ks},function(a){this.Ks=a});
-function L(a){1d)return;z.Rg(a.ze,d)}dh(a,"nodeDataArray",tg,"nodeDataArray",a,b,null,d,null);a.dv(b)}
+L.prototype.makeNodeDataKeyUnique=L.prototype.ZA=function(a){if(null!==a){var b=this.uk;if(""!==b){var c=this.Cb(a);if(void 0===c||this.Gc.contains(c)){var d=this.sp;if(null!==d&&(c=d(this,a),void 0!==c&&null!==c&&!this.Gc.contains(c))){z.Ua(a,b,c);return}if("string"===typeof c){for(d=2;this.Gc.contains(c+d);)d++;z.Ua(a,b,c+d)}else if(void 0===c||"number"===typeof c){for(d=-this.Gc.count-1;this.Gc.contains(d);)d--;z.Ua(a,b,d)}else z.k("Model.getKeyForNodeData returned something other than a string or a number: "+
+c)}}}};L.prototype.addNodeData=L.prototype.Tl=function(a){null!==a&&(z.oq(a),this.ke(a)||gh(this,a,!0))};function gh(a,b,c){var d=a.Cb(b);if(void 0===d||a.Gc.qa(d)!==b)a.ZA(b),d=a.Cb(b),void 0===d?z.k("Model.makeNodeDataKeyUnique failed on "+b+". Data not added to Model."):(a.Gc.add(d,b),d=null,c&&(d=z.bb(a.ye),z.Hh(a.ye,d,b)),dh(a,"nodeDataArray",sg,"nodeDataArray",a,null,b,null,d),a.Kq(b),a.Jq(b))}
+L.prototype.addNodeDataCollection=function(a){if(z.isArray(a))for(var b=z.bb(a),c=0;cd)return;z.Rg(a.ye,d)}dh(a,"nodeDataArray",tg,"nodeDataArray",a,b,null,d,null);a.dv(b)}
L.prototype.removeNodeDataCollection=function(a){if(z.isArray(a))for(var b=z.bb(a),c=0;cb&&(b=z.bb(a));z.Hh(a,b,c);dh(this,"",sg,"",a,null,c,null,b)};
-L.prototype.removeArrayItem=L.prototype.hG=function(a,b){void 0===b&&(b=-1);u&&(z.Tt(a,L,"removeArrayItem:arr"),z.p(b,L,"removeArrayItem:idx"));a===this.ze&&z.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=z.bb(a)-1);var c=z.Ma(a,b);z.Rg(a,b);dh(this,"",tg,"",a,c,null,b,null)};z.defineProperty(L,{jo:"nodeCategoryProperty"},function(){return this.dn},function(a){var b=this.dn;b!==a&&(eh(a,L,"nodeCategoryProperty"),this.dn=a,this.i("nodeCategoryProperty",b,a))});
+L.prototype.setDataProperty=function(a,b,c){u&&(z.h(a,"object",L,"setDataProperty:data"),z.h(b,"string",L,"setDataProperty:propname"),""===b&&z.k("Model.setDataProperty: property name must not be an empty string when setting "+a+" to "+c));if(this.ke(a))if(b===this.Nj)this.yy(a,c);else{if(b===this.jo){this.xy(a,c);return}}else!oh&&a instanceof O&&(oh=!0,z.trace('Model.setDataProperty is modifying a GraphObject, "'+a.toString()+'"'),z.trace(" Is that really your intent?"));var d=z.vb(a,b);d!==c&&
+(z.Ua(a,b,c),this.mB(a,b,d,c))};L.prototype.addArrayItem=function(a,b){this.PA(a,-1,b)};L.prototype.insertArrayItem=L.prototype.PA=function(a,b,c){u&&(z.Tt(a,L,"insertArrayItem:arr"),z.p(b,L,"insertArrayItem:idx"));a===this.ye&&z.k("Model.insertArrayItem or Model.addArrayItem should not be called on the Model.nodeDataArray");0>b&&(b=z.bb(a));z.Hh(a,b,c);dh(this,"",sg,"",a,null,c,null,b)};
+L.prototype.removeArrayItem=L.prototype.hG=function(a,b){void 0===b&&(b=-1);u&&(z.Tt(a,L,"removeArrayItem:arr"),z.p(b,L,"removeArrayItem:idx"));a===this.ye&&z.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=z.bb(a)-1);var c=z.Ma(a,b);z.Rg(a,b);dh(this,"",tg,"",a,c,null,b,null)};z.defineProperty(L,{jo:"nodeCategoryProperty"},function(){return this.dn},function(a){var b=this.dn;b!==a&&(eh(a,L,"nodeCategoryProperty"),this.dn=a,this.i("nodeCategoryProperty",b,a))});
L.prototype.getCategoryForNodeData=L.prototype.IA=function(a){if(null===a)return"";var b=this.dn;if(""===b)return"";b=z.vb(a,b);if(void 0===b)return"";if("string"===typeof b)return b;z.k("getCategoryForNodeData found a non-string category for "+a+": "+b);return""};
-L.prototype.setCategoryForNodeData=L.prototype.xy=function(a,b){z.h(b,"string",L,"setCategoryForNodeData:cat");if(null!==a){var c=this.dn;if(""!==c)if(this.le(a)){var d=z.vb(a,c);void 0===d&&(d="");d!==b&&(z.Ua(a,c,b),dh(this,"nodeCategory",bg,c,a,d,b))}else z.Ua(a,c,b)}};
-function X(a,b){2z.Yl(d,a.newValue)&&z.Hh(d,c,a.newValue));return}}else if(a.Kc===
tg){c=a.Oj;if("linkDataArray"===a.Af){d=a.oldValue;z.Xa(d)&&"number"===typeof c&&(e=this.eg(d),b?(this.hi.add(d),z.Ma(this.bf,c)!==d&&z.Hh(this.bf,c,d),void 0!==e&&this.qd.add(e,d)):(this.hi.remove(d),z.Ma(this.bf,c)===d&&z.Rg(this.bf,c),void 0!==e&&this.qd.remove(e)));return}if("linkLabelKeys"===a.Af){d=this.Rk(a.object);z.isArray(d)&&"number"===typeof c&&(b?0>z.Yl(d,a.newValue)&&z.Hh(d,c,a.newValue):(c=z.Yl(d,a.newValue),0<=c&&z.Rg(d,c)));return}}L.prototype.En.call(this,a,b)};
z.defineProperty(X,{jA:"archetypeNodeData"},function(){return this.ol},function(a){var b=this.ol;b!==a&&(null!==a&&z.l(a,Object,X,"archetypeNodeData"),this.ol=a,this.i("archetypeNodeData",b,a))});X.prototype.ho=function(a){if(void 0!==a){var b=this.ol;if(null!==b){var c=this.Ge(a);null===c&&(c=this.copyNodeData(b),z.Ua(c,this.uk,a),this.Tl(c))}return a}};
@@ -417,252 +417,252 @@ X.prototype.getLabelKeysForLinkData=X.prototype.Rk=function(a){if(null===a)retur
X.prototype.setLabelKeysForLinkData=X.prototype.FG=function(a,b){z.Tt(b,X,"setLabelKeysForLinkData:arr");if(null!==a){var c=this.Gg;if(""!==c)if(this.Kh(a)){var d=z.vb(a,c);void 0===d&&(d=z.bl);if(d!==b){for(var e=z.bb(d),g=0;ge||(z.Rg(d,e),this.Kh(a)&&(kh(this,b,a),dh(this,"linkLabelKeys",tg,c,a,b,null,e,null)))}else void 0!==d&&z.k(c+" property is not an Array; cannot removeLabelKeyforLinkData: "+a)}}};
-z.defineProperty(X,{Xg:"linkDataArray"},function(){return this.bf},function(a){var b=this.bf;if(b!==a){z.Tt(a,X,"linkDataArray");this.qd.clear();for(var c=z.bb(a),d=0;dd)return;z.Rg(a.bf,d)}dh(a,"linkDataArray",tg,"linkDataArray",a,b,null,d,null);c=a.mm(b);kh(a,c,b);c=a.nm(b);kh(a,c,b);d=a.Rk(b);if(z.isArray(d))for(var e=z.bb(d),g=0;ga.Vh&&z.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Vh;d&&b&&a.sd("CommittingTransaction",c,a.zj);var e=0;if(0a.Ej;e--)g=d.fa(e),null!==g&&g.clear(),
+ug.prototype.clear=ug.prototype.clear=function(){var a=this.history;a.Za();for(var b=a.count-1;0<=b;b--){var c=a.fa(b);null!==c&&c.clear()}a.clear();this.rh=-1;a.freeze();this.bj=!1;this.Hv=null;this.Ql=0;this.xh.Za();this.xh.clear();this.xh.freeze();this.wp.clear()};ug.prototype.addModel=ug.prototype.LH=function(a){this.Lz.add(a)};ug.prototype.removeModel=ug.prototype.ZJ=function(a){this.Lz.remove(a)};
+ug.prototype.startTransaction=ug.prototype.$b=function(a){void 0===a&&(a="");null===a&&(a="");if(this.lb)return!1;!0===this.uz&&(this.uz=!1,this.Ql++,this.sd("StartingFirstTransaction",a,this.zj),0a.Vh&&z.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Vh;d&&b&&a.sd("CommittingTransaction",c,a.zj);var e=0;if(0a.Ej;e--)g=d.fa(e),null!==g&&g.clear(),
d.md(e),a.Fz=!0;e=a.UF;0===e&&(e=1);0=e&&(g=d.fa(0),null!==g&&g.clear(),d.md(0),a.rh--);d.add(b);a.rh++;d.freeze();g=b}a.sd("CommittedTransaction",c,g)}else{a.bj=!0;try{a.isEnabled&&null!==g&&(g.ru=!0,g.undo())}finally{a.sd("RolledBackTransaction",c,g),a.bj=!1}null!==g&&g.clear()}a.Hv=null;return!0}if(a.isEnabled&&!b&&null!==g){a=e;c=g.bg;for(b=c.count-1;b>=a;b--)d=c.fa(b),null!==d&&d.undo(),c.Za(),c.md(b);c.freeze()}return!1}
ug.prototype.canUndo=ug.prototype.canUndo=function(){if(!this.isEnabled||0=this.Vh&&!this.uz&&(a=a.g,null!==a&&!1===a.Zn||z.trace("Change not within a transaction: "+c.toString()))}};
ug.prototype.skipsEvent=function(a){if(null===a||0>a.Kc.value)return!0;a=a.object;if(a instanceof O){if(a=a.layer,null!==a&&a.Wc)return!0}else if(a instanceof ah&&a.Wc)return!0;return!1};z.w(ug,{GJ:"models"},function(){return this.Lz.j});z.defineProperty(ug,{isEnabled:"isEnabled"},function(){return this.pf},function(a){this.pf=a});z.w(ug,{YG:"transactionToUndo"},function(){return 0<=this.Ej&&this.Ej<=this.history.count-1?this.history.fa(this.Ej):null});
z.w(ug,{XG:"transactionToRedo"},function(){return this.Ejb.Oh||(b.scale=a))};ta.prototype.canDecreaseZoom=function(a){void 0===a&&(a=1/this.Fy);z.p(a,ta,"canDecreaseZoom:factor");var b=this.g;if(null===b||b.Zl!==Qh)return!1;a*=b.scale;return ab.Oh?!1:b.lx};
ta.prototype.increaseZoom=function(a){void 0===a&&(a=this.Fy);z.p(a,ta,"increaseZoom:factor");var b=this.g;null!==b&&b.Zl===Qh&&(a*=b.scale,ab.Oh||(b.scale=a))};ta.prototype.canIncreaseZoom=function(a){void 0===a&&(a=this.Fy);z.p(a,ta,"canIncreaseZoom:factor");var b=this.g;if(null===b||b.Zl!==Qh)return!1;a*=b.scale;return ab.Oh?!1:b.lx};ta.prototype.resetZoom=function(a){void 0===a&&(a=this.vx);z.p(a,ta,"resetZoom:newscale");var b=this.g;null===b||ab.Oh||(b.scale=a)};
ta.prototype.canResetZoom=function(a){void 0===a&&(a=this.vx);z.p(a,ta,"canResetZoom:newscale");var b=this.g;return null===b||ab.Oh?!1:b.lx};ta.prototype.zoomToFit=function(){var a=this.g;if(null!==a){var b=a.scale,c=a.position;b===this.fA&&!isNaN(this.Gz)&&a.fd.O(this.eA)?(a.scale=this.Gz,a.position=this.lD,this.fA=NaN,this.eA=Ed):(this.Gz=b,this.lD=c.copy(),a.zoomToFit(),this.fA=a.scale,this.eA=a.fd.copy())}};ta.prototype.canZoomToFit=function(){var a=this.g;return null===a?!1:a.lx};
-ta.prototype.scrollToPart=function(a){void 0===a&&(a=null);null!==a&&z.l(a,D,ta,"part");var b=this.g;if(null!==b){if(null===a){try{null!==this.qj&&(this.qj.next()?a=this.qj.value:this.qj=null)}catch(c){this.qj=null}null===a&&(0e||Math.abs(b.y-a.y)>d};z.w(bh,{g:"diagram"},function(){return this.ca});z.defineProperty(bh,{name:"name"},function(){return this.Xb},function(a){z.h(a,"string",bh,"name");this.Xb=a});
+bh.prototype.cancelWaitAfter=function(){-1!==this.$w&&z.clearTimeout(this.$w);this.$w=-1};bh.prototype.doWaitAfter=function(){};bh.prototype.findToolHandleAt=function(a,b){var c=this.g;if(null===c)return null;c=c.He(a,function(a){for(;null!==a&&!(a.Q instanceof ea);)a=a.Q;return a});return null===c?null:c.Q.rc===b?c:null};
+bh.prototype.isBeyondDragSize=function(a,b){var c=this.g;if(null===c)return!1;void 0===a&&(a=c.Mc.se);void 0===b&&(b=c.U.se);var d=c.ib.sI,e=d.width,d=d.height;c.Mc.Hj&&(e+=6,d+=6);return Math.abs(b.x-a.x)>e||Math.abs(b.y-a.y)>d};z.w(bh,{g:"diagram"},function(){return this.ca});z.defineProperty(bh,{name:"name"},function(){return this.Xb},function(a){z.h(a,"string",bh,"name");this.Xb=a});
z.defineProperty(bh,{isEnabled:"isEnabled"},function(){return this.pf},function(a){z.h(a,"boolean",bh,"isEnabled");this.pf=a});z.defineProperty(bh,{ya:"isActive"},function(){return this.ZC},function(a){z.h(a,"boolean",bh,"isActive");this.ZC=a});z.defineProperty(bh,{Qf:"transactionResult"},function(){return this.jE},function(a){null!==a&&z.h(a,"string",bh,"transactionResult");this.jE=a});
-function Ph(){0e&&(e=k),l>g&&(g=l))}}Infinity===c?b.m(0,0,0,0):b.m(c,d,e-c,g-d)}
-function Hi(a,b){if(null===a.kc){var c=a.g;if(!(null===c||b&&(c.kb||c.Hf))&&null!==a.fc){var d=c.sa;d.isEnabled&&d.JF?null!==d.zj&&0e&&(e=k),l>g&&(g=l))}}Infinity===c?b.m(0,0,0,0):b.m(c,d,e-c,g-d)}
+function Hi(a,b){if(null===a.kc){var c=a.g;if(!(null===c||b&&(c.kb||c.Hf))&&null!==a.fc){var d=c.sa;d.isEnabled&&d.JF?null!==d.zj&&0c.ua)){var d=a.g;if(null!==d&&!d.kb&&(d=a.oj,null!==d)){var e=null,g=null;null===c.aa&&(e=Ri(a,c.n(0),!1),null!==e&&(g=e.ba));var h=null,k=null;null===c.ea&&(h=Ri(a,c.n(c.ua-1),!0),null!==h&&(k=h.ba));d.isValidLink(g,e,k,h)?b?(c.eq=c.n(0),c.fq=c.n(c.ua-1),c.Sj=!1,c.aa=g,null!==e&&(c.dg=e.vd),c.ea=k,null!==h&&(c.ih=h.vd)):Si(d,g,e,k,h):Si(d,null,null,null,null)}}}Ph.prototype.doDragOver=function(){};
+function Oi(a,b){var c=a.td;if(null!==c&&!(2>c.ua)){var d=a.g;if(null!==d&&!d.kb&&(d=a.oj,null!==d)){var e=null,g=null;null===c.aa&&(e=Ri(a,c.n(0),!1),null!==e&&(g=e.ba));var h=null,k=null;null===c.ea&&(h=Ri(a,c.n(c.ua-1),!0),null!==h&&(k=h.ba));d.isValidLink(g,e,k,h)?b?(c.dq=c.n(0),c.eq=c.n(c.ua-1),c.Sj=!1,c.aa=g,null!==e&&(c.dg=e.vd),c.ea=k,null!==h&&(c.ih=h.vd)):Si(d,g,e,k,h):Si(d,null,null,null,null)}}}Ph.prototype.doDragOver=function(){};
function Ti(a,b){var c=a.g;if(null!==c){a.Bj&&Oi(a,!0);zi(a);var d=Pi(c,b,null,function(b){return!Mi(a,b)}),e=c.U;e.We=d;if(null!==d){e.Nc=!1;for(var g=d;null!==g;){var h=g.bB;if(null!==h&&(h(e,g),e.Nc))break;g=Qi(g)}}else h=c.bB,null!==h&&h(e);if(a.ya||null!==Yh){for(e=(a.kc||a.fc).j;e.next();)g=e.key,g instanceof E&&g.Jd.each(function(a){a.Sj=!1});a.doDropOnto(b,d);if(a.ya||null!==Yh){d=z.Of();for(e=c.selection.j;e.next();)g=e.value,g instanceof E&&Ui(c,g.getAvoidableRect(d));z.Mb(d)}}}}
-Ph.prototype.doDropOnto=function(){};Ph.prototype.doMouseMove=function(){if(this.ya){var a=this.g;if(null!==a&&null!==this.Ln&&null!==this.fc){var b=!1,c=!1;this.mayCopy()?(b=!0,a.lc="copy",Hi(this,!1),this.xt(this.kc),Ii(this,this.kc,!1),this.Ep(this.kc)):this.mayMove()?(c=!0,a.lc="default",Ci(this),Ii(this,this.fc,!0)):this.mayDragOut()?(a.lc="no-drop",Hi(this,!1),Ii(this,this.kc,!1)):Ci(this);Ni(this,a.U.ha,c,b)}}};
-Ph.prototype.doMouseUp=function(){if(this.ya){var a=this.g;if(null!==a){var b=!1,c=this.mayCopy();c&&null!==this.kc?(Ci(this),Hi(this,!0),this.xt(this.kc),Ii(this,this.kc,!1),this.Ep(this.kc),null!==this.kc&&a.AG(this.kc.Uj())):(b=!0,Ci(this),this.mayMove()&&(Ii(this,this.fc,!0),Ni(this,a.U.ha,!0,!1)));this.Kr=!0;Ti(this,a.U.ha);if(this.ya){this.kc=null;if(b&&null!==this.fc)for(b=this.fc.j;b.next();){var d=b.key;d instanceof E&&(d=d.Qa,null===d||null===d.placeholder||this.fc.contains(d)||d.placeholder.K())}a.Bc();
-this.Ep(this.fc);this.Qf=c?"Copy":"Move";a.Ka(c?"SelectionCopied":"SelectionMoved",a.selection)}this.stopTool()}}};Ph.prototype.mayCopy=function(){if(!this.EF)return!1;var a=this.g;if(null===a||a.kb||a.Hf||!a.Wp||!a.Ik||(z.Uk?!a.U.alt:!a.U.control))return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.re()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};
-Ph.prototype.mayDragOut=function(){if(!this.EF)return!1;var a=this.g;if(null===a||!a.Qt||!a.Ik||a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.re()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};Ph.prototype.mayMove=function(){var a=this.g;if(null===a||a.kb||!a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.re()&&b.canMove())return!0}return null!==this.td&&this.Bj&&this.td.canMove()?!0:!1};var Ai=new J(Ph),Yh=null,Zh=null;
-Ph.prototype.getDraggingSource=function(){return Yh};Ph.prototype.mayDragIn=function(){var a=this.g;if(null===a||!a.wE||a.kb||a.Hf||!a.Wp)return!1;var b=Yh;return null===b||null===b.g||b.g.ia.dm!==a.ia.dm?!1:!0};Ph.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.g;a.Ya.Ii();Vi(a);a=Yh;null!==a&&null!==a.g&&(a.g.lc="copy")}};Ph.prototype.doSimulatedDragLeave=function(){var a=Yh;null!==a&&a.doSimulatedDragOut();this.doCancel()};
+Ph.prototype.doDropOnto=function(){};Ph.prototype.doMouseMove=function(){if(this.ya){var a=this.g;if(null!==a&&null!==this.Ln&&null!==this.fc){var b=!1,c=!1;this.mayCopy()?(b=!0,a.lc="copy",Hi(this,!1),this.xt(this.kc),Ii(this,this.kc,!1),this.Dp(this.kc)):this.mayMove()?(c=!0,a.lc="default",Ci(this),Ii(this,this.fc,!0)):this.mayDragOut()?(a.lc="no-drop",Hi(this,!1),Ii(this,this.kc,!1)):Ci(this);Ni(this,a.U.ha,c,b)}}};
+Ph.prototype.doMouseUp=function(){if(this.ya){var a=this.g;if(null!==a){var b=!1,c=this.mayCopy();c&&null!==this.kc?(Ci(this),Hi(this,!0),this.xt(this.kc),Ii(this,this.kc,!1),this.Dp(this.kc),null!==this.kc&&a.AG(this.kc.Uj())):(b=!0,Ci(this),this.mayMove()&&(Ii(this,this.fc,!0),Ni(this,a.U.ha,!0,!1)));this.Kr=!0;Ti(this,a.U.ha);if(this.ya){this.kc=null;if(b&&null!==this.fc)for(b=this.fc.j;b.next();){var d=b.key;d instanceof E&&(d=d.Qa,null===d||null===d.placeholder||this.fc.contains(d)||d.placeholder.K())}a.Bc();
+this.Dp(this.fc);this.Qf=c?"Copy":"Move";a.Ka(c?"SelectionCopied":"SelectionMoved",a.selection)}this.stopTool()}}};Ph.prototype.mayCopy=function(){if(!this.EF)return!1;var a=this.g;if(null===a||a.kb||a.Hf||!a.Vp||!a.Ik||(z.Uk?!a.U.alt:!a.U.control))return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.qe()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};
+Ph.prototype.mayDragOut=function(){if(!this.EF)return!1;var a=this.g;if(null===a||!a.Qt||!a.Ik||a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.qe()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};Ph.prototype.mayMove=function(){var a=this.g;if(null===a||a.kb||!a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.qe()&&b.canMove())return!0}return null!==this.td&&this.Bj&&this.td.canMove()?!0:!1};var Ai=new J(Ph),Yh=null,Zh=null;
+Ph.prototype.getDraggingSource=function(){return Yh};Ph.prototype.mayDragIn=function(){var a=this.g;if(null===a||!a.wE||a.kb||a.Hf||!a.Vp)return!1;var b=Yh;return null===b||null===b.g||b.g.ia.dm!==a.ia.dm?!1:!0};Ph.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.g;a.Ya.Ii();Vi(a);a=Yh;null!==a&&null!==a.g&&(a.g.lc="copy")}};Ph.prototype.doSimulatedDragLeave=function(){var a=Yh;null!==a&&a.doSimulatedDragOut();this.doCancel()};
Ph.prototype.doSimulatedDragOver=function(){var a=this.g;if(null!==a){var b=Yh;null!==b&&null!==b.fc&&this.mayDragIn()&&(a.lc="copy",Wi(this,b.fc.Uj(),!1),Ii(this,this.kc,!1),Ni(this,a.U.ha,!1,!0))}};
Ph.prototype.doSimulatedDrop=function(){var a=this.g;if(null!==a){var b=Yh;if(null!==b){var c=b.g;b.Kr=!0;Ci(this);this.mayDragIn()&&(this.$b("Drop"),Wi(this,b.fc.Uj(),!0),Ii(this,this.kc,!1),null!==this.kc&&a.AG(this.kc.Uj()),Ti(this,a.U.ha),a.Bc(),b=a.selection,null!==this.kc?this.Qf="ExternalCopy":b=new K(D),this.kc=null,a.doFocus(),a.Ka("ExternalObjectsDropped",b,c),this.al())}}};
-function Wi(a,b,c){if(null===a.kc){var d=a.g;if(null!==d&&!d.kb&&!d.Hf){d.Eb=!c;d.cr=!c;a.$k=d.U.ha;d=d.dq(b,d,!0);c=z.Of();Gi(b,c);var e=c.x+c.width/2,g=c.y+c.height/2;z.Mb(c);var h=a.Qw;c=new oa(D);var k=z.P();for(b=b.j;b.next();){var l=b.value;if(l.re()&&l.canCopy()){var m=l.location,l=d.qa(l);k.m(h.x-(e-m.x),h.y-(g-m.y));l.location=k;l.kf();c.add(l,wi(k))}}z.A(k);for(d=d.j;d.next();)e=d.value,e instanceof H&&e.canCopy()&&c.add(e,wi());a.kc=c;Xh(a,c.Uj());null!==a.td&&(c=a.td,d=c.no,c.um(a.$k.x-
+function Wi(a,b,c){if(null===a.kc){var d=a.g;if(null!==d&&!d.kb&&!d.Hf){d.Eb=!c;d.cr=!c;a.$k=d.U.ha;d=d.cq(b,d,!0);c=z.Of();Gi(b,c);var e=c.x+c.width/2,g=c.y+c.height/2;z.Mb(c);var h=a.Qw;c=new oa(D);var k=z.P();for(b=b.j;b.next();){var l=b.value;if(l.qe()&&l.canCopy()){var m=l.location,l=d.qa(l);k.m(h.x-(e-m.x),h.y-(g-m.y));l.location=k;l.kf();c.add(l,wi(k))}}z.A(k);for(d=d.j;d.next();)e=d.value,e instanceof H&&e.canCopy()&&c.add(e,wi());a.kc=c;Xh(a,c.Uj());null!==a.td&&(c=a.td,d=c.mo,c.um(a.$k.x-
(d.x+d.width/2),a.$k.y-(d.y+d.height/2)))}}}Ph.prototype.doSimulatedDragOut=function(){var a=this.g;null!==a&&(this.mayCopy()||this.mayMove()?a.lc="":a.lc="no-drop")};function xi(a){this.point=a;this.GG=Dd}z.ka("DraggingInfo",xi);function Ji(a,b,c){this.Yc=a;this.info=b;this.RI=c}
function Xi(){0=d&&(d=.1);for(var e=this,g=b.On(c,d,function(b){return e.findValidLinkablePort(b,a)},null,!0),d=Infinity,b=null,g=g.j;g.next();){var h=g.value,k=h.ba;if(k instanceof E){var l=h.cb(mc,z.P()),m=c.x-l.x,n=c.y-l.y;z.A(l);l=m*m+n*n;lc){if(null!==this.vc&&a===this.Yg&&b===this.Zg)return!0;var d=b.vd;null===d&&(d="");if(a.Dx(d).count>=c)return!1}return!0};
-Xi.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.xq;if(null!==this.g&&this.g.fb===this&&(null!==a.layer&&!a.layer.Rt||!0!==b.QG))return!1;var c=b.yK;if(Infinity>c){if(null!==this.vc&&a===this.$g&&b===this.ah)return!0;var d=b.vd;null===d&&(d="");if(a.Ug(d).count>=c)return!1}return!0};Xi.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.ba,d=b.ba;return null!==c&&c===d};
+c instanceof E&&(null===c.layer||c.layer.Rt))?b:null};Xi.prototype.isValidFrom=function(a,b){if(null===a||null===b)return this.wq;if(null!==this.g&&this.g.fb===this&&(null!==a.layer&&!a.layer.Rt||!0!==b.kF))return!1;var c=b.GA;if(Infinity>c){if(null!==this.uc&&a===this.Yg&&b===this.Zg)return!0;var d=b.vd;null===d&&(d="");if(a.Dx(d).count>=c)return!1}return!0};
+Xi.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.wq;if(null!==this.g&&this.g.fb===this&&(null!==a.layer&&!a.layer.Rt||!0!==b.QG))return!1;var c=b.yK;if(Infinity>c){if(null!==this.uc&&a===this.$g&&b===this.ah)return!0;var d=b.vd;null===d&&(d="");if(a.Ug(d).count>=c)return!1}return!0};Xi.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.ba,d=b.ba;return null!==c&&c===d};
Xi.prototype.isLinked=function(a,b){if(null===a||null===b)return!1;var c=a.ba;if(!(c instanceof E))return!1;var d=a.vd;null===d&&(d="");var e=b.ba;if(!(e instanceof E))return!1;var g=b.vd;null===g&&(g="");for(e=e.Ug(g);e.next();)if(g=e.value,g.aa===c&&g.dg===d)return!0;return!1};
-Xi.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.GI&&d.xK||!this.isInSameNode(b,d))&&(b.FI&&d.wK||!this.isLinked(b,d)))||null!==this.vc&&(null!==a&&this.isLabelDependentOnLink(a,this.vc)||null!==c&&this.isLabelDependentOnLink(c,this.vc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.vc))return!1;if(null!==a){var e=a.Zx;if(null!==e&&!e(a,b,c,d,this.vc))return!1}if(null!==
-c&&(e=c.Zx,null!==e&&!e(a,b,c,d,this.vc)))return!1;e=this.Zx;return null!==e?e(a,b,c,d,this.vc):!0};Xi.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Cc;if(null===c)return!1;if(c===b)return!0;var d=new K(E);d.add(a);return Yi(this,c,b,d)};function Yi(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.xf&&(d.add(e),Yi(a,e.Cc,c,d)))return!0;b=b.ea;return null!==b&&b.xf&&(d.add(b),Yi(a,b.Cc,c,d))?!0:!1}
-Xi.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.xq;var d=null!==this.g?this.g.EK:Zi;if(d!==Zi){if(d===$i){if(null!==c&&!c.Xc)return!0;for(d=b.Jd;d.next();){var e=d.value;if(e!==c&&e.Xc&&e.ea===b)return!1}return!aj(this,a,b,c,!0)}if(d===bj){if(null!==c&&!c.Xc)return!0;for(d=a.Jd;d.next();)if(e=d.value,e!==c&&e.Xc&&e.aa===a)return!1;return!aj(this,a,b,c,!0)}if(d===cj)return a===b?a=!0:(d=new K(E),d.add(b),a=dj(this,d,a,b,c)),!a;if(d===ej)return!aj(this,
+Xi.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.GI&&d.xK||!this.isInSameNode(b,d))&&(b.FI&&d.wK||!this.isLinked(b,d)))||null!==this.uc&&(null!==a&&this.isLabelDependentOnLink(a,this.uc)||null!==c&&this.isLabelDependentOnLink(c,this.uc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.uc))return!1;if(null!==a){var e=a.Zx;if(null!==e&&!e(a,b,c,d,this.uc))return!1}if(null!==
+c&&(e=c.Zx,null!==e&&!e(a,b,c,d,this.uc)))return!1;e=this.Zx;return null!==e?e(a,b,c,d,this.uc):!0};Xi.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Cc;if(null===c)return!1;if(c===b)return!0;var d=new K(E);d.add(a);return Yi(this,c,b,d)};function Yi(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.xf&&(d.add(e),Yi(a,e.Cc,c,d)))return!0;b=b.ea;return null!==b&&b.xf&&(d.add(b),Yi(a,b.Cc,c,d))?!0:!1}
+Xi.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.wq;var d=null!==this.g?this.g.EK:Zi;if(d!==Zi){if(d===$i){if(null!==c&&!c.Xc)return!0;for(d=b.Jd;d.next();){var e=d.value;if(e!==c&&e.Xc&&e.ea===b)return!1}return!aj(this,a,b,c,!0)}if(d===bj){if(null!==c&&!c.Xc)return!0;for(d=a.Jd;d.next();)if(e=d.value,e!==c&&e.Xc&&e.aa===a)return!1;return!aj(this,a,b,c,!0)}if(d===cj)return a===b?a=!0:(d=new K(E),d.add(b),a=dj(this,d,a,b,c)),!a;if(d===ej)return!aj(this,
a,b,c,!1);if(d===fj)return a===b?a=!0:(d=new K(E),d.add(b),a=gj(this,d,a,b,c)),!a}return!0};function aj(a,b,c,d,e){if(b===c)return!0;if(null===b||null===c)return!1;for(var g=b.Jd;g.next();){var h=g.value;if(h!==d&&(!e||h.Xc)&&h.ea===b&&(h=h.aa,h!==b&&aj(a,h,c,d,e)))return!0}return!1}function dj(a,b,c,d,e){if(c===d)return!0;if(null===c||null===d||b.contains(c))return!1;b.add(c);for(var g=c.Jd;g.next();){var h=g.value;if(h!==e&&h.ea===c&&(h=h.aa,h!==c&&dj(a,b,h,d,e)))return!0}return!1}
function gj(a,b,c,d,e){if(c===d)return!0;if(null===c||null===d||b.contains(c))return!1;b.add(c);for(var g=c.Jd;g.next();){var h=g.value;if(h!==e){var k=h.aa,h=h.ea,k=k===c?h:k;if(k!==c&&gj(a,b,k,d,e))return!0}}return!1}z.defineProperty(Xi,{Zx:"linkValidation"},function(){return this.Gl},function(a){null!==a&&z.h(a,"function",Xi,"linkValidation");this.Gl=a});z.defineProperty(Xi,{ly:"portTargeted"},function(){return this.KD},function(a){null!==a&&z.h(a,"function",Xi,"portTargeted");this.KD=a});
function ua(){0b.fu+1&&cb.fu+1&&c=c.x)d=0>=c.y?d+225:1<=c.y?d+135:d+180;else if(1<=c.x)0>=c.y?d+=315:1<=c.y&&(d+=45);else if(0>=c.y)d+=270;else if(1<=c.y)d+=90;else break a;0>d?d+=360:360<=d&&(d-=360);a.cursor=22.5>d?"e-resize":67.5>d?"se-resize":112.5>d?"s-resize":157.5>d?"sw-resize":202.5>d?"w-resize":247.5>d?"nw-resize":292.5>d?"n-resize":337.5>d?
+Qj.prototype.updateResizeHandles=function(a,b){if(null!==a)if(!a.alignment.hd()&&("pointer"===a.cursor||0=c.x)d=0>=c.y?d+225:1<=c.y?d+135:d+180;else if(1<=c.x)0>=c.y?d+=315:1<=c.y&&(d+=45);else if(0>=c.y)d+=270;else if(1<=c.y)d+=90;else break a;0>d?d+=360:360<=d&&(d-=360);a.cursor=22.5>d?"e-resize":67.5>d?"se-resize":112.5>d?"s-resize":157.5>d?"sw-resize":202.5>d?"w-resize":247.5>d?"nw-resize":292.5>d?"n-resize":337.5>d?
"ne-resize":"e-resize"}else if(a instanceof I)for(c=a.elements;c.next();)this.updateResizeHandles(c.value,b)};z.defineProperty(Qj,{mu:"handleArchetype"},function(){return this.vl},function(a){null!==a&&z.l(a,O,Qj,"handleArchetype");this.vl=a});z.w(Qj,{handle:"handle"},function(){return this.oc});z.defineProperty(Qj,{Ab:"adornedObject"},function(){return this.Rc},function(a){null!==a&&z.l(a,O,Qj,"adornedObject");this.Rc=a});
Qj.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.g;return null!==a&&!a.kb&&a.St&&a.U.left?null!==this.findToolHandleAt(a.Mc.ha,this.name):!1};
-Qj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.oc=this.findToolHandleAt(a.Mc.ha,this.name),null!==this.oc&&(this.Rc=this.oc.ba.Ab,this.Ap.set(this.Ab.cb(this.handle.alignment.cG())),this.ED.set(this.Rc.ba.location),this.zD.set(this.Rc.Da),this.pz=this.computeCellSize(),this.rz=this.computeMinSize(),this.qz=this.computeMaxSize(),a.lf=!0,this.wD=a.Ya.isEnabled,a.Ya.isEnabled=!1,this.$b(this.name),this.ya=!0))};
+Qj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.oc=this.findToolHandleAt(a.Mc.ha,this.name),null!==this.oc&&(this.Rc=this.oc.ba.Ab,this.zp.set(this.Ab.cb(this.handle.alignment.cG())),this.ED.set(this.Rc.ba.location),this.zD.set(this.Rc.Da),this.pz=this.computeCellSize(),this.rz=this.computeMinSize(),this.qz=this.computeMaxSize(),a.lf=!0,this.wD=a.Ya.isEnabled,a.Ya.isEnabled=!1,this.$b(this.name),this.ya=!0))};
Qj.prototype.doDeactivate=function(){var a=this.g;null!==a&&(this.al(),this.Rc=this.oc=null,this.ya=a.lf=!1,a.Ya.isEnabled=this.wD)};Qj.prototype.doCancel=function(){null!==this.Ab&&(this.Ab.Da=this.dG,this.Ab.ba.location=this.OJ);this.stopTool()};Qj.prototype.doMouseMove=function(){var a=this.g;if(this.ya&&null!==a){var b=this.rz,c=this.qz,d=this.pz,e=this.Ab.mF(a.U.ha,z.P()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);a.hg();z.A(e)}};
Qj.prototype.doMouseUp=function(){var a=this.g;if(this.ya&&null!==a){var b=this.rz,c=this.qz,d=this.pz,e=this.Ab.mF(a.U.ha,z.P()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);z.A(e);a.Bc();this.Qf=this.name;a.Ka("PartResized",this.Ab,this.dG)}this.stopTool()};
-Qj.prototype.resize=function(a){if(null!==this.g){var b=this.Ab,c=b.ba;b.Da=a.size;c.kf();a=this.Ab.cb(this.handle.alignment.cG());c instanceof F?(a=c.position.copy().so(a).add(this.Ap),c.move(a)):c.location=c.location.copy().so(a).add(this.Ap)}};
-Qj.prototype.computeResize=function(a,b,c,d,e,g){b.ae()&&(b=mc);var h=this.Ab.Ja,k=h.x,l=h.y,m=h.x+h.width,n=h.y+h.height,p=1;if(!g){var p=h.width,q=h.height;0>=p&&(p=1);0>=q&&(q=1);p=q/p}q=z.P();tb(a.x,a.y,k,l,e.width,e.height,q);a=h.copy();0>=b.x?0>=b.y?(a.x=Math.max(q.x,m-d.width),a.x=Math.min(a.x,m-c.width),a.width=Math.max(m-a.x,c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p=p&&(p=1);0>=q&&(q=1);p=q/p}q=z.P();tb(a.x,a.y,k,l,e.width,e.height,q);a=h.copy();0>=b.x?0>=b.y?(a.x=Math.max(q.x,m-d.width),a.x=Math.min(a.x,m-c.width),a.width=Math.max(m-a.x,c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p=b.y?(a.width=Math.max(Math.min(q.x-k,d.width),c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),
a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p=b.y?(a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=n-a.y,g||(a.width=a.height/p,a.x=
k+.5*(m-k-a.width))):1<=b.y&&(a.height=Math.max(Math.min(q.y-l,d.height),c.height),g||(a.width=a.height/p,a.x=k+.5*(m-k-a.width)));z.A(q);return a};Qj.prototype.computeReshape=function(){var a=Tj;this.Ab instanceof Y&&(a=Uj(this.Ab));return!(a===Vj||a===Wj||null!==this.g&&this.g.U.shift)};Qj.prototype.computeMinSize=function(){var a=this.Ab.ig.copy(),b=this.ig;!isNaN(b.width)&&b.width>a.width&&(a.width=b.width);!isNaN(b.height)&&b.height>a.height&&(a.height=b.height);return a};
Qj.prototype.computeMaxSize=function(){var a=this.Ab.mf.copy(),b=this.mf;!isNaN(b.width)&&b.widtha&&(a+=360));var b=Math.min(Math.abs(this.oK),180),c=Math.min(Math.abs(this.nK),b/2);(null===this.g||!this.g.U.shift)&&0b-c&&(a=(Math.floor(a/b)+1)*b));360<=a?a-=360:0>a&&(a+=360);return a};z.defineProperty(Xj,{oK:"snapAngleMultiple"},function(){return this.RD},function(a){z.h(a,"number",Xj,"snapAngleMultiple");this.RD=a});
z.defineProperty(Xj,{nK:"snapAngleEpsilon"},function(){return this.QD},function(a){z.h(a,"number",Xj,"snapAngleEpsilon");this.QD=a});z.w(Xj,{hM:"originalAngle"},function(){return this.tw});function Zj(){0e.right&&(c.x-=d.width+5);c.xe.bottom&&(c.y-=d.height+5);c.ya.U.Qe?!1:!0};kk.prototype.doStart=function(){this.ya||null===this.hh||this.doActivate()};
-kk.prototype.doActivate=function(){if(!this.ya){var a=this.g;if(null!==a){var b=this.hh;null===b&&(b=a.He(a.U.ha,function(a){return a instanceof pa?a:null}));if(null!==b&&(this.hh=b,null!==b.ba)){this.ya=!0;this.qb=tk;var c=this.nI;null!==b.PG&&(c=b.PG);this.Ak=this.hh.copy();var d=new w(this.hh.cb(hc),this.hh.cb(qc));a.gK(d);if(c instanceof bk)c.show(b,a,this);else{c.style.position="absolute";c.style.zIndex=100;c.textEditingTool=this;if("function"===typeof c.onActivate)c.onActivate();"function"===
+kk.prototype.doActivate=function(){if(!this.ya){var a=this.g;if(null!==a){var b=this.hh;null===b&&(b=a.He(a.U.ha,function(a){return a instanceof pa?a:null}));if(null!==b&&(this.hh=b,null!==b.ba)){this.ya=!0;this.qb=tk;var c=this.nI;null!==b.PG&&(c=b.PG);this.Ak=this.hh.copy();var d=new w(this.hh.cb(hc),this.hh.cb(qc));a.gK(d);if(c instanceof bk)c.show(b,a,this);else{c.style.position="absolute";c.style.zIndex="100";c.textEditingTool=this;if("function"===typeof c.onActivate)c.onActivate();"function"===
typeof c.focus&&c.focus();"function"===typeof c.select&&this.wy&&(c.select(),c.setSelectionRange(0,9999));a.Aj.appendChild(c)}this.Nk=c}}}};kk.prototype.doCancel=function(){null!==this.Ll&&(this.Nk.style.border=this.Ll,this.Ll=null);this.stopTool()};kk.prototype.doMouseUp=function(){!this.ya&&this.canStart()&&this.doActivate()};kk.prototype.doMouseDown=function(){this.ya&&this.acceptText(pk)};
kk.prototype.acceptText=function(a){switch(a){case pk:if(this.qb===xk)"function"===typeof this.Nk.focus&&this.Nk.focus();else if(this.qb===tk||this.qb===wk||this.qb===uk)this.qb=vk,Ak(this);break;case ok:case rk:case qk:if(rk===a&&!0===this.$z.Tx)break;if(this.qb===tk||this.qb===wk||this.qb===uk)this.qb=vk,Ak(this)}};
function Ak(a){var b=a.hh,c=a.g,d=a.Nk;if(null!==b&&null!==d){var e=b.text,g=d.value,h="";d instanceof bk?null!==d.RB&&(h=d.RB()):h="function"===typeof g?g():g;a.isValidText(b,e,h)?(a.$b(a.name),a.qb=xk,d instanceof bk?d.show(b,c,a):null!==a.Ll&&(d.style.border=a.Ll,a.Ll=null),a.Qf=a.name,b.text=h,null!==b.OG&&b.OG(b,e,h),null!==c&&c.Ka("TextEdited",b,e),a.al(),a.stopTool(),null!==c&&c.doFocus()):(a.qb=wk,null!==b.BA&&b.BA(a,e,h),d instanceof bk?d.show(b,c,a):(null===a.Ll&&(a.Ll=d.style.border,d.style.border=
"3px solid red"),"function"===typeof d.focus&&d.focus()))}}kk.prototype.doDeactivate=function(){var a=this.g;if(null!==a){this.qb=mk;this.hh=null;if(null!==this.Nk){var b=this.Nk;if(b instanceof bk)b.Wn(a,this);else{if("function"===typeof b.onDeactivate)b.onDeactivate();null!==b&&a.Aj.removeChild(b)}}this.ya=!1}};kk.prototype.doFocus=function(){u&&z.Nn("TextEditingTool.doFocus","2.0");yk(this)};kk.prototype.doBlur=function(){u&&z.Nn("TextEditingTool.doBlur","2.0");zk(this)};
function yk(a){if(null!==a.Nk){var b=a.ez;a.qb===tk&&(a.qb=uk);"function"===typeof b.select&&a.wy&&(b.select(),b.setSelectionRange(0,9999))}}function zk(a){if(null!==a.Nk){var b=a.ez;"function"===typeof b.focus&&b.focus();"function"===typeof b.select&&a.wy&&(b.select(),b.setSelectionRange(0,9999))}}kk.prototype.isValidText=function(a,b,c){z.l(a,pa,kk,"isValidText:textblock");var d=this.JB;if(null!==d&&!d(a,b,c))return!1;d=a.JB;return null===d||d(a,b,c)?!0:!1};
z.defineProperty(kk,{JB:"textValidation"},function(){return this.Ol},function(a){null!==a&&z.h(a,"function",kk,"textValidation");this.Ol=a});z.defineProperty(kk,{XF:"minimumEditorScale"},function(){return this.rD},function(a){null!==a&&z.h(a,"number",kk,"minimumEditorScale");this.rD=a});z.defineProperty(kk,{wy:"selectsTextOnActivate"},function(){return this.OD},function(a){null!==a&&z.h(a,"boolean",kk,"selectsTextOnActivate");this.OD=a});
-z.defineProperty(kk,{state:"state"},function(){return this.qb},function(a){this.qb!==a&&(z.Ca(a,kk,kk,"starting"),this.qb=a)});kk.prototype.measureTemporaryTextBlock=kk.prototype.BJ=function(a){var b=this.Ak;b.text=a;Bk(b,this.hh.qp,Infinity);return b};function Kh(){bh.call(this);this.name="ToolManager";this.oH=new J(bh);this.pH=new J(bh);this.qH=new J(bh);this.WC=this.XC=850;this.KC=(new Fa(2,2)).Na();this.gE=5E3;this.vD=Wh;this.UC=Ck;this.Gv=this.yC=null;this.xn=-1}z.Ta(Kh,bh);
+z.defineProperty(kk,{state:"state"},function(){return this.qb},function(a){this.qb!==a&&(z.Ca(a,kk,kk,"starting"),this.qb=a)});kk.prototype.measureTemporaryTextBlock=kk.prototype.BJ=function(a){var b=this.Ak;b.text=a;Bk(b,this.hh.pp,Infinity);return b};function Kh(){bh.call(this);this.name="ToolManager";this.oH=new J(bh);this.pH=new J(bh);this.qH=new J(bh);this.WC=this.XC=850;this.KC=(new Fa(2,2)).Na();this.gE=5E3;this.vD=Wh;this.UC=Ck;this.Gv=this.yC=null;this.xn=-1}z.Ta(Kh,bh);
z.ka("ToolManager",Kh);var Wh;Kh.WheelScroll=Wh=z.s(Kh,"WheelScroll",0);var Vh;Kh.WheelZoom=Vh=z.s(Kh,"WheelZoom",1);Kh.WheelNone=z.s(Kh,"WheelNone",2);var Ck;Kh.GestureZoom=Ck=z.s(Kh,"GestureZoom",3);var Dk;Kh.GestureCancel=Dk=z.s(Kh,"GestureCancel",4);var Ek;Kh.GestureNone=Ek=z.s(Kh,"GestureNone",5);z.defineProperty(Kh,{Gu:"mouseWheelBehavior"},function(){return this.vD},function(a){z.Ca(a,Kh,Kh,"mouseWheelBehavior");this.vD=a});
-z.defineProperty(Kh,{oq:"gestureBehavior"},function(){return this.UC},function(a){z.Ca(a,Kh,Kh,"gestureBehavior");this.UC=a});Kh.prototype.initializeStandardTools=function(){this.FH=new ak;this.gG=new $h;this.tJ=new pj;this.tG=new Qj;this.dK=new Xj;this.TF=new ua;this.Ee=new Ph;this.rI=new ik;this.PJ=new jk;this.pA=new dk;this.IB=new kk;this.WH=new wa;this.XH=new Zj};
+z.defineProperty(Kh,{nq:"gestureBehavior"},function(){return this.UC},function(a){z.Ca(a,Kh,Kh,"gestureBehavior");this.UC=a});Kh.prototype.initializeStandardTools=function(){this.FH=new ak;this.gG=new $h;this.tJ=new pj;this.tG=new Qj;this.dK=new Xj;this.TF=new ua;this.Ee=new Ph;this.rI=new ik;this.PJ=new jk;this.pA=new dk;this.IB=new kk;this.WH=new wa;this.XH=new Zj};
Kh.prototype.updateAdornments=function(a){var b=this.cm;if(b instanceof ea&&this.Gv===a){var c=b.Ab;(null!==a?c.ba===a:null===c)?this.showToolTip(b,c):this.hideToolTip()}};
-Kh.prototype.doMouseDown=function(){var a=this.g;if(null!==a){var b=a.U;b.Hj&&this.oq===Dk&&(b.bubbles=!1);if(b.vu){this.cancelWaitAfter();if(this.oq===Ek){b.bubbles=!0;return}if(this.oq===Dk)return;if(a.fb.canStartMultiTouch()){a.fb.standardPinchZoomStart();return}}var c=a.sa;c.lA&&0!==c.Vh&&z.trace("WARNING: In ToolManager.doMouseDown: UndoManager.transactionLevel is not zero");for(var c=this.nf.length,d=0;de.right&&(c.x-=d.width+5);c.xe.bottom?c.y-(d.height+5):c.y+20;c.ya?c/2*a*a+b:-c/2*(--a*(a-2)-1)+b}z.w(nh,{eL:"animationReasons"},function(){return this.rv});
-nh.prototype.canStart=function(){return!0};nh.prototype.prepareAutomaticAnimation=nh.prototype.lo=function(a){this.pf&&(this.kk||this.ca.Zn)&&(this.rv.add(a),this.canStart(a)&&(this.jk&&this.Ii(),this.yc=!0))};function Vk(a){if(a.pf&&(a.rv.clear(),a.yc))if(!a.Do)a.yc=!1;else if(0===a.Co){var b=+new Date;a.Co=b;requestAnimationFrame(function(){if(!1!==a.yc&&!a.jk&&a.Co===b){var c=a.ca;c.Dj("temporaryPixelRatio")&&(c.zk=1);al(c);a.yc=!1;c.Ka("AnimationStarting");bl(a,b)}})}}
+function nh(){this.zC=Hk;this.Fr=this.Gr=this.ca=null;this.Bo=this.Hr=this.Ir=0;this.Co=this.yc=this.kp=this.jk=!1;this.kk=this.pf=!0;this.Ev=this.Dv=this.uC=null;this.tC=0;this.Fv=null;this.rv=new K("string");this.mz=600;this.uH=new M(0,0);this.iC=this.hC=this.kE=!1;this.en=new oa(O,Ik)}z.ka("AnimationManager",nh);nh.prototype.$c=function(a){this.ca=a};function Hk(a,b,c,d){a/=d/2;return 1>a?c/2*a*a+b:-c/2*(--a*(a-2)-1)+b}z.w(nh,{eL:"animationReasons"},function(){return this.rv});
+nh.prototype.canStart=function(){return!0};nh.prototype.prepareAutomaticAnimation=nh.prototype.ko=function(a){this.pf&&(this.kk||this.ca.Zn)&&(this.rv.add(a),this.canStart(a)&&(this.jk&&this.Ii(),this.yc=!0))};function Vk(a){if(a.pf&&(a.rv.clear(),a.yc))if(!a.Co)a.yc=!1;else if(0===a.Bo){var b=+new Date;a.Bo=b;requestAnimationFrame(function(){if(!1!==a.yc&&!a.jk&&a.Bo===b){var c=a.ca;c.Dj("temporaryPixelRatio")&&(c.zk=1);al(c);a.yc=!1;c.Ka("AnimationStarting");bl(a,b)}})}}
function cl(a,b,c,d,e,g){if(a.yc&&(u&&z.l(b,O,nh,"addPropToAnimation:obj"),!("position"===c&&d.O(e)||b instanceof D&&!b.CF))){var h=a.en;if(h.contains(b)){var h=h.qa(b),k=h.start,l=h.end;void 0===k[c]&&(k[c]=dl(d));h.sx&&void 0!==l[c]?h.cu[c]=dl(e):(g||(h.cu[c]=dl(e)),l[c]=dl(e));g&&0===c.indexOf("position:")&&(h.cu.location=dl(b.location))}else k=new na,l=new na,k[c]=dl(d),l[c]=dl(e),d=l,e=k.position,e instanceof M&&!e.F()&&a.rv.contains("Expand SubGraph")&&e.assign(d.position),k=new Ik(k,l,g),g&&
-0===c.indexOf("position:")&&(k.cu.location=dl(b.location)),h.add(b,k);a.Do=!0}}function dl(a){return a instanceof M?a.copy():a instanceof Fa?a.copy():a}
-function bl(a,b){var c;function d(){if(!1!==g.jk&&g.Co===b){var a=+new Date,c=a>s?m:a-r;el(g);fl(g,e,q,h,c,m);g.Dv&&g.Dv();Vi(e);gl(g);a>s?hl(g):requestAnimationFrame(d)}}void 0===c&&(c=new na);var e=a.ca;if(null!==e){a.jk=!0;var g=a,h=c.GL||a.zC,k=c.fM||null,l=c.gM||null,m=c.duration||a.mz,n=a.uH;for(c=a.en.j;c.next();){var p=c.value.start.position;p instanceof M&&(p.F()||p.assign(n))}a.uC=h;a.Dv=k;a.Ev=l;a.tC=m;a.Fv=a.en;var q=a.Fv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l=
-k["position:placeholder"],n=l.cb(hc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);el(a);fl(a,e,q,h,0,m);Vi(a.ca);gl(a);var r=+new Date,s=r+m;g.Co===b&&requestAnimationFrame(function(){d()})}}
+0===c.indexOf("position:")&&(k.cu.location=dl(b.location)),h.add(b,k);a.Co=!0}}function dl(a){return a instanceof M?a.copy():a instanceof Fa?a.copy():a}
+function bl(a,b){var c;function d(){if(!1!==g.jk&&g.Bo===b){var a=+new Date,c=a>s?m:a-r;el(g);fl(g,e,q,h,c,m);g.Dv&&g.Dv();Vi(e);gl(g);a>s?hl(g):requestAnimationFrame(d)}}void 0===c&&(c=new na);var e=a.ca;if(null!==e){a.jk=!0;var g=a,h=c.GL||a.zC,k=c.fM||null,l=c.gM||null,m=c.duration||a.mz,n=a.uH;for(c=a.en.j;c.next();){var p=c.value.start.position;p instanceof M&&(p.F()||p.assign(n))}a.uC=h;a.Dv=k;a.Ev=l;a.tC=m;a.Fv=a.en;var q=a.Fv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l=
+k["position:placeholder"],n=l.cb(hc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);el(a);fl(a,e,q,h,0,m);Vi(a.ca);gl(a);var r=+new Date,s=r+m;g.Bo===b&&requestAnimationFrame(function(){d()})}}
var il={opacity:function(a,b,c,d,e,g){a.opacity=d(e,b,c-b,g)},position:function(a,b,c,d,e,g){e!==g?a.zy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):a.position=new M(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g))},"position:node":function(a,b,c,d,e,g){var h=a.Z,k=c.Z;c=k.x+k.width/2-h.width/2;h=k.y+k.height/2-h.height/2;e!==g?a.zy(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g)):a.position=new M(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g))},"position:placeholder":function(a,b,c,d,e,g){e!==g?a.zy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):
-a.position=new M(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g))},scale:function(a,b,c,d,e,g){a.scale=d(e,b,c-b,g)},visible:function(a,b,c,d,e,g){a.visible=e!==g?b:c}};function el(a){if(!a.lp){var b=a.ca;a.kE=b.Eb;a.hC=b.Ve;a.iC=b.Zu;b.Eb=!0;b.Ve=!0;b.Zu=!0;a.lp=!0}}function gl(a){var b=a.ca;b.Eb=a.kE;b.Ve=a.hC;b.Zu=a.iC;a.lp=!1}
+a.position=new M(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g))},scale:function(a,b,c,d,e,g){a.scale=d(e,b,c-b,g)},visible:function(a,b,c,d,e,g){a.visible=e!==g?b:c}};function el(a){if(!a.kp){var b=a.ca;a.kE=b.Eb;a.hC=b.Ve;a.iC=b.Zu;b.Eb=!0;b.Ve=!0;b.Zu=!0;a.kp=!0}}function gl(a){var b=a.ca;b.Eb=a.kE;b.Ve=a.hC;b.Zu=a.iC;a.kp=!1}
function fl(a,b,c,d,e,g){for(c=c.j;c.next();){var h=c.key,k=c.value,l=k.start,k=k.end,m;for(m in k)if(("position"!==m||!k["position:placeholder"]&&!k["position:node"])&&void 0!==il[m])il[m](h,l[m],k[m],d,e,g)}d=b.RA;b.RA=!0;m=a.zC;0!==a.Ir&&0!==a.Hr&&(c=a.Ir,b.Rb=m(e,c,a.Hr-c,g));null!==a.Gr&&null!==a.Fr&&(c=a.Gr,a=a.Fr,b.ub=new M(m(e,c.x,a.x-c.x,g),m(e,c.y,a.y-c.y,g)));b.RA=d}
-nh.prototype.stopAnimation=nh.prototype.Ii=function(){!0===this.yc&&(this.yc=!1,this.Do&&this.ca.Te());this.jk&&this.pf&&hl(this)};
-function hl(a){a.jk=!1;a.Do=!1;el(a);for(var b=a.ca,c=a.uC,d=a.tC,e=a.Fv.j;e.next();){var g=e.key,h=e.value,k=h.start,l=h.end,m=h.cu,n;for(n in l)if(void 0!==il[n]){var p=n;!h.sx||"position:node"!==p&&"position:placeholder"!==p||(p="position");il[p](g,k[n],void 0!==m[n]?m[n]:h.sx?k[n]:l[n],c,d,d)}h.sx&&void 0!==m.location&&(g.location=m.location);h.ny&&g.Kd(!1)}for(c=a.ca.links;c.next();)d=c.value,null!==d.Gp&&(d.points=d.Gp,d.Gp=null);b.$x.clear();b.zk=null;b.Bc();b.ra();b.hg();jl(b);gl(a);a.Ev&&
-a.Ev();a.Co=0;a.Fv=null;a.Ev=null;a.Dv=null;a.Gr=null;a.Fr=null;a.Ir=0;a.Hr=0;a.en=new oa(O,Ik);b.Ka("AnimationFinished");b.Te()}function kl(a,b,c){var d=b.Z,e=c.Z,g=null;c instanceof F&&(g=c.placeholder);null!==g?(d=g.cb(hc),d.x+=g.padding.left,d.y+=g.padding.top,cl(a,b,"position",d,b.position,!1)):cl(a,b,"position",new M(e.x+e.width/2-d.width/2,e.y+e.height/2-d.height/2),b.position,!1);cl(a,b,"scale",.01,b.scale,!1);if(b instanceof F)for(b=b.Oc;b.next();)g=b.value,g instanceof E&&kl(a,g,c)}
-function ll(a,b,c){if(b.isVisible()){var d=null;c instanceof F&&(d=c.placeholder);null!==d?cl(a,b,"position:placeholder",b.position,d,!0):cl(a,b,"position:node",b.position,c,!0);cl(a,b,"scale",b.scale,.01,!0);a.yc&&(d=a.en,d.contains(b)&&(d.qa(b).ny=!0));if(b instanceof F)for(b=b.Oc;b.next();)d=b.value,d instanceof E&&ll(a,d,c)}}function ml(a,b,c){a.yc&&(null===a.Gr&&b.F()&&null===a.Fr&&(a.Gr=b.copy()),a.Fr=c.copy(),a.Do=!0)}
-function nl(a,b,c){a.yc&&a.ca.Zn&&(0===a.Ir&&0===a.Hr&&(a.Ir=b),a.Hr=c,a.Do=!0)}z.defineProperty(nh,{isEnabled:"isEnabled"},function(){return this.pf},function(a){z.h(a,"boolean",nh,"isEnabled");this.pf=a});z.defineProperty(nh,{duration:"duration"},function(){return this.mz},function(a){z.h(a,"number",nh,"duration");1>a&&z.wa(a,">= 1",nh,"duration");this.mz=a});z.w(nh,{wf:"isAnimating"},function(){return this.jk});z.w(nh,{jJ:"isTicking"},function(){return this.lp});
-z.defineProperty(nh,{KF:"isInitial"},function(){return this.kk},function(a){z.h(a,"boolean",nh,"isInitial");this.kk=a});function Ik(a,b,c){this.start=a;this.end=b;this.cu=new na;this.sx=c;this.ny=!1}function ah(){0a&&z.wa(a,">= 1",nh,"duration");this.mz=a});z.w(nh,{wf:"isAnimating"},function(){return this.jk});z.w(nh,{jJ:"isTicking"},function(){return this.kp});
+z.defineProperty(nh,{KF:"isInitial"},function(){return this.kk},function(a){z.h(a,"boolean",nh,"isInitial");this.kk=a});function Ik(a,b,c){this.start=a;this.end=b;this.cu=new na;this.sx=c;this.ny=!1}function ah(){0=a)return b;for(var c=0,d=0,e=0,g=0,h=0,k=this.pb.j;k.next();){var l=k.value;l instanceof F?e++:l instanceof E?d++:l instanceof H?g++:l instanceof ea?h++:c++}k="";0=d.count)a=d.count;else if(d.fa(a)===b)return-1;d.Zd(a,b);b.ou(c);d=this.g;null!==d&&(c?d.ra():d.rq(b));tl(this,a,b);return a};
+f.Mf=function(a,b){if(this.visible){var c;c=void 0===b?a.yb:b;for(var d=this.pb.o,e=d.length,g=0;g=d.count)a=d.count;else if(d.fa(a)===b)return-1;d.Yd(a,b);b.ou(c);d=this.g;null!==d&&(c?d.ra():d.qq(b));tl(this,a,b);return a};
f.vf=function(a,b,c){if(!c&&b.layer!==this&&null!==b.layer)return b.layer.vf(a,b,c);var d=this.pb;if(0>a||a>=d.length){if(a=d.indexOf(b),0>a)return-1}else if(d.fa(a)!==b&&(a=d.indexOf(b),0>a))return-1;b.pu(c);d.md(a);d=this.g;null!==d&&(c?d.ra():d.vf(b));b.fw=null;return a};
-function tl(a,b,c){b=ul(a,b,c);if(c instanceof F&&null!==c&&isNaN(c.yo)){if(0!==c.Oc.count){for(var d=-1,e=a.pb.o,g=e.length,h=0;hd&&k.Qa===c&&(d=h,0<=b))break}!(0>d)&&d=e)return b;0>b&&(b=a.indexOf(c));if(0>b)return-1;for(var g=b-1,h=NaN;0<=g;){h=a.fa(g).yo;if(!isNaN(h))break;g--}for(var k=b+1,l=NaN;kd)for(;;){if(-1===g||h<=d){g++;if(g===b)break;a.md(b);a.Zd(g,c);return g}for(h=NaN;0<=--g&&(h=a.fa(g).yo,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.md(b);a.Zd(k,c);return k}for(l=NaN;++kd&&k.Qa===c&&(d=h,0<=b))break}!(0>d)&&d=e)return b;0>b&&(b=a.indexOf(c));if(0>b)return-1;for(var g=b-1,h=NaN;0<=g;){h=a.fa(g).xo;if(!isNaN(h))break;g--}for(var k=b+1,l=NaN;kd)for(;;){if(-1===g||h<=d){g++;if(g===b)break;a.md(b);a.Yd(g,c);return g}for(h=NaN;0<=--g&&(h=a.fa(g).xo,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.md(b);a.Yd(k,c);return k}for(l=NaN;++ka||1e[1]&&(z.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+
+function C(a){function b(){window.document.removeEventListener("DOMContentLoaded",b,!1);vl(c)}1e[1]&&(z.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+
z.vfo+". This license key will do nothing until you upgrade to GoJS 1.7 or later."),z.xx.licenseKey=!0);this.Dl=1;this.Wm=0;this.mD=new M;this.iE=500;this.tv=new M;this.qt=null;this.cd=this.Al=!1}z.ka("Diagram",C);
-C.prototype.clear=C.prototype.clear=function(){var a=null;null!==this.Cd&&(a=this.Cd.ba);this.ia.clear();for(var b=this.bc.length,c=0;c=a)return b;for(var c=this.bc.j;c.next();)b+="\n "+c.value.toString(a-1);return b};C.fromDiv=function(a){var b=a;"string"===typeof a&&(b=window.document.getElementById(a));return b instanceof HTMLDivElement&&b.ca instanceof C?b.ca:null};
z.defineProperty(C,{Aj:"div"},function(){return this.Tb},function(a){null!==a&&z.l(a,HTMLDivElement,C,"div");if(this.Tb!==a){wl=[];var b=this.Tb;null!==b?(b.ca=void 0,b.innerHTML="",null!==this.Lb&&(this.Lb.removeEventListener("touchstart",this.WG,!1),this.Lb.removeEventListener("touchmove",this.VG,!1),this.Lb.removeEventListener("touchend",this.UG,!1),this.Lb.Fd.ca=null),b=this.ib,null!==b&&(b.nf.each(function(a){a.cancelWaitAfter()}),b.jg.each(function(a){a.cancelWaitAfter()}),b.kg.each(function(a){a.cancelWaitAfter()})),
-b.cancelWaitAfter(),this.fb.doCancel(),this.pd=this.Lb=null,window.removeEventListener("resize",this.dH,!1),window.removeEventListener("mousemove",this.Cq,!0),window.removeEventListener("mousedown",this.Bq,!0),window.removeEventListener("mouseup",this.Eq,!0),window.removeEventListener("mousewheel",this.Qh,!0),window.removeEventListener("DOMMouseScroll",this.Qh,!0),window.removeEventListener("mouseout",this.Dq,!0)):this.sh=!1;this.Tb=null;if(null!==a){if(b=a.ca)b.Aj=null;Il(this,a);this.Iq()}}});
-function Ll(a){var b=a.Lb;b.addEventListener("touchstart",a.WG,!1);b.addEventListener("touchmove",a.VG,!1);b.addEventListener("touchend",a.UG,!1);b.addEventListener("mousemove",a.Cq,!1);b.addEventListener("mousedown",a.Bq,!1);b.addEventListener("mouseup",a.Eq,!1);b.addEventListener("mousewheel",a.Qh,!1);b.addEventListener("DOMMouseScroll",a.Qh,!1);b.addEventListener("mouseout",a.Dq,!1);b.addEventListener("keydown",a.mJ,!1);b.addEventListener("keyup",a.nJ,!1);b.addEventListener("selectstart",function(a){a.preventDefault();
-return!1},!1);b.addEventListener("contextmenu",function(a){a.preventDefault();return!1},!1);b.addEventListener("gesturechange",function(b){a.ib.oq===Dk&&b.preventDefault()},!1);b.addEventListener("pointerdown",a.QJ,!1);b.addEventListener("pointermove",a.SJ,!1);b.addEventListener("pointerleave",a.RJ,!1);window.addEventListener("resize",a.dH,!1)}C.prototype.computePixelRatio=function(){return null!==this.zk?this.zk:this.rH};C.prototype.doMouseMove=function(){this.fb.doMouseMove()};
+b.cancelWaitAfter(),this.fb.doCancel(),this.pd=this.Lb=null,window.removeEventListener("resize",this.dH,!1),window.removeEventListener("mousemove",this.Bq,!0),window.removeEventListener("mousedown",this.Aq,!0),window.removeEventListener("mouseup",this.Dq,!0),window.removeEventListener("mousewheel",this.Qh,!0),window.removeEventListener("DOMMouseScroll",this.Qh,!0),window.removeEventListener("mouseout",this.Cq,!0)):this.sh=!1;this.Tb=null;if(null!==a){if(b=a.ca)b.Aj=null;Il(this,a);this.Iq()}}});
+function Ll(a){var b=a.Lb;b.addEventListener("touchstart",a.WG,!1);b.addEventListener("touchmove",a.VG,!1);b.addEventListener("touchend",a.UG,!1);b.addEventListener("mousemove",a.Bq,!1);b.addEventListener("mousedown",a.Aq,!1);b.addEventListener("mouseup",a.Dq,!1);b.addEventListener("mousewheel",a.Qh,!1);b.addEventListener("DOMMouseScroll",a.Qh,!1);b.addEventListener("mouseout",a.Cq,!1);b.addEventListener("keydown",a.mJ,!1);b.addEventListener("keyup",a.nJ,!1);b.addEventListener("selectstart",function(a){a.preventDefault();
+return!1},!1);b.addEventListener("contextmenu",function(a){a.preventDefault();return!1},!1);b.addEventListener("gesturechange",function(b){a.ib.nq===Dk&&b.preventDefault()},!1);b.addEventListener("pointerdown",a.QJ,!1);b.addEventListener("pointermove",a.SJ,!1);b.addEventListener("pointerleave",a.RJ,!1);window.addEventListener("resize",a.dH,!1)}C.prototype.computePixelRatio=function(){return null!==this.zk?this.zk:this.rH};C.prototype.doMouseMove=function(){this.fb.doMouseMove()};
C.prototype.doMouseDown=function(){this.fb.doMouseDown()};C.prototype.doMouseUp=function(){this.fb.doMouseUp()};C.prototype.doMouseWheel=function(){this.fb.doMouseWheel()};C.prototype.doKeyDown=function(){this.fb.doKeyDown()};C.prototype.doKeyUp=function(){this.fb.doKeyUp()};C.prototype.doFocus=function(){this.focus()};C.prototype.focus=C.prototype.focus=function(){this.Lb&&this.Lb.focus()};
-function al(a){if(null!==a.Lb){var b=a.Tb;if(0!==b.clientWidth&&0!==b.clientHeight){var c=a.wl?a.Ud:0,d=a.hk?a.Ud:0,e=a.rd;a.rd=a.computePixelRatio();a.rd!==e&&(a.bs=!0,a.Te());if(b.clientWidth!==a.Ob+c||b.clientHeight!==a.Sb+d)a.Qm=!0,a.Ne=!0,b=a.Wb,null!==b&&b.Vx&&a.Zl===Qh&&b.N(),a.je||a.Te()}}}
+function al(a){if(null!==a.Lb){var b=a.Tb;if(0!==b.clientWidth&&0!==b.clientHeight){var c=a.wl?a.Td:0,d=a.hk?a.Td:0,e=a.rd;a.rd=a.computePixelRatio();a.rd!==e&&(a.bs=!0,a.Te());if(b.clientWidth!==a.Ob+c||b.clientHeight!==a.Sb+d)a.Qm=!0,a.Ne=!0,b=a.Wb,null!==b&&b.Vx&&a.Zl===Qh&&b.N(),a.ie||a.Te()}}}
function Fl(a){var b=new ah;b.name="Background";a.Lt(b);b=new ah;b.name="";a.Lt(b);b=new ah;b.name="Foreground";a.Lt(b);b=new ah;b.name="Adornment";b.Wc=!0;a.Lt(b);b=new ah;b.name="Tool";b.Wc=!0;b.DF=!0;a.Lt(b);b=new ah;b.name="Grid";b.Df=!1;b.qg=!1;b.Wc=!0;a.KH(b,a.hm("Background"))}
function Ml(a){a.Cd=new I(Nl);a.Cd.name="GRID";var b=new Y;b.Jb="LineH";b.stroke="lightgray";b.mb=.5;b.interval=1;a.Cd.add(b);b=new Y;b.Jb="LineH";b.stroke="gray";b.mb=.5;b.interval=5;a.Cd.add(b);b=new Y;b.Jb="LineH";b.stroke="gray";b.mb=1;b.interval=10;a.Cd.add(b);b=new Y;b.Jb="LineV";b.stroke="lightgray";b.mb=.5;b.interval=1;a.Cd.add(b);b=new Y;b.Jb="LineV";b.stroke="gray";b.mb=.5;b.interval=5;a.Cd.add(b);b=new Y;b.Jb="LineV";b.stroke="gray";b.mb=1;b.interval=10;a.Cd.add(b);b=new D;b.add(a.Cd);
-b.Lf="Grid";b.yo=0;b.Qx=!1;b.CF=!1;b.qg=!1;b.ay="GRID";a.add(b);a.pb.remove(b);a.Cd.visible=!1}C.prototype.tH=function(){this.ca.isEnabled?this.ca.qI(this):Ol(this.ca)};C.prototype.xD=function(a){this.ca.isEnabled?(this.ca.Sz=!0,this.ca.Uz=a.target.scrollTop,this.ca.Tz=a.target.scrollLeft):Ol(this.ca)};
+b.Lf="Grid";b.xo=0;b.Qx=!1;b.CF=!1;b.qg=!1;b.ay="GRID";a.add(b);a.pb.remove(b);a.Cd.visible=!1}C.prototype.tH=function(){this.ca.isEnabled?this.ca.qI(this):Ol(this.ca)};C.prototype.xD=function(a){this.ca.isEnabled?(this.ca.Sz=!0,this.ca.Uz=a.target.scrollTop,this.ca.Tz=a.target.scrollLeft):Ol(this.ca)};
C.prototype.diagramScroll=C.prototype.qI=function(a){if(this.Sz&&null!==this.Lb){this.Gw=!0;var b=this.fd,c=this.yb,d=b.width,e=c.width,g=b.height,h=c.height,k=b.right,l=c.right,m=b.bottom,n=c.bottom,p=b.x,q=c.x,b=b.y,c=c.y,r=this.scale,s;s=a.scrollLeft;if(this.fs)switch(this.Qz){case "negative":s=s+a.scrollWidth-a.clientWidth;break;case "reverse":s=a.scrollWidth-s-a.clientWidth}var v=s;el&&(this.position=s.m(-(this.Kw.scrollWidth-this.Ob)+v-this.Ob/r+k,this.position.y))),a.xH&&this.Be&&(bn&&(this.position=s.m(this.position.x,-(this.Kw.scrollHeight-this.Sb)+a.scrollTop-this.Sb/r+m))),z.A(s),Pl(this),this.Qm=this.Gw=!1,b=this.fd,c=this.yb,k=b.right,l=c.right,
m=b.bottom,n=c.bottom,p=b.x,q=c.x,b=b.y,c=c.y,e>=d&&p>=q&&k<=l&&(this.ht.style.width="1px"),h>=g&&b>=c&&m<=n&&(this.ht.style.height="1px"))}};C.prototype.computeBounds=C.prototype.Jh=function(){0c&&(e=c),ea.Oh&&(e=a.Oh),e):b===Wl?(e=l>k?(h-a.Ud)/d:(g-a.Ud)/e,e>c&&(e=c),ea.Oh&&(e=a.Oh),e):a.scale}C.prototype.zoomToFit=C.prototype.zoomToFit=function(){this.scale=Sl(this,Vl)};
-C.prototype.zoomToRect=function(a,b){void 0===b&&(b=Vl);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Vl||b===Wl)if(isNaN(c))e=this.yb.height*this.scale/d;else if(isNaN(d))e=this.yb.width*this.scale/c;else var e=this.Ob,g=this.Sb,e=b===Wl?g/d>e/c?(g-(this.hk?this.Ud:0))/d:(e-(this.wl?this.Ud:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new M(a.x,a.y)}};z.defineProperty(C,{RA:null},function(){return this.cd},function(a){this.cd=a});
+function Rl(a,b){if((b||a.sh)&&!a.cd&&null!==a.Lb&&!a.Ya.wf&&a.fd.F()){a.cd=!0;var c=a.Gm;b&&a.yl!==Qh&&(c=a.yl);var d=c!==Qh?Sl(a,c):a.scale,c=a.yb.copy(),e=a.Ob/d,g=a.Sb/d,h=null,k=a.Ya;k.yc&&(h=a.ub.copy());a.position.Za();var l=a.Jo;b&&!l.jd()&&a.ep.jd()&&(l=a.ep);Tl(a,a.ub,a.fd,e,g,l,b);a.position.freeze();null!==h&&ml(k,h,a.ub);e=a.scale;a.scale=d;a.cd=!1;d=a.yb;d.Vc(c)||a.Lu(c,d,e,a.scale,!1)}}
+function Sl(a,b){var c=a.xb.vx;if(null===a.Lb)return c;a.ik&&Ul(a,a.Jh());var d=a.fd;if(!d.F())return c;var e=d.width,d=d.height,g=a.Ob,h=a.Sb,k=g/e,l=h/d;return b===Vl?(e=Math.min(l,k),e>c&&(e=c),ea.Oh&&(e=a.Oh),e):b===Wl?(e=l>k?(h-a.Td)/d:(g-a.Td)/e,e>c&&(e=c),ea.Oh&&(e=a.Oh),e):a.scale}C.prototype.zoomToFit=C.prototype.zoomToFit=function(){this.scale=Sl(this,Vl)};
+C.prototype.zoomToRect=function(a,b){void 0===b&&(b=Vl);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Vl||b===Wl)if(isNaN(c))e=this.yb.height*this.scale/d;else if(isNaN(d))e=this.yb.width*this.scale/c;else var e=this.Ob,g=this.Sb,e=b===Wl?g/d>e/c?(g-(this.hk?this.Td:0))/d:(e-(this.wl?this.Td:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new M(a.x,a.y)}};z.defineProperty(C,{RA:null},function(){return this.cd},function(a){this.cd=a});
C.prototype.alignDocument=function(a,b){this.ik&&Ul(this,this.Jh());var c=this.fd,d=this.yb;this.position=new M(c.x+(a.x*c.width+a.offsetX)-(b.x*d.width-b.offsetX),c.y+(a.y*c.height+a.offsetY)-(b.y*d.height-b.offsetY))};
function Tl(a,b,c,d,e,g,h){var k=b.x,l=b.y;if(h||a.uB===xl)g.jd()&&(d>c.width&&(k=c.x+(g.x*c.width+g.offsetX)-(g.x*d-g.offsetX)),e>c.height&&(l=c.y+(g.y*c.height+g.offsetY)-(g.y*e-g.offsetY))),g=a.xG,h=d-c.width,dc.left?k=c.left:kc.top?l=c.top:lc.touches.length)&&c.preventDefault();c.cancelBubble=!0;return!1}
C.prototype.mJ=function(a){if(!this.ca.isEnabled)return!1;var b=this.ca.Ub;Xl(this.ca,this.ca,a,b,!1);b.key=String.fromCharCode(a.which);b.gm=!0;switch(a.which){case 8:b.key="Backspace";break;case 33:b.key="PageUp";break;case 34:b.key="PageDown";break;case 35:b.key="End";break;case 36:b.key="Home";break;case 37:b.key="Left";break;case 38:b.key="Up";break;case 39:b.key="Right";break;case 40:b.key="Down";break;case 45:b.key="Insert";break;case 46:b.key="Del";break;case 48:b.key="0";break;case 187:case 61:case 107:b.key=
"Add";break;case 189:case 173:case 109:b.key="Subtract";break;case 27:b.key="Esc"}this.ca.doKeyDown();return 187!==a.which&&189!==a.which&&48!==a.which&&107!==a.which&&109!==a.which&&61!==a.which&&173!==a.which||!0!==a.ctrlKey?ia(this.ca,b,a):(a.cancelBubble=!0,a.preventDefault(),a.stopPropagation(),!1)};
C.prototype.nJ=function(a){if(!this.ca.isEnabled)return!1;var b=this.ca.Ub;Xl(this.ca,this.ca,a,b,!1);b.key=String.fromCharCode(a.which);b.up=!0;switch(a.which){case 8:b.key="Backspace";break;case 33:b.key="PageUp";break;case 34:b.key="PageDown";break;case 35:b.key="End";break;case 36:b.key="Home";break;case 37:b.key="Left";break;case 38:b.key="Up";break;case 39:b.key="Right";break;case 40:b.key="Down";break;case 45:b.key="Insert";break;case 46:b.key="Del";break;case 93:a.preventDefault()}this.ca.doKeyUp();
-return ia(this.ca,b,a)};C.prototype.bp=function(a){var b=this.Lb;if(null===b)return new M(0,0);var c=this.Ob,d=this.Sb,b=b.getBoundingClientRect(),c=a.clientX-c/b.width*b.left;a=a.clientY-d/b.height*b.top;return null!==this.Jc?(a=new M(c,a),ub(a,this.Jc),a):new M(c,a)};
-function Yl(a,b,c){var d=a.Lb,e=a.Ob,g=a.Sb,h=0,k=0;null!==d&&(d=d.getBoundingClientRect(),h=b.clientX-e/d.width*d.left,k=b.clientY-g/d.height*d.top);c.te.m(h,k);null!==a.Jc?(b=z.Fb(h,k),a.Jc.Ci(b),c.ha.assign(b),z.A(b)):c.ha.m(h,k)}
-function Zf(a,b,c,d){var e=null;if(void 0!==b.targetTouches){if(2>b.targetTouches.length)return;e=b.targetTouches[c]}else if(null!==a.nj[0])e=a.nj[c];else return;c=a.Lb;b=a.Ob;a=a.Sb;var g=0,h=0;null!==c&&null!==e&&(c=c.getBoundingClientRect(),g=e.clientX-b/c.width*c.left,h=e.clientY-a/c.height*c.top);d.m(g,h)}C.prototype.invalidateDocumentBounds=C.prototype.Bc=function(){this.ik||(this.ik=!0,this.Te(!0))};function jl(a){a.je||Li(a);a.ik&&Ul(a,a.Jh())}
-C.prototype.redraw=C.prototype.Iq=function(){this.cd||this.je||(this.ra(),am(this),Pl(this),this.Bc(),this.hg())};C.prototype.isUpdateRequested=function(){return this.Zf};C.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Ya,c=b.isEnabled;b.Ii();b.isEnabled=!1;Vi(this);this.sh=!1;b.isEnabled=c;null!==a&&z.setTimeout(a,1)};
-C.prototype.requestUpdate=C.prototype.Te=function(a){void 0===a&&(a=!1);if(!0!==this.Zf&&!(this.cd||!1===a&&this.je)){this.Zf=!0;var b=this;requestAnimationFrame(function(){b.Zf&&b.hg()})}};C.prototype.maybeUpdate=C.prototype.hg=function(){if(!this.$o||this.Zf)this.$o&&(this.$o=!1),Vi(this)};function bm(a,b){a.Ya.wf||a.cd||!a.Qm||Ol(a)||(b&&Li(a),Rl(a,!1))}
-function Vi(a){if(!a.je&&(a.Zf=!1,null!==a.Tb)){a.je=!0;var b=a.Ya,c=a.Pz;if(!b.lp&&0!==c.length){for(var d=c.o,e=d.length,g=0;gb;b++){var c=a.Cg.j;if(null===c||0===a.Cg.count)break;a.Cg=new K(O);a.QB(c,a.Cg);u&&22===b&&z.trace("failure to validate parts")}a.og.each(function(a){a instanceof F&&0!==(a.Ha&65536)!==!1&&(a.Ha^=65536)})}}
-C.prototype.QB=function(a,b){for(a.reset();a.next();){var c=a.value;!c.re()||c instanceof F||(c.sm()?(Bk(c,Infinity,Infinity),c.rc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof F&&c.isVisible()&&Bm(this,c);for(a.reset();a.next();)c=a.value,c instanceof H&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.rc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof ea&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.rc()):b.add(c))};
-function Bm(a,b){for(var c=z.tb(),d=z.tb(),e=b.Oc;e.next();){var g=e.value;g.isVisible()&&(g instanceof F?(Cm(g)||Dm(g)||Em(g))&&Bm(a,g):g instanceof H?g.aa===b||g.ea===b?d.push(g):c.push(g):(Bk(g,Infinity,Infinity),g.rc()))}for(var e=c.length,h=0;hb.targetTouches.length)return;e=b.targetTouches[c]}else if(null!==a.nj[0])e=a.nj[c];else return;c=a.Lb;b=a.Ob;a=a.Sb;var g=0,h=0;null!==c&&null!==e&&(c=c.getBoundingClientRect(),g=e.clientX-b/c.width*c.left,h=e.clientY-a/c.height*c.top);d.m(g,h)}C.prototype.invalidateDocumentBounds=C.prototype.Bc=function(){this.ik||(this.ik=!0,this.Te(!0))};function jl(a){a.ie||Li(a);a.ik&&Ul(a,a.Jh())}
+C.prototype.redraw=C.prototype.Iq=function(){this.cd||this.ie||(this.ra(),am(this),Pl(this),this.Bc(),this.hg())};C.prototype.isUpdateRequested=function(){return this.Zf};C.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Ya,c=b.isEnabled;b.Ii();b.isEnabled=!1;Vi(this);this.sh=!1;b.isEnabled=c;null!==a&&z.setTimeout(a,1)};
+C.prototype.requestUpdate=C.prototype.Te=function(a){void 0===a&&(a=!1);if(!0!==this.Zf&&!(this.cd||!1===a&&this.ie)){this.Zf=!0;var b=this;requestAnimationFrame(function(){b.Zf&&b.hg()})}};C.prototype.maybeUpdate=C.prototype.hg=function(){if(!this.Zo||this.Zf)this.Zo&&(this.Zo=!1),Vi(this)};function bm(a,b){a.Ya.wf||a.cd||!a.Qm||Ol(a)||(b&&Li(a),Rl(a,!1))}
+function Vi(a){if(!a.ie&&(a.Zf=!1,null!==a.Tb)){a.ie=!0;var b=a.Ya,c=a.Pz;if(!b.kp&&0!==c.length){for(var d=c.o,e=d.length,g=0;gb;b++){var c=a.Cg.j;if(null===c||0===a.Cg.count)break;a.Cg=new K(O);a.QB(c,a.Cg);u&&22===b&&z.trace("failure to validate parts")}a.og.each(function(a){a instanceof F&&0!==(a.Ha&65536)!==!1&&(a.Ha^=65536)})}}
+C.prototype.QB=function(a,b){for(a.reset();a.next();){var c=a.value;!c.qe()||c instanceof F||(c.sm()?(Bk(c,Infinity,Infinity),c.qc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof F&&c.isVisible()&&Bm(this,c);for(a.reset();a.next();)c=a.value,c instanceof H&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.qc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof ea&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.qc()):b.add(c))};
+function Bm(a,b){for(var c=z.tb(),d=z.tb(),e=b.Oc;e.next();){var g=e.value;g.isVisible()&&(g instanceof F?(Cm(g)||Dm(g)||Em(g))&&Bm(a,g):g instanceof H?g.aa===b||g.ea===b?d.push(g):c.push(g):(Bk(g,Infinity,Infinity),g.qc()))}for(var e=c.length,h=0;hx+1&&
-(N=Math.max((t-x)*c+a.Ob,N)),q+k+1p+1&&(G=Math.max((B-p)*c+a.Sb,G)),r+l+1x+1&&(N=Math.max((t-x)*c+a.Ob,N)),q+1p+1&&(G=Math.max((B-p)*c+l,G)),r+1x+1&&(k=a.position.x*c));if(a.fs)switch(a.Qz){case "negative":k=-(b.scrollWidth-k-b.clientWidth);break;case "reverse":k=b.scrollWidth-k-b.clientWidth}b.scrollLeft=k;a.OA&&a.Be&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.bs=!0);m=a.Ob;n=a.Sb;b.style.width=m+(a.wl?a.Ud:0)+"px";b.style.height=n+(a.hk?a.Ud:0)+"px";a.Sz=!1;return d!==m||e!==
+function Ol(a){var b=a.Lb;if(null===b)return!0;var c=a.Tb,d=a.Ob,e=a.Sb,g=a.mE.copy();if(!g.F())return!0;var h=!1,k=a.wl?a.Td:0,l=a.hk?a.Td:0,m=c.clientWidth||d+k,n=c.clientHeight||e+l;if(m!==d+k||n!==e+l)a.wl=!1,a.hk=!1,l=k=0,a.Ob=m,a.Sb=n,h=a.bs=!0;a.Qm=!1;var p=a.yb,c=a.fd,m=c.width,n=c.height,q=p.width,r=p.height,s=c.x,v=p.x,t=c.right,x=p.right+k,y=c.y,B=p.y,A=c.bottom,p=p.bottom+l,N="1px",G="1px",c=a.scale;a.uB===xl&&mx+1&&
+(N=Math.max((t-x)*c+a.Ob,N)),q+k+1p+1&&(G=Math.max((A-p)*c+a.Sb,G)),r+l+1x+1&&(N=Math.max((t-x)*c+a.Ob,N)),q+1p+1&&(G=Math.max((A-p)*c+l,G)),r+1x+1&&(k=a.position.x*c));if(a.fs)switch(a.Qz){case "negative":k=-(b.scrollWidth-k-b.clientWidth);break;case "reverse":k=b.scrollWidth-k-b.clientWidth}b.scrollLeft=k;a.OA&&a.Be&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.bs=!0);m=a.Ob;n=a.Sb;b.style.width=m+(a.wl?a.Td:0)+"px";b.style.height=n+(a.hk?a.Td:0)+"px";a.Sz=!1;return d!==m||e!==
n||a.Ya.yc?(p=a.yb,a.Lu(g,p,c,a.scale,h),!1):!0}
-C.prototype.add=C.prototype.add=function(a){z.l(a,D,C,"add:part");var b=a.g;if(b!==this){null!==b&&z.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.cr&&(a.El="Tool");var c=a.Lf,b=this.hm(c);null===b&&(b=this.hm(""));null===b&&z.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.rq(99999999,a,a.g===this),0<=c&&this.ld(sg,"parts",b,null,a,null,c),b.Wc||this.Bc(),a.N(Lm),c=a.Yx,null!==
+C.prototype.add=C.prototype.add=function(a){z.l(a,D,C,"add:part");var b=a.g;if(b!==this){null!==b&&z.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.cr&&(a.El="Tool");var c=a.Lf,b=this.hm(c);null===b&&(b=this.hm(""));null===b&&z.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.qq(99999999,a,a.g===this),0<=c&&this.ld(sg,"parts",b,null,a,null,c),b.Wc||this.Bc(),a.N(Lm),c=a.Yx,null!==
c&&c(a,null,b))}};
-C.prototype.rq=function(a){if(a instanceof E){if(this.zp.add(a),a instanceof F){var b=a.Qa;null===b?this.Pl.add(a):b.cn.add(a);b=a.Wb;null!==b&&(b.g=this)}}else a instanceof H?this.sp.add(a):a instanceof ea||this.pb.add(a);var c=this;Mm(a,function(a){Nm(c,a)});a.Qb&&a.K();b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.add(b,a):this.Ti.add(b,a)),Mm(a,function(a){Om(c,a)}));!0!==Dm(a)&&!0!==Em(a)||this.Cg.add(a);Pm(a,!0,this);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&
+C.prototype.qq=function(a){if(a instanceof E){if(this.yp.add(a),a instanceof F){var b=a.Qa;null===b?this.Pl.add(a):b.cn.add(a);b=a.Wb;null!==b&&(b.g=this)}}else a instanceof H?this.rp.add(a):a instanceof ea||this.pb.add(a);var c=this;Mm(a,function(a){Nm(c,a)});a.Qb&&a.K();b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.add(b,a):this.Ti.add(b,a)),Mm(a,function(a){Om(c,a)}));!0!==Dm(a)&&!0!==Em(a)||this.Cg.add(a);Pm(a,!0,this);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&
a.Z.F()&&this.ra(sl(a,a.Z));this.Te()};
-C.prototype.vf=function(a){a.Vt();if(a instanceof E){if(this.zp.remove(a),a instanceof F){var b=a.Qa;null===b?this.Pl.remove(a):b.cn.remove(a);b=a.Wb;null!==b&&(b.g=null)}}else a instanceof H?this.sp.remove(a):a instanceof ea||this.pb.remove(a);var c=this;Mm(a,function(a){Rm(c,a)});b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.remove(b):this.Ti.remove(b)),Mm(a,function(a){Sm(c,a)}));this.Cg.remove(a);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&a.Z.F()&&this.ra(sl(a,
+C.prototype.vf=function(a){a.Vt();if(a instanceof E){if(this.yp.remove(a),a instanceof F){var b=a.Qa;null===b?this.Pl.remove(a):b.cn.remove(a);b=a.Wb;null!==b&&(b.g=null)}}else a instanceof H?this.rp.remove(a):a instanceof ea||this.pb.remove(a);var c=this;Mm(a,function(a){Rm(c,a)});b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.remove(b):this.Ti.remove(b)),Mm(a,function(a){Sm(c,a)}));this.Cg.remove(a);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&a.Z.F()&&this.ra(sl(a,
a.Z));this.Te()};C.prototype.remove=C.prototype.remove=function(a){z.l(a,D,C,"remove:part");Tm(this,a,!0)};function Tm(a,b,c){var d=b.layer;null!==d&&d.g===a&&(b.gb=!1,b.Wg=!1,b.N(Um),c&&b.Mn(),c=d.vf(-1,b,!1),0<=c&&a.ld(tg,"parts",d,b,null,c,null),a=b.Yx,null!==a&&a(b,d,null))}
-C.prototype.removeParts=C.prototype.rB=function(a,b){if(z.isArray(a))for(var c=z.bb(a),d=0;dd&&this.Bc()};
-C.prototype.addLayerAfter=function(a,b){Vm(this,a,b);a.$c(this);var c=this.bc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.ye&&this.ld(tg,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.Bc()};
-C.prototype.removeLayer=function(a){z.l(a,ah,C,"removeLayer:layer");a.g!==this&&z.k("Cannot remove a Layer from another Diagram: "+a+" of "+a.g);if(""!==a.name){var b=this.bc,c=b.indexOf(a);if(b.remove(a)){for(b=a.pb.copy().j;b.next();){var d=b.value,e=d.Lf;d.Lf=e!==a.name?e:""}null!==this.ye&&this.ld(tg,"layers",this,a,null,c,null);this.ra();this.Bc()}}};C.prototype.findLayer=C.prototype.hm=function(a){for(var b=this.ao;b.next();){var c=b.value;if(c.name===a)return c}return null};
+b+"'; a Layer with the same name is already present in this Diagram.")}}C.prototype.addLayer=C.prototype.Lt=function(a){Vm(this,a,null);a.$c(this);var b=this.bc,c=b.count-1;if(!a.Wc)for(;0<=c&&b.fa(c).Wc;)c--;b.Yd(c+1,a);null!==this.xe&&this.ld(sg,"layers",this,null,a,null,c+1);this.ra();this.Bc()};
+C.prototype.addLayerBefore=C.prototype.KH=function(a,b){Vm(this,a,b);a.$c(this);var c=this.bc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.xe&&this.ld(tg,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.Bc()};
+C.prototype.addLayerAfter=function(a,b){Vm(this,a,b);a.$c(this);var c=this.bc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.xe&&this.ld(tg,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.Bc()};
+C.prototype.removeLayer=function(a){z.l(a,ah,C,"removeLayer:layer");a.g!==this&&z.k("Cannot remove a Layer from another Diagram: "+a+" of "+a.g);if(""!==a.name){var b=this.bc,c=b.indexOf(a);if(b.remove(a)){for(b=a.pb.copy().j;b.next();){var d=b.value,e=d.Lf;d.Lf=e!==a.name?e:""}null!==this.xe&&this.ld(tg,"layers",this,a,null,c,null);this.ra();this.Bc()}}};C.prototype.findLayer=C.prototype.hm=function(a){for(var b=this.ao;b.next();){var c=b.value;if(c.name===a)return c}return null};
C.prototype.addModelChangedListener=C.prototype.MH=function(a){z.h(a,"function",C,"addModelChangedListener:listener");null===this.vh&&(this.vh=new J("function"));this.vh.add(a);this.ia.An(a)};C.prototype.removeModelChangedListener=function(a){z.h(a,"function",C,"removeModelChangedListener:listener");null!==this.vh&&(this.vh.remove(a),0===this.vh.count&&(this.vh=null));this.ia.Ou(a)};
C.prototype.addChangedListener=C.prototype.An=function(a){z.h(a,"function",C,"addChangedListener:listener");null===this.Oi&&(this.Oi=new J("function"));this.Oi.add(a)};C.prototype.removeChangedListener=C.prototype.Ou=function(a){z.h(a,"function",C,"removeChangedListener:listener");null!==this.Oi&&(this.Oi.remove(a),0===this.Oi.count&&(this.Oi=null))};
C.prototype.mx=function(a){this.Eb||this.sa.wF(a);a.Kc!==rg&&(this.Fi=!0);if(null!==this.Oi){var b=this.Oi,c=b.length;if(1===c)b=b.fa(0),b(a);else if(0!==c)for(var d=b.nc(),e=0;ea.Oh&&(c=a.Oh);e=z.Fb(a.ub.x+h/b-h/c,a.ub.y+k/b-k/c);a.position=e;z.A(e);a.Rb=c;a.Lu(d,a.yb,b,c,!1);a.cd=!1;Rl(a,
-!1);c=a.Ya;c.yc&&nl(c,b,a.Rb);a.ra();am(a)}}C.prototype.Lu=function(a,b,c,d,e){a.O(b)||(void 0===e&&(e=!1),e||am(this),Pl(this),d=this.Wb,null===d||!d.Vx||this.Zl!==Qh||e||a.width===b.width&&a.height===b.height||d.N(),d=this.fb,!0===this.Sm&&d instanceof Kh&&(this.U.ha=this.NB(this.U.te),Fk(d,this)),this.cd||this.BF(a,b),dm(this),this.Eh.scale=c,this.Eh.position.x=a.x,this.Eh.position.y=a.y,this.Eh.bounds.set(a),this.Eh.isScroll=e,this.Ka("ViewportBoundsChanged",this.Eh,a))};
+function Wm(a,b,c){if(a.cd||a.ie)a.Rb=c,c=a.Ya,c.yc&&nl(c,b,a.Rb);else if(a.cd=!0,null===a.Lb)a.Rb=c;else{var d=a.yb.copy(),e=a.Ob,g=a.Sb;d.width=a.Ob/b;d.height=a.Sb/b;var h=a.Dm.x,k=a.Dm.y,l=a.JE;isNaN(h)&&(l.Gj()?l.Fj(sc)?h=0:l.Fj(xc)&&(h=e-1):h=l.jd()?l.x*(e-1):e/2);isNaN(k)&&(l.Gj()?l.Fj(rc)?k=0:l.Fj(yc)&&(k=g-1):k=l.jd()?l.y*(g-1):g/2);null!==a.wG&&(c=a.wG(a,c));ca.Oh&&(c=a.Oh);e=z.Fb(a.ub.x+h/b-h/c,a.ub.y+k/b-k/c);a.position=e;z.A(e);a.Rb=c;a.Lu(d,a.yb,b,c,!1);a.cd=!1;Rl(a,
+!1);c=a.Ya;c.yc&&nl(c,b,a.Rb);a.ra();am(a)}}C.prototype.Lu=function(a,b,c,d,e){a.O(b)||(void 0===e&&(e=!1),e||am(this),Pl(this),d=this.Wb,null===d||!d.Vx||this.Zl!==Qh||e||a.width===b.width&&a.height===b.height||d.N(),d=this.fb,!0===this.Sm&&d instanceof Kh&&(this.U.ha=this.NB(this.U.se),Fk(d,this)),this.cd||this.BF(a,b),dm(this),this.Eh.scale=c,this.Eh.position.x=a.x,this.Eh.position.y=a.y,this.Eh.bounds.set(a),this.Eh.isScroll=e,this.Ka("ViewportBoundsChanged",this.Eh,a))};
function dm(a,b){void 0===b&&(b=null);var c=a.Cd;if(null!==c&&c.visible){for(var d=z.Am(),e=1,g=1,h=c.va.o,k=h.length,l=0;ln||(Xm(m.Jb)?g=g*n/Te(g,n):e=e*n/Te(e,n))}h=c.Kx;d.m(g*h.width,e*h.height);h=g=l=k=0;if(null!==b)k=b.width,l=b.height,g=b.x,h=b.y;else{e=z.Of();g=a.yb;e.m(g.x,g.y,g.width,g.height);for(h=a.ww.j;h.next();)g=h.value.yb,g.F()&&Rb(e,g.x,g.y,g.width,g.height);if(!e.F()){z.Mb(e);return}k=e.width;l=e.height;g=e.x;h=e.y;z.Mb(e)}c.width=k+2*d.width;c.height=
l+2*d.height;e=z.P();tb(g,h,0,0,d.width,d.height,e);e.offset(-d.width,-d.height);z.Qk(d);c.ba.location=e;z.A(e)}}C.prototype.clearSelection=C.prototype.ox=function(){var a=0l)){var m=l;kn(k)&&m++;k.vf(m);ln(k,m,l)}}}}function Om(a,b){var c=b.cj;if(z.isArray(c)){var d=a.Um.qa(c);if(null===d)d=[],d.push(b),a.Um.add(c,d);else{for(c=0;cthis.scale&&(this.scale=a)):z.wa(a,"> 0",C,"minScale"))});
z.defineProperty(C,{Oh:"maxScale"},function(){return this.kw},function(a){z.p(a,C,"maxScale");var b=this.kw;b!==a&&(0 0",C,"maxScale"))});z.defineProperty(C,{Dm:"zoomPoint"},function(){return this.ax},function(a){this.ax.O(a)||(z.l(a,M,C,"zoomPoint"),this.ax=a=a.V())});
-z.defineProperty(C,{JE:"contentAlignment"},function(){return this.Ko},function(a){var b=this.Ko;b.O(a)||(z.l(a,R,C,"contentAlignment"),this.Ko=a=a.V(),this.i("contentAlignment",b,a),Rl(this,!1))});z.defineProperty(C,{LL:"initialContentAlignment"},function(){return this.fp},function(a){var b=this.fp;b.O(a)||(z.l(a,R,C,"initialContentAlignment"),this.fp=a=a.V(),this.i("initialContentAlignment",b,a))});
-z.defineProperty(C,{padding:"padding"},function(){return this.sf},function(a){"number"===typeof a?a=new Kb(a):z.l(a,Kb,C,"padding");var b=this.sf;b.O(a)||(this.sf=a=a.V(),this.Bc(),this.i("padding",b,a))});z.w(C,{og:"nodes"},function(){return this.zp.j});z.w(C,{links:"links"},function(){return this.sp.j});z.w(C,{Gi:"parts"},function(){return this.pb.j});
-C.prototype.findTopLevelNodesAndLinks=function(){for(var a=new K(D),b=this.zp.j;b.next();){var c=b.value;c.wq&&a.add(c)}for(b=this.sp.j;b.next();)c=b.value,c.wq&&a.add(c);return a.j};C.prototype.findTopLevelGroups=function(){return this.Pl.j};z.defineProperty(C,{Wb:"layout"},function(){return this.we},function(a){var b=this.we;b!==a&&(z.l(a,ch,C,"layout"),null!==b&&(b.g=null,b.group=null),this.we=a,a.g=this,a.group=null,this.sv=!0,this.i("layout",b,a),this.Te())});
+z.defineProperty(C,{JE:"contentAlignment"},function(){return this.Jo},function(a){var b=this.Jo;b.O(a)||(z.l(a,R,C,"contentAlignment"),this.Jo=a=a.V(),this.i("contentAlignment",b,a),Rl(this,!1))});z.defineProperty(C,{LL:"initialContentAlignment"},function(){return this.ep},function(a){var b=this.ep;b.O(a)||(z.l(a,R,C,"initialContentAlignment"),this.ep=a=a.V(),this.i("initialContentAlignment",b,a))});
+z.defineProperty(C,{padding:"padding"},function(){return this.sf},function(a){"number"===typeof a?a=new Kb(a):z.l(a,Kb,C,"padding");var b=this.sf;b.O(a)||(this.sf=a=a.V(),this.Bc(),this.i("padding",b,a))});z.w(C,{og:"nodes"},function(){return this.yp.j});z.w(C,{links:"links"},function(){return this.rp.j});z.w(C,{Gi:"parts"},function(){return this.pb.j});
+C.prototype.findTopLevelNodesAndLinks=function(){for(var a=new K(D),b=this.yp.j;b.next();){var c=b.value;c.vq&&a.add(c)}for(b=this.rp.j;b.next();)c=b.value,c.vq&&a.add(c);return a.j};C.prototype.findTopLevelGroups=function(){return this.Pl.j};z.defineProperty(C,{Wb:"layout"},function(){return this.ve},function(a){var b=this.ve;b!==a&&(z.l(a,ch,C,"layout"),null!==b&&(b.g=null,b.group=null),this.ve=a,a.g=this,a.group=null,this.sv=!0,this.i("layout",b,a),this.Te())});
C.prototype.layoutDiagram=function(a){Li(this);a&&qn(this,!0);em(this,!1)};function qn(a,b){for(var c=a.Pl.j;c.next();)yn(a,c.value,b);null!==a.Wb&&(b?a.Wb.Jf=!1:a.Wb.N())}function yn(a,b,c){if(null!==b){for(var d=b.cn.j;d.next();)yn(a,d.value,c);null!==b.Wb&&(c?b.Wb.Jf=!1:b.Wb.N())}}
-function em(a,b){if(!a.gz){var c=a.Wb,d=a.ab;a.ab=!0;try{var e=a.sa.Vh;0===e&&a.$b("Layout");var g=a.Ya;1!==a.sa.Vh||g.wf||g.yc||b||g.lo("Layout");for(var h=a.Pl.j;h.next();)zn(a,h.value,b);c.Jf||b&&!c.MF&&0!==e||(c.doLayout(a),Li(a),c.Jf=!0)}finally{0===e&&a.Wd("Layout"),a.sv=!c.Jf,a.ab=d}}}function zn(a,b,c){if(null!==b){for(var d=b.cn.j;d.next();)zn(a,d.value,c);d=b.Wb;null===d||d.Jf||c&&!d.MF||(b.io=!b.location.F(),d.doLayout(b),b.N(An),d.Jf=!0,Bm(a,b))}}
-z.defineProperty(C,{be:"isTreePathToChildren"},function(){return this.dw},function(a){var b=this.dw;if(b!==a&&(z.h(a,"boolean",C,"isTreePathToChildren"),this.dw=a,this.i("isTreePathToChildren",b,a),!this.sa.lb))for(a=this.og;a.next();)Bn(a.value)});C.prototype.findTreeRoots=function(){for(var a=new J(E),b=this.og;b.next();){var c=b.value;c.wq&&null===c.Pn()&&a.add(c)}return a.j};
+function em(a,b){if(!a.gz){var c=a.Wb,d=a.ab;a.ab=!0;try{var e=a.sa.Vh;0===e&&a.$b("Layout");var g=a.Ya;1!==a.sa.Vh||g.wf||g.yc||b||g.ko("Layout");for(var h=a.Pl.j;h.next();)zn(a,h.value,b);c.Jf||b&&!c.MF&&0!==e||(c.doLayout(a),Li(a),c.Jf=!0)}finally{0===e&&a.Vd("Layout"),a.sv=!c.Jf,a.ab=d}}}function zn(a,b,c){if(null!==b){for(var d=b.cn.j;d.next();)zn(a,d.value,c);d=b.Wb;null===d||d.Jf||c&&!d.MF||(b.io=!b.location.F(),d.doLayout(b),b.N(An),d.Jf=!0,Bm(a,b))}}
+z.defineProperty(C,{ae:"isTreePathToChildren"},function(){return this.dw},function(a){var b=this.dw;if(b!==a&&(z.h(a,"boolean",C,"isTreePathToChildren"),this.dw=a,this.i("isTreePathToChildren",b,a),!this.sa.lb))for(a=this.og;a.next();)Bn(a.value)});C.prototype.findTreeRoots=function(){for(var a=new J(E),b=this.og;b.next();){var c=b.value;c.vq&&null===c.Pn()&&a.add(c)}return a.j};
z.defineProperty(C,{OB:"treeCollapsePolicy"},function(){return this.Ww},function(a){var b=this.Ww;b!==a&&(a!==zl&&a!==Ym&&a!==Zm&&z.k("Unknown Diagram.treeCollapsePolicy: "+a),this.Ww=a,this.i("treeCollapsePolicy",b,a))});z.defineProperty(C,{Nh:null},function(){return this.$C},function(a){this.$C=a});
function yl(a){function b(a){var b=a.toLowerCase(),h=new J("function");c.add(a,h);c.add(b,h);d.add(a,a);d.add(b,a)}var c=new oa("string",J),d=new oa("string","string");b("AnimationStarting");b("AnimationFinished");b("BackgroundSingleClicked");b("BackgroundDoubleClicked");b("BackgroundContextClicked");b("ClipboardChanged");b("ClipboardPasted");b("DocumentBoundsChanged");b("ExternalObjectsDropped");b("InitialLayoutCompleted");b("LayoutCompleted");b("LinkDrawn");b("LinkRelinked");b("LinkReshaped");b("Modified");
b("ObjectSingleClicked");b("ObjectDoubleClicked");b("ObjectContextClicked");b("PartCreated");b("PartResized");b("PartRotated");b("SelectionMoved");b("SelectionCopied");b("SelectionDeleting");b("SelectionDeleted");b("SelectionGrouped");b("SelectionUngrouped");b("ChangingSelection");b("ChangedSelection");b("SubGraphCollapsed");b("SubGraphExpanded");b("TextEdited");b("TreeCollapsed");b("TreeExpanded");b("ViewportBoundsChanged");a.iz=c;a.hz=d}
function Ia(a,b){var c=a.hz.qa(b);return null!==c?c:a.hz.qa(b.toLowerCase())}function Cn(a,b){var c=a.iz.qa(b);if(null!==c)return c;c=a.iz.qa(b.toLowerCase());if(null!==c)return c;z.k("Unknown DiagramEvent name: "+b);return null}C.prototype.addDiagramListener=C.prototype.gA=function(a,b){z.h(a,"string",C,"addDiagramListener:name");z.h(b,"function",C,"addDiagramListener:listener");var c=Cn(this,a);null!==c&&c.add(b)};
-C.prototype.removeDiagramListener=C.prototype.jG=function(a,b){z.h(a,"string",C,"removeDiagramListener:name");z.h(b,"function",C,"addDiagramListener:listener");var c=Cn(this,a);null!==c&&c.remove(b)};C.prototype.raiseDiagramEvent=C.prototype.Ka=function(a,b,c){u&&z.h(a,"string",C,"raiseDiagramEvent:name");var d=Cn(this,a),e=new $f;e.g=this;e.name=Ia(this,a);void 0!==b&&(e.HB=b);void 0!==c&&(e.lB=c);a=d.length;if(1===a)d=d.fa(0),d(e);else if(0!==a)for(b=d.nc(),c=0;c=d.top&&0>=d.left&&0>=d.right&&0>=d.bottom)return c;var e=a.yb,g=a.scale,e=z.fh(0,0,e.width*g,e.height*g),h=z.Fb(0,0);if(b.x>=e.x&&b.xe.x+e.width-d.right&&(k=Math.max(a.Tu,1),k|=0,h.x+=k,b.x>e.x+e.width-d.right/2&&(h.x+=k),b.x>e.x+e.width-d.right/4&&(h.x+=4*k));b.y>=e.y&&b.ye.y+e.height-d.bottom&&(k=Math.max(a.Uu,1),k|=0,h.y+=k,b.y>e.y+e.height-d.bottom/2&&(h.y+=k),b.y>e.y+e.height-d.bottom/4&&(h.y+=4*k));h.Vc(Dd)||(c=new M(c.x+h.x/g,c.y+h.y/g));z.Mb(e);z.A(h);return c}C.prototype.makeSvg=C.prototype.makeSVG=function(a){void 0===a&&(a=new na);a.context="svg";a=Kn(this,a);return null!==a?a.ym:null};
C.prototype.makeImage=function(a){void 0===a&&(a=new na);var b=(a.document||document).createElement("img");b.src=this.vJ(a);return b};
C.prototype.makeImageData=C.prototype.vJ=function(a){void 0===a&&(a=new na);var b=Kn(this,a);if(null!==b){var c=a.returnType,c=void 0===c?"string":c.toLowerCase();switch(c){case "imagedata":return b.Mk.getImageData(0,0,b.width,b.height);case "blob":b=b.Fd;c=a.callback;if("function"!==typeof c){z.k('Error: Diagram.makeImageData called with "returnType: toBlob", but no "callback" function property defined.');break}if("function"===typeof b.uK)return b.uK(c,a.type,a.details),"toBlob";if("function"===
typeof b.KJ)return c(b.KJ(a.type,a.details)),"msToBlob";c(null);break;default:return b.toDataURL(a.type,a.details)}}return""};var Ln=!1;
function Kn(a,b){a.Ya.Ii();a.hg();if(null===a.Lb)return null;"object"!==typeof b&&z.k("properties argument must be an Object.");var c=!1,d=b.size||null,e=b.scale||null;void 0!==b.scale&&isNaN(b.scale)&&(e="NaN");var g=b.maxSize;void 0===b.maxSize&&(c=!0,g="svg"===b.context?new Fa(Infinity,Infinity):new Fa(2E3,2E3));var h=b.position||null,k=b.parts||null,l=void 0===b.padding?1:b.padding,m=b.background||null,n=b.omitTemporary;void 0===n&&(n=!0);var p=b.document||document,q=b.elementFinished||null,r=
-b.showTemporary;void 0===r&&(r=!n);n=b.showGrid;void 0===n&&(n=r);null!==d&&isNaN(d.width)&&isNaN(d.height)&&(d=null);"number"===typeof l?l=new Kb(l):l instanceof Kb||(l=new Kb(0));l.left=Math.max(l.left,0);l.right=Math.max(l.right,0);l.top=Math.max(l.top,0);l.bottom=Math.max(l.bottom,0);a.Vo=!1;da(a.pd,!0);var s=new ma(null,p),v=s.Mk,t=s;if(!(d||e||k||h))return s.width=a.Ob+Math.ceil(l.left+l.right),s.height=a.Sb+Math.ceil(l.top+l.bottom),"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&
-(a.Vo=!0)),Im(a,v,l,new Fa(s.width,s.height),a.Rb,a.ub,k,m,r,n),a.Vo=!0,t;var x=a.xb.vx,y=new M(0,0),A=a.fd.copy();A.sK(a.padding);if(r)for(var B=!0,B=a.bc.o,N=B.length,G=0;Gx?(e=x,h=A.width,aa=A.height):(h=g.width,aa=g.height)):(h=A.width*e,aa=A.height*e):(e=x,h=A.width,aa=A.height);null!==l?(h+=fa,aa+=B):l=new Kb(0);null!==g&&(d=g.width,g=g.height,"svg"!==b.context&&c&&!Ln&&(h>d||aa>g)&&(z.trace("Diagram.makeImage(data): Diagram width or height is larger than the default max size. ("+Math.ceil(h)+"x"+Math.ceil(aa)+" vs 2000x2000) Consider increasing the max size."),
-Ln=!0),isNaN(d)&&(d=2E3),isNaN(g)&&(g=2E3),isFinite(d)&&(h=Math.min(h,d)),isFinite(g)&&(aa=Math.min(aa,g)));s.width=Math.ceil(h);s.height=Math.ceil(aa);"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&(a.Vo=!0));Im(a,v,l,new Fa(Math.ceil(h),Math.ceil(aa)),e,y,k,m,r,n);a.Vo=!0;return t}C.inherit=function(a,b){z.h(a,"function",C,"inherit");z.h(b,"function",C,"inherit");b.yH&&z.k("Cannot inherit from "+z.uf(b));z.Ta(a,b)};
+b.showTemporary;void 0===r&&(r=!n);n=b.showGrid;void 0===n&&(n=r);null!==d&&isNaN(d.width)&&isNaN(d.height)&&(d=null);"number"===typeof l?l=new Kb(l):l instanceof Kb||(l=new Kb(0));l.left=Math.max(l.left,0);l.right=Math.max(l.right,0);l.top=Math.max(l.top,0);l.bottom=Math.max(l.bottom,0);a.Uo=!1;da(a.pd,!0);var s=new ma(null,p),v=s.Mk,t=s;if(!(d||e||k||h))return s.width=a.Ob+Math.ceil(l.left+l.right),s.height=a.Sb+Math.ceil(l.top+l.bottom),"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&
+(a.Uo=!0)),Im(a,v,l,new Fa(s.width,s.height),a.Rb,a.ub,k,m,r,n),a.Uo=!0,t;var x=a.xb.vx,y=new M(0,0),B=a.fd.copy();B.sK(a.padding);if(r)for(var A=!0,A=a.bc.o,N=A.length,G=0;Gx?(e=x,h=B.width,aa=B.height):(h=g.width,aa=g.height)):(h=B.width*e,aa=B.height*e):(e=x,h=B.width,aa=B.height);null!==l?(h+=fa,aa+=A):l=new Kb(0);null!==g&&(d=g.width,g=g.height,"svg"!==b.context&&c&&!Ln&&(h>d||aa>g)&&(z.trace("Diagram.makeImage(data): Diagram width or height is larger than the default max size. ("+Math.ceil(h)+"x"+Math.ceil(aa)+" vs 2000x2000) Consider increasing the max size."),
+Ln=!0),isNaN(d)&&(d=2E3),isNaN(g)&&(g=2E3),isFinite(d)&&(h=Math.min(h,d)),isFinite(g)&&(aa=Math.min(aa,g)));s.width=Math.ceil(h);s.height=Math.ceil(aa);"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&(a.Uo=!0));Im(a,v,l,new Fa(Math.ceil(h),Math.ceil(aa)),e,y,k,m,r,n);a.Uo=!0;return t}C.inherit=function(a,b){z.h(a,"function",C,"inherit");z.h(b,"function",C,"inherit");b.yH&&z.k("Cannot inherit from "+z.uf(b));z.Ta(a,b)};
function Hl(){this.BH="63ad05bbe23a1786468a4c741b6d2";this.Xi=this.BH===this._tk?!0:null}
function Mn(a){var b="f",c=window[z.Sg("76a715b2f73f148a")][z.Sg("72ba13b5")],d=z.Sg;if(window[d("7da7")]&&window[d("7da7")][d("76a115b6ed251eaf4692")]){a.Xi=!0;var e=window[d("7da7")][d("76a115b6ed251eaf4692")],e=d(e).split(d("39e9"));if(6>e.length)return;var g=d(e[1]).split(".");if("7da71ca0"!==e[4])return;var h=d(z[d("6cae19")]).split(".");if(g[0]>h[0]||g[0]===h[0]&&g[1]>=h[1]){g=c[d("76ad18b4f73e")];for(h=c[d("73a612b6fb191d")](d("35e7"))+2;h
g&&d(e[2])!==d("7da71ca0ad381e90")&&(g=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));0>g&&(g=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));a.Xi=!(0<=g&&gg&&d(z.adym)!==d("7da71ca0ad381e90")&&(g=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));a.Xi=!(0<=g&&gb.timeStamp-a.Wm)b.preventDefault();else if(a.Al)b.preventDefault();else{a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.gm=!0;c.Qe=b.detail;if(z.GF||z.HF)b.timeStamp-a.Wmb.timeStamp-a.Wm){b.preventDefault();return}a.Wm=b.timeStamp}if(z.Xn&&null!==a.qt)a.qt=null,b.preventDefault();else{a.ed=
-a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.up=!0;c.Qe=b.detail;if(z.GF||z.HF)c.Qe=a.Dl;c.bubbles=b.bubbles;b.target.ca&&(c.eh=b.target.ca);a.HG(b,null,new M,c.eh)||(a.doMouseUp(),yi(a),ia(a,c,b))}}};a.Qh=function(b){if(a.isEnabled){var c=a.ed;a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.bubbles=!0;c.fm=void 0!==b.wheelDelta?b.wheelDelta:-40*b.detail;a.doMouseWheel();ia(a,c,b)}};a.Dq=function(){if(a.isEnabled){a.Sm=!1;var b=a.fb;b.cancelWaitAfter();b instanceof Kh&&b.hideToolTip()}};a.WG=function(b){if(a.isEnabled){a.zt=!1;
+c.style.position="absolute";c.style.overflow="auto";c.style.width=a.Ob+"px";c.style.height=a.Sb+"px";c.style.zIndex="1";e.style.position="absolute";e.style.width="1px";e.style.height="1px";a.Tb.appendChild(c);c.appendChild(e);c.onscroll=a.tH;c.onmousedown=a.xD;c.ontouchstart=a.xD;c.ca=a;c.wH=!0;c.xH=!0;a.Kw=c;a.ht=e;a.qB=z.NE(function(){a.zk=null;a.ra()},300,!1);a.dH=z.NE(function(){al(a)},250,!1);a.preventDefault=function(a){a.preventDefault();return!1};a.Bq=function(b){if(a.isEnabled){a.Sm=!0;var c=
+a.ed;z.Xn&&c.Hj?(b.preventDefault(),b.simulated=!0,a.qt=b):(a.ed=a.Ub,a.Ub=c,Xl(a,a,b,c,!0),a.Ay(b,null,b.target.ca)||(a.doMouseMove(),a.fb.isBeyondDragSize()&&(a.Dl=0),ia(a,c,b)))}};a.Aq=function(b){if(a.isEnabled){a.Sm=!0;var c=a.ed;if(z.Xn&&null!==a.qt)a.qt=b,b.preventDefault();else if(z.Xn&&400>b.timeStamp-a.Wm)b.preventDefault();else if(a.Al)b.preventDefault();else{a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.gm=!0;c.Qe=b.detail;if(z.GF||z.HF)b.timeStamp-a.Wmb.timeStamp-a.Wm){b.preventDefault();return}a.Wm=b.timeStamp}if(z.Xn&&null!==a.qt)a.qt=null,b.preventDefault();else{a.ed=
+a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.up=!0;c.Qe=b.detail;if(z.GF||z.HF)c.Qe=a.Dl;c.bubbles=b.bubbles;b.target.ca&&(c.eh=b.target.ca);a.HG(b,null,new M,c.eh)||(a.doMouseUp(),yi(a),ia(a,c,b))}}};a.Qh=function(b){if(a.isEnabled){var c=a.ed;a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.bubbles=!0;c.fm=void 0!==b.wheelDelta?b.wheelDelta:-40*b.detail;a.doMouseWheel();ia(a,c,b)}};a.Cq=function(){if(a.isEnabled){a.Sm=!1;var b=a.fb;b.cancelWaitAfter();b instanceof Kh&&b.hideToolTip()}};a.WG=function(b){if(a.isEnabled){a.zt=!1;
a.Al=!0;var c=a.ed;a.ed=a.Ub;a.Ub=c;Zl(a,b,b.targetTouches[0],c,1a.Aw)){var c=
@@ -1007,24 +1008,24 @@ a.nj;c[0].pointerId===b.pointerId&&(c[0]=b);c[1].pointerId===b.pointerId&&(c[1]=
function Nn(a){1a)&&z.wa(a,"0 <= loc <= 1",Ea,"addColorStop:loc");z.h(b,"string",Ea,"addColorStop:color");u&&!Da(b)&&z.k('Color "'+b+'" is not a valid color string for Brush.addColorStop');null===this.ph&&(this.ph=new oa("number","string"));this.ph.add(a,b);this.da===Zg&&(this.type=$g);this.qh=null};
-z.defineProperty(Ea,{type:"type"},function(){return this.da},function(a){this.I&&z.pa(this,a);z.Ca(a,Ea,Ea,"type");this.da=a;this.start.ae()&&(a===$g?this.start=ic:a===Bd&&(this.start=mc));this.end.ae()&&(a===$g?this.end=pc:a===Bd&&(this.end=mc));this.qh=null});z.defineProperty(Ea,{color:"color"},function(){return this.Io},function(a){this.I&&z.pa(this,a);u&&!Da(a)&&z.k('Color "'+a+'" is not a valid color string for Brush.color');this.Io=a;this.qh=null});
-z.defineProperty(Ea,{start:"start"},function(){return this.Lp},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"start");this.Lp=a.V();this.qh=null});z.defineProperty(Ea,{end:"end"},function(){return this.Xo},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"end");this.Xo=a.V();this.qh=null});z.defineProperty(Ea,{$u:"startRadius"},function(){return this.Rw},function(a){this.I&&z.pa(this,a);z.p(a,Ea,"startRadius");0>a&&z.wa(a,">= zero",Ea,"startRadius");this.Rw=a;this.qh=null});
+z.defineProperty(Ea,{type:"type"},function(){return this.da},function(a){this.I&&z.pa(this,a);z.Ca(a,Ea,Ea,"type");this.da=a;this.start.$d()&&(a===$g?this.start=ic:a===Bd&&(this.start=mc));this.end.$d()&&(a===$g?this.end=pc:a===Bd&&(this.end=mc));this.qh=null});z.defineProperty(Ea,{color:"color"},function(){return this.Ho},function(a){this.I&&z.pa(this,a);u&&!Da(a)&&z.k('Color "'+a+'" is not a valid color string for Brush.color');this.Ho=a;this.qh=null});
+z.defineProperty(Ea,{start:"start"},function(){return this.Kp},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"start");this.Kp=a.V();this.qh=null});z.defineProperty(Ea,{end:"end"},function(){return this.Wo},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"end");this.Wo=a.V();this.qh=null});z.defineProperty(Ea,{$u:"startRadius"},function(){return this.Rw},function(a){this.I&&z.pa(this,a);z.p(a,Ea,"startRadius");0>a&&z.wa(a,">= zero",Ea,"startRadius");this.Rw=a;this.qh=null});
z.defineProperty(Ea,{bu:"endRadius"},function(){return this.Nv},function(a){this.I&&z.pa(this,a);z.p(a,Ea,"endRadius");0>a&&z.wa(a,">= zero",Ea,"endRadius");this.Nv=a;this.qh=null});z.defineProperty(Ea,{Jk:"colorStops"},function(){return this.ph},function(a){this.I&&z.pa(this,a);u&&z.l(a,oa,Ea,"colorStops");this.ph=a;this.qh=null});z.defineProperty(Ea,{pattern:"pattern"},function(){return this.zw},function(a){this.I&&z.pa(this,a);this.zw=a;this.qh=null});
Ea.randomColor=function(a,b){void 0===a&&(a=128);u&&(z.p(a,Ea,"randomColor:min"),(0>a||255d.length&&(d="0"+d);2>e.length&&(e="0"+e);2>c.length&&(c="0"+c);return"#"+
d+e+c};var Xn=(new ma(null)).Mk,Da;Ea.isValidColor=Da=function(a){if("black"===a)return!0;if(""===a)return!1;u&&z.h(a,"string",Ea,"isValidColor");Xn.fillStyle="#000000";var b=Xn.fillStyle;Xn.fillStyle=a;if(Xn.fillStyle!==b)return!0;Xn.fillStyle="#FFFFFF";b=Xn.fillStyle;Xn.fillStyle=a;return Xn.fillStyle!==b};var Yn=new Wn,Zn=new Wn,$n=new Wn,ao=new Wn;Ea.lighten=function(a){return bo(a)};
@@ -1035,15 +1036,15 @@ ao.mg;c=-.969266*$n.Pc+1.8760108*$n.Md+.041556*$n.kd;d=.0556434*$n.Pc+-.2040259*
255,h=Yn.kd/255,k=Math.max(e,g,h),d=Math.min(e,g,h),l=k-d,d=(k+d)/2;if(0===l)c=e=0;else{switch(k){case e:c=(g-h)/l%6;break;case g:c=(h-e)/l+2;break;case h:c=(e-g)/l+4}c*=60;0>c&&(c+=360);e=l/(1-Math.abs(2*d-1))}Zn.Pc=Math.round(c);Zn.Md=Math.round(100*e);Zn.kd=Math.round(100*d);Zn.mg=Yn.mg;Zn.kd=Math.min(100,Math.max(0,Zn.kd+100*a));return"hsla("+Zn.Pc+", "+Zn.Md+"%, "+Zn.kd+"%, "+Zn.mg+")";default:return z.k("Unknown color space: "+b),"rgba(0, 0, 0, 1)"}}
function co(a){Xn.clearRect(0,0,1,1);Xn.fillStyle="#000000";var b=Xn.fillStyle;Xn.fillStyle=a;Xn.fillStyle!==b?(Xn.fillRect(0,0,1,1),a=Xn.getImageData(0,0,1,1).data,Yn.Pc=a[0],Yn.Md=a[1],Yn.kd=a[2],Yn.mg=a[3]/255):(Xn.fillStyle="#FFFFFF",b=Xn.fillStyle,Xn.fillStyle=a,Xn.fillStyle===b&&u&&z.k('Color "'+a+'" is not a valid color string for RGBA color conversion'),Yn.Pc=0,Yn.Md=0,Yn.kd=0,Yn.mg=1)}function ho(a){a/=255;return.04045>=a?a/12.92:Math.pow((a+.055)/1.055,2.4)}
function no(a){return.0031308>=a?12.92*a:1.055*Math.pow(a,1/2.4)-.055}var mo=216/24389,lo=24389/27,jo=[95.047,100,108.883];function io(a){return a>mo?Math.pow(a,1/3):(lo*a+16)/116}function ko(a){var b=a*a*a;return b>mo?b:(116*a-16)/lo}
-function O(){z.xc(this);this.T=4225027;this.Hc=1;this.Ah=null;this.Xb="";this.ic=this.Kb=null;this.ub=(new M(NaN,NaN)).freeze();this.Ye=ie;this.li=Sd;this.ki=ge;this.Jc=new Ga;this.Li=new Ga;this.ej=new Ga;this.Rb=this.Uo=1;this.rg=0;this.Mg=oo;this.an=Nd;this.Dd=(new w(NaN,NaN,NaN,NaN)).freeze();this.ac=(new w(NaN,NaN,NaN,NaN)).freeze();this.Tc=(new w(0,0,NaN,NaN)).freeze();this.Y=this.Us=this.Vs=null;this.Fm=this.ue=Rc;this.et=0;this.pj=1;this.pr=0;this.Qi=1;this.ut=null;this.it=-Infinity;this.on=
-0;this.pn=Dd;this.qn=nj;this.xr="";this.Ec=this.ma=null;this.Fo=-1;this.hn=this.un=this.ug=this.rl=this.Kp=null}z.Ai(O);z.ka("GraphObject",O);
-O.prototype.cloneProtected=function(a){a.T=this.T|6144;a.Hc=this.Hc;a.Xb=this.Xb;a.Kb=this.Kb;a.ic=this.ic;a.ub.assign(this.ub);a.Ye=this.Ye.V();a.li=this.li.V();a.ki=this.ki.V();a.ej=this.ej.copy();a.Rb=this.Rb;a.rg=this.rg;a.Mg=this.Mg;a.an=this.an.V();a.Dd.assign(this.Dd);a.ac.assign(this.ac);a.Tc.assign(this.Tc);a.Us=this.Us;null!==this.Y&&(a.Y=this.Y.copy());a.ue=this.ue.V();a.Fm=this.Fm.V();a.et=this.et;a.pj=this.pj;a.pr=this.pr;a.Qi=this.Qi;a.ut=this.ut;a.it=this.it;a.on=this.on;a.pn=this.pn.V();
-a.qn=this.qn;a.xr=this.xr;null!==this.ma&&(a.ma=this.ma.copy());a.Ec=this.Ec;a.Fo=this.Fo;null!==this.rl&&(a.rl=z.am(this.rl));null!==this.ug&&(a.ug=this.ug.copy());a.un=this.un};O.prototype.addCopyProperty=O.prototype.JH=function(a){var b=this.rl;if(z.isArray(b))for(var c=0;ck;)k+=g[n++%l],p=!p;q=!1}else k=g[n++%l];k>m&&(k=m);var r=Math.sqrt(k*k/(1+e*e));0>d&&(r=-r);b+=r;c+=e*r;p?a.lineTo(b,c):a.moveTo(b,c);m-=k;p=!p}}
-O.prototype.raiseChangedEvent=O.prototype.ld=function(a,b,c,d,e,g,h){var k=this.ba;if(null!==k&&(k.mo(a,b,c,d,e,g,h),zo(this)&&c===this&&a===bg&&Ao(this,k,b),c===k&&0!==(k.T&16777216)&&null!==k.data))for(a=this.va.o,c=a.length,d=0;dk;)k+=g[n++%l],p=!p;q=!1}else k=g[n++%l];k>m&&(k=m);var r=Math.sqrt(k*k/(1+e*e));0>d&&(r=-r);b+=r;c+=e*r;p?a.lineTo(b,c):a.moveTo(b,c);m-=k;p=!p}}
+O.prototype.raiseChangedEvent=O.prototype.ld=function(a,b,c,d,e,g,h){var k=this.ba;if(null!==k&&(k.lo(a,b,c,d,e,g,h),zo(this)&&c===this&&a===bg&&Ao(this,k,b),c===k&&0!==(k.T&16777216)&&null!==k.data))for(a=this.va.o,c=a.length,d=0;d
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
Method SummaryParameters:
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Margin.html b/api/symbols/Margin.html
index d66c350e4..37a63083d 100644
--- a/api/symbols/Margin.html
+++ b/api/symbols/Margin.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Model.html b/api/symbols/Model.html
index bf2bd71c6..3e21287a2 100644
--- a/api/symbols/Model.html
+++ b/api/symbols/Model.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Node.html b/api/symbols/Node.html
index b99f52d6a..4f384d827 100644
--- a/api/symbols/Node.html
+++ b/api/symbols/Node.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Overview.html b/api/symbols/Overview.html
index 1f5fcbde6..412275000 100644
--- a/api/symbols/Overview.html
+++ b/api/symbols/Overview.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Palette.html b/api/symbols/Palette.html
index d5e2de350..60e8c1b03 100644
--- a/api/symbols/Palette.html
+++ b/api/symbols/Palette.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Panel.html b/api/symbols/Panel.html
index ef52eb14f..d289ee870 100644
--- a/api/symbols/Panel.html
+++ b/api/symbols/Panel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
@@ -2287,7 +2287,7 @@ Method SummaryParameters:
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Part.html b/api/symbols/Part.html
index 0f9e28e68..5b7758fc0 100644
--- a/api/symbols/Part.html
+++ b/api/symbols/Part.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PathFigure.html b/api/symbols/PathFigure.html
index 03499cf52..cbf8b036a 100644
--- a/api/symbols/PathFigure.html
+++ b/api/symbols/PathFigure.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PathSegment.html b/api/symbols/PathSegment.html
index 116e06871..9c40eec72 100644
--- a/api/symbols/PathSegment.html
+++ b/api/symbols/PathSegment.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Picture.html b/api/symbols/Picture.html
index a5aa9f704..436846775 100644
--- a/api/symbols/Picture.html
+++ b/api/symbols/Picture.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Placeholder.html b/api/symbols/Placeholder.html
index 772258e6f..f7c2b5ee4 100644
--- a/api/symbols/Placeholder.html
+++ b/api/symbols/Placeholder.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Point.html b/api/symbols/Point.html
index 582ab9a01..b2f1bf6a6 100644
--- a/api/symbols/Point.html
+++ b/api/symbols/Point.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Rect.html b/api/symbols/Rect.html
index 664b3d257..bce25088c 100644
--- a/api/symbols/Rect.html
+++ b/api/symbols/Rect.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RelinkingTool.html b/api/symbols/RelinkingTool.html
index 0342f78f4..a7c389357 100644
--- a/api/symbols/RelinkingTool.html
+++ b/api/symbols/RelinkingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ResizingTool.html b/api/symbols/ResizingTool.html
index 87174f8c3..1e68aec49 100644
--- a/api/symbols/ResizingTool.html
+++ b/api/symbols/ResizingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RotatingTool.html b/api/symbols/RotatingTool.html
index babc13e9d..4d59e7543 100644
--- a/api/symbols/RotatingTool.html
+++ b/api/symbols/RotatingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RowColumnDefinition.html b/api/symbols/RowColumnDefinition.html
index ca2e9366b..7e13bbe1b 100644
--- a/api/symbols/RowColumnDefinition.html
+++ b/api/symbols/RowColumnDefinition.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Set.html b/api/symbols/Set.html
index c6a91c11e..5323534c8 100644
--- a/api/symbols/Set.html
+++ b/api/symbols/Set.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Shape.html b/api/symbols/Shape.html
index f118b4610..5d10a0325 100644
--- a/api/symbols/Shape.html
+++ b/api/symbols/Shape.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Size.html b/api/symbols/Size.html
index 120e72a8c..33d897714 100644
--- a/api/symbols/Size.html
+++ b/api/symbols/Size.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Spot.html b/api/symbols/Spot.html
index fd78e9bd9..9186bfffc 100644
--- a/api/symbols/Spot.html
+++ b/api/symbols/Spot.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TextBlock.html b/api/symbols/TextBlock.html
index 35d0dff9f..39608cb04 100644
--- a/api/symbols/TextBlock.html
+++ b/api/symbols/TextBlock.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TextEditingTool.html b/api/symbols/TextEditingTool.html
index 7c9484c5d..4bb28895a 100644
--- a/api/symbols/TextEditingTool.html
+++ b/api/symbols/TextEditingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Tool.html b/api/symbols/Tool.html
index 2bb97a22b..9e8944be2 100644
--- a/api/symbols/Tool.html
+++ b/api/symbols/Tool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ToolManager.html b/api/symbols/ToolManager.html
index b02134192..384bd1da3 100644
--- a/api/symbols/ToolManager.html
+++ b/api/symbols/ToolManager.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Transaction.html b/api/symbols/Transaction.html
index aed3e223d..98a022de3 100644
--- a/api/symbols/Transaction.html
+++ b/api/symbols/Transaction.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeEdge.html b/api/symbols/TreeEdge.html
index b310dbc5c..0e2795bef 100644
--- a/api/symbols/TreeEdge.html
+++ b/api/symbols/TreeEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeLayout.html b/api/symbols/TreeLayout.html
index 3dca92735..225560589 100644
--- a/api/symbols/TreeLayout.html
+++ b/api/symbols/TreeLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeModel.html b/api/symbols/TreeModel.html
index 1eb61dbf0..20843937e 100644
--- a/api/symbols/TreeModel.html
+++ b/api/symbols/TreeModel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeVertex.html b/api/symbols/TreeVertex.html
index 102008e4b..e37724f53 100644
--- a/api/symbols/TreeVertex.html
+++ b/api/symbols/TreeVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/UndoManager.html b/api/symbols/UndoManager.html
index 82759f6f7..4c73dd9e5 100644
--- a/api/symbols/UndoManager.html
+++ b/api/symbols/UndoManager.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/doc/changelog.html b/doc/changelog.html
index 8a90a9fe9..afa223498 100644
--- a/doc/changelog.html
+++ b/doc/changelog.html
@@ -74,9 +74,22 @@ GoJS Change Log
}
+ Changes for 1.7.3
+
+
+
Changes for 1.7.2
- Fixed missing declaration in go.d.ts
.
+
Changes for 1.7.1
diff --git a/intro/index.html b/intro/index.html
index 92273c063..2cf094f53 100644
--- a/intro/index.html
+++ b/intro/index.html
@@ -208,6 +208,8 @@ Loading GoJS
In ES6 (ECMAScript 2015) or TypeScript code, just import the "go.js" library:
import * as go from "go";
+ or, if depending on your npm environment:
+ import * as go from "gojs";
Hosting GoJS in a Div Element
diff --git a/package.json b/package.json
index 094c750a5..db3e72509 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "gojs",
- "version": "1.7.2",
+ "version": "1.7.3",
"description": "Interactive diagrams, charts, and graphs, such as trees, flowcharts, orgcharts, UML, BPMN, or business diagrams",
"keywords": [ "diagram", "chart", "tree", "flowchart", "orgchart", "uml", "bpmn", "graphics", "editor", "inspector", "drawing", "canvas", "shape", "svg", "hierarchy", "node", "link", "group", "vertex", "edge", "connection", "port", "label", "arrowhead", "family-tree", "decision-tree", "mindmap", "tournament", "treeview", "pipe-tree", "genogram", "ivr-tree", "parse-tree", "concept-map", "euler", "visualization", "entity-relationship", "er-diagram", "friend-wheel", "radial", "graph-distances", "graph-paths", "sankey", "pert", "gantt", "timeline", "monitor", "layer", "swimlane", "spreadsheet", "virtualization", "flow", "process", "state", "sequential-function", "grafcet", "sequence", "circuit", "record", "field", "table", "dataflow", "data-flow", "planogram", "seating", "pipes", "overview", "palette", "comment", "layout", "grid-layout", "tree-layout", "force-directed", "layered", "hierarchical", "circular", "fishbone", "ishikawa", "parallel", "serpentine", "treemap", "tree-map", "freehand", "polygon", "polyline", "bezier", "panel", "view", "model", "databinding", "data-binding", "binding", "transaction", "coordinates", "subgraph", "selection", "highlight", "tooltip", "context-menu", "tool", "command", "validation", "button", "template", "legend", "grid", "printing" ],
"homepage": "https://gojs.net",
diff --git a/projects/angular2-minimal/README.md b/projects/angular2-minimal/README.md
new file mode 100644
index 000000000..fefdc6681
--- /dev/null
+++ b/projects/angular2-minimal/README.md
@@ -0,0 +1,15 @@
+This is a minimal modification of the Angular 2 Quick Start environment
+that demonstrates how to show a GoJS diagram in a component.
+
+First, assuming you already have npm:
+```
+$ npm install gojs --save
+$ npm update
+```
+
+Note how we have updated the src/systemjs.config.json
file to tell which GoJS library to load.
+
+Start app page with:
+```
+$ npm start
+```
diff --git a/projects/angular2-minimal/bs-config.json b/projects/angular2-minimal/bs-config.json
new file mode 100644
index 000000000..4e5859526
--- /dev/null
+++ b/projects/angular2-minimal/bs-config.json
@@ -0,0 +1,8 @@
+{
+ "server": {
+ "baseDir": "src",
+ "routes": {
+ "/node_modules": "node_modules"
+ }
+ }
+}
diff --git a/projects/angular2-minimal/package.json b/projects/angular2-minimal/package.json
new file mode 100644
index 000000000..cbcb56864
--- /dev/null
+++ b/projects/angular2-minimal/package.json
@@ -0,0 +1,61 @@
+{
+ "name": "angular-quickstart",
+ "version": "1.0.0",
+ "description": "QuickStart package.json from the documentation, supplemented with testing support",
+ "scripts": {
+ "build": "tsc -p src/",
+ "build:watch": "tsc -p src/ -w",
+ "build:e2e": "tsc -p e2e/",
+ "serve": "lite-server -c=bs-config.json",
+ "serve:e2e": "lite-server -c=bs-config.e2e.json",
+ "prestart": "npm run build",
+ "start": "concurrently \"npm run build:watch\" \"npm run serve\"",
+ "pree2e": "npm run build:e2e",
+ "e2e": "concurrently \"npm run serve:e2e\" \"npm run protractor\" --kill-others --success first",
+ "preprotractor": "webdriver-manager update",
+ "protractor": "protractor protractor.config.js",
+ "pretest": "npm run build",
+ "test": "concurrently \"npm run build:watch\" \"karma start karma.conf.js\"",
+ "pretest:once": "npm run build",
+ "test:once": "karma start karma.conf.js --single-run",
+ "lint": "tslint ./src/**/*.ts -t verbose"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "MIT",
+ "dependencies": {
+ "@angular/common": "~2.4.0",
+ "@angular/compiler": "~2.4.0",
+ "@angular/core": "~2.4.0",
+ "@angular/forms": "~2.4.0",
+ "@angular/http": "~2.4.0",
+ "@angular/platform-browser": "~2.4.0",
+ "@angular/platform-browser-dynamic": "~2.4.0",
+ "@angular/router": "~3.4.0",
+ "angular-in-memory-web-api": "~0.2.4",
+ "core-js": "^2.4.1",
+ "gojs": "^1.7.3",
+ "rxjs": "5.0.1",
+ "systemjs": "0.19.40",
+ "zone.js": "^0.7.4"
+ },
+ "devDependencies": {
+ "concurrently": "^3.2.0",
+ "lite-server": "^2.2.2",
+ "typescript": "~2.0.10",
+ "canonical-path": "0.0.2",
+ "tslint": "^3.15.1",
+ "lodash": "^4.16.4",
+ "jasmine-core": "~2.4.1",
+ "karma": "^1.3.0",
+ "karma-chrome-launcher": "^2.0.0",
+ "karma-cli": "^1.0.1",
+ "karma-jasmine": "^1.0.2",
+ "karma-jasmine-html-reporter": "^0.2.2",
+ "protractor": "~4.0.14",
+ "rimraf": "^2.5.4",
+ "@types/node": "^6.0.46",
+ "@types/jasmine": "2.5.36"
+ },
+ "repository": {}
+}
diff --git a/projects/angular2-minimal/tslint.json b/projects/angular2-minimal/tslint.json
new file mode 100644
index 000000000..276453f4f
--- /dev/null
+++ b/projects/angular2-minimal/tslint.json
@@ -0,0 +1,93 @@
+{
+ "rules": {
+ "class-name": true,
+ "comment-format": [
+ true,
+ "check-space"
+ ],
+ "curly": true,
+ "eofline": true,
+ "forin": true,
+ "indent": [
+ true,
+ "spaces"
+ ],
+ "label-position": true,
+ "label-undefined": true,
+ "max-line-length": [
+ true,
+ 140
+ ],
+ "member-access": false,
+ "member-ordering": [
+ true,
+ "static-before-instance",
+ "variables-before-functions"
+ ],
+ "no-arg": true,
+ "no-bitwise": true,
+ "no-console": [
+ true,
+ "debug",
+ "info",
+ "time",
+ "timeEnd",
+ "trace"
+ ],
+ "no-construct": true,
+ "no-debugger": true,
+ "no-duplicate-key": true,
+ "no-duplicate-variable": true,
+ "no-empty": false,
+ "no-eval": true,
+ "no-inferrable-types": true,
+ "no-shadowed-variable": true,
+ "no-string-literal": false,
+ "no-switch-case-fall-through": true,
+ "no-trailing-whitespace": true,
+ "no-unused-expression": true,
+ "no-unused-variable": true,
+ "no-unreachable": true,
+ "no-use-before-declare": true,
+ "no-var-keyword": true,
+ "object-literal-sort-keys": false,
+ "one-line": [
+ true,
+ "check-open-brace",
+ "check-catch",
+ "check-else",
+ "check-whitespace"
+ ],
+ "quotemark": [
+ true,
+ "single"
+ ],
+ "radix": true,
+ "semicolon": [
+ "always"
+ ],
+ "triple-equals": [
+ true,
+ "allow-null-check"
+ ],
+ "typedef-whitespace": [
+ true,
+ {
+ "call-signature": "nospace",
+ "index-signature": "nospace",
+ "parameter": "nospace",
+ "property-declaration": "nospace",
+ "variable-declaration": "nospace"
+ }
+ ],
+ "variable-name": false,
+ "whitespace": [
+ true,
+ "check-branch",
+ "check-decl",
+ "check-operator",
+ "check-separator",
+ "check-type"
+ ]
+ }
+}
diff --git a/release/go-debug.js b/release/go-debug.js
index 34a65a73e..e4b1f4839 100644
--- a/release/go-debug.js
+++ b/release/go-debug.js
@@ -1,9 +1,9 @@
/*
- * GoJS v1.7.2 JavaScript Library for HTML Diagrams
+ * GoJS v1.7.3 JavaScript Library for HTML Diagrams
* Northwoods Software, https://www.nwoods.com/
* GoJS and Northwoods Software are registered trademarks of Northwoods Software Corporation.
* Copyright (C) 1998-2017 by Northwoods Software Corporation. All Rights Reserved.
- * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.7.2/doc/license.html.
+ * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.7.3/doc/license.html.
*/
(function(window) { var f,ca={};if(!window.document||void 0===window.document.createElement("canvas").getContext)throw window.console&&window.console.log("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode."),Error("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode.");if(!Object.defineProperty)throw Error("GoJS requires a newer version of JavaScript");
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return g.apply(a,e.concat(d.call(arguments)))}function c(){}var d=Array.prototype.slice,e=d.call(arguments,1),g=this;c.prototype=this.prototype;b.prototype=new c;return b});
@@ -16,17 +16,17 @@ c.fillRect(h.x||0,h.y||0,h.width,h.height),c.restore())}},BL:function(){u.XE();u
b.ef)},xA:function(a,b,c){a.setTransform(1,0,0,1,0,0);a.scale(b.rd,b.rd);a.transform(c.m11,c.m12,c.m21,c.m22,c.dx,c.dy);c=b.bc.length;for(var d=0;d=d.length)){var e=z.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.xw&&g.xw[d])continue}else if(z.Lx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},nx:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==
-typeof b&&"boolean"!==typeof b&&"function"!==typeof b)if(void 0!==z.Hd(b)){if(!u.Mw.contains(b))if(u.Mw.add(b),u.mw.add(u.DE(a,b)),b instanceof J||b instanceof K||b instanceof oa)for(var c=b.j;c.next();)u.nx(a+"["+c.key+"]",c.value);else for(c in b){var d=z.vb(b,c);if(void 0!==d&&null!==d&&z.Xa(d)&&d!==b.xw){if(b instanceof pa){if(d===b.gi)continue}else if(b instanceof I){if("data"===c||d===b.he)continue;if("itemArray"===c||d===b.cj)continue;if(b instanceof D&&d===b.Jl)continue}else if(!(b instanceof
-C))if(b instanceof ta){if("archetypeGroupData"===c||d===b.Sy)continue}else if(b instanceof ua){if("archetypeLinkData"===c||d===b.Uy)continue;if("archetypeLabelNodeData"===c||d===b.Ty)continue}else if(b instanceof wa){if("archetypeNodeData"===c||d===b.ol)continue}else if(b instanceof L){if("nodeDataArray"===c||d===b.ze)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Gc)continue;if(d===b.vg)continue}else if(b instanceof ya||b instanceof za||b instanceof Aa)continue;u.nx(a+"."+
-c,d)}}}else if(Array.isArray(b))for(c=0;c=d.length)){var e=z.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.xw&&g.xw[d])continue}else if(z.Lx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},nx:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==typeof b&&"boolean"!==typeof b&&
+"function"!==typeof b)if(void 0!==z.Hd(b)){if(!u.Mw.contains(b))if(u.Mw.add(b),u.mw.add(u.DE(a,b)),b instanceof J||b instanceof K||b instanceof oa)for(var c=b.j;c.next();)u.nx(a+"["+c.key+"]",c.value);else for(c in b){var d=z.vb(b,c);if(void 0!==d&&null!==d&&z.Xa(d)&&d!==b.xw){if(b instanceof pa){if(d===b.gi)continue}else if(b instanceof I){if("data"===c||d===b.ge)continue;if("itemArray"===c||d===b.cj)continue;if(b instanceof D&&d===b.Jl)continue}else if(!(b instanceof C))if(b instanceof ta){if("archetypeGroupData"===
+c||d===b.Sy)continue}else if(b instanceof ua){if("archetypeLinkData"===c||d===b.Uy)continue;if("archetypeLabelNodeData"===c||d===b.Ty)continue}else if(b instanceof wa){if("archetypeNodeData"===c||d===b.ol)continue}else if(b instanceof L){if("nodeDataArray"===c||d===b.ye)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Gc)continue;if(d===b.vg)continue}else if(b instanceof ya||b instanceof za||b instanceof Aa)continue;u.nx(a+"."+c,d)}}}else if(Array.isArray(b))for(c=0;c=a.length?a.push(c):a.splice(b,0,c):z.k("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Rg:function(a,b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):
z.k("Cannot remove an object from an HTMLCollection or NodeList at "+b)},Ky:[],P:function(){var a=z.Ky.pop();return void 0===a?new M:a},Fb:function(a,b){var c=z.Ky.pop();if(void 0===c)return new M(a,b);c.x=a;c.y=b;return c},A:function(a){z.Ky.push(a)},$B:[],Am:function(){var a=z.$B.pop();return void 0===a?new Fa:a},Qk:function(a){z.$B.push(a)},Ly:[],Of:function(){var a=z.Ly.pop();return void 0===a?new w:a},fh:function(a,b,c,d){var e=z.Ly.pop();if(void 0===e)return new w(a,b,c,d);e.x=a;e.y=b;e.width=
-c;e.height=d;return e},Mb:function(a){z.Ly.push(a)},aC:[],Pf:function(){var a=z.aC.pop();return void 0===a?new Ga:a},Ie:function(a){z.aC.push(a)},My:null,v:function(){var a=z.My;return null!==a?(z.My=null,a):new Ha},u:function(a){a.reset();z.My=a},ZB:[],tb:function(){var a=z.ZB.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;z.ZB.push(a)},bl:Object.freeze([]),Em:1,xc:function(a){a.__gohashid=z.Em++},pq:function(a){var b=a.__gohashid;void 0===b&&(b=z.Em++,a.__gohashid=b);return b},Hd:function(a){return a.__gohashid},
+c;e.height=d;return e},Mb:function(a){z.Ly.push(a)},aC:[],Pf:function(){var a=z.aC.pop();return void 0===a?new Ga:a},Ie:function(a){z.aC.push(a)},My:null,v:function(){var a=z.My;return null!==a?(z.My=null,a):new Ha},u:function(a){a.reset();z.My=a},ZB:[],tb:function(){var a=z.ZB.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;z.ZB.push(a)},bl:Object.freeze([]),Em:1,wc:function(a){a.__gohashid=z.Em++},oq:function(a){var b=a.__gohashid;void 0===b&&(b=z.Em++,a.__gohashid=b);return b},Hd:function(a){return a.__gohashid},
ka:function(a,b){b.Zy=a;ca[a]=b},Ta:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},Ai:function(a){a.yH=!0},defineProperty:function(a,b,c,d,e){z.h(a,"function","Util.defineProperty:classfunc");z.h(b,"object","Util.defineProperty:propobj");z.h(c,"function","Util.defineProperty:getter");z.h(d,"function","Util.defineProperty:setter");for(var g in b){b=b[g];c={get:c,set:d,enumerable:!0};if(void 0!==e)for(var h in e)c[h]=e[h];Object.defineProperty(a.prototype,
g,c);e=Object.getOwnPropertyDescriptor(a.prototype,g);b&&e&&Object.defineProperty(a.prototype,b,e);break}},IK:!1,w:function(a,b,c,d){z.h(a,"function","Util.defineReadOnlyProperty:classfunc");z.h(b,"object","Util.defineReadOnlyProperty:propobj");z.h(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var g=b[e];b={get:c,set:function(a){z.k('The property "'+g+'" is read-only and cannot be set to '+a)},enumerable:!0};if(void 0!==d)for(var h in d)b[h]=d[h];Object.defineProperty(a.prototype,
-e,b);d=Object.getOwnPropertyDescriptor(a.prototype,e);g&&d&&Object.defineProperty(a.prototype,g,d);break}},ne:function(a,b){for(var c in b)b[c]=!0;a.prototype.xw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?z.uf(a):null===a?"*":""},uf:function(a){if("function"===typeof a){if(a.Zy)return a.Zy;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,c).trim();if(""!==b)return a.Zy=b}else if("object"===typeof a&&a.constructor)return z.uf(a.constructor);
+e,b);d=Object.getOwnPropertyDescriptor(a.prototype,e);g&&d&&Object.defineProperty(a.prototype,g,d);break}},me:function(a,b){for(var c in b)b[c]=!0;a.prototype.xw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?z.uf(a):null===a?"*":""},uf:function(a){if("function"===typeof a){if(a.Zy)return a.Zy;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,c).trim();if(""!==b)return a.Zy=b}else if("object"===typeof a&&a.constructor)return z.uf(a.constructor);
return typeof a},s:function(a,b,c){z.h(a,"function","Util.defineEnumValue:classfunc");z.h(b,"string","Util.defineEnumValue:name");z.h(c,"number","Util.defineEnumValue:num");c=new Ca(a,b,c);Object.freeze(c);a[b]=c;var d=a.hv;d instanceof oa||(d=new oa("string",Ca),a.hv=d);d.add(b,c);return c},vb:function(a,b){if(!a||!b)return null;var c=void 0;try{"function"===typeof b?c=b(a):"function"===typeof a.getAttribute?(c=a.getAttribute(b),null===c&&(c=void 0)):c=a[b]}catch(d){u&&z.trace("property get error: "+
d.toString())}return c},Ua:function(a,b,c){if(a&&b)try{"function"===typeof b?b(a,c):"function"===typeof a.setAttribute?a.setAttribute(b,c):a[b]=c}catch(d){u&&z.trace("property set error: "+d.toString())}},Vu:function(a,b){z.h(a,"object","Setting properties requires Objects as arguments");z.h(b,"object","Setting properties requires Objects as arguments");var c=a instanceof I,d=a instanceof C,e;for(e in b){""===e&&z.k("Setting properties requires non-empty property names");var g=a,h=e;if(c||d){var k=
e.indexOf(".");if(0c;c++)b[c]=c;for(var d=0,e=0,c=0;256>c;c++)d=(d+b[c]+119)%256,e=b[c],b[c]=b[d],b[d]=e;for(var d=c=0,g="",h=0;hc;c++)b["0123456789abcdef".charAt(c>>4)+"0123456789abcdef".charAt(c&15)]=String.fromCharCode(c);a.length%2&&(a="0"+a);for(var d=[],e=0,c=0;cc;c++)b["0123456789abcdef".charAt(c>>4)+"0123456789abcdef".charAt(c&15)]=String.fromCharCode(c);a.length%2&&(a="0"+a);for(var d=[],e=0,c=0;cd;d++)b[z.Sg("7ca11abfd7330390")](z.Sg(c[d-1]),10,15*d+0);b[z.Sg("7ca11abfd022028846")]=z.Sg("39f046ebb36e4b");for(d=1;5>d;d++)b[z.Sg("7ca11abfd7330390")](z.Sg(c[d-
-1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])z.s=function(a,b){var c=new Ca(a,b,2);Object.freeze(c);a[b]=c;var d=a.hv;d instanceof oa||(d=new oa("string",Ca),a.hv=d);d.add(b,c);return c};return a}();function Ca(a,b,c){z.xc(this);this.kC=a;this.Xb=b;this.DH=c}z.ka("EnumValue",Ca);Ca.prototype.toString=function(){return z.uf(this.kC)+"."+this.Xb};z.w(Ca,{Pe:"classType"},function(){return this.kC});z.w(Ca,{name:"name"},function(){return this.Xb});z.w(Ca,{value:"value"},function(){return this.DH});
+1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])z.s=function(a,b){var c=new Ca(a,b,2);Object.freeze(c);a[b]=c;var d=a.hv;d instanceof oa||(d=new oa("string",Ca),a.hv=d);d.add(b,c);return c};return a}();function Ca(a,b,c){z.wc(this);this.kC=a;this.Xb=b;this.DH=c}z.ka("EnumValue",Ca);Ca.prototype.toString=function(){return z.uf(this.kC)+"."+this.Xb};z.w(Ca,{Pe:"classType"},function(){return this.kC});z.w(Ca,{name:"name"},function(){return this.Xb});z.w(Ca,{value:"value"},function(){return this.DH});
var Ja;Ca.findName=Ja=function(a,b){if(void 0===b||null===b||""===b)return null;z.h(a,"function","findName:classfunc");z.h(b,"string","EnumValue.findName:name");var c=a.hv;return c instanceof oa?c.qa(b):null};function Ba(){this.jC=[]}Ba.prototype.toString=function(){return this.jC.join("")};Ba.prototype.add=function(a){""!==a&&this.jC.push(a)};function na(){}
function Ka(a){void 0===a&&(a=42);this.seed=a;this.Gy=48271;this.gv=2147483647;this.YB=this.gv/this.Gy;this.hH=this.gv%this.Gy;this.gH=1/this.gv;this.random()}Ka.prototype.random=function(){var a=this.seed%this.YB*this.Gy-this.seed/this.YB*this.hH;this.seed=0this.key)return!1;z.Va(a)}var a=a.o,b=a.length,c=++this.bd,d=this.mi;if(null!==d)for(;cthis.key)return!1;z.Va(a)}var b=--this.bd;if(0<=b)return this.key=b,this.value=a.o[b],!0;this.Rf();return!1};Wa.prototype.first=Wa.prototype.first=function(){var a=this.Fc;this.qb=a.J;var b=a.o;this.bd=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};
Wa.prototype.any=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=b.o,e=d.length;this.bd=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.J!==c&&z.Va(b)}return!1};Wa.prototype.all=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=b.o,e=d.length;this.bd=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.J!==c&&z.Va(b)}return!0};Wa.prototype.each=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=b.o,e=d.length;this.bd=e;for(e-=1;0<=e;e--)a(d[e]),b.J!==c&&z.Va(b);return this};
Wa.prototype.map=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=[],e=b.o,g=e.length;this.bd=g;for(g-=1;0<=g;g--)d.push(a(e[g])),b.J!==c&&z.Va(b);a=new J;a.o=d;a.Sc();return a.j};Wa.prototype.filter=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=[],e=b.o,g=e.length;this.bd=g;for(g-=1;0<=g;g--){var h=e[g];a(h)&&d.push(h);b.J!==c&&z.Va(b)}a=new J(b.da);a.o=d;a.Sc();return a.j};Wa.prototype.concat=function(a){this.Fc.nk=null;return new Sa(this,a.j)};z.w(Wa,{count:"count"},function(){return this.Fc.o.length});
Wa.prototype.Rf=function(){this.key=-1;this.value=null;this.qb=-1;this.Fc.nk=this};Wa.prototype.toString=function(){return"ListIteratorBackwards("+this.bd+"/"+this.Fc.count+")"};
-function J(a){z.xc(this);this.I=!1;this.o=[];this.J=0;this.nk=this.jc=null;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.da=a:z.wa(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:z.wa(a,"null, a primitive type name, or a class type",
+function J(a){z.wc(this);this.I=!1;this.o=[];this.J=0;this.nk=this.jc=null;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.da=a:z.wa(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:z.wa(a,"null, a primitive type name, or a class type",
"List constructor: type")}z.ka("List",J);J.prototype.nh=function(a){null!==this.da&&("string"===typeof this.da?typeof a===this.da&&null!==a||z.hc(a,this.da):a instanceof this.da||z.hc(a,this.da))};J.prototype.Sc=function(){var a=this.J;a++;999999999a||a>=b.length)&&z.wa(a,"0 <= i < length",J,"elt:i");return b[a]};
-J.prototype.setElt=J.prototype.set=J.prototype.bh=function(a,b){u&&(this.nh(b),z.p(a,J,"setElt:i"));var c=this.o;(0>a||a>=c.length)&&z.wa(a,"0 <= i < length",J,"setElt:i");this.I&&z.pa(this,a);c[a]=b};J.prototype.first=J.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};J.prototype.last=J.prototype.se=function(){var a=this.o,b=a.length;return 0a||a>=c.length)&&z.wa(a,"0 <= i < length",J,"setElt:i");this.I&&z.pa(this,a);c[a]=b};J.prototype.first=J.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};J.prototype.last=J.prototype.re=function(){var a=this.o,b=a.length;return 0a&&z.wa(a,">= 0",J,"insertAt:i");this.I&&z.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Sc();return!0};J.prototype.remove=J.prototype["delete"]=J.prototype.remove=function(a){if(null===a)return!1;u&&this.nh(a);this.I&&z.pa(this,a);var b=this.o;a=b.indexOf(a);if(-1===a)return!1;a===b.length-1?b.pop():b.splice(a,1);this.Sc();return!0};
+J.prototype.insertAt=J.prototype.Yd=function(a,b){u&&(this.nh(b),z.p(a,J,"insertAt:i"));0>a&&z.wa(a,">= 0",J,"insertAt:i");this.I&&z.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Sc();return!0};J.prototype.remove=J.prototype["delete"]=J.prototype.remove=function(a){if(null===a)return!1;u&&this.nh(a);this.I&&z.pa(this,a);var b=this.o;a=b.indexOf(a);if(-1===a)return!1;a===b.length-1?b.pop():b.splice(a,1);this.Sc();return!0};
J.prototype.removeAt=J.prototype.md=function(a){u&&z.p(a,J,"removeAt:i");var b=this.o;(0>a||a>=b.length)&&z.wa(a,"0 <= i < length",J,"removeAt:i");this.I&&z.pa(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Sc()};
J.prototype.removeRange=J.prototype.removeRange=function(a,b){u&&(z.p(a,J,"removeRange:from"),z.p(b,J,"removeRange:to"));var c=this.o,d=c.length;if(0>a)a=0;else if(a>=d)return this;if(0>b)return this;b>=d&&(b=d-1);if(a>b)return this;this.I&&z.pa(this);for(var e=a,g=b+1;g=g)return this;(0>b||b>=e-1)&&z.wa(b,"0 <= from < length",J,"sortRange:from");if(2===g)return c=d[b],e=d[b+1],0=e)d.sort(a);else for(g=d.slice(0,c),g.sort(a),a=0;a=e)for(g=d.slice(b),
g.sort(a),a=b;a=this.o.length)return Na;var a=this.jc;return null!==a?(a.reset(),a):new Va(this)});
-z.w(J,{$n:"iteratorBackwards"},function(){if(0>=this.o.length)return Na;var a=this.nk;return null!==a?(a.reset(),a):new Wa(this)});function Xa(a){this.oi=a;this.reset()}z.ne(Xa,{key:!0,value:!0});z.w(Xa,{j:"iterator"},function(){return this});Xa.prototype.reset=Xa.prototype.reset=function(){var a=this.oi;a.jc=null;this.qb=a.J;this.ob=null};
+z.w(J,{$n:"iteratorBackwards"},function(){if(0>=this.o.length)return Na;var a=this.nk;return null!==a?(a.reset(),a):new Wa(this)});function Xa(a){this.oi=a;this.reset()}z.me(Xa,{key:!0,value:!0});z.w(Xa,{j:"iterator"},function(){return this});Xa.prototype.reset=Xa.prototype.reset=function(){var a=this.oi;a.jc=null;this.qb=a.J;this.ob=null};
Xa.prototype.next=Xa.prototype.hasNext=Xa.prototype.next=function(){var a=this.oi;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};Xa.prototype.first=Xa.prototype.first=function(){var a=this.oi;this.qb=a.J;a=a.La;if(null!==a){this.ob=a;var b=a.value;this.key=a.key;return this.value=b}return null};
Xa.prototype.any=function(a){var b=this.oi;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d.value))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};Xa.prototype.all=function(a){var b=this.oi;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d.value))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};Xa.prototype.each=function(a){var b=this.oi;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d.value),b.J!==c&&z.Va(b),d=d.eb;return this};
Xa.prototype.map=function(a){var b=this.oi;b.jc=null;for(var c=new J,d=b.J,e=b.La;null!==e;)c.add(a(e.value)),b.J!==d&&z.Va(b),e=e.eb;return c.j};Xa.prototype.filter=function(a){var b=this.oi;b.jc=null;for(var c=new J(b.da),d=b.J,e=b.La;null!==e;){var g=e.value;a(g)&&c.add(g);b.J!==d&&z.Va(b);e=e.eb}return c.j};Xa.prototype.concat=function(a){this.oi.jc=null;return new Sa(this,a.j)};z.w(Xa,{count:"count"},function(){return this.oi.Ad});
Xa.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.oi.jc=this};Xa.prototype.toString=function(){return null!==this.ob?"SetIterator@"+this.ob.value:"SetIterator"};
-function K(a){z.xc(this);this.I=!1;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.da=a:z.wa(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Set constructor: type");this.Bd={};this.Ad=0;this.jc=null;this.J=0;this.fi=this.La=null}z.ka("Set",K);
+function K(a){z.wc(this);this.I=!1;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.da=a:z.wa(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Set constructor: type");this.Bd={};this.Ad=0;this.jc=null;this.J=0;this.fi=this.La=null}z.ka("Set",K);
K.prototype.nh=function(a){null!==this.da&&("string"===typeof this.da?typeof a===this.da&&null!==a||z.hc(a,this.da):a instanceof this.da||z.hc(a,this.da))};K.prototype.Sc=function(){var a=this.J;a++;999999999=this.Ad)return Na;var a=this.jc;return null!==a?(a.reset(),a):new Xa(this)});function $a(a){this.Pa=a;this.reset()}z.ne($a,{key:!0,value:!0});z.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){this.qb=this.Pa.J;this.ob=null};
+z.w(K,{size:"size"},function(){return this.Ad});z.w(K,{j:"iterator"},function(){if(0>=this.Ad)return Na;var a=this.jc;return null!==a?(a.reset(),a):new Xa(this)});function $a(a){this.Pa=a;this.reset()}z.me($a,{key:!0,value:!0});z.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){this.qb=this.Pa.J;this.ob=null};
$a.prototype.next=$a.prototype.hasNext=$a.prototype.next=function(){var a=this.Pa;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.value=this.key=a=b.key,!0;this.Rf();return!1};$a.prototype.first=$a.prototype.first=function(){var a=this.Pa;this.qb=a.J;a=a.La;return null!==a?(this.ob=a,this.value=this.key=a=a.key):null};
$a.prototype.any=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d.key))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};$a.prototype.all=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d.key))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};$a.prototype.each=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d.key),b.J!==c&&z.Va(b),d=d.eb;return this};
$a.prototype.map=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)d.add(a(e.key)),b.J!==c&&z.Va(b),e=e.eb;return d.j};$a.prototype.filter=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=new J(b.qf),e=b.La;null!==e;){var g=e.key;a(g)&&d.add(g);b.J!==c&&z.Va(b);e=e.eb}return d.j};$a.prototype.concat=function(a){return new Sa(this,a.j)};z.w($a,{count:"count"},function(){return this.Pa.Ad});$a.prototype.Rf=function(){this.value=this.key=null;this.qb=-1};
-$a.prototype.toString=function(){return null!==this.ob?"MapKeySetIterator@"+this.ob.value:"MapKeySetIterator"};function cb(a){z.xc(this);this.I=!0;this.Pa=a}z.Ta(cb,K);cb.prototype.freeze=function(){return this};cb.prototype.Za=function(){return this};cb.prototype.toString=function(){return"MapKeySet("+this.Pa.toString()+")"};cb.prototype.add=cb.prototype.set=cb.prototype.add=function(){z.k("This Set is read-only: "+this.toString());return!1};
+$a.prototype.toString=function(){return null!==this.ob?"MapKeySetIterator@"+this.ob.value:"MapKeySetIterator"};function cb(a){z.wc(this);this.I=!0;this.Pa=a}z.Ta(cb,K);cb.prototype.freeze=function(){return this};cb.prototype.Za=function(){return this};cb.prototype.toString=function(){return"MapKeySet("+this.Pa.toString()+")"};cb.prototype.add=cb.prototype.set=cb.prototype.add=function(){z.k("This Set is read-only: "+this.toString());return!1};
cb.prototype.contains=cb.prototype.has=cb.prototype.contains=function(a){return this.Pa.contains(a)};cb.prototype.remove=cb.prototype["delete"]=cb.prototype.remove=function(){z.k("This Set is read-only: "+this.toString());return!1};cb.prototype.clear=cb.prototype.clear=function(){z.k("This Set is read-only: "+this.toString())};cb.prototype.first=cb.prototype.first=function(){var a=this.Pa.La;return null!==a?a.key:null};
cb.prototype.any=function(a){for(var b=this.Pa.La;null!==b;){if(a(b.key))return!0;b=b.eb}return!1};cb.prototype.all=function(a){for(var b=this.Pa.La;null!==b;){if(!a(b.key))return!1;b=b.eb}return!0};cb.prototype.each=function(a){for(var b=this.Pa.La;null!==b;)a(b.key),b=b.eb;return this};cb.prototype.map=function(a){for(var b=new K,c=this.Pa.La;null!==c;)b.add(a(c.key)),c=c.eb;return b};
cb.prototype.filter=function(a){for(var b=new K(this.Pa.qf),c=this.Pa.La;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.eb}return b};cb.prototype.concat=function(a){return this.SG().Uc(a)};cb.prototype.copy=function(){return new cb(this.Pa)};cb.prototype.toSet=cb.prototype.SG=function(){var a=new K(this.Pa.qf),b=this.Pa.Bd,c;for(c in b)a.add(b[c].key);return a};cb.prototype.toArray=cb.prototype.nc=function(){var a=this.Pa.Bd,b=Array(this.Pa.Ad),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};
-cb.prototype.toList=function(){var a=new J(this.da),b=this.Pa.Bd,c;for(c in b)a.add(b[c].key);return a};z.w(cb,{count:"count"},function(){return this.Pa.Ad});z.w(cb,{size:"size"},function(){return this.Pa.Ad});z.w(cb,{j:"iterator"},function(){return 0>=this.Pa.Ad?Na:new $a(this.Pa)});function gb(a){this.Pa=a;this.reset()}z.ne(gb,{key:!0,value:!0});z.w(gb,{j:"iterator"},function(){return this});gb.prototype.reset=gb.prototype.reset=function(){var a=this.Pa;a.ok=null;this.qb=a.J;this.ob=null};
+cb.prototype.toList=function(){var a=new J(this.da),b=this.Pa.Bd,c;for(c in b)a.add(b[c].key);return a};z.w(cb,{count:"count"},function(){return this.Pa.Ad});z.w(cb,{size:"size"},function(){return this.Pa.Ad});z.w(cb,{j:"iterator"},function(){return 0>=this.Pa.Ad?Na:new $a(this.Pa)});function gb(a){this.Pa=a;this.reset()}z.me(gb,{key:!0,value:!0});z.w(gb,{j:"iterator"},function(){return this});gb.prototype.reset=gb.prototype.reset=function(){var a=this.Pa;a.ok=null;this.qb=a.J;this.ob=null};
gb.prototype.next=gb.prototype.hasNext=gb.prototype.next=function(){var a=this.Pa;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};gb.prototype.first=gb.prototype.first=function(){var a=this.Pa;this.qb=a.J;a=a.La;if(null!==a){this.ob=a;var b=a.value;this.key=a.key;return this.value=b}return null};
gb.prototype.any=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d.value))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};gb.prototype.all=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d.value))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};gb.prototype.each=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d.value),b.J!==c&&z.Va(b),d=d.eb;return this};
gb.prototype.map=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)d.add(a(e.value)),b.J!==c&&z.Va(b),e=e.eb;return d.j};gb.prototype.filter=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=new J(b.qf),e=b.La;null!==e;){var g=e.value;a(g)&&d.add(g);b.J!==c&&z.Va(b);e=e.eb}return d.j};gb.prototype.concat=function(a){this.Pa.ok=null;return new Sa(this,a.j)};z.w(gb,{count:"count"},function(){return this.Pa.Ad});
-gb.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.Pa.ok=this};gb.prototype.toString=function(){return null!==this.ob?"MapValueSetIterator@"+this.ob.value:"MapValueSetIterator"};function Za(a,b){this.key=a;this.value=b;this.Cp=this.eb=null}z.ne(Za,{key:!0,value:!0});Za.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};function ib(a){this.Pa=a;this.reset()}z.ne(ib,{key:!0,value:!0});z.w(ib,{j:"iterator"},function(){return this});
+gb.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.Pa.ok=this};gb.prototype.toString=function(){return null!==this.ob?"MapValueSetIterator@"+this.ob.value:"MapValueSetIterator"};function Za(a,b){this.key=a;this.value=b;this.Bp=this.eb=null}z.me(Za,{key:!0,value:!0});Za.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};function ib(a){this.Pa=a;this.reset()}z.me(ib,{key:!0,value:!0});z.w(ib,{j:"iterator"},function(){return this});
ib.prototype.reset=ib.prototype.reset=function(){var a=this.Pa;a.jc=null;this.qb=a.J;this.ob=null};ib.prototype.next=ib.prototype.hasNext=ib.prototype.next=function(){var a=this.Pa;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.key=b.key,this.value=b.value,!0;this.Rf();return!1};
ib.prototype.first=ib.prototype.first=function(){var a=this.Pa;this.qb=a.J;a=a.La;return null!==a?(this.ob=a,this.key=a.key,this.value=a.value,a):null};ib.prototype.any=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};ib.prototype.all=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};
ib.prototype.each=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d),b.J!==c&&z.Va(b),d=d.eb;return this};ib.prototype.map=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)d.add(a(e)),b.J!==c&&z.Va(b),e=e.eb;return d.j};ib.prototype.filter=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)a(e)&&d.add(e),b.J!==c&&z.Va(b),e=e.eb;return d.j};
ib.prototype.concat=function(a){this.Pa.jc=null;return new Sa(this,a.j)};z.w(ib,{count:"count"},function(){return this.Pa.Ad});ib.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.Pa.jc=this};ib.prototype.toString=function(){return null!==this.ob?"MapIterator@"+this.ob:"MapIterator"};
-function oa(a,b){z.xc(this);this.I=!1;void 0===a||null===a?this.qf=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.qf=a:z.wa(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.qf=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Map constructor: keytype");void 0===b||null===b?this.yi=null:"string"===typeof b?"object"===b||"string"===b||"boolean"===b||"number"===
+function oa(a,b){z.wc(this);this.I=!1;void 0===a||null===a?this.qf=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.qf=a:z.wa(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.qf=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Map constructor: keytype");void 0===b||null===b?this.yi=null:"string"===typeof b?"object"===b||"string"===b||"boolean"===b||"number"===
b||"function"===b?this.yi=b:z.wa(b,"the string 'object', 'number', 'string', 'boolean', or 'function'","Map constructor: valtype"):"function"===typeof b?this.yi=b===Object?"object":b===String?"string":b===Number?"number":b===Boolean?"boolean":b===Function?"function":b:z.wa(b,"null, a primitive type name, or a class type","Map constructor: valtype");this.Bd={};this.Ad=0;this.ok=this.jc=null;this.J=0;this.fi=this.La=null}z.ka("Map",oa);
function mb(a,b){null!==a.qf&&("string"===typeof a.qf?typeof b===a.qf&&null!==b||z.hc(b,a.qf):b instanceof a.qf||z.hc(b,a.qf))}oa.prototype.Sc=function(){var a=this.J;a++;999999999=this.count)return Na;var a=this.jc;return null!==a?(a.reset(),a):new ib(this)});z.w(oa,{OF:"iteratorKeys"},function(){return 0>=this.count?Na:new $a(this)});z.w(oa,{PF:"iteratorValues"},function(){if(0>=this.count)return Na;var a=this.ok;return null!==a?(a.reset(),a):new gb(this)});function M(a,b){void 0===a?this.M=this.L=0:"number"===typeof a&&"number"===typeof b?(this.L=a,this.M=b):z.k("Invalid arguments to Point constructor: "+a+", "+b);this.I=!1}
-z.ka("Point",M);z.Ai(M);z.ne(M,{x:!0,y:!0});M.prototype.assign=function(a){this.L=a.L;this.M=a.M};M.prototype.setTo=M.prototype.m=function(a,b){u&&(z.h(a,"number",M,"setTo:x"),z.h(b,"number",M,"setTo:y"));this.L=a;this.M=b;return this};M.prototype.set=M.prototype.set=function(a){u&&z.l(a,M,M,"set:p");this.Sa();this.L=a.L;this.M=a.M;return this};M.prototype.copy=function(){var a=new M;a.L=this.L;a.M=this.M;return a};f=M.prototype;f.Na=function(){this.I=!0;Object.freeze(this);return this};
+z.ka("Point",M);z.Ai(M);z.me(M,{x:!0,y:!0});M.prototype.assign=function(a){this.L=a.L;this.M=a.M};M.prototype.setTo=M.prototype.m=function(a,b){u&&(z.h(a,"number",M,"setTo:x"),z.h(b,"number",M,"setTo:y"));this.L=a;this.M=b;return this};M.prototype.set=M.prototype.set=function(a){u&&z.l(a,M,M,"set:p");this.Sa();this.L=a.L;this.M=a.M;return this};M.prototype.copy=function(){var a=new M;a.L=this.L;a.M=this.M;return a};f=M.prototype;f.Na=function(){this.I=!0;Object.freeze(this);return this};
f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Point is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
M.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));return new M(c,e)}return new M};M.stringify=function(a){return a instanceof M?a.x.toString()+" "+a.y.toString():a.toString()};M.prototype.toString=function(){return"Point("+this.x+","+this.y+")"};M.prototype.equals=M.prototype.O=function(a){return a instanceof M?this.L===a.x&&this.M===a.y:!1};
-M.prototype.equalTo=M.prototype.Ax=function(a,b){return this.L===a&&this.M===b};M.prototype.equalsApprox=M.prototype.Vc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)};M.prototype.add=M.prototype.add=function(a){u&&z.l(a,M,M,"add:p");this.Sa();this.L+=a.x;this.M+=a.y;return this};M.prototype.subtract=M.prototype.so=function(a){u&&z.l(a,M,M,"subtract:p");this.Sa();this.L-=a.x;this.M-=a.y;return this};
+M.prototype.equalTo=M.prototype.Ax=function(a,b){return this.L===a&&this.M===b};M.prototype.equalsApprox=M.prototype.Vc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)};M.prototype.add=M.prototype.add=function(a){u&&z.l(a,M,M,"add:p");this.Sa();this.L+=a.x;this.M+=a.y;return this};M.prototype.subtract=M.prototype.ro=function(a){u&&z.l(a,M,M,"subtract:p");this.Sa();this.L-=a.x;this.M-=a.y;return this};
M.prototype.offset=M.prototype.offset=function(a,b){u&&(z.p(a,M,"offset:dx"),z.p(b,M,"offset:dy"));this.Sa();this.L+=a;this.M+=b;return this};M.prototype.rotate=M.prototype.rotate=function(a){u&&z.p(a,M,"rotate:angle");this.Sa();if(0===a)return this;var b=this.L,c=this.M;if(0===b&&0===c)return this;var d=0,e=0;360<=a?a-=360:0>a&&(a+=360);90===a?(d=0,e=1):180===a?(d=-1,e=0):270===a?(d=0,e=-1):(a=a*Math.PI/180,d=Math.cos(a),e=Math.sin(a));this.L=d*b-e*c;this.M=e*b+d*c;return this};
-M.prototype.scale=M.prototype.scale=function(a,b){u&&(z.p(a,M,"scale:sx"),z.p(b,M,"scale:sy"));this.L*=a;this.M*=b;return this};M.prototype.distanceSquaredPoint=M.prototype.Ef=function(a){u&&z.l(a,M,M,"distanceSquaredPoint:p");var b=a.x-this.L;a=a.y-this.M;return b*b+a*a};M.prototype.distanceSquared=M.prototype.iq=function(a,b){u&&(z.p(a,M,"distanceSquared:px"),z.p(b,M,"distanceSquared:py"));var c=a-this.L,d=b-this.M;return c*c+d*d};
+M.prototype.scale=M.prototype.scale=function(a,b){u&&(z.p(a,M,"scale:sx"),z.p(b,M,"scale:sy"));this.L*=a;this.M*=b;return this};M.prototype.distanceSquaredPoint=M.prototype.Ef=function(a){u&&z.l(a,M,M,"distanceSquaredPoint:p");var b=a.x-this.L;a=a.y-this.M;return b*b+a*a};M.prototype.distanceSquared=M.prototype.hq=function(a,b){u&&(z.p(a,M,"distanceSquared:px"),z.p(b,M,"distanceSquared:py"));var c=a-this.L,d=b-this.M;return c*c+d*d};
M.prototype.normalize=M.prototype.normalize=function(){this.Sa();var a=this.L,b=this.M,c=Math.sqrt(a*a+b*b);0b?270:0;if(0===b)return 0a?c=0>b?c+180:180-c:0>b&&(c=360-c);return c}M.prototype.projectOntoLineSegment=function(a,b,c,d){u&&(z.p(a,M,"projectOntoLineSegment:px"),z.p(b,M,"projectOntoLineSegment:py"),z.p(c,M,"projectOntoLineSegment:qx"),z.p(d,M,"projectOntoLineSegment:qy"));ob(a,b,c,d,this.L,this.M,this);return this};
M.prototype.projectOntoLineSegmentPoint=function(a,b){u&&(z.l(a,M,M,"projectOntoLineSegmentPoint:p"),z.l(b,M,M,"projectOntoLineSegmentPoint:q"));ob(a.x,a.y,b.x,b.y,this.L,this.M,this);return this};M.prototype.snapToGrid=function(a,b,c,d){u&&(z.p(a,M,"snapToGrid:originx"),z.p(b,M,"snapToGrid:originy"),z.p(c,M,"snapToGrid:cellwidth"),z.p(d,M,"snapToGrid:cellheight"));tb(this.L,this.M,a,b,c,d,this);return this};
-M.prototype.snapToGridPoint=function(a,b){u&&(z.l(a,M,M,"snapToGridPoint:p"),z.l(b,Fa,M,"snapToGridPoint:q"));tb(this.L,this.M,a.x,a.y,b.width,b.height,this);return this};M.prototype.setRectSpot=M.prototype.po=function(a,b){u&&(z.l(a,w,M,"setRectSpot:r"),z.l(b,R,M,"setRectSpot:spot"));this.Sa();this.L=a.x+b.x*a.width+b.offsetX;this.M=a.y+b.y*a.height+b.offsetY;return this};
+M.prototype.snapToGridPoint=function(a,b){u&&(z.l(a,M,M,"snapToGridPoint:p"),z.l(b,Fa,M,"snapToGridPoint:q"));tb(this.L,this.M,a.x,a.y,b.width,b.height,this);return this};M.prototype.setRectSpot=M.prototype.oo=function(a,b){u&&(z.l(a,w,M,"setRectSpot:r"),z.l(b,R,M,"setRectSpot:spot"));this.Sa();this.L=a.x+b.x*a.width+b.offsetX;this.M=a.y+b.y*a.height+b.offsetY;return this};
M.prototype.setSpot=M.prototype.Xu=function(a,b,c,d,e){u&&(z.p(a,M,"setSpot:x"),z.p(b,M,"setSpot:y"),z.p(c,M,"setSpot:w"),z.p(d,M,"setSpot:h"),(0>c||0>d)&&z.k("Point.setSpot:Width and height cannot be negative"),z.l(e,R,M,"setSpot:spot"));this.Sa();this.L=a+e.x*c+e.offsetX;this.M=b+e.y*d+e.offsetY;return this};M.prototype.transform=function(a){u&&z.l(a,Ga,M,"transform:t");a.wb(this);return this};function ub(a,b){u&&z.l(b,Ga,M,"transformInverted:t");b.Ci(a);return a}var xb;
M.distanceLineSegmentSquared=xb=function(a,b,c,d,e,g){u&&(z.p(a,M,"distanceLineSegmentSquared:px"),z.p(b,M,"distanceLineSegmentSquared:py"),z.p(c,M,"distanceLineSegmentSquared:ax"),z.p(d,M,"distanceLineSegmentSquared:ay"),z.p(e,M,"distanceLineSegmentSquared:bx"),z.p(g,M,"distanceLineSegmentSquared:by"));var h=e-c,k=g-d,l=h*h+k*k;c-=a;d-=b;var m=-c*h-d*k;if(0>=m||m>=l)return h=e-a,k=g-b,Math.min(c*c+d*d,h*h+k*k);a=h*d-k*c;return a*a/l};var yb;
M.distanceSquared=yb=function(a,b,c,d){u&&(z.p(a,M,"distanceSquared:px"),z.p(b,M,"distanceSquared:py"),z.p(c,M,"distanceSquared:qx"),z.p(d,M,"distanceSquared:qy"));a=c-a;b=d-b;return a*a+b*b};var zb;
M.direction=zb=function(a,b,c,d){u&&(z.p(a,M,"direction:px"),z.p(b,M,"direction:py"),z.p(c,M,"direction:qx"),z.p(d,M,"direction:qy"));a=c-a;b=d-b;if(0===a)return 0b?270:0;if(0===b)return 0a?d=0>b?d+180:180-d:0>b&&(d=360-d);return d};z.defineProperty(M,{x:"x"},function(){return this.L},function(a){this.Sa(a);u&&z.h(a,"number",M,"x");this.L=a});
-z.defineProperty(M,{y:"y"},function(){return this.M},function(a){this.Sa(a);u&&z.h(a,"number",M,"y");this.M=a});M.prototype.isReal=M.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)};function Fa(a,b){void 0===a?this.Ga=this.Ia=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.Ia=a,this.Ga=b):z.k("Invalid arguments to Size constructor: "+a+", "+b);this.I=!1}z.ka("Size",Fa);z.Ai(Fa);z.ne(Fa,{width:!0,height:!0});
+z.defineProperty(M,{y:"y"},function(){return this.M},function(a){this.Sa(a);u&&z.h(a,"number",M,"y");this.M=a});M.prototype.isReal=M.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)};function Fa(a,b){void 0===a?this.Ga=this.Ia=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.Ia=a,this.Ga=b):z.k("Invalid arguments to Size constructor: "+a+", "+b);this.I=!1}z.ka("Size",Fa);z.Ai(Fa);z.me(Fa,{width:!0,height:!0});
Fa.prototype.assign=function(a){this.Ia=a.Ia;this.Ga=a.Ga};Fa.prototype.setTo=Fa.prototype.m=function(a,b){u&&(z.h(a,"number",Fa,"setTo:w"),z.h(b,"number",Fa,"setTo:h"),0>a&&z.wa(a,">= 0",Fa,"setTo:w"),0>b&&z.wa(b,">= 0",Fa,"setTo:h"));this.Ia=a;this.Ga=b;return this};Fa.prototype.set=Fa.prototype.set=function(a){u&&z.l(a,Fa,Fa,"set:s");this.Sa();this.Ia=a.Ia;this.Ga=a.Ga;return this};Fa.prototype.copy=function(){var a=new Fa;a.Ia=this.Ia;a.Ga=this.Ga;return a};f=Fa.prototype;
f.Na=function(){this.I=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Size is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
Fa.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));return new Fa(c,e)}return new Fa};Fa.stringify=function(a){return a instanceof Fa?a.width.toString()+" "+a.height.toString():a.toString()};Fa.prototype.toString=function(){return"Size("+this.width+","+this.height+")"};
Fa.prototype.equals=Fa.prototype.O=function(a){return a instanceof Fa?this.Ia===a.width&&this.Ga===a.height:!1};Fa.prototype.equalTo=Fa.prototype.Ax=function(a,b){return this.Ia===a&&this.Ga===b};Fa.prototype.equalsApprox=Fa.prototype.Vc=function(a){return Q(this.Ia,a.width)&&Q(this.Ga,a.height)};z.defineProperty(Fa,{width:"width"},function(){return this.Ia},function(a){this.Sa(a);u&&z.h(a,"number",Fa,"width");0>a&&z.wa(a,">= 0",Fa,"width");this.Ia=a});
z.defineProperty(Fa,{height:"height"},function(){return this.Ga},function(a){this.Sa(a);u&&z.h(a,"number",Fa,"height");0>a&&z.wa(a,">= 0",Fa,"height");this.Ga=a});Fa.prototype.isReal=Fa.prototype.F=function(){return isFinite(this.width)&&isFinite(this.height)};
function w(a,b,c,d){void 0===a?this.Ga=this.Ia=this.M=this.L=0:a instanceof M?b instanceof M?(this.L=Math.min(a.L,b.L),this.M=Math.min(a.M,b.M),this.Ia=Math.abs(a.L-b.L),this.Ga=Math.abs(a.M-b.M)):b instanceof Fa?(this.L=a.L,this.M=a.M,this.Ia=b.Ia,this.Ga=b.Ga):z.k("Incorrect arguments supplied to Rect constructor"):"number"===typeof a&&"number"===typeof b&&"number"===typeof c&&(0<=c||isNaN(c))&&"number"===typeof d&&(0<=d||isNaN(d))?(this.L=a,this.M=b,this.Ia=c,this.Ga=d):z.k("Invalid arguments to Rect constructor: "+
-a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Rect",w);z.Ai(w);z.ne(w,{x:!0,y:!0,width:!0,height:!0});w.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ga=a.Ga};function Ab(a,b,c){a.Ia=b;a.Ga=c}w.prototype.setTo=w.prototype.m=function(a,b,c,d){u&&(z.h(a,"number",w,"setTo:x"),z.h(b,"number",w,"setTo:y"),z.h(c,"number",w,"setTo:w"),z.h(d,"number",w,"setTo:h"),0>c&&z.wa(c,">= 0",w,"setTo:w"),0>d&&z.wa(d,">= 0",w,"setTo:h"));this.L=a;this.M=b;this.Ia=c;this.Ga=d;return this};
+a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Rect",w);z.Ai(w);z.me(w,{x:!0,y:!0,width:!0,height:!0});w.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ga=a.Ga};function Ab(a,b,c){a.Ia=b;a.Ga=c}w.prototype.setTo=w.prototype.m=function(a,b,c,d){u&&(z.h(a,"number",w,"setTo:x"),z.h(b,"number",w,"setTo:y"),z.h(c,"number",w,"setTo:w"),z.h(d,"number",w,"setTo:h"),0>c&&z.wa(c,">= 0",w,"setTo:w"),0>d&&z.wa(d,">= 0",w,"setTo:h"));this.L=a;this.M=b;this.Ia=c;this.Ga=d;return this};
w.prototype.set=w.prototype.set=function(a){u&&z.l(a,w,w,"set:r");this.Sa();this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ga=a.Ga;return this};w.prototype.setPoint=w.prototype.dh=function(a){u&&z.l(a,M,w,"setPoint:p");this.Sa();this.L=a.L;this.M=a.M;return this};w.prototype.setSize=function(a){u&&z.l(a,Fa,w,"setSize:s");this.Sa();this.Ia=a.Ia;this.Ga=a.Ga;return this};w.prototype.copy=function(){var a=new w;a.L=this.L;a.M=this.M;a.Ia=this.Ia;a.Ga=this.Ga;return a};f=w.prototype;
f.Na=function(){this.I=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Rect is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
w.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));for(var g=0;""===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));for(var h=0;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return new w(c,e,g,h)}return new w};w.stringify=function(a){return a instanceof w?a.x.toString()+" "+a.y.toString()+" "+a.width.toString()+" "+a.height.toString():a.toString()};
@@ -151,7 +151,7 @@ w.prototype.subtractMargin=w.prototype.sK=function(a){u&&z.l(a,Kb,w,"subtractMar
w.prototype.intersectRect=function(a){u&&z.l(a,w,w,"intersectRect:r");return Lb(this,a.x,a.y,a.width,a.height)};w.prototype.intersect=w.prototype.zF=function(a,b,c,d){u&&(z.p(a,w,"intersect:x"),z.p(b,w,"intersect:y"),z.p(c,w,"intersect:w"),z.p(d,w,"intersect:h"),(0>c||0>d)&&z.k("Rect.intersect:Width and height cannot be negative"));return Lb(this,a,b,c,d)};
function Lb(a,b,c,d,e){a.Sa();var g=Math.max(a.L,b),h=Math.max(a.M,c);b=Math.min(a.L+a.Ia,b+d);c=Math.min(a.M+a.Ga,c+e);a.L=g;a.M=h;a.Ia=Math.max(0,b-g);a.Ga=Math.max(0,c-h);return a}w.prototype.intersectsRect=w.prototype.Vg=function(a){u&&z.l(a,w,w,"intersectsRect:r");return this.AF(a.x,a.y,a.width,a.height)};
w.prototype.intersects=w.prototype.AF=function(a,b,c,d){u&&(z.p(a,w,"intersects:x"),z.p(b,w,"intersects:y"),z.p(a,w,"intersects:w"),z.p(b,w,"intersects:h"),(0>c||0>d)&&z.k("Rect.intersects:Width and height cannot be negative"));var e=this.Ia,g=this.L;if(Infinity!==e&&Infinity!==c&&(e+=g,c+=a,isNaN(c)||isNaN(e)||g>c||a>e))return!1;a=this.Ga;c=this.M;return Infinity!==a&&Infinity!==d&&(a+=c,d+=b,isNaN(d)||isNaN(a)||c>d||b>a)?!1:!0};
-function Mb(a,b){var c=a.Ia,d=b.width+10+10,e=a.L,g=b.x-10;if(e>d+g||g>c+e)return!1;c=a.Ga;d=b.height+10+10;e=a.M;g=b.y-10;return e>d+g||g>c+e?!1:!0}w.prototype.unionPoint=w.prototype.Ki=function(a){u&&z.l(a,M,w,"unionPoint:p");return Rb(this,a.x,a.y,0,0)};w.prototype.unionRect=w.prototype.Wh=function(a){u&&z.l(a,w,w,"unionRect:r");return Rb(this,a.L,a.M,a.Ia,a.Ga)};
+function Qb(a,b){var c=a.Ia,d=b.width+10+10,e=a.L,g=b.x-10;if(e>d+g||g>c+e)return!1;c=a.Ga;d=b.height+10+10;e=a.M;g=b.y-10;return e>d+g||g>c+e?!1:!0}w.prototype.unionPoint=w.prototype.Ki=function(a){u&&z.l(a,M,w,"unionPoint:p");return Rb(this,a.x,a.y,0,0)};w.prototype.unionRect=w.prototype.Wh=function(a){u&&z.l(a,w,w,"unionRect:r");return Rb(this,a.L,a.M,a.Ia,a.Ga)};
w.prototype.union=w.prototype.$G=function(a,b,c,d){this.Sa();u?(z.p(a,w,"union:x"),z.p(b,w,"union:y"),void 0===c?c=0:z.p(c,w,"union:w"),void 0===d?d=0:z.p(d,w,"union:h"),(0>c||0>d)&&z.k("Rect.union:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return Rb(this,a,b,c,d)};function Rb(a,b,c,d,e){var g=Math.min(a.L,b),h=Math.min(a.M,c);b=Math.max(a.L+a.Ia,b+d);c=Math.max(a.M+a.Ga,c+e);a.L=g;a.M=h;a.Ia=b-g;a.Ga=c-h;return a}
w.prototype.setSpot=w.prototype.Xu=function(a,b,c){u&&(z.p(a,w,"setSpot:x"),z.p(b,w,"setSpot:y"),z.l(c,R,w,"setSpot:spot"));this.Sa();this.L=a-c.offsetX-c.x*this.Ia;this.M=b-c.offsetY-c.y*this.Ga;return this};var Sb;
w.contains=Sb=function(a,b,c,d,e,g,h,k){u?(z.p(a,w,"contains:rx"),z.p(b,w,"contains:ry"),z.p(c,w,"contains:rw"),z.p(d,w,"contains:rh"),z.p(e,w,"contains:x"),z.p(g,w,"contains:y"),void 0===h?h=0:z.p(h,w,"contains:w"),void 0===k?k=0:z.p(k,w,"contains:h"),(0>c||0>d||0>h||0>k)&&z.k("Rect.contains:Width and height cannot be negative")):(void 0===h&&(h=0),void 0===k&&(k=0));return a<=e&&e+h<=a+c&&b<=g&&g+k<=b+d};
@@ -161,14 +161,14 @@ z.defineProperty(w,{left:"left"},function(){return this.L},function(a){this.Sa(a
z.defineProperty(w,{bottom:"bottom"},function(){return this.M+this.Ga},function(a){this.Sa(a);u&&z.p(a,w,"top");this.M+=a-(this.M+this.Ga)});z.defineProperty(w,{position:"position"},function(){return new M(this.L,this.M)},function(a){this.Sa(a);u&&z.l(a,M,w,"position");this.L=a.x;this.M=a.y});z.defineProperty(w,{size:"size"},function(){return new Fa(this.Ia,this.Ga)},function(a){this.Sa(a);u&&z.l(a,Fa,w,"size");this.Ia=a.width;this.Ga=a.height});
z.defineProperty(w,{$l:"center"},function(){return new M(this.L+this.Ia/2,this.M+this.Ga/2)},function(a){this.Sa(a);u&&z.l(a,M,w,"center");this.L=a.x-this.Ia/2;this.M=a.y-this.Ga/2});z.defineProperty(w,{oa:"centerX"},function(){return this.L+this.Ia/2},function(a){this.Sa(a);u&&z.p(a,w,"centerX");this.L=a-this.Ia/2});z.defineProperty(w,{xa:"centerY"},function(){return this.M+this.Ga/2},function(a){this.Sa(a);u&&z.p(a,w,"centerY");this.M=a-this.Ga/2});
w.prototype.isReal=w.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)};w.prototype.isEmpty=function(){return 0===this.width&&0===this.height};
-function Kb(a,b,c,d){void 0===a?this.th=this.mh=this.Ch=this.Dh=0:void 0===b?this.left=this.bottom=this.right=this.top=a:void 0===c?(d=b,this.top=a,this.right=b,this.bottom=a,this.left=d):void 0!==d?(this.top=a,this.right=b,this.bottom=c,this.left=d):z.k("Invalid arguments to Margin constructor: "+a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Margin",Kb);z.Ai(Kb);z.ne(Kb,{top:!0,right:!0,bottom:!0,left:!0});Kb.prototype.assign=function(a){this.Dh=a.Dh;this.Ch=a.Ch;this.mh=a.mh;this.th=a.th};
+function Kb(a,b,c,d){void 0===a?this.th=this.mh=this.Ch=this.Dh=0:void 0===b?this.left=this.bottom=this.right=this.top=a:void 0===c?(d=b,this.top=a,this.right=b,this.bottom=a,this.left=d):void 0!==d?(this.top=a,this.right=b,this.bottom=c,this.left=d):z.k("Invalid arguments to Margin constructor: "+a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Margin",Kb);z.Ai(Kb);z.me(Kb,{top:!0,right:!0,bottom:!0,left:!0});Kb.prototype.assign=function(a){this.Dh=a.Dh;this.Ch=a.Ch;this.mh=a.mh;this.th=a.th};
Kb.prototype.setTo=Kb.prototype.m=function(a,b,c,d){u&&(z.h(a,"number",Kb,"setTo:t"),z.h(b,"number",Kb,"setTo:r"),z.h(c,"number",Kb,"setTo:b"),z.h(d,"number",Kb,"setTo:l"));this.Sa();this.Dh=a;this.Ch=b;this.mh=c;this.th=d;return this};Kb.prototype.set=Kb.prototype.set=function(a){u&&z.l(a,Kb,Kb,"assign:m");this.Sa();this.Dh=a.Dh;this.Ch=a.Ch;this.mh=a.mh;this.th=a.th;return this};Kb.prototype.copy=function(){var a=new Kb;a.Dh=this.Dh;a.Ch=this.Ch;a.mh=this.mh;a.th=this.th;return a};f=Kb.prototype;
f.Na=function(){this.I=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Margin is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
Kb.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=NaN;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));if(isNaN(c))return new Kb;for(var e=NaN;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));if(isNaN(e))return new Kb(c);for(var g=NaN;""===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));if(isNaN(g))return new Kb(c,e);for(var h=NaN;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return isNaN(h)?new Kb(c,e):new Kb(c,e,g,h)}return new Kb};
Kb.stringify=function(a){return a instanceof Kb?a.top.toString()+" "+a.right.toString()+" "+a.bottom.toString()+" "+a.left.toString():a.toString()};Kb.prototype.toString=function(){return"Margin("+this.top+","+this.right+","+this.bottom+","+this.left+")"};Kb.prototype.equals=Kb.prototype.O=function(a){return a instanceof Kb?this.Dh===a.top&&this.Ch===a.right&&this.mh===a.bottom&&this.th===a.left:!1};
Kb.prototype.equalTo=Kb.prototype.Ax=function(a,b,c,d){return this.Dh===a&&this.Ch===b&&this.mh===c&&this.th===d};Kb.prototype.equalsApprox=Kb.prototype.Vc=function(a){return Q(this.Dh,a.top)&&Q(this.Ch,a.right)&&Q(this.mh,a.bottom)&&Q(this.th,a.left)};z.defineProperty(Kb,{top:"top"},function(){return this.Dh},function(a){this.Sa(a);u&&z.p(a,Kb,"top");this.Dh=a});z.defineProperty(Kb,{right:"right"},function(){return this.Ch},function(a){this.Sa(a);u&&z.p(a,Kb,"right");this.Ch=a});
z.defineProperty(Kb,{bottom:"bottom"},function(){return this.mh},function(a){this.Sa(a);u&&z.p(a,Kb,"bottom");this.mh=a});z.defineProperty(Kb,{left:"left"},function(){return this.th},function(a){this.Sa(a);u&&z.p(a,Kb,"left");this.th=a});Kb.prototype.isReal=Kb.prototype.F=function(){return isFinite(this.top)&&isFinite(this.right)&&isFinite(this.bottom)&&isFinite(this.left)};function Ga(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0}z.Ai(Ga);
-z.ne(Ga,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});Ga.prototype.set=Ga.prototype.set=function(a){u&&z.l(a,Ga,Ga,"set:t");this.m11=a.m11;this.m12=a.m12;this.m21=a.m21;this.m22=a.m22;this.dx=a.dx;this.dy=a.dy;return this};Ga.prototype.copy=function(){var a=new Ga;a.m11=this.m11;a.m12=this.m12;a.m21=this.m21;a.m22=this.m22;a.dx=this.dx;a.dy=this.dy;return a};Ga.prototype.toString=function(){return"Transform("+this.m11+","+this.m12+","+this.m21+","+this.m22+","+this.dx+","+this.dy+")"};
+z.me(Ga,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});Ga.prototype.set=Ga.prototype.set=function(a){u&&z.l(a,Ga,Ga,"set:t");this.m11=a.m11;this.m12=a.m12;this.m21=a.m21;this.m22=a.m22;this.dx=a.dx;this.dy=a.dy;return this};Ga.prototype.copy=function(){var a=new Ga;a.m11=this.m11;a.m12=this.m12;a.m21=this.m21;a.m22=this.m22;a.dx=this.dx;a.dy=this.dy;return a};Ga.prototype.toString=function(){return"Transform("+this.m11+","+this.m12+","+this.m21+","+this.m22+","+this.dx+","+this.dy+")"};
Ga.prototype.equals=Ga.prototype.O=function(a){return a instanceof Ga?this.m11===a.m11&&this.m12===a.m12&&this.m21===a.m21&&this.m22===a.m22&&this.dx===a.dx&&this.dy===a.dy:!1};Ga.prototype.isIdentity=Ga.prototype.uu=function(){return 1===this.m11&&0===this.m12&&0===this.m21&&1===this.m22&&0===this.dx&&0===this.dy};Ga.prototype.reset=Ga.prototype.reset=function(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0;return this};
Ga.prototype.multiply=Ga.prototype.multiply=function(a){u&&z.l(a,Ga,Ga,"multiply:matrix");var b=this.m12*a.m11+this.m22*a.m12,c=this.m11*a.m21+this.m21*a.m22,d=this.m12*a.m21+this.m22*a.m22,e=this.m11*a.dx+this.m21*a.dy+this.dx,g=this.m12*a.dx+this.m22*a.dy+this.dy;this.m11=this.m11*a.m11+this.m21*a.m12;this.m12=b;this.m21=c;this.m22=d;this.dx=e;this.dy=g;return this};
Ga.prototype.multiplyInverted=Ga.prototype.fB=function(a){u&&z.l(a,Ga,Ga,"multiplyInverted:matrix");var b=1/(a.m11*a.m22-a.m12*a.m21),c=a.m22*b,d=-a.m12*b,e=-a.m21*b,g=a.m11*b,h=b*(a.m21*a.dy-a.m22*a.dx),k=b*(a.m12*a.dx-a.m11*a.dy);a=this.m12*c+this.m22*d;b=this.m11*e+this.m21*g;e=this.m12*e+this.m22*g;g=this.m11*h+this.m21*k+this.dx;h=this.m12*h+this.m22*k+this.dy;this.m11=this.m11*c+this.m21*d;this.m12=a;this.m21=b;this.m22=e;this.dx=g;this.dy=h;return this};
@@ -177,7 +177,7 @@ Ga.prototype.rotate=Ga.prototype.rotate=function(a,b,c){u&&(z.p(a,Ga,"rotate:ang
Ga.prototype.translate=Ga.prototype.translate=function(a,b){u&&(z.p(a,Ga,"translate:x"),z.p(b,Ga,"translate:y"));this.dx+=this.m11*a+this.m21*b;this.dy+=this.m12*a+this.m22*b;return this};Ga.prototype.scale=Ga.prototype.scale=function(a,b){void 0===b&&(b=a);u&&(z.p(a,Ga,"translate:sx"),z.p(b,Ga,"translate:sy"));this.m11*=a;this.m12*=a;this.m21*=b;this.m22*=b;return this};
Ga.prototype.transformPoint=Ga.prototype.wb=function(a){u&&z.l(a,M,Ga,"transformPoint:p");var b=a.L,c=a.M;a.L=b*this.m11+c*this.m21+this.dx;a.M=b*this.m12+c*this.m22+this.dy;return a};Ga.prototype.invertedTransformPoint=Ga.prototype.Ci=function(a){u&&z.l(a,M,Ga,"invertedTransformPoint:p");var b=1/(this.m11*this.m22-this.m12*this.m21),c=-this.m12*b,d=this.m11*b,e=b*(this.m12*this.dx-this.m11*this.dy),g=a.L,h=a.M;a.L=g*this.m22*b+h*-this.m21*b+b*(this.m21*this.dy-this.m22*this.dx);a.M=g*c+h*d+e;return a};
Ga.prototype.transformRect=Ga.prototype.ZG=function(a){u&&z.l(a,w,Ga,"transformRect:rect");var b=a.L,c=a.M,d=b+a.Ia,e=c+a.Ga,g=this.m11,h=this.m12,k=this.m21,l=this.m22,m=this.dx,n=this.dy,p=b*g+c*k+m,q=b*h+c*l+n,r=d*g+c*k+m,c=d*h+c*l+n,s=b*g+e*k+m,b=b*h+e*l+n,g=d*g+e*k+m,d=d*h+e*l+n,e=p,h=q,p=Math.min(p,r),e=Math.max(e,r),h=Math.min(h,c),q=Math.max(q,c),p=Math.min(p,s),e=Math.max(e,s),h=Math.min(h,b),q=Math.max(q,b),p=Math.min(p,g),e=Math.max(e,g),h=Math.min(h,d),q=Math.max(q,d);a.L=p;a.M=h;a.Ia=
-e-p;a.Ga=q-h;return a};function R(a,b,c,d){void 0===a?this.Jg=this.Ig=this.M=this.L=0:(void 0===b&&(b=0),void 0===c&&(c=0),void 0===d&&(d=0),this.x=a,this.y=b,this.offsetX=c,this.offsetY=d);this.I=!1}z.ka("Spot",R);z.Ai(R);z.ne(R,{x:!0,y:!0,offsetX:!0,offsetY:!0});R.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ig=a.Ig;this.Jg=a.Jg};
+e-p;a.Ga=q-h;return a};function R(a,b,c,d){void 0===a?this.Jg=this.Ig=this.M=this.L=0:(void 0===b&&(b=0),void 0===c&&(c=0),void 0===d&&(d=0),this.x=a,this.y=b,this.offsetX=c,this.offsetY=d);this.I=!1}z.ka("Spot",R);z.Ai(R);z.me(R,{x:!0,y:!0,offsetX:!0,offsetY:!0});R.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ig=a.Ig;this.Jg=a.Jg};
R.prototype.setTo=R.prototype.m=function(a,b,c,d){u&&(Vb(a,"setTo:x"),Vb(b,"setTo:y"),Zb(c,"setTo:offx"),Zb(d,"setTo:offy"));this.Sa();this.L=a;this.M=b;this.Ig=c;this.Jg=d;return this};R.prototype.set=R.prototype.set=function(a){u&&z.l(a,R,R,"set:s");this.Sa();this.L=a.L;this.M=a.M;this.Ig=a.Ig;this.Jg=a.Jg;return this};R.prototype.copy=function(){var a=new R;a.L=this.L;a.M=this.M;a.Ig=this.Ig;a.Jg=this.Jg;return a};f=R.prototype;f.Na=function(){this.I=!0;Object.freeze(this);return this};
f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Spot is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};function $b(a,b){a.L=NaN;a.M=NaN;a.Ig=b;return a}function Vb(a,b){(isNaN(a)||1a)&&z.wa(a,"0 <= "+b+" <= 1",R,b)}
function Zb(a,b){(isNaN(a)||Infinity===a||-Infinity===a)&&z.wa(a,"real number, not NaN or Infinity",R,b)}var fc;
@@ -187,7 +187,7 @@ var d=a[b++];void 0!==d&&0=2*Math.PI?(pd(a,b,c,d,e,e+Math.PI,h),pd(a,b,c,d,e+Math.PI,e+2*Math.PI,h),a.path.push(["M",l,g])):(b+=d*Math.cos(e),c+=d*Math.sin(e),k=180*k/Math.PI,e=h?0:1,h=180<=k===!!h?0:1,0!==a.path.length?a.path.push(["L",b,c]):a.path.push(["M",b,c]),a.path.push(["A",d,d,k,h,e,l,g]))}}function od(a,b,c,d,e,g,h){var k=new dd;k.Yb=[b,c,d,e,g,h];b={};xd(a,"g",b,k);k=a.addElement("g",b);a.Gf.push(k)}
f.hb=function(){if(0!==this.shadowOffsetX||0!==this.shadowOffsetY||0!==this.shadowBlur){var a="SHADOW"+z.Em++,b=this.addElement("filter",{id:a,x:"-100%",y:"-100%",width:"300%",height:"300%"},null),c,d,e,g,h;c=nd(this,"feGaussianBlur",{"in":"SourceAlpha",result:"blur",zM:this.shadowBlur/2});d=nd(this,"feFlood",{"in":"blur",result:"flood","flood-color":this.shadowColor});e=nd(this,"feComposite",{"in":"flood",in2:"blur",operator:"in",result:"comp"});g=nd(this,"feOffset",{"in":"comp",result:"offsetBlur",
-dx:this.shadowOffsetX,dy:this.shadowOffsetY});h=nd(this,"feMerge",{});h.appendChild(nd(this,"feMergeNode",{"in":"offsetBlur"}));h.appendChild(nd(this,"feMergeNode",{"in":"SourceGraphic"}));b.appendChild(c);b.appendChild(d);b.appendChild(e);b.appendChild(g);b.appendChild(h);0b?(this.scale(b/a,1),this.translate((a-b)/2,0)):b>a&&(this.scale(1,a/b),this.translate(0,(b-a)/2));this.Go?this.clip():this.fill();a>b?(this.translate(-(a-b)/2,0),this.scale(1/(b/a),1)):b>a&&(this.translate(0,-(b-a)/2),this.scale(1,1/(a/b)))}else this.Go?this.clip():this.fill()};f.Rj=function(){this.Go||this.stroke()};z.defineProperty(Ad,{Wt:"clipInsteadOfFill"},function(){return this.Go},function(a){this.Go=a});f=Ad.prototype;
-f.FB=function(a,b,c){this.ot=a;this.pt=b;this.Lg=c};f.qo=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};f.ro=function(){this.shadowOffsetX=this.ot;this.shadowOffsetY=this.pt;this.shadowBlur=this.Lg};f.AA=function(a,b){var c=this.Fa;if(void 0!==c.setLineDash)c.setLineDash(a),c.lineDashOffset=b;else if(void 0!==c.webkitLineDash)c.webkitLineDash=a,c.webkitLineDashOffset=b;else if(void 0!==c.mozDash)c.mozDash=a,c.mozDashOffset=b;else return!1;return!0};
+f.Tg=function(a){if(a instanceof Ea&&a.type===Bd){var b=a.Io;a=a.az;a>b?(this.scale(b/a,1),this.translate((a-b)/2,0)):b>a&&(this.scale(1,a/b),this.translate(0,(b-a)/2));this.Fo?this.clip():this.fill();a>b?(this.translate(-(a-b)/2,0),this.scale(1/(b/a),1)):b>a&&(this.translate(0,-(b-a)/2),this.scale(1,1/(a/b)))}else this.Fo?this.clip():this.fill()};f.Rj=function(){this.Fo||this.stroke()};z.defineProperty(Ad,{Wt:"clipInsteadOfFill"},function(){return this.Fo},function(a){this.Fo=a});f=Ad.prototype;
+f.FB=function(a,b,c){this.ot=a;this.pt=b;this.Lg=c};f.po=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};f.qo=function(){this.shadowOffsetX=this.ot;this.shadowOffsetY=this.pt;this.shadowBlur=this.Lg};f.AA=function(a,b){var c=this.Fa;if(void 0!==c.setLineDash)c.setLineDash(a),c.lineDashOffset=b;else if(void 0!==c.webkitLineDash)c.webkitLineDash=a,c.webkitLineDashOffset=b;else if(void 0!==c.mozDash)c.mozDash=a,c.mozDashOffset=b;else return!1;return!0};
f.vA=function(){var a=this.Fa;void 0!==a.setLineDash?(a.setLineDash(z.bl),a.lineDashOffset=0):void 0!==a.webkitLineDash?(a.webkitLineDash=z.bl,a.webkitLineDashOffset=0):void 0!==a.mozDash&&(a.mozDash=null,a.mozDashOffset=0)};function da(a,b){b&&(a.Wy="");a.Xy="";a.Vy=""}
var Cd=(Math.sqrt(2)-1)/3*4,Dd=(new M(0,0)).Na(),Ed=(new w(0,0,0,0)).Na(),Nd=(new Kb(0,0,0,0)).Na(),Od=(new Kb(2,2,2,2)).Na(),Pd=(new M(6,6)).Na(),Qd=(new M(-Infinity,-Infinity)).Na(),Rd=(new M(Infinity,Infinity)).Na(),Sd=(new Fa(0,0)).Na(),Td=(new Fa(1,1)).Na(),Ud=(new Fa(6,6)).Na(),Vd=(new Fa(8,8)).Na(),Wd=(new Fa(10,10)).Na(),ge=(new Fa(Infinity,Infinity)).Na(),he=(new M(NaN,NaN)).Na(),ie=(new Fa(NaN,NaN)).Na(),je=(new w(NaN,NaN,NaN,NaN)).Na(),ke=(new R(.156,.156)).Na(),le=(new R(.844,.844)).Na(),
me=new na,ne=new na,oe=null;function pe(a){if(0>=a)return 0;var b=oe;if(null===b){for(var b=[],c=0;2E3>=c;c++)b[c]=Math.sqrt(c);oe=b}return 1>a?(c=1/a,2E3>=c?1/b[c|0]:Math.sqrt(a)):2E3>=a?b[a|0]:Math.sqrt(a)}function Q(a,b){var c=a-b;return.5>c&&-.5c&&-5E-8=q&&(q=1E-6);if(qe(a,b,h,k,q,c,d)&&qe(a,b,h,k,q,e,g)){var s=(a-h)*(m-p)-(b-k)*(l-n);if(0===s)return!1;q=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/s;s=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/s;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(h=l=0,bh)return!1}else if(ah)return!1;r.x=q;r.y=s;return!0}var s=(a+c)/2,v=(b+d)/2;c=(c+e)/2;d=(d+g)/2;e=(e+h)/2;g=(g+k)/2;var t=(s+c)/2,x=(v+d)/2;c=(c+e)/2;d=(d+g)/2;var y=(t+c)/2,A=(x+d)/2,
-B=(n-l)*(n-l)+(p-m)*(p-m),N=!1;De(a,b,s,v,t,x,y,A,l,m,n,p,q,r)&&(b=(r.x-l)*(r.x-l)+(r.y-m)*(r.y-m),b=q&&(q=1E-6);if(qe(a,b,h,k,q,c,d)&&qe(a,b,h,k,q,e,g)){var s=(a-h)*(m-p)-(b-k)*(l-n);if(0===s)return!1;q=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/s;s=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/s;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(h=l=0,bh)return!1}else if(ah)return!1;r.x=q;r.y=s;return!0}var s=(a+c)/2,v=(b+d)/2;c=(c+e)/2;d=(d+g)/2;e=(e+h)/2;g=(g+k)/2;var t=(s+c)/2,x=(v+d)/2;c=(c+e)/2;d=(d+g)/2;var y=(t+c)/2,B=(x+d)/2,
+A=(n-l)*(n-l)+(p-m)*(p-m),N=!1;De(a,b,s,v,t,x,y,B,l,m,n,p,q,r)&&(b=(r.x-l)*(r.x-l)+(r.y-m)*(r.y-m),b=q&&(q=1E-6);if(qe(a,b,h,k,q,c,d)&&qe(a,b,h,k,q,e,g)){q=(a-h)*(m-p)-(b-k)*(l-n);if(0===q)return r;var s=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/q,v=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/q;if(s>=n)return r;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(a=l=0,ba)return r}else if(aa)return r;0q&&r--}else{var s=(a+c)/2,v=(b+d)/2,t=(c+e)/2,x=(d+g)/2;e=(e+h)/2;g=(g+k)/2;d=(s+t)/2;c=(v+x)/2;var t=(t+e)/2,x=(x+g)/2,
-y=(d+t)/2,A=(c+x)/2,r=r+Ee(a,b,s,v,d,c,y,A,l,m,n,p,q),r=r+Ee(y,A,t,x,e,g,h,k,l,m,n,p,q)}return r}
+y=(d+t)/2,B=(c+x)/2,r=r+Ee(a,b,s,v,d,c,y,B,l,m,n,p,q),r=r+Ee(y,B,t,x,e,g,h,k,l,m,n,p,q)}return r}
function ob(a,b,c,d,e,g,h){if(Db(a,c)){var k=0;c=0;bc)return h.x=a,h.y=c,!1;h.x=a;h.y=d;return!0}if(Db(b,d)){ac)return h.x=c,h.y=b,!1;h.x=d;h.y=b;return!0}k=((a-e)*(a-c)+(b-g)*(b-d))/((c-a)*(c-a)+(d-b)*(d-b));if(-5E-6>k)return h.x=a,h.y=b,!1;if(1.000005c)return l.x=a,l.y=c,!1;l.x=a;l.y=g;return!0}h=(d-b)/(c-a);if(Db(k,h))return ob(a,b,c,d,e,g,l),!1;e=(h*a-k*e+g-b)/(h-k);if(Db(h,0)){ac)return l.x=c,l.y=b,!1;l.x=e;l.y=b;return!0}g=
h*(e-a)+b;return ob(a,b,c,d,e,g,l)}function Ge(a,b,c,d,e,g,h,k,l){var m=1E21,n=a,p=b;if(Fe(a,b,a,d,e,g,h,k,l)){var q=(l.x-e)*(l.x-e)+(l.y-g)*(l.y-g);qm}
@@ -248,22 +248,22 @@ function Qe(a,b,c,d,e,g){c-=a;d-=b;a=e-a;b=g-b;g=a*d-b*c;0===g&&(g=a*c+b*d,0c,g=0>d,h=0,k=h=0;ag;++g){m=.5*(d+e);if(m===d||m===e)break;k=l/(m+b);h=c/(m+a);k=k*k+h*h-1;if(0k)e=m;else break}n=b*n/(m+b)-n;p=a*p/(m+a)-p;a=Math.sqrt(n*n+p*p)}else a=Math.abs(p-m);else p=l*l-m*m,a=l*n,aa?"M"+this.na.toString()+" "+this.la.toString()+"L"+this.G.toString()+" "+this.H.toString():"M"+this.na.toFixed(a)+" "+this.la.toFixed(a)+"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);case jf:var b=new w(this.na,this.la,0,0);b.$G(this.G,this.H,0,0);return 0>a?"M"+b.x.toString()+" "+b.y.toString()+"H"+b.right.toString()+"V"+b.bottom.toString()+"H"+b.left.toString()+"z":"M"+b.x.toFixed(a)+" "+b.y.toFixed(a)+"H"+b.right.toFixed(a)+
"V"+b.bottom.toFixed(a)+"H"+b.left.toFixed(a)+"z";case kf:b=new w(this.na,this.la,0,0);b.$G(this.G,this.H,0,0);if(0>a){var c=b.left.toString()+" "+(b.y+b.height/2).toString(),d=b.right.toString()+" "+(b.y+b.height/2).toString();return"M"+c+"A"+(b.width/2).toString()+" "+(b.height/2).toString()+" 0 0 1 "+d+"A"+(b.width/2).toString()+" "+(b.height/2).toString()+" 0 0 1 "+c}c=b.left.toFixed(a)+" "+(b.y+b.height/2).toFixed(a);d=b.right.toFixed(a)+" "+(b.y+b.height/2).toFixed(a);return"M"+c+"A"+(b.width/
2).toFixed(a)+" "+(b.height/2).toFixed(a)+" 0 0 1 "+d+"A"+(b.width/2).toFixed(a)+" "+(b.height/2).toFixed(a)+" 0 0 1 "+c;case We:for(var b="",c=this.mc.o,d=c.length,e=0;e=v-1?!0:null!==l[m+1].match(/[A-Za-z]/)}function d(){m++;return l[m]}function e(){var a=new M(parseFloat(d()),parseFloat(d()));n===n.toLowerCase()&&(a.x=s.x+a.x,a.y=s.y+a.y);return a}function g(){return s=e()}function h(){return r=e()}function k(){return"c"!==p.toLowerCase()&&"s"!==p.toLowerCase()?s:new M(2*s.x-r.x,2*s.y-r.y)}void 0===b&&(b=!1);"string"!==typeof a&&z.hc(a,"string",Ve,"parse:str");a=a.replace(/,/gm," ");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,
"$1 $2");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,"$1 $2");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([^\s])/gm,"$1 $2");a=a.replace(/([^\s])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,"$1 $2");a=a.replace(/([0-9])([+\-])/gm,"$1 $2");a=a.replace(/(\.[0-9]*)(\.)/gm,"$1 $2");a=a.replace(/([Aa](\s+[0-9]+){3})\s+([01])\s*([01])/gm,"$1 $3 $4 ");a=a.replace(/[\s\r\t\n]+/gm," ");a=a.replace(/^\s+|\s+$/g,"");for(var l=a.split(" "),m=-1,n="",p="",q=new M(0,0),r=new M(0,0),s=new M(0,
-0),v=l.length,t=z.v(),x=!1,y=!1,A=!0;!(m>=v-1);)if(p=n,n=d(),""!==n)switch(n.toUpperCase()){case "X":A=!0;y=x=!1;break;case "M":var B=g();null===t.dc||!0===A?(S(t,B.x,B.y,x,!1,!y),A=!1):t.moveTo(B.x,B.y);for(q=s;!c();)B=g(),t.lineTo(B.x,B.y);break;case "L":for(;!c();)B=g(),t.lineTo(B.x,B.y);break;case "H":for(;!c();)s=B=new M((n===n.toLowerCase()?s.x:0)+parseFloat(d()),s.y),t.lineTo(s.x,s.y);break;case "V":for(;!c();)s=B=new M(s.x,(n===n.toLowerCase()?s.y:0)+parseFloat(d())),t.lineTo(s.x,s.y);break;
-case "C":for(;!c();){var N=e(),G=h(),B=g();U(t,N.x,N.y,G.x,G.y,B.x,B.y)}break;case "S":for(;!c();)N=k(),G=h(),B=g(),U(t,N.x,N.y,G.x,G.y,B.x,B.y);break;case "Q":for(;!c();)G=h(),B=g(),pf(t,G.x,G.y,B.x,B.y);break;case "T":for(;!c();)r=G=k(),B=g(),pf(t,G.x,G.y,B.x,B.y);break;case "B":for(;!c();){var B=parseFloat(d()),N=parseFloat(d()),G=parseFloat(d()),T=parseFloat(d()),fa=parseFloat(d()),W=fa,P=!1;c()||(W=parseFloat(d()),c()||(P=0!==parseFloat(d())));n===n.toLowerCase()&&(G+=s.x,T+=s.y);t.arcTo(B,N,
-G,T,fa,W,P)}break;case "A":for(;!c();)N=Math.abs(parseFloat(d())),G=Math.abs(parseFloat(d())),T=parseFloat(d()),fa=!!parseFloat(d()),W=!!parseFloat(d()),B=g(),qf(t,N,G,T,fa,W,B.x,B.y);break;case "Z":B=t.q.mc.o[t.q.mc.length-1];V(t);s=q;break;case "F":B="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Uu]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;else{B=l[m+N];break}B.match(/[Mm]/)?x=!0:rf(t);break;case "U":B="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Ff]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;
-else{B=l[m+N];break}B.match(/[Mm]/)?y=!0:t.hb(!1)}q=t.q;z.u(t);if(b)for(t=q.mc.j;t.next();)B=t.value,B.tu=!0;return q};function sf(a,b){for(var c=a.length,d=z.P(),e=0;e=v-1);)if(p=n,n=d(),""!==n)switch(n.toUpperCase()){case "X":B=!0;y=x=!1;break;case "M":var A=g();null===t.dc||!0===B?(S(t,A.x,A.y,x,!1,!y),B=!1):t.moveTo(A.x,A.y);for(q=s;!c();)A=g(),t.lineTo(A.x,A.y);break;case "L":for(;!c();)A=g(),t.lineTo(A.x,A.y);break;case "H":for(;!c();)s=A=new M((n===n.toLowerCase()?s.x:0)+parseFloat(d()),s.y),t.lineTo(s.x,s.y);break;case "V":for(;!c();)s=A=new M(s.x,(n===n.toLowerCase()?s.y:0)+parseFloat(d())),t.lineTo(s.x,s.y);break;
+case "C":for(;!c();){var N=e(),G=h(),A=g();U(t,N.x,N.y,G.x,G.y,A.x,A.y)}break;case "S":for(;!c();)N=k(),G=h(),A=g(),U(t,N.x,N.y,G.x,G.y,A.x,A.y);break;case "Q":for(;!c();)G=h(),A=g(),pf(t,G.x,G.y,A.x,A.y);break;case "T":for(;!c();)r=G=k(),A=g(),pf(t,G.x,G.y,A.x,A.y);break;case "B":for(;!c();){var A=parseFloat(d()),N=parseFloat(d()),G=parseFloat(d()),T=parseFloat(d()),fa=parseFloat(d()),W=fa,P=!1;c()||(W=parseFloat(d()),c()||(P=0!==parseFloat(d())));n===n.toLowerCase()&&(G+=s.x,T+=s.y);t.arcTo(A,N,
+G,T,fa,W,P)}break;case "A":for(;!c();)N=Math.abs(parseFloat(d())),G=Math.abs(parseFloat(d())),T=parseFloat(d()),fa=!!parseFloat(d()),W=!!parseFloat(d()),A=g(),qf(t,N,G,T,fa,W,A.x,A.y);break;case "Z":A=t.q.mc.o[t.q.mc.length-1];V(t);s=q;break;case "F":A="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Uu]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;else{A=l[m+N];break}A.match(/[Mm]/)?x=!0:rf(t);break;case "U":A="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Ff]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;
+else{A=l[m+N];break}A.match(/[Mm]/)?y=!0:t.hb(!1)}q=t.q;z.u(t);if(b)for(t=q.mc.j;t.next();)A=t.value,A.tu=!0;return q};function sf(a,b){for(var c=a.length,d=z.P(),e=0;eh&&(h+=360),s.Me+=h);0>a&&(s.Me=180-s.Me,s.Bf=-s.Bf);0>d&&(s.Me=-s.Me,s.Bf=-s.Bf);s.radiusX*=Math.sqrt(a*a+c*c);void 0!==s.radiusY&&(s.radiusY*=Math.sqrt(b*b+d*d));break;case Qf:h=s.G;k=s.H;s.G=h*
a+k*c+e;s.H=h*b+k*d+g;0!==b&&(h=180*Math.atan2(b,a)/Math.PI,0>h&&(h+=360),s.Vj+=h);0>a&&(s.Vj=180-s.Vj,s.qm=!s.qm);0>d&&(s.Vj=-s.Vj,s.qm=!s.qm);s.radiusX*=Math.sqrt(a*a+c*c);s.radiusY*=Math.sqrt(b*b+d*d);break;default:z.k("Unknown Segment type: "+s.type)}}}}this.jb=!0;return this};
-Ve.prototype.Oa=function(a,b,c,d){var e=a.x,g=a.y,h=this.sb.x-20;a=a.y;for(var k=0,l=0,m=0,n=0,p=0,q=0,r=this.mc.o,s=r.length,v=0;v=a)return 0;if((e>h?e-h:h-e)<(g>k?g-k:k-g)){if(e=a=0,ge)return 0}else if(ee)return 0;return 0a?a=0:1=g)return d=(g-h)/p,c=c[k],k=c[2*n],e=c[2*n+1],b.m(k+(c[2*n+2]-k)*d,e+(c[2*n+3]-e)*d),b;h+=p}b.m(NaN,NaN);return b};
Ve.prototype.getFractionForPoint=Ve.prototype.II=function(a){if(this.type===hf){var b=this.na,c=this.la,d=this.G,e=this.H;if(b!==d||c!==e){var g=a.x;a=a.y;var h=0,k=0;return b===d?(c=k?k===c?0:1:Math.abs(a-c)/(k-h)):c===e?(b=k?k===b?0:1:Math.abs(g-b)/(k-h)):((g-b)*(g-b)+(a-c)*(a-c))/((d-b)*(d-b)+(e-c)*(e-c))}}else if(this.type===jf){if(b=this.na,c=this.la,d=this.G,e=this.H,b!==d||c!==e){var h=d-b,k=e-c,l=2*h+2*k,g=a.x;
a=a.y;g=Math.min(Math.max(g,b),d);a=Math.min(Math.max(a,c),e);var b=Math.abs(g-b),d=Math.abs(g-d),c=Math.abs(a-c),e=Math.abs(a-e),m=Math.min(b,d,c,e);if(m===c)return g/l;if(m===d)return(h+a)/l;if(m===e)return(2*h+k-g)/l;if(m===b)return(2*h+2*k-a)/l}}else{for(var e=this.DA,h=this.Gx,k=this.EA,l=z.P(),c=Infinity,b=d=0,g=e.length,n=m=0,p=0;pa?0:1a?0:1a?"M"+this.na.toString()+" "+this.la.toString():"M"+this.na.toFixed(a)+" "+this.la.toFixed(a),c=this.Db.o,d=c.length,e=0;ea&&(a+=360),this.Rd=a,this.df=0,u&&z.p(d,Wf,"x1"),this.Bh=Math.max(d,0),u&&z.p(e,Wf,"y1"),this.Kg=Math.max(e,0),this.pp="boolean"===typeof h?!!h:!1,this.Ho=!!k):(u&&z.p(d,Wf,"x1"),this.Rd=d,u&&z.p(e,
-Wf,"y1"),this.df=e,u&&z.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Bh=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Kg=h):this.Kg=0,this.Ho=this.pp=!1);this.ei=!1;this.jb=!0;this.tg=null}z.ka("PathSegment",Wf);z.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.da=this.da;a.Bb=this.Bb;a.Ib=this.Ib;a.Rd=this.Rd;a.df=this.df;a.Bh=this.Bh;a.Kg=this.Kg;a.pp=this.pp;a.Ho=this.Ho;a.ei=this.ei;a.jb=this.jb;return a};
+function Wf(a,b,c,d,e,g,h,k){z.wc(this);this.I=!1;void 0===a?a=mf:u&&z.Ca(a,Wf,Wf,"constructor:type");this.da=a;void 0!==b?(u&&z.p(b,Wf,"ex"),this.Bb=b):this.Bb=0;void 0!==c?(u&&z.p(c,Wf,"ey"),this.Ib=c):this.Ib=0;void 0===d&&(d=0);void 0===e&&(e=0);void 0===g&&(g=0);void 0===h&&(h=0);a===Qf?(a=g%360,0>a&&(a+=360),this.Rd=a,this.df=0,u&&z.p(d,Wf,"x1"),this.Bh=Math.max(d,0),u&&z.p(e,Wf,"y1"),this.Kg=Math.max(e,0),this.op="boolean"===typeof h?!!h:!1,this.Go=!!k):(u&&z.p(d,Wf,"x1"),this.Rd=d,u&&z.p(e,
+Wf,"y1"),this.df=e,u&&z.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Bh=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Kg=h):this.Kg=0,this.Go=this.op=!1);this.ei=!1;this.jb=!0;this.tg=null}z.ka("PathSegment",Wf);z.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.da=this.da;a.Bb=this.Bb;a.Ib=this.Ib;a.Rd=this.Rd;a.df=this.df;a.Bh=this.Bh;a.Kg=this.Kg;a.op=this.op;a.Go=this.Go;a.ei=this.ei;a.jb=this.jb;return a};
Wf.prototype.equalsApprox=Wf.prototype.Vc=function(a){if(!(a instanceof Wf)||this.type!==a.type||this.Nx!==a.Nx)return!1;switch(this.type){case Mf:case mf:return Q(this.G,a.G)&&Q(this.H,a.H);case Nf:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Dc,a.Dc)&&Q(this.Zc,a.Zc)&&Q(this.Rh,a.Rh)&&Q(this.Sh,a.Sh);case Of:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Dc,a.Dc)&&Q(this.Zc,a.Zc);case Pf:return Q(this.Me,a.Me)&&Q(this.Bf,a.Bf)&&Q(this.oa,a.oa)&&Q(this.xa,a.xa)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,
-a.radiusY);case Qf:return this.qm===a.qm&&this.Sx===a.Sx&&Q(this.Vj,a.Vj)&&Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,a.radiusY);default:return!1}};Wf.prototype.qc=function(a){a.Pe===Wf?this.type=a:z.Tj(this,a)};
+a.radiusY);case Qf:return this.qm===a.qm&&this.Sx===a.Sx&&Q(this.Vj,a.Vj)&&Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,a.radiusY);default:return!1}};Wf.prototype.pc=function(a){a.Pe===Wf?this.type=a:z.Tj(this,a)};
Wf.prototype.toString=function(a){void 0===a&&(a=-1);var b="";switch(this.type){case Mf:b=0>a?"M"+this.G.toString()+" "+this.H.toString():"M"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case mf:b=0>a?"L"+this.G.toString()+" "+this.H.toString():"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Nf:b=0>a?"C"+this.Dc.toString()+" "+this.Zc.toString()+" "+this.Rh.toString()+" "+this.Sh.toString()+" "+this.G.toString()+" "+this.H.toString():"C"+this.Dc.toFixed(a)+" "+this.Zc.toFixed(a)+" "+this.Rh.toFixed(a)+
" "+this.Sh.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Of:b=0>a?"Q"+this.Dc.toString()+" "+this.Zc.toString()+" "+this.G.toString()+" "+this.H.toString():"Q"+this.Dc.toFixed(a)+" "+this.Zc.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Pf:b=0>a?"B"+this.Me.toString()+" "+this.Bf.toString()+" "+this.oa.toString()+" "+this.xa.toString()+" "+this.radiusX:"B"+this.Me.toFixed(a)+" "+this.Bf.toFixed(a)+" "+this.oa.toFixed(a)+" "+this.xa.toFixed(a)+" "+this.radiusX;
break;case Qf:b=0>a?"A"+this.radiusX.toString()+" "+this.radiusY.toString()+" "+this.Vj.toString()+" "+(this.Sx?1:0)+" "+(this.qm?1:0)+" "+this.G.toString()+" "+this.H.toString():"A"+this.radiusX.toFixed(a)+" "+this.radiusY.toFixed(a)+" "+this.Vj.toFixed(a)+" "+(this.Sx?1:0)+" "+(this.qm?1:0)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;default:b=this.type.toString()}return b+(this.ei?"z":"")};var Mf;Wf.Move=Mf=z.s(Wf,"Move",0);var mf;Wf.Line=mf=z.s(Wf,"Line",1);var Nf;
Wf.Bezier=Nf=z.s(Wf,"Bezier",2);var Of;Wf.QuadraticBezier=Of=z.s(Wf,"QuadraticBezier",3);var Pf;Wf.Arc=Pf=z.s(Wf,"Arc",4);var Qf;Wf.SvgArc=Qf=z.s(Wf,"SvgArc",4);Wf.prototype.freeze=function(){this.I=!0;return this};Wf.prototype.Za=function(){this.I=!1;return this};Wf.prototype.close=Wf.prototype.close=function(){this.ei=!0;return this};
function Rf(a,b){if(null!==a.tg&&!1===b.jb)return a.tg;var c=a.radiusX,d=a.radiusY;void 0===d&&(d=c);if(0===c||0===d)return a.tg=[],a.tg;var e=a.Rd,g=a.df,h=Se(c=r?h=Math.PI:1<=r&&(h=0);!l&&0h&&(h+=2*Math.PI);l=b>g?1:b/g;r=b>g?g/b:1;b=Se(b>g?b:g,n,n+h,!0);g=z.Pf();g.reset();g.translate(c,d);g.rotate(a.Rd,0,0);g.scale(l,r);sf(b,g);z.Ie(g);a.tg=b;return a.tg}
z.defineProperty(Wf,{Nx:"isClosed"},function(){return this.ei},function(a){this.ei!==a&&(this.ei=a,this.jb=!0)});z.defineProperty(Wf,{type:"type"},function(){return this.da},function(a){u&&z.Ca(a,Wf,Wf,"type");this.I&&z.pa(this,a);this.da=a;this.jb=!0});z.defineProperty(Wf,{G:"endX"},function(){return this.Bb},function(a){u&&z.p(a,Wf,"endX");this.I&&z.pa(this,a);this.Bb=a;this.jb=!0});
z.defineProperty(Wf,{H:"endY"},function(){return this.Ib},function(a){u&&z.p(a,Wf,"endY");this.I&&z.pa(this,a);this.Ib=a;this.jb=!0});z.defineProperty(Wf,{Dc:"point1X"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"point1X");this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});z.defineProperty(Wf,{Zc:"point1Y"},function(){return this.df},function(a){u&&z.p(a,Wf,"point1Y");this.I&&z.pa(this,a);this.df=a;this.jb=!0});
z.defineProperty(Wf,{Rh:"point2X"},function(){return this.Bh},function(a){u&&z.p(a,Wf,"point2X");this.I&&z.pa(this,a);this.Bh=a;this.jb=!0});z.defineProperty(Wf,{Sh:"point2Y"},function(){return this.Kg},function(a){u&&z.p(a,Wf,"point2Y");this.I&&z.pa(this,a);this.Kg=a;this.jb=!0});z.defineProperty(Wf,{oa:"centerX"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"centerX");this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});
z.defineProperty(Wf,{xa:"centerY"},function(){return this.df},function(a){u&&z.p(a,Wf,"centerY");this.I&&z.pa(this,a);this.df=a;this.jb=!0});z.defineProperty(Wf,{radiusX:"radiusX"},function(){return this.Bh},function(a){u&&z.p(a,Wf,"radiusX");0>a&&z.wa(a,">= zero",Wf,"radiusX");this.I&&z.pa(this,a);this.Bh=a;this.jb=!0});z.defineProperty(Wf,{radiusY:"radiusY"},function(){return this.Kg},function(a){u&&z.p(a,Wf,"radiusY");0>a&&z.wa(a,">= zero",Wf,"radiusY");this.I&&z.pa(this,a);this.Kg=a;this.jb=!0});
-z.defineProperty(Wf,{Me:"startAngle"},function(){return this.Bb},function(a){this.Bb!==a&&(this.I&&z.pa(this,a),u&&z.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Bb=a,this.jb=!0)});z.defineProperty(Wf,{Bf:"sweepAngle"},function(){return this.Ib},function(a){u&&z.p(a,Wf,"sweepAngle");this.I&&z.pa(this,a);360a&&(a=-360);this.Ib=a;this.jb=!0});z.defineProperty(Wf,{qm:"isClockwiseArc"},function(){return this.Ho},function(a){this.I&&z.pa(this,a);this.Ho=a;this.jb=!0});
-z.defineProperty(Wf,{Sx:"isLargeArc"},function(){return this.pp},function(a){this.I&&z.pa(this,a);this.pp=a;this.jb=!0});z.defineProperty(Wf,{Vj:"xAxisRotation"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});
+z.defineProperty(Wf,{Me:"startAngle"},function(){return this.Bb},function(a){this.Bb!==a&&(this.I&&z.pa(this,a),u&&z.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Bb=a,this.jb=!0)});z.defineProperty(Wf,{Bf:"sweepAngle"},function(){return this.Ib},function(a){u&&z.p(a,Wf,"sweepAngle");this.I&&z.pa(this,a);360a&&(a=-360);this.Ib=a;this.jb=!0});z.defineProperty(Wf,{qm:"isClockwiseArc"},function(){return this.Go},function(a){this.I&&z.pa(this,a);this.Go=a;this.jb=!0});
+z.defineProperty(Wf,{Sx:"isLargeArc"},function(){return this.op},function(a){this.I&&z.pa(this,a);this.op=a;this.jb=!0});z.defineProperty(Wf,{Vj:"xAxisRotation"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});
function Yf(){this.ca=null;this.cA=(new M(0,0)).freeze();this.jz=(new M(0,0)).freeze();this.vv=this.pw=0;this.wv=1;this.ew="";this.Xw=this.Lv=!1;this.Iv=this.xv=0;this.Xj=this.Sv=this.bw=!1;this.Qr=null;this.Vw=0;this.Ng=this.Uw=null}z.ka("InputEvent",Yf);
-Yf.prototype.copy=function(){var a=new Yf;a.ca=this.ca;a.cA.assign(this.te);a.jz.assign(this.ha);a.pw=this.pw;a.vv=this.vv;a.wv=this.wv;a.ew=this.ew;a.Lv=this.Lv;a.Xw=this.Xw;a.xv=this.xv;a.Iv=this.Iv;a.bw=this.bw;a.Sv=this.Sv;a.Xj=this.Xj;a.Qr=this.Qr;a.Vw=this.Vw;a.Uw=this.Uw;a.Ng=this.Ng;return a};
-Yf.prototype.toString=function(){var a="^";0!==this.Ld&&(a+="M:"+this.Ld);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Qe&&(a+="C:"+this.Qe);0!==this.fm&&(a+="D:"+this.fm);this.Nc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};z.defineProperty(Yf,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});z.defineProperty(Yf,{te:"viewPoint"},function(){return this.cA},function(a){z.l(a,M,Yf,"viewPoint");this.cA.assign(a)});
+Yf.prototype.copy=function(){var a=new Yf;a.ca=this.ca;a.cA.assign(this.se);a.jz.assign(this.ha);a.pw=this.pw;a.vv=this.vv;a.wv=this.wv;a.ew=this.ew;a.Lv=this.Lv;a.Xw=this.Xw;a.xv=this.xv;a.Iv=this.Iv;a.bw=this.bw;a.Sv=this.Sv;a.Xj=this.Xj;a.Qr=this.Qr;a.Vw=this.Vw;a.Uw=this.Uw;a.Ng=this.Ng;return a};
+Yf.prototype.toString=function(){var a="^";0!==this.Ld&&(a+="M:"+this.Ld);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Qe&&(a+="C:"+this.Qe);0!==this.fm&&(a+="D:"+this.fm);this.Nc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};z.defineProperty(Yf,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});z.defineProperty(Yf,{se:"viewPoint"},function(){return this.cA},function(a){z.l(a,M,Yf,"viewPoint");this.cA.assign(a)});
z.defineProperty(Yf,{ha:"documentPoint"},function(){return this.jz},function(a){z.l(a,M,Yf,"documentPoint");this.jz.assign(a)});Yf.prototype.getMultiTouchViewPoint=Yf.prototype.Ix=function(a,b){var c=this.g;if(null===c)return b;Zf(c,this.event,a,b);return b};Yf.prototype.getMultiTouchDocumentPoint=function(a,b){var c=this.g;if(null===c)return b;Zf(c,this.event,a,b);b.assign(c.NB(b));return b};z.defineProperty(Yf,{Ld:"modifiers"},function(){return this.pw},function(a){this.pw=a});
z.defineProperty(Yf,{button:"button"},function(){return this.vv},function(a){this.vv=a;if(null===this.event)switch(a){case 0:this.buttons=1;break;case 1:this.buttons=4;break;case 2:this.buttons=2}});z.defineProperty(Yf,{buttons:"buttons"},function(){return this.wv},function(a){this.wv=a});z.defineProperty(Yf,{key:"key"},function(){return this.ew},function(a){this.ew=a});z.defineProperty(Yf,{gm:"down"},function(){return this.Lv},function(a){this.Lv=a});
z.defineProperty(Yf,{up:"up"},function(){return this.Xw},function(a){this.Xw=a});z.defineProperty(Yf,{Qe:"clickCount"},function(){return this.xv},function(a){this.xv=a});z.defineProperty(Yf,{fm:"delta"},function(){return this.Iv},function(a){this.Iv=a});z.defineProperty(Yf,{vu:"isMultiTouch"},function(){return this.bw},function(a){this.bw=a});z.defineProperty(Yf,{Nc:"handled"},function(){return this.Sv},function(a){this.Sv=a});
@@ -323,31 +323,31 @@ z.defineProperty(Yf,{eh:"targetDiagram"},function(){return this.Uw},function(a){
z.defineProperty(Yf,{alt:"alt"},function(){return 0!==(this.Ld&2)},function(a){this.Ld=a?this.Ld|2:this.Ld&-3});z.defineProperty(Yf,{Du:"meta"},function(){return 0!==(this.Ld&8)},function(a){this.Ld=a?this.Ld|8:this.Ld&-9});z.defineProperty(Yf,{left:"left"},function(){var a=this.event;return null!==a&&a instanceof MouseEvent&&("mousedown"===a.type||"mouseup"===a.type)?0===this.button:0!==(this.buttons&1)},function(a){this.buttons=a?this.buttons|1:this.buttons&-2});
z.defineProperty(Yf,{right:"right"},function(){var a=this.event;return null!==a&&a instanceof MouseEvent&&("mousedown"===a.type||"mouseup"===a.type)?2===this.button:0!==(this.buttons&2)},function(a){this.buttons=a?this.buttons|2:this.buttons&-3});z.defineProperty(Yf,{aM:"middle"},function(){var a=this.event;return null!==a&&a instanceof MouseEvent&&("mousedown"===a.type||"mouseup"===a.type)?1===this.button:0!==(this.buttons&4)},function(a){this.buttons=a?this.buttons|4:this.buttons&-5});
function $f(){this.ca=null;this.Xb="";this.yw=this.Sw=null;this.mr=!1}z.ka("DiagramEvent",$f);$f.prototype.copy=function(){var a=new $f;a.ca=this.ca;a.Xb=this.Xb;a.Sw=this.Sw;a.yw=this.yw;a.mr=this.mr;return a};$f.prototype.toString=function(){var a="*"+this.name;null!==this.HB&&(a+=":"+this.HB.toString());null!==this.lB&&(a+="("+this.lB.toString()+")");return a};z.defineProperty($f,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});
-z.defineProperty($f,{name:"name"},function(){return this.Xb},function(a){this.Xb=a});z.defineProperty($f,{HB:"subject"},function(){return this.Sw},function(a){this.Sw=a});z.defineProperty($f,{lB:"parameter"},function(){return this.yw},function(a){this.yw=a});z.defineProperty($f,{cancel:"cancel"},function(){return this.mr},function(a){this.mr!==a&&z.Nn("DiagramEvent.cancel","2.0");this.mr=a});function ag(){this.nr=bg;this.jn=this.ow="";this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.ye=null}
-z.ka("ChangedEvent",ag);var rg;ag.Transaction=rg=z.s(ag,"Transaction",-1);var bg;ag.Property=bg=z.s(ag,"Property",0);var sg;ag.Insert=sg=z.s(ag,"Insert",1);var tg;ag.Remove=tg=z.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.ye=null};
-ag.prototype.copy=function(){var a=new ag;a.nr=this.nr;a.ow=this.ow;a.jn=this.jn;a.ye=this.ye;a.ca=this.ca;a.Ns=this.Ns;var b=this.Ps;a.Ps=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Os;a.Os=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ks;a.Ks=z.Xa(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.qc=function(a){a.Pe===ag?this.Kc=a:z.Tj(this,a)};
+z.defineProperty($f,{name:"name"},function(){return this.Xb},function(a){this.Xb=a});z.defineProperty($f,{HB:"subject"},function(){return this.Sw},function(a){this.Sw=a});z.defineProperty($f,{lB:"parameter"},function(){return this.yw},function(a){this.yw=a});z.defineProperty($f,{cancel:"cancel"},function(){return this.mr},function(a){this.mr!==a&&z.Nn("DiagramEvent.cancel","2.0");this.mr=a});function ag(){this.nr=bg;this.jn=this.ow="";this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.xe=null}
+z.ka("ChangedEvent",ag);var rg;ag.Transaction=rg=z.s(ag,"Transaction",-1);var bg;ag.Property=bg=z.s(ag,"Property",0);var sg;ag.Insert=sg=z.s(ag,"Insert",1);var tg;ag.Remove=tg=z.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.xe=null};
+ag.prototype.copy=function(){var a=new ag;a.nr=this.nr;a.ow=this.ow;a.jn=this.jn;a.xe=this.xe;a.ca=this.ca;a.Ns=this.Ns;var b=this.Ps;a.Ps=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Os;a.Os=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ks;a.Ks=z.Xa(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.pc=function(a){a.Pe===ag?this.Kc=a:z.Tj(this,a)};
ag.prototype.toString=function(){var a="",a=this.Kc===rg?a+"* ":this.Kc===bg?a+(null!==this.ia?"!m":"!d"):a+((null!==this.ia?"!m":"!d")+this.Kc);this.propertyName&&"string"===typeof this.propertyName&&(a+=" "+this.propertyName);this.Af&&this.Af!==this.propertyName&&(a+=" "+this.Af);a+=": ";this.Kc===rg?null!==this.oldValue&&(a+=" "+this.oldValue):(null!==this.object&&(a+=ka(this.object)),null!==this.oldValue&&(a+=" old: "+ka(this.oldValue)),null!==this.Oj&&(a+=" "+this.Oj),null!==this.newValue&&
(a+=" new: "+ka(this.newValue)),null!==this.Mj&&(a+=" "+this.Mj));return a};ag.prototype.getValue=ag.prototype.qa=function(a){return a?this.oldValue:this.newValue};ag.prototype.getParam=function(a){return a?this.Oj:this.Mj};ag.prototype.canUndo=ag.prototype.canUndo=function(){return null!==this.ia||null!==this.g?!0:!1};ag.prototype.undo=ag.prototype.undo=function(){this.canUndo()&&(null!==this.ia?this.ia.En(this,!0):null!==this.g&&this.g.En(this,!0))};
-ag.prototype.canRedo=ag.prototype.canRedo=function(){return null!==this.ia||null!==this.g?!0:!1};ag.prototype.redo=ag.prototype.redo=function(){this.canRedo()&&(null!==this.ia?this.ia.En(this,!1):null!==this.g&&this.g.En(this,!1))};z.defineProperty(ag,{ia:"model"},function(){return this.ye},function(a){this.ye=a});z.defineProperty(ag,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});
+ag.prototype.canRedo=ag.prototype.canRedo=function(){return null!==this.ia||null!==this.g?!0:!1};ag.prototype.redo=ag.prototype.redo=function(){this.canRedo()&&(null!==this.ia?this.ia.En(this,!1):null!==this.g&&this.g.En(this,!1))};z.defineProperty(ag,{ia:"model"},function(){return this.xe},function(a){this.xe=a});z.defineProperty(ag,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});
z.defineProperty(ag,{Kc:"change"},function(){return this.nr},function(a){u&&z.Ca(a,ag,ag,"change");this.nr=a});z.defineProperty(ag,{Af:"modelChange"},function(){return this.ow},function(a){u&&z.h(a,"string",ag,"modelChange");this.ow=a});z.defineProperty(ag,{propertyName:"propertyName"},function(){return this.jn},function(a){u&&"string"!==typeof a&&z.h(a,"function",ag,"propertyName");this.jn=a});
z.w(ag,{NF:"isTransactionFinished"},function(){return this.nr===rg&&("CommittedTransaction"===this.jn||"FinishedUndo"===this.jn||"FinishedRedo"===this.jn)});z.defineProperty(ag,{object:"object"},function(){return this.Ns},function(a){this.Ns=a});z.defineProperty(ag,{oldValue:"oldValue"},function(){return this.Ps},function(a){this.Ps=a});z.defineProperty(ag,{Oj:"oldParam"},function(){return this.Os},function(a){this.Os=a});
z.defineProperty(ag,{newValue:"newValue"},function(){return this.Ls},function(a){this.Ls=a});z.defineProperty(ag,{Mj:"newParam"},function(){return this.Ks},function(a){this.Ks=a});
-function L(a){1d)return;z.Rg(a.ze,d)}dh(a,"nodeDataArray",tg,"nodeDataArray",a,b,null,d,null);a.dv(b)}
+L.prototype.makeNodeDataKeyUnique=L.prototype.ZA=function(a){if(null!==a){var b=this.uk;if(""!==b){var c=this.Cb(a);if(void 0===c||this.Gc.contains(c)){var d=this.sp;if(null!==d&&(c=d(this,a),void 0!==c&&null!==c&&!this.Gc.contains(c))){z.Ua(a,b,c);return}if("string"===typeof c){for(d=2;this.Gc.contains(c+d);)d++;z.Ua(a,b,c+d)}else if(void 0===c||"number"===typeof c){for(d=-this.Gc.count-1;this.Gc.contains(d);)d--;z.Ua(a,b,d)}else z.k("Model.getKeyForNodeData returned something other than a string or a number: "+
+c)}}}};L.prototype.addNodeData=L.prototype.Tl=function(a){null!==a&&(z.oq(a),this.ke(a)||gh(this,a,!0))};function gh(a,b,c){var d=a.Cb(b);if(void 0===d||a.Gc.qa(d)!==b)a.ZA(b),d=a.Cb(b),void 0===d?z.k("Model.makeNodeDataKeyUnique failed on "+b+". Data not added to Model."):(a.Gc.add(d,b),d=null,c&&(d=z.bb(a.ye),z.Hh(a.ye,d,b)),dh(a,"nodeDataArray",sg,"nodeDataArray",a,null,b,null,d),a.Kq(b),a.Jq(b))}
+L.prototype.addNodeDataCollection=function(a){if(z.isArray(a))for(var b=z.bb(a),c=0;cd)return;z.Rg(a.ye,d)}dh(a,"nodeDataArray",tg,"nodeDataArray",a,b,null,d,null);a.dv(b)}
L.prototype.removeNodeDataCollection=function(a){if(z.isArray(a))for(var b=z.bb(a),c=0;cb&&(b=z.bb(a));z.Hh(a,b,c);dh(this,"",sg,"",a,null,c,null,b)};
-L.prototype.removeArrayItem=L.prototype.hG=function(a,b){void 0===b&&(b=-1);u&&(z.Tt(a,L,"removeArrayItem:arr"),z.p(b,L,"removeArrayItem:idx"));a===this.ze&&z.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=z.bb(a)-1);var c=z.Ma(a,b);z.Rg(a,b);dh(this,"",tg,"",a,c,null,b,null)};z.defineProperty(L,{jo:"nodeCategoryProperty"},function(){return this.dn},function(a){var b=this.dn;b!==a&&(eh(a,L,"nodeCategoryProperty"),this.dn=a,this.i("nodeCategoryProperty",b,a))});
+L.prototype.setDataProperty=function(a,b,c){u&&(z.h(a,"object",L,"setDataProperty:data"),z.h(b,"string",L,"setDataProperty:propname"),""===b&&z.k("Model.setDataProperty: property name must not be an empty string when setting "+a+" to "+c));if(this.ke(a))if(b===this.Nj)this.yy(a,c);else{if(b===this.jo){this.xy(a,c);return}}else!oh&&a instanceof O&&(oh=!0,z.trace('Model.setDataProperty is modifying a GraphObject, "'+a.toString()+'"'),z.trace(" Is that really your intent?"));var d=z.vb(a,b);d!==c&&
+(z.Ua(a,b,c),this.mB(a,b,d,c))};L.prototype.addArrayItem=function(a,b){this.PA(a,-1,b)};L.prototype.insertArrayItem=L.prototype.PA=function(a,b,c){u&&(z.Tt(a,L,"insertArrayItem:arr"),z.p(b,L,"insertArrayItem:idx"));a===this.ye&&z.k("Model.insertArrayItem or Model.addArrayItem should not be called on the Model.nodeDataArray");0>b&&(b=z.bb(a));z.Hh(a,b,c);dh(this,"",sg,"",a,null,c,null,b)};
+L.prototype.removeArrayItem=L.prototype.hG=function(a,b){void 0===b&&(b=-1);u&&(z.Tt(a,L,"removeArrayItem:arr"),z.p(b,L,"removeArrayItem:idx"));a===this.ye&&z.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=z.bb(a)-1);var c=z.Ma(a,b);z.Rg(a,b);dh(this,"",tg,"",a,c,null,b,null)};z.defineProperty(L,{jo:"nodeCategoryProperty"},function(){return this.dn},function(a){var b=this.dn;b!==a&&(eh(a,L,"nodeCategoryProperty"),this.dn=a,this.i("nodeCategoryProperty",b,a))});
L.prototype.getCategoryForNodeData=L.prototype.IA=function(a){if(null===a)return"";var b=this.dn;if(""===b)return"";b=z.vb(a,b);if(void 0===b)return"";if("string"===typeof b)return b;z.k("getCategoryForNodeData found a non-string category for "+a+": "+b);return""};
-L.prototype.setCategoryForNodeData=L.prototype.xy=function(a,b){z.h(b,"string",L,"setCategoryForNodeData:cat");if(null!==a){var c=this.dn;if(""!==c)if(this.le(a)){var d=z.vb(a,c);void 0===d&&(d="");d!==b&&(z.Ua(a,c,b),dh(this,"nodeCategory",bg,c,a,d,b))}else z.Ua(a,c,b)}};
-function X(a,b){2z.Yl(d,a.newValue)&&z.Hh(d,c,a.newValue));return}}else if(a.Kc===
tg){c=a.Oj;if("linkDataArray"===a.Af){d=a.oldValue;z.Xa(d)&&"number"===typeof c&&(e=this.eg(d),b?(this.hi.add(d),z.Ma(this.bf,c)!==d&&z.Hh(this.bf,c,d),void 0!==e&&this.qd.add(e,d)):(this.hi.remove(d),z.Ma(this.bf,c)===d&&z.Rg(this.bf,c),void 0!==e&&this.qd.remove(e)));return}if("linkLabelKeys"===a.Af){d=this.Rk(a.object);z.isArray(d)&&"number"===typeof c&&(b?0>z.Yl(d,a.newValue)&&z.Hh(d,c,a.newValue):(c=z.Yl(d,a.newValue),0<=c&&z.Rg(d,c)));return}}L.prototype.En.call(this,a,b)};
z.defineProperty(X,{jA:"archetypeNodeData"},function(){return this.ol},function(a){var b=this.ol;b!==a&&(null!==a&&z.l(a,Object,X,"archetypeNodeData"),this.ol=a,this.i("archetypeNodeData",b,a))});X.prototype.ho=function(a){if(void 0!==a){var b=this.ol;if(null!==b){var c=this.Ge(a);null===c&&(c=this.copyNodeData(b),z.Ua(c,this.uk,a),this.Tl(c))}return a}};
@@ -417,252 +417,252 @@ X.prototype.getLabelKeysForLinkData=X.prototype.Rk=function(a){if(null===a)retur
X.prototype.setLabelKeysForLinkData=X.prototype.FG=function(a,b){z.Tt(b,X,"setLabelKeysForLinkData:arr");if(null!==a){var c=this.Gg;if(""!==c)if(this.Kh(a)){var d=z.vb(a,c);void 0===d&&(d=z.bl);if(d!==b){for(var e=z.bb(d),g=0;ge||(z.Rg(d,e),this.Kh(a)&&(kh(this,b,a),dh(this,"linkLabelKeys",tg,c,a,b,null,e,null)))}else void 0!==d&&z.k(c+" property is not an Array; cannot removeLabelKeyforLinkData: "+a)}}};
-z.defineProperty(X,{Xg:"linkDataArray"},function(){return this.bf},function(a){var b=this.bf;if(b!==a){z.Tt(a,X,"linkDataArray");this.qd.clear();for(var c=z.bb(a),d=0;dd)return;z.Rg(a.bf,d)}dh(a,"linkDataArray",tg,"linkDataArray",a,b,null,d,null);c=a.mm(b);kh(a,c,b);c=a.nm(b);kh(a,c,b);d=a.Rk(b);if(z.isArray(d))for(var e=z.bb(d),g=0;ga.Vh&&z.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Vh;d&&b&&a.sd("CommittingTransaction",c,a.zj);var e=0;if(0a.Ej;e--)g=d.fa(e),null!==g&&g.clear(),
+ug.prototype.clear=ug.prototype.clear=function(){var a=this.history;a.Za();for(var b=a.count-1;0<=b;b--){var c=a.fa(b);null!==c&&c.clear()}a.clear();this.rh=-1;a.freeze();this.bj=!1;this.Hv=null;this.Ql=0;this.xh.Za();this.xh.clear();this.xh.freeze();this.wp.clear()};ug.prototype.addModel=ug.prototype.LH=function(a){this.Lz.add(a)};ug.prototype.removeModel=ug.prototype.ZJ=function(a){this.Lz.remove(a)};
+ug.prototype.startTransaction=ug.prototype.$b=function(a){void 0===a&&(a="");null===a&&(a="");if(this.lb)return!1;!0===this.uz&&(this.uz=!1,this.Ql++,this.sd("StartingFirstTransaction",a,this.zj),0a.Vh&&z.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Vh;d&&b&&a.sd("CommittingTransaction",c,a.zj);var e=0;if(0a.Ej;e--)g=d.fa(e),null!==g&&g.clear(),
d.md(e),a.Fz=!0;e=a.UF;0===e&&(e=1);0=e&&(g=d.fa(0),null!==g&&g.clear(),d.md(0),a.rh--);d.add(b);a.rh++;d.freeze();g=b}a.sd("CommittedTransaction",c,g)}else{a.bj=!0;try{a.isEnabled&&null!==g&&(g.ru=!0,g.undo())}finally{a.sd("RolledBackTransaction",c,g),a.bj=!1}null!==g&&g.clear()}a.Hv=null;return!0}if(a.isEnabled&&!b&&null!==g){a=e;c=g.bg;for(b=c.count-1;b>=a;b--)d=c.fa(b),null!==d&&d.undo(),c.Za(),c.md(b);c.freeze()}return!1}
ug.prototype.canUndo=ug.prototype.canUndo=function(){if(!this.isEnabled||0=this.Vh&&!this.uz&&(a=a.g,null!==a&&!1===a.Zn||z.trace("Change not within a transaction: "+c.toString()))}};
ug.prototype.skipsEvent=function(a){if(null===a||0>a.Kc.value)return!0;a=a.object;if(a instanceof O){if(a=a.layer,null!==a&&a.Wc)return!0}else if(a instanceof ah&&a.Wc)return!0;return!1};z.w(ug,{GJ:"models"},function(){return this.Lz.j});z.defineProperty(ug,{isEnabled:"isEnabled"},function(){return this.pf},function(a){this.pf=a});z.w(ug,{YG:"transactionToUndo"},function(){return 0<=this.Ej&&this.Ej<=this.history.count-1?this.history.fa(this.Ej):null});
z.w(ug,{XG:"transactionToRedo"},function(){return this.Ejb.Oh||(b.scale=a))};ta.prototype.canDecreaseZoom=function(a){void 0===a&&(a=1/this.Fy);z.p(a,ta,"canDecreaseZoom:factor");var b=this.g;if(null===b||b.Zl!==Qh)return!1;a*=b.scale;return ab.Oh?!1:b.lx};
ta.prototype.increaseZoom=function(a){void 0===a&&(a=this.Fy);z.p(a,ta,"increaseZoom:factor");var b=this.g;null!==b&&b.Zl===Qh&&(a*=b.scale,ab.Oh||(b.scale=a))};ta.prototype.canIncreaseZoom=function(a){void 0===a&&(a=this.Fy);z.p(a,ta,"canIncreaseZoom:factor");var b=this.g;if(null===b||b.Zl!==Qh)return!1;a*=b.scale;return ab.Oh?!1:b.lx};ta.prototype.resetZoom=function(a){void 0===a&&(a=this.vx);z.p(a,ta,"resetZoom:newscale");var b=this.g;null===b||ab.Oh||(b.scale=a)};
ta.prototype.canResetZoom=function(a){void 0===a&&(a=this.vx);z.p(a,ta,"canResetZoom:newscale");var b=this.g;return null===b||ab.Oh?!1:b.lx};ta.prototype.zoomToFit=function(){var a=this.g;if(null!==a){var b=a.scale,c=a.position;b===this.fA&&!isNaN(this.Gz)&&a.fd.O(this.eA)?(a.scale=this.Gz,a.position=this.lD,this.fA=NaN,this.eA=Ed):(this.Gz=b,this.lD=c.copy(),a.zoomToFit(),this.fA=a.scale,this.eA=a.fd.copy())}};ta.prototype.canZoomToFit=function(){var a=this.g;return null===a?!1:a.lx};
-ta.prototype.scrollToPart=function(a){void 0===a&&(a=null);null!==a&&z.l(a,D,ta,"part");var b=this.g;if(null!==b){if(null===a){try{null!==this.qj&&(this.qj.next()?a=this.qj.value:this.qj=null)}catch(c){this.qj=null}null===a&&(0e||Math.abs(b.y-a.y)>d};z.w(bh,{g:"diagram"},function(){return this.ca});z.defineProperty(bh,{name:"name"},function(){return this.Xb},function(a){z.h(a,"string",bh,"name");this.Xb=a});
+bh.prototype.cancelWaitAfter=function(){-1!==this.$w&&z.clearTimeout(this.$w);this.$w=-1};bh.prototype.doWaitAfter=function(){};bh.prototype.findToolHandleAt=function(a,b){var c=this.g;if(null===c)return null;c=c.He(a,function(a){for(;null!==a&&!(a.Q instanceof ea);)a=a.Q;return a});return null===c?null:c.Q.rc===b?c:null};
+bh.prototype.isBeyondDragSize=function(a,b){var c=this.g;if(null===c)return!1;void 0===a&&(a=c.Mc.se);void 0===b&&(b=c.U.se);var d=c.ib.sI,e=d.width,d=d.height;c.Mc.Hj&&(e+=6,d+=6);return Math.abs(b.x-a.x)>e||Math.abs(b.y-a.y)>d};z.w(bh,{g:"diagram"},function(){return this.ca});z.defineProperty(bh,{name:"name"},function(){return this.Xb},function(a){z.h(a,"string",bh,"name");this.Xb=a});
z.defineProperty(bh,{isEnabled:"isEnabled"},function(){return this.pf},function(a){z.h(a,"boolean",bh,"isEnabled");this.pf=a});z.defineProperty(bh,{ya:"isActive"},function(){return this.ZC},function(a){z.h(a,"boolean",bh,"isActive");this.ZC=a});z.defineProperty(bh,{Qf:"transactionResult"},function(){return this.jE},function(a){null!==a&&z.h(a,"string",bh,"transactionResult");this.jE=a});
-function Ph(){0e&&(e=k),l>g&&(g=l))}}Infinity===c?b.m(0,0,0,0):b.m(c,d,e-c,g-d)}
-function Hi(a,b){if(null===a.kc){var c=a.g;if(!(null===c||b&&(c.kb||c.Hf))&&null!==a.fc){var d=c.sa;d.isEnabled&&d.JF?null!==d.zj&&0e&&(e=k),l>g&&(g=l))}}Infinity===c?b.m(0,0,0,0):b.m(c,d,e-c,g-d)}
+function Hi(a,b){if(null===a.kc){var c=a.g;if(!(null===c||b&&(c.kb||c.Hf))&&null!==a.fc){var d=c.sa;d.isEnabled&&d.JF?null!==d.zj&&0c.ua)){var d=a.g;if(null!==d&&!d.kb&&(d=a.oj,null!==d)){var e=null,g=null;null===c.aa&&(e=Ri(a,c.n(0),!1),null!==e&&(g=e.ba));var h=null,k=null;null===c.ea&&(h=Ri(a,c.n(c.ua-1),!0),null!==h&&(k=h.ba));d.isValidLink(g,e,k,h)?b?(c.eq=c.n(0),c.fq=c.n(c.ua-1),c.Sj=!1,c.aa=g,null!==e&&(c.dg=e.vd),c.ea=k,null!==h&&(c.ih=h.vd)):Si(d,g,e,k,h):Si(d,null,null,null,null)}}}Ph.prototype.doDragOver=function(){};
+function Oi(a,b){var c=a.td;if(null!==c&&!(2>c.ua)){var d=a.g;if(null!==d&&!d.kb&&(d=a.oj,null!==d)){var e=null,g=null;null===c.aa&&(e=Ri(a,c.n(0),!1),null!==e&&(g=e.ba));var h=null,k=null;null===c.ea&&(h=Ri(a,c.n(c.ua-1),!0),null!==h&&(k=h.ba));d.isValidLink(g,e,k,h)?b?(c.dq=c.n(0),c.eq=c.n(c.ua-1),c.Sj=!1,c.aa=g,null!==e&&(c.dg=e.vd),c.ea=k,null!==h&&(c.ih=h.vd)):Si(d,g,e,k,h):Si(d,null,null,null,null)}}}Ph.prototype.doDragOver=function(){};
function Ti(a,b){var c=a.g;if(null!==c){a.Bj&&Oi(a,!0);zi(a);var d=Pi(c,b,null,function(b){return!Mi(a,b)}),e=c.U;e.We=d;if(null!==d){e.Nc=!1;for(var g=d;null!==g;){var h=g.bB;if(null!==h&&(h(e,g),e.Nc))break;g=Qi(g)}}else h=c.bB,null!==h&&h(e);if(a.ya||null!==Yh){for(e=(a.kc||a.fc).j;e.next();)g=e.key,g instanceof E&&g.Jd.each(function(a){a.Sj=!1});a.doDropOnto(b,d);if(a.ya||null!==Yh){d=z.Of();for(e=c.selection.j;e.next();)g=e.value,g instanceof E&&Ui(c,g.getAvoidableRect(d));z.Mb(d)}}}}
-Ph.prototype.doDropOnto=function(){};Ph.prototype.doMouseMove=function(){if(this.ya){var a=this.g;if(null!==a&&null!==this.Ln&&null!==this.fc){var b=!1,c=!1;this.mayCopy()?(b=!0,a.lc="copy",Hi(this,!1),this.xt(this.kc),Ii(this,this.kc,!1),this.Ep(this.kc)):this.mayMove()?(c=!0,a.lc="default",Ci(this),Ii(this,this.fc,!0)):this.mayDragOut()?(a.lc="no-drop",Hi(this,!1),Ii(this,this.kc,!1)):Ci(this);Ni(this,a.U.ha,c,b)}}};
-Ph.prototype.doMouseUp=function(){if(this.ya){var a=this.g;if(null!==a){var b=!1,c=this.mayCopy();c&&null!==this.kc?(Ci(this),Hi(this,!0),this.xt(this.kc),Ii(this,this.kc,!1),this.Ep(this.kc),null!==this.kc&&a.AG(this.kc.Uj())):(b=!0,Ci(this),this.mayMove()&&(Ii(this,this.fc,!0),Ni(this,a.U.ha,!0,!1)));this.Kr=!0;Ti(this,a.U.ha);if(this.ya){this.kc=null;if(b&&null!==this.fc)for(b=this.fc.j;b.next();){var d=b.key;d instanceof E&&(d=d.Qa,null===d||null===d.placeholder||this.fc.contains(d)||d.placeholder.K())}a.Bc();
-this.Ep(this.fc);this.Qf=c?"Copy":"Move";a.Ka(c?"SelectionCopied":"SelectionMoved",a.selection)}this.stopTool()}}};Ph.prototype.mayCopy=function(){if(!this.EF)return!1;var a=this.g;if(null===a||a.kb||a.Hf||!a.Wp||!a.Ik||(z.Uk?!a.U.alt:!a.U.control))return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.re()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};
-Ph.prototype.mayDragOut=function(){if(!this.EF)return!1;var a=this.g;if(null===a||!a.Qt||!a.Ik||a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.re()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};Ph.prototype.mayMove=function(){var a=this.g;if(null===a||a.kb||!a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.re()&&b.canMove())return!0}return null!==this.td&&this.Bj&&this.td.canMove()?!0:!1};var Ai=new J(Ph),Yh=null,Zh=null;
-Ph.prototype.getDraggingSource=function(){return Yh};Ph.prototype.mayDragIn=function(){var a=this.g;if(null===a||!a.wE||a.kb||a.Hf||!a.Wp)return!1;var b=Yh;return null===b||null===b.g||b.g.ia.dm!==a.ia.dm?!1:!0};Ph.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.g;a.Ya.Ii();Vi(a);a=Yh;null!==a&&null!==a.g&&(a.g.lc="copy")}};Ph.prototype.doSimulatedDragLeave=function(){var a=Yh;null!==a&&a.doSimulatedDragOut();this.doCancel()};
+Ph.prototype.doDropOnto=function(){};Ph.prototype.doMouseMove=function(){if(this.ya){var a=this.g;if(null!==a&&null!==this.Ln&&null!==this.fc){var b=!1,c=!1;this.mayCopy()?(b=!0,a.lc="copy",Hi(this,!1),this.xt(this.kc),Ii(this,this.kc,!1),this.Dp(this.kc)):this.mayMove()?(c=!0,a.lc="default",Ci(this),Ii(this,this.fc,!0)):this.mayDragOut()?(a.lc="no-drop",Hi(this,!1),Ii(this,this.kc,!1)):Ci(this);Ni(this,a.U.ha,c,b)}}};
+Ph.prototype.doMouseUp=function(){if(this.ya){var a=this.g;if(null!==a){var b=!1,c=this.mayCopy();c&&null!==this.kc?(Ci(this),Hi(this,!0),this.xt(this.kc),Ii(this,this.kc,!1),this.Dp(this.kc),null!==this.kc&&a.AG(this.kc.Uj())):(b=!0,Ci(this),this.mayMove()&&(Ii(this,this.fc,!0),Ni(this,a.U.ha,!0,!1)));this.Kr=!0;Ti(this,a.U.ha);if(this.ya){this.kc=null;if(b&&null!==this.fc)for(b=this.fc.j;b.next();){var d=b.key;d instanceof E&&(d=d.Qa,null===d||null===d.placeholder||this.fc.contains(d)||d.placeholder.K())}a.Bc();
+this.Dp(this.fc);this.Qf=c?"Copy":"Move";a.Ka(c?"SelectionCopied":"SelectionMoved",a.selection)}this.stopTool()}}};Ph.prototype.mayCopy=function(){if(!this.EF)return!1;var a=this.g;if(null===a||a.kb||a.Hf||!a.Vp||!a.Ik||(z.Uk?!a.U.alt:!a.U.control))return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.qe()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};
+Ph.prototype.mayDragOut=function(){if(!this.EF)return!1;var a=this.g;if(null===a||!a.Qt||!a.Ik||a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.qe()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};Ph.prototype.mayMove=function(){var a=this.g;if(null===a||a.kb||!a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.qe()&&b.canMove())return!0}return null!==this.td&&this.Bj&&this.td.canMove()?!0:!1};var Ai=new J(Ph),Yh=null,Zh=null;
+Ph.prototype.getDraggingSource=function(){return Yh};Ph.prototype.mayDragIn=function(){var a=this.g;if(null===a||!a.wE||a.kb||a.Hf||!a.Vp)return!1;var b=Yh;return null===b||null===b.g||b.g.ia.dm!==a.ia.dm?!1:!0};Ph.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.g;a.Ya.Ii();Vi(a);a=Yh;null!==a&&null!==a.g&&(a.g.lc="copy")}};Ph.prototype.doSimulatedDragLeave=function(){var a=Yh;null!==a&&a.doSimulatedDragOut();this.doCancel()};
Ph.prototype.doSimulatedDragOver=function(){var a=this.g;if(null!==a){var b=Yh;null!==b&&null!==b.fc&&this.mayDragIn()&&(a.lc="copy",Wi(this,b.fc.Uj(),!1),Ii(this,this.kc,!1),Ni(this,a.U.ha,!1,!0))}};
Ph.prototype.doSimulatedDrop=function(){var a=this.g;if(null!==a){var b=Yh;if(null!==b){var c=b.g;b.Kr=!0;Ci(this);this.mayDragIn()&&(this.$b("Drop"),Wi(this,b.fc.Uj(),!0),Ii(this,this.kc,!1),null!==this.kc&&a.AG(this.kc.Uj()),Ti(this,a.U.ha),a.Bc(),b=a.selection,null!==this.kc?this.Qf="ExternalCopy":b=new K(D),this.kc=null,a.doFocus(),a.Ka("ExternalObjectsDropped",b,c),this.al())}}};
-function Wi(a,b,c){if(null===a.kc){var d=a.g;if(null!==d&&!d.kb&&!d.Hf){d.Eb=!c;d.cr=!c;a.$k=d.U.ha;d=d.dq(b,d,!0);c=z.Of();Gi(b,c);var e=c.x+c.width/2,g=c.y+c.height/2;z.Mb(c);var h=a.Qw;c=new oa(D);var k=z.P();for(b=b.j;b.next();){var l=b.value;if(l.re()&&l.canCopy()){var m=l.location,l=d.qa(l);k.m(h.x-(e-m.x),h.y-(g-m.y));l.location=k;l.kf();c.add(l,wi(k))}}z.A(k);for(d=d.j;d.next();)e=d.value,e instanceof H&&e.canCopy()&&c.add(e,wi());a.kc=c;Xh(a,c.Uj());null!==a.td&&(c=a.td,d=c.no,c.um(a.$k.x-
+function Wi(a,b,c){if(null===a.kc){var d=a.g;if(null!==d&&!d.kb&&!d.Hf){d.Eb=!c;d.cr=!c;a.$k=d.U.ha;d=d.cq(b,d,!0);c=z.Of();Gi(b,c);var e=c.x+c.width/2,g=c.y+c.height/2;z.Mb(c);var h=a.Qw;c=new oa(D);var k=z.P();for(b=b.j;b.next();){var l=b.value;if(l.qe()&&l.canCopy()){var m=l.location,l=d.qa(l);k.m(h.x-(e-m.x),h.y-(g-m.y));l.location=k;l.kf();c.add(l,wi(k))}}z.A(k);for(d=d.j;d.next();)e=d.value,e instanceof H&&e.canCopy()&&c.add(e,wi());a.kc=c;Xh(a,c.Uj());null!==a.td&&(c=a.td,d=c.mo,c.um(a.$k.x-
(d.x+d.width/2),a.$k.y-(d.y+d.height/2)))}}}Ph.prototype.doSimulatedDragOut=function(){var a=this.g;null!==a&&(this.mayCopy()||this.mayMove()?a.lc="":a.lc="no-drop")};function xi(a){this.point=a;this.GG=Dd}z.ka("DraggingInfo",xi);function Ji(a,b,c){this.Yc=a;this.info=b;this.RI=c}
function Xi(){0=d&&(d=.1);for(var e=this,g=b.On(c,d,function(b){return e.findValidLinkablePort(b,a)},null,!0),d=Infinity,b=null,g=g.j;g.next();){var h=g.value,k=h.ba;if(k instanceof E){var l=h.cb(mc,z.P()),m=c.x-l.x,n=c.y-l.y;z.A(l);l=m*m+n*n;lc){if(null!==this.vc&&a===this.Yg&&b===this.Zg)return!0;var d=b.vd;null===d&&(d="");if(a.Dx(d).count>=c)return!1}return!0};
-Xi.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.xq;if(null!==this.g&&this.g.fb===this&&(null!==a.layer&&!a.layer.Rt||!0!==b.QG))return!1;var c=b.yK;if(Infinity>c){if(null!==this.vc&&a===this.$g&&b===this.ah)return!0;var d=b.vd;null===d&&(d="");if(a.Ug(d).count>=c)return!1}return!0};Xi.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.ba,d=b.ba;return null!==c&&c===d};
+c instanceof E&&(null===c.layer||c.layer.Rt))?b:null};Xi.prototype.isValidFrom=function(a,b){if(null===a||null===b)return this.wq;if(null!==this.g&&this.g.fb===this&&(null!==a.layer&&!a.layer.Rt||!0!==b.kF))return!1;var c=b.GA;if(Infinity>c){if(null!==this.uc&&a===this.Yg&&b===this.Zg)return!0;var d=b.vd;null===d&&(d="");if(a.Dx(d).count>=c)return!1}return!0};
+Xi.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.wq;if(null!==this.g&&this.g.fb===this&&(null!==a.layer&&!a.layer.Rt||!0!==b.QG))return!1;var c=b.yK;if(Infinity>c){if(null!==this.uc&&a===this.$g&&b===this.ah)return!0;var d=b.vd;null===d&&(d="");if(a.Ug(d).count>=c)return!1}return!0};Xi.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.ba,d=b.ba;return null!==c&&c===d};
Xi.prototype.isLinked=function(a,b){if(null===a||null===b)return!1;var c=a.ba;if(!(c instanceof E))return!1;var d=a.vd;null===d&&(d="");var e=b.ba;if(!(e instanceof E))return!1;var g=b.vd;null===g&&(g="");for(e=e.Ug(g);e.next();)if(g=e.value,g.aa===c&&g.dg===d)return!0;return!1};
-Xi.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.GI&&d.xK||!this.isInSameNode(b,d))&&(b.FI&&d.wK||!this.isLinked(b,d)))||null!==this.vc&&(null!==a&&this.isLabelDependentOnLink(a,this.vc)||null!==c&&this.isLabelDependentOnLink(c,this.vc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.vc))return!1;if(null!==a){var e=a.Zx;if(null!==e&&!e(a,b,c,d,this.vc))return!1}if(null!==
-c&&(e=c.Zx,null!==e&&!e(a,b,c,d,this.vc)))return!1;e=this.Zx;return null!==e?e(a,b,c,d,this.vc):!0};Xi.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Cc;if(null===c)return!1;if(c===b)return!0;var d=new K(E);d.add(a);return Yi(this,c,b,d)};function Yi(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.xf&&(d.add(e),Yi(a,e.Cc,c,d)))return!0;b=b.ea;return null!==b&&b.xf&&(d.add(b),Yi(a,b.Cc,c,d))?!0:!1}
-Xi.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.xq;var d=null!==this.g?this.g.EK:Zi;if(d!==Zi){if(d===$i){if(null!==c&&!c.Xc)return!0;for(d=b.Jd;d.next();){var e=d.value;if(e!==c&&e.Xc&&e.ea===b)return!1}return!aj(this,a,b,c,!0)}if(d===bj){if(null!==c&&!c.Xc)return!0;for(d=a.Jd;d.next();)if(e=d.value,e!==c&&e.Xc&&e.aa===a)return!1;return!aj(this,a,b,c,!0)}if(d===cj)return a===b?a=!0:(d=new K(E),d.add(b),a=dj(this,d,a,b,c)),!a;if(d===ej)return!aj(this,
+Xi.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.GI&&d.xK||!this.isInSameNode(b,d))&&(b.FI&&d.wK||!this.isLinked(b,d)))||null!==this.uc&&(null!==a&&this.isLabelDependentOnLink(a,this.uc)||null!==c&&this.isLabelDependentOnLink(c,this.uc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.uc))return!1;if(null!==a){var e=a.Zx;if(null!==e&&!e(a,b,c,d,this.uc))return!1}if(null!==
+c&&(e=c.Zx,null!==e&&!e(a,b,c,d,this.uc)))return!1;e=this.Zx;return null!==e?e(a,b,c,d,this.uc):!0};Xi.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Cc;if(null===c)return!1;if(c===b)return!0;var d=new K(E);d.add(a);return Yi(this,c,b,d)};function Yi(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.xf&&(d.add(e),Yi(a,e.Cc,c,d)))return!0;b=b.ea;return null!==b&&b.xf&&(d.add(b),Yi(a,b.Cc,c,d))?!0:!1}
+Xi.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.wq;var d=null!==this.g?this.g.EK:Zi;if(d!==Zi){if(d===$i){if(null!==c&&!c.Xc)return!0;for(d=b.Jd;d.next();){var e=d.value;if(e!==c&&e.Xc&&e.ea===b)return!1}return!aj(this,a,b,c,!0)}if(d===bj){if(null!==c&&!c.Xc)return!0;for(d=a.Jd;d.next();)if(e=d.value,e!==c&&e.Xc&&e.aa===a)return!1;return!aj(this,a,b,c,!0)}if(d===cj)return a===b?a=!0:(d=new K(E),d.add(b),a=dj(this,d,a,b,c)),!a;if(d===ej)return!aj(this,
a,b,c,!1);if(d===fj)return a===b?a=!0:(d=new K(E),d.add(b),a=gj(this,d,a,b,c)),!a}return!0};function aj(a,b,c,d,e){if(b===c)return!0;if(null===b||null===c)return!1;for(var g=b.Jd;g.next();){var h=g.value;if(h!==d&&(!e||h.Xc)&&h.ea===b&&(h=h.aa,h!==b&&aj(a,h,c,d,e)))return!0}return!1}function dj(a,b,c,d,e){if(c===d)return!0;if(null===c||null===d||b.contains(c))return!1;b.add(c);for(var g=c.Jd;g.next();){var h=g.value;if(h!==e&&h.ea===c&&(h=h.aa,h!==c&&dj(a,b,h,d,e)))return!0}return!1}
function gj(a,b,c,d,e){if(c===d)return!0;if(null===c||null===d||b.contains(c))return!1;b.add(c);for(var g=c.Jd;g.next();){var h=g.value;if(h!==e){var k=h.aa,h=h.ea,k=k===c?h:k;if(k!==c&&gj(a,b,k,d,e))return!0}}return!1}z.defineProperty(Xi,{Zx:"linkValidation"},function(){return this.Gl},function(a){null!==a&&z.h(a,"function",Xi,"linkValidation");this.Gl=a});z.defineProperty(Xi,{ly:"portTargeted"},function(){return this.KD},function(a){null!==a&&z.h(a,"function",Xi,"portTargeted");this.KD=a});
function ua(){0b.fu+1&&cb.fu+1&&c=c.x)d=0>=c.y?d+225:1<=c.y?d+135:d+180;else if(1<=c.x)0>=c.y?d+=315:1<=c.y&&(d+=45);else if(0>=c.y)d+=270;else if(1<=c.y)d+=90;else break a;0>d?d+=360:360<=d&&(d-=360);a.cursor=22.5>d?"e-resize":67.5>d?"se-resize":112.5>d?"s-resize":157.5>d?"sw-resize":202.5>d?"w-resize":247.5>d?"nw-resize":292.5>d?"n-resize":337.5>d?
+Qj.prototype.updateResizeHandles=function(a,b){if(null!==a)if(!a.alignment.hd()&&("pointer"===a.cursor||0=c.x)d=0>=c.y?d+225:1<=c.y?d+135:d+180;else if(1<=c.x)0>=c.y?d+=315:1<=c.y&&(d+=45);else if(0>=c.y)d+=270;else if(1<=c.y)d+=90;else break a;0>d?d+=360:360<=d&&(d-=360);a.cursor=22.5>d?"e-resize":67.5>d?"se-resize":112.5>d?"s-resize":157.5>d?"sw-resize":202.5>d?"w-resize":247.5>d?"nw-resize":292.5>d?"n-resize":337.5>d?
"ne-resize":"e-resize"}else if(a instanceof I)for(c=a.elements;c.next();)this.updateResizeHandles(c.value,b)};z.defineProperty(Qj,{mu:"handleArchetype"},function(){return this.vl},function(a){null!==a&&z.l(a,O,Qj,"handleArchetype");this.vl=a});z.w(Qj,{handle:"handle"},function(){return this.oc});z.defineProperty(Qj,{Ab:"adornedObject"},function(){return this.Rc},function(a){null!==a&&z.l(a,O,Qj,"adornedObject");this.Rc=a});
Qj.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.g;return null!==a&&!a.kb&&a.St&&a.U.left?null!==this.findToolHandleAt(a.Mc.ha,this.name):!1};
-Qj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.oc=this.findToolHandleAt(a.Mc.ha,this.name),null!==this.oc&&(this.Rc=this.oc.ba.Ab,this.Ap.set(this.Ab.cb(this.handle.alignment.cG())),this.ED.set(this.Rc.ba.location),this.zD.set(this.Rc.Da),this.pz=this.computeCellSize(),this.rz=this.computeMinSize(),this.qz=this.computeMaxSize(),a.lf=!0,this.wD=a.Ya.isEnabled,a.Ya.isEnabled=!1,this.$b(this.name),this.ya=!0))};
+Qj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.oc=this.findToolHandleAt(a.Mc.ha,this.name),null!==this.oc&&(this.Rc=this.oc.ba.Ab,this.zp.set(this.Ab.cb(this.handle.alignment.cG())),this.ED.set(this.Rc.ba.location),this.zD.set(this.Rc.Da),this.pz=this.computeCellSize(),this.rz=this.computeMinSize(),this.qz=this.computeMaxSize(),a.lf=!0,this.wD=a.Ya.isEnabled,a.Ya.isEnabled=!1,this.$b(this.name),this.ya=!0))};
Qj.prototype.doDeactivate=function(){var a=this.g;null!==a&&(this.al(),this.Rc=this.oc=null,this.ya=a.lf=!1,a.Ya.isEnabled=this.wD)};Qj.prototype.doCancel=function(){null!==this.Ab&&(this.Ab.Da=this.dG,this.Ab.ba.location=this.OJ);this.stopTool()};Qj.prototype.doMouseMove=function(){var a=this.g;if(this.ya&&null!==a){var b=this.rz,c=this.qz,d=this.pz,e=this.Ab.mF(a.U.ha,z.P()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);a.hg();z.A(e)}};
Qj.prototype.doMouseUp=function(){var a=this.g;if(this.ya&&null!==a){var b=this.rz,c=this.qz,d=this.pz,e=this.Ab.mF(a.U.ha,z.P()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);z.A(e);a.Bc();this.Qf=this.name;a.Ka("PartResized",this.Ab,this.dG)}this.stopTool()};
-Qj.prototype.resize=function(a){if(null!==this.g){var b=this.Ab,c=b.ba;b.Da=a.size;c.kf();a=this.Ab.cb(this.handle.alignment.cG());c instanceof F?(a=c.position.copy().so(a).add(this.Ap),c.move(a)):c.location=c.location.copy().so(a).add(this.Ap)}};
-Qj.prototype.computeResize=function(a,b,c,d,e,g){b.ae()&&(b=mc);var h=this.Ab.Ja,k=h.x,l=h.y,m=h.x+h.width,n=h.y+h.height,p=1;if(!g){var p=h.width,q=h.height;0>=p&&(p=1);0>=q&&(q=1);p=q/p}q=z.P();tb(a.x,a.y,k,l,e.width,e.height,q);a=h.copy();0>=b.x?0>=b.y?(a.x=Math.max(q.x,m-d.width),a.x=Math.min(a.x,m-c.width),a.width=Math.max(m-a.x,c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p=p&&(p=1);0>=q&&(q=1);p=q/p}q=z.P();tb(a.x,a.y,k,l,e.width,e.height,q);a=h.copy();0>=b.x?0>=b.y?(a.x=Math.max(q.x,m-d.width),a.x=Math.min(a.x,m-c.width),a.width=Math.max(m-a.x,c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p=b.y?(a.width=Math.max(Math.min(q.x-k,d.width),c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),
a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p=b.y?(a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=n-a.y,g||(a.width=a.height/p,a.x=
k+.5*(m-k-a.width))):1<=b.y&&(a.height=Math.max(Math.min(q.y-l,d.height),c.height),g||(a.width=a.height/p,a.x=k+.5*(m-k-a.width)));z.A(q);return a};Qj.prototype.computeReshape=function(){var a=Tj;this.Ab instanceof Y&&(a=Uj(this.Ab));return!(a===Vj||a===Wj||null!==this.g&&this.g.U.shift)};Qj.prototype.computeMinSize=function(){var a=this.Ab.ig.copy(),b=this.ig;!isNaN(b.width)&&b.width>a.width&&(a.width=b.width);!isNaN(b.height)&&b.height>a.height&&(a.height=b.height);return a};
Qj.prototype.computeMaxSize=function(){var a=this.Ab.mf.copy(),b=this.mf;!isNaN(b.width)&&b.widtha&&(a+=360));var b=Math.min(Math.abs(this.oK),180),c=Math.min(Math.abs(this.nK),b/2);(null===this.g||!this.g.U.shift)&&0b-c&&(a=(Math.floor(a/b)+1)*b));360<=a?a-=360:0>a&&(a+=360);return a};z.defineProperty(Xj,{oK:"snapAngleMultiple"},function(){return this.RD},function(a){z.h(a,"number",Xj,"snapAngleMultiple");this.RD=a});
z.defineProperty(Xj,{nK:"snapAngleEpsilon"},function(){return this.QD},function(a){z.h(a,"number",Xj,"snapAngleEpsilon");this.QD=a});z.w(Xj,{hM:"originalAngle"},function(){return this.tw});function Zj(){0e.right&&(c.x-=d.width+5);c.xe.bottom&&(c.y-=d.height+5);c.ya.U.Qe?!1:!0};kk.prototype.doStart=function(){this.ya||null===this.hh||this.doActivate()};
-kk.prototype.doActivate=function(){if(!this.ya){var a=this.g;if(null!==a){var b=this.hh;null===b&&(b=a.He(a.U.ha,function(a){return a instanceof pa?a:null}));if(null!==b&&(this.hh=b,null!==b.ba)){this.ya=!0;this.qb=tk;var c=this.nI;null!==b.PG&&(c=b.PG);this.Ak=this.hh.copy();var d=new w(this.hh.cb(hc),this.hh.cb(qc));a.gK(d);if(c instanceof bk)c.show(b,a,this);else{c.style.position="absolute";c.style.zIndex=100;c.textEditingTool=this;if("function"===typeof c.onActivate)c.onActivate();"function"===
+kk.prototype.doActivate=function(){if(!this.ya){var a=this.g;if(null!==a){var b=this.hh;null===b&&(b=a.He(a.U.ha,function(a){return a instanceof pa?a:null}));if(null!==b&&(this.hh=b,null!==b.ba)){this.ya=!0;this.qb=tk;var c=this.nI;null!==b.PG&&(c=b.PG);this.Ak=this.hh.copy();var d=new w(this.hh.cb(hc),this.hh.cb(qc));a.gK(d);if(c instanceof bk)c.show(b,a,this);else{c.style.position="absolute";c.style.zIndex="100";c.textEditingTool=this;if("function"===typeof c.onActivate)c.onActivate();"function"===
typeof c.focus&&c.focus();"function"===typeof c.select&&this.wy&&(c.select(),c.setSelectionRange(0,9999));a.Aj.appendChild(c)}this.Nk=c}}}};kk.prototype.doCancel=function(){null!==this.Ll&&(this.Nk.style.border=this.Ll,this.Ll=null);this.stopTool()};kk.prototype.doMouseUp=function(){!this.ya&&this.canStart()&&this.doActivate()};kk.prototype.doMouseDown=function(){this.ya&&this.acceptText(pk)};
kk.prototype.acceptText=function(a){switch(a){case pk:if(this.qb===xk)"function"===typeof this.Nk.focus&&this.Nk.focus();else if(this.qb===tk||this.qb===wk||this.qb===uk)this.qb=vk,Ak(this);break;case ok:case rk:case qk:if(rk===a&&!0===this.$z.Tx)break;if(this.qb===tk||this.qb===wk||this.qb===uk)this.qb=vk,Ak(this)}};
function Ak(a){var b=a.hh,c=a.g,d=a.Nk;if(null!==b&&null!==d){var e=b.text,g=d.value,h="";d instanceof bk?null!==d.RB&&(h=d.RB()):h="function"===typeof g?g():g;a.isValidText(b,e,h)?(a.$b(a.name),a.qb=xk,d instanceof bk?d.show(b,c,a):null!==a.Ll&&(d.style.border=a.Ll,a.Ll=null),a.Qf=a.name,b.text=h,null!==b.OG&&b.OG(b,e,h),null!==c&&c.Ka("TextEdited",b,e),a.al(),a.stopTool(),null!==c&&c.doFocus()):(a.qb=wk,null!==b.BA&&b.BA(a,e,h),d instanceof bk?d.show(b,c,a):(null===a.Ll&&(a.Ll=d.style.border,d.style.border=
"3px solid red"),"function"===typeof d.focus&&d.focus()))}}kk.prototype.doDeactivate=function(){var a=this.g;if(null!==a){this.qb=mk;this.hh=null;if(null!==this.Nk){var b=this.Nk;if(b instanceof bk)b.Wn(a,this);else{if("function"===typeof b.onDeactivate)b.onDeactivate();null!==b&&a.Aj.removeChild(b)}}this.ya=!1}};kk.prototype.doFocus=function(){u&&z.Nn("TextEditingTool.doFocus","2.0");yk(this)};kk.prototype.doBlur=function(){u&&z.Nn("TextEditingTool.doBlur","2.0");zk(this)};
function yk(a){if(null!==a.Nk){var b=a.ez;a.qb===tk&&(a.qb=uk);"function"===typeof b.select&&a.wy&&(b.select(),b.setSelectionRange(0,9999))}}function zk(a){if(null!==a.Nk){var b=a.ez;"function"===typeof b.focus&&b.focus();"function"===typeof b.select&&a.wy&&(b.select(),b.setSelectionRange(0,9999))}}kk.prototype.isValidText=function(a,b,c){z.l(a,pa,kk,"isValidText:textblock");var d=this.JB;if(null!==d&&!d(a,b,c))return!1;d=a.JB;return null===d||d(a,b,c)?!0:!1};
z.defineProperty(kk,{JB:"textValidation"},function(){return this.Ol},function(a){null!==a&&z.h(a,"function",kk,"textValidation");this.Ol=a});z.defineProperty(kk,{XF:"minimumEditorScale"},function(){return this.rD},function(a){null!==a&&z.h(a,"number",kk,"minimumEditorScale");this.rD=a});z.defineProperty(kk,{wy:"selectsTextOnActivate"},function(){return this.OD},function(a){null!==a&&z.h(a,"boolean",kk,"selectsTextOnActivate");this.OD=a});
-z.defineProperty(kk,{state:"state"},function(){return this.qb},function(a){this.qb!==a&&(z.Ca(a,kk,kk,"starting"),this.qb=a)});kk.prototype.measureTemporaryTextBlock=kk.prototype.BJ=function(a){var b=this.Ak;b.text=a;Bk(b,this.hh.qp,Infinity);return b};function Kh(){bh.call(this);this.name="ToolManager";this.oH=new J(bh);this.pH=new J(bh);this.qH=new J(bh);this.WC=this.XC=850;this.KC=(new Fa(2,2)).Na();this.gE=5E3;this.vD=Wh;this.UC=Ck;this.Gv=this.yC=null;this.xn=-1}z.Ta(Kh,bh);
+z.defineProperty(kk,{state:"state"},function(){return this.qb},function(a){this.qb!==a&&(z.Ca(a,kk,kk,"starting"),this.qb=a)});kk.prototype.measureTemporaryTextBlock=kk.prototype.BJ=function(a){var b=this.Ak;b.text=a;Bk(b,this.hh.pp,Infinity);return b};function Kh(){bh.call(this);this.name="ToolManager";this.oH=new J(bh);this.pH=new J(bh);this.qH=new J(bh);this.WC=this.XC=850;this.KC=(new Fa(2,2)).Na();this.gE=5E3;this.vD=Wh;this.UC=Ck;this.Gv=this.yC=null;this.xn=-1}z.Ta(Kh,bh);
z.ka("ToolManager",Kh);var Wh;Kh.WheelScroll=Wh=z.s(Kh,"WheelScroll",0);var Vh;Kh.WheelZoom=Vh=z.s(Kh,"WheelZoom",1);Kh.WheelNone=z.s(Kh,"WheelNone",2);var Ck;Kh.GestureZoom=Ck=z.s(Kh,"GestureZoom",3);var Dk;Kh.GestureCancel=Dk=z.s(Kh,"GestureCancel",4);var Ek;Kh.GestureNone=Ek=z.s(Kh,"GestureNone",5);z.defineProperty(Kh,{Gu:"mouseWheelBehavior"},function(){return this.vD},function(a){z.Ca(a,Kh,Kh,"mouseWheelBehavior");this.vD=a});
-z.defineProperty(Kh,{oq:"gestureBehavior"},function(){return this.UC},function(a){z.Ca(a,Kh,Kh,"gestureBehavior");this.UC=a});Kh.prototype.initializeStandardTools=function(){this.FH=new ak;this.gG=new $h;this.tJ=new pj;this.tG=new Qj;this.dK=new Xj;this.TF=new ua;this.Ee=new Ph;this.rI=new ik;this.PJ=new jk;this.pA=new dk;this.IB=new kk;this.WH=new wa;this.XH=new Zj};
+z.defineProperty(Kh,{nq:"gestureBehavior"},function(){return this.UC},function(a){z.Ca(a,Kh,Kh,"gestureBehavior");this.UC=a});Kh.prototype.initializeStandardTools=function(){this.FH=new ak;this.gG=new $h;this.tJ=new pj;this.tG=new Qj;this.dK=new Xj;this.TF=new ua;this.Ee=new Ph;this.rI=new ik;this.PJ=new jk;this.pA=new dk;this.IB=new kk;this.WH=new wa;this.XH=new Zj};
Kh.prototype.updateAdornments=function(a){var b=this.cm;if(b instanceof ea&&this.Gv===a){var c=b.Ab;(null!==a?c.ba===a:null===c)?this.showToolTip(b,c):this.hideToolTip()}};
-Kh.prototype.doMouseDown=function(){var a=this.g;if(null!==a){var b=a.U;b.Hj&&this.oq===Dk&&(b.bubbles=!1);if(b.vu){this.cancelWaitAfter();if(this.oq===Ek){b.bubbles=!0;return}if(this.oq===Dk)return;if(a.fb.canStartMultiTouch()){a.fb.standardPinchZoomStart();return}}var c=a.sa;c.lA&&0!==c.Vh&&z.trace("WARNING: In ToolManager.doMouseDown: UndoManager.transactionLevel is not zero");for(var c=this.nf.length,d=0;de.right&&(c.x-=d.width+5);c.xe.bottom?c.y-(d.height+5):c.y+20;c.ya?c/2*a*a+b:-c/2*(--a*(a-2)-1)+b}z.w(nh,{eL:"animationReasons"},function(){return this.rv});
-nh.prototype.canStart=function(){return!0};nh.prototype.prepareAutomaticAnimation=nh.prototype.lo=function(a){this.pf&&(this.kk||this.ca.Zn)&&(this.rv.add(a),this.canStart(a)&&(this.jk&&this.Ii(),this.yc=!0))};function Vk(a){if(a.pf&&(a.rv.clear(),a.yc))if(!a.Do)a.yc=!1;else if(0===a.Co){var b=+new Date;a.Co=b;requestAnimationFrame(function(){if(!1!==a.yc&&!a.jk&&a.Co===b){var c=a.ca;c.Dj("temporaryPixelRatio")&&(c.zk=1);al(c);a.yc=!1;c.Ka("AnimationStarting");bl(a,b)}})}}
+function nh(){this.zC=Hk;this.Fr=this.Gr=this.ca=null;this.Bo=this.Hr=this.Ir=0;this.Co=this.yc=this.kp=this.jk=!1;this.kk=this.pf=!0;this.Ev=this.Dv=this.uC=null;this.tC=0;this.Fv=null;this.rv=new K("string");this.mz=600;this.uH=new M(0,0);this.iC=this.hC=this.kE=!1;this.en=new oa(O,Ik)}z.ka("AnimationManager",nh);nh.prototype.$c=function(a){this.ca=a};function Hk(a,b,c,d){a/=d/2;return 1>a?c/2*a*a+b:-c/2*(--a*(a-2)-1)+b}z.w(nh,{eL:"animationReasons"},function(){return this.rv});
+nh.prototype.canStart=function(){return!0};nh.prototype.prepareAutomaticAnimation=nh.prototype.ko=function(a){this.pf&&(this.kk||this.ca.Zn)&&(this.rv.add(a),this.canStart(a)&&(this.jk&&this.Ii(),this.yc=!0))};function Vk(a){if(a.pf&&(a.rv.clear(),a.yc))if(!a.Co)a.yc=!1;else if(0===a.Bo){var b=+new Date;a.Bo=b;requestAnimationFrame(function(){if(!1!==a.yc&&!a.jk&&a.Bo===b){var c=a.ca;c.Dj("temporaryPixelRatio")&&(c.zk=1);al(c);a.yc=!1;c.Ka("AnimationStarting");bl(a,b)}})}}
function cl(a,b,c,d,e,g){if(a.yc&&(u&&z.l(b,O,nh,"addPropToAnimation:obj"),!("position"===c&&d.O(e)||b instanceof D&&!b.CF))){var h=a.en;if(h.contains(b)){var h=h.qa(b),k=h.start,l=h.end;void 0===k[c]&&(k[c]=dl(d));h.sx&&void 0!==l[c]?h.cu[c]=dl(e):(g||(h.cu[c]=dl(e)),l[c]=dl(e));g&&0===c.indexOf("position:")&&(h.cu.location=dl(b.location))}else k=new na,l=new na,k[c]=dl(d),l[c]=dl(e),d=l,e=k.position,e instanceof M&&!e.F()&&a.rv.contains("Expand SubGraph")&&e.assign(d.position),k=new Ik(k,l,g),g&&
-0===c.indexOf("position:")&&(k.cu.location=dl(b.location)),h.add(b,k);a.Do=!0}}function dl(a){return a instanceof M?a.copy():a instanceof Fa?a.copy():a}
-function bl(a,b){var c;function d(){if(!1!==g.jk&&g.Co===b){var a=+new Date,c=a>s?m:a-r;el(g);fl(g,e,q,h,c,m);g.Dv&&g.Dv();Vi(e);gl(g);a>s?hl(g):requestAnimationFrame(d)}}void 0===c&&(c=new na);var e=a.ca;if(null!==e){a.jk=!0;var g=a,h=c.GL||a.zC,k=c.fM||null,l=c.gM||null,m=c.duration||a.mz,n=a.uH;for(c=a.en.j;c.next();){var p=c.value.start.position;p instanceof M&&(p.F()||p.assign(n))}a.uC=h;a.Dv=k;a.Ev=l;a.tC=m;a.Fv=a.en;var q=a.Fv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l=
-k["position:placeholder"],n=l.cb(hc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);el(a);fl(a,e,q,h,0,m);Vi(a.ca);gl(a);var r=+new Date,s=r+m;g.Co===b&&requestAnimationFrame(function(){d()})}}
+0===c.indexOf("position:")&&(k.cu.location=dl(b.location)),h.add(b,k);a.Co=!0}}function dl(a){return a instanceof M?a.copy():a instanceof Fa?a.copy():a}
+function bl(a,b){var c;function d(){if(!1!==g.jk&&g.Bo===b){var a=+new Date,c=a>s?m:a-r;el(g);fl(g,e,q,h,c,m);g.Dv&&g.Dv();Vi(e);gl(g);a>s?hl(g):requestAnimationFrame(d)}}void 0===c&&(c=new na);var e=a.ca;if(null!==e){a.jk=!0;var g=a,h=c.GL||a.zC,k=c.fM||null,l=c.gM||null,m=c.duration||a.mz,n=a.uH;for(c=a.en.j;c.next();){var p=c.value.start.position;p instanceof M&&(p.F()||p.assign(n))}a.uC=h;a.Dv=k;a.Ev=l;a.tC=m;a.Fv=a.en;var q=a.Fv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l=
+k["position:placeholder"],n=l.cb(hc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);el(a);fl(a,e,q,h,0,m);Vi(a.ca);gl(a);var r=+new Date,s=r+m;g.Bo===b&&requestAnimationFrame(function(){d()})}}
var il={opacity:function(a,b,c,d,e,g){a.opacity=d(e,b,c-b,g)},position:function(a,b,c,d,e,g){e!==g?a.zy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):a.position=new M(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g))},"position:node":function(a,b,c,d,e,g){var h=a.Z,k=c.Z;c=k.x+k.width/2-h.width/2;h=k.y+k.height/2-h.height/2;e!==g?a.zy(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g)):a.position=new M(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g))},"position:placeholder":function(a,b,c,d,e,g){e!==g?a.zy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):
-a.position=new M(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g))},scale:function(a,b,c,d,e,g){a.scale=d(e,b,c-b,g)},visible:function(a,b,c,d,e,g){a.visible=e!==g?b:c}};function el(a){if(!a.lp){var b=a.ca;a.kE=b.Eb;a.hC=b.Ve;a.iC=b.Zu;b.Eb=!0;b.Ve=!0;b.Zu=!0;a.lp=!0}}function gl(a){var b=a.ca;b.Eb=a.kE;b.Ve=a.hC;b.Zu=a.iC;a.lp=!1}
+a.position=new M(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g))},scale:function(a,b,c,d,e,g){a.scale=d(e,b,c-b,g)},visible:function(a,b,c,d,e,g){a.visible=e!==g?b:c}};function el(a){if(!a.kp){var b=a.ca;a.kE=b.Eb;a.hC=b.Ve;a.iC=b.Zu;b.Eb=!0;b.Ve=!0;b.Zu=!0;a.kp=!0}}function gl(a){var b=a.ca;b.Eb=a.kE;b.Ve=a.hC;b.Zu=a.iC;a.kp=!1}
function fl(a,b,c,d,e,g){for(c=c.j;c.next();){var h=c.key,k=c.value,l=k.start,k=k.end,m;for(m in k)if(("position"!==m||!k["position:placeholder"]&&!k["position:node"])&&void 0!==il[m])il[m](h,l[m],k[m],d,e,g)}d=b.RA;b.RA=!0;m=a.zC;0!==a.Ir&&0!==a.Hr&&(c=a.Ir,b.Rb=m(e,c,a.Hr-c,g));null!==a.Gr&&null!==a.Fr&&(c=a.Gr,a=a.Fr,b.ub=new M(m(e,c.x,a.x-c.x,g),m(e,c.y,a.y-c.y,g)));b.RA=d}
-nh.prototype.stopAnimation=nh.prototype.Ii=function(){!0===this.yc&&(this.yc=!1,this.Do&&this.ca.Te());this.jk&&this.pf&&hl(this)};
-function hl(a){a.jk=!1;a.Do=!1;el(a);for(var b=a.ca,c=a.uC,d=a.tC,e=a.Fv.j;e.next();){var g=e.key,h=e.value,k=h.start,l=h.end,m=h.cu,n;for(n in l)if(void 0!==il[n]){var p=n;!h.sx||"position:node"!==p&&"position:placeholder"!==p||(p="position");il[p](g,k[n],void 0!==m[n]?m[n]:h.sx?k[n]:l[n],c,d,d)}h.sx&&void 0!==m.location&&(g.location=m.location);h.ny&&g.Kd(!1)}for(c=a.ca.links;c.next();)d=c.value,null!==d.Gp&&(d.points=d.Gp,d.Gp=null);b.$x.clear();b.zk=null;b.Bc();b.ra();b.hg();jl(b);gl(a);a.Ev&&
-a.Ev();a.Co=0;a.Fv=null;a.Ev=null;a.Dv=null;a.Gr=null;a.Fr=null;a.Ir=0;a.Hr=0;a.en=new oa(O,Ik);b.Ka("AnimationFinished");b.Te()}function kl(a,b,c){var d=b.Z,e=c.Z,g=null;c instanceof F&&(g=c.placeholder);null!==g?(d=g.cb(hc),d.x+=g.padding.left,d.y+=g.padding.top,cl(a,b,"position",d,b.position,!1)):cl(a,b,"position",new M(e.x+e.width/2-d.width/2,e.y+e.height/2-d.height/2),b.position,!1);cl(a,b,"scale",.01,b.scale,!1);if(b instanceof F)for(b=b.Oc;b.next();)g=b.value,g instanceof E&&kl(a,g,c)}
-function ll(a,b,c){if(b.isVisible()){var d=null;c instanceof F&&(d=c.placeholder);null!==d?cl(a,b,"position:placeholder",b.position,d,!0):cl(a,b,"position:node",b.position,c,!0);cl(a,b,"scale",b.scale,.01,!0);a.yc&&(d=a.en,d.contains(b)&&(d.qa(b).ny=!0));if(b instanceof F)for(b=b.Oc;b.next();)d=b.value,d instanceof E&&ll(a,d,c)}}function ml(a,b,c){a.yc&&(null===a.Gr&&b.F()&&null===a.Fr&&(a.Gr=b.copy()),a.Fr=c.copy(),a.Do=!0)}
-function nl(a,b,c){a.yc&&a.ca.Zn&&(0===a.Ir&&0===a.Hr&&(a.Ir=b),a.Hr=c,a.Do=!0)}z.defineProperty(nh,{isEnabled:"isEnabled"},function(){return this.pf},function(a){z.h(a,"boolean",nh,"isEnabled");this.pf=a});z.defineProperty(nh,{duration:"duration"},function(){return this.mz},function(a){z.h(a,"number",nh,"duration");1>a&&z.wa(a,">= 1",nh,"duration");this.mz=a});z.w(nh,{wf:"isAnimating"},function(){return this.jk});z.w(nh,{jJ:"isTicking"},function(){return this.lp});
-z.defineProperty(nh,{KF:"isInitial"},function(){return this.kk},function(a){z.h(a,"boolean",nh,"isInitial");this.kk=a});function Ik(a,b,c){this.start=a;this.end=b;this.cu=new na;this.sx=c;this.ny=!1}function ah(){0a&&z.wa(a,">= 1",nh,"duration");this.mz=a});z.w(nh,{wf:"isAnimating"},function(){return this.jk});z.w(nh,{jJ:"isTicking"},function(){return this.kp});
+z.defineProperty(nh,{KF:"isInitial"},function(){return this.kk},function(a){z.h(a,"boolean",nh,"isInitial");this.kk=a});function Ik(a,b,c){this.start=a;this.end=b;this.cu=new na;this.sx=c;this.ny=!1}function ah(){0=a)return b;for(var c=0,d=0,e=0,g=0,h=0,k=this.pb.j;k.next();){var l=k.value;l instanceof F?e++:l instanceof E?d++:l instanceof H?g++:l instanceof ea?h++:c++}k="";0=d.count)a=d.count;else if(d.fa(a)===b)return-1;d.Zd(a,b);b.ou(c);d=this.g;null!==d&&(c?d.ra():d.rq(b));tl(this,a,b);return a};
+f.Mf=function(a,b){if(this.visible){var c;c=void 0===b?a.yb:b;for(var d=this.pb.o,e=d.length,g=0;g=d.count)a=d.count;else if(d.fa(a)===b)return-1;d.Yd(a,b);b.ou(c);d=this.g;null!==d&&(c?d.ra():d.qq(b));tl(this,a,b);return a};
f.vf=function(a,b,c){if(!c&&b.layer!==this&&null!==b.layer)return b.layer.vf(a,b,c);var d=this.pb;if(0>a||a>=d.length){if(a=d.indexOf(b),0>a)return-1}else if(d.fa(a)!==b&&(a=d.indexOf(b),0>a))return-1;b.pu(c);d.md(a);d=this.g;null!==d&&(c?d.ra():d.vf(b));b.fw=null;return a};
-function tl(a,b,c){b=ul(a,b,c);if(c instanceof F&&null!==c&&isNaN(c.yo)){if(0!==c.Oc.count){for(var d=-1,e=a.pb.o,g=e.length,h=0;hd&&k.Qa===c&&(d=h,0<=b))break}!(0>d)&&d=e)return b;0>b&&(b=a.indexOf(c));if(0>b)return-1;for(var g=b-1,h=NaN;0<=g;){h=a.fa(g).yo;if(!isNaN(h))break;g--}for(var k=b+1,l=NaN;kd)for(;;){if(-1===g||h<=d){g++;if(g===b)break;a.md(b);a.Zd(g,c);return g}for(h=NaN;0<=--g&&(h=a.fa(g).yo,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.md(b);a.Zd(k,c);return k}for(l=NaN;++kd&&k.Qa===c&&(d=h,0<=b))break}!(0>d)&&d=e)return b;0>b&&(b=a.indexOf(c));if(0>b)return-1;for(var g=b-1,h=NaN;0<=g;){h=a.fa(g).xo;if(!isNaN(h))break;g--}for(var k=b+1,l=NaN;kd)for(;;){if(-1===g||h<=d){g++;if(g===b)break;a.md(b);a.Yd(g,c);return g}for(h=NaN;0<=--g&&(h=a.fa(g).xo,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.md(b);a.Yd(k,c);return k}for(l=NaN;++ka||1e[1]&&(z.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+
+function C(a){function b(){window.document.removeEventListener("DOMContentLoaded",b,!1);vl(c)}1e[1]&&(z.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+
z.vfo+". This license key will do nothing until you upgrade to GoJS 1.7 or later."),z.xx.licenseKey=!0);this.Dl=1;this.Wm=0;this.mD=new M;this.iE=500;this.tv=new M;this.qt=null;this.cd=this.Al=!1}z.ka("Diagram",C);
-C.prototype.clear=C.prototype.clear=function(){var a=null;null!==this.Cd&&(a=this.Cd.ba);this.ia.clear();for(var b=this.bc.length,c=0;c=a)return b;for(var c=this.bc.j;c.next();)b+="\n "+c.value.toString(a-1);return b};C.fromDiv=function(a){var b=a;"string"===typeof a&&(b=window.document.getElementById(a));return b instanceof HTMLDivElement&&b.ca instanceof C?b.ca:null};
z.defineProperty(C,{Aj:"div"},function(){return this.Tb},function(a){null!==a&&z.l(a,HTMLDivElement,C,"div");if(this.Tb!==a){wl=[];var b=this.Tb;null!==b?(b.ca=void 0,b.innerHTML="",null!==this.Lb&&(this.Lb.removeEventListener("touchstart",this.WG,!1),this.Lb.removeEventListener("touchmove",this.VG,!1),this.Lb.removeEventListener("touchend",this.UG,!1),this.Lb.Fd.ca=null),b=this.ib,null!==b&&(b.nf.each(function(a){a.cancelWaitAfter()}),b.jg.each(function(a){a.cancelWaitAfter()}),b.kg.each(function(a){a.cancelWaitAfter()})),
-b.cancelWaitAfter(),this.fb.doCancel(),this.pd=this.Lb=null,window.removeEventListener("resize",this.dH,!1),window.removeEventListener("mousemove",this.Cq,!0),window.removeEventListener("mousedown",this.Bq,!0),window.removeEventListener("mouseup",this.Eq,!0),window.removeEventListener("mousewheel",this.Qh,!0),window.removeEventListener("DOMMouseScroll",this.Qh,!0),window.removeEventListener("mouseout",this.Dq,!0)):this.sh=!1;this.Tb=null;if(null!==a){if(b=a.ca)b.Aj=null;Il(this,a);this.Iq()}}});
-function Ll(a){var b=a.Lb;b.addEventListener("touchstart",a.WG,!1);b.addEventListener("touchmove",a.VG,!1);b.addEventListener("touchend",a.UG,!1);b.addEventListener("mousemove",a.Cq,!1);b.addEventListener("mousedown",a.Bq,!1);b.addEventListener("mouseup",a.Eq,!1);b.addEventListener("mousewheel",a.Qh,!1);b.addEventListener("DOMMouseScroll",a.Qh,!1);b.addEventListener("mouseout",a.Dq,!1);b.addEventListener("keydown",a.mJ,!1);b.addEventListener("keyup",a.nJ,!1);b.addEventListener("selectstart",function(a){a.preventDefault();
-return!1},!1);b.addEventListener("contextmenu",function(a){a.preventDefault();return!1},!1);b.addEventListener("gesturechange",function(b){a.ib.oq===Dk&&b.preventDefault()},!1);b.addEventListener("pointerdown",a.QJ,!1);b.addEventListener("pointermove",a.SJ,!1);b.addEventListener("pointerleave",a.RJ,!1);window.addEventListener("resize",a.dH,!1)}C.prototype.computePixelRatio=function(){return null!==this.zk?this.zk:this.rH};C.prototype.doMouseMove=function(){this.fb.doMouseMove()};
+b.cancelWaitAfter(),this.fb.doCancel(),this.pd=this.Lb=null,window.removeEventListener("resize",this.dH,!1),window.removeEventListener("mousemove",this.Bq,!0),window.removeEventListener("mousedown",this.Aq,!0),window.removeEventListener("mouseup",this.Dq,!0),window.removeEventListener("mousewheel",this.Qh,!0),window.removeEventListener("DOMMouseScroll",this.Qh,!0),window.removeEventListener("mouseout",this.Cq,!0)):this.sh=!1;this.Tb=null;if(null!==a){if(b=a.ca)b.Aj=null;Il(this,a);this.Iq()}}});
+function Ll(a){var b=a.Lb;b.addEventListener("touchstart",a.WG,!1);b.addEventListener("touchmove",a.VG,!1);b.addEventListener("touchend",a.UG,!1);b.addEventListener("mousemove",a.Bq,!1);b.addEventListener("mousedown",a.Aq,!1);b.addEventListener("mouseup",a.Dq,!1);b.addEventListener("mousewheel",a.Qh,!1);b.addEventListener("DOMMouseScroll",a.Qh,!1);b.addEventListener("mouseout",a.Cq,!1);b.addEventListener("keydown",a.mJ,!1);b.addEventListener("keyup",a.nJ,!1);b.addEventListener("selectstart",function(a){a.preventDefault();
+return!1},!1);b.addEventListener("contextmenu",function(a){a.preventDefault();return!1},!1);b.addEventListener("gesturechange",function(b){a.ib.nq===Dk&&b.preventDefault()},!1);b.addEventListener("pointerdown",a.QJ,!1);b.addEventListener("pointermove",a.SJ,!1);b.addEventListener("pointerleave",a.RJ,!1);window.addEventListener("resize",a.dH,!1)}C.prototype.computePixelRatio=function(){return null!==this.zk?this.zk:this.rH};C.prototype.doMouseMove=function(){this.fb.doMouseMove()};
C.prototype.doMouseDown=function(){this.fb.doMouseDown()};C.prototype.doMouseUp=function(){this.fb.doMouseUp()};C.prototype.doMouseWheel=function(){this.fb.doMouseWheel()};C.prototype.doKeyDown=function(){this.fb.doKeyDown()};C.prototype.doKeyUp=function(){this.fb.doKeyUp()};C.prototype.doFocus=function(){this.focus()};C.prototype.focus=C.prototype.focus=function(){this.Lb&&this.Lb.focus()};
-function al(a){if(null!==a.Lb){var b=a.Tb;if(0!==b.clientWidth&&0!==b.clientHeight){var c=a.wl?a.Ud:0,d=a.hk?a.Ud:0,e=a.rd;a.rd=a.computePixelRatio();a.rd!==e&&(a.bs=!0,a.Te());if(b.clientWidth!==a.Ob+c||b.clientHeight!==a.Sb+d)a.Qm=!0,a.Ne=!0,b=a.Wb,null!==b&&b.Vx&&a.Zl===Qh&&b.N(),a.je||a.Te()}}}
+function al(a){if(null!==a.Lb){var b=a.Tb;if(0!==b.clientWidth&&0!==b.clientHeight){var c=a.wl?a.Td:0,d=a.hk?a.Td:0,e=a.rd;a.rd=a.computePixelRatio();a.rd!==e&&(a.bs=!0,a.Te());if(b.clientWidth!==a.Ob+c||b.clientHeight!==a.Sb+d)a.Qm=!0,a.Ne=!0,b=a.Wb,null!==b&&b.Vx&&a.Zl===Qh&&b.N(),a.ie||a.Te()}}}
function Fl(a){var b=new ah;b.name="Background";a.Lt(b);b=new ah;b.name="";a.Lt(b);b=new ah;b.name="Foreground";a.Lt(b);b=new ah;b.name="Adornment";b.Wc=!0;a.Lt(b);b=new ah;b.name="Tool";b.Wc=!0;b.DF=!0;a.Lt(b);b=new ah;b.name="Grid";b.Df=!1;b.qg=!1;b.Wc=!0;a.KH(b,a.hm("Background"))}
function Ml(a){a.Cd=new I(Nl);a.Cd.name="GRID";var b=new Y;b.Jb="LineH";b.stroke="lightgray";b.mb=.5;b.interval=1;a.Cd.add(b);b=new Y;b.Jb="LineH";b.stroke="gray";b.mb=.5;b.interval=5;a.Cd.add(b);b=new Y;b.Jb="LineH";b.stroke="gray";b.mb=1;b.interval=10;a.Cd.add(b);b=new Y;b.Jb="LineV";b.stroke="lightgray";b.mb=.5;b.interval=1;a.Cd.add(b);b=new Y;b.Jb="LineV";b.stroke="gray";b.mb=.5;b.interval=5;a.Cd.add(b);b=new Y;b.Jb="LineV";b.stroke="gray";b.mb=1;b.interval=10;a.Cd.add(b);b=new D;b.add(a.Cd);
-b.Lf="Grid";b.yo=0;b.Qx=!1;b.CF=!1;b.qg=!1;b.ay="GRID";a.add(b);a.pb.remove(b);a.Cd.visible=!1}C.prototype.tH=function(){this.ca.isEnabled?this.ca.qI(this):Ol(this.ca)};C.prototype.xD=function(a){this.ca.isEnabled?(this.ca.Sz=!0,this.ca.Uz=a.target.scrollTop,this.ca.Tz=a.target.scrollLeft):Ol(this.ca)};
+b.Lf="Grid";b.xo=0;b.Qx=!1;b.CF=!1;b.qg=!1;b.ay="GRID";a.add(b);a.pb.remove(b);a.Cd.visible=!1}C.prototype.tH=function(){this.ca.isEnabled?this.ca.qI(this):Ol(this.ca)};C.prototype.xD=function(a){this.ca.isEnabled?(this.ca.Sz=!0,this.ca.Uz=a.target.scrollTop,this.ca.Tz=a.target.scrollLeft):Ol(this.ca)};
C.prototype.diagramScroll=C.prototype.qI=function(a){if(this.Sz&&null!==this.Lb){this.Gw=!0;var b=this.fd,c=this.yb,d=b.width,e=c.width,g=b.height,h=c.height,k=b.right,l=c.right,m=b.bottom,n=c.bottom,p=b.x,q=c.x,b=b.y,c=c.y,r=this.scale,s;s=a.scrollLeft;if(this.fs)switch(this.Qz){case "negative":s=s+a.scrollWidth-a.clientWidth;break;case "reverse":s=a.scrollWidth-s-a.clientWidth}var v=s;el&&(this.position=s.m(-(this.Kw.scrollWidth-this.Ob)+v-this.Ob/r+k,this.position.y))),a.xH&&this.Be&&(bn&&(this.position=s.m(this.position.x,-(this.Kw.scrollHeight-this.Sb)+a.scrollTop-this.Sb/r+m))),z.A(s),Pl(this),this.Qm=this.Gw=!1,b=this.fd,c=this.yb,k=b.right,l=c.right,
m=b.bottom,n=c.bottom,p=b.x,q=c.x,b=b.y,c=c.y,e>=d&&p>=q&&k<=l&&(this.ht.style.width="1px"),h>=g&&b>=c&&m<=n&&(this.ht.style.height="1px"))}};C.prototype.computeBounds=C.prototype.Jh=function(){0c&&(e=c),ea.Oh&&(e=a.Oh),e):b===Wl?(e=l>k?(h-a.Ud)/d:(g-a.Ud)/e,e>c&&(e=c),ea.Oh&&(e=a.Oh),e):a.scale}C.prototype.zoomToFit=C.prototype.zoomToFit=function(){this.scale=Sl(this,Vl)};
-C.prototype.zoomToRect=function(a,b){void 0===b&&(b=Vl);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Vl||b===Wl)if(isNaN(c))e=this.yb.height*this.scale/d;else if(isNaN(d))e=this.yb.width*this.scale/c;else var e=this.Ob,g=this.Sb,e=b===Wl?g/d>e/c?(g-(this.hk?this.Ud:0))/d:(e-(this.wl?this.Ud:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new M(a.x,a.y)}};z.defineProperty(C,{RA:null},function(){return this.cd},function(a){this.cd=a});
+function Rl(a,b){if((b||a.sh)&&!a.cd&&null!==a.Lb&&!a.Ya.wf&&a.fd.F()){a.cd=!0;var c=a.Gm;b&&a.yl!==Qh&&(c=a.yl);var d=c!==Qh?Sl(a,c):a.scale,c=a.yb.copy(),e=a.Ob/d,g=a.Sb/d,h=null,k=a.Ya;k.yc&&(h=a.ub.copy());a.position.Za();var l=a.Jo;b&&!l.jd()&&a.ep.jd()&&(l=a.ep);Tl(a,a.ub,a.fd,e,g,l,b);a.position.freeze();null!==h&&ml(k,h,a.ub);e=a.scale;a.scale=d;a.cd=!1;d=a.yb;d.Vc(c)||a.Lu(c,d,e,a.scale,!1)}}
+function Sl(a,b){var c=a.xb.vx;if(null===a.Lb)return c;a.ik&&Ul(a,a.Jh());var d=a.fd;if(!d.F())return c;var e=d.width,d=d.height,g=a.Ob,h=a.Sb,k=g/e,l=h/d;return b===Vl?(e=Math.min(l,k),e>c&&(e=c),ea.Oh&&(e=a.Oh),e):b===Wl?(e=l>k?(h-a.Td)/d:(g-a.Td)/e,e>c&&(e=c),ea.Oh&&(e=a.Oh),e):a.scale}C.prototype.zoomToFit=C.prototype.zoomToFit=function(){this.scale=Sl(this,Vl)};
+C.prototype.zoomToRect=function(a,b){void 0===b&&(b=Vl);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Vl||b===Wl)if(isNaN(c))e=this.yb.height*this.scale/d;else if(isNaN(d))e=this.yb.width*this.scale/c;else var e=this.Ob,g=this.Sb,e=b===Wl?g/d>e/c?(g-(this.hk?this.Td:0))/d:(e-(this.wl?this.Td:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new M(a.x,a.y)}};z.defineProperty(C,{RA:null},function(){return this.cd},function(a){this.cd=a});
C.prototype.alignDocument=function(a,b){this.ik&&Ul(this,this.Jh());var c=this.fd,d=this.yb;this.position=new M(c.x+(a.x*c.width+a.offsetX)-(b.x*d.width-b.offsetX),c.y+(a.y*c.height+a.offsetY)-(b.y*d.height-b.offsetY))};
function Tl(a,b,c,d,e,g,h){var k=b.x,l=b.y;if(h||a.uB===xl)g.jd()&&(d>c.width&&(k=c.x+(g.x*c.width+g.offsetX)-(g.x*d-g.offsetX)),e>c.height&&(l=c.y+(g.y*c.height+g.offsetY)-(g.y*e-g.offsetY))),g=a.xG,h=d-c.width,dc.left?k=c.left:kc.top?l=c.top:lc.touches.length)&&c.preventDefault();c.cancelBubble=!0;return!1}
C.prototype.mJ=function(a){if(!this.ca.isEnabled)return!1;var b=this.ca.Ub;Xl(this.ca,this.ca,a,b,!1);b.key=String.fromCharCode(a.which);b.gm=!0;switch(a.which){case 8:b.key="Backspace";break;case 33:b.key="PageUp";break;case 34:b.key="PageDown";break;case 35:b.key="End";break;case 36:b.key="Home";break;case 37:b.key="Left";break;case 38:b.key="Up";break;case 39:b.key="Right";break;case 40:b.key="Down";break;case 45:b.key="Insert";break;case 46:b.key="Del";break;case 48:b.key="0";break;case 187:case 61:case 107:b.key=
"Add";break;case 189:case 173:case 109:b.key="Subtract";break;case 27:b.key="Esc"}this.ca.doKeyDown();return 187!==a.which&&189!==a.which&&48!==a.which&&107!==a.which&&109!==a.which&&61!==a.which&&173!==a.which||!0!==a.ctrlKey?ia(this.ca,b,a):(a.cancelBubble=!0,a.preventDefault(),a.stopPropagation(),!1)};
C.prototype.nJ=function(a){if(!this.ca.isEnabled)return!1;var b=this.ca.Ub;Xl(this.ca,this.ca,a,b,!1);b.key=String.fromCharCode(a.which);b.up=!0;switch(a.which){case 8:b.key="Backspace";break;case 33:b.key="PageUp";break;case 34:b.key="PageDown";break;case 35:b.key="End";break;case 36:b.key="Home";break;case 37:b.key="Left";break;case 38:b.key="Up";break;case 39:b.key="Right";break;case 40:b.key="Down";break;case 45:b.key="Insert";break;case 46:b.key="Del";break;case 93:a.preventDefault()}this.ca.doKeyUp();
-return ia(this.ca,b,a)};C.prototype.bp=function(a){var b=this.Lb;if(null===b)return new M(0,0);var c=this.Ob,d=this.Sb,b=b.getBoundingClientRect(),c=a.clientX-c/b.width*b.left;a=a.clientY-d/b.height*b.top;return null!==this.Jc?(a=new M(c,a),ub(a,this.Jc),a):new M(c,a)};
-function Yl(a,b,c){var d=a.Lb,e=a.Ob,g=a.Sb,h=0,k=0;null!==d&&(d=d.getBoundingClientRect(),h=b.clientX-e/d.width*d.left,k=b.clientY-g/d.height*d.top);c.te.m(h,k);null!==a.Jc?(b=z.Fb(h,k),a.Jc.Ci(b),c.ha.assign(b),z.A(b)):c.ha.m(h,k)}
-function Zf(a,b,c,d){var e=null;if(void 0!==b.targetTouches){if(2>b.targetTouches.length)return;e=b.targetTouches[c]}else if(null!==a.nj[0])e=a.nj[c];else return;c=a.Lb;b=a.Ob;a=a.Sb;var g=0,h=0;null!==c&&null!==e&&(c=c.getBoundingClientRect(),g=e.clientX-b/c.width*c.left,h=e.clientY-a/c.height*c.top);d.m(g,h)}C.prototype.invalidateDocumentBounds=C.prototype.Bc=function(){this.ik||(this.ik=!0,this.Te(!0))};function jl(a){a.je||Li(a);a.ik&&Ul(a,a.Jh())}
-C.prototype.redraw=C.prototype.Iq=function(){this.cd||this.je||(this.ra(),am(this),Pl(this),this.Bc(),this.hg())};C.prototype.isUpdateRequested=function(){return this.Zf};C.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Ya,c=b.isEnabled;b.Ii();b.isEnabled=!1;Vi(this);this.sh=!1;b.isEnabled=c;null!==a&&z.setTimeout(a,1)};
-C.prototype.requestUpdate=C.prototype.Te=function(a){void 0===a&&(a=!1);if(!0!==this.Zf&&!(this.cd||!1===a&&this.je)){this.Zf=!0;var b=this;requestAnimationFrame(function(){b.Zf&&b.hg()})}};C.prototype.maybeUpdate=C.prototype.hg=function(){if(!this.$o||this.Zf)this.$o&&(this.$o=!1),Vi(this)};function bm(a,b){a.Ya.wf||a.cd||!a.Qm||Ol(a)||(b&&Li(a),Rl(a,!1))}
-function Vi(a){if(!a.je&&(a.Zf=!1,null!==a.Tb)){a.je=!0;var b=a.Ya,c=a.Pz;if(!b.lp&&0!==c.length){for(var d=c.o,e=d.length,g=0;gb;b++){var c=a.Cg.j;if(null===c||0===a.Cg.count)break;a.Cg=new K(O);a.QB(c,a.Cg);u&&22===b&&z.trace("failure to validate parts")}a.og.each(function(a){a instanceof F&&0!==(a.Ha&65536)!==!1&&(a.Ha^=65536)})}}
-C.prototype.QB=function(a,b){for(a.reset();a.next();){var c=a.value;!c.re()||c instanceof F||(c.sm()?(Bk(c,Infinity,Infinity),c.rc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof F&&c.isVisible()&&Bm(this,c);for(a.reset();a.next();)c=a.value,c instanceof H&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.rc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof ea&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.rc()):b.add(c))};
-function Bm(a,b){for(var c=z.tb(),d=z.tb(),e=b.Oc;e.next();){var g=e.value;g.isVisible()&&(g instanceof F?(Cm(g)||Dm(g)||Em(g))&&Bm(a,g):g instanceof H?g.aa===b||g.ea===b?d.push(g):c.push(g):(Bk(g,Infinity,Infinity),g.rc()))}for(var e=c.length,h=0;hb.targetTouches.length)return;e=b.targetTouches[c]}else if(null!==a.nj[0])e=a.nj[c];else return;c=a.Lb;b=a.Ob;a=a.Sb;var g=0,h=0;null!==c&&null!==e&&(c=c.getBoundingClientRect(),g=e.clientX-b/c.width*c.left,h=e.clientY-a/c.height*c.top);d.m(g,h)}C.prototype.invalidateDocumentBounds=C.prototype.Bc=function(){this.ik||(this.ik=!0,this.Te(!0))};function jl(a){a.ie||Li(a);a.ik&&Ul(a,a.Jh())}
+C.prototype.redraw=C.prototype.Iq=function(){this.cd||this.ie||(this.ra(),am(this),Pl(this),this.Bc(),this.hg())};C.prototype.isUpdateRequested=function(){return this.Zf};C.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Ya,c=b.isEnabled;b.Ii();b.isEnabled=!1;Vi(this);this.sh=!1;b.isEnabled=c;null!==a&&z.setTimeout(a,1)};
+C.prototype.requestUpdate=C.prototype.Te=function(a){void 0===a&&(a=!1);if(!0!==this.Zf&&!(this.cd||!1===a&&this.ie)){this.Zf=!0;var b=this;requestAnimationFrame(function(){b.Zf&&b.hg()})}};C.prototype.maybeUpdate=C.prototype.hg=function(){if(!this.Zo||this.Zf)this.Zo&&(this.Zo=!1),Vi(this)};function bm(a,b){a.Ya.wf||a.cd||!a.Qm||Ol(a)||(b&&Li(a),Rl(a,!1))}
+function Vi(a){if(!a.ie&&(a.Zf=!1,null!==a.Tb)){a.ie=!0;var b=a.Ya,c=a.Pz;if(!b.kp&&0!==c.length){for(var d=c.o,e=d.length,g=0;gb;b++){var c=a.Cg.j;if(null===c||0===a.Cg.count)break;a.Cg=new K(O);a.QB(c,a.Cg);u&&22===b&&z.trace("failure to validate parts")}a.og.each(function(a){a instanceof F&&0!==(a.Ha&65536)!==!1&&(a.Ha^=65536)})}}
+C.prototype.QB=function(a,b){for(a.reset();a.next();){var c=a.value;!c.qe()||c instanceof F||(c.sm()?(Bk(c,Infinity,Infinity),c.qc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof F&&c.isVisible()&&Bm(this,c);for(a.reset();a.next();)c=a.value,c instanceof H&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.qc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof ea&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.qc()):b.add(c))};
+function Bm(a,b){for(var c=z.tb(),d=z.tb(),e=b.Oc;e.next();){var g=e.value;g.isVisible()&&(g instanceof F?(Cm(g)||Dm(g)||Em(g))&&Bm(a,g):g instanceof H?g.aa===b||g.ea===b?d.push(g):c.push(g):(Bk(g,Infinity,Infinity),g.qc()))}for(var e=c.length,h=0;hx+1&&
-(N=Math.max((t-x)*c+a.Ob,N)),q+k+1p+1&&(G=Math.max((B-p)*c+a.Sb,G)),r+l+1x+1&&(N=Math.max((t-x)*c+a.Ob,N)),q+1p+1&&(G=Math.max((B-p)*c+l,G)),r+1x+1&&(k=a.position.x*c));if(a.fs)switch(a.Qz){case "negative":k=-(b.scrollWidth-k-b.clientWidth);break;case "reverse":k=b.scrollWidth-k-b.clientWidth}b.scrollLeft=k;a.OA&&a.Be&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.bs=!0);m=a.Ob;n=a.Sb;b.style.width=m+(a.wl?a.Ud:0)+"px";b.style.height=n+(a.hk?a.Ud:0)+"px";a.Sz=!1;return d!==m||e!==
+function Ol(a){var b=a.Lb;if(null===b)return!0;var c=a.Tb,d=a.Ob,e=a.Sb,g=a.mE.copy();if(!g.F())return!0;var h=!1,k=a.wl?a.Td:0,l=a.hk?a.Td:0,m=c.clientWidth||d+k,n=c.clientHeight||e+l;if(m!==d+k||n!==e+l)a.wl=!1,a.hk=!1,l=k=0,a.Ob=m,a.Sb=n,h=a.bs=!0;a.Qm=!1;var p=a.yb,c=a.fd,m=c.width,n=c.height,q=p.width,r=p.height,s=c.x,v=p.x,t=c.right,x=p.right+k,y=c.y,B=p.y,A=c.bottom,p=p.bottom+l,N="1px",G="1px",c=a.scale;a.uB===xl&&mx+1&&
+(N=Math.max((t-x)*c+a.Ob,N)),q+k+1p+1&&(G=Math.max((A-p)*c+a.Sb,G)),r+l+1x+1&&(N=Math.max((t-x)*c+a.Ob,N)),q+1p+1&&(G=Math.max((A-p)*c+l,G)),r+1x+1&&(k=a.position.x*c));if(a.fs)switch(a.Qz){case "negative":k=-(b.scrollWidth-k-b.clientWidth);break;case "reverse":k=b.scrollWidth-k-b.clientWidth}b.scrollLeft=k;a.OA&&a.Be&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.bs=!0);m=a.Ob;n=a.Sb;b.style.width=m+(a.wl?a.Td:0)+"px";b.style.height=n+(a.hk?a.Td:0)+"px";a.Sz=!1;return d!==m||e!==
n||a.Ya.yc?(p=a.yb,a.Lu(g,p,c,a.scale,h),!1):!0}
-C.prototype.add=C.prototype.add=function(a){z.l(a,D,C,"add:part");var b=a.g;if(b!==this){null!==b&&z.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.cr&&(a.El="Tool");var c=a.Lf,b=this.hm(c);null===b&&(b=this.hm(""));null===b&&z.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.rq(99999999,a,a.g===this),0<=c&&this.ld(sg,"parts",b,null,a,null,c),b.Wc||this.Bc(),a.N(Lm),c=a.Yx,null!==
+C.prototype.add=C.prototype.add=function(a){z.l(a,D,C,"add:part");var b=a.g;if(b!==this){null!==b&&z.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.cr&&(a.El="Tool");var c=a.Lf,b=this.hm(c);null===b&&(b=this.hm(""));null===b&&z.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.qq(99999999,a,a.g===this),0<=c&&this.ld(sg,"parts",b,null,a,null,c),b.Wc||this.Bc(),a.N(Lm),c=a.Yx,null!==
c&&c(a,null,b))}};
-C.prototype.rq=function(a){if(a instanceof E){if(this.zp.add(a),a instanceof F){var b=a.Qa;null===b?this.Pl.add(a):b.cn.add(a);b=a.Wb;null!==b&&(b.g=this)}}else a instanceof H?this.sp.add(a):a instanceof ea||this.pb.add(a);var c=this;Mm(a,function(a){Nm(c,a)});a.Qb&&a.K();b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.add(b,a):this.Ti.add(b,a)),Mm(a,function(a){Om(c,a)}));!0!==Dm(a)&&!0!==Em(a)||this.Cg.add(a);Pm(a,!0,this);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&
+C.prototype.qq=function(a){if(a instanceof E){if(this.yp.add(a),a instanceof F){var b=a.Qa;null===b?this.Pl.add(a):b.cn.add(a);b=a.Wb;null!==b&&(b.g=this)}}else a instanceof H?this.rp.add(a):a instanceof ea||this.pb.add(a);var c=this;Mm(a,function(a){Nm(c,a)});a.Qb&&a.K();b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.add(b,a):this.Ti.add(b,a)),Mm(a,function(a){Om(c,a)}));!0!==Dm(a)&&!0!==Em(a)||this.Cg.add(a);Pm(a,!0,this);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&
a.Z.F()&&this.ra(sl(a,a.Z));this.Te()};
-C.prototype.vf=function(a){a.Vt();if(a instanceof E){if(this.zp.remove(a),a instanceof F){var b=a.Qa;null===b?this.Pl.remove(a):b.cn.remove(a);b=a.Wb;null!==b&&(b.g=null)}}else a instanceof H?this.sp.remove(a):a instanceof ea||this.pb.remove(a);var c=this;Mm(a,function(a){Rm(c,a)});b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.remove(b):this.Ti.remove(b)),Mm(a,function(a){Sm(c,a)}));this.Cg.remove(a);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&a.Z.F()&&this.ra(sl(a,
+C.prototype.vf=function(a){a.Vt();if(a instanceof E){if(this.yp.remove(a),a instanceof F){var b=a.Qa;null===b?this.Pl.remove(a):b.cn.remove(a);b=a.Wb;null!==b&&(b.g=null)}}else a instanceof H?this.rp.remove(a):a instanceof ea||this.pb.remove(a);var c=this;Mm(a,function(a){Rm(c,a)});b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.remove(b):this.Ti.remove(b)),Mm(a,function(a){Sm(c,a)}));this.Cg.remove(a);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&a.Z.F()&&this.ra(sl(a,
a.Z));this.Te()};C.prototype.remove=C.prototype.remove=function(a){z.l(a,D,C,"remove:part");Tm(this,a,!0)};function Tm(a,b,c){var d=b.layer;null!==d&&d.g===a&&(b.gb=!1,b.Wg=!1,b.N(Um),c&&b.Mn(),c=d.vf(-1,b,!1),0<=c&&a.ld(tg,"parts",d,b,null,c,null),a=b.Yx,null!==a&&a(b,d,null))}
-C.prototype.removeParts=C.prototype.rB=function(a,b){if(z.isArray(a))for(var c=z.bb(a),d=0;dd&&this.Bc()};
-C.prototype.addLayerAfter=function(a,b){Vm(this,a,b);a.$c(this);var c=this.bc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.ye&&this.ld(tg,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.Bc()};
-C.prototype.removeLayer=function(a){z.l(a,ah,C,"removeLayer:layer");a.g!==this&&z.k("Cannot remove a Layer from another Diagram: "+a+" of "+a.g);if(""!==a.name){var b=this.bc,c=b.indexOf(a);if(b.remove(a)){for(b=a.pb.copy().j;b.next();){var d=b.value,e=d.Lf;d.Lf=e!==a.name?e:""}null!==this.ye&&this.ld(tg,"layers",this,a,null,c,null);this.ra();this.Bc()}}};C.prototype.findLayer=C.prototype.hm=function(a){for(var b=this.ao;b.next();){var c=b.value;if(c.name===a)return c}return null};
+b+"'; a Layer with the same name is already present in this Diagram.")}}C.prototype.addLayer=C.prototype.Lt=function(a){Vm(this,a,null);a.$c(this);var b=this.bc,c=b.count-1;if(!a.Wc)for(;0<=c&&b.fa(c).Wc;)c--;b.Yd(c+1,a);null!==this.xe&&this.ld(sg,"layers",this,null,a,null,c+1);this.ra();this.Bc()};
+C.prototype.addLayerBefore=C.prototype.KH=function(a,b){Vm(this,a,b);a.$c(this);var c=this.bc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.xe&&this.ld(tg,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.Bc()};
+C.prototype.addLayerAfter=function(a,b){Vm(this,a,b);a.$c(this);var c=this.bc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.xe&&this.ld(tg,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.Bc()};
+C.prototype.removeLayer=function(a){z.l(a,ah,C,"removeLayer:layer");a.g!==this&&z.k("Cannot remove a Layer from another Diagram: "+a+" of "+a.g);if(""!==a.name){var b=this.bc,c=b.indexOf(a);if(b.remove(a)){for(b=a.pb.copy().j;b.next();){var d=b.value,e=d.Lf;d.Lf=e!==a.name?e:""}null!==this.xe&&this.ld(tg,"layers",this,a,null,c,null);this.ra();this.Bc()}}};C.prototype.findLayer=C.prototype.hm=function(a){for(var b=this.ao;b.next();){var c=b.value;if(c.name===a)return c}return null};
C.prototype.addModelChangedListener=C.prototype.MH=function(a){z.h(a,"function",C,"addModelChangedListener:listener");null===this.vh&&(this.vh=new J("function"));this.vh.add(a);this.ia.An(a)};C.prototype.removeModelChangedListener=function(a){z.h(a,"function",C,"removeModelChangedListener:listener");null!==this.vh&&(this.vh.remove(a),0===this.vh.count&&(this.vh=null));this.ia.Ou(a)};
C.prototype.addChangedListener=C.prototype.An=function(a){z.h(a,"function",C,"addChangedListener:listener");null===this.Oi&&(this.Oi=new J("function"));this.Oi.add(a)};C.prototype.removeChangedListener=C.prototype.Ou=function(a){z.h(a,"function",C,"removeChangedListener:listener");null!==this.Oi&&(this.Oi.remove(a),0===this.Oi.count&&(this.Oi=null))};
C.prototype.mx=function(a){this.Eb||this.sa.wF(a);a.Kc!==rg&&(this.Fi=!0);if(null!==this.Oi){var b=this.Oi,c=b.length;if(1===c)b=b.fa(0),b(a);else if(0!==c)for(var d=b.nc(),e=0;ea.Oh&&(c=a.Oh);e=z.Fb(a.ub.x+h/b-h/c,a.ub.y+k/b-k/c);a.position=e;z.A(e);a.Rb=c;a.Lu(d,a.yb,b,c,!1);a.cd=!1;Rl(a,
-!1);c=a.Ya;c.yc&&nl(c,b,a.Rb);a.ra();am(a)}}C.prototype.Lu=function(a,b,c,d,e){a.O(b)||(void 0===e&&(e=!1),e||am(this),Pl(this),d=this.Wb,null===d||!d.Vx||this.Zl!==Qh||e||a.width===b.width&&a.height===b.height||d.N(),d=this.fb,!0===this.Sm&&d instanceof Kh&&(this.U.ha=this.NB(this.U.te),Fk(d,this)),this.cd||this.BF(a,b),dm(this),this.Eh.scale=c,this.Eh.position.x=a.x,this.Eh.position.y=a.y,this.Eh.bounds.set(a),this.Eh.isScroll=e,this.Ka("ViewportBoundsChanged",this.Eh,a))};
+function Wm(a,b,c){if(a.cd||a.ie)a.Rb=c,c=a.Ya,c.yc&&nl(c,b,a.Rb);else if(a.cd=!0,null===a.Lb)a.Rb=c;else{var d=a.yb.copy(),e=a.Ob,g=a.Sb;d.width=a.Ob/b;d.height=a.Sb/b;var h=a.Dm.x,k=a.Dm.y,l=a.JE;isNaN(h)&&(l.Gj()?l.Fj(sc)?h=0:l.Fj(xc)&&(h=e-1):h=l.jd()?l.x*(e-1):e/2);isNaN(k)&&(l.Gj()?l.Fj(rc)?k=0:l.Fj(yc)&&(k=g-1):k=l.jd()?l.y*(g-1):g/2);null!==a.wG&&(c=a.wG(a,c));ca.Oh&&(c=a.Oh);e=z.Fb(a.ub.x+h/b-h/c,a.ub.y+k/b-k/c);a.position=e;z.A(e);a.Rb=c;a.Lu(d,a.yb,b,c,!1);a.cd=!1;Rl(a,
+!1);c=a.Ya;c.yc&&nl(c,b,a.Rb);a.ra();am(a)}}C.prototype.Lu=function(a,b,c,d,e){a.O(b)||(void 0===e&&(e=!1),e||am(this),Pl(this),d=this.Wb,null===d||!d.Vx||this.Zl!==Qh||e||a.width===b.width&&a.height===b.height||d.N(),d=this.fb,!0===this.Sm&&d instanceof Kh&&(this.U.ha=this.NB(this.U.se),Fk(d,this)),this.cd||this.BF(a,b),dm(this),this.Eh.scale=c,this.Eh.position.x=a.x,this.Eh.position.y=a.y,this.Eh.bounds.set(a),this.Eh.isScroll=e,this.Ka("ViewportBoundsChanged",this.Eh,a))};
function dm(a,b){void 0===b&&(b=null);var c=a.Cd;if(null!==c&&c.visible){for(var d=z.Am(),e=1,g=1,h=c.va.o,k=h.length,l=0;ln||(Xm(m.Jb)?g=g*n/Te(g,n):e=e*n/Te(e,n))}h=c.Kx;d.m(g*h.width,e*h.height);h=g=l=k=0;if(null!==b)k=b.width,l=b.height,g=b.x,h=b.y;else{e=z.Of();g=a.yb;e.m(g.x,g.y,g.width,g.height);for(h=a.ww.j;h.next();)g=h.value.yb,g.F()&&Rb(e,g.x,g.y,g.width,g.height);if(!e.F()){z.Mb(e);return}k=e.width;l=e.height;g=e.x;h=e.y;z.Mb(e)}c.width=k+2*d.width;c.height=
l+2*d.height;e=z.P();tb(g,h,0,0,d.width,d.height,e);e.offset(-d.width,-d.height);z.Qk(d);c.ba.location=e;z.A(e)}}C.prototype.clearSelection=C.prototype.ox=function(){var a=0l)){var m=l;kn(k)&&m++;k.vf(m);ln(k,m,l)}}}}function Om(a,b){var c=b.cj;if(z.isArray(c)){var d=a.Um.qa(c);if(null===d)d=[],d.push(b),a.Um.add(c,d);else{for(c=0;cthis.scale&&(this.scale=a)):z.wa(a,"> 0",C,"minScale"))});
z.defineProperty(C,{Oh:"maxScale"},function(){return this.kw},function(a){z.p(a,C,"maxScale");var b=this.kw;b!==a&&(0 0",C,"maxScale"))});z.defineProperty(C,{Dm:"zoomPoint"},function(){return this.ax},function(a){this.ax.O(a)||(z.l(a,M,C,"zoomPoint"),this.ax=a=a.V())});
-z.defineProperty(C,{JE:"contentAlignment"},function(){return this.Ko},function(a){var b=this.Ko;b.O(a)||(z.l(a,R,C,"contentAlignment"),this.Ko=a=a.V(),this.i("contentAlignment",b,a),Rl(this,!1))});z.defineProperty(C,{LL:"initialContentAlignment"},function(){return this.fp},function(a){var b=this.fp;b.O(a)||(z.l(a,R,C,"initialContentAlignment"),this.fp=a=a.V(),this.i("initialContentAlignment",b,a))});
-z.defineProperty(C,{padding:"padding"},function(){return this.sf},function(a){"number"===typeof a?a=new Kb(a):z.l(a,Kb,C,"padding");var b=this.sf;b.O(a)||(this.sf=a=a.V(),this.Bc(),this.i("padding",b,a))});z.w(C,{og:"nodes"},function(){return this.zp.j});z.w(C,{links:"links"},function(){return this.sp.j});z.w(C,{Gi:"parts"},function(){return this.pb.j});
-C.prototype.findTopLevelNodesAndLinks=function(){for(var a=new K(D),b=this.zp.j;b.next();){var c=b.value;c.wq&&a.add(c)}for(b=this.sp.j;b.next();)c=b.value,c.wq&&a.add(c);return a.j};C.prototype.findTopLevelGroups=function(){return this.Pl.j};z.defineProperty(C,{Wb:"layout"},function(){return this.we},function(a){var b=this.we;b!==a&&(z.l(a,ch,C,"layout"),null!==b&&(b.g=null,b.group=null),this.we=a,a.g=this,a.group=null,this.sv=!0,this.i("layout",b,a),this.Te())});
+z.defineProperty(C,{JE:"contentAlignment"},function(){return this.Jo},function(a){var b=this.Jo;b.O(a)||(z.l(a,R,C,"contentAlignment"),this.Jo=a=a.V(),this.i("contentAlignment",b,a),Rl(this,!1))});z.defineProperty(C,{LL:"initialContentAlignment"},function(){return this.ep},function(a){var b=this.ep;b.O(a)||(z.l(a,R,C,"initialContentAlignment"),this.ep=a=a.V(),this.i("initialContentAlignment",b,a))});
+z.defineProperty(C,{padding:"padding"},function(){return this.sf},function(a){"number"===typeof a?a=new Kb(a):z.l(a,Kb,C,"padding");var b=this.sf;b.O(a)||(this.sf=a=a.V(),this.Bc(),this.i("padding",b,a))});z.w(C,{og:"nodes"},function(){return this.yp.j});z.w(C,{links:"links"},function(){return this.rp.j});z.w(C,{Gi:"parts"},function(){return this.pb.j});
+C.prototype.findTopLevelNodesAndLinks=function(){for(var a=new K(D),b=this.yp.j;b.next();){var c=b.value;c.vq&&a.add(c)}for(b=this.rp.j;b.next();)c=b.value,c.vq&&a.add(c);return a.j};C.prototype.findTopLevelGroups=function(){return this.Pl.j};z.defineProperty(C,{Wb:"layout"},function(){return this.ve},function(a){var b=this.ve;b!==a&&(z.l(a,ch,C,"layout"),null!==b&&(b.g=null,b.group=null),this.ve=a,a.g=this,a.group=null,this.sv=!0,this.i("layout",b,a),this.Te())});
C.prototype.layoutDiagram=function(a){Li(this);a&&qn(this,!0);em(this,!1)};function qn(a,b){for(var c=a.Pl.j;c.next();)yn(a,c.value,b);null!==a.Wb&&(b?a.Wb.Jf=!1:a.Wb.N())}function yn(a,b,c){if(null!==b){for(var d=b.cn.j;d.next();)yn(a,d.value,c);null!==b.Wb&&(c?b.Wb.Jf=!1:b.Wb.N())}}
-function em(a,b){if(!a.gz){var c=a.Wb,d=a.ab;a.ab=!0;try{var e=a.sa.Vh;0===e&&a.$b("Layout");var g=a.Ya;1!==a.sa.Vh||g.wf||g.yc||b||g.lo("Layout");for(var h=a.Pl.j;h.next();)zn(a,h.value,b);c.Jf||b&&!c.MF&&0!==e||(c.doLayout(a),Li(a),c.Jf=!0)}finally{0===e&&a.Wd("Layout"),a.sv=!c.Jf,a.ab=d}}}function zn(a,b,c){if(null!==b){for(var d=b.cn.j;d.next();)zn(a,d.value,c);d=b.Wb;null===d||d.Jf||c&&!d.MF||(b.io=!b.location.F(),d.doLayout(b),b.N(An),d.Jf=!0,Bm(a,b))}}
-z.defineProperty(C,{be:"isTreePathToChildren"},function(){return this.dw},function(a){var b=this.dw;if(b!==a&&(z.h(a,"boolean",C,"isTreePathToChildren"),this.dw=a,this.i("isTreePathToChildren",b,a),!this.sa.lb))for(a=this.og;a.next();)Bn(a.value)});C.prototype.findTreeRoots=function(){for(var a=new J(E),b=this.og;b.next();){var c=b.value;c.wq&&null===c.Pn()&&a.add(c)}return a.j};
+function em(a,b){if(!a.gz){var c=a.Wb,d=a.ab;a.ab=!0;try{var e=a.sa.Vh;0===e&&a.$b("Layout");var g=a.Ya;1!==a.sa.Vh||g.wf||g.yc||b||g.ko("Layout");for(var h=a.Pl.j;h.next();)zn(a,h.value,b);c.Jf||b&&!c.MF&&0!==e||(c.doLayout(a),Li(a),c.Jf=!0)}finally{0===e&&a.Vd("Layout"),a.sv=!c.Jf,a.ab=d}}}function zn(a,b,c){if(null!==b){for(var d=b.cn.j;d.next();)zn(a,d.value,c);d=b.Wb;null===d||d.Jf||c&&!d.MF||(b.io=!b.location.F(),d.doLayout(b),b.N(An),d.Jf=!0,Bm(a,b))}}
+z.defineProperty(C,{ae:"isTreePathToChildren"},function(){return this.dw},function(a){var b=this.dw;if(b!==a&&(z.h(a,"boolean",C,"isTreePathToChildren"),this.dw=a,this.i("isTreePathToChildren",b,a),!this.sa.lb))for(a=this.og;a.next();)Bn(a.value)});C.prototype.findTreeRoots=function(){for(var a=new J(E),b=this.og;b.next();){var c=b.value;c.vq&&null===c.Pn()&&a.add(c)}return a.j};
z.defineProperty(C,{OB:"treeCollapsePolicy"},function(){return this.Ww},function(a){var b=this.Ww;b!==a&&(a!==zl&&a!==Ym&&a!==Zm&&z.k("Unknown Diagram.treeCollapsePolicy: "+a),this.Ww=a,this.i("treeCollapsePolicy",b,a))});z.defineProperty(C,{Nh:null},function(){return this.$C},function(a){this.$C=a});
function yl(a){function b(a){var b=a.toLowerCase(),h=new J("function");c.add(a,h);c.add(b,h);d.add(a,a);d.add(b,a)}var c=new oa("string",J),d=new oa("string","string");b("AnimationStarting");b("AnimationFinished");b("BackgroundSingleClicked");b("BackgroundDoubleClicked");b("BackgroundContextClicked");b("ClipboardChanged");b("ClipboardPasted");b("DocumentBoundsChanged");b("ExternalObjectsDropped");b("InitialLayoutCompleted");b("LayoutCompleted");b("LinkDrawn");b("LinkRelinked");b("LinkReshaped");b("Modified");
b("ObjectSingleClicked");b("ObjectDoubleClicked");b("ObjectContextClicked");b("PartCreated");b("PartResized");b("PartRotated");b("SelectionMoved");b("SelectionCopied");b("SelectionDeleting");b("SelectionDeleted");b("SelectionGrouped");b("SelectionUngrouped");b("ChangingSelection");b("ChangedSelection");b("SubGraphCollapsed");b("SubGraphExpanded");b("TextEdited");b("TreeCollapsed");b("TreeExpanded");b("ViewportBoundsChanged");a.iz=c;a.hz=d}
function Ia(a,b){var c=a.hz.qa(b);return null!==c?c:a.hz.qa(b.toLowerCase())}function Cn(a,b){var c=a.iz.qa(b);if(null!==c)return c;c=a.iz.qa(b.toLowerCase());if(null!==c)return c;z.k("Unknown DiagramEvent name: "+b);return null}C.prototype.addDiagramListener=C.prototype.gA=function(a,b){z.h(a,"string",C,"addDiagramListener:name");z.h(b,"function",C,"addDiagramListener:listener");var c=Cn(this,a);null!==c&&c.add(b)};
-C.prototype.removeDiagramListener=C.prototype.jG=function(a,b){z.h(a,"string",C,"removeDiagramListener:name");z.h(b,"function",C,"addDiagramListener:listener");var c=Cn(this,a);null!==c&&c.remove(b)};C.prototype.raiseDiagramEvent=C.prototype.Ka=function(a,b,c){u&&z.h(a,"string",C,"raiseDiagramEvent:name");var d=Cn(this,a),e=new $f;e.g=this;e.name=Ia(this,a);void 0!==b&&(e.HB=b);void 0!==c&&(e.lB=c);a=d.length;if(1===a)d=d.fa(0),d(e);else if(0!==a)for(b=d.nc(),c=0;c=d.top&&0>=d.left&&0>=d.right&&0>=d.bottom)return c;var e=a.yb,g=a.scale,e=z.fh(0,0,e.width*g,e.height*g),h=z.Fb(0,0);if(b.x>=e.x&&b.xe.x+e.width-d.right&&(k=Math.max(a.Tu,1),k|=0,h.x+=k,b.x>e.x+e.width-d.right/2&&(h.x+=k),b.x>e.x+e.width-d.right/4&&(h.x+=4*k));b.y>=e.y&&b.ye.y+e.height-d.bottom&&(k=Math.max(a.Uu,1),k|=0,h.y+=k,b.y>e.y+e.height-d.bottom/2&&(h.y+=k),b.y>e.y+e.height-d.bottom/4&&(h.y+=4*k));h.Vc(Dd)||(c=new M(c.x+h.x/g,c.y+h.y/g));z.Mb(e);z.A(h);return c}C.prototype.makeSvg=C.prototype.makeSVG=function(a){void 0===a&&(a=new na);a.context="svg";a=Kn(this,a);return null!==a?a.ym:null};
C.prototype.makeImage=function(a){void 0===a&&(a=new na);var b=(a.document||document).createElement("img");b.src=this.vJ(a);return b};
C.prototype.makeImageData=C.prototype.vJ=function(a){void 0===a&&(a=new na);var b=Kn(this,a);if(null!==b){var c=a.returnType,c=void 0===c?"string":c.toLowerCase();switch(c){case "imagedata":return b.Mk.getImageData(0,0,b.width,b.height);case "blob":b=b.Fd;c=a.callback;if("function"!==typeof c){z.k('Error: Diagram.makeImageData called with "returnType: toBlob", but no "callback" function property defined.');break}if("function"===typeof b.uK)return b.uK(c,a.type,a.details),"toBlob";if("function"===
typeof b.KJ)return c(b.KJ(a.type,a.details)),"msToBlob";c(null);break;default:return b.toDataURL(a.type,a.details)}}return""};var Ln=!1;
function Kn(a,b){a.Ya.Ii();a.hg();if(null===a.Lb)return null;"object"!==typeof b&&z.k("properties argument must be an Object.");var c=!1,d=b.size||null,e=b.scale||null;void 0!==b.scale&&isNaN(b.scale)&&(e="NaN");var g=b.maxSize;void 0===b.maxSize&&(c=!0,g="svg"===b.context?new Fa(Infinity,Infinity):new Fa(2E3,2E3));var h=b.position||null,k=b.parts||null,l=void 0===b.padding?1:b.padding,m=b.background||null,n=b.omitTemporary;void 0===n&&(n=!0);var p=b.document||document,q=b.elementFinished||null,r=
-b.showTemporary;void 0===r&&(r=!n);n=b.showGrid;void 0===n&&(n=r);null!==d&&isNaN(d.width)&&isNaN(d.height)&&(d=null);"number"===typeof l?l=new Kb(l):l instanceof Kb||(l=new Kb(0));l.left=Math.max(l.left,0);l.right=Math.max(l.right,0);l.top=Math.max(l.top,0);l.bottom=Math.max(l.bottom,0);a.Vo=!1;da(a.pd,!0);var s=new ma(null,p),v=s.Mk,t=s;if(!(d||e||k||h))return s.width=a.Ob+Math.ceil(l.left+l.right),s.height=a.Sb+Math.ceil(l.top+l.bottom),"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&
-(a.Vo=!0)),Im(a,v,l,new Fa(s.width,s.height),a.Rb,a.ub,k,m,r,n),a.Vo=!0,t;var x=a.xb.vx,y=new M(0,0),A=a.fd.copy();A.sK(a.padding);if(r)for(var B=!0,B=a.bc.o,N=B.length,G=0;Gx?(e=x,h=A.width,aa=A.height):(h=g.width,aa=g.height)):(h=A.width*e,aa=A.height*e):(e=x,h=A.width,aa=A.height);null!==l?(h+=fa,aa+=B):l=new Kb(0);null!==g&&(d=g.width,g=g.height,"svg"!==b.context&&c&&!Ln&&(h>d||aa>g)&&(z.trace("Diagram.makeImage(data): Diagram width or height is larger than the default max size. ("+Math.ceil(h)+"x"+Math.ceil(aa)+" vs 2000x2000) Consider increasing the max size."),
-Ln=!0),isNaN(d)&&(d=2E3),isNaN(g)&&(g=2E3),isFinite(d)&&(h=Math.min(h,d)),isFinite(g)&&(aa=Math.min(aa,g)));s.width=Math.ceil(h);s.height=Math.ceil(aa);"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&(a.Vo=!0));Im(a,v,l,new Fa(Math.ceil(h),Math.ceil(aa)),e,y,k,m,r,n);a.Vo=!0;return t}C.inherit=function(a,b){z.h(a,"function",C,"inherit");z.h(b,"function",C,"inherit");b.yH&&z.k("Cannot inherit from "+z.uf(b));z.Ta(a,b)};
+b.showTemporary;void 0===r&&(r=!n);n=b.showGrid;void 0===n&&(n=r);null!==d&&isNaN(d.width)&&isNaN(d.height)&&(d=null);"number"===typeof l?l=new Kb(l):l instanceof Kb||(l=new Kb(0));l.left=Math.max(l.left,0);l.right=Math.max(l.right,0);l.top=Math.max(l.top,0);l.bottom=Math.max(l.bottom,0);a.Uo=!1;da(a.pd,!0);var s=new ma(null,p),v=s.Mk,t=s;if(!(d||e||k||h))return s.width=a.Ob+Math.ceil(l.left+l.right),s.height=a.Sb+Math.ceil(l.top+l.bottom),"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&
+(a.Uo=!0)),Im(a,v,l,new Fa(s.width,s.height),a.Rb,a.ub,k,m,r,n),a.Uo=!0,t;var x=a.xb.vx,y=new M(0,0),B=a.fd.copy();B.sK(a.padding);if(r)for(var A=!0,A=a.bc.o,N=A.length,G=0;Gx?(e=x,h=B.width,aa=B.height):(h=g.width,aa=g.height)):(h=B.width*e,aa=B.height*e):(e=x,h=B.width,aa=B.height);null!==l?(h+=fa,aa+=A):l=new Kb(0);null!==g&&(d=g.width,g=g.height,"svg"!==b.context&&c&&!Ln&&(h>d||aa>g)&&(z.trace("Diagram.makeImage(data): Diagram width or height is larger than the default max size. ("+Math.ceil(h)+"x"+Math.ceil(aa)+" vs 2000x2000) Consider increasing the max size."),
+Ln=!0),isNaN(d)&&(d=2E3),isNaN(g)&&(g=2E3),isFinite(d)&&(h=Math.min(h,d)),isFinite(g)&&(aa=Math.min(aa,g)));s.width=Math.ceil(h);s.height=Math.ceil(aa);"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&(a.Uo=!0));Im(a,v,l,new Fa(Math.ceil(h),Math.ceil(aa)),e,y,k,m,r,n);a.Uo=!0;return t}C.inherit=function(a,b){z.h(a,"function",C,"inherit");z.h(b,"function",C,"inherit");b.yH&&z.k("Cannot inherit from "+z.uf(b));z.Ta(a,b)};
function Hl(){this.BH="63ad05bbe23a1786468a4c741b6d2";this.Xi=this.BH===this._tk?!0:null}
function Mn(a){var b="f",c=window[z.Sg("76a715b2f73f148a")][z.Sg("72ba13b5")],d=z.Sg;if(window[d("7da7")]&&window[d("7da7")][d("76a115b6ed251eaf4692")]){a.Xi=!0;var e=window[d("7da7")][d("76a115b6ed251eaf4692")],e=d(e).split(d("39e9"));if(6>e.length)return;var g=d(e[1]).split(".");if("7da71ca0"!==e[4])return;var h=d(z[d("6cae19")]).split(".");if(g[0]>h[0]||g[0]===h[0]&&g[1]>=h[1]){g=c[d("76ad18b4f73e")];for(h=c[d("73a612b6fb191d")](d("35e7"))+2;h
g&&d(e[2])!==d("7da71ca0ad381e90")&&(g=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));0>g&&(g=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));a.Xi=!(0<=g&&gg&&d(z.adym)!==d("7da71ca0ad381e90")&&(g=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));a.Xi=!(0<=g&&gb.timeStamp-a.Wm)b.preventDefault();else if(a.Al)b.preventDefault();else{a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.gm=!0;c.Qe=b.detail;if(z.GF||z.HF)b.timeStamp-a.Wmb.timeStamp-a.Wm){b.preventDefault();return}a.Wm=b.timeStamp}if(z.Xn&&null!==a.qt)a.qt=null,b.preventDefault();else{a.ed=
-a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.up=!0;c.Qe=b.detail;if(z.GF||z.HF)c.Qe=a.Dl;c.bubbles=b.bubbles;b.target.ca&&(c.eh=b.target.ca);a.HG(b,null,new M,c.eh)||(a.doMouseUp(),yi(a),ia(a,c,b))}}};a.Qh=function(b){if(a.isEnabled){var c=a.ed;a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.bubbles=!0;c.fm=void 0!==b.wheelDelta?b.wheelDelta:-40*b.detail;a.doMouseWheel();ia(a,c,b)}};a.Dq=function(){if(a.isEnabled){a.Sm=!1;var b=a.fb;b.cancelWaitAfter();b instanceof Kh&&b.hideToolTip()}};a.WG=function(b){if(a.isEnabled){a.zt=!1;
+c.style.position="absolute";c.style.overflow="auto";c.style.width=a.Ob+"px";c.style.height=a.Sb+"px";c.style.zIndex="1";e.style.position="absolute";e.style.width="1px";e.style.height="1px";a.Tb.appendChild(c);c.appendChild(e);c.onscroll=a.tH;c.onmousedown=a.xD;c.ontouchstart=a.xD;c.ca=a;c.wH=!0;c.xH=!0;a.Kw=c;a.ht=e;a.qB=z.NE(function(){a.zk=null;a.ra()},300,!1);a.dH=z.NE(function(){al(a)},250,!1);a.preventDefault=function(a){a.preventDefault();return!1};a.Bq=function(b){if(a.isEnabled){a.Sm=!0;var c=
+a.ed;z.Xn&&c.Hj?(b.preventDefault(),b.simulated=!0,a.qt=b):(a.ed=a.Ub,a.Ub=c,Xl(a,a,b,c,!0),a.Ay(b,null,b.target.ca)||(a.doMouseMove(),a.fb.isBeyondDragSize()&&(a.Dl=0),ia(a,c,b)))}};a.Aq=function(b){if(a.isEnabled){a.Sm=!0;var c=a.ed;if(z.Xn&&null!==a.qt)a.qt=b,b.preventDefault();else if(z.Xn&&400>b.timeStamp-a.Wm)b.preventDefault();else if(a.Al)b.preventDefault();else{a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.gm=!0;c.Qe=b.detail;if(z.GF||z.HF)b.timeStamp-a.Wmb.timeStamp-a.Wm){b.preventDefault();return}a.Wm=b.timeStamp}if(z.Xn&&null!==a.qt)a.qt=null,b.preventDefault();else{a.ed=
+a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.up=!0;c.Qe=b.detail;if(z.GF||z.HF)c.Qe=a.Dl;c.bubbles=b.bubbles;b.target.ca&&(c.eh=b.target.ca);a.HG(b,null,new M,c.eh)||(a.doMouseUp(),yi(a),ia(a,c,b))}}};a.Qh=function(b){if(a.isEnabled){var c=a.ed;a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.bubbles=!0;c.fm=void 0!==b.wheelDelta?b.wheelDelta:-40*b.detail;a.doMouseWheel();ia(a,c,b)}};a.Cq=function(){if(a.isEnabled){a.Sm=!1;var b=a.fb;b.cancelWaitAfter();b instanceof Kh&&b.hideToolTip()}};a.WG=function(b){if(a.isEnabled){a.zt=!1;
a.Al=!0;var c=a.ed;a.ed=a.Ub;a.Ub=c;Zl(a,b,b.targetTouches[0],c,1a.Aw)){var c=
@@ -1007,24 +1008,24 @@ a.nj;c[0].pointerId===b.pointerId&&(c[0]=b);c[1].pointerId===b.pointerId&&(c[1]=
function Nn(a){1a)&&z.wa(a,"0 <= loc <= 1",Ea,"addColorStop:loc");z.h(b,"string",Ea,"addColorStop:color");u&&!Da(b)&&z.k('Color "'+b+'" is not a valid color string for Brush.addColorStop');null===this.ph&&(this.ph=new oa("number","string"));this.ph.add(a,b);this.da===Zg&&(this.type=$g);this.qh=null};
-z.defineProperty(Ea,{type:"type"},function(){return this.da},function(a){this.I&&z.pa(this,a);z.Ca(a,Ea,Ea,"type");this.da=a;this.start.ae()&&(a===$g?this.start=ic:a===Bd&&(this.start=mc));this.end.ae()&&(a===$g?this.end=pc:a===Bd&&(this.end=mc));this.qh=null});z.defineProperty(Ea,{color:"color"},function(){return this.Io},function(a){this.I&&z.pa(this,a);u&&!Da(a)&&z.k('Color "'+a+'" is not a valid color string for Brush.color');this.Io=a;this.qh=null});
-z.defineProperty(Ea,{start:"start"},function(){return this.Lp},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"start");this.Lp=a.V();this.qh=null});z.defineProperty(Ea,{end:"end"},function(){return this.Xo},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"end");this.Xo=a.V();this.qh=null});z.defineProperty(Ea,{$u:"startRadius"},function(){return this.Rw},function(a){this.I&&z.pa(this,a);z.p(a,Ea,"startRadius");0>a&&z.wa(a,">= zero",Ea,"startRadius");this.Rw=a;this.qh=null});
+z.defineProperty(Ea,{type:"type"},function(){return this.da},function(a){this.I&&z.pa(this,a);z.Ca(a,Ea,Ea,"type");this.da=a;this.start.$d()&&(a===$g?this.start=ic:a===Bd&&(this.start=mc));this.end.$d()&&(a===$g?this.end=pc:a===Bd&&(this.end=mc));this.qh=null});z.defineProperty(Ea,{color:"color"},function(){return this.Ho},function(a){this.I&&z.pa(this,a);u&&!Da(a)&&z.k('Color "'+a+'" is not a valid color string for Brush.color');this.Ho=a;this.qh=null});
+z.defineProperty(Ea,{start:"start"},function(){return this.Kp},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"start");this.Kp=a.V();this.qh=null});z.defineProperty(Ea,{end:"end"},function(){return this.Wo},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"end");this.Wo=a.V();this.qh=null});z.defineProperty(Ea,{$u:"startRadius"},function(){return this.Rw},function(a){this.I&&z.pa(this,a);z.p(a,Ea,"startRadius");0>a&&z.wa(a,">= zero",Ea,"startRadius");this.Rw=a;this.qh=null});
z.defineProperty(Ea,{bu:"endRadius"},function(){return this.Nv},function(a){this.I&&z.pa(this,a);z.p(a,Ea,"endRadius");0>a&&z.wa(a,">= zero",Ea,"endRadius");this.Nv=a;this.qh=null});z.defineProperty(Ea,{Jk:"colorStops"},function(){return this.ph},function(a){this.I&&z.pa(this,a);u&&z.l(a,oa,Ea,"colorStops");this.ph=a;this.qh=null});z.defineProperty(Ea,{pattern:"pattern"},function(){return this.zw},function(a){this.I&&z.pa(this,a);this.zw=a;this.qh=null});
Ea.randomColor=function(a,b){void 0===a&&(a=128);u&&(z.p(a,Ea,"randomColor:min"),(0>a||255d.length&&(d="0"+d);2>e.length&&(e="0"+e);2>c.length&&(c="0"+c);return"#"+
d+e+c};var Xn=(new ma(null)).Mk,Da;Ea.isValidColor=Da=function(a){if("black"===a)return!0;if(""===a)return!1;u&&z.h(a,"string",Ea,"isValidColor");Xn.fillStyle="#000000";var b=Xn.fillStyle;Xn.fillStyle=a;if(Xn.fillStyle!==b)return!0;Xn.fillStyle="#FFFFFF";b=Xn.fillStyle;Xn.fillStyle=a;return Xn.fillStyle!==b};var Yn=new Wn,Zn=new Wn,$n=new Wn,ao=new Wn;Ea.lighten=function(a){return bo(a)};
@@ -1035,15 +1036,15 @@ ao.mg;c=-.969266*$n.Pc+1.8760108*$n.Md+.041556*$n.kd;d=.0556434*$n.Pc+-.2040259*
255,h=Yn.kd/255,k=Math.max(e,g,h),d=Math.min(e,g,h),l=k-d,d=(k+d)/2;if(0===l)c=e=0;else{switch(k){case e:c=(g-h)/l%6;break;case g:c=(h-e)/l+2;break;case h:c=(e-g)/l+4}c*=60;0>c&&(c+=360);e=l/(1-Math.abs(2*d-1))}Zn.Pc=Math.round(c);Zn.Md=Math.round(100*e);Zn.kd=Math.round(100*d);Zn.mg=Yn.mg;Zn.kd=Math.min(100,Math.max(0,Zn.kd+100*a));return"hsla("+Zn.Pc+", "+Zn.Md+"%, "+Zn.kd+"%, "+Zn.mg+")";default:return z.k("Unknown color space: "+b),"rgba(0, 0, 0, 1)"}}
function co(a){Xn.clearRect(0,0,1,1);Xn.fillStyle="#000000";var b=Xn.fillStyle;Xn.fillStyle=a;Xn.fillStyle!==b?(Xn.fillRect(0,0,1,1),a=Xn.getImageData(0,0,1,1).data,Yn.Pc=a[0],Yn.Md=a[1],Yn.kd=a[2],Yn.mg=a[3]/255):(Xn.fillStyle="#FFFFFF",b=Xn.fillStyle,Xn.fillStyle=a,Xn.fillStyle===b&&u&&z.k('Color "'+a+'" is not a valid color string for RGBA color conversion'),Yn.Pc=0,Yn.Md=0,Yn.kd=0,Yn.mg=1)}function ho(a){a/=255;return.04045>=a?a/12.92:Math.pow((a+.055)/1.055,2.4)}
function no(a){return.0031308>=a?12.92*a:1.055*Math.pow(a,1/2.4)-.055}var mo=216/24389,lo=24389/27,jo=[95.047,100,108.883];function io(a){return a>mo?Math.pow(a,1/3):(lo*a+16)/116}function ko(a){var b=a*a*a;return b>mo?b:(116*a-16)/lo}
-function O(){z.xc(this);this.T=4225027;this.Hc=1;this.Ah=null;this.Xb="";this.ic=this.Kb=null;this.ub=(new M(NaN,NaN)).freeze();this.Ye=ie;this.li=Sd;this.ki=ge;this.Jc=new Ga;this.Li=new Ga;this.ej=new Ga;this.Rb=this.Uo=1;this.rg=0;this.Mg=oo;this.an=Nd;this.Dd=(new w(NaN,NaN,NaN,NaN)).freeze();this.ac=(new w(NaN,NaN,NaN,NaN)).freeze();this.Tc=(new w(0,0,NaN,NaN)).freeze();this.Y=this.Us=this.Vs=null;this.Fm=this.ue=Rc;this.et=0;this.pj=1;this.pr=0;this.Qi=1;this.ut=null;this.it=-Infinity;this.on=
-0;this.pn=Dd;this.qn=nj;this.xr="";this.Ec=this.ma=null;this.Fo=-1;this.hn=this.un=this.ug=this.rl=this.Kp=null}z.Ai(O);z.ka("GraphObject",O);
-O.prototype.cloneProtected=function(a){a.T=this.T|6144;a.Hc=this.Hc;a.Xb=this.Xb;a.Kb=this.Kb;a.ic=this.ic;a.ub.assign(this.ub);a.Ye=this.Ye.V();a.li=this.li.V();a.ki=this.ki.V();a.ej=this.ej.copy();a.Rb=this.Rb;a.rg=this.rg;a.Mg=this.Mg;a.an=this.an.V();a.Dd.assign(this.Dd);a.ac.assign(this.ac);a.Tc.assign(this.Tc);a.Us=this.Us;null!==this.Y&&(a.Y=this.Y.copy());a.ue=this.ue.V();a.Fm=this.Fm.V();a.et=this.et;a.pj=this.pj;a.pr=this.pr;a.Qi=this.Qi;a.ut=this.ut;a.it=this.it;a.on=this.on;a.pn=this.pn.V();
-a.qn=this.qn;a.xr=this.xr;null!==this.ma&&(a.ma=this.ma.copy());a.Ec=this.Ec;a.Fo=this.Fo;null!==this.rl&&(a.rl=z.am(this.rl));null!==this.ug&&(a.ug=this.ug.copy());a.un=this.un};O.prototype.addCopyProperty=O.prototype.JH=function(a){var b=this.rl;if(z.isArray(b))for(var c=0;ck;)k+=g[n++%l],p=!p;q=!1}else k=g[n++%l];k>m&&(k=m);var r=Math.sqrt(k*k/(1+e*e));0>d&&(r=-r);b+=r;c+=e*r;p?a.lineTo(b,c):a.moveTo(b,c);m-=k;p=!p}}
-O.prototype.raiseChangedEvent=O.prototype.ld=function(a,b,c,d,e,g,h){var k=this.ba;if(null!==k&&(k.mo(a,b,c,d,e,g,h),zo(this)&&c===this&&a===bg&&Ao(this,k,b),c===k&&0!==(k.T&16777216)&&null!==k.data))for(a=this.va.o,c=a.length,d=0;dk;)k+=g[n++%l],p=!p;q=!1}else k=g[n++%l];k>m&&(k=m);var r=Math.sqrt(k*k/(1+e*e));0>d&&(r=-r);b+=r;c+=e*r;p?a.lineTo(b,c):a.moveTo(b,c);m-=k;p=!p}}
+O.prototype.raiseChangedEvent=O.prototype.ld=function(a,b,c,d,e,g,h){var k=this.ba;if(null!==k&&(k.lo(a,b,c,d,e,g,h),zo(this)&&c===this&&a===bg&&Ao(this,k,b),c===k&&0!==(k.T&16777216)&&null!==k.data))for(a=this.va.o,c=a.length,d=0;d
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
Method SummaryParameters:
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Part.html b/api/symbols/Part.html
index 0f9e28e68..5b7758fc0 100644
--- a/api/symbols/Part.html
+++ b/api/symbols/Part.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PathFigure.html b/api/symbols/PathFigure.html
index 03499cf52..cbf8b036a 100644
--- a/api/symbols/PathFigure.html
+++ b/api/symbols/PathFigure.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PathSegment.html b/api/symbols/PathSegment.html
index 116e06871..9c40eec72 100644
--- a/api/symbols/PathSegment.html
+++ b/api/symbols/PathSegment.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Picture.html b/api/symbols/Picture.html
index a5aa9f704..436846775 100644
--- a/api/symbols/Picture.html
+++ b/api/symbols/Picture.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Placeholder.html b/api/symbols/Placeholder.html
index 772258e6f..f7c2b5ee4 100644
--- a/api/symbols/Placeholder.html
+++ b/api/symbols/Placeholder.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Point.html b/api/symbols/Point.html
index 582ab9a01..b2f1bf6a6 100644
--- a/api/symbols/Point.html
+++ b/api/symbols/Point.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Rect.html b/api/symbols/Rect.html
index 664b3d257..bce25088c 100644
--- a/api/symbols/Rect.html
+++ b/api/symbols/Rect.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RelinkingTool.html b/api/symbols/RelinkingTool.html
index 0342f78f4..a7c389357 100644
--- a/api/symbols/RelinkingTool.html
+++ b/api/symbols/RelinkingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ResizingTool.html b/api/symbols/ResizingTool.html
index 87174f8c3..1e68aec49 100644
--- a/api/symbols/ResizingTool.html
+++ b/api/symbols/ResizingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RotatingTool.html b/api/symbols/RotatingTool.html
index babc13e9d..4d59e7543 100644
--- a/api/symbols/RotatingTool.html
+++ b/api/symbols/RotatingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RowColumnDefinition.html b/api/symbols/RowColumnDefinition.html
index ca2e9366b..7e13bbe1b 100644
--- a/api/symbols/RowColumnDefinition.html
+++ b/api/symbols/RowColumnDefinition.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Set.html b/api/symbols/Set.html
index c6a91c11e..5323534c8 100644
--- a/api/symbols/Set.html
+++ b/api/symbols/Set.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Shape.html b/api/symbols/Shape.html
index f118b4610..5d10a0325 100644
--- a/api/symbols/Shape.html
+++ b/api/symbols/Shape.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Size.html b/api/symbols/Size.html
index 120e72a8c..33d897714 100644
--- a/api/symbols/Size.html
+++ b/api/symbols/Size.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Spot.html b/api/symbols/Spot.html
index fd78e9bd9..9186bfffc 100644
--- a/api/symbols/Spot.html
+++ b/api/symbols/Spot.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TextBlock.html b/api/symbols/TextBlock.html
index 35d0dff9f..39608cb04 100644
--- a/api/symbols/TextBlock.html
+++ b/api/symbols/TextBlock.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TextEditingTool.html b/api/symbols/TextEditingTool.html
index 7c9484c5d..4bb28895a 100644
--- a/api/symbols/TextEditingTool.html
+++ b/api/symbols/TextEditingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Tool.html b/api/symbols/Tool.html
index 2bb97a22b..9e8944be2 100644
--- a/api/symbols/Tool.html
+++ b/api/symbols/Tool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ToolManager.html b/api/symbols/ToolManager.html
index b02134192..384bd1da3 100644
--- a/api/symbols/ToolManager.html
+++ b/api/symbols/ToolManager.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Transaction.html b/api/symbols/Transaction.html
index aed3e223d..98a022de3 100644
--- a/api/symbols/Transaction.html
+++ b/api/symbols/Transaction.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeEdge.html b/api/symbols/TreeEdge.html
index b310dbc5c..0e2795bef 100644
--- a/api/symbols/TreeEdge.html
+++ b/api/symbols/TreeEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeLayout.html b/api/symbols/TreeLayout.html
index 3dca92735..225560589 100644
--- a/api/symbols/TreeLayout.html
+++ b/api/symbols/TreeLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeModel.html b/api/symbols/TreeModel.html
index 1eb61dbf0..20843937e 100644
--- a/api/symbols/TreeModel.html
+++ b/api/symbols/TreeModel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeVertex.html b/api/symbols/TreeVertex.html
index 102008e4b..e37724f53 100644
--- a/api/symbols/TreeVertex.html
+++ b/api/symbols/TreeVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/UndoManager.html b/api/symbols/UndoManager.html
index 82759f6f7..4c73dd9e5 100644
--- a/api/symbols/UndoManager.html
+++ b/api/symbols/UndoManager.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.2 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
diff --git a/doc/changelog.html b/doc/changelog.html
index 8a90a9fe9..afa223498 100644
--- a/doc/changelog.html
+++ b/doc/changelog.html
@@ -74,9 +74,22 @@ GoJS Change Log
}
+ Changes for 1.7.3
+
+
+
Changes for 1.7.2
- Fixed missing declaration in go.d.ts
.
+
Changes for 1.7.1
diff --git a/intro/index.html b/intro/index.html
index 92273c063..2cf094f53 100644
--- a/intro/index.html
+++ b/intro/index.html
@@ -208,6 +208,8 @@ Loading GoJS
In ES6 (ECMAScript 2015) or TypeScript code, just import the "go.js" library:
import * as go from "go";
+ or, if depending on your npm environment:
+ import * as go from "gojs";
Hosting GoJS in a Div Element
diff --git a/package.json b/package.json
index 094c750a5..db3e72509 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "gojs",
- "version": "1.7.2",
+ "version": "1.7.3",
"description": "Interactive diagrams, charts, and graphs, such as trees, flowcharts, orgcharts, UML, BPMN, or business diagrams",
"keywords": [ "diagram", "chart", "tree", "flowchart", "orgchart", "uml", "bpmn", "graphics", "editor", "inspector", "drawing", "canvas", "shape", "svg", "hierarchy", "node", "link", "group", "vertex", "edge", "connection", "port", "label", "arrowhead", "family-tree", "decision-tree", "mindmap", "tournament", "treeview", "pipe-tree", "genogram", "ivr-tree", "parse-tree", "concept-map", "euler", "visualization", "entity-relationship", "er-diagram", "friend-wheel", "radial", "graph-distances", "graph-paths", "sankey", "pert", "gantt", "timeline", "monitor", "layer", "swimlane", "spreadsheet", "virtualization", "flow", "process", "state", "sequential-function", "grafcet", "sequence", "circuit", "record", "field", "table", "dataflow", "data-flow", "planogram", "seating", "pipes", "overview", "palette", "comment", "layout", "grid-layout", "tree-layout", "force-directed", "layered", "hierarchical", "circular", "fishbone", "ishikawa", "parallel", "serpentine", "treemap", "tree-map", "freehand", "polygon", "polyline", "bezier", "panel", "view", "model", "databinding", "data-binding", "binding", "transaction", "coordinates", "subgraph", "selection", "highlight", "tooltip", "context-menu", "tool", "command", "validation", "button", "template", "legend", "grid", "printing" ],
"homepage": "https://gojs.net",
diff --git a/projects/angular2-minimal/README.md b/projects/angular2-minimal/README.md
new file mode 100644
index 000000000..fefdc6681
--- /dev/null
+++ b/projects/angular2-minimal/README.md
@@ -0,0 +1,15 @@
+This is a minimal modification of the Angular 2 Quick Start environment
+that demonstrates how to show a GoJS diagram in a component.
+
+First, assuming you already have npm:
+```
+$ npm install gojs --save
+$ npm update
+```
+
+Note how we have updated the src/systemjs.config.json
file to tell which GoJS library to load.
+
+Start app page with:
+```
+$ npm start
+```
diff --git a/projects/angular2-minimal/bs-config.json b/projects/angular2-minimal/bs-config.json
new file mode 100644
index 000000000..4e5859526
--- /dev/null
+++ b/projects/angular2-minimal/bs-config.json
@@ -0,0 +1,8 @@
+{
+ "server": {
+ "baseDir": "src",
+ "routes": {
+ "/node_modules": "node_modules"
+ }
+ }
+}
diff --git a/projects/angular2-minimal/package.json b/projects/angular2-minimal/package.json
new file mode 100644
index 000000000..cbcb56864
--- /dev/null
+++ b/projects/angular2-minimal/package.json
@@ -0,0 +1,61 @@
+{
+ "name": "angular-quickstart",
+ "version": "1.0.0",
+ "description": "QuickStart package.json from the documentation, supplemented with testing support",
+ "scripts": {
+ "build": "tsc -p src/",
+ "build:watch": "tsc -p src/ -w",
+ "build:e2e": "tsc -p e2e/",
+ "serve": "lite-server -c=bs-config.json",
+ "serve:e2e": "lite-server -c=bs-config.e2e.json",
+ "prestart": "npm run build",
+ "start": "concurrently \"npm run build:watch\" \"npm run serve\"",
+ "pree2e": "npm run build:e2e",
+ "e2e": "concurrently \"npm run serve:e2e\" \"npm run protractor\" --kill-others --success first",
+ "preprotractor": "webdriver-manager update",
+ "protractor": "protractor protractor.config.js",
+ "pretest": "npm run build",
+ "test": "concurrently \"npm run build:watch\" \"karma start karma.conf.js\"",
+ "pretest:once": "npm run build",
+ "test:once": "karma start karma.conf.js --single-run",
+ "lint": "tslint ./src/**/*.ts -t verbose"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "MIT",
+ "dependencies": {
+ "@angular/common": "~2.4.0",
+ "@angular/compiler": "~2.4.0",
+ "@angular/core": "~2.4.0",
+ "@angular/forms": "~2.4.0",
+ "@angular/http": "~2.4.0",
+ "@angular/platform-browser": "~2.4.0",
+ "@angular/platform-browser-dynamic": "~2.4.0",
+ "@angular/router": "~3.4.0",
+ "angular-in-memory-web-api": "~0.2.4",
+ "core-js": "^2.4.1",
+ "gojs": "^1.7.3",
+ "rxjs": "5.0.1",
+ "systemjs": "0.19.40",
+ "zone.js": "^0.7.4"
+ },
+ "devDependencies": {
+ "concurrently": "^3.2.0",
+ "lite-server": "^2.2.2",
+ "typescript": "~2.0.10",
+ "canonical-path": "0.0.2",
+ "tslint": "^3.15.1",
+ "lodash": "^4.16.4",
+ "jasmine-core": "~2.4.1",
+ "karma": "^1.3.0",
+ "karma-chrome-launcher": "^2.0.0",
+ "karma-cli": "^1.0.1",
+ "karma-jasmine": "^1.0.2",
+ "karma-jasmine-html-reporter": "^0.2.2",
+ "protractor": "~4.0.14",
+ "rimraf": "^2.5.4",
+ "@types/node": "^6.0.46",
+ "@types/jasmine": "2.5.36"
+ },
+ "repository": {}
+}
diff --git a/projects/angular2-minimal/tslint.json b/projects/angular2-minimal/tslint.json
new file mode 100644
index 000000000..276453f4f
--- /dev/null
+++ b/projects/angular2-minimal/tslint.json
@@ -0,0 +1,93 @@
+{
+ "rules": {
+ "class-name": true,
+ "comment-format": [
+ true,
+ "check-space"
+ ],
+ "curly": true,
+ "eofline": true,
+ "forin": true,
+ "indent": [
+ true,
+ "spaces"
+ ],
+ "label-position": true,
+ "label-undefined": true,
+ "max-line-length": [
+ true,
+ 140
+ ],
+ "member-access": false,
+ "member-ordering": [
+ true,
+ "static-before-instance",
+ "variables-before-functions"
+ ],
+ "no-arg": true,
+ "no-bitwise": true,
+ "no-console": [
+ true,
+ "debug",
+ "info",
+ "time",
+ "timeEnd",
+ "trace"
+ ],
+ "no-construct": true,
+ "no-debugger": true,
+ "no-duplicate-key": true,
+ "no-duplicate-variable": true,
+ "no-empty": false,
+ "no-eval": true,
+ "no-inferrable-types": true,
+ "no-shadowed-variable": true,
+ "no-string-literal": false,
+ "no-switch-case-fall-through": true,
+ "no-trailing-whitespace": true,
+ "no-unused-expression": true,
+ "no-unused-variable": true,
+ "no-unreachable": true,
+ "no-use-before-declare": true,
+ "no-var-keyword": true,
+ "object-literal-sort-keys": false,
+ "one-line": [
+ true,
+ "check-open-brace",
+ "check-catch",
+ "check-else",
+ "check-whitespace"
+ ],
+ "quotemark": [
+ true,
+ "single"
+ ],
+ "radix": true,
+ "semicolon": [
+ "always"
+ ],
+ "triple-equals": [
+ true,
+ "allow-null-check"
+ ],
+ "typedef-whitespace": [
+ true,
+ {
+ "call-signature": "nospace",
+ "index-signature": "nospace",
+ "parameter": "nospace",
+ "property-declaration": "nospace",
+ "variable-declaration": "nospace"
+ }
+ ],
+ "variable-name": false,
+ "whitespace": [
+ true,
+ "check-branch",
+ "check-decl",
+ "check-operator",
+ "check-separator",
+ "check-type"
+ ]
+ }
+}
diff --git a/release/go-debug.js b/release/go-debug.js
index 34a65a73e..e4b1f4839 100644
--- a/release/go-debug.js
+++ b/release/go-debug.js
@@ -1,9 +1,9 @@
/*
- * GoJS v1.7.2 JavaScript Library for HTML Diagrams
+ * GoJS v1.7.3 JavaScript Library for HTML Diagrams
* Northwoods Software, https://www.nwoods.com/
* GoJS and Northwoods Software are registered trademarks of Northwoods Software Corporation.
* Copyright (C) 1998-2017 by Northwoods Software Corporation. All Rights Reserved.
- * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.7.2/doc/license.html.
+ * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.7.3/doc/license.html.
*/
(function(window) { var f,ca={};if(!window.document||void 0===window.document.createElement("canvas").getContext)throw window.console&&window.console.log("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode."),Error("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode.");if(!Object.defineProperty)throw Error("GoJS requires a newer version of JavaScript");
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return g.apply(a,e.concat(d.call(arguments)))}function c(){}var d=Array.prototype.slice,e=d.call(arguments,1),g=this;c.prototype=this.prototype;b.prototype=new c;return b});
@@ -16,17 +16,17 @@ c.fillRect(h.x||0,h.y||0,h.width,h.height),c.restore())}},BL:function(){u.XE();u
b.ef)},xA:function(a,b,c){a.setTransform(1,0,0,1,0,0);a.scale(b.rd,b.rd);a.transform(c.m11,c.m12,c.m21,c.m22,c.dx,c.dy);c=b.bc.length;for(var d=0;d=d.length)){var e=z.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.xw&&g.xw[d])continue}else if(z.Lx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},nx:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==
-typeof b&&"boolean"!==typeof b&&"function"!==typeof b)if(void 0!==z.Hd(b)){if(!u.Mw.contains(b))if(u.Mw.add(b),u.mw.add(u.DE(a,b)),b instanceof J||b instanceof K||b instanceof oa)for(var c=b.j;c.next();)u.nx(a+"["+c.key+"]",c.value);else for(c in b){var d=z.vb(b,c);if(void 0!==d&&null!==d&&z.Xa(d)&&d!==b.xw){if(b instanceof pa){if(d===b.gi)continue}else if(b instanceof I){if("data"===c||d===b.he)continue;if("itemArray"===c||d===b.cj)continue;if(b instanceof D&&d===b.Jl)continue}else if(!(b instanceof
-C))if(b instanceof ta){if("archetypeGroupData"===c||d===b.Sy)continue}else if(b instanceof ua){if("archetypeLinkData"===c||d===b.Uy)continue;if("archetypeLabelNodeData"===c||d===b.Ty)continue}else if(b instanceof wa){if("archetypeNodeData"===c||d===b.ol)continue}else if(b instanceof L){if("nodeDataArray"===c||d===b.ze)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Gc)continue;if(d===b.vg)continue}else if(b instanceof ya||b instanceof za||b instanceof Aa)continue;u.nx(a+"."+
-c,d)}}}else if(Array.isArray(b))for(c=0;c=d.length)){var e=z.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.xw&&g.xw[d])continue}else if(z.Lx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},nx:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==typeof b&&"boolean"!==typeof b&&
+"function"!==typeof b)if(void 0!==z.Hd(b)){if(!u.Mw.contains(b))if(u.Mw.add(b),u.mw.add(u.DE(a,b)),b instanceof J||b instanceof K||b instanceof oa)for(var c=b.j;c.next();)u.nx(a+"["+c.key+"]",c.value);else for(c in b){var d=z.vb(b,c);if(void 0!==d&&null!==d&&z.Xa(d)&&d!==b.xw){if(b instanceof pa){if(d===b.gi)continue}else if(b instanceof I){if("data"===c||d===b.ge)continue;if("itemArray"===c||d===b.cj)continue;if(b instanceof D&&d===b.Jl)continue}else if(!(b instanceof C))if(b instanceof ta){if("archetypeGroupData"===
+c||d===b.Sy)continue}else if(b instanceof ua){if("archetypeLinkData"===c||d===b.Uy)continue;if("archetypeLabelNodeData"===c||d===b.Ty)continue}else if(b instanceof wa){if("archetypeNodeData"===c||d===b.ol)continue}else if(b instanceof L){if("nodeDataArray"===c||d===b.ye)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Gc)continue;if(d===b.vg)continue}else if(b instanceof ya||b instanceof za||b instanceof Aa)continue;u.nx(a+"."+c,d)}}}else if(Array.isArray(b))for(c=0;c=a.length?a.push(c):a.splice(b,0,c):z.k("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Rg:function(a,b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):
z.k("Cannot remove an object from an HTMLCollection or NodeList at "+b)},Ky:[],P:function(){var a=z.Ky.pop();return void 0===a?new M:a},Fb:function(a,b){var c=z.Ky.pop();if(void 0===c)return new M(a,b);c.x=a;c.y=b;return c},A:function(a){z.Ky.push(a)},$B:[],Am:function(){var a=z.$B.pop();return void 0===a?new Fa:a},Qk:function(a){z.$B.push(a)},Ly:[],Of:function(){var a=z.Ly.pop();return void 0===a?new w:a},fh:function(a,b,c,d){var e=z.Ly.pop();if(void 0===e)return new w(a,b,c,d);e.x=a;e.y=b;e.width=
-c;e.height=d;return e},Mb:function(a){z.Ly.push(a)},aC:[],Pf:function(){var a=z.aC.pop();return void 0===a?new Ga:a},Ie:function(a){z.aC.push(a)},My:null,v:function(){var a=z.My;return null!==a?(z.My=null,a):new Ha},u:function(a){a.reset();z.My=a},ZB:[],tb:function(){var a=z.ZB.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;z.ZB.push(a)},bl:Object.freeze([]),Em:1,xc:function(a){a.__gohashid=z.Em++},pq:function(a){var b=a.__gohashid;void 0===b&&(b=z.Em++,a.__gohashid=b);return b},Hd:function(a){return a.__gohashid},
+c;e.height=d;return e},Mb:function(a){z.Ly.push(a)},aC:[],Pf:function(){var a=z.aC.pop();return void 0===a?new Ga:a},Ie:function(a){z.aC.push(a)},My:null,v:function(){var a=z.My;return null!==a?(z.My=null,a):new Ha},u:function(a){a.reset();z.My=a},ZB:[],tb:function(){var a=z.ZB.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;z.ZB.push(a)},bl:Object.freeze([]),Em:1,wc:function(a){a.__gohashid=z.Em++},oq:function(a){var b=a.__gohashid;void 0===b&&(b=z.Em++,a.__gohashid=b);return b},Hd:function(a){return a.__gohashid},
ka:function(a,b){b.Zy=a;ca[a]=b},Ta:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},Ai:function(a){a.yH=!0},defineProperty:function(a,b,c,d,e){z.h(a,"function","Util.defineProperty:classfunc");z.h(b,"object","Util.defineProperty:propobj");z.h(c,"function","Util.defineProperty:getter");z.h(d,"function","Util.defineProperty:setter");for(var g in b){b=b[g];c={get:c,set:d,enumerable:!0};if(void 0!==e)for(var h in e)c[h]=e[h];Object.defineProperty(a.prototype,
g,c);e=Object.getOwnPropertyDescriptor(a.prototype,g);b&&e&&Object.defineProperty(a.prototype,b,e);break}},IK:!1,w:function(a,b,c,d){z.h(a,"function","Util.defineReadOnlyProperty:classfunc");z.h(b,"object","Util.defineReadOnlyProperty:propobj");z.h(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var g=b[e];b={get:c,set:function(a){z.k('The property "'+g+'" is read-only and cannot be set to '+a)},enumerable:!0};if(void 0!==d)for(var h in d)b[h]=d[h];Object.defineProperty(a.prototype,
-e,b);d=Object.getOwnPropertyDescriptor(a.prototype,e);g&&d&&Object.defineProperty(a.prototype,g,d);break}},ne:function(a,b){for(var c in b)b[c]=!0;a.prototype.xw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?z.uf(a):null===a?"*":""},uf:function(a){if("function"===typeof a){if(a.Zy)return a.Zy;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,c).trim();if(""!==b)return a.Zy=b}else if("object"===typeof a&&a.constructor)return z.uf(a.constructor);
+e,b);d=Object.getOwnPropertyDescriptor(a.prototype,e);g&&d&&Object.defineProperty(a.prototype,g,d);break}},me:function(a,b){for(var c in b)b[c]=!0;a.prototype.xw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?z.uf(a):null===a?"*":""},uf:function(a){if("function"===typeof a){if(a.Zy)return a.Zy;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,c).trim();if(""!==b)return a.Zy=b}else if("object"===typeof a&&a.constructor)return z.uf(a.constructor);
return typeof a},s:function(a,b,c){z.h(a,"function","Util.defineEnumValue:classfunc");z.h(b,"string","Util.defineEnumValue:name");z.h(c,"number","Util.defineEnumValue:num");c=new Ca(a,b,c);Object.freeze(c);a[b]=c;var d=a.hv;d instanceof oa||(d=new oa("string",Ca),a.hv=d);d.add(b,c);return c},vb:function(a,b){if(!a||!b)return null;var c=void 0;try{"function"===typeof b?c=b(a):"function"===typeof a.getAttribute?(c=a.getAttribute(b),null===c&&(c=void 0)):c=a[b]}catch(d){u&&z.trace("property get error: "+
d.toString())}return c},Ua:function(a,b,c){if(a&&b)try{"function"===typeof b?b(a,c):"function"===typeof a.setAttribute?a.setAttribute(b,c):a[b]=c}catch(d){u&&z.trace("property set error: "+d.toString())}},Vu:function(a,b){z.h(a,"object","Setting properties requires Objects as arguments");z.h(b,"object","Setting properties requires Objects as arguments");var c=a instanceof I,d=a instanceof C,e;for(e in b){""===e&&z.k("Setting properties requires non-empty property names");var g=a,h=e;if(c||d){var k=
e.indexOf(".");if(0c;c++)b[c]=c;for(var d=0,e=0,c=0;256>c;c++)d=(d+b[c]+119)%256,e=b[c],b[c]=b[d],b[d]=e;for(var d=c=0,g="",h=0;hc;c++)b["0123456789abcdef".charAt(c>>4)+"0123456789abcdef".charAt(c&15)]=String.fromCharCode(c);a.length%2&&(a="0"+a);for(var d=[],e=0,c=0;cc;c++)b["0123456789abcdef".charAt(c>>4)+"0123456789abcdef".charAt(c&15)]=String.fromCharCode(c);a.length%2&&(a="0"+a);for(var d=[],e=0,c=0;cd;d++)b[z.Sg("7ca11abfd7330390")](z.Sg(c[d-1]),10,15*d+0);b[z.Sg("7ca11abfd022028846")]=z.Sg("39f046ebb36e4b");for(d=1;5>d;d++)b[z.Sg("7ca11abfd7330390")](z.Sg(c[d-
-1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])z.s=function(a,b){var c=new Ca(a,b,2);Object.freeze(c);a[b]=c;var d=a.hv;d instanceof oa||(d=new oa("string",Ca),a.hv=d);d.add(b,c);return c};return a}();function Ca(a,b,c){z.xc(this);this.kC=a;this.Xb=b;this.DH=c}z.ka("EnumValue",Ca);Ca.prototype.toString=function(){return z.uf(this.kC)+"."+this.Xb};z.w(Ca,{Pe:"classType"},function(){return this.kC});z.w(Ca,{name:"name"},function(){return this.Xb});z.w(Ca,{value:"value"},function(){return this.DH});
+1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])z.s=function(a,b){var c=new Ca(a,b,2);Object.freeze(c);a[b]=c;var d=a.hv;d instanceof oa||(d=new oa("string",Ca),a.hv=d);d.add(b,c);return c};return a}();function Ca(a,b,c){z.wc(this);this.kC=a;this.Xb=b;this.DH=c}z.ka("EnumValue",Ca);Ca.prototype.toString=function(){return z.uf(this.kC)+"."+this.Xb};z.w(Ca,{Pe:"classType"},function(){return this.kC});z.w(Ca,{name:"name"},function(){return this.Xb});z.w(Ca,{value:"value"},function(){return this.DH});
var Ja;Ca.findName=Ja=function(a,b){if(void 0===b||null===b||""===b)return null;z.h(a,"function","findName:classfunc");z.h(b,"string","EnumValue.findName:name");var c=a.hv;return c instanceof oa?c.qa(b):null};function Ba(){this.jC=[]}Ba.prototype.toString=function(){return this.jC.join("")};Ba.prototype.add=function(a){""!==a&&this.jC.push(a)};function na(){}
function Ka(a){void 0===a&&(a=42);this.seed=a;this.Gy=48271;this.gv=2147483647;this.YB=this.gv/this.Gy;this.hH=this.gv%this.Gy;this.gH=1/this.gv;this.random()}Ka.prototype.random=function(){var a=this.seed%this.YB*this.Gy-this.seed/this.YB*this.hH;this.seed=0this.key)return!1;z.Va(a)}var a=a.o,b=a.length,c=++this.bd,d=this.mi;if(null!==d)for(;cthis.key)return!1;z.Va(a)}var b=--this.bd;if(0<=b)return this.key=b,this.value=a.o[b],!0;this.Rf();return!1};Wa.prototype.first=Wa.prototype.first=function(){var a=this.Fc;this.qb=a.J;var b=a.o;this.bd=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};
Wa.prototype.any=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=b.o,e=d.length;this.bd=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.J!==c&&z.Va(b)}return!1};Wa.prototype.all=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=b.o,e=d.length;this.bd=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.J!==c&&z.Va(b)}return!0};Wa.prototype.each=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=b.o,e=d.length;this.bd=e;for(e-=1;0<=e;e--)a(d[e]),b.J!==c&&z.Va(b);return this};
Wa.prototype.map=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=[],e=b.o,g=e.length;this.bd=g;for(g-=1;0<=g;g--)d.push(a(e[g])),b.J!==c&&z.Va(b);a=new J;a.o=d;a.Sc();return a.j};Wa.prototype.filter=function(a){var b=this.Fc;b.nk=null;var c=b.J,d=[],e=b.o,g=e.length;this.bd=g;for(g-=1;0<=g;g--){var h=e[g];a(h)&&d.push(h);b.J!==c&&z.Va(b)}a=new J(b.da);a.o=d;a.Sc();return a.j};Wa.prototype.concat=function(a){this.Fc.nk=null;return new Sa(this,a.j)};z.w(Wa,{count:"count"},function(){return this.Fc.o.length});
Wa.prototype.Rf=function(){this.key=-1;this.value=null;this.qb=-1;this.Fc.nk=this};Wa.prototype.toString=function(){return"ListIteratorBackwards("+this.bd+"/"+this.Fc.count+")"};
-function J(a){z.xc(this);this.I=!1;this.o=[];this.J=0;this.nk=this.jc=null;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.da=a:z.wa(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:z.wa(a,"null, a primitive type name, or a class type",
+function J(a){z.wc(this);this.I=!1;this.o=[];this.J=0;this.nk=this.jc=null;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.da=a:z.wa(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:z.wa(a,"null, a primitive type name, or a class type",
"List constructor: type")}z.ka("List",J);J.prototype.nh=function(a){null!==this.da&&("string"===typeof this.da?typeof a===this.da&&null!==a||z.hc(a,this.da):a instanceof this.da||z.hc(a,this.da))};J.prototype.Sc=function(){var a=this.J;a++;999999999a||a>=b.length)&&z.wa(a,"0 <= i < length",J,"elt:i");return b[a]};
-J.prototype.setElt=J.prototype.set=J.prototype.bh=function(a,b){u&&(this.nh(b),z.p(a,J,"setElt:i"));var c=this.o;(0>a||a>=c.length)&&z.wa(a,"0 <= i < length",J,"setElt:i");this.I&&z.pa(this,a);c[a]=b};J.prototype.first=J.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};J.prototype.last=J.prototype.se=function(){var a=this.o,b=a.length;return 0a||a>=c.length)&&z.wa(a,"0 <= i < length",J,"setElt:i");this.I&&z.pa(this,a);c[a]=b};J.prototype.first=J.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};J.prototype.last=J.prototype.re=function(){var a=this.o,b=a.length;return 0a&&z.wa(a,">= 0",J,"insertAt:i");this.I&&z.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Sc();return!0};J.prototype.remove=J.prototype["delete"]=J.prototype.remove=function(a){if(null===a)return!1;u&&this.nh(a);this.I&&z.pa(this,a);var b=this.o;a=b.indexOf(a);if(-1===a)return!1;a===b.length-1?b.pop():b.splice(a,1);this.Sc();return!0};
+J.prototype.insertAt=J.prototype.Yd=function(a,b){u&&(this.nh(b),z.p(a,J,"insertAt:i"));0>a&&z.wa(a,">= 0",J,"insertAt:i");this.I&&z.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Sc();return!0};J.prototype.remove=J.prototype["delete"]=J.prototype.remove=function(a){if(null===a)return!1;u&&this.nh(a);this.I&&z.pa(this,a);var b=this.o;a=b.indexOf(a);if(-1===a)return!1;a===b.length-1?b.pop():b.splice(a,1);this.Sc();return!0};
J.prototype.removeAt=J.prototype.md=function(a){u&&z.p(a,J,"removeAt:i");var b=this.o;(0>a||a>=b.length)&&z.wa(a,"0 <= i < length",J,"removeAt:i");this.I&&z.pa(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Sc()};
J.prototype.removeRange=J.prototype.removeRange=function(a,b){u&&(z.p(a,J,"removeRange:from"),z.p(b,J,"removeRange:to"));var c=this.o,d=c.length;if(0>a)a=0;else if(a>=d)return this;if(0>b)return this;b>=d&&(b=d-1);if(a>b)return this;this.I&&z.pa(this);for(var e=a,g=b+1;g=g)return this;(0>b||b>=e-1)&&z.wa(b,"0 <= from < length",J,"sortRange:from");if(2===g)return c=d[b],e=d[b+1],0=e)d.sort(a);else for(g=d.slice(0,c),g.sort(a),a=0;a=e)for(g=d.slice(b),
g.sort(a),a=b;a=this.o.length)return Na;var a=this.jc;return null!==a?(a.reset(),a):new Va(this)});
-z.w(J,{$n:"iteratorBackwards"},function(){if(0>=this.o.length)return Na;var a=this.nk;return null!==a?(a.reset(),a):new Wa(this)});function Xa(a){this.oi=a;this.reset()}z.ne(Xa,{key:!0,value:!0});z.w(Xa,{j:"iterator"},function(){return this});Xa.prototype.reset=Xa.prototype.reset=function(){var a=this.oi;a.jc=null;this.qb=a.J;this.ob=null};
+z.w(J,{$n:"iteratorBackwards"},function(){if(0>=this.o.length)return Na;var a=this.nk;return null!==a?(a.reset(),a):new Wa(this)});function Xa(a){this.oi=a;this.reset()}z.me(Xa,{key:!0,value:!0});z.w(Xa,{j:"iterator"},function(){return this});Xa.prototype.reset=Xa.prototype.reset=function(){var a=this.oi;a.jc=null;this.qb=a.J;this.ob=null};
Xa.prototype.next=Xa.prototype.hasNext=Xa.prototype.next=function(){var a=this.oi;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};Xa.prototype.first=Xa.prototype.first=function(){var a=this.oi;this.qb=a.J;a=a.La;if(null!==a){this.ob=a;var b=a.value;this.key=a.key;return this.value=b}return null};
Xa.prototype.any=function(a){var b=this.oi;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d.value))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};Xa.prototype.all=function(a){var b=this.oi;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d.value))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};Xa.prototype.each=function(a){var b=this.oi;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d.value),b.J!==c&&z.Va(b),d=d.eb;return this};
Xa.prototype.map=function(a){var b=this.oi;b.jc=null;for(var c=new J,d=b.J,e=b.La;null!==e;)c.add(a(e.value)),b.J!==d&&z.Va(b),e=e.eb;return c.j};Xa.prototype.filter=function(a){var b=this.oi;b.jc=null;for(var c=new J(b.da),d=b.J,e=b.La;null!==e;){var g=e.value;a(g)&&c.add(g);b.J!==d&&z.Va(b);e=e.eb}return c.j};Xa.prototype.concat=function(a){this.oi.jc=null;return new Sa(this,a.j)};z.w(Xa,{count:"count"},function(){return this.oi.Ad});
Xa.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.oi.jc=this};Xa.prototype.toString=function(){return null!==this.ob?"SetIterator@"+this.ob.value:"SetIterator"};
-function K(a){z.xc(this);this.I=!1;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.da=a:z.wa(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Set constructor: type");this.Bd={};this.Ad=0;this.jc=null;this.J=0;this.fi=this.La=null}z.ka("Set",K);
+function K(a){z.wc(this);this.I=!1;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.da=a:z.wa(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Set constructor: type");this.Bd={};this.Ad=0;this.jc=null;this.J=0;this.fi=this.La=null}z.ka("Set",K);
K.prototype.nh=function(a){null!==this.da&&("string"===typeof this.da?typeof a===this.da&&null!==a||z.hc(a,this.da):a instanceof this.da||z.hc(a,this.da))};K.prototype.Sc=function(){var a=this.J;a++;999999999=this.Ad)return Na;var a=this.jc;return null!==a?(a.reset(),a):new Xa(this)});function $a(a){this.Pa=a;this.reset()}z.ne($a,{key:!0,value:!0});z.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){this.qb=this.Pa.J;this.ob=null};
+z.w(K,{size:"size"},function(){return this.Ad});z.w(K,{j:"iterator"},function(){if(0>=this.Ad)return Na;var a=this.jc;return null!==a?(a.reset(),a):new Xa(this)});function $a(a){this.Pa=a;this.reset()}z.me($a,{key:!0,value:!0});z.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){this.qb=this.Pa.J;this.ob=null};
$a.prototype.next=$a.prototype.hasNext=$a.prototype.next=function(){var a=this.Pa;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.value=this.key=a=b.key,!0;this.Rf();return!1};$a.prototype.first=$a.prototype.first=function(){var a=this.Pa;this.qb=a.J;a=a.La;return null!==a?(this.ob=a,this.value=this.key=a=a.key):null};
$a.prototype.any=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d.key))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};$a.prototype.all=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d.key))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};$a.prototype.each=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d.key),b.J!==c&&z.Va(b),d=d.eb;return this};
$a.prototype.map=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)d.add(a(e.key)),b.J!==c&&z.Va(b),e=e.eb;return d.j};$a.prototype.filter=function(a){var b=this.Pa,c=b.J;this.ob=null;for(var d=new J(b.qf),e=b.La;null!==e;){var g=e.key;a(g)&&d.add(g);b.J!==c&&z.Va(b);e=e.eb}return d.j};$a.prototype.concat=function(a){return new Sa(this,a.j)};z.w($a,{count:"count"},function(){return this.Pa.Ad});$a.prototype.Rf=function(){this.value=this.key=null;this.qb=-1};
-$a.prototype.toString=function(){return null!==this.ob?"MapKeySetIterator@"+this.ob.value:"MapKeySetIterator"};function cb(a){z.xc(this);this.I=!0;this.Pa=a}z.Ta(cb,K);cb.prototype.freeze=function(){return this};cb.prototype.Za=function(){return this};cb.prototype.toString=function(){return"MapKeySet("+this.Pa.toString()+")"};cb.prototype.add=cb.prototype.set=cb.prototype.add=function(){z.k("This Set is read-only: "+this.toString());return!1};
+$a.prototype.toString=function(){return null!==this.ob?"MapKeySetIterator@"+this.ob.value:"MapKeySetIterator"};function cb(a){z.wc(this);this.I=!0;this.Pa=a}z.Ta(cb,K);cb.prototype.freeze=function(){return this};cb.prototype.Za=function(){return this};cb.prototype.toString=function(){return"MapKeySet("+this.Pa.toString()+")"};cb.prototype.add=cb.prototype.set=cb.prototype.add=function(){z.k("This Set is read-only: "+this.toString());return!1};
cb.prototype.contains=cb.prototype.has=cb.prototype.contains=function(a){return this.Pa.contains(a)};cb.prototype.remove=cb.prototype["delete"]=cb.prototype.remove=function(){z.k("This Set is read-only: "+this.toString());return!1};cb.prototype.clear=cb.prototype.clear=function(){z.k("This Set is read-only: "+this.toString())};cb.prototype.first=cb.prototype.first=function(){var a=this.Pa.La;return null!==a?a.key:null};
cb.prototype.any=function(a){for(var b=this.Pa.La;null!==b;){if(a(b.key))return!0;b=b.eb}return!1};cb.prototype.all=function(a){for(var b=this.Pa.La;null!==b;){if(!a(b.key))return!1;b=b.eb}return!0};cb.prototype.each=function(a){for(var b=this.Pa.La;null!==b;)a(b.key),b=b.eb;return this};cb.prototype.map=function(a){for(var b=new K,c=this.Pa.La;null!==c;)b.add(a(c.key)),c=c.eb;return b};
cb.prototype.filter=function(a){for(var b=new K(this.Pa.qf),c=this.Pa.La;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.eb}return b};cb.prototype.concat=function(a){return this.SG().Uc(a)};cb.prototype.copy=function(){return new cb(this.Pa)};cb.prototype.toSet=cb.prototype.SG=function(){var a=new K(this.Pa.qf),b=this.Pa.Bd,c;for(c in b)a.add(b[c].key);return a};cb.prototype.toArray=cb.prototype.nc=function(){var a=this.Pa.Bd,b=Array(this.Pa.Ad),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};
-cb.prototype.toList=function(){var a=new J(this.da),b=this.Pa.Bd,c;for(c in b)a.add(b[c].key);return a};z.w(cb,{count:"count"},function(){return this.Pa.Ad});z.w(cb,{size:"size"},function(){return this.Pa.Ad});z.w(cb,{j:"iterator"},function(){return 0>=this.Pa.Ad?Na:new $a(this.Pa)});function gb(a){this.Pa=a;this.reset()}z.ne(gb,{key:!0,value:!0});z.w(gb,{j:"iterator"},function(){return this});gb.prototype.reset=gb.prototype.reset=function(){var a=this.Pa;a.ok=null;this.qb=a.J;this.ob=null};
+cb.prototype.toList=function(){var a=new J(this.da),b=this.Pa.Bd,c;for(c in b)a.add(b[c].key);return a};z.w(cb,{count:"count"},function(){return this.Pa.Ad});z.w(cb,{size:"size"},function(){return this.Pa.Ad});z.w(cb,{j:"iterator"},function(){return 0>=this.Pa.Ad?Na:new $a(this.Pa)});function gb(a){this.Pa=a;this.reset()}z.me(gb,{key:!0,value:!0});z.w(gb,{j:"iterator"},function(){return this});gb.prototype.reset=gb.prototype.reset=function(){var a=this.Pa;a.ok=null;this.qb=a.J;this.ob=null};
gb.prototype.next=gb.prototype.hasNext=gb.prototype.next=function(){var a=this.Pa;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};gb.prototype.first=gb.prototype.first=function(){var a=this.Pa;this.qb=a.J;a=a.La;if(null!==a){this.ob=a;var b=a.value;this.key=a.key;return this.value=b}return null};
gb.prototype.any=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d.value))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};gb.prototype.all=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d.value))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};gb.prototype.each=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d.value),b.J!==c&&z.Va(b),d=d.eb;return this};
gb.prototype.map=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)d.add(a(e.value)),b.J!==c&&z.Va(b),e=e.eb;return d.j};gb.prototype.filter=function(a){var b=this.Pa;b.ok=null;var c=b.J;this.ob=null;for(var d=new J(b.qf),e=b.La;null!==e;){var g=e.value;a(g)&&d.add(g);b.J!==c&&z.Va(b);e=e.eb}return d.j};gb.prototype.concat=function(a){this.Pa.ok=null;return new Sa(this,a.j)};z.w(gb,{count:"count"},function(){return this.Pa.Ad});
-gb.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.Pa.ok=this};gb.prototype.toString=function(){return null!==this.ob?"MapValueSetIterator@"+this.ob.value:"MapValueSetIterator"};function Za(a,b){this.key=a;this.value=b;this.Cp=this.eb=null}z.ne(Za,{key:!0,value:!0});Za.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};function ib(a){this.Pa=a;this.reset()}z.ne(ib,{key:!0,value:!0});z.w(ib,{j:"iterator"},function(){return this});
+gb.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.Pa.ok=this};gb.prototype.toString=function(){return null!==this.ob?"MapValueSetIterator@"+this.ob.value:"MapValueSetIterator"};function Za(a,b){this.key=a;this.value=b;this.Bp=this.eb=null}z.me(Za,{key:!0,value:!0});Za.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};function ib(a){this.Pa=a;this.reset()}z.me(ib,{key:!0,value:!0});z.w(ib,{j:"iterator"},function(){return this});
ib.prototype.reset=ib.prototype.reset=function(){var a=this.Pa;a.jc=null;this.qb=a.J;this.ob=null};ib.prototype.next=ib.prototype.hasNext=ib.prototype.next=function(){var a=this.Pa;if(a.J!==this.qb){if(null===this.key)return!1;z.Va(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.key=b.key,this.value=b.value,!0;this.Rf();return!1};
ib.prototype.first=ib.prototype.first=function(){var a=this.Pa;this.qb=a.J;a=a.La;return null!==a?(this.ob=a,this.key=a.key,this.value=a.value,a):null};ib.prototype.any=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(a(d))return!0;b.J!==c&&z.Va(b);d=d.eb}return!1};ib.prototype.all=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;){if(!a(d))return!1;b.J!==c&&z.Va(b);d=d.eb}return!0};
ib.prototype.each=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=b.La;null!==d;)a(d),b.J!==c&&z.Va(b),d=d.eb;return this};ib.prototype.map=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)d.add(a(e)),b.J!==c&&z.Va(b),e=e.eb;return d.j};ib.prototype.filter=function(a){var b=this.Pa;b.jc=null;var c=b.J;this.ob=null;for(var d=new J,e=b.La;null!==e;)a(e)&&d.add(e),b.J!==c&&z.Va(b),e=e.eb;return d.j};
ib.prototype.concat=function(a){this.Pa.jc=null;return new Sa(this,a.j)};z.w(ib,{count:"count"},function(){return this.Pa.Ad});ib.prototype.Rf=function(){this.value=this.key=null;this.qb=-1;this.Pa.jc=this};ib.prototype.toString=function(){return null!==this.ob?"MapIterator@"+this.ob:"MapIterator"};
-function oa(a,b){z.xc(this);this.I=!1;void 0===a||null===a?this.qf=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.qf=a:z.wa(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.qf=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Map constructor: keytype");void 0===b||null===b?this.yi=null:"string"===typeof b?"object"===b||"string"===b||"boolean"===b||"number"===
+function oa(a,b){z.wc(this);this.I=!1;void 0===a||null===a?this.qf=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.qf=a:z.wa(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.qf=a===Object?"object":a===String?"string":a===Number?"number":a:z.wa(a,"null, a primitive type name, or a class type","Map constructor: keytype");void 0===b||null===b?this.yi=null:"string"===typeof b?"object"===b||"string"===b||"boolean"===b||"number"===
b||"function"===b?this.yi=b:z.wa(b,"the string 'object', 'number', 'string', 'boolean', or 'function'","Map constructor: valtype"):"function"===typeof b?this.yi=b===Object?"object":b===String?"string":b===Number?"number":b===Boolean?"boolean":b===Function?"function":b:z.wa(b,"null, a primitive type name, or a class type","Map constructor: valtype");this.Bd={};this.Ad=0;this.ok=this.jc=null;this.J=0;this.fi=this.La=null}z.ka("Map",oa);
function mb(a,b){null!==a.qf&&("string"===typeof a.qf?typeof b===a.qf&&null!==b||z.hc(b,a.qf):b instanceof a.qf||z.hc(b,a.qf))}oa.prototype.Sc=function(){var a=this.J;a++;999999999=this.count)return Na;var a=this.jc;return null!==a?(a.reset(),a):new ib(this)});z.w(oa,{OF:"iteratorKeys"},function(){return 0>=this.count?Na:new $a(this)});z.w(oa,{PF:"iteratorValues"},function(){if(0>=this.count)return Na;var a=this.ok;return null!==a?(a.reset(),a):new gb(this)});function M(a,b){void 0===a?this.M=this.L=0:"number"===typeof a&&"number"===typeof b?(this.L=a,this.M=b):z.k("Invalid arguments to Point constructor: "+a+", "+b);this.I=!1}
-z.ka("Point",M);z.Ai(M);z.ne(M,{x:!0,y:!0});M.prototype.assign=function(a){this.L=a.L;this.M=a.M};M.prototype.setTo=M.prototype.m=function(a,b){u&&(z.h(a,"number",M,"setTo:x"),z.h(b,"number",M,"setTo:y"));this.L=a;this.M=b;return this};M.prototype.set=M.prototype.set=function(a){u&&z.l(a,M,M,"set:p");this.Sa();this.L=a.L;this.M=a.M;return this};M.prototype.copy=function(){var a=new M;a.L=this.L;a.M=this.M;return a};f=M.prototype;f.Na=function(){this.I=!0;Object.freeze(this);return this};
+z.ka("Point",M);z.Ai(M);z.me(M,{x:!0,y:!0});M.prototype.assign=function(a){this.L=a.L;this.M=a.M};M.prototype.setTo=M.prototype.m=function(a,b){u&&(z.h(a,"number",M,"setTo:x"),z.h(b,"number",M,"setTo:y"));this.L=a;this.M=b;return this};M.prototype.set=M.prototype.set=function(a){u&&z.l(a,M,M,"set:p");this.Sa();this.L=a.L;this.M=a.M;return this};M.prototype.copy=function(){var a=new M;a.L=this.L;a.M=this.M;return a};f=M.prototype;f.Na=function(){this.I=!0;Object.freeze(this);return this};
f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Point is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
M.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));return new M(c,e)}return new M};M.stringify=function(a){return a instanceof M?a.x.toString()+" "+a.y.toString():a.toString()};M.prototype.toString=function(){return"Point("+this.x+","+this.y+")"};M.prototype.equals=M.prototype.O=function(a){return a instanceof M?this.L===a.x&&this.M===a.y:!1};
-M.prototype.equalTo=M.prototype.Ax=function(a,b){return this.L===a&&this.M===b};M.prototype.equalsApprox=M.prototype.Vc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)};M.prototype.add=M.prototype.add=function(a){u&&z.l(a,M,M,"add:p");this.Sa();this.L+=a.x;this.M+=a.y;return this};M.prototype.subtract=M.prototype.so=function(a){u&&z.l(a,M,M,"subtract:p");this.Sa();this.L-=a.x;this.M-=a.y;return this};
+M.prototype.equalTo=M.prototype.Ax=function(a,b){return this.L===a&&this.M===b};M.prototype.equalsApprox=M.prototype.Vc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)};M.prototype.add=M.prototype.add=function(a){u&&z.l(a,M,M,"add:p");this.Sa();this.L+=a.x;this.M+=a.y;return this};M.prototype.subtract=M.prototype.ro=function(a){u&&z.l(a,M,M,"subtract:p");this.Sa();this.L-=a.x;this.M-=a.y;return this};
M.prototype.offset=M.prototype.offset=function(a,b){u&&(z.p(a,M,"offset:dx"),z.p(b,M,"offset:dy"));this.Sa();this.L+=a;this.M+=b;return this};M.prototype.rotate=M.prototype.rotate=function(a){u&&z.p(a,M,"rotate:angle");this.Sa();if(0===a)return this;var b=this.L,c=this.M;if(0===b&&0===c)return this;var d=0,e=0;360<=a?a-=360:0>a&&(a+=360);90===a?(d=0,e=1):180===a?(d=-1,e=0):270===a?(d=0,e=-1):(a=a*Math.PI/180,d=Math.cos(a),e=Math.sin(a));this.L=d*b-e*c;this.M=e*b+d*c;return this};
-M.prototype.scale=M.prototype.scale=function(a,b){u&&(z.p(a,M,"scale:sx"),z.p(b,M,"scale:sy"));this.L*=a;this.M*=b;return this};M.prototype.distanceSquaredPoint=M.prototype.Ef=function(a){u&&z.l(a,M,M,"distanceSquaredPoint:p");var b=a.x-this.L;a=a.y-this.M;return b*b+a*a};M.prototype.distanceSquared=M.prototype.iq=function(a,b){u&&(z.p(a,M,"distanceSquared:px"),z.p(b,M,"distanceSquared:py"));var c=a-this.L,d=b-this.M;return c*c+d*d};
+M.prototype.scale=M.prototype.scale=function(a,b){u&&(z.p(a,M,"scale:sx"),z.p(b,M,"scale:sy"));this.L*=a;this.M*=b;return this};M.prototype.distanceSquaredPoint=M.prototype.Ef=function(a){u&&z.l(a,M,M,"distanceSquaredPoint:p");var b=a.x-this.L;a=a.y-this.M;return b*b+a*a};M.prototype.distanceSquared=M.prototype.hq=function(a,b){u&&(z.p(a,M,"distanceSquared:px"),z.p(b,M,"distanceSquared:py"));var c=a-this.L,d=b-this.M;return c*c+d*d};
M.prototype.normalize=M.prototype.normalize=function(){this.Sa();var a=this.L,b=this.M,c=Math.sqrt(a*a+b*b);0b?270:0;if(0===b)return 0a?c=0>b?c+180:180-c:0>b&&(c=360-c);return c}M.prototype.projectOntoLineSegment=function(a,b,c,d){u&&(z.p(a,M,"projectOntoLineSegment:px"),z.p(b,M,"projectOntoLineSegment:py"),z.p(c,M,"projectOntoLineSegment:qx"),z.p(d,M,"projectOntoLineSegment:qy"));ob(a,b,c,d,this.L,this.M,this);return this};
M.prototype.projectOntoLineSegmentPoint=function(a,b){u&&(z.l(a,M,M,"projectOntoLineSegmentPoint:p"),z.l(b,M,M,"projectOntoLineSegmentPoint:q"));ob(a.x,a.y,b.x,b.y,this.L,this.M,this);return this};M.prototype.snapToGrid=function(a,b,c,d){u&&(z.p(a,M,"snapToGrid:originx"),z.p(b,M,"snapToGrid:originy"),z.p(c,M,"snapToGrid:cellwidth"),z.p(d,M,"snapToGrid:cellheight"));tb(this.L,this.M,a,b,c,d,this);return this};
-M.prototype.snapToGridPoint=function(a,b){u&&(z.l(a,M,M,"snapToGridPoint:p"),z.l(b,Fa,M,"snapToGridPoint:q"));tb(this.L,this.M,a.x,a.y,b.width,b.height,this);return this};M.prototype.setRectSpot=M.prototype.po=function(a,b){u&&(z.l(a,w,M,"setRectSpot:r"),z.l(b,R,M,"setRectSpot:spot"));this.Sa();this.L=a.x+b.x*a.width+b.offsetX;this.M=a.y+b.y*a.height+b.offsetY;return this};
+M.prototype.snapToGridPoint=function(a,b){u&&(z.l(a,M,M,"snapToGridPoint:p"),z.l(b,Fa,M,"snapToGridPoint:q"));tb(this.L,this.M,a.x,a.y,b.width,b.height,this);return this};M.prototype.setRectSpot=M.prototype.oo=function(a,b){u&&(z.l(a,w,M,"setRectSpot:r"),z.l(b,R,M,"setRectSpot:spot"));this.Sa();this.L=a.x+b.x*a.width+b.offsetX;this.M=a.y+b.y*a.height+b.offsetY;return this};
M.prototype.setSpot=M.prototype.Xu=function(a,b,c,d,e){u&&(z.p(a,M,"setSpot:x"),z.p(b,M,"setSpot:y"),z.p(c,M,"setSpot:w"),z.p(d,M,"setSpot:h"),(0>c||0>d)&&z.k("Point.setSpot:Width and height cannot be negative"),z.l(e,R,M,"setSpot:spot"));this.Sa();this.L=a+e.x*c+e.offsetX;this.M=b+e.y*d+e.offsetY;return this};M.prototype.transform=function(a){u&&z.l(a,Ga,M,"transform:t");a.wb(this);return this};function ub(a,b){u&&z.l(b,Ga,M,"transformInverted:t");b.Ci(a);return a}var xb;
M.distanceLineSegmentSquared=xb=function(a,b,c,d,e,g){u&&(z.p(a,M,"distanceLineSegmentSquared:px"),z.p(b,M,"distanceLineSegmentSquared:py"),z.p(c,M,"distanceLineSegmentSquared:ax"),z.p(d,M,"distanceLineSegmentSquared:ay"),z.p(e,M,"distanceLineSegmentSquared:bx"),z.p(g,M,"distanceLineSegmentSquared:by"));var h=e-c,k=g-d,l=h*h+k*k;c-=a;d-=b;var m=-c*h-d*k;if(0>=m||m>=l)return h=e-a,k=g-b,Math.min(c*c+d*d,h*h+k*k);a=h*d-k*c;return a*a/l};var yb;
M.distanceSquared=yb=function(a,b,c,d){u&&(z.p(a,M,"distanceSquared:px"),z.p(b,M,"distanceSquared:py"),z.p(c,M,"distanceSquared:qx"),z.p(d,M,"distanceSquared:qy"));a=c-a;b=d-b;return a*a+b*b};var zb;
M.direction=zb=function(a,b,c,d){u&&(z.p(a,M,"direction:px"),z.p(b,M,"direction:py"),z.p(c,M,"direction:qx"),z.p(d,M,"direction:qy"));a=c-a;b=d-b;if(0===a)return 0b?270:0;if(0===b)return 0a?d=0>b?d+180:180-d:0>b&&(d=360-d);return d};z.defineProperty(M,{x:"x"},function(){return this.L},function(a){this.Sa(a);u&&z.h(a,"number",M,"x");this.L=a});
-z.defineProperty(M,{y:"y"},function(){return this.M},function(a){this.Sa(a);u&&z.h(a,"number",M,"y");this.M=a});M.prototype.isReal=M.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)};function Fa(a,b){void 0===a?this.Ga=this.Ia=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.Ia=a,this.Ga=b):z.k("Invalid arguments to Size constructor: "+a+", "+b);this.I=!1}z.ka("Size",Fa);z.Ai(Fa);z.ne(Fa,{width:!0,height:!0});
+z.defineProperty(M,{y:"y"},function(){return this.M},function(a){this.Sa(a);u&&z.h(a,"number",M,"y");this.M=a});M.prototype.isReal=M.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)};function Fa(a,b){void 0===a?this.Ga=this.Ia=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.Ia=a,this.Ga=b):z.k("Invalid arguments to Size constructor: "+a+", "+b);this.I=!1}z.ka("Size",Fa);z.Ai(Fa);z.me(Fa,{width:!0,height:!0});
Fa.prototype.assign=function(a){this.Ia=a.Ia;this.Ga=a.Ga};Fa.prototype.setTo=Fa.prototype.m=function(a,b){u&&(z.h(a,"number",Fa,"setTo:w"),z.h(b,"number",Fa,"setTo:h"),0>a&&z.wa(a,">= 0",Fa,"setTo:w"),0>b&&z.wa(b,">= 0",Fa,"setTo:h"));this.Ia=a;this.Ga=b;return this};Fa.prototype.set=Fa.prototype.set=function(a){u&&z.l(a,Fa,Fa,"set:s");this.Sa();this.Ia=a.Ia;this.Ga=a.Ga;return this};Fa.prototype.copy=function(){var a=new Fa;a.Ia=this.Ia;a.Ga=this.Ga;return a};f=Fa.prototype;
f.Na=function(){this.I=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Size is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
Fa.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));return new Fa(c,e)}return new Fa};Fa.stringify=function(a){return a instanceof Fa?a.width.toString()+" "+a.height.toString():a.toString()};Fa.prototype.toString=function(){return"Size("+this.width+","+this.height+")"};
Fa.prototype.equals=Fa.prototype.O=function(a){return a instanceof Fa?this.Ia===a.width&&this.Ga===a.height:!1};Fa.prototype.equalTo=Fa.prototype.Ax=function(a,b){return this.Ia===a&&this.Ga===b};Fa.prototype.equalsApprox=Fa.prototype.Vc=function(a){return Q(this.Ia,a.width)&&Q(this.Ga,a.height)};z.defineProperty(Fa,{width:"width"},function(){return this.Ia},function(a){this.Sa(a);u&&z.h(a,"number",Fa,"width");0>a&&z.wa(a,">= 0",Fa,"width");this.Ia=a});
z.defineProperty(Fa,{height:"height"},function(){return this.Ga},function(a){this.Sa(a);u&&z.h(a,"number",Fa,"height");0>a&&z.wa(a,">= 0",Fa,"height");this.Ga=a});Fa.prototype.isReal=Fa.prototype.F=function(){return isFinite(this.width)&&isFinite(this.height)};
function w(a,b,c,d){void 0===a?this.Ga=this.Ia=this.M=this.L=0:a instanceof M?b instanceof M?(this.L=Math.min(a.L,b.L),this.M=Math.min(a.M,b.M),this.Ia=Math.abs(a.L-b.L),this.Ga=Math.abs(a.M-b.M)):b instanceof Fa?(this.L=a.L,this.M=a.M,this.Ia=b.Ia,this.Ga=b.Ga):z.k("Incorrect arguments supplied to Rect constructor"):"number"===typeof a&&"number"===typeof b&&"number"===typeof c&&(0<=c||isNaN(c))&&"number"===typeof d&&(0<=d||isNaN(d))?(this.L=a,this.M=b,this.Ia=c,this.Ga=d):z.k("Invalid arguments to Rect constructor: "+
-a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Rect",w);z.Ai(w);z.ne(w,{x:!0,y:!0,width:!0,height:!0});w.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ga=a.Ga};function Ab(a,b,c){a.Ia=b;a.Ga=c}w.prototype.setTo=w.prototype.m=function(a,b,c,d){u&&(z.h(a,"number",w,"setTo:x"),z.h(b,"number",w,"setTo:y"),z.h(c,"number",w,"setTo:w"),z.h(d,"number",w,"setTo:h"),0>c&&z.wa(c,">= 0",w,"setTo:w"),0>d&&z.wa(d,">= 0",w,"setTo:h"));this.L=a;this.M=b;this.Ia=c;this.Ga=d;return this};
+a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Rect",w);z.Ai(w);z.me(w,{x:!0,y:!0,width:!0,height:!0});w.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ga=a.Ga};function Ab(a,b,c){a.Ia=b;a.Ga=c}w.prototype.setTo=w.prototype.m=function(a,b,c,d){u&&(z.h(a,"number",w,"setTo:x"),z.h(b,"number",w,"setTo:y"),z.h(c,"number",w,"setTo:w"),z.h(d,"number",w,"setTo:h"),0>c&&z.wa(c,">= 0",w,"setTo:w"),0>d&&z.wa(d,">= 0",w,"setTo:h"));this.L=a;this.M=b;this.Ia=c;this.Ga=d;return this};
w.prototype.set=w.prototype.set=function(a){u&&z.l(a,w,w,"set:r");this.Sa();this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ga=a.Ga;return this};w.prototype.setPoint=w.prototype.dh=function(a){u&&z.l(a,M,w,"setPoint:p");this.Sa();this.L=a.L;this.M=a.M;return this};w.prototype.setSize=function(a){u&&z.l(a,Fa,w,"setSize:s");this.Sa();this.Ia=a.Ia;this.Ga=a.Ga;return this};w.prototype.copy=function(){var a=new w;a.L=this.L;a.M=this.M;a.Ia=this.Ia;a.Ga=this.Ga;return a};f=w.prototype;
f.Na=function(){this.I=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Rect is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
w.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));for(var g=0;""===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));for(var h=0;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return new w(c,e,g,h)}return new w};w.stringify=function(a){return a instanceof w?a.x.toString()+" "+a.y.toString()+" "+a.width.toString()+" "+a.height.toString():a.toString()};
@@ -151,7 +151,7 @@ w.prototype.subtractMargin=w.prototype.sK=function(a){u&&z.l(a,Kb,w,"subtractMar
w.prototype.intersectRect=function(a){u&&z.l(a,w,w,"intersectRect:r");return Lb(this,a.x,a.y,a.width,a.height)};w.prototype.intersect=w.prototype.zF=function(a,b,c,d){u&&(z.p(a,w,"intersect:x"),z.p(b,w,"intersect:y"),z.p(c,w,"intersect:w"),z.p(d,w,"intersect:h"),(0>c||0>d)&&z.k("Rect.intersect:Width and height cannot be negative"));return Lb(this,a,b,c,d)};
function Lb(a,b,c,d,e){a.Sa();var g=Math.max(a.L,b),h=Math.max(a.M,c);b=Math.min(a.L+a.Ia,b+d);c=Math.min(a.M+a.Ga,c+e);a.L=g;a.M=h;a.Ia=Math.max(0,b-g);a.Ga=Math.max(0,c-h);return a}w.prototype.intersectsRect=w.prototype.Vg=function(a){u&&z.l(a,w,w,"intersectsRect:r");return this.AF(a.x,a.y,a.width,a.height)};
w.prototype.intersects=w.prototype.AF=function(a,b,c,d){u&&(z.p(a,w,"intersects:x"),z.p(b,w,"intersects:y"),z.p(a,w,"intersects:w"),z.p(b,w,"intersects:h"),(0>c||0>d)&&z.k("Rect.intersects:Width and height cannot be negative"));var e=this.Ia,g=this.L;if(Infinity!==e&&Infinity!==c&&(e+=g,c+=a,isNaN(c)||isNaN(e)||g>c||a>e))return!1;a=this.Ga;c=this.M;return Infinity!==a&&Infinity!==d&&(a+=c,d+=b,isNaN(d)||isNaN(a)||c>d||b>a)?!1:!0};
-function Mb(a,b){var c=a.Ia,d=b.width+10+10,e=a.L,g=b.x-10;if(e>d+g||g>c+e)return!1;c=a.Ga;d=b.height+10+10;e=a.M;g=b.y-10;return e>d+g||g>c+e?!1:!0}w.prototype.unionPoint=w.prototype.Ki=function(a){u&&z.l(a,M,w,"unionPoint:p");return Rb(this,a.x,a.y,0,0)};w.prototype.unionRect=w.prototype.Wh=function(a){u&&z.l(a,w,w,"unionRect:r");return Rb(this,a.L,a.M,a.Ia,a.Ga)};
+function Qb(a,b){var c=a.Ia,d=b.width+10+10,e=a.L,g=b.x-10;if(e>d+g||g>c+e)return!1;c=a.Ga;d=b.height+10+10;e=a.M;g=b.y-10;return e>d+g||g>c+e?!1:!0}w.prototype.unionPoint=w.prototype.Ki=function(a){u&&z.l(a,M,w,"unionPoint:p");return Rb(this,a.x,a.y,0,0)};w.prototype.unionRect=w.prototype.Wh=function(a){u&&z.l(a,w,w,"unionRect:r");return Rb(this,a.L,a.M,a.Ia,a.Ga)};
w.prototype.union=w.prototype.$G=function(a,b,c,d){this.Sa();u?(z.p(a,w,"union:x"),z.p(b,w,"union:y"),void 0===c?c=0:z.p(c,w,"union:w"),void 0===d?d=0:z.p(d,w,"union:h"),(0>c||0>d)&&z.k("Rect.union:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return Rb(this,a,b,c,d)};function Rb(a,b,c,d,e){var g=Math.min(a.L,b),h=Math.min(a.M,c);b=Math.max(a.L+a.Ia,b+d);c=Math.max(a.M+a.Ga,c+e);a.L=g;a.M=h;a.Ia=b-g;a.Ga=c-h;return a}
w.prototype.setSpot=w.prototype.Xu=function(a,b,c){u&&(z.p(a,w,"setSpot:x"),z.p(b,w,"setSpot:y"),z.l(c,R,w,"setSpot:spot"));this.Sa();this.L=a-c.offsetX-c.x*this.Ia;this.M=b-c.offsetY-c.y*this.Ga;return this};var Sb;
w.contains=Sb=function(a,b,c,d,e,g,h,k){u?(z.p(a,w,"contains:rx"),z.p(b,w,"contains:ry"),z.p(c,w,"contains:rw"),z.p(d,w,"contains:rh"),z.p(e,w,"contains:x"),z.p(g,w,"contains:y"),void 0===h?h=0:z.p(h,w,"contains:w"),void 0===k?k=0:z.p(k,w,"contains:h"),(0>c||0>d||0>h||0>k)&&z.k("Rect.contains:Width and height cannot be negative")):(void 0===h&&(h=0),void 0===k&&(k=0));return a<=e&&e+h<=a+c&&b<=g&&g+k<=b+d};
@@ -161,14 +161,14 @@ z.defineProperty(w,{left:"left"},function(){return this.L},function(a){this.Sa(a
z.defineProperty(w,{bottom:"bottom"},function(){return this.M+this.Ga},function(a){this.Sa(a);u&&z.p(a,w,"top");this.M+=a-(this.M+this.Ga)});z.defineProperty(w,{position:"position"},function(){return new M(this.L,this.M)},function(a){this.Sa(a);u&&z.l(a,M,w,"position");this.L=a.x;this.M=a.y});z.defineProperty(w,{size:"size"},function(){return new Fa(this.Ia,this.Ga)},function(a){this.Sa(a);u&&z.l(a,Fa,w,"size");this.Ia=a.width;this.Ga=a.height});
z.defineProperty(w,{$l:"center"},function(){return new M(this.L+this.Ia/2,this.M+this.Ga/2)},function(a){this.Sa(a);u&&z.l(a,M,w,"center");this.L=a.x-this.Ia/2;this.M=a.y-this.Ga/2});z.defineProperty(w,{oa:"centerX"},function(){return this.L+this.Ia/2},function(a){this.Sa(a);u&&z.p(a,w,"centerX");this.L=a-this.Ia/2});z.defineProperty(w,{xa:"centerY"},function(){return this.M+this.Ga/2},function(a){this.Sa(a);u&&z.p(a,w,"centerY");this.M=a-this.Ga/2});
w.prototype.isReal=w.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)};w.prototype.isEmpty=function(){return 0===this.width&&0===this.height};
-function Kb(a,b,c,d){void 0===a?this.th=this.mh=this.Ch=this.Dh=0:void 0===b?this.left=this.bottom=this.right=this.top=a:void 0===c?(d=b,this.top=a,this.right=b,this.bottom=a,this.left=d):void 0!==d?(this.top=a,this.right=b,this.bottom=c,this.left=d):z.k("Invalid arguments to Margin constructor: "+a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Margin",Kb);z.Ai(Kb);z.ne(Kb,{top:!0,right:!0,bottom:!0,left:!0});Kb.prototype.assign=function(a){this.Dh=a.Dh;this.Ch=a.Ch;this.mh=a.mh;this.th=a.th};
+function Kb(a,b,c,d){void 0===a?this.th=this.mh=this.Ch=this.Dh=0:void 0===b?this.left=this.bottom=this.right=this.top=a:void 0===c?(d=b,this.top=a,this.right=b,this.bottom=a,this.left=d):void 0!==d?(this.top=a,this.right=b,this.bottom=c,this.left=d):z.k("Invalid arguments to Margin constructor: "+a+", "+b+", "+c+", "+d);this.I=!1}z.ka("Margin",Kb);z.Ai(Kb);z.me(Kb,{top:!0,right:!0,bottom:!0,left:!0});Kb.prototype.assign=function(a){this.Dh=a.Dh;this.Ch=a.Ch;this.mh=a.mh;this.th=a.th};
Kb.prototype.setTo=Kb.prototype.m=function(a,b,c,d){u&&(z.h(a,"number",Kb,"setTo:t"),z.h(b,"number",Kb,"setTo:r"),z.h(c,"number",Kb,"setTo:b"),z.h(d,"number",Kb,"setTo:l"));this.Sa();this.Dh=a;this.Ch=b;this.mh=c;this.th=d;return this};Kb.prototype.set=Kb.prototype.set=function(a){u&&z.l(a,Kb,Kb,"assign:m");this.Sa();this.Dh=a.Dh;this.Ch=a.Ch;this.mh=a.mh;this.th=a.th;return this};Kb.prototype.copy=function(){var a=new Kb;a.Dh=this.Dh;a.Ch=this.Ch;a.mh=this.mh;a.th=this.th;return a};f=Kb.prototype;
f.Na=function(){this.I=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Margin is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};
Kb.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=NaN;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));if(isNaN(c))return new Kb;for(var e=NaN;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));if(isNaN(e))return new Kb(c);for(var g=NaN;""===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));if(isNaN(g))return new Kb(c,e);for(var h=NaN;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return isNaN(h)?new Kb(c,e):new Kb(c,e,g,h)}return new Kb};
Kb.stringify=function(a){return a instanceof Kb?a.top.toString()+" "+a.right.toString()+" "+a.bottom.toString()+" "+a.left.toString():a.toString()};Kb.prototype.toString=function(){return"Margin("+this.top+","+this.right+","+this.bottom+","+this.left+")"};Kb.prototype.equals=Kb.prototype.O=function(a){return a instanceof Kb?this.Dh===a.top&&this.Ch===a.right&&this.mh===a.bottom&&this.th===a.left:!1};
Kb.prototype.equalTo=Kb.prototype.Ax=function(a,b,c,d){return this.Dh===a&&this.Ch===b&&this.mh===c&&this.th===d};Kb.prototype.equalsApprox=Kb.prototype.Vc=function(a){return Q(this.Dh,a.top)&&Q(this.Ch,a.right)&&Q(this.mh,a.bottom)&&Q(this.th,a.left)};z.defineProperty(Kb,{top:"top"},function(){return this.Dh},function(a){this.Sa(a);u&&z.p(a,Kb,"top");this.Dh=a});z.defineProperty(Kb,{right:"right"},function(){return this.Ch},function(a){this.Sa(a);u&&z.p(a,Kb,"right");this.Ch=a});
z.defineProperty(Kb,{bottom:"bottom"},function(){return this.mh},function(a){this.Sa(a);u&&z.p(a,Kb,"bottom");this.mh=a});z.defineProperty(Kb,{left:"left"},function(){return this.th},function(a){this.Sa(a);u&&z.p(a,Kb,"left");this.th=a});Kb.prototype.isReal=Kb.prototype.F=function(){return isFinite(this.top)&&isFinite(this.right)&&isFinite(this.bottom)&&isFinite(this.left)};function Ga(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0}z.Ai(Ga);
-z.ne(Ga,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});Ga.prototype.set=Ga.prototype.set=function(a){u&&z.l(a,Ga,Ga,"set:t");this.m11=a.m11;this.m12=a.m12;this.m21=a.m21;this.m22=a.m22;this.dx=a.dx;this.dy=a.dy;return this};Ga.prototype.copy=function(){var a=new Ga;a.m11=this.m11;a.m12=this.m12;a.m21=this.m21;a.m22=this.m22;a.dx=this.dx;a.dy=this.dy;return a};Ga.prototype.toString=function(){return"Transform("+this.m11+","+this.m12+","+this.m21+","+this.m22+","+this.dx+","+this.dy+")"};
+z.me(Ga,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});Ga.prototype.set=Ga.prototype.set=function(a){u&&z.l(a,Ga,Ga,"set:t");this.m11=a.m11;this.m12=a.m12;this.m21=a.m21;this.m22=a.m22;this.dx=a.dx;this.dy=a.dy;return this};Ga.prototype.copy=function(){var a=new Ga;a.m11=this.m11;a.m12=this.m12;a.m21=this.m21;a.m22=this.m22;a.dx=this.dx;a.dy=this.dy;return a};Ga.prototype.toString=function(){return"Transform("+this.m11+","+this.m12+","+this.m21+","+this.m22+","+this.dx+","+this.dy+")"};
Ga.prototype.equals=Ga.prototype.O=function(a){return a instanceof Ga?this.m11===a.m11&&this.m12===a.m12&&this.m21===a.m21&&this.m22===a.m22&&this.dx===a.dx&&this.dy===a.dy:!1};Ga.prototype.isIdentity=Ga.prototype.uu=function(){return 1===this.m11&&0===this.m12&&0===this.m21&&1===this.m22&&0===this.dx&&0===this.dy};Ga.prototype.reset=Ga.prototype.reset=function(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0;return this};
Ga.prototype.multiply=Ga.prototype.multiply=function(a){u&&z.l(a,Ga,Ga,"multiply:matrix");var b=this.m12*a.m11+this.m22*a.m12,c=this.m11*a.m21+this.m21*a.m22,d=this.m12*a.m21+this.m22*a.m22,e=this.m11*a.dx+this.m21*a.dy+this.dx,g=this.m12*a.dx+this.m22*a.dy+this.dy;this.m11=this.m11*a.m11+this.m21*a.m12;this.m12=b;this.m21=c;this.m22=d;this.dx=e;this.dy=g;return this};
Ga.prototype.multiplyInverted=Ga.prototype.fB=function(a){u&&z.l(a,Ga,Ga,"multiplyInverted:matrix");var b=1/(a.m11*a.m22-a.m12*a.m21),c=a.m22*b,d=-a.m12*b,e=-a.m21*b,g=a.m11*b,h=b*(a.m21*a.dy-a.m22*a.dx),k=b*(a.m12*a.dx-a.m11*a.dy);a=this.m12*c+this.m22*d;b=this.m11*e+this.m21*g;e=this.m12*e+this.m22*g;g=this.m11*h+this.m21*k+this.dx;h=this.m12*h+this.m22*k+this.dy;this.m11=this.m11*c+this.m21*d;this.m12=a;this.m21=b;this.m22=e;this.dx=g;this.dy=h;return this};
@@ -177,7 +177,7 @@ Ga.prototype.rotate=Ga.prototype.rotate=function(a,b,c){u&&(z.p(a,Ga,"rotate:ang
Ga.prototype.translate=Ga.prototype.translate=function(a,b){u&&(z.p(a,Ga,"translate:x"),z.p(b,Ga,"translate:y"));this.dx+=this.m11*a+this.m21*b;this.dy+=this.m12*a+this.m22*b;return this};Ga.prototype.scale=Ga.prototype.scale=function(a,b){void 0===b&&(b=a);u&&(z.p(a,Ga,"translate:sx"),z.p(b,Ga,"translate:sy"));this.m11*=a;this.m12*=a;this.m21*=b;this.m22*=b;return this};
Ga.prototype.transformPoint=Ga.prototype.wb=function(a){u&&z.l(a,M,Ga,"transformPoint:p");var b=a.L,c=a.M;a.L=b*this.m11+c*this.m21+this.dx;a.M=b*this.m12+c*this.m22+this.dy;return a};Ga.prototype.invertedTransformPoint=Ga.prototype.Ci=function(a){u&&z.l(a,M,Ga,"invertedTransformPoint:p");var b=1/(this.m11*this.m22-this.m12*this.m21),c=-this.m12*b,d=this.m11*b,e=b*(this.m12*this.dx-this.m11*this.dy),g=a.L,h=a.M;a.L=g*this.m22*b+h*-this.m21*b+b*(this.m21*this.dy-this.m22*this.dx);a.M=g*c+h*d+e;return a};
Ga.prototype.transformRect=Ga.prototype.ZG=function(a){u&&z.l(a,w,Ga,"transformRect:rect");var b=a.L,c=a.M,d=b+a.Ia,e=c+a.Ga,g=this.m11,h=this.m12,k=this.m21,l=this.m22,m=this.dx,n=this.dy,p=b*g+c*k+m,q=b*h+c*l+n,r=d*g+c*k+m,c=d*h+c*l+n,s=b*g+e*k+m,b=b*h+e*l+n,g=d*g+e*k+m,d=d*h+e*l+n,e=p,h=q,p=Math.min(p,r),e=Math.max(e,r),h=Math.min(h,c),q=Math.max(q,c),p=Math.min(p,s),e=Math.max(e,s),h=Math.min(h,b),q=Math.max(q,b),p=Math.min(p,g),e=Math.max(e,g),h=Math.min(h,d),q=Math.max(q,d);a.L=p;a.M=h;a.Ia=
-e-p;a.Ga=q-h;return a};function R(a,b,c,d){void 0===a?this.Jg=this.Ig=this.M=this.L=0:(void 0===b&&(b=0),void 0===c&&(c=0),void 0===d&&(d=0),this.x=a,this.y=b,this.offsetX=c,this.offsetY=d);this.I=!1}z.ka("Spot",R);z.Ai(R);z.ne(R,{x:!0,y:!0,offsetX:!0,offsetY:!0});R.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ig=a.Ig;this.Jg=a.Jg};
+e-p;a.Ga=q-h;return a};function R(a,b,c,d){void 0===a?this.Jg=this.Ig=this.M=this.L=0:(void 0===b&&(b=0),void 0===c&&(c=0),void 0===d&&(d=0),this.x=a,this.y=b,this.offsetX=c,this.offsetY=d);this.I=!1}z.ka("Spot",R);z.Ai(R);z.me(R,{x:!0,y:!0,offsetX:!0,offsetY:!0});R.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ig=a.Ig;this.Jg=a.Jg};
R.prototype.setTo=R.prototype.m=function(a,b,c,d){u&&(Vb(a,"setTo:x"),Vb(b,"setTo:y"),Zb(c,"setTo:offx"),Zb(d,"setTo:offy"));this.Sa();this.L=a;this.M=b;this.Ig=c;this.Jg=d;return this};R.prototype.set=R.prototype.set=function(a){u&&z.l(a,R,R,"set:s");this.Sa();this.L=a.L;this.M=a.M;this.Ig=a.Ig;this.Jg=a.Jg;return this};R.prototype.copy=function(){var a=new R;a.L=this.L;a.M=this.M;a.Ig=this.Ig;a.Jg=this.Jg;return a};f=R.prototype;f.Na=function(){this.I=!0;Object.freeze(this);return this};
f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.I=!0;return this};f.Za=function(){Object.isFrozen(this)&&z.k("cannot thaw constant: "+this);this.I=!1;return this};f.Sa=function(a){if(this.I){var b="The Spot is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);z.k(b)}};function $b(a,b){a.L=NaN;a.M=NaN;a.Ig=b;return a}function Vb(a,b){(isNaN(a)||1a)&&z.wa(a,"0 <= "+b+" <= 1",R,b)}
function Zb(a,b){(isNaN(a)||Infinity===a||-Infinity===a)&&z.wa(a,"real number, not NaN or Infinity",R,b)}var fc;
@@ -187,7 +187,7 @@ var d=a[b++];void 0!==d&&0=2*Math.PI?(pd(a,b,c,d,e,e+Math.PI,h),pd(a,b,c,d,e+Math.PI,e+2*Math.PI,h),a.path.push(["M",l,g])):(b+=d*Math.cos(e),c+=d*Math.sin(e),k=180*k/Math.PI,e=h?0:1,h=180<=k===!!h?0:1,0!==a.path.length?a.path.push(["L",b,c]):a.path.push(["M",b,c]),a.path.push(["A",d,d,k,h,e,l,g]))}}function od(a,b,c,d,e,g,h){var k=new dd;k.Yb=[b,c,d,e,g,h];b={};xd(a,"g",b,k);k=a.addElement("g",b);a.Gf.push(k)}
f.hb=function(){if(0!==this.shadowOffsetX||0!==this.shadowOffsetY||0!==this.shadowBlur){var a="SHADOW"+z.Em++,b=this.addElement("filter",{id:a,x:"-100%",y:"-100%",width:"300%",height:"300%"},null),c,d,e,g,h;c=nd(this,"feGaussianBlur",{"in":"SourceAlpha",result:"blur",zM:this.shadowBlur/2});d=nd(this,"feFlood",{"in":"blur",result:"flood","flood-color":this.shadowColor});e=nd(this,"feComposite",{"in":"flood",in2:"blur",operator:"in",result:"comp"});g=nd(this,"feOffset",{"in":"comp",result:"offsetBlur",
-dx:this.shadowOffsetX,dy:this.shadowOffsetY});h=nd(this,"feMerge",{});h.appendChild(nd(this,"feMergeNode",{"in":"offsetBlur"}));h.appendChild(nd(this,"feMergeNode",{"in":"SourceGraphic"}));b.appendChild(c);b.appendChild(d);b.appendChild(e);b.appendChild(g);b.appendChild(h);0b?(this.scale(b/a,1),this.translate((a-b)/2,0)):b>a&&(this.scale(1,a/b),this.translate(0,(b-a)/2));this.Go?this.clip():this.fill();a>b?(this.translate(-(a-b)/2,0),this.scale(1/(b/a),1)):b>a&&(this.translate(0,-(b-a)/2),this.scale(1,1/(a/b)))}else this.Go?this.clip():this.fill()};f.Rj=function(){this.Go||this.stroke()};z.defineProperty(Ad,{Wt:"clipInsteadOfFill"},function(){return this.Go},function(a){this.Go=a});f=Ad.prototype;
-f.FB=function(a,b,c){this.ot=a;this.pt=b;this.Lg=c};f.qo=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};f.ro=function(){this.shadowOffsetX=this.ot;this.shadowOffsetY=this.pt;this.shadowBlur=this.Lg};f.AA=function(a,b){var c=this.Fa;if(void 0!==c.setLineDash)c.setLineDash(a),c.lineDashOffset=b;else if(void 0!==c.webkitLineDash)c.webkitLineDash=a,c.webkitLineDashOffset=b;else if(void 0!==c.mozDash)c.mozDash=a,c.mozDashOffset=b;else return!1;return!0};
+f.Tg=function(a){if(a instanceof Ea&&a.type===Bd){var b=a.Io;a=a.az;a>b?(this.scale(b/a,1),this.translate((a-b)/2,0)):b>a&&(this.scale(1,a/b),this.translate(0,(b-a)/2));this.Fo?this.clip():this.fill();a>b?(this.translate(-(a-b)/2,0),this.scale(1/(b/a),1)):b>a&&(this.translate(0,-(b-a)/2),this.scale(1,1/(a/b)))}else this.Fo?this.clip():this.fill()};f.Rj=function(){this.Fo||this.stroke()};z.defineProperty(Ad,{Wt:"clipInsteadOfFill"},function(){return this.Fo},function(a){this.Fo=a});f=Ad.prototype;
+f.FB=function(a,b,c){this.ot=a;this.pt=b;this.Lg=c};f.po=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};f.qo=function(){this.shadowOffsetX=this.ot;this.shadowOffsetY=this.pt;this.shadowBlur=this.Lg};f.AA=function(a,b){var c=this.Fa;if(void 0!==c.setLineDash)c.setLineDash(a),c.lineDashOffset=b;else if(void 0!==c.webkitLineDash)c.webkitLineDash=a,c.webkitLineDashOffset=b;else if(void 0!==c.mozDash)c.mozDash=a,c.mozDashOffset=b;else return!1;return!0};
f.vA=function(){var a=this.Fa;void 0!==a.setLineDash?(a.setLineDash(z.bl),a.lineDashOffset=0):void 0!==a.webkitLineDash?(a.webkitLineDash=z.bl,a.webkitLineDashOffset=0):void 0!==a.mozDash&&(a.mozDash=null,a.mozDashOffset=0)};function da(a,b){b&&(a.Wy="");a.Xy="";a.Vy=""}
var Cd=(Math.sqrt(2)-1)/3*4,Dd=(new M(0,0)).Na(),Ed=(new w(0,0,0,0)).Na(),Nd=(new Kb(0,0,0,0)).Na(),Od=(new Kb(2,2,2,2)).Na(),Pd=(new M(6,6)).Na(),Qd=(new M(-Infinity,-Infinity)).Na(),Rd=(new M(Infinity,Infinity)).Na(),Sd=(new Fa(0,0)).Na(),Td=(new Fa(1,1)).Na(),Ud=(new Fa(6,6)).Na(),Vd=(new Fa(8,8)).Na(),Wd=(new Fa(10,10)).Na(),ge=(new Fa(Infinity,Infinity)).Na(),he=(new M(NaN,NaN)).Na(),ie=(new Fa(NaN,NaN)).Na(),je=(new w(NaN,NaN,NaN,NaN)).Na(),ke=(new R(.156,.156)).Na(),le=(new R(.844,.844)).Na(),
me=new na,ne=new na,oe=null;function pe(a){if(0>=a)return 0;var b=oe;if(null===b){for(var b=[],c=0;2E3>=c;c++)b[c]=Math.sqrt(c);oe=b}return 1>a?(c=1/a,2E3>=c?1/b[c|0]:Math.sqrt(a)):2E3>=a?b[a|0]:Math.sqrt(a)}function Q(a,b){var c=a-b;return.5>c&&-.5c&&-5E-8=q&&(q=1E-6);if(qe(a,b,h,k,q,c,d)&&qe(a,b,h,k,q,e,g)){var s=(a-h)*(m-p)-(b-k)*(l-n);if(0===s)return!1;q=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/s;s=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/s;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(h=l=0,bh)return!1}else if(ah)return!1;r.x=q;r.y=s;return!0}var s=(a+c)/2,v=(b+d)/2;c=(c+e)/2;d=(d+g)/2;e=(e+h)/2;g=(g+k)/2;var t=(s+c)/2,x=(v+d)/2;c=(c+e)/2;d=(d+g)/2;var y=(t+c)/2,A=(x+d)/2,
-B=(n-l)*(n-l)+(p-m)*(p-m),N=!1;De(a,b,s,v,t,x,y,A,l,m,n,p,q,r)&&(b=(r.x-l)*(r.x-l)+(r.y-m)*(r.y-m),b=q&&(q=1E-6);if(qe(a,b,h,k,q,c,d)&&qe(a,b,h,k,q,e,g)){var s=(a-h)*(m-p)-(b-k)*(l-n);if(0===s)return!1;q=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/s;s=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/s;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(h=l=0,bh)return!1}else if(ah)return!1;r.x=q;r.y=s;return!0}var s=(a+c)/2,v=(b+d)/2;c=(c+e)/2;d=(d+g)/2;e=(e+h)/2;g=(g+k)/2;var t=(s+c)/2,x=(v+d)/2;c=(c+e)/2;d=(d+g)/2;var y=(t+c)/2,B=(x+d)/2,
+A=(n-l)*(n-l)+(p-m)*(p-m),N=!1;De(a,b,s,v,t,x,y,B,l,m,n,p,q,r)&&(b=(r.x-l)*(r.x-l)+(r.y-m)*(r.y-m),b=q&&(q=1E-6);if(qe(a,b,h,k,q,c,d)&&qe(a,b,h,k,q,e,g)){q=(a-h)*(m-p)-(b-k)*(l-n);if(0===q)return r;var s=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/q,v=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/q;if(s>=n)return r;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(a=l=0,ba)return r}else if(aa)return r;0q&&r--}else{var s=(a+c)/2,v=(b+d)/2,t=(c+e)/2,x=(d+g)/2;e=(e+h)/2;g=(g+k)/2;d=(s+t)/2;c=(v+x)/2;var t=(t+e)/2,x=(x+g)/2,
-y=(d+t)/2,A=(c+x)/2,r=r+Ee(a,b,s,v,d,c,y,A,l,m,n,p,q),r=r+Ee(y,A,t,x,e,g,h,k,l,m,n,p,q)}return r}
+y=(d+t)/2,B=(c+x)/2,r=r+Ee(a,b,s,v,d,c,y,B,l,m,n,p,q),r=r+Ee(y,B,t,x,e,g,h,k,l,m,n,p,q)}return r}
function ob(a,b,c,d,e,g,h){if(Db(a,c)){var k=0;c=0;bc)return h.x=a,h.y=c,!1;h.x=a;h.y=d;return!0}if(Db(b,d)){ac)return h.x=c,h.y=b,!1;h.x=d;h.y=b;return!0}k=((a-e)*(a-c)+(b-g)*(b-d))/((c-a)*(c-a)+(d-b)*(d-b));if(-5E-6>k)return h.x=a,h.y=b,!1;if(1.000005c)return l.x=a,l.y=c,!1;l.x=a;l.y=g;return!0}h=(d-b)/(c-a);if(Db(k,h))return ob(a,b,c,d,e,g,l),!1;e=(h*a-k*e+g-b)/(h-k);if(Db(h,0)){ac)return l.x=c,l.y=b,!1;l.x=e;l.y=b;return!0}g=
h*(e-a)+b;return ob(a,b,c,d,e,g,l)}function Ge(a,b,c,d,e,g,h,k,l){var m=1E21,n=a,p=b;if(Fe(a,b,a,d,e,g,h,k,l)){var q=(l.x-e)*(l.x-e)+(l.y-g)*(l.y-g);qm}
@@ -248,22 +248,22 @@ function Qe(a,b,c,d,e,g){c-=a;d-=b;a=e-a;b=g-b;g=a*d-b*c;0===g&&(g=a*c+b*d,0c,g=0>d,h=0,k=h=0;ag;++g){m=.5*(d+e);if(m===d||m===e)break;k=l/(m+b);h=c/(m+a);k=k*k+h*h-1;if(0k)e=m;else break}n=b*n/(m+b)-n;p=a*p/(m+a)-p;a=Math.sqrt(n*n+p*p)}else a=Math.abs(p-m);else p=l*l-m*m,a=l*n,aa?"M"+this.na.toString()+" "+this.la.toString()+"L"+this.G.toString()+" "+this.H.toString():"M"+this.na.toFixed(a)+" "+this.la.toFixed(a)+"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);case jf:var b=new w(this.na,this.la,0,0);b.$G(this.G,this.H,0,0);return 0>a?"M"+b.x.toString()+" "+b.y.toString()+"H"+b.right.toString()+"V"+b.bottom.toString()+"H"+b.left.toString()+"z":"M"+b.x.toFixed(a)+" "+b.y.toFixed(a)+"H"+b.right.toFixed(a)+
"V"+b.bottom.toFixed(a)+"H"+b.left.toFixed(a)+"z";case kf:b=new w(this.na,this.la,0,0);b.$G(this.G,this.H,0,0);if(0>a){var c=b.left.toString()+" "+(b.y+b.height/2).toString(),d=b.right.toString()+" "+(b.y+b.height/2).toString();return"M"+c+"A"+(b.width/2).toString()+" "+(b.height/2).toString()+" 0 0 1 "+d+"A"+(b.width/2).toString()+" "+(b.height/2).toString()+" 0 0 1 "+c}c=b.left.toFixed(a)+" "+(b.y+b.height/2).toFixed(a);d=b.right.toFixed(a)+" "+(b.y+b.height/2).toFixed(a);return"M"+c+"A"+(b.width/
2).toFixed(a)+" "+(b.height/2).toFixed(a)+" 0 0 1 "+d+"A"+(b.width/2).toFixed(a)+" "+(b.height/2).toFixed(a)+" 0 0 1 "+c;case We:for(var b="",c=this.mc.o,d=c.length,e=0;e=v-1?!0:null!==l[m+1].match(/[A-Za-z]/)}function d(){m++;return l[m]}function e(){var a=new M(parseFloat(d()),parseFloat(d()));n===n.toLowerCase()&&(a.x=s.x+a.x,a.y=s.y+a.y);return a}function g(){return s=e()}function h(){return r=e()}function k(){return"c"!==p.toLowerCase()&&"s"!==p.toLowerCase()?s:new M(2*s.x-r.x,2*s.y-r.y)}void 0===b&&(b=!1);"string"!==typeof a&&z.hc(a,"string",Ve,"parse:str");a=a.replace(/,/gm," ");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,
"$1 $2");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,"$1 $2");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([^\s])/gm,"$1 $2");a=a.replace(/([^\s])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,"$1 $2");a=a.replace(/([0-9])([+\-])/gm,"$1 $2");a=a.replace(/(\.[0-9]*)(\.)/gm,"$1 $2");a=a.replace(/([Aa](\s+[0-9]+){3})\s+([01])\s*([01])/gm,"$1 $3 $4 ");a=a.replace(/[\s\r\t\n]+/gm," ");a=a.replace(/^\s+|\s+$/g,"");for(var l=a.split(" "),m=-1,n="",p="",q=new M(0,0),r=new M(0,0),s=new M(0,
-0),v=l.length,t=z.v(),x=!1,y=!1,A=!0;!(m>=v-1);)if(p=n,n=d(),""!==n)switch(n.toUpperCase()){case "X":A=!0;y=x=!1;break;case "M":var B=g();null===t.dc||!0===A?(S(t,B.x,B.y,x,!1,!y),A=!1):t.moveTo(B.x,B.y);for(q=s;!c();)B=g(),t.lineTo(B.x,B.y);break;case "L":for(;!c();)B=g(),t.lineTo(B.x,B.y);break;case "H":for(;!c();)s=B=new M((n===n.toLowerCase()?s.x:0)+parseFloat(d()),s.y),t.lineTo(s.x,s.y);break;case "V":for(;!c();)s=B=new M(s.x,(n===n.toLowerCase()?s.y:0)+parseFloat(d())),t.lineTo(s.x,s.y);break;
-case "C":for(;!c();){var N=e(),G=h(),B=g();U(t,N.x,N.y,G.x,G.y,B.x,B.y)}break;case "S":for(;!c();)N=k(),G=h(),B=g(),U(t,N.x,N.y,G.x,G.y,B.x,B.y);break;case "Q":for(;!c();)G=h(),B=g(),pf(t,G.x,G.y,B.x,B.y);break;case "T":for(;!c();)r=G=k(),B=g(),pf(t,G.x,G.y,B.x,B.y);break;case "B":for(;!c();){var B=parseFloat(d()),N=parseFloat(d()),G=parseFloat(d()),T=parseFloat(d()),fa=parseFloat(d()),W=fa,P=!1;c()||(W=parseFloat(d()),c()||(P=0!==parseFloat(d())));n===n.toLowerCase()&&(G+=s.x,T+=s.y);t.arcTo(B,N,
-G,T,fa,W,P)}break;case "A":for(;!c();)N=Math.abs(parseFloat(d())),G=Math.abs(parseFloat(d())),T=parseFloat(d()),fa=!!parseFloat(d()),W=!!parseFloat(d()),B=g(),qf(t,N,G,T,fa,W,B.x,B.y);break;case "Z":B=t.q.mc.o[t.q.mc.length-1];V(t);s=q;break;case "F":B="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Uu]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;else{B=l[m+N];break}B.match(/[Mm]/)?x=!0:rf(t);break;case "U":B="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Ff]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;
-else{B=l[m+N];break}B.match(/[Mm]/)?y=!0:t.hb(!1)}q=t.q;z.u(t);if(b)for(t=q.mc.j;t.next();)B=t.value,B.tu=!0;return q};function sf(a,b){for(var c=a.length,d=z.P(),e=0;e=v-1);)if(p=n,n=d(),""!==n)switch(n.toUpperCase()){case "X":B=!0;y=x=!1;break;case "M":var A=g();null===t.dc||!0===B?(S(t,A.x,A.y,x,!1,!y),B=!1):t.moveTo(A.x,A.y);for(q=s;!c();)A=g(),t.lineTo(A.x,A.y);break;case "L":for(;!c();)A=g(),t.lineTo(A.x,A.y);break;case "H":for(;!c();)s=A=new M((n===n.toLowerCase()?s.x:0)+parseFloat(d()),s.y),t.lineTo(s.x,s.y);break;case "V":for(;!c();)s=A=new M(s.x,(n===n.toLowerCase()?s.y:0)+parseFloat(d())),t.lineTo(s.x,s.y);break;
+case "C":for(;!c();){var N=e(),G=h(),A=g();U(t,N.x,N.y,G.x,G.y,A.x,A.y)}break;case "S":for(;!c();)N=k(),G=h(),A=g(),U(t,N.x,N.y,G.x,G.y,A.x,A.y);break;case "Q":for(;!c();)G=h(),A=g(),pf(t,G.x,G.y,A.x,A.y);break;case "T":for(;!c();)r=G=k(),A=g(),pf(t,G.x,G.y,A.x,A.y);break;case "B":for(;!c();){var A=parseFloat(d()),N=parseFloat(d()),G=parseFloat(d()),T=parseFloat(d()),fa=parseFloat(d()),W=fa,P=!1;c()||(W=parseFloat(d()),c()||(P=0!==parseFloat(d())));n===n.toLowerCase()&&(G+=s.x,T+=s.y);t.arcTo(A,N,
+G,T,fa,W,P)}break;case "A":for(;!c();)N=Math.abs(parseFloat(d())),G=Math.abs(parseFloat(d())),T=parseFloat(d()),fa=!!parseFloat(d()),W=!!parseFloat(d()),A=g(),qf(t,N,G,T,fa,W,A.x,A.y);break;case "Z":A=t.q.mc.o[t.q.mc.length-1];V(t);s=q;break;case "F":A="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Uu]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;else{A=l[m+N];break}A.match(/[Mm]/)?x=!0:rf(t);break;case "U":A="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Ff]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;
+else{A=l[m+N];break}A.match(/[Mm]/)?y=!0:t.hb(!1)}q=t.q;z.u(t);if(b)for(t=q.mc.j;t.next();)A=t.value,A.tu=!0;return q};function sf(a,b){for(var c=a.length,d=z.P(),e=0;eh&&(h+=360),s.Me+=h);0>a&&(s.Me=180-s.Me,s.Bf=-s.Bf);0>d&&(s.Me=-s.Me,s.Bf=-s.Bf);s.radiusX*=Math.sqrt(a*a+c*c);void 0!==s.radiusY&&(s.radiusY*=Math.sqrt(b*b+d*d));break;case Qf:h=s.G;k=s.H;s.G=h*
a+k*c+e;s.H=h*b+k*d+g;0!==b&&(h=180*Math.atan2(b,a)/Math.PI,0>h&&(h+=360),s.Vj+=h);0>a&&(s.Vj=180-s.Vj,s.qm=!s.qm);0>d&&(s.Vj=-s.Vj,s.qm=!s.qm);s.radiusX*=Math.sqrt(a*a+c*c);s.radiusY*=Math.sqrt(b*b+d*d);break;default:z.k("Unknown Segment type: "+s.type)}}}}this.jb=!0;return this};
-Ve.prototype.Oa=function(a,b,c,d){var e=a.x,g=a.y,h=this.sb.x-20;a=a.y;for(var k=0,l=0,m=0,n=0,p=0,q=0,r=this.mc.o,s=r.length,v=0;v=a)return 0;if((e>h?e-h:h-e)<(g>k?g-k:k-g)){if(e=a=0,ge)return 0}else if(ee)return 0;return 0a?a=0:1=g)return d=(g-h)/p,c=c[k],k=c[2*n],e=c[2*n+1],b.m(k+(c[2*n+2]-k)*d,e+(c[2*n+3]-e)*d),b;h+=p}b.m(NaN,NaN);return b};
Ve.prototype.getFractionForPoint=Ve.prototype.II=function(a){if(this.type===hf){var b=this.na,c=this.la,d=this.G,e=this.H;if(b!==d||c!==e){var g=a.x;a=a.y;var h=0,k=0;return b===d?(c=k?k===c?0:1:Math.abs(a-c)/(k-h)):c===e?(b=k?k===b?0:1:Math.abs(g-b)/(k-h)):((g-b)*(g-b)+(a-c)*(a-c))/((d-b)*(d-b)+(e-c)*(e-c))}}else if(this.type===jf){if(b=this.na,c=this.la,d=this.G,e=this.H,b!==d||c!==e){var h=d-b,k=e-c,l=2*h+2*k,g=a.x;
a=a.y;g=Math.min(Math.max(g,b),d);a=Math.min(Math.max(a,c),e);var b=Math.abs(g-b),d=Math.abs(g-d),c=Math.abs(a-c),e=Math.abs(a-e),m=Math.min(b,d,c,e);if(m===c)return g/l;if(m===d)return(h+a)/l;if(m===e)return(2*h+k-g)/l;if(m===b)return(2*h+2*k-a)/l}}else{for(var e=this.DA,h=this.Gx,k=this.EA,l=z.P(),c=Infinity,b=d=0,g=e.length,n=m=0,p=0;pa?0:1a?0:1a?"M"+this.na.toString()+" "+this.la.toString():"M"+this.na.toFixed(a)+" "+this.la.toFixed(a),c=this.Db.o,d=c.length,e=0;ea&&(a+=360),this.Rd=a,this.df=0,u&&z.p(d,Wf,"x1"),this.Bh=Math.max(d,0),u&&z.p(e,Wf,"y1"),this.Kg=Math.max(e,0),this.pp="boolean"===typeof h?!!h:!1,this.Ho=!!k):(u&&z.p(d,Wf,"x1"),this.Rd=d,u&&z.p(e,
-Wf,"y1"),this.df=e,u&&z.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Bh=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Kg=h):this.Kg=0,this.Ho=this.pp=!1);this.ei=!1;this.jb=!0;this.tg=null}z.ka("PathSegment",Wf);z.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.da=this.da;a.Bb=this.Bb;a.Ib=this.Ib;a.Rd=this.Rd;a.df=this.df;a.Bh=this.Bh;a.Kg=this.Kg;a.pp=this.pp;a.Ho=this.Ho;a.ei=this.ei;a.jb=this.jb;return a};
+function Wf(a,b,c,d,e,g,h,k){z.wc(this);this.I=!1;void 0===a?a=mf:u&&z.Ca(a,Wf,Wf,"constructor:type");this.da=a;void 0!==b?(u&&z.p(b,Wf,"ex"),this.Bb=b):this.Bb=0;void 0!==c?(u&&z.p(c,Wf,"ey"),this.Ib=c):this.Ib=0;void 0===d&&(d=0);void 0===e&&(e=0);void 0===g&&(g=0);void 0===h&&(h=0);a===Qf?(a=g%360,0>a&&(a+=360),this.Rd=a,this.df=0,u&&z.p(d,Wf,"x1"),this.Bh=Math.max(d,0),u&&z.p(e,Wf,"y1"),this.Kg=Math.max(e,0),this.op="boolean"===typeof h?!!h:!1,this.Go=!!k):(u&&z.p(d,Wf,"x1"),this.Rd=d,u&&z.p(e,
+Wf,"y1"),this.df=e,u&&z.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Bh=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Kg=h):this.Kg=0,this.Go=this.op=!1);this.ei=!1;this.jb=!0;this.tg=null}z.ka("PathSegment",Wf);z.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.da=this.da;a.Bb=this.Bb;a.Ib=this.Ib;a.Rd=this.Rd;a.df=this.df;a.Bh=this.Bh;a.Kg=this.Kg;a.op=this.op;a.Go=this.Go;a.ei=this.ei;a.jb=this.jb;return a};
Wf.prototype.equalsApprox=Wf.prototype.Vc=function(a){if(!(a instanceof Wf)||this.type!==a.type||this.Nx!==a.Nx)return!1;switch(this.type){case Mf:case mf:return Q(this.G,a.G)&&Q(this.H,a.H);case Nf:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Dc,a.Dc)&&Q(this.Zc,a.Zc)&&Q(this.Rh,a.Rh)&&Q(this.Sh,a.Sh);case Of:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Dc,a.Dc)&&Q(this.Zc,a.Zc);case Pf:return Q(this.Me,a.Me)&&Q(this.Bf,a.Bf)&&Q(this.oa,a.oa)&&Q(this.xa,a.xa)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,
-a.radiusY);case Qf:return this.qm===a.qm&&this.Sx===a.Sx&&Q(this.Vj,a.Vj)&&Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,a.radiusY);default:return!1}};Wf.prototype.qc=function(a){a.Pe===Wf?this.type=a:z.Tj(this,a)};
+a.radiusY);case Qf:return this.qm===a.qm&&this.Sx===a.Sx&&Q(this.Vj,a.Vj)&&Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,a.radiusY);default:return!1}};Wf.prototype.pc=function(a){a.Pe===Wf?this.type=a:z.Tj(this,a)};
Wf.prototype.toString=function(a){void 0===a&&(a=-1);var b="";switch(this.type){case Mf:b=0>a?"M"+this.G.toString()+" "+this.H.toString():"M"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case mf:b=0>a?"L"+this.G.toString()+" "+this.H.toString():"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Nf:b=0>a?"C"+this.Dc.toString()+" "+this.Zc.toString()+" "+this.Rh.toString()+" "+this.Sh.toString()+" "+this.G.toString()+" "+this.H.toString():"C"+this.Dc.toFixed(a)+" "+this.Zc.toFixed(a)+" "+this.Rh.toFixed(a)+
" "+this.Sh.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Of:b=0>a?"Q"+this.Dc.toString()+" "+this.Zc.toString()+" "+this.G.toString()+" "+this.H.toString():"Q"+this.Dc.toFixed(a)+" "+this.Zc.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Pf:b=0>a?"B"+this.Me.toString()+" "+this.Bf.toString()+" "+this.oa.toString()+" "+this.xa.toString()+" "+this.radiusX:"B"+this.Me.toFixed(a)+" "+this.Bf.toFixed(a)+" "+this.oa.toFixed(a)+" "+this.xa.toFixed(a)+" "+this.radiusX;
break;case Qf:b=0>a?"A"+this.radiusX.toString()+" "+this.radiusY.toString()+" "+this.Vj.toString()+" "+(this.Sx?1:0)+" "+(this.qm?1:0)+" "+this.G.toString()+" "+this.H.toString():"A"+this.radiusX.toFixed(a)+" "+this.radiusY.toFixed(a)+" "+this.Vj.toFixed(a)+" "+(this.Sx?1:0)+" "+(this.qm?1:0)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;default:b=this.type.toString()}return b+(this.ei?"z":"")};var Mf;Wf.Move=Mf=z.s(Wf,"Move",0);var mf;Wf.Line=mf=z.s(Wf,"Line",1);var Nf;
Wf.Bezier=Nf=z.s(Wf,"Bezier",2);var Of;Wf.QuadraticBezier=Of=z.s(Wf,"QuadraticBezier",3);var Pf;Wf.Arc=Pf=z.s(Wf,"Arc",4);var Qf;Wf.SvgArc=Qf=z.s(Wf,"SvgArc",4);Wf.prototype.freeze=function(){this.I=!0;return this};Wf.prototype.Za=function(){this.I=!1;return this};Wf.prototype.close=Wf.prototype.close=function(){this.ei=!0;return this};
function Rf(a,b){if(null!==a.tg&&!1===b.jb)return a.tg;var c=a.radiusX,d=a.radiusY;void 0===d&&(d=c);if(0===c||0===d)return a.tg=[],a.tg;var e=a.Rd,g=a.df,h=Se(c=r?h=Math.PI:1<=r&&(h=0);!l&&0h&&(h+=2*Math.PI);l=b>g?1:b/g;r=b>g?g/b:1;b=Se(b>g?b:g,n,n+h,!0);g=z.Pf();g.reset();g.translate(c,d);g.rotate(a.Rd,0,0);g.scale(l,r);sf(b,g);z.Ie(g);a.tg=b;return a.tg}
z.defineProperty(Wf,{Nx:"isClosed"},function(){return this.ei},function(a){this.ei!==a&&(this.ei=a,this.jb=!0)});z.defineProperty(Wf,{type:"type"},function(){return this.da},function(a){u&&z.Ca(a,Wf,Wf,"type");this.I&&z.pa(this,a);this.da=a;this.jb=!0});z.defineProperty(Wf,{G:"endX"},function(){return this.Bb},function(a){u&&z.p(a,Wf,"endX");this.I&&z.pa(this,a);this.Bb=a;this.jb=!0});
z.defineProperty(Wf,{H:"endY"},function(){return this.Ib},function(a){u&&z.p(a,Wf,"endY");this.I&&z.pa(this,a);this.Ib=a;this.jb=!0});z.defineProperty(Wf,{Dc:"point1X"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"point1X");this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});z.defineProperty(Wf,{Zc:"point1Y"},function(){return this.df},function(a){u&&z.p(a,Wf,"point1Y");this.I&&z.pa(this,a);this.df=a;this.jb=!0});
z.defineProperty(Wf,{Rh:"point2X"},function(){return this.Bh},function(a){u&&z.p(a,Wf,"point2X");this.I&&z.pa(this,a);this.Bh=a;this.jb=!0});z.defineProperty(Wf,{Sh:"point2Y"},function(){return this.Kg},function(a){u&&z.p(a,Wf,"point2Y");this.I&&z.pa(this,a);this.Kg=a;this.jb=!0});z.defineProperty(Wf,{oa:"centerX"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"centerX");this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});
z.defineProperty(Wf,{xa:"centerY"},function(){return this.df},function(a){u&&z.p(a,Wf,"centerY");this.I&&z.pa(this,a);this.df=a;this.jb=!0});z.defineProperty(Wf,{radiusX:"radiusX"},function(){return this.Bh},function(a){u&&z.p(a,Wf,"radiusX");0>a&&z.wa(a,">= zero",Wf,"radiusX");this.I&&z.pa(this,a);this.Bh=a;this.jb=!0});z.defineProperty(Wf,{radiusY:"radiusY"},function(){return this.Kg},function(a){u&&z.p(a,Wf,"radiusY");0>a&&z.wa(a,">= zero",Wf,"radiusY");this.I&&z.pa(this,a);this.Kg=a;this.jb=!0});
-z.defineProperty(Wf,{Me:"startAngle"},function(){return this.Bb},function(a){this.Bb!==a&&(this.I&&z.pa(this,a),u&&z.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Bb=a,this.jb=!0)});z.defineProperty(Wf,{Bf:"sweepAngle"},function(){return this.Ib},function(a){u&&z.p(a,Wf,"sweepAngle");this.I&&z.pa(this,a);360a&&(a=-360);this.Ib=a;this.jb=!0});z.defineProperty(Wf,{qm:"isClockwiseArc"},function(){return this.Ho},function(a){this.I&&z.pa(this,a);this.Ho=a;this.jb=!0});
-z.defineProperty(Wf,{Sx:"isLargeArc"},function(){return this.pp},function(a){this.I&&z.pa(this,a);this.pp=a;this.jb=!0});z.defineProperty(Wf,{Vj:"xAxisRotation"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});
+z.defineProperty(Wf,{Me:"startAngle"},function(){return this.Bb},function(a){this.Bb!==a&&(this.I&&z.pa(this,a),u&&z.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Bb=a,this.jb=!0)});z.defineProperty(Wf,{Bf:"sweepAngle"},function(){return this.Ib},function(a){u&&z.p(a,Wf,"sweepAngle");this.I&&z.pa(this,a);360a&&(a=-360);this.Ib=a;this.jb=!0});z.defineProperty(Wf,{qm:"isClockwiseArc"},function(){return this.Go},function(a){this.I&&z.pa(this,a);this.Go=a;this.jb=!0});
+z.defineProperty(Wf,{Sx:"isLargeArc"},function(){return this.op},function(a){this.I&&z.pa(this,a);this.op=a;this.jb=!0});z.defineProperty(Wf,{Vj:"xAxisRotation"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});
function Yf(){this.ca=null;this.cA=(new M(0,0)).freeze();this.jz=(new M(0,0)).freeze();this.vv=this.pw=0;this.wv=1;this.ew="";this.Xw=this.Lv=!1;this.Iv=this.xv=0;this.Xj=this.Sv=this.bw=!1;this.Qr=null;this.Vw=0;this.Ng=this.Uw=null}z.ka("InputEvent",Yf);
-Yf.prototype.copy=function(){var a=new Yf;a.ca=this.ca;a.cA.assign(this.te);a.jz.assign(this.ha);a.pw=this.pw;a.vv=this.vv;a.wv=this.wv;a.ew=this.ew;a.Lv=this.Lv;a.Xw=this.Xw;a.xv=this.xv;a.Iv=this.Iv;a.bw=this.bw;a.Sv=this.Sv;a.Xj=this.Xj;a.Qr=this.Qr;a.Vw=this.Vw;a.Uw=this.Uw;a.Ng=this.Ng;return a};
-Yf.prototype.toString=function(){var a="^";0!==this.Ld&&(a+="M:"+this.Ld);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Qe&&(a+="C:"+this.Qe);0!==this.fm&&(a+="D:"+this.fm);this.Nc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};z.defineProperty(Yf,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});z.defineProperty(Yf,{te:"viewPoint"},function(){return this.cA},function(a){z.l(a,M,Yf,"viewPoint");this.cA.assign(a)});
+Yf.prototype.copy=function(){var a=new Yf;a.ca=this.ca;a.cA.assign(this.se);a.jz.assign(this.ha);a.pw=this.pw;a.vv=this.vv;a.wv=this.wv;a.ew=this.ew;a.Lv=this.Lv;a.Xw=this.Xw;a.xv=this.xv;a.Iv=this.Iv;a.bw=this.bw;a.Sv=this.Sv;a.Xj=this.Xj;a.Qr=this.Qr;a.Vw=this.Vw;a.Uw=this.Uw;a.Ng=this.Ng;return a};
+Yf.prototype.toString=function(){var a="^";0!==this.Ld&&(a+="M:"+this.Ld);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Qe&&(a+="C:"+this.Qe);0!==this.fm&&(a+="D:"+this.fm);this.Nc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};z.defineProperty(Yf,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});z.defineProperty(Yf,{se:"viewPoint"},function(){return this.cA},function(a){z.l(a,M,Yf,"viewPoint");this.cA.assign(a)});
z.defineProperty(Yf,{ha:"documentPoint"},function(){return this.jz},function(a){z.l(a,M,Yf,"documentPoint");this.jz.assign(a)});Yf.prototype.getMultiTouchViewPoint=Yf.prototype.Ix=function(a,b){var c=this.g;if(null===c)return b;Zf(c,this.event,a,b);return b};Yf.prototype.getMultiTouchDocumentPoint=function(a,b){var c=this.g;if(null===c)return b;Zf(c,this.event,a,b);b.assign(c.NB(b));return b};z.defineProperty(Yf,{Ld:"modifiers"},function(){return this.pw},function(a){this.pw=a});
z.defineProperty(Yf,{button:"button"},function(){return this.vv},function(a){this.vv=a;if(null===this.event)switch(a){case 0:this.buttons=1;break;case 1:this.buttons=4;break;case 2:this.buttons=2}});z.defineProperty(Yf,{buttons:"buttons"},function(){return this.wv},function(a){this.wv=a});z.defineProperty(Yf,{key:"key"},function(){return this.ew},function(a){this.ew=a});z.defineProperty(Yf,{gm:"down"},function(){return this.Lv},function(a){this.Lv=a});
z.defineProperty(Yf,{up:"up"},function(){return this.Xw},function(a){this.Xw=a});z.defineProperty(Yf,{Qe:"clickCount"},function(){return this.xv},function(a){this.xv=a});z.defineProperty(Yf,{fm:"delta"},function(){return this.Iv},function(a){this.Iv=a});z.defineProperty(Yf,{vu:"isMultiTouch"},function(){return this.bw},function(a){this.bw=a});z.defineProperty(Yf,{Nc:"handled"},function(){return this.Sv},function(a){this.Sv=a});
@@ -323,31 +323,31 @@ z.defineProperty(Yf,{eh:"targetDiagram"},function(){return this.Uw},function(a){
z.defineProperty(Yf,{alt:"alt"},function(){return 0!==(this.Ld&2)},function(a){this.Ld=a?this.Ld|2:this.Ld&-3});z.defineProperty(Yf,{Du:"meta"},function(){return 0!==(this.Ld&8)},function(a){this.Ld=a?this.Ld|8:this.Ld&-9});z.defineProperty(Yf,{left:"left"},function(){var a=this.event;return null!==a&&a instanceof MouseEvent&&("mousedown"===a.type||"mouseup"===a.type)?0===this.button:0!==(this.buttons&1)},function(a){this.buttons=a?this.buttons|1:this.buttons&-2});
z.defineProperty(Yf,{right:"right"},function(){var a=this.event;return null!==a&&a instanceof MouseEvent&&("mousedown"===a.type||"mouseup"===a.type)?2===this.button:0!==(this.buttons&2)},function(a){this.buttons=a?this.buttons|2:this.buttons&-3});z.defineProperty(Yf,{aM:"middle"},function(){var a=this.event;return null!==a&&a instanceof MouseEvent&&("mousedown"===a.type||"mouseup"===a.type)?1===this.button:0!==(this.buttons&4)},function(a){this.buttons=a?this.buttons|4:this.buttons&-5});
function $f(){this.ca=null;this.Xb="";this.yw=this.Sw=null;this.mr=!1}z.ka("DiagramEvent",$f);$f.prototype.copy=function(){var a=new $f;a.ca=this.ca;a.Xb=this.Xb;a.Sw=this.Sw;a.yw=this.yw;a.mr=this.mr;return a};$f.prototype.toString=function(){var a="*"+this.name;null!==this.HB&&(a+=":"+this.HB.toString());null!==this.lB&&(a+="("+this.lB.toString()+")");return a};z.defineProperty($f,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});
-z.defineProperty($f,{name:"name"},function(){return this.Xb},function(a){this.Xb=a});z.defineProperty($f,{HB:"subject"},function(){return this.Sw},function(a){this.Sw=a});z.defineProperty($f,{lB:"parameter"},function(){return this.yw},function(a){this.yw=a});z.defineProperty($f,{cancel:"cancel"},function(){return this.mr},function(a){this.mr!==a&&z.Nn("DiagramEvent.cancel","2.0");this.mr=a});function ag(){this.nr=bg;this.jn=this.ow="";this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.ye=null}
-z.ka("ChangedEvent",ag);var rg;ag.Transaction=rg=z.s(ag,"Transaction",-1);var bg;ag.Property=bg=z.s(ag,"Property",0);var sg;ag.Insert=sg=z.s(ag,"Insert",1);var tg;ag.Remove=tg=z.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.ye=null};
-ag.prototype.copy=function(){var a=new ag;a.nr=this.nr;a.ow=this.ow;a.jn=this.jn;a.ye=this.ye;a.ca=this.ca;a.Ns=this.Ns;var b=this.Ps;a.Ps=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Os;a.Os=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ks;a.Ks=z.Xa(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.qc=function(a){a.Pe===ag?this.Kc=a:z.Tj(this,a)};
+z.defineProperty($f,{name:"name"},function(){return this.Xb},function(a){this.Xb=a});z.defineProperty($f,{HB:"subject"},function(){return this.Sw},function(a){this.Sw=a});z.defineProperty($f,{lB:"parameter"},function(){return this.yw},function(a){this.yw=a});z.defineProperty($f,{cancel:"cancel"},function(){return this.mr},function(a){this.mr!==a&&z.Nn("DiagramEvent.cancel","2.0");this.mr=a});function ag(){this.nr=bg;this.jn=this.ow="";this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.xe=null}
+z.ka("ChangedEvent",ag);var rg;ag.Transaction=rg=z.s(ag,"Transaction",-1);var bg;ag.Property=bg=z.s(ag,"Property",0);var sg;ag.Insert=sg=z.s(ag,"Insert",1);var tg;ag.Remove=tg=z.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.xe=null};
+ag.prototype.copy=function(){var a=new ag;a.nr=this.nr;a.ow=this.ow;a.jn=this.jn;a.xe=this.xe;a.ca=this.ca;a.Ns=this.Ns;var b=this.Ps;a.Ps=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Os;a.Os=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ks;a.Ks=z.Xa(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.pc=function(a){a.Pe===ag?this.Kc=a:z.Tj(this,a)};
ag.prototype.toString=function(){var a="",a=this.Kc===rg?a+"* ":this.Kc===bg?a+(null!==this.ia?"!m":"!d"):a+((null!==this.ia?"!m":"!d")+this.Kc);this.propertyName&&"string"===typeof this.propertyName&&(a+=" "+this.propertyName);this.Af&&this.Af!==this.propertyName&&(a+=" "+this.Af);a+=": ";this.Kc===rg?null!==this.oldValue&&(a+=" "+this.oldValue):(null!==this.object&&(a+=ka(this.object)),null!==this.oldValue&&(a+=" old: "+ka(this.oldValue)),null!==this.Oj&&(a+=" "+this.Oj),null!==this.newValue&&
(a+=" new: "+ka(this.newValue)),null!==this.Mj&&(a+=" "+this.Mj));return a};ag.prototype.getValue=ag.prototype.qa=function(a){return a?this.oldValue:this.newValue};ag.prototype.getParam=function(a){return a?this.Oj:this.Mj};ag.prototype.canUndo=ag.prototype.canUndo=function(){return null!==this.ia||null!==this.g?!0:!1};ag.prototype.undo=ag.prototype.undo=function(){this.canUndo()&&(null!==this.ia?this.ia.En(this,!0):null!==this.g&&this.g.En(this,!0))};
-ag.prototype.canRedo=ag.prototype.canRedo=function(){return null!==this.ia||null!==this.g?!0:!1};ag.prototype.redo=ag.prototype.redo=function(){this.canRedo()&&(null!==this.ia?this.ia.En(this,!1):null!==this.g&&this.g.En(this,!1))};z.defineProperty(ag,{ia:"model"},function(){return this.ye},function(a){this.ye=a});z.defineProperty(ag,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});
+ag.prototype.canRedo=ag.prototype.canRedo=function(){return null!==this.ia||null!==this.g?!0:!1};ag.prototype.redo=ag.prototype.redo=function(){this.canRedo()&&(null!==this.ia?this.ia.En(this,!1):null!==this.g&&this.g.En(this,!1))};z.defineProperty(ag,{ia:"model"},function(){return this.xe},function(a){this.xe=a});z.defineProperty(ag,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});
z.defineProperty(ag,{Kc:"change"},function(){return this.nr},function(a){u&&z.Ca(a,ag,ag,"change");this.nr=a});z.defineProperty(ag,{Af:"modelChange"},function(){return this.ow},function(a){u&&z.h(a,"string",ag,"modelChange");this.ow=a});z.defineProperty(ag,{propertyName:"propertyName"},function(){return this.jn},function(a){u&&"string"!==typeof a&&z.h(a,"function",ag,"propertyName");this.jn=a});
z.w(ag,{NF:"isTransactionFinished"},function(){return this.nr===rg&&("CommittedTransaction"===this.jn||"FinishedUndo"===this.jn||"FinishedRedo"===this.jn)});z.defineProperty(ag,{object:"object"},function(){return this.Ns},function(a){this.Ns=a});z.defineProperty(ag,{oldValue:"oldValue"},function(){return this.Ps},function(a){this.Ps=a});z.defineProperty(ag,{Oj:"oldParam"},function(){return this.Os},function(a){this.Os=a});
z.defineProperty(ag,{newValue:"newValue"},function(){return this.Ls},function(a){this.Ls=a});z.defineProperty(ag,{Mj:"newParam"},function(){return this.Ks},function(a){this.Ks=a});
-function L(a){1d)return;z.Rg(a.ze,d)}dh(a,"nodeDataArray",tg,"nodeDataArray",a,b,null,d,null);a.dv(b)}
+L.prototype.makeNodeDataKeyUnique=L.prototype.ZA=function(a){if(null!==a){var b=this.uk;if(""!==b){var c=this.Cb(a);if(void 0===c||this.Gc.contains(c)){var d=this.sp;if(null!==d&&(c=d(this,a),void 0!==c&&null!==c&&!this.Gc.contains(c))){z.Ua(a,b,c);return}if("string"===typeof c){for(d=2;this.Gc.contains(c+d);)d++;z.Ua(a,b,c+d)}else if(void 0===c||"number"===typeof c){for(d=-this.Gc.count-1;this.Gc.contains(d);)d--;z.Ua(a,b,d)}else z.k("Model.getKeyForNodeData returned something other than a string or a number: "+
+c)}}}};L.prototype.addNodeData=L.prototype.Tl=function(a){null!==a&&(z.oq(a),this.ke(a)||gh(this,a,!0))};function gh(a,b,c){var d=a.Cb(b);if(void 0===d||a.Gc.qa(d)!==b)a.ZA(b),d=a.Cb(b),void 0===d?z.k("Model.makeNodeDataKeyUnique failed on "+b+". Data not added to Model."):(a.Gc.add(d,b),d=null,c&&(d=z.bb(a.ye),z.Hh(a.ye,d,b)),dh(a,"nodeDataArray",sg,"nodeDataArray",a,null,b,null,d),a.Kq(b),a.Jq(b))}
+L.prototype.addNodeDataCollection=function(a){if(z.isArray(a))for(var b=z.bb(a),c=0;cd)return;z.Rg(a.ye,d)}dh(a,"nodeDataArray",tg,"nodeDataArray",a,b,null,d,null);a.dv(b)}
L.prototype.removeNodeDataCollection=function(a){if(z.isArray(a))for(var b=z.bb(a),c=0;cb&&(b=z.bb(a));z.Hh(a,b,c);dh(this,"",sg,"",a,null,c,null,b)};
-L.prototype.removeArrayItem=L.prototype.hG=function(a,b){void 0===b&&(b=-1);u&&(z.Tt(a,L,"removeArrayItem:arr"),z.p(b,L,"removeArrayItem:idx"));a===this.ze&&z.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=z.bb(a)-1);var c=z.Ma(a,b);z.Rg(a,b);dh(this,"",tg,"",a,c,null,b,null)};z.defineProperty(L,{jo:"nodeCategoryProperty"},function(){return this.dn},function(a){var b=this.dn;b!==a&&(eh(a,L,"nodeCategoryProperty"),this.dn=a,this.i("nodeCategoryProperty",b,a))});
+L.prototype.setDataProperty=function(a,b,c){u&&(z.h(a,"object",L,"setDataProperty:data"),z.h(b,"string",L,"setDataProperty:propname"),""===b&&z.k("Model.setDataProperty: property name must not be an empty string when setting "+a+" to "+c));if(this.ke(a))if(b===this.Nj)this.yy(a,c);else{if(b===this.jo){this.xy(a,c);return}}else!oh&&a instanceof O&&(oh=!0,z.trace('Model.setDataProperty is modifying a GraphObject, "'+a.toString()+'"'),z.trace(" Is that really your intent?"));var d=z.vb(a,b);d!==c&&
+(z.Ua(a,b,c),this.mB(a,b,d,c))};L.prototype.addArrayItem=function(a,b){this.PA(a,-1,b)};L.prototype.insertArrayItem=L.prototype.PA=function(a,b,c){u&&(z.Tt(a,L,"insertArrayItem:arr"),z.p(b,L,"insertArrayItem:idx"));a===this.ye&&z.k("Model.insertArrayItem or Model.addArrayItem should not be called on the Model.nodeDataArray");0>b&&(b=z.bb(a));z.Hh(a,b,c);dh(this,"",sg,"",a,null,c,null,b)};
+L.prototype.removeArrayItem=L.prototype.hG=function(a,b){void 0===b&&(b=-1);u&&(z.Tt(a,L,"removeArrayItem:arr"),z.p(b,L,"removeArrayItem:idx"));a===this.ye&&z.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=z.bb(a)-1);var c=z.Ma(a,b);z.Rg(a,b);dh(this,"",tg,"",a,c,null,b,null)};z.defineProperty(L,{jo:"nodeCategoryProperty"},function(){return this.dn},function(a){var b=this.dn;b!==a&&(eh(a,L,"nodeCategoryProperty"),this.dn=a,this.i("nodeCategoryProperty",b,a))});
L.prototype.getCategoryForNodeData=L.prototype.IA=function(a){if(null===a)return"";var b=this.dn;if(""===b)return"";b=z.vb(a,b);if(void 0===b)return"";if("string"===typeof b)return b;z.k("getCategoryForNodeData found a non-string category for "+a+": "+b);return""};
-L.prototype.setCategoryForNodeData=L.prototype.xy=function(a,b){z.h(b,"string",L,"setCategoryForNodeData:cat");if(null!==a){var c=this.dn;if(""!==c)if(this.le(a)){var d=z.vb(a,c);void 0===d&&(d="");d!==b&&(z.Ua(a,c,b),dh(this,"nodeCategory",bg,c,a,d,b))}else z.Ua(a,c,b)}};
-function X(a,b){2z.Yl(d,a.newValue)&&z.Hh(d,c,a.newValue));return}}else if(a.Kc===
tg){c=a.Oj;if("linkDataArray"===a.Af){d=a.oldValue;z.Xa(d)&&"number"===typeof c&&(e=this.eg(d),b?(this.hi.add(d),z.Ma(this.bf,c)!==d&&z.Hh(this.bf,c,d),void 0!==e&&this.qd.add(e,d)):(this.hi.remove(d),z.Ma(this.bf,c)===d&&z.Rg(this.bf,c),void 0!==e&&this.qd.remove(e)));return}if("linkLabelKeys"===a.Af){d=this.Rk(a.object);z.isArray(d)&&"number"===typeof c&&(b?0>z.Yl(d,a.newValue)&&z.Hh(d,c,a.newValue):(c=z.Yl(d,a.newValue),0<=c&&z.Rg(d,c)));return}}L.prototype.En.call(this,a,b)};
z.defineProperty(X,{jA:"archetypeNodeData"},function(){return this.ol},function(a){var b=this.ol;b!==a&&(null!==a&&z.l(a,Object,X,"archetypeNodeData"),this.ol=a,this.i("archetypeNodeData",b,a))});X.prototype.ho=function(a){if(void 0!==a){var b=this.ol;if(null!==b){var c=this.Ge(a);null===c&&(c=this.copyNodeData(b),z.Ua(c,this.uk,a),this.Tl(c))}return a}};
@@ -417,252 +417,252 @@ X.prototype.getLabelKeysForLinkData=X.prototype.Rk=function(a){if(null===a)retur
X.prototype.setLabelKeysForLinkData=X.prototype.FG=function(a,b){z.Tt(b,X,"setLabelKeysForLinkData:arr");if(null!==a){var c=this.Gg;if(""!==c)if(this.Kh(a)){var d=z.vb(a,c);void 0===d&&(d=z.bl);if(d!==b){for(var e=z.bb(d),g=0;ge||(z.Rg(d,e),this.Kh(a)&&(kh(this,b,a),dh(this,"linkLabelKeys",tg,c,a,b,null,e,null)))}else void 0!==d&&z.k(c+" property is not an Array; cannot removeLabelKeyforLinkData: "+a)}}};
-z.defineProperty(X,{Xg:"linkDataArray"},function(){return this.bf},function(a){var b=this.bf;if(b!==a){z.Tt(a,X,"linkDataArray");this.qd.clear();for(var c=z.bb(a),d=0;dd)return;z.Rg(a.bf,d)}dh(a,"linkDataArray",tg,"linkDataArray",a,b,null,d,null);c=a.mm(b);kh(a,c,b);c=a.nm(b);kh(a,c,b);d=a.Rk(b);if(z.isArray(d))for(var e=z.bb(d),g=0;ga.Vh&&z.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Vh;d&&b&&a.sd("CommittingTransaction",c,a.zj);var e=0;if(0a.Ej;e--)g=d.fa(e),null!==g&&g.clear(),
+ug.prototype.clear=ug.prototype.clear=function(){var a=this.history;a.Za();for(var b=a.count-1;0<=b;b--){var c=a.fa(b);null!==c&&c.clear()}a.clear();this.rh=-1;a.freeze();this.bj=!1;this.Hv=null;this.Ql=0;this.xh.Za();this.xh.clear();this.xh.freeze();this.wp.clear()};ug.prototype.addModel=ug.prototype.LH=function(a){this.Lz.add(a)};ug.prototype.removeModel=ug.prototype.ZJ=function(a){this.Lz.remove(a)};
+ug.prototype.startTransaction=ug.prototype.$b=function(a){void 0===a&&(a="");null===a&&(a="");if(this.lb)return!1;!0===this.uz&&(this.uz=!1,this.Ql++,this.sd("StartingFirstTransaction",a,this.zj),0a.Vh&&z.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Vh;d&&b&&a.sd("CommittingTransaction",c,a.zj);var e=0;if(0a.Ej;e--)g=d.fa(e),null!==g&&g.clear(),
d.md(e),a.Fz=!0;e=a.UF;0===e&&(e=1);0=e&&(g=d.fa(0),null!==g&&g.clear(),d.md(0),a.rh--);d.add(b);a.rh++;d.freeze();g=b}a.sd("CommittedTransaction",c,g)}else{a.bj=!0;try{a.isEnabled&&null!==g&&(g.ru=!0,g.undo())}finally{a.sd("RolledBackTransaction",c,g),a.bj=!1}null!==g&&g.clear()}a.Hv=null;return!0}if(a.isEnabled&&!b&&null!==g){a=e;c=g.bg;for(b=c.count-1;b>=a;b--)d=c.fa(b),null!==d&&d.undo(),c.Za(),c.md(b);c.freeze()}return!1}
ug.prototype.canUndo=ug.prototype.canUndo=function(){if(!this.isEnabled||0=this.Vh&&!this.uz&&(a=a.g,null!==a&&!1===a.Zn||z.trace("Change not within a transaction: "+c.toString()))}};
ug.prototype.skipsEvent=function(a){if(null===a||0>a.Kc.value)return!0;a=a.object;if(a instanceof O){if(a=a.layer,null!==a&&a.Wc)return!0}else if(a instanceof ah&&a.Wc)return!0;return!1};z.w(ug,{GJ:"models"},function(){return this.Lz.j});z.defineProperty(ug,{isEnabled:"isEnabled"},function(){return this.pf},function(a){this.pf=a});z.w(ug,{YG:"transactionToUndo"},function(){return 0<=this.Ej&&this.Ej<=this.history.count-1?this.history.fa(this.Ej):null});
z.w(ug,{XG:"transactionToRedo"},function(){return this.Ejb.Oh||(b.scale=a))};ta.prototype.canDecreaseZoom=function(a){void 0===a&&(a=1/this.Fy);z.p(a,ta,"canDecreaseZoom:factor");var b=this.g;if(null===b||b.Zl!==Qh)return!1;a*=b.scale;return ab.Oh?!1:b.lx};
ta.prototype.increaseZoom=function(a){void 0===a&&(a=this.Fy);z.p(a,ta,"increaseZoom:factor");var b=this.g;null!==b&&b.Zl===Qh&&(a*=b.scale,ab.Oh||(b.scale=a))};ta.prototype.canIncreaseZoom=function(a){void 0===a&&(a=this.Fy);z.p(a,ta,"canIncreaseZoom:factor");var b=this.g;if(null===b||b.Zl!==Qh)return!1;a*=b.scale;return ab.Oh?!1:b.lx};ta.prototype.resetZoom=function(a){void 0===a&&(a=this.vx);z.p(a,ta,"resetZoom:newscale");var b=this.g;null===b||ab.Oh||(b.scale=a)};
ta.prototype.canResetZoom=function(a){void 0===a&&(a=this.vx);z.p(a,ta,"canResetZoom:newscale");var b=this.g;return null===b||ab.Oh?!1:b.lx};ta.prototype.zoomToFit=function(){var a=this.g;if(null!==a){var b=a.scale,c=a.position;b===this.fA&&!isNaN(this.Gz)&&a.fd.O(this.eA)?(a.scale=this.Gz,a.position=this.lD,this.fA=NaN,this.eA=Ed):(this.Gz=b,this.lD=c.copy(),a.zoomToFit(),this.fA=a.scale,this.eA=a.fd.copy())}};ta.prototype.canZoomToFit=function(){var a=this.g;return null===a?!1:a.lx};
-ta.prototype.scrollToPart=function(a){void 0===a&&(a=null);null!==a&&z.l(a,D,ta,"part");var b=this.g;if(null!==b){if(null===a){try{null!==this.qj&&(this.qj.next()?a=this.qj.value:this.qj=null)}catch(c){this.qj=null}null===a&&(0e||Math.abs(b.y-a.y)>d};z.w(bh,{g:"diagram"},function(){return this.ca});z.defineProperty(bh,{name:"name"},function(){return this.Xb},function(a){z.h(a,"string",bh,"name");this.Xb=a});
+bh.prototype.cancelWaitAfter=function(){-1!==this.$w&&z.clearTimeout(this.$w);this.$w=-1};bh.prototype.doWaitAfter=function(){};bh.prototype.findToolHandleAt=function(a,b){var c=this.g;if(null===c)return null;c=c.He(a,function(a){for(;null!==a&&!(a.Q instanceof ea);)a=a.Q;return a});return null===c?null:c.Q.rc===b?c:null};
+bh.prototype.isBeyondDragSize=function(a,b){var c=this.g;if(null===c)return!1;void 0===a&&(a=c.Mc.se);void 0===b&&(b=c.U.se);var d=c.ib.sI,e=d.width,d=d.height;c.Mc.Hj&&(e+=6,d+=6);return Math.abs(b.x-a.x)>e||Math.abs(b.y-a.y)>d};z.w(bh,{g:"diagram"},function(){return this.ca});z.defineProperty(bh,{name:"name"},function(){return this.Xb},function(a){z.h(a,"string",bh,"name");this.Xb=a});
z.defineProperty(bh,{isEnabled:"isEnabled"},function(){return this.pf},function(a){z.h(a,"boolean",bh,"isEnabled");this.pf=a});z.defineProperty(bh,{ya:"isActive"},function(){return this.ZC},function(a){z.h(a,"boolean",bh,"isActive");this.ZC=a});z.defineProperty(bh,{Qf:"transactionResult"},function(){return this.jE},function(a){null!==a&&z.h(a,"string",bh,"transactionResult");this.jE=a});
-function Ph(){0e&&(e=k),l>g&&(g=l))}}Infinity===c?b.m(0,0,0,0):b.m(c,d,e-c,g-d)}
-function Hi(a,b){if(null===a.kc){var c=a.g;if(!(null===c||b&&(c.kb||c.Hf))&&null!==a.fc){var d=c.sa;d.isEnabled&&d.JF?null!==d.zj&&0e&&(e=k),l>g&&(g=l))}}Infinity===c?b.m(0,0,0,0):b.m(c,d,e-c,g-d)}
+function Hi(a,b){if(null===a.kc){var c=a.g;if(!(null===c||b&&(c.kb||c.Hf))&&null!==a.fc){var d=c.sa;d.isEnabled&&d.JF?null!==d.zj&&0c.ua)){var d=a.g;if(null!==d&&!d.kb&&(d=a.oj,null!==d)){var e=null,g=null;null===c.aa&&(e=Ri(a,c.n(0),!1),null!==e&&(g=e.ba));var h=null,k=null;null===c.ea&&(h=Ri(a,c.n(c.ua-1),!0),null!==h&&(k=h.ba));d.isValidLink(g,e,k,h)?b?(c.eq=c.n(0),c.fq=c.n(c.ua-1),c.Sj=!1,c.aa=g,null!==e&&(c.dg=e.vd),c.ea=k,null!==h&&(c.ih=h.vd)):Si(d,g,e,k,h):Si(d,null,null,null,null)}}}Ph.prototype.doDragOver=function(){};
+function Oi(a,b){var c=a.td;if(null!==c&&!(2>c.ua)){var d=a.g;if(null!==d&&!d.kb&&(d=a.oj,null!==d)){var e=null,g=null;null===c.aa&&(e=Ri(a,c.n(0),!1),null!==e&&(g=e.ba));var h=null,k=null;null===c.ea&&(h=Ri(a,c.n(c.ua-1),!0),null!==h&&(k=h.ba));d.isValidLink(g,e,k,h)?b?(c.dq=c.n(0),c.eq=c.n(c.ua-1),c.Sj=!1,c.aa=g,null!==e&&(c.dg=e.vd),c.ea=k,null!==h&&(c.ih=h.vd)):Si(d,g,e,k,h):Si(d,null,null,null,null)}}}Ph.prototype.doDragOver=function(){};
function Ti(a,b){var c=a.g;if(null!==c){a.Bj&&Oi(a,!0);zi(a);var d=Pi(c,b,null,function(b){return!Mi(a,b)}),e=c.U;e.We=d;if(null!==d){e.Nc=!1;for(var g=d;null!==g;){var h=g.bB;if(null!==h&&(h(e,g),e.Nc))break;g=Qi(g)}}else h=c.bB,null!==h&&h(e);if(a.ya||null!==Yh){for(e=(a.kc||a.fc).j;e.next();)g=e.key,g instanceof E&&g.Jd.each(function(a){a.Sj=!1});a.doDropOnto(b,d);if(a.ya||null!==Yh){d=z.Of();for(e=c.selection.j;e.next();)g=e.value,g instanceof E&&Ui(c,g.getAvoidableRect(d));z.Mb(d)}}}}
-Ph.prototype.doDropOnto=function(){};Ph.prototype.doMouseMove=function(){if(this.ya){var a=this.g;if(null!==a&&null!==this.Ln&&null!==this.fc){var b=!1,c=!1;this.mayCopy()?(b=!0,a.lc="copy",Hi(this,!1),this.xt(this.kc),Ii(this,this.kc,!1),this.Ep(this.kc)):this.mayMove()?(c=!0,a.lc="default",Ci(this),Ii(this,this.fc,!0)):this.mayDragOut()?(a.lc="no-drop",Hi(this,!1),Ii(this,this.kc,!1)):Ci(this);Ni(this,a.U.ha,c,b)}}};
-Ph.prototype.doMouseUp=function(){if(this.ya){var a=this.g;if(null!==a){var b=!1,c=this.mayCopy();c&&null!==this.kc?(Ci(this),Hi(this,!0),this.xt(this.kc),Ii(this,this.kc,!1),this.Ep(this.kc),null!==this.kc&&a.AG(this.kc.Uj())):(b=!0,Ci(this),this.mayMove()&&(Ii(this,this.fc,!0),Ni(this,a.U.ha,!0,!1)));this.Kr=!0;Ti(this,a.U.ha);if(this.ya){this.kc=null;if(b&&null!==this.fc)for(b=this.fc.j;b.next();){var d=b.key;d instanceof E&&(d=d.Qa,null===d||null===d.placeholder||this.fc.contains(d)||d.placeholder.K())}a.Bc();
-this.Ep(this.fc);this.Qf=c?"Copy":"Move";a.Ka(c?"SelectionCopied":"SelectionMoved",a.selection)}this.stopTool()}}};Ph.prototype.mayCopy=function(){if(!this.EF)return!1;var a=this.g;if(null===a||a.kb||a.Hf||!a.Wp||!a.Ik||(z.Uk?!a.U.alt:!a.U.control))return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.re()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};
-Ph.prototype.mayDragOut=function(){if(!this.EF)return!1;var a=this.g;if(null===a||!a.Qt||!a.Ik||a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.re()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};Ph.prototype.mayMove=function(){var a=this.g;if(null===a||a.kb||!a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.re()&&b.canMove())return!0}return null!==this.td&&this.Bj&&this.td.canMove()?!0:!1};var Ai=new J(Ph),Yh=null,Zh=null;
-Ph.prototype.getDraggingSource=function(){return Yh};Ph.prototype.mayDragIn=function(){var a=this.g;if(null===a||!a.wE||a.kb||a.Hf||!a.Wp)return!1;var b=Yh;return null===b||null===b.g||b.g.ia.dm!==a.ia.dm?!1:!0};Ph.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.g;a.Ya.Ii();Vi(a);a=Yh;null!==a&&null!==a.g&&(a.g.lc="copy")}};Ph.prototype.doSimulatedDragLeave=function(){var a=Yh;null!==a&&a.doSimulatedDragOut();this.doCancel()};
+Ph.prototype.doDropOnto=function(){};Ph.prototype.doMouseMove=function(){if(this.ya){var a=this.g;if(null!==a&&null!==this.Ln&&null!==this.fc){var b=!1,c=!1;this.mayCopy()?(b=!0,a.lc="copy",Hi(this,!1),this.xt(this.kc),Ii(this,this.kc,!1),this.Dp(this.kc)):this.mayMove()?(c=!0,a.lc="default",Ci(this),Ii(this,this.fc,!0)):this.mayDragOut()?(a.lc="no-drop",Hi(this,!1),Ii(this,this.kc,!1)):Ci(this);Ni(this,a.U.ha,c,b)}}};
+Ph.prototype.doMouseUp=function(){if(this.ya){var a=this.g;if(null!==a){var b=!1,c=this.mayCopy();c&&null!==this.kc?(Ci(this),Hi(this,!0),this.xt(this.kc),Ii(this,this.kc,!1),this.Dp(this.kc),null!==this.kc&&a.AG(this.kc.Uj())):(b=!0,Ci(this),this.mayMove()&&(Ii(this,this.fc,!0),Ni(this,a.U.ha,!0,!1)));this.Kr=!0;Ti(this,a.U.ha);if(this.ya){this.kc=null;if(b&&null!==this.fc)for(b=this.fc.j;b.next();){var d=b.key;d instanceof E&&(d=d.Qa,null===d||null===d.placeholder||this.fc.contains(d)||d.placeholder.K())}a.Bc();
+this.Dp(this.fc);this.Qf=c?"Copy":"Move";a.Ka(c?"SelectionCopied":"SelectionMoved",a.selection)}this.stopTool()}}};Ph.prototype.mayCopy=function(){if(!this.EF)return!1;var a=this.g;if(null===a||a.kb||a.Hf||!a.Vp||!a.Ik||(z.Uk?!a.U.alt:!a.U.control))return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.qe()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};
+Ph.prototype.mayDragOut=function(){if(!this.EF)return!1;var a=this.g;if(null===a||!a.Qt||!a.Ik||a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.qe()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};Ph.prototype.mayMove=function(){var a=this.g;if(null===a||a.kb||!a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.qe()&&b.canMove())return!0}return null!==this.td&&this.Bj&&this.td.canMove()?!0:!1};var Ai=new J(Ph),Yh=null,Zh=null;
+Ph.prototype.getDraggingSource=function(){return Yh};Ph.prototype.mayDragIn=function(){var a=this.g;if(null===a||!a.wE||a.kb||a.Hf||!a.Vp)return!1;var b=Yh;return null===b||null===b.g||b.g.ia.dm!==a.ia.dm?!1:!0};Ph.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.g;a.Ya.Ii();Vi(a);a=Yh;null!==a&&null!==a.g&&(a.g.lc="copy")}};Ph.prototype.doSimulatedDragLeave=function(){var a=Yh;null!==a&&a.doSimulatedDragOut();this.doCancel()};
Ph.prototype.doSimulatedDragOver=function(){var a=this.g;if(null!==a){var b=Yh;null!==b&&null!==b.fc&&this.mayDragIn()&&(a.lc="copy",Wi(this,b.fc.Uj(),!1),Ii(this,this.kc,!1),Ni(this,a.U.ha,!1,!0))}};
Ph.prototype.doSimulatedDrop=function(){var a=this.g;if(null!==a){var b=Yh;if(null!==b){var c=b.g;b.Kr=!0;Ci(this);this.mayDragIn()&&(this.$b("Drop"),Wi(this,b.fc.Uj(),!0),Ii(this,this.kc,!1),null!==this.kc&&a.AG(this.kc.Uj()),Ti(this,a.U.ha),a.Bc(),b=a.selection,null!==this.kc?this.Qf="ExternalCopy":b=new K(D),this.kc=null,a.doFocus(),a.Ka("ExternalObjectsDropped",b,c),this.al())}}};
-function Wi(a,b,c){if(null===a.kc){var d=a.g;if(null!==d&&!d.kb&&!d.Hf){d.Eb=!c;d.cr=!c;a.$k=d.U.ha;d=d.dq(b,d,!0);c=z.Of();Gi(b,c);var e=c.x+c.width/2,g=c.y+c.height/2;z.Mb(c);var h=a.Qw;c=new oa(D);var k=z.P();for(b=b.j;b.next();){var l=b.value;if(l.re()&&l.canCopy()){var m=l.location,l=d.qa(l);k.m(h.x-(e-m.x),h.y-(g-m.y));l.location=k;l.kf();c.add(l,wi(k))}}z.A(k);for(d=d.j;d.next();)e=d.value,e instanceof H&&e.canCopy()&&c.add(e,wi());a.kc=c;Xh(a,c.Uj());null!==a.td&&(c=a.td,d=c.no,c.um(a.$k.x-
+function Wi(a,b,c){if(null===a.kc){var d=a.g;if(null!==d&&!d.kb&&!d.Hf){d.Eb=!c;d.cr=!c;a.$k=d.U.ha;d=d.cq(b,d,!0);c=z.Of();Gi(b,c);var e=c.x+c.width/2,g=c.y+c.height/2;z.Mb(c);var h=a.Qw;c=new oa(D);var k=z.P();for(b=b.j;b.next();){var l=b.value;if(l.qe()&&l.canCopy()){var m=l.location,l=d.qa(l);k.m(h.x-(e-m.x),h.y-(g-m.y));l.location=k;l.kf();c.add(l,wi(k))}}z.A(k);for(d=d.j;d.next();)e=d.value,e instanceof H&&e.canCopy()&&c.add(e,wi());a.kc=c;Xh(a,c.Uj());null!==a.td&&(c=a.td,d=c.mo,c.um(a.$k.x-
(d.x+d.width/2),a.$k.y-(d.y+d.height/2)))}}}Ph.prototype.doSimulatedDragOut=function(){var a=this.g;null!==a&&(this.mayCopy()||this.mayMove()?a.lc="":a.lc="no-drop")};function xi(a){this.point=a;this.GG=Dd}z.ka("DraggingInfo",xi);function Ji(a,b,c){this.Yc=a;this.info=b;this.RI=c}
function Xi(){0=d&&(d=.1);for(var e=this,g=b.On(c,d,function(b){return e.findValidLinkablePort(b,a)},null,!0),d=Infinity,b=null,g=g.j;g.next();){var h=g.value,k=h.ba;if(k instanceof E){var l=h.cb(mc,z.P()),m=c.x-l.x,n=c.y-l.y;z.A(l);l=m*m+n*n;lc){if(null!==this.vc&&a===this.Yg&&b===this.Zg)return!0;var d=b.vd;null===d&&(d="");if(a.Dx(d).count>=c)return!1}return!0};
-Xi.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.xq;if(null!==this.g&&this.g.fb===this&&(null!==a.layer&&!a.layer.Rt||!0!==b.QG))return!1;var c=b.yK;if(Infinity>c){if(null!==this.vc&&a===this.$g&&b===this.ah)return!0;var d=b.vd;null===d&&(d="");if(a.Ug(d).count>=c)return!1}return!0};Xi.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.ba,d=b.ba;return null!==c&&c===d};
+c instanceof E&&(null===c.layer||c.layer.Rt))?b:null};Xi.prototype.isValidFrom=function(a,b){if(null===a||null===b)return this.wq;if(null!==this.g&&this.g.fb===this&&(null!==a.layer&&!a.layer.Rt||!0!==b.kF))return!1;var c=b.GA;if(Infinity>c){if(null!==this.uc&&a===this.Yg&&b===this.Zg)return!0;var d=b.vd;null===d&&(d="");if(a.Dx(d).count>=c)return!1}return!0};
+Xi.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.wq;if(null!==this.g&&this.g.fb===this&&(null!==a.layer&&!a.layer.Rt||!0!==b.QG))return!1;var c=b.yK;if(Infinity>c){if(null!==this.uc&&a===this.$g&&b===this.ah)return!0;var d=b.vd;null===d&&(d="");if(a.Ug(d).count>=c)return!1}return!0};Xi.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.ba,d=b.ba;return null!==c&&c===d};
Xi.prototype.isLinked=function(a,b){if(null===a||null===b)return!1;var c=a.ba;if(!(c instanceof E))return!1;var d=a.vd;null===d&&(d="");var e=b.ba;if(!(e instanceof E))return!1;var g=b.vd;null===g&&(g="");for(e=e.Ug(g);e.next();)if(g=e.value,g.aa===c&&g.dg===d)return!0;return!1};
-Xi.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.GI&&d.xK||!this.isInSameNode(b,d))&&(b.FI&&d.wK||!this.isLinked(b,d)))||null!==this.vc&&(null!==a&&this.isLabelDependentOnLink(a,this.vc)||null!==c&&this.isLabelDependentOnLink(c,this.vc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.vc))return!1;if(null!==a){var e=a.Zx;if(null!==e&&!e(a,b,c,d,this.vc))return!1}if(null!==
-c&&(e=c.Zx,null!==e&&!e(a,b,c,d,this.vc)))return!1;e=this.Zx;return null!==e?e(a,b,c,d,this.vc):!0};Xi.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Cc;if(null===c)return!1;if(c===b)return!0;var d=new K(E);d.add(a);return Yi(this,c,b,d)};function Yi(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.xf&&(d.add(e),Yi(a,e.Cc,c,d)))return!0;b=b.ea;return null!==b&&b.xf&&(d.add(b),Yi(a,b.Cc,c,d))?!0:!1}
-Xi.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.xq;var d=null!==this.g?this.g.EK:Zi;if(d!==Zi){if(d===$i){if(null!==c&&!c.Xc)return!0;for(d=b.Jd;d.next();){var e=d.value;if(e!==c&&e.Xc&&e.ea===b)return!1}return!aj(this,a,b,c,!0)}if(d===bj){if(null!==c&&!c.Xc)return!0;for(d=a.Jd;d.next();)if(e=d.value,e!==c&&e.Xc&&e.aa===a)return!1;return!aj(this,a,b,c,!0)}if(d===cj)return a===b?a=!0:(d=new K(E),d.add(b),a=dj(this,d,a,b,c)),!a;if(d===ej)return!aj(this,
+Xi.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.GI&&d.xK||!this.isInSameNode(b,d))&&(b.FI&&d.wK||!this.isLinked(b,d)))||null!==this.uc&&(null!==a&&this.isLabelDependentOnLink(a,this.uc)||null!==c&&this.isLabelDependentOnLink(c,this.uc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.uc))return!1;if(null!==a){var e=a.Zx;if(null!==e&&!e(a,b,c,d,this.uc))return!1}if(null!==
+c&&(e=c.Zx,null!==e&&!e(a,b,c,d,this.uc)))return!1;e=this.Zx;return null!==e?e(a,b,c,d,this.uc):!0};Xi.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Cc;if(null===c)return!1;if(c===b)return!0;var d=new K(E);d.add(a);return Yi(this,c,b,d)};function Yi(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.xf&&(d.add(e),Yi(a,e.Cc,c,d)))return!0;b=b.ea;return null!==b&&b.xf&&(d.add(b),Yi(a,b.Cc,c,d))?!0:!1}
+Xi.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.wq;var d=null!==this.g?this.g.EK:Zi;if(d!==Zi){if(d===$i){if(null!==c&&!c.Xc)return!0;for(d=b.Jd;d.next();){var e=d.value;if(e!==c&&e.Xc&&e.ea===b)return!1}return!aj(this,a,b,c,!0)}if(d===bj){if(null!==c&&!c.Xc)return!0;for(d=a.Jd;d.next();)if(e=d.value,e!==c&&e.Xc&&e.aa===a)return!1;return!aj(this,a,b,c,!0)}if(d===cj)return a===b?a=!0:(d=new K(E),d.add(b),a=dj(this,d,a,b,c)),!a;if(d===ej)return!aj(this,
a,b,c,!1);if(d===fj)return a===b?a=!0:(d=new K(E),d.add(b),a=gj(this,d,a,b,c)),!a}return!0};function aj(a,b,c,d,e){if(b===c)return!0;if(null===b||null===c)return!1;for(var g=b.Jd;g.next();){var h=g.value;if(h!==d&&(!e||h.Xc)&&h.ea===b&&(h=h.aa,h!==b&&aj(a,h,c,d,e)))return!0}return!1}function dj(a,b,c,d,e){if(c===d)return!0;if(null===c||null===d||b.contains(c))return!1;b.add(c);for(var g=c.Jd;g.next();){var h=g.value;if(h!==e&&h.ea===c&&(h=h.aa,h!==c&&dj(a,b,h,d,e)))return!0}return!1}
function gj(a,b,c,d,e){if(c===d)return!0;if(null===c||null===d||b.contains(c))return!1;b.add(c);for(var g=c.Jd;g.next();){var h=g.value;if(h!==e){var k=h.aa,h=h.ea,k=k===c?h:k;if(k!==c&&gj(a,b,k,d,e))return!0}}return!1}z.defineProperty(Xi,{Zx:"linkValidation"},function(){return this.Gl},function(a){null!==a&&z.h(a,"function",Xi,"linkValidation");this.Gl=a});z.defineProperty(Xi,{ly:"portTargeted"},function(){return this.KD},function(a){null!==a&&z.h(a,"function",Xi,"portTargeted");this.KD=a});
function ua(){0b.fu+1&&cb.fu+1&&c=c.x)d=0>=c.y?d+225:1<=c.y?d+135:d+180;else if(1<=c.x)0>=c.y?d+=315:1<=c.y&&(d+=45);else if(0>=c.y)d+=270;else if(1<=c.y)d+=90;else break a;0>d?d+=360:360<=d&&(d-=360);a.cursor=22.5>d?"e-resize":67.5>d?"se-resize":112.5>d?"s-resize":157.5>d?"sw-resize":202.5>d?"w-resize":247.5>d?"nw-resize":292.5>d?"n-resize":337.5>d?
+Qj.prototype.updateResizeHandles=function(a,b){if(null!==a)if(!a.alignment.hd()&&("pointer"===a.cursor||0=c.x)d=0>=c.y?d+225:1<=c.y?d+135:d+180;else if(1<=c.x)0>=c.y?d+=315:1<=c.y&&(d+=45);else if(0>=c.y)d+=270;else if(1<=c.y)d+=90;else break a;0>d?d+=360:360<=d&&(d-=360);a.cursor=22.5>d?"e-resize":67.5>d?"se-resize":112.5>d?"s-resize":157.5>d?"sw-resize":202.5>d?"w-resize":247.5>d?"nw-resize":292.5>d?"n-resize":337.5>d?
"ne-resize":"e-resize"}else if(a instanceof I)for(c=a.elements;c.next();)this.updateResizeHandles(c.value,b)};z.defineProperty(Qj,{mu:"handleArchetype"},function(){return this.vl},function(a){null!==a&&z.l(a,O,Qj,"handleArchetype");this.vl=a});z.w(Qj,{handle:"handle"},function(){return this.oc});z.defineProperty(Qj,{Ab:"adornedObject"},function(){return this.Rc},function(a){null!==a&&z.l(a,O,Qj,"adornedObject");this.Rc=a});
Qj.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.g;return null!==a&&!a.kb&&a.St&&a.U.left?null!==this.findToolHandleAt(a.Mc.ha,this.name):!1};
-Qj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.oc=this.findToolHandleAt(a.Mc.ha,this.name),null!==this.oc&&(this.Rc=this.oc.ba.Ab,this.Ap.set(this.Ab.cb(this.handle.alignment.cG())),this.ED.set(this.Rc.ba.location),this.zD.set(this.Rc.Da),this.pz=this.computeCellSize(),this.rz=this.computeMinSize(),this.qz=this.computeMaxSize(),a.lf=!0,this.wD=a.Ya.isEnabled,a.Ya.isEnabled=!1,this.$b(this.name),this.ya=!0))};
+Qj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.oc=this.findToolHandleAt(a.Mc.ha,this.name),null!==this.oc&&(this.Rc=this.oc.ba.Ab,this.zp.set(this.Ab.cb(this.handle.alignment.cG())),this.ED.set(this.Rc.ba.location),this.zD.set(this.Rc.Da),this.pz=this.computeCellSize(),this.rz=this.computeMinSize(),this.qz=this.computeMaxSize(),a.lf=!0,this.wD=a.Ya.isEnabled,a.Ya.isEnabled=!1,this.$b(this.name),this.ya=!0))};
Qj.prototype.doDeactivate=function(){var a=this.g;null!==a&&(this.al(),this.Rc=this.oc=null,this.ya=a.lf=!1,a.Ya.isEnabled=this.wD)};Qj.prototype.doCancel=function(){null!==this.Ab&&(this.Ab.Da=this.dG,this.Ab.ba.location=this.OJ);this.stopTool()};Qj.prototype.doMouseMove=function(){var a=this.g;if(this.ya&&null!==a){var b=this.rz,c=this.qz,d=this.pz,e=this.Ab.mF(a.U.ha,z.P()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);a.hg();z.A(e)}};
Qj.prototype.doMouseUp=function(){var a=this.g;if(this.ya&&null!==a){var b=this.rz,c=this.qz,d=this.pz,e=this.Ab.mF(a.U.ha,z.P()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);z.A(e);a.Bc();this.Qf=this.name;a.Ka("PartResized",this.Ab,this.dG)}this.stopTool()};
-Qj.prototype.resize=function(a){if(null!==this.g){var b=this.Ab,c=b.ba;b.Da=a.size;c.kf();a=this.Ab.cb(this.handle.alignment.cG());c instanceof F?(a=c.position.copy().so(a).add(this.Ap),c.move(a)):c.location=c.location.copy().so(a).add(this.Ap)}};
-Qj.prototype.computeResize=function(a,b,c,d,e,g){b.ae()&&(b=mc);var h=this.Ab.Ja,k=h.x,l=h.y,m=h.x+h.width,n=h.y+h.height,p=1;if(!g){var p=h.width,q=h.height;0>=p&&(p=1);0>=q&&(q=1);p=q/p}q=z.P();tb(a.x,a.y,k,l,e.width,e.height,q);a=h.copy();0>=b.x?0>=b.y?(a.x=Math.max(q.x,m-d.width),a.x=Math.min(a.x,m-c.width),a.width=Math.max(m-a.x,c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p=p&&(p=1);0>=q&&(q=1);p=q/p}q=z.P();tb(a.x,a.y,k,l,e.width,e.height,q);a=h.copy();0>=b.x?0>=b.y?(a.x=Math.max(q.x,m-d.width),a.x=Math.min(a.x,m-c.width),a.width=Math.max(m-a.x,c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p=b.y?(a.width=Math.max(Math.min(q.x-k,d.width),c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),
a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p=b.y?(a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=n-a.y,g||(a.width=a.height/p,a.x=
k+.5*(m-k-a.width))):1<=b.y&&(a.height=Math.max(Math.min(q.y-l,d.height),c.height),g||(a.width=a.height/p,a.x=k+.5*(m-k-a.width)));z.A(q);return a};Qj.prototype.computeReshape=function(){var a=Tj;this.Ab instanceof Y&&(a=Uj(this.Ab));return!(a===Vj||a===Wj||null!==this.g&&this.g.U.shift)};Qj.prototype.computeMinSize=function(){var a=this.Ab.ig.copy(),b=this.ig;!isNaN(b.width)&&b.width>a.width&&(a.width=b.width);!isNaN(b.height)&&b.height>a.height&&(a.height=b.height);return a};
Qj.prototype.computeMaxSize=function(){var a=this.Ab.mf.copy(),b=this.mf;!isNaN(b.width)&&b.widtha&&(a+=360));var b=Math.min(Math.abs(this.oK),180),c=Math.min(Math.abs(this.nK),b/2);(null===this.g||!this.g.U.shift)&&0b-c&&(a=(Math.floor(a/b)+1)*b));360<=a?a-=360:0>a&&(a+=360);return a};z.defineProperty(Xj,{oK:"snapAngleMultiple"},function(){return this.RD},function(a){z.h(a,"number",Xj,"snapAngleMultiple");this.RD=a});
z.defineProperty(Xj,{nK:"snapAngleEpsilon"},function(){return this.QD},function(a){z.h(a,"number",Xj,"snapAngleEpsilon");this.QD=a});z.w(Xj,{hM:"originalAngle"},function(){return this.tw});function Zj(){0e.right&&(c.x-=d.width+5);c.xe.bottom&&(c.y-=d.height+5);c.ya.U.Qe?!1:!0};kk.prototype.doStart=function(){this.ya||null===this.hh||this.doActivate()};
-kk.prototype.doActivate=function(){if(!this.ya){var a=this.g;if(null!==a){var b=this.hh;null===b&&(b=a.He(a.U.ha,function(a){return a instanceof pa?a:null}));if(null!==b&&(this.hh=b,null!==b.ba)){this.ya=!0;this.qb=tk;var c=this.nI;null!==b.PG&&(c=b.PG);this.Ak=this.hh.copy();var d=new w(this.hh.cb(hc),this.hh.cb(qc));a.gK(d);if(c instanceof bk)c.show(b,a,this);else{c.style.position="absolute";c.style.zIndex=100;c.textEditingTool=this;if("function"===typeof c.onActivate)c.onActivate();"function"===
+kk.prototype.doActivate=function(){if(!this.ya){var a=this.g;if(null!==a){var b=this.hh;null===b&&(b=a.He(a.U.ha,function(a){return a instanceof pa?a:null}));if(null!==b&&(this.hh=b,null!==b.ba)){this.ya=!0;this.qb=tk;var c=this.nI;null!==b.PG&&(c=b.PG);this.Ak=this.hh.copy();var d=new w(this.hh.cb(hc),this.hh.cb(qc));a.gK(d);if(c instanceof bk)c.show(b,a,this);else{c.style.position="absolute";c.style.zIndex="100";c.textEditingTool=this;if("function"===typeof c.onActivate)c.onActivate();"function"===
typeof c.focus&&c.focus();"function"===typeof c.select&&this.wy&&(c.select(),c.setSelectionRange(0,9999));a.Aj.appendChild(c)}this.Nk=c}}}};kk.prototype.doCancel=function(){null!==this.Ll&&(this.Nk.style.border=this.Ll,this.Ll=null);this.stopTool()};kk.prototype.doMouseUp=function(){!this.ya&&this.canStart()&&this.doActivate()};kk.prototype.doMouseDown=function(){this.ya&&this.acceptText(pk)};
kk.prototype.acceptText=function(a){switch(a){case pk:if(this.qb===xk)"function"===typeof this.Nk.focus&&this.Nk.focus();else if(this.qb===tk||this.qb===wk||this.qb===uk)this.qb=vk,Ak(this);break;case ok:case rk:case qk:if(rk===a&&!0===this.$z.Tx)break;if(this.qb===tk||this.qb===wk||this.qb===uk)this.qb=vk,Ak(this)}};
function Ak(a){var b=a.hh,c=a.g,d=a.Nk;if(null!==b&&null!==d){var e=b.text,g=d.value,h="";d instanceof bk?null!==d.RB&&(h=d.RB()):h="function"===typeof g?g():g;a.isValidText(b,e,h)?(a.$b(a.name),a.qb=xk,d instanceof bk?d.show(b,c,a):null!==a.Ll&&(d.style.border=a.Ll,a.Ll=null),a.Qf=a.name,b.text=h,null!==b.OG&&b.OG(b,e,h),null!==c&&c.Ka("TextEdited",b,e),a.al(),a.stopTool(),null!==c&&c.doFocus()):(a.qb=wk,null!==b.BA&&b.BA(a,e,h),d instanceof bk?d.show(b,c,a):(null===a.Ll&&(a.Ll=d.style.border,d.style.border=
"3px solid red"),"function"===typeof d.focus&&d.focus()))}}kk.prototype.doDeactivate=function(){var a=this.g;if(null!==a){this.qb=mk;this.hh=null;if(null!==this.Nk){var b=this.Nk;if(b instanceof bk)b.Wn(a,this);else{if("function"===typeof b.onDeactivate)b.onDeactivate();null!==b&&a.Aj.removeChild(b)}}this.ya=!1}};kk.prototype.doFocus=function(){u&&z.Nn("TextEditingTool.doFocus","2.0");yk(this)};kk.prototype.doBlur=function(){u&&z.Nn("TextEditingTool.doBlur","2.0");zk(this)};
function yk(a){if(null!==a.Nk){var b=a.ez;a.qb===tk&&(a.qb=uk);"function"===typeof b.select&&a.wy&&(b.select(),b.setSelectionRange(0,9999))}}function zk(a){if(null!==a.Nk){var b=a.ez;"function"===typeof b.focus&&b.focus();"function"===typeof b.select&&a.wy&&(b.select(),b.setSelectionRange(0,9999))}}kk.prototype.isValidText=function(a,b,c){z.l(a,pa,kk,"isValidText:textblock");var d=this.JB;if(null!==d&&!d(a,b,c))return!1;d=a.JB;return null===d||d(a,b,c)?!0:!1};
z.defineProperty(kk,{JB:"textValidation"},function(){return this.Ol},function(a){null!==a&&z.h(a,"function",kk,"textValidation");this.Ol=a});z.defineProperty(kk,{XF:"minimumEditorScale"},function(){return this.rD},function(a){null!==a&&z.h(a,"number",kk,"minimumEditorScale");this.rD=a});z.defineProperty(kk,{wy:"selectsTextOnActivate"},function(){return this.OD},function(a){null!==a&&z.h(a,"boolean",kk,"selectsTextOnActivate");this.OD=a});
-z.defineProperty(kk,{state:"state"},function(){return this.qb},function(a){this.qb!==a&&(z.Ca(a,kk,kk,"starting"),this.qb=a)});kk.prototype.measureTemporaryTextBlock=kk.prototype.BJ=function(a){var b=this.Ak;b.text=a;Bk(b,this.hh.qp,Infinity);return b};function Kh(){bh.call(this);this.name="ToolManager";this.oH=new J(bh);this.pH=new J(bh);this.qH=new J(bh);this.WC=this.XC=850;this.KC=(new Fa(2,2)).Na();this.gE=5E3;this.vD=Wh;this.UC=Ck;this.Gv=this.yC=null;this.xn=-1}z.Ta(Kh,bh);
+z.defineProperty(kk,{state:"state"},function(){return this.qb},function(a){this.qb!==a&&(z.Ca(a,kk,kk,"starting"),this.qb=a)});kk.prototype.measureTemporaryTextBlock=kk.prototype.BJ=function(a){var b=this.Ak;b.text=a;Bk(b,this.hh.pp,Infinity);return b};function Kh(){bh.call(this);this.name="ToolManager";this.oH=new J(bh);this.pH=new J(bh);this.qH=new J(bh);this.WC=this.XC=850;this.KC=(new Fa(2,2)).Na();this.gE=5E3;this.vD=Wh;this.UC=Ck;this.Gv=this.yC=null;this.xn=-1}z.Ta(Kh,bh);
z.ka("ToolManager",Kh);var Wh;Kh.WheelScroll=Wh=z.s(Kh,"WheelScroll",0);var Vh;Kh.WheelZoom=Vh=z.s(Kh,"WheelZoom",1);Kh.WheelNone=z.s(Kh,"WheelNone",2);var Ck;Kh.GestureZoom=Ck=z.s(Kh,"GestureZoom",3);var Dk;Kh.GestureCancel=Dk=z.s(Kh,"GestureCancel",4);var Ek;Kh.GestureNone=Ek=z.s(Kh,"GestureNone",5);z.defineProperty(Kh,{Gu:"mouseWheelBehavior"},function(){return this.vD},function(a){z.Ca(a,Kh,Kh,"mouseWheelBehavior");this.vD=a});
-z.defineProperty(Kh,{oq:"gestureBehavior"},function(){return this.UC},function(a){z.Ca(a,Kh,Kh,"gestureBehavior");this.UC=a});Kh.prototype.initializeStandardTools=function(){this.FH=new ak;this.gG=new $h;this.tJ=new pj;this.tG=new Qj;this.dK=new Xj;this.TF=new ua;this.Ee=new Ph;this.rI=new ik;this.PJ=new jk;this.pA=new dk;this.IB=new kk;this.WH=new wa;this.XH=new Zj};
+z.defineProperty(Kh,{nq:"gestureBehavior"},function(){return this.UC},function(a){z.Ca(a,Kh,Kh,"gestureBehavior");this.UC=a});Kh.prototype.initializeStandardTools=function(){this.FH=new ak;this.gG=new $h;this.tJ=new pj;this.tG=new Qj;this.dK=new Xj;this.TF=new ua;this.Ee=new Ph;this.rI=new ik;this.PJ=new jk;this.pA=new dk;this.IB=new kk;this.WH=new wa;this.XH=new Zj};
Kh.prototype.updateAdornments=function(a){var b=this.cm;if(b instanceof ea&&this.Gv===a){var c=b.Ab;(null!==a?c.ba===a:null===c)?this.showToolTip(b,c):this.hideToolTip()}};
-Kh.prototype.doMouseDown=function(){var a=this.g;if(null!==a){var b=a.U;b.Hj&&this.oq===Dk&&(b.bubbles=!1);if(b.vu){this.cancelWaitAfter();if(this.oq===Ek){b.bubbles=!0;return}if(this.oq===Dk)return;if(a.fb.canStartMultiTouch()){a.fb.standardPinchZoomStart();return}}var c=a.sa;c.lA&&0!==c.Vh&&z.trace("WARNING: In ToolManager.doMouseDown: UndoManager.transactionLevel is not zero");for(var c=this.nf.length,d=0;de.right&&(c.x-=d.width+5);c.xe.bottom?c.y-(d.height+5):c.y+20;c.ya?c/2*a*a+b:-c/2*(--a*(a-2)-1)+b}z.w(nh,{eL:"animationReasons"},function(){return this.rv});
-nh.prototype.canStart=function(){return!0};nh.prototype.prepareAutomaticAnimation=nh.prototype.lo=function(a){this.pf&&(this.kk||this.ca.Zn)&&(this.rv.add(a),this.canStart(a)&&(this.jk&&this.Ii(),this.yc=!0))};function Vk(a){if(a.pf&&(a.rv.clear(),a.yc))if(!a.Do)a.yc=!1;else if(0===a.Co){var b=+new Date;a.Co=b;requestAnimationFrame(function(){if(!1!==a.yc&&!a.jk&&a.Co===b){var c=a.ca;c.Dj("temporaryPixelRatio")&&(c.zk=1);al(c);a.yc=!1;c.Ka("AnimationStarting");bl(a,b)}})}}
+function nh(){this.zC=Hk;this.Fr=this.Gr=this.ca=null;this.Bo=this.Hr=this.Ir=0;this.Co=this.yc=this.kp=this.jk=!1;this.kk=this.pf=!0;this.Ev=this.Dv=this.uC=null;this.tC=0;this.Fv=null;this.rv=new K("string");this.mz=600;this.uH=new M(0,0);this.iC=this.hC=this.kE=!1;this.en=new oa(O,Ik)}z.ka("AnimationManager",nh);nh.prototype.$c=function(a){this.ca=a};function Hk(a,b,c,d){a/=d/2;return 1>a?c/2*a*a+b:-c/2*(--a*(a-2)-1)+b}z.w(nh,{eL:"animationReasons"},function(){return this.rv});
+nh.prototype.canStart=function(){return!0};nh.prototype.prepareAutomaticAnimation=nh.prototype.ko=function(a){this.pf&&(this.kk||this.ca.Zn)&&(this.rv.add(a),this.canStart(a)&&(this.jk&&this.Ii(),this.yc=!0))};function Vk(a){if(a.pf&&(a.rv.clear(),a.yc))if(!a.Co)a.yc=!1;else if(0===a.Bo){var b=+new Date;a.Bo=b;requestAnimationFrame(function(){if(!1!==a.yc&&!a.jk&&a.Bo===b){var c=a.ca;c.Dj("temporaryPixelRatio")&&(c.zk=1);al(c);a.yc=!1;c.Ka("AnimationStarting");bl(a,b)}})}}
function cl(a,b,c,d,e,g){if(a.yc&&(u&&z.l(b,O,nh,"addPropToAnimation:obj"),!("position"===c&&d.O(e)||b instanceof D&&!b.CF))){var h=a.en;if(h.contains(b)){var h=h.qa(b),k=h.start,l=h.end;void 0===k[c]&&(k[c]=dl(d));h.sx&&void 0!==l[c]?h.cu[c]=dl(e):(g||(h.cu[c]=dl(e)),l[c]=dl(e));g&&0===c.indexOf("position:")&&(h.cu.location=dl(b.location))}else k=new na,l=new na,k[c]=dl(d),l[c]=dl(e),d=l,e=k.position,e instanceof M&&!e.F()&&a.rv.contains("Expand SubGraph")&&e.assign(d.position),k=new Ik(k,l,g),g&&
-0===c.indexOf("position:")&&(k.cu.location=dl(b.location)),h.add(b,k);a.Do=!0}}function dl(a){return a instanceof M?a.copy():a instanceof Fa?a.copy():a}
-function bl(a,b){var c;function d(){if(!1!==g.jk&&g.Co===b){var a=+new Date,c=a>s?m:a-r;el(g);fl(g,e,q,h,c,m);g.Dv&&g.Dv();Vi(e);gl(g);a>s?hl(g):requestAnimationFrame(d)}}void 0===c&&(c=new na);var e=a.ca;if(null!==e){a.jk=!0;var g=a,h=c.GL||a.zC,k=c.fM||null,l=c.gM||null,m=c.duration||a.mz,n=a.uH;for(c=a.en.j;c.next();){var p=c.value.start.position;p instanceof M&&(p.F()||p.assign(n))}a.uC=h;a.Dv=k;a.Ev=l;a.tC=m;a.Fv=a.en;var q=a.Fv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l=
-k["position:placeholder"],n=l.cb(hc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);el(a);fl(a,e,q,h,0,m);Vi(a.ca);gl(a);var r=+new Date,s=r+m;g.Co===b&&requestAnimationFrame(function(){d()})}}
+0===c.indexOf("position:")&&(k.cu.location=dl(b.location)),h.add(b,k);a.Co=!0}}function dl(a){return a instanceof M?a.copy():a instanceof Fa?a.copy():a}
+function bl(a,b){var c;function d(){if(!1!==g.jk&&g.Bo===b){var a=+new Date,c=a>s?m:a-r;el(g);fl(g,e,q,h,c,m);g.Dv&&g.Dv();Vi(e);gl(g);a>s?hl(g):requestAnimationFrame(d)}}void 0===c&&(c=new na);var e=a.ca;if(null!==e){a.jk=!0;var g=a,h=c.GL||a.zC,k=c.fM||null,l=c.gM||null,m=c.duration||a.mz,n=a.uH;for(c=a.en.j;c.next();){var p=c.value.start.position;p instanceof M&&(p.F()||p.assign(n))}a.uC=h;a.Dv=k;a.Ev=l;a.tC=m;a.Fv=a.en;var q=a.Fv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l=
+k["position:placeholder"],n=l.cb(hc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);el(a);fl(a,e,q,h,0,m);Vi(a.ca);gl(a);var r=+new Date,s=r+m;g.Bo===b&&requestAnimationFrame(function(){d()})}}
var il={opacity:function(a,b,c,d,e,g){a.opacity=d(e,b,c-b,g)},position:function(a,b,c,d,e,g){e!==g?a.zy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):a.position=new M(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g))},"position:node":function(a,b,c,d,e,g){var h=a.Z,k=c.Z;c=k.x+k.width/2-h.width/2;h=k.y+k.height/2-h.height/2;e!==g?a.zy(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g)):a.position=new M(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g))},"position:placeholder":function(a,b,c,d,e,g){e!==g?a.zy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):
-a.position=new M(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g))},scale:function(a,b,c,d,e,g){a.scale=d(e,b,c-b,g)},visible:function(a,b,c,d,e,g){a.visible=e!==g?b:c}};function el(a){if(!a.lp){var b=a.ca;a.kE=b.Eb;a.hC=b.Ve;a.iC=b.Zu;b.Eb=!0;b.Ve=!0;b.Zu=!0;a.lp=!0}}function gl(a){var b=a.ca;b.Eb=a.kE;b.Ve=a.hC;b.Zu=a.iC;a.lp=!1}
+a.position=new M(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g))},scale:function(a,b,c,d,e,g){a.scale=d(e,b,c-b,g)},visible:function(a,b,c,d,e,g){a.visible=e!==g?b:c}};function el(a){if(!a.kp){var b=a.ca;a.kE=b.Eb;a.hC=b.Ve;a.iC=b.Zu;b.Eb=!0;b.Ve=!0;b.Zu=!0;a.kp=!0}}function gl(a){var b=a.ca;b.Eb=a.kE;b.Ve=a.hC;b.Zu=a.iC;a.kp=!1}
function fl(a,b,c,d,e,g){for(c=c.j;c.next();){var h=c.key,k=c.value,l=k.start,k=k.end,m;for(m in k)if(("position"!==m||!k["position:placeholder"]&&!k["position:node"])&&void 0!==il[m])il[m](h,l[m],k[m],d,e,g)}d=b.RA;b.RA=!0;m=a.zC;0!==a.Ir&&0!==a.Hr&&(c=a.Ir,b.Rb=m(e,c,a.Hr-c,g));null!==a.Gr&&null!==a.Fr&&(c=a.Gr,a=a.Fr,b.ub=new M(m(e,c.x,a.x-c.x,g),m(e,c.y,a.y-c.y,g)));b.RA=d}
-nh.prototype.stopAnimation=nh.prototype.Ii=function(){!0===this.yc&&(this.yc=!1,this.Do&&this.ca.Te());this.jk&&this.pf&&hl(this)};
-function hl(a){a.jk=!1;a.Do=!1;el(a);for(var b=a.ca,c=a.uC,d=a.tC,e=a.Fv.j;e.next();){var g=e.key,h=e.value,k=h.start,l=h.end,m=h.cu,n;for(n in l)if(void 0!==il[n]){var p=n;!h.sx||"position:node"!==p&&"position:placeholder"!==p||(p="position");il[p](g,k[n],void 0!==m[n]?m[n]:h.sx?k[n]:l[n],c,d,d)}h.sx&&void 0!==m.location&&(g.location=m.location);h.ny&&g.Kd(!1)}for(c=a.ca.links;c.next();)d=c.value,null!==d.Gp&&(d.points=d.Gp,d.Gp=null);b.$x.clear();b.zk=null;b.Bc();b.ra();b.hg();jl(b);gl(a);a.Ev&&
-a.Ev();a.Co=0;a.Fv=null;a.Ev=null;a.Dv=null;a.Gr=null;a.Fr=null;a.Ir=0;a.Hr=0;a.en=new oa(O,Ik);b.Ka("AnimationFinished");b.Te()}function kl(a,b,c){var d=b.Z,e=c.Z,g=null;c instanceof F&&(g=c.placeholder);null!==g?(d=g.cb(hc),d.x+=g.padding.left,d.y+=g.padding.top,cl(a,b,"position",d,b.position,!1)):cl(a,b,"position",new M(e.x+e.width/2-d.width/2,e.y+e.height/2-d.height/2),b.position,!1);cl(a,b,"scale",.01,b.scale,!1);if(b instanceof F)for(b=b.Oc;b.next();)g=b.value,g instanceof E&&kl(a,g,c)}
-function ll(a,b,c){if(b.isVisible()){var d=null;c instanceof F&&(d=c.placeholder);null!==d?cl(a,b,"position:placeholder",b.position,d,!0):cl(a,b,"position:node",b.position,c,!0);cl(a,b,"scale",b.scale,.01,!0);a.yc&&(d=a.en,d.contains(b)&&(d.qa(b).ny=!0));if(b instanceof F)for(b=b.Oc;b.next();)d=b.value,d instanceof E&&ll(a,d,c)}}function ml(a,b,c){a.yc&&(null===a.Gr&&b.F()&&null===a.Fr&&(a.Gr=b.copy()),a.Fr=c.copy(),a.Do=!0)}
-function nl(a,b,c){a.yc&&a.ca.Zn&&(0===a.Ir&&0===a.Hr&&(a.Ir=b),a.Hr=c,a.Do=!0)}z.defineProperty(nh,{isEnabled:"isEnabled"},function(){return this.pf},function(a){z.h(a,"boolean",nh,"isEnabled");this.pf=a});z.defineProperty(nh,{duration:"duration"},function(){return this.mz},function(a){z.h(a,"number",nh,"duration");1>a&&z.wa(a,">= 1",nh,"duration");this.mz=a});z.w(nh,{wf:"isAnimating"},function(){return this.jk});z.w(nh,{jJ:"isTicking"},function(){return this.lp});
-z.defineProperty(nh,{KF:"isInitial"},function(){return this.kk},function(a){z.h(a,"boolean",nh,"isInitial");this.kk=a});function Ik(a,b,c){this.start=a;this.end=b;this.cu=new na;this.sx=c;this.ny=!1}function ah(){0a&&z.wa(a,">= 1",nh,"duration");this.mz=a});z.w(nh,{wf:"isAnimating"},function(){return this.jk});z.w(nh,{jJ:"isTicking"},function(){return this.kp});
+z.defineProperty(nh,{KF:"isInitial"},function(){return this.kk},function(a){z.h(a,"boolean",nh,"isInitial");this.kk=a});function Ik(a,b,c){this.start=a;this.end=b;this.cu=new na;this.sx=c;this.ny=!1}function ah(){0=a)return b;for(var c=0,d=0,e=0,g=0,h=0,k=this.pb.j;k.next();){var l=k.value;l instanceof F?e++:l instanceof E?d++:l instanceof H?g++:l instanceof ea?h++:c++}k="";0=d.count)a=d.count;else if(d.fa(a)===b)return-1;d.Zd(a,b);b.ou(c);d=this.g;null!==d&&(c?d.ra():d.rq(b));tl(this,a,b);return a};
+f.Mf=function(a,b){if(this.visible){var c;c=void 0===b?a.yb:b;for(var d=this.pb.o,e=d.length,g=0;g=d.count)a=d.count;else if(d.fa(a)===b)return-1;d.Yd(a,b);b.ou(c);d=this.g;null!==d&&(c?d.ra():d.qq(b));tl(this,a,b);return a};
f.vf=function(a,b,c){if(!c&&b.layer!==this&&null!==b.layer)return b.layer.vf(a,b,c);var d=this.pb;if(0>a||a>=d.length){if(a=d.indexOf(b),0>a)return-1}else if(d.fa(a)!==b&&(a=d.indexOf(b),0>a))return-1;b.pu(c);d.md(a);d=this.g;null!==d&&(c?d.ra():d.vf(b));b.fw=null;return a};
-function tl(a,b,c){b=ul(a,b,c);if(c instanceof F&&null!==c&&isNaN(c.yo)){if(0!==c.Oc.count){for(var d=-1,e=a.pb.o,g=e.length,h=0;hd&&k.Qa===c&&(d=h,0<=b))break}!(0>d)&&d=e)return b;0>b&&(b=a.indexOf(c));if(0>b)return-1;for(var g=b-1,h=NaN;0<=g;){h=a.fa(g).yo;if(!isNaN(h))break;g--}for(var k=b+1,l=NaN;kd)for(;;){if(-1===g||h<=d){g++;if(g===b)break;a.md(b);a.Zd(g,c);return g}for(h=NaN;0<=--g&&(h=a.fa(g).yo,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.md(b);a.Zd(k,c);return k}for(l=NaN;++kd&&k.Qa===c&&(d=h,0<=b))break}!(0>d)&&d=e)return b;0>b&&(b=a.indexOf(c));if(0>b)return-1;for(var g=b-1,h=NaN;0<=g;){h=a.fa(g).xo;if(!isNaN(h))break;g--}for(var k=b+1,l=NaN;kd)for(;;){if(-1===g||h<=d){g++;if(g===b)break;a.md(b);a.Yd(g,c);return g}for(h=NaN;0<=--g&&(h=a.fa(g).xo,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.md(b);a.Yd(k,c);return k}for(l=NaN;++ka||1e[1]&&(z.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+
+function C(a){function b(){window.document.removeEventListener("DOMContentLoaded",b,!1);vl(c)}1e[1]&&(z.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+
z.vfo+". This license key will do nothing until you upgrade to GoJS 1.7 or later."),z.xx.licenseKey=!0);this.Dl=1;this.Wm=0;this.mD=new M;this.iE=500;this.tv=new M;this.qt=null;this.cd=this.Al=!1}z.ka("Diagram",C);
-C.prototype.clear=C.prototype.clear=function(){var a=null;null!==this.Cd&&(a=this.Cd.ba);this.ia.clear();for(var b=this.bc.length,c=0;c=a)return b;for(var c=this.bc.j;c.next();)b+="\n "+c.value.toString(a-1);return b};C.fromDiv=function(a){var b=a;"string"===typeof a&&(b=window.document.getElementById(a));return b instanceof HTMLDivElement&&b.ca instanceof C?b.ca:null};
z.defineProperty(C,{Aj:"div"},function(){return this.Tb},function(a){null!==a&&z.l(a,HTMLDivElement,C,"div");if(this.Tb!==a){wl=[];var b=this.Tb;null!==b?(b.ca=void 0,b.innerHTML="",null!==this.Lb&&(this.Lb.removeEventListener("touchstart",this.WG,!1),this.Lb.removeEventListener("touchmove",this.VG,!1),this.Lb.removeEventListener("touchend",this.UG,!1),this.Lb.Fd.ca=null),b=this.ib,null!==b&&(b.nf.each(function(a){a.cancelWaitAfter()}),b.jg.each(function(a){a.cancelWaitAfter()}),b.kg.each(function(a){a.cancelWaitAfter()})),
-b.cancelWaitAfter(),this.fb.doCancel(),this.pd=this.Lb=null,window.removeEventListener("resize",this.dH,!1),window.removeEventListener("mousemove",this.Cq,!0),window.removeEventListener("mousedown",this.Bq,!0),window.removeEventListener("mouseup",this.Eq,!0),window.removeEventListener("mousewheel",this.Qh,!0),window.removeEventListener("DOMMouseScroll",this.Qh,!0),window.removeEventListener("mouseout",this.Dq,!0)):this.sh=!1;this.Tb=null;if(null!==a){if(b=a.ca)b.Aj=null;Il(this,a);this.Iq()}}});
-function Ll(a){var b=a.Lb;b.addEventListener("touchstart",a.WG,!1);b.addEventListener("touchmove",a.VG,!1);b.addEventListener("touchend",a.UG,!1);b.addEventListener("mousemove",a.Cq,!1);b.addEventListener("mousedown",a.Bq,!1);b.addEventListener("mouseup",a.Eq,!1);b.addEventListener("mousewheel",a.Qh,!1);b.addEventListener("DOMMouseScroll",a.Qh,!1);b.addEventListener("mouseout",a.Dq,!1);b.addEventListener("keydown",a.mJ,!1);b.addEventListener("keyup",a.nJ,!1);b.addEventListener("selectstart",function(a){a.preventDefault();
-return!1},!1);b.addEventListener("contextmenu",function(a){a.preventDefault();return!1},!1);b.addEventListener("gesturechange",function(b){a.ib.oq===Dk&&b.preventDefault()},!1);b.addEventListener("pointerdown",a.QJ,!1);b.addEventListener("pointermove",a.SJ,!1);b.addEventListener("pointerleave",a.RJ,!1);window.addEventListener("resize",a.dH,!1)}C.prototype.computePixelRatio=function(){return null!==this.zk?this.zk:this.rH};C.prototype.doMouseMove=function(){this.fb.doMouseMove()};
+b.cancelWaitAfter(),this.fb.doCancel(),this.pd=this.Lb=null,window.removeEventListener("resize",this.dH,!1),window.removeEventListener("mousemove",this.Bq,!0),window.removeEventListener("mousedown",this.Aq,!0),window.removeEventListener("mouseup",this.Dq,!0),window.removeEventListener("mousewheel",this.Qh,!0),window.removeEventListener("DOMMouseScroll",this.Qh,!0),window.removeEventListener("mouseout",this.Cq,!0)):this.sh=!1;this.Tb=null;if(null!==a){if(b=a.ca)b.Aj=null;Il(this,a);this.Iq()}}});
+function Ll(a){var b=a.Lb;b.addEventListener("touchstart",a.WG,!1);b.addEventListener("touchmove",a.VG,!1);b.addEventListener("touchend",a.UG,!1);b.addEventListener("mousemove",a.Bq,!1);b.addEventListener("mousedown",a.Aq,!1);b.addEventListener("mouseup",a.Dq,!1);b.addEventListener("mousewheel",a.Qh,!1);b.addEventListener("DOMMouseScroll",a.Qh,!1);b.addEventListener("mouseout",a.Cq,!1);b.addEventListener("keydown",a.mJ,!1);b.addEventListener("keyup",a.nJ,!1);b.addEventListener("selectstart",function(a){a.preventDefault();
+return!1},!1);b.addEventListener("contextmenu",function(a){a.preventDefault();return!1},!1);b.addEventListener("gesturechange",function(b){a.ib.nq===Dk&&b.preventDefault()},!1);b.addEventListener("pointerdown",a.QJ,!1);b.addEventListener("pointermove",a.SJ,!1);b.addEventListener("pointerleave",a.RJ,!1);window.addEventListener("resize",a.dH,!1)}C.prototype.computePixelRatio=function(){return null!==this.zk?this.zk:this.rH};C.prototype.doMouseMove=function(){this.fb.doMouseMove()};
C.prototype.doMouseDown=function(){this.fb.doMouseDown()};C.prototype.doMouseUp=function(){this.fb.doMouseUp()};C.prototype.doMouseWheel=function(){this.fb.doMouseWheel()};C.prototype.doKeyDown=function(){this.fb.doKeyDown()};C.prototype.doKeyUp=function(){this.fb.doKeyUp()};C.prototype.doFocus=function(){this.focus()};C.prototype.focus=C.prototype.focus=function(){this.Lb&&this.Lb.focus()};
-function al(a){if(null!==a.Lb){var b=a.Tb;if(0!==b.clientWidth&&0!==b.clientHeight){var c=a.wl?a.Ud:0,d=a.hk?a.Ud:0,e=a.rd;a.rd=a.computePixelRatio();a.rd!==e&&(a.bs=!0,a.Te());if(b.clientWidth!==a.Ob+c||b.clientHeight!==a.Sb+d)a.Qm=!0,a.Ne=!0,b=a.Wb,null!==b&&b.Vx&&a.Zl===Qh&&b.N(),a.je||a.Te()}}}
+function al(a){if(null!==a.Lb){var b=a.Tb;if(0!==b.clientWidth&&0!==b.clientHeight){var c=a.wl?a.Td:0,d=a.hk?a.Td:0,e=a.rd;a.rd=a.computePixelRatio();a.rd!==e&&(a.bs=!0,a.Te());if(b.clientWidth!==a.Ob+c||b.clientHeight!==a.Sb+d)a.Qm=!0,a.Ne=!0,b=a.Wb,null!==b&&b.Vx&&a.Zl===Qh&&b.N(),a.ie||a.Te()}}}
function Fl(a){var b=new ah;b.name="Background";a.Lt(b);b=new ah;b.name="";a.Lt(b);b=new ah;b.name="Foreground";a.Lt(b);b=new ah;b.name="Adornment";b.Wc=!0;a.Lt(b);b=new ah;b.name="Tool";b.Wc=!0;b.DF=!0;a.Lt(b);b=new ah;b.name="Grid";b.Df=!1;b.qg=!1;b.Wc=!0;a.KH(b,a.hm("Background"))}
function Ml(a){a.Cd=new I(Nl);a.Cd.name="GRID";var b=new Y;b.Jb="LineH";b.stroke="lightgray";b.mb=.5;b.interval=1;a.Cd.add(b);b=new Y;b.Jb="LineH";b.stroke="gray";b.mb=.5;b.interval=5;a.Cd.add(b);b=new Y;b.Jb="LineH";b.stroke="gray";b.mb=1;b.interval=10;a.Cd.add(b);b=new Y;b.Jb="LineV";b.stroke="lightgray";b.mb=.5;b.interval=1;a.Cd.add(b);b=new Y;b.Jb="LineV";b.stroke="gray";b.mb=.5;b.interval=5;a.Cd.add(b);b=new Y;b.Jb="LineV";b.stroke="gray";b.mb=1;b.interval=10;a.Cd.add(b);b=new D;b.add(a.Cd);
-b.Lf="Grid";b.yo=0;b.Qx=!1;b.CF=!1;b.qg=!1;b.ay="GRID";a.add(b);a.pb.remove(b);a.Cd.visible=!1}C.prototype.tH=function(){this.ca.isEnabled?this.ca.qI(this):Ol(this.ca)};C.prototype.xD=function(a){this.ca.isEnabled?(this.ca.Sz=!0,this.ca.Uz=a.target.scrollTop,this.ca.Tz=a.target.scrollLeft):Ol(this.ca)};
+b.Lf="Grid";b.xo=0;b.Qx=!1;b.CF=!1;b.qg=!1;b.ay="GRID";a.add(b);a.pb.remove(b);a.Cd.visible=!1}C.prototype.tH=function(){this.ca.isEnabled?this.ca.qI(this):Ol(this.ca)};C.prototype.xD=function(a){this.ca.isEnabled?(this.ca.Sz=!0,this.ca.Uz=a.target.scrollTop,this.ca.Tz=a.target.scrollLeft):Ol(this.ca)};
C.prototype.diagramScroll=C.prototype.qI=function(a){if(this.Sz&&null!==this.Lb){this.Gw=!0;var b=this.fd,c=this.yb,d=b.width,e=c.width,g=b.height,h=c.height,k=b.right,l=c.right,m=b.bottom,n=c.bottom,p=b.x,q=c.x,b=b.y,c=c.y,r=this.scale,s;s=a.scrollLeft;if(this.fs)switch(this.Qz){case "negative":s=s+a.scrollWidth-a.clientWidth;break;case "reverse":s=a.scrollWidth-s-a.clientWidth}var v=s;el&&(this.position=s.m(-(this.Kw.scrollWidth-this.Ob)+v-this.Ob/r+k,this.position.y))),a.xH&&this.Be&&(bn&&(this.position=s.m(this.position.x,-(this.Kw.scrollHeight-this.Sb)+a.scrollTop-this.Sb/r+m))),z.A(s),Pl(this),this.Qm=this.Gw=!1,b=this.fd,c=this.yb,k=b.right,l=c.right,
m=b.bottom,n=c.bottom,p=b.x,q=c.x,b=b.y,c=c.y,e>=d&&p>=q&&k<=l&&(this.ht.style.width="1px"),h>=g&&b>=c&&m<=n&&(this.ht.style.height="1px"))}};C.prototype.computeBounds=C.prototype.Jh=function(){0c&&(e=c),ea.Oh&&(e=a.Oh),e):b===Wl?(e=l>k?(h-a.Ud)/d:(g-a.Ud)/e,e>c&&(e=c),ea.Oh&&(e=a.Oh),e):a.scale}C.prototype.zoomToFit=C.prototype.zoomToFit=function(){this.scale=Sl(this,Vl)};
-C.prototype.zoomToRect=function(a,b){void 0===b&&(b=Vl);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Vl||b===Wl)if(isNaN(c))e=this.yb.height*this.scale/d;else if(isNaN(d))e=this.yb.width*this.scale/c;else var e=this.Ob,g=this.Sb,e=b===Wl?g/d>e/c?(g-(this.hk?this.Ud:0))/d:(e-(this.wl?this.Ud:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new M(a.x,a.y)}};z.defineProperty(C,{RA:null},function(){return this.cd},function(a){this.cd=a});
+function Rl(a,b){if((b||a.sh)&&!a.cd&&null!==a.Lb&&!a.Ya.wf&&a.fd.F()){a.cd=!0;var c=a.Gm;b&&a.yl!==Qh&&(c=a.yl);var d=c!==Qh?Sl(a,c):a.scale,c=a.yb.copy(),e=a.Ob/d,g=a.Sb/d,h=null,k=a.Ya;k.yc&&(h=a.ub.copy());a.position.Za();var l=a.Jo;b&&!l.jd()&&a.ep.jd()&&(l=a.ep);Tl(a,a.ub,a.fd,e,g,l,b);a.position.freeze();null!==h&&ml(k,h,a.ub);e=a.scale;a.scale=d;a.cd=!1;d=a.yb;d.Vc(c)||a.Lu(c,d,e,a.scale,!1)}}
+function Sl(a,b){var c=a.xb.vx;if(null===a.Lb)return c;a.ik&&Ul(a,a.Jh());var d=a.fd;if(!d.F())return c;var e=d.width,d=d.height,g=a.Ob,h=a.Sb,k=g/e,l=h/d;return b===Vl?(e=Math.min(l,k),e>c&&(e=c),ea.Oh&&(e=a.Oh),e):b===Wl?(e=l>k?(h-a.Td)/d:(g-a.Td)/e,e>c&&(e=c),ea.Oh&&(e=a.Oh),e):a.scale}C.prototype.zoomToFit=C.prototype.zoomToFit=function(){this.scale=Sl(this,Vl)};
+C.prototype.zoomToRect=function(a,b){void 0===b&&(b=Vl);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Vl||b===Wl)if(isNaN(c))e=this.yb.height*this.scale/d;else if(isNaN(d))e=this.yb.width*this.scale/c;else var e=this.Ob,g=this.Sb,e=b===Wl?g/d>e/c?(g-(this.hk?this.Td:0))/d:(e-(this.wl?this.Td:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new M(a.x,a.y)}};z.defineProperty(C,{RA:null},function(){return this.cd},function(a){this.cd=a});
C.prototype.alignDocument=function(a,b){this.ik&&Ul(this,this.Jh());var c=this.fd,d=this.yb;this.position=new M(c.x+(a.x*c.width+a.offsetX)-(b.x*d.width-b.offsetX),c.y+(a.y*c.height+a.offsetY)-(b.y*d.height-b.offsetY))};
function Tl(a,b,c,d,e,g,h){var k=b.x,l=b.y;if(h||a.uB===xl)g.jd()&&(d>c.width&&(k=c.x+(g.x*c.width+g.offsetX)-(g.x*d-g.offsetX)),e>c.height&&(l=c.y+(g.y*c.height+g.offsetY)-(g.y*e-g.offsetY))),g=a.xG,h=d-c.width,dc.left?k=c.left:kc.top?l=c.top:lc.touches.length)&&c.preventDefault();c.cancelBubble=!0;return!1}
C.prototype.mJ=function(a){if(!this.ca.isEnabled)return!1;var b=this.ca.Ub;Xl(this.ca,this.ca,a,b,!1);b.key=String.fromCharCode(a.which);b.gm=!0;switch(a.which){case 8:b.key="Backspace";break;case 33:b.key="PageUp";break;case 34:b.key="PageDown";break;case 35:b.key="End";break;case 36:b.key="Home";break;case 37:b.key="Left";break;case 38:b.key="Up";break;case 39:b.key="Right";break;case 40:b.key="Down";break;case 45:b.key="Insert";break;case 46:b.key="Del";break;case 48:b.key="0";break;case 187:case 61:case 107:b.key=
"Add";break;case 189:case 173:case 109:b.key="Subtract";break;case 27:b.key="Esc"}this.ca.doKeyDown();return 187!==a.which&&189!==a.which&&48!==a.which&&107!==a.which&&109!==a.which&&61!==a.which&&173!==a.which||!0!==a.ctrlKey?ia(this.ca,b,a):(a.cancelBubble=!0,a.preventDefault(),a.stopPropagation(),!1)};
C.prototype.nJ=function(a){if(!this.ca.isEnabled)return!1;var b=this.ca.Ub;Xl(this.ca,this.ca,a,b,!1);b.key=String.fromCharCode(a.which);b.up=!0;switch(a.which){case 8:b.key="Backspace";break;case 33:b.key="PageUp";break;case 34:b.key="PageDown";break;case 35:b.key="End";break;case 36:b.key="Home";break;case 37:b.key="Left";break;case 38:b.key="Up";break;case 39:b.key="Right";break;case 40:b.key="Down";break;case 45:b.key="Insert";break;case 46:b.key="Del";break;case 93:a.preventDefault()}this.ca.doKeyUp();
-return ia(this.ca,b,a)};C.prototype.bp=function(a){var b=this.Lb;if(null===b)return new M(0,0);var c=this.Ob,d=this.Sb,b=b.getBoundingClientRect(),c=a.clientX-c/b.width*b.left;a=a.clientY-d/b.height*b.top;return null!==this.Jc?(a=new M(c,a),ub(a,this.Jc),a):new M(c,a)};
-function Yl(a,b,c){var d=a.Lb,e=a.Ob,g=a.Sb,h=0,k=0;null!==d&&(d=d.getBoundingClientRect(),h=b.clientX-e/d.width*d.left,k=b.clientY-g/d.height*d.top);c.te.m(h,k);null!==a.Jc?(b=z.Fb(h,k),a.Jc.Ci(b),c.ha.assign(b),z.A(b)):c.ha.m(h,k)}
-function Zf(a,b,c,d){var e=null;if(void 0!==b.targetTouches){if(2>b.targetTouches.length)return;e=b.targetTouches[c]}else if(null!==a.nj[0])e=a.nj[c];else return;c=a.Lb;b=a.Ob;a=a.Sb;var g=0,h=0;null!==c&&null!==e&&(c=c.getBoundingClientRect(),g=e.clientX-b/c.width*c.left,h=e.clientY-a/c.height*c.top);d.m(g,h)}C.prototype.invalidateDocumentBounds=C.prototype.Bc=function(){this.ik||(this.ik=!0,this.Te(!0))};function jl(a){a.je||Li(a);a.ik&&Ul(a,a.Jh())}
-C.prototype.redraw=C.prototype.Iq=function(){this.cd||this.je||(this.ra(),am(this),Pl(this),this.Bc(),this.hg())};C.prototype.isUpdateRequested=function(){return this.Zf};C.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Ya,c=b.isEnabled;b.Ii();b.isEnabled=!1;Vi(this);this.sh=!1;b.isEnabled=c;null!==a&&z.setTimeout(a,1)};
-C.prototype.requestUpdate=C.prototype.Te=function(a){void 0===a&&(a=!1);if(!0!==this.Zf&&!(this.cd||!1===a&&this.je)){this.Zf=!0;var b=this;requestAnimationFrame(function(){b.Zf&&b.hg()})}};C.prototype.maybeUpdate=C.prototype.hg=function(){if(!this.$o||this.Zf)this.$o&&(this.$o=!1),Vi(this)};function bm(a,b){a.Ya.wf||a.cd||!a.Qm||Ol(a)||(b&&Li(a),Rl(a,!1))}
-function Vi(a){if(!a.je&&(a.Zf=!1,null!==a.Tb)){a.je=!0;var b=a.Ya,c=a.Pz;if(!b.lp&&0!==c.length){for(var d=c.o,e=d.length,g=0;gb;b++){var c=a.Cg.j;if(null===c||0===a.Cg.count)break;a.Cg=new K(O);a.QB(c,a.Cg);u&&22===b&&z.trace("failure to validate parts")}a.og.each(function(a){a instanceof F&&0!==(a.Ha&65536)!==!1&&(a.Ha^=65536)})}}
-C.prototype.QB=function(a,b){for(a.reset();a.next();){var c=a.value;!c.re()||c instanceof F||(c.sm()?(Bk(c,Infinity,Infinity),c.rc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof F&&c.isVisible()&&Bm(this,c);for(a.reset();a.next();)c=a.value,c instanceof H&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.rc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof ea&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.rc()):b.add(c))};
-function Bm(a,b){for(var c=z.tb(),d=z.tb(),e=b.Oc;e.next();){var g=e.value;g.isVisible()&&(g instanceof F?(Cm(g)||Dm(g)||Em(g))&&Bm(a,g):g instanceof H?g.aa===b||g.ea===b?d.push(g):c.push(g):(Bk(g,Infinity,Infinity),g.rc()))}for(var e=c.length,h=0;hb.targetTouches.length)return;e=b.targetTouches[c]}else if(null!==a.nj[0])e=a.nj[c];else return;c=a.Lb;b=a.Ob;a=a.Sb;var g=0,h=0;null!==c&&null!==e&&(c=c.getBoundingClientRect(),g=e.clientX-b/c.width*c.left,h=e.clientY-a/c.height*c.top);d.m(g,h)}C.prototype.invalidateDocumentBounds=C.prototype.Bc=function(){this.ik||(this.ik=!0,this.Te(!0))};function jl(a){a.ie||Li(a);a.ik&&Ul(a,a.Jh())}
+C.prototype.redraw=C.prototype.Iq=function(){this.cd||this.ie||(this.ra(),am(this),Pl(this),this.Bc(),this.hg())};C.prototype.isUpdateRequested=function(){return this.Zf};C.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Ya,c=b.isEnabled;b.Ii();b.isEnabled=!1;Vi(this);this.sh=!1;b.isEnabled=c;null!==a&&z.setTimeout(a,1)};
+C.prototype.requestUpdate=C.prototype.Te=function(a){void 0===a&&(a=!1);if(!0!==this.Zf&&!(this.cd||!1===a&&this.ie)){this.Zf=!0;var b=this;requestAnimationFrame(function(){b.Zf&&b.hg()})}};C.prototype.maybeUpdate=C.prototype.hg=function(){if(!this.Zo||this.Zf)this.Zo&&(this.Zo=!1),Vi(this)};function bm(a,b){a.Ya.wf||a.cd||!a.Qm||Ol(a)||(b&&Li(a),Rl(a,!1))}
+function Vi(a){if(!a.ie&&(a.Zf=!1,null!==a.Tb)){a.ie=!0;var b=a.Ya,c=a.Pz;if(!b.kp&&0!==c.length){for(var d=c.o,e=d.length,g=0;gb;b++){var c=a.Cg.j;if(null===c||0===a.Cg.count)break;a.Cg=new K(O);a.QB(c,a.Cg);u&&22===b&&z.trace("failure to validate parts")}a.og.each(function(a){a instanceof F&&0!==(a.Ha&65536)!==!1&&(a.Ha^=65536)})}}
+C.prototype.QB=function(a,b){for(a.reset();a.next();){var c=a.value;!c.qe()||c instanceof F||(c.sm()?(Bk(c,Infinity,Infinity),c.qc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof F&&c.isVisible()&&Bm(this,c);for(a.reset();a.next();)c=a.value,c instanceof H&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.qc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof ea&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.qc()):b.add(c))};
+function Bm(a,b){for(var c=z.tb(),d=z.tb(),e=b.Oc;e.next();){var g=e.value;g.isVisible()&&(g instanceof F?(Cm(g)||Dm(g)||Em(g))&&Bm(a,g):g instanceof H?g.aa===b||g.ea===b?d.push(g):c.push(g):(Bk(g,Infinity,Infinity),g.qc()))}for(var e=c.length,h=0;hx+1&&
-(N=Math.max((t-x)*c+a.Ob,N)),q+k+1p+1&&(G=Math.max((B-p)*c+a.Sb,G)),r+l+1x+1&&(N=Math.max((t-x)*c+a.Ob,N)),q+1p+1&&(G=Math.max((B-p)*c+l,G)),r+1x+1&&(k=a.position.x*c));if(a.fs)switch(a.Qz){case "negative":k=-(b.scrollWidth-k-b.clientWidth);break;case "reverse":k=b.scrollWidth-k-b.clientWidth}b.scrollLeft=k;a.OA&&a.Be&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.bs=!0);m=a.Ob;n=a.Sb;b.style.width=m+(a.wl?a.Ud:0)+"px";b.style.height=n+(a.hk?a.Ud:0)+"px";a.Sz=!1;return d!==m||e!==
+function Ol(a){var b=a.Lb;if(null===b)return!0;var c=a.Tb,d=a.Ob,e=a.Sb,g=a.mE.copy();if(!g.F())return!0;var h=!1,k=a.wl?a.Td:0,l=a.hk?a.Td:0,m=c.clientWidth||d+k,n=c.clientHeight||e+l;if(m!==d+k||n!==e+l)a.wl=!1,a.hk=!1,l=k=0,a.Ob=m,a.Sb=n,h=a.bs=!0;a.Qm=!1;var p=a.yb,c=a.fd,m=c.width,n=c.height,q=p.width,r=p.height,s=c.x,v=p.x,t=c.right,x=p.right+k,y=c.y,B=p.y,A=c.bottom,p=p.bottom+l,N="1px",G="1px",c=a.scale;a.uB===xl&&mx+1&&
+(N=Math.max((t-x)*c+a.Ob,N)),q+k+1p+1&&(G=Math.max((A-p)*c+a.Sb,G)),r+l+1x+1&&(N=Math.max((t-x)*c+a.Ob,N)),q+1p+1&&(G=Math.max((A-p)*c+l,G)),r+1x+1&&(k=a.position.x*c));if(a.fs)switch(a.Qz){case "negative":k=-(b.scrollWidth-k-b.clientWidth);break;case "reverse":k=b.scrollWidth-k-b.clientWidth}b.scrollLeft=k;a.OA&&a.Be&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.bs=!0);m=a.Ob;n=a.Sb;b.style.width=m+(a.wl?a.Td:0)+"px";b.style.height=n+(a.hk?a.Td:0)+"px";a.Sz=!1;return d!==m||e!==
n||a.Ya.yc?(p=a.yb,a.Lu(g,p,c,a.scale,h),!1):!0}
-C.prototype.add=C.prototype.add=function(a){z.l(a,D,C,"add:part");var b=a.g;if(b!==this){null!==b&&z.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.cr&&(a.El="Tool");var c=a.Lf,b=this.hm(c);null===b&&(b=this.hm(""));null===b&&z.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.rq(99999999,a,a.g===this),0<=c&&this.ld(sg,"parts",b,null,a,null,c),b.Wc||this.Bc(),a.N(Lm),c=a.Yx,null!==
+C.prototype.add=C.prototype.add=function(a){z.l(a,D,C,"add:part");var b=a.g;if(b!==this){null!==b&&z.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.cr&&(a.El="Tool");var c=a.Lf,b=this.hm(c);null===b&&(b=this.hm(""));null===b&&z.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.qq(99999999,a,a.g===this),0<=c&&this.ld(sg,"parts",b,null,a,null,c),b.Wc||this.Bc(),a.N(Lm),c=a.Yx,null!==
c&&c(a,null,b))}};
-C.prototype.rq=function(a){if(a instanceof E){if(this.zp.add(a),a instanceof F){var b=a.Qa;null===b?this.Pl.add(a):b.cn.add(a);b=a.Wb;null!==b&&(b.g=this)}}else a instanceof H?this.sp.add(a):a instanceof ea||this.pb.add(a);var c=this;Mm(a,function(a){Nm(c,a)});a.Qb&&a.K();b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.add(b,a):this.Ti.add(b,a)),Mm(a,function(a){Om(c,a)}));!0!==Dm(a)&&!0!==Em(a)||this.Cg.add(a);Pm(a,!0,this);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&
+C.prototype.qq=function(a){if(a instanceof E){if(this.yp.add(a),a instanceof F){var b=a.Qa;null===b?this.Pl.add(a):b.cn.add(a);b=a.Wb;null!==b&&(b.g=this)}}else a instanceof H?this.rp.add(a):a instanceof ea||this.pb.add(a);var c=this;Mm(a,function(a){Nm(c,a)});a.Qb&&a.K();b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.add(b,a):this.Ti.add(b,a)),Mm(a,function(a){Om(c,a)}));!0!==Dm(a)&&!0!==Em(a)||this.Cg.add(a);Pm(a,!0,this);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&
a.Z.F()&&this.ra(sl(a,a.Z));this.Te()};
-C.prototype.vf=function(a){a.Vt();if(a instanceof E){if(this.zp.remove(a),a instanceof F){var b=a.Qa;null===b?this.Pl.remove(a):b.cn.remove(a);b=a.Wb;null!==b&&(b.g=null)}}else a instanceof H?this.sp.remove(a):a instanceof ea||this.pb.remove(a);var c=this;Mm(a,function(a){Rm(c,a)});b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.remove(b):this.Ti.remove(b)),Mm(a,function(a){Sm(c,a)}));this.Cg.remove(a);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&a.Z.F()&&this.ra(sl(a,
+C.prototype.vf=function(a){a.Vt();if(a instanceof E){if(this.yp.remove(a),a instanceof F){var b=a.Qa;null===b?this.Pl.remove(a):b.cn.remove(a);b=a.Wb;null!==b&&(b.g=null)}}else a instanceof H?this.rp.remove(a):a instanceof ea||this.pb.remove(a);var c=this;Mm(a,function(a){Rm(c,a)});b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.remove(b):this.Ti.remove(b)),Mm(a,function(a){Sm(c,a)}));this.Cg.remove(a);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&a.Z.F()&&this.ra(sl(a,
a.Z));this.Te()};C.prototype.remove=C.prototype.remove=function(a){z.l(a,D,C,"remove:part");Tm(this,a,!0)};function Tm(a,b,c){var d=b.layer;null!==d&&d.g===a&&(b.gb=!1,b.Wg=!1,b.N(Um),c&&b.Mn(),c=d.vf(-1,b,!1),0<=c&&a.ld(tg,"parts",d,b,null,c,null),a=b.Yx,null!==a&&a(b,d,null))}
-C.prototype.removeParts=C.prototype.rB=function(a,b){if(z.isArray(a))for(var c=z.bb(a),d=0;dd&&this.Bc()};
-C.prototype.addLayerAfter=function(a,b){Vm(this,a,b);a.$c(this);var c=this.bc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.ye&&this.ld(tg,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.Bc()};
-C.prototype.removeLayer=function(a){z.l(a,ah,C,"removeLayer:layer");a.g!==this&&z.k("Cannot remove a Layer from another Diagram: "+a+" of "+a.g);if(""!==a.name){var b=this.bc,c=b.indexOf(a);if(b.remove(a)){for(b=a.pb.copy().j;b.next();){var d=b.value,e=d.Lf;d.Lf=e!==a.name?e:""}null!==this.ye&&this.ld(tg,"layers",this,a,null,c,null);this.ra();this.Bc()}}};C.prototype.findLayer=C.prototype.hm=function(a){for(var b=this.ao;b.next();){var c=b.value;if(c.name===a)return c}return null};
+b+"'; a Layer with the same name is already present in this Diagram.")}}C.prototype.addLayer=C.prototype.Lt=function(a){Vm(this,a,null);a.$c(this);var b=this.bc,c=b.count-1;if(!a.Wc)for(;0<=c&&b.fa(c).Wc;)c--;b.Yd(c+1,a);null!==this.xe&&this.ld(sg,"layers",this,null,a,null,c+1);this.ra();this.Bc()};
+C.prototype.addLayerBefore=C.prototype.KH=function(a,b){Vm(this,a,b);a.$c(this);var c=this.bc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.xe&&this.ld(tg,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.Bc()};
+C.prototype.addLayerAfter=function(a,b){Vm(this,a,b);a.$c(this);var c=this.bc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.xe&&this.ld(tg,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.Bc()};
+C.prototype.removeLayer=function(a){z.l(a,ah,C,"removeLayer:layer");a.g!==this&&z.k("Cannot remove a Layer from another Diagram: "+a+" of "+a.g);if(""!==a.name){var b=this.bc,c=b.indexOf(a);if(b.remove(a)){for(b=a.pb.copy().j;b.next();){var d=b.value,e=d.Lf;d.Lf=e!==a.name?e:""}null!==this.xe&&this.ld(tg,"layers",this,a,null,c,null);this.ra();this.Bc()}}};C.prototype.findLayer=C.prototype.hm=function(a){for(var b=this.ao;b.next();){var c=b.value;if(c.name===a)return c}return null};
C.prototype.addModelChangedListener=C.prototype.MH=function(a){z.h(a,"function",C,"addModelChangedListener:listener");null===this.vh&&(this.vh=new J("function"));this.vh.add(a);this.ia.An(a)};C.prototype.removeModelChangedListener=function(a){z.h(a,"function",C,"removeModelChangedListener:listener");null!==this.vh&&(this.vh.remove(a),0===this.vh.count&&(this.vh=null));this.ia.Ou(a)};
C.prototype.addChangedListener=C.prototype.An=function(a){z.h(a,"function",C,"addChangedListener:listener");null===this.Oi&&(this.Oi=new J("function"));this.Oi.add(a)};C.prototype.removeChangedListener=C.prototype.Ou=function(a){z.h(a,"function",C,"removeChangedListener:listener");null!==this.Oi&&(this.Oi.remove(a),0===this.Oi.count&&(this.Oi=null))};
C.prototype.mx=function(a){this.Eb||this.sa.wF(a);a.Kc!==rg&&(this.Fi=!0);if(null!==this.Oi){var b=this.Oi,c=b.length;if(1===c)b=b.fa(0),b(a);else if(0!==c)for(var d=b.nc(),e=0;ea.Oh&&(c=a.Oh);e=z.Fb(a.ub.x+h/b-h/c,a.ub.y+k/b-k/c);a.position=e;z.A(e);a.Rb=c;a.Lu(d,a.yb,b,c,!1);a.cd=!1;Rl(a,
-!1);c=a.Ya;c.yc&&nl(c,b,a.Rb);a.ra();am(a)}}C.prototype.Lu=function(a,b,c,d,e){a.O(b)||(void 0===e&&(e=!1),e||am(this),Pl(this),d=this.Wb,null===d||!d.Vx||this.Zl!==Qh||e||a.width===b.width&&a.height===b.height||d.N(),d=this.fb,!0===this.Sm&&d instanceof Kh&&(this.U.ha=this.NB(this.U.te),Fk(d,this)),this.cd||this.BF(a,b),dm(this),this.Eh.scale=c,this.Eh.position.x=a.x,this.Eh.position.y=a.y,this.Eh.bounds.set(a),this.Eh.isScroll=e,this.Ka("ViewportBoundsChanged",this.Eh,a))};
+function Wm(a,b,c){if(a.cd||a.ie)a.Rb=c,c=a.Ya,c.yc&&nl(c,b,a.Rb);else if(a.cd=!0,null===a.Lb)a.Rb=c;else{var d=a.yb.copy(),e=a.Ob,g=a.Sb;d.width=a.Ob/b;d.height=a.Sb/b;var h=a.Dm.x,k=a.Dm.y,l=a.JE;isNaN(h)&&(l.Gj()?l.Fj(sc)?h=0:l.Fj(xc)&&(h=e-1):h=l.jd()?l.x*(e-1):e/2);isNaN(k)&&(l.Gj()?l.Fj(rc)?k=0:l.Fj(yc)&&(k=g-1):k=l.jd()?l.y*(g-1):g/2);null!==a.wG&&(c=a.wG(a,c));ca.Oh&&(c=a.Oh);e=z.Fb(a.ub.x+h/b-h/c,a.ub.y+k/b-k/c);a.position=e;z.A(e);a.Rb=c;a.Lu(d,a.yb,b,c,!1);a.cd=!1;Rl(a,
+!1);c=a.Ya;c.yc&&nl(c,b,a.Rb);a.ra();am(a)}}C.prototype.Lu=function(a,b,c,d,e){a.O(b)||(void 0===e&&(e=!1),e||am(this),Pl(this),d=this.Wb,null===d||!d.Vx||this.Zl!==Qh||e||a.width===b.width&&a.height===b.height||d.N(),d=this.fb,!0===this.Sm&&d instanceof Kh&&(this.U.ha=this.NB(this.U.se),Fk(d,this)),this.cd||this.BF(a,b),dm(this),this.Eh.scale=c,this.Eh.position.x=a.x,this.Eh.position.y=a.y,this.Eh.bounds.set(a),this.Eh.isScroll=e,this.Ka("ViewportBoundsChanged",this.Eh,a))};
function dm(a,b){void 0===b&&(b=null);var c=a.Cd;if(null!==c&&c.visible){for(var d=z.Am(),e=1,g=1,h=c.va.o,k=h.length,l=0;ln||(Xm(m.Jb)?g=g*n/Te(g,n):e=e*n/Te(e,n))}h=c.Kx;d.m(g*h.width,e*h.height);h=g=l=k=0;if(null!==b)k=b.width,l=b.height,g=b.x,h=b.y;else{e=z.Of();g=a.yb;e.m(g.x,g.y,g.width,g.height);for(h=a.ww.j;h.next();)g=h.value.yb,g.F()&&Rb(e,g.x,g.y,g.width,g.height);if(!e.F()){z.Mb(e);return}k=e.width;l=e.height;g=e.x;h=e.y;z.Mb(e)}c.width=k+2*d.width;c.height=
l+2*d.height;e=z.P();tb(g,h,0,0,d.width,d.height,e);e.offset(-d.width,-d.height);z.Qk(d);c.ba.location=e;z.A(e)}}C.prototype.clearSelection=C.prototype.ox=function(){var a=0l)){var m=l;kn(k)&&m++;k.vf(m);ln(k,m,l)}}}}function Om(a,b){var c=b.cj;if(z.isArray(c)){var d=a.Um.qa(c);if(null===d)d=[],d.push(b),a.Um.add(c,d);else{for(c=0;cthis.scale&&(this.scale=a)):z.wa(a,"> 0",C,"minScale"))});
z.defineProperty(C,{Oh:"maxScale"},function(){return this.kw},function(a){z.p(a,C,"maxScale");var b=this.kw;b!==a&&(0 0",C,"maxScale"))});z.defineProperty(C,{Dm:"zoomPoint"},function(){return this.ax},function(a){this.ax.O(a)||(z.l(a,M,C,"zoomPoint"),this.ax=a=a.V())});
-z.defineProperty(C,{JE:"contentAlignment"},function(){return this.Ko},function(a){var b=this.Ko;b.O(a)||(z.l(a,R,C,"contentAlignment"),this.Ko=a=a.V(),this.i("contentAlignment",b,a),Rl(this,!1))});z.defineProperty(C,{LL:"initialContentAlignment"},function(){return this.fp},function(a){var b=this.fp;b.O(a)||(z.l(a,R,C,"initialContentAlignment"),this.fp=a=a.V(),this.i("initialContentAlignment",b,a))});
-z.defineProperty(C,{padding:"padding"},function(){return this.sf},function(a){"number"===typeof a?a=new Kb(a):z.l(a,Kb,C,"padding");var b=this.sf;b.O(a)||(this.sf=a=a.V(),this.Bc(),this.i("padding",b,a))});z.w(C,{og:"nodes"},function(){return this.zp.j});z.w(C,{links:"links"},function(){return this.sp.j});z.w(C,{Gi:"parts"},function(){return this.pb.j});
-C.prototype.findTopLevelNodesAndLinks=function(){for(var a=new K(D),b=this.zp.j;b.next();){var c=b.value;c.wq&&a.add(c)}for(b=this.sp.j;b.next();)c=b.value,c.wq&&a.add(c);return a.j};C.prototype.findTopLevelGroups=function(){return this.Pl.j};z.defineProperty(C,{Wb:"layout"},function(){return this.we},function(a){var b=this.we;b!==a&&(z.l(a,ch,C,"layout"),null!==b&&(b.g=null,b.group=null),this.we=a,a.g=this,a.group=null,this.sv=!0,this.i("layout",b,a),this.Te())});
+z.defineProperty(C,{JE:"contentAlignment"},function(){return this.Jo},function(a){var b=this.Jo;b.O(a)||(z.l(a,R,C,"contentAlignment"),this.Jo=a=a.V(),this.i("contentAlignment",b,a),Rl(this,!1))});z.defineProperty(C,{LL:"initialContentAlignment"},function(){return this.ep},function(a){var b=this.ep;b.O(a)||(z.l(a,R,C,"initialContentAlignment"),this.ep=a=a.V(),this.i("initialContentAlignment",b,a))});
+z.defineProperty(C,{padding:"padding"},function(){return this.sf},function(a){"number"===typeof a?a=new Kb(a):z.l(a,Kb,C,"padding");var b=this.sf;b.O(a)||(this.sf=a=a.V(),this.Bc(),this.i("padding",b,a))});z.w(C,{og:"nodes"},function(){return this.yp.j});z.w(C,{links:"links"},function(){return this.rp.j});z.w(C,{Gi:"parts"},function(){return this.pb.j});
+C.prototype.findTopLevelNodesAndLinks=function(){for(var a=new K(D),b=this.yp.j;b.next();){var c=b.value;c.vq&&a.add(c)}for(b=this.rp.j;b.next();)c=b.value,c.vq&&a.add(c);return a.j};C.prototype.findTopLevelGroups=function(){return this.Pl.j};z.defineProperty(C,{Wb:"layout"},function(){return this.ve},function(a){var b=this.ve;b!==a&&(z.l(a,ch,C,"layout"),null!==b&&(b.g=null,b.group=null),this.ve=a,a.g=this,a.group=null,this.sv=!0,this.i("layout",b,a),this.Te())});
C.prototype.layoutDiagram=function(a){Li(this);a&&qn(this,!0);em(this,!1)};function qn(a,b){for(var c=a.Pl.j;c.next();)yn(a,c.value,b);null!==a.Wb&&(b?a.Wb.Jf=!1:a.Wb.N())}function yn(a,b,c){if(null!==b){for(var d=b.cn.j;d.next();)yn(a,d.value,c);null!==b.Wb&&(c?b.Wb.Jf=!1:b.Wb.N())}}
-function em(a,b){if(!a.gz){var c=a.Wb,d=a.ab;a.ab=!0;try{var e=a.sa.Vh;0===e&&a.$b("Layout");var g=a.Ya;1!==a.sa.Vh||g.wf||g.yc||b||g.lo("Layout");for(var h=a.Pl.j;h.next();)zn(a,h.value,b);c.Jf||b&&!c.MF&&0!==e||(c.doLayout(a),Li(a),c.Jf=!0)}finally{0===e&&a.Wd("Layout"),a.sv=!c.Jf,a.ab=d}}}function zn(a,b,c){if(null!==b){for(var d=b.cn.j;d.next();)zn(a,d.value,c);d=b.Wb;null===d||d.Jf||c&&!d.MF||(b.io=!b.location.F(),d.doLayout(b),b.N(An),d.Jf=!0,Bm(a,b))}}
-z.defineProperty(C,{be:"isTreePathToChildren"},function(){return this.dw},function(a){var b=this.dw;if(b!==a&&(z.h(a,"boolean",C,"isTreePathToChildren"),this.dw=a,this.i("isTreePathToChildren",b,a),!this.sa.lb))for(a=this.og;a.next();)Bn(a.value)});C.prototype.findTreeRoots=function(){for(var a=new J(E),b=this.og;b.next();){var c=b.value;c.wq&&null===c.Pn()&&a.add(c)}return a.j};
+function em(a,b){if(!a.gz){var c=a.Wb,d=a.ab;a.ab=!0;try{var e=a.sa.Vh;0===e&&a.$b("Layout");var g=a.Ya;1!==a.sa.Vh||g.wf||g.yc||b||g.ko("Layout");for(var h=a.Pl.j;h.next();)zn(a,h.value,b);c.Jf||b&&!c.MF&&0!==e||(c.doLayout(a),Li(a),c.Jf=!0)}finally{0===e&&a.Vd("Layout"),a.sv=!c.Jf,a.ab=d}}}function zn(a,b,c){if(null!==b){for(var d=b.cn.j;d.next();)zn(a,d.value,c);d=b.Wb;null===d||d.Jf||c&&!d.MF||(b.io=!b.location.F(),d.doLayout(b),b.N(An),d.Jf=!0,Bm(a,b))}}
+z.defineProperty(C,{ae:"isTreePathToChildren"},function(){return this.dw},function(a){var b=this.dw;if(b!==a&&(z.h(a,"boolean",C,"isTreePathToChildren"),this.dw=a,this.i("isTreePathToChildren",b,a),!this.sa.lb))for(a=this.og;a.next();)Bn(a.value)});C.prototype.findTreeRoots=function(){for(var a=new J(E),b=this.og;b.next();){var c=b.value;c.vq&&null===c.Pn()&&a.add(c)}return a.j};
z.defineProperty(C,{OB:"treeCollapsePolicy"},function(){return this.Ww},function(a){var b=this.Ww;b!==a&&(a!==zl&&a!==Ym&&a!==Zm&&z.k("Unknown Diagram.treeCollapsePolicy: "+a),this.Ww=a,this.i("treeCollapsePolicy",b,a))});z.defineProperty(C,{Nh:null},function(){return this.$C},function(a){this.$C=a});
function yl(a){function b(a){var b=a.toLowerCase(),h=new J("function");c.add(a,h);c.add(b,h);d.add(a,a);d.add(b,a)}var c=new oa("string",J),d=new oa("string","string");b("AnimationStarting");b("AnimationFinished");b("BackgroundSingleClicked");b("BackgroundDoubleClicked");b("BackgroundContextClicked");b("ClipboardChanged");b("ClipboardPasted");b("DocumentBoundsChanged");b("ExternalObjectsDropped");b("InitialLayoutCompleted");b("LayoutCompleted");b("LinkDrawn");b("LinkRelinked");b("LinkReshaped");b("Modified");
b("ObjectSingleClicked");b("ObjectDoubleClicked");b("ObjectContextClicked");b("PartCreated");b("PartResized");b("PartRotated");b("SelectionMoved");b("SelectionCopied");b("SelectionDeleting");b("SelectionDeleted");b("SelectionGrouped");b("SelectionUngrouped");b("ChangingSelection");b("ChangedSelection");b("SubGraphCollapsed");b("SubGraphExpanded");b("TextEdited");b("TreeCollapsed");b("TreeExpanded");b("ViewportBoundsChanged");a.iz=c;a.hz=d}
function Ia(a,b){var c=a.hz.qa(b);return null!==c?c:a.hz.qa(b.toLowerCase())}function Cn(a,b){var c=a.iz.qa(b);if(null!==c)return c;c=a.iz.qa(b.toLowerCase());if(null!==c)return c;z.k("Unknown DiagramEvent name: "+b);return null}C.prototype.addDiagramListener=C.prototype.gA=function(a,b){z.h(a,"string",C,"addDiagramListener:name");z.h(b,"function",C,"addDiagramListener:listener");var c=Cn(this,a);null!==c&&c.add(b)};
-C.prototype.removeDiagramListener=C.prototype.jG=function(a,b){z.h(a,"string",C,"removeDiagramListener:name");z.h(b,"function",C,"addDiagramListener:listener");var c=Cn(this,a);null!==c&&c.remove(b)};C.prototype.raiseDiagramEvent=C.prototype.Ka=function(a,b,c){u&&z.h(a,"string",C,"raiseDiagramEvent:name");var d=Cn(this,a),e=new $f;e.g=this;e.name=Ia(this,a);void 0!==b&&(e.HB=b);void 0!==c&&(e.lB=c);a=d.length;if(1===a)d=d.fa(0),d(e);else if(0!==a)for(b=d.nc(),c=0;c=d.top&&0>=d.left&&0>=d.right&&0>=d.bottom)return c;var e=a.yb,g=a.scale,e=z.fh(0,0,e.width*g,e.height*g),h=z.Fb(0,0);if(b.x>=e.x&&b.xe.x+e.width-d.right&&(k=Math.max(a.Tu,1),k|=0,h.x+=k,b.x>e.x+e.width-d.right/2&&(h.x+=k),b.x>e.x+e.width-d.right/4&&(h.x+=4*k));b.y>=e.y&&b.ye.y+e.height-d.bottom&&(k=Math.max(a.Uu,1),k|=0,h.y+=k,b.y>e.y+e.height-d.bottom/2&&(h.y+=k),b.y>e.y+e.height-d.bottom/4&&(h.y+=4*k));h.Vc(Dd)||(c=new M(c.x+h.x/g,c.y+h.y/g));z.Mb(e);z.A(h);return c}C.prototype.makeSvg=C.prototype.makeSVG=function(a){void 0===a&&(a=new na);a.context="svg";a=Kn(this,a);return null!==a?a.ym:null};
C.prototype.makeImage=function(a){void 0===a&&(a=new na);var b=(a.document||document).createElement("img");b.src=this.vJ(a);return b};
C.prototype.makeImageData=C.prototype.vJ=function(a){void 0===a&&(a=new na);var b=Kn(this,a);if(null!==b){var c=a.returnType,c=void 0===c?"string":c.toLowerCase();switch(c){case "imagedata":return b.Mk.getImageData(0,0,b.width,b.height);case "blob":b=b.Fd;c=a.callback;if("function"!==typeof c){z.k('Error: Diagram.makeImageData called with "returnType: toBlob", but no "callback" function property defined.');break}if("function"===typeof b.uK)return b.uK(c,a.type,a.details),"toBlob";if("function"===
typeof b.KJ)return c(b.KJ(a.type,a.details)),"msToBlob";c(null);break;default:return b.toDataURL(a.type,a.details)}}return""};var Ln=!1;
function Kn(a,b){a.Ya.Ii();a.hg();if(null===a.Lb)return null;"object"!==typeof b&&z.k("properties argument must be an Object.");var c=!1,d=b.size||null,e=b.scale||null;void 0!==b.scale&&isNaN(b.scale)&&(e="NaN");var g=b.maxSize;void 0===b.maxSize&&(c=!0,g="svg"===b.context?new Fa(Infinity,Infinity):new Fa(2E3,2E3));var h=b.position||null,k=b.parts||null,l=void 0===b.padding?1:b.padding,m=b.background||null,n=b.omitTemporary;void 0===n&&(n=!0);var p=b.document||document,q=b.elementFinished||null,r=
-b.showTemporary;void 0===r&&(r=!n);n=b.showGrid;void 0===n&&(n=r);null!==d&&isNaN(d.width)&&isNaN(d.height)&&(d=null);"number"===typeof l?l=new Kb(l):l instanceof Kb||(l=new Kb(0));l.left=Math.max(l.left,0);l.right=Math.max(l.right,0);l.top=Math.max(l.top,0);l.bottom=Math.max(l.bottom,0);a.Vo=!1;da(a.pd,!0);var s=new ma(null,p),v=s.Mk,t=s;if(!(d||e||k||h))return s.width=a.Ob+Math.ceil(l.left+l.right),s.height=a.Sb+Math.ceil(l.top+l.bottom),"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&
-(a.Vo=!0)),Im(a,v,l,new Fa(s.width,s.height),a.Rb,a.ub,k,m,r,n),a.Vo=!0,t;var x=a.xb.vx,y=new M(0,0),A=a.fd.copy();A.sK(a.padding);if(r)for(var B=!0,B=a.bc.o,N=B.length,G=0;Gx?(e=x,h=A.width,aa=A.height):(h=g.width,aa=g.height)):(h=A.width*e,aa=A.height*e):(e=x,h=A.width,aa=A.height);null!==l?(h+=fa,aa+=B):l=new Kb(0);null!==g&&(d=g.width,g=g.height,"svg"!==b.context&&c&&!Ln&&(h>d||aa>g)&&(z.trace("Diagram.makeImage(data): Diagram width or height is larger than the default max size. ("+Math.ceil(h)+"x"+Math.ceil(aa)+" vs 2000x2000) Consider increasing the max size."),
-Ln=!0),isNaN(d)&&(d=2E3),isNaN(g)&&(g=2E3),isFinite(d)&&(h=Math.min(h,d)),isFinite(g)&&(aa=Math.min(aa,g)));s.width=Math.ceil(h);s.height=Math.ceil(aa);"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&(a.Vo=!0));Im(a,v,l,new Fa(Math.ceil(h),Math.ceil(aa)),e,y,k,m,r,n);a.Vo=!0;return t}C.inherit=function(a,b){z.h(a,"function",C,"inherit");z.h(b,"function",C,"inherit");b.yH&&z.k("Cannot inherit from "+z.uf(b));z.Ta(a,b)};
+b.showTemporary;void 0===r&&(r=!n);n=b.showGrid;void 0===n&&(n=r);null!==d&&isNaN(d.width)&&isNaN(d.height)&&(d=null);"number"===typeof l?l=new Kb(l):l instanceof Kb||(l=new Kb(0));l.left=Math.max(l.left,0);l.right=Math.max(l.right,0);l.top=Math.max(l.top,0);l.bottom=Math.max(l.bottom,0);a.Uo=!1;da(a.pd,!0);var s=new ma(null,p),v=s.Mk,t=s;if(!(d||e||k||h))return s.width=a.Ob+Math.ceil(l.left+l.right),s.height=a.Sb+Math.ceil(l.top+l.bottom),"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&
+(a.Uo=!0)),Im(a,v,l,new Fa(s.width,s.height),a.Rb,a.ub,k,m,r,n),a.Uo=!0,t;var x=a.xb.vx,y=new M(0,0),B=a.fd.copy();B.sK(a.padding);if(r)for(var A=!0,A=a.bc.o,N=A.length,G=0;Gx?(e=x,h=B.width,aa=B.height):(h=g.width,aa=g.height)):(h=B.width*e,aa=B.height*e):(e=x,h=B.width,aa=B.height);null!==l?(h+=fa,aa+=A):l=new Kb(0);null!==g&&(d=g.width,g=g.height,"svg"!==b.context&&c&&!Ln&&(h>d||aa>g)&&(z.trace("Diagram.makeImage(data): Diagram width or height is larger than the default max size. ("+Math.ceil(h)+"x"+Math.ceil(aa)+" vs 2000x2000) Consider increasing the max size."),
+Ln=!0),isNaN(d)&&(d=2E3),isNaN(g)&&(g=2E3),isFinite(d)&&(h=Math.min(h,d)),isFinite(g)&&(aa=Math.min(aa,g)));s.width=Math.ceil(h);s.height=Math.ceil(aa);"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&(a.Uo=!0));Im(a,v,l,new Fa(Math.ceil(h),Math.ceil(aa)),e,y,k,m,r,n);a.Uo=!0;return t}C.inherit=function(a,b){z.h(a,"function",C,"inherit");z.h(b,"function",C,"inherit");b.yH&&z.k("Cannot inherit from "+z.uf(b));z.Ta(a,b)};
function Hl(){this.BH="63ad05bbe23a1786468a4c741b6d2";this.Xi=this.BH===this._tk?!0:null}
function Mn(a){var b="f",c=window[z.Sg("76a715b2f73f148a")][z.Sg("72ba13b5")],d=z.Sg;if(window[d("7da7")]&&window[d("7da7")][d("76a115b6ed251eaf4692")]){a.Xi=!0;var e=window[d("7da7")][d("76a115b6ed251eaf4692")],e=d(e).split(d("39e9"));if(6>e.length)return;var g=d(e[1]).split(".");if("7da71ca0"!==e[4])return;var h=d(z[d("6cae19")]).split(".");if(g[0]>h[0]||g[0]===h[0]&&g[1]>=h[1]){g=c[d("76ad18b4f73e")];for(h=c[d("73a612b6fb191d")](d("35e7"))+2;h
g&&d(e[2])!==d("7da71ca0ad381e90")&&(g=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));0>g&&(g=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));a.Xi=!(0<=g&&gg&&d(z.adym)!==d("7da71ca0ad381e90")&&(g=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));a.Xi=!(0<=g&&gb.timeStamp-a.Wm)b.preventDefault();else if(a.Al)b.preventDefault();else{a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.gm=!0;c.Qe=b.detail;if(z.GF||z.HF)b.timeStamp-a.Wmb.timeStamp-a.Wm){b.preventDefault();return}a.Wm=b.timeStamp}if(z.Xn&&null!==a.qt)a.qt=null,b.preventDefault();else{a.ed=
-a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.up=!0;c.Qe=b.detail;if(z.GF||z.HF)c.Qe=a.Dl;c.bubbles=b.bubbles;b.target.ca&&(c.eh=b.target.ca);a.HG(b,null,new M,c.eh)||(a.doMouseUp(),yi(a),ia(a,c,b))}}};a.Qh=function(b){if(a.isEnabled){var c=a.ed;a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.bubbles=!0;c.fm=void 0!==b.wheelDelta?b.wheelDelta:-40*b.detail;a.doMouseWheel();ia(a,c,b)}};a.Dq=function(){if(a.isEnabled){a.Sm=!1;var b=a.fb;b.cancelWaitAfter();b instanceof Kh&&b.hideToolTip()}};a.WG=function(b){if(a.isEnabled){a.zt=!1;
+c.style.position="absolute";c.style.overflow="auto";c.style.width=a.Ob+"px";c.style.height=a.Sb+"px";c.style.zIndex="1";e.style.position="absolute";e.style.width="1px";e.style.height="1px";a.Tb.appendChild(c);c.appendChild(e);c.onscroll=a.tH;c.onmousedown=a.xD;c.ontouchstart=a.xD;c.ca=a;c.wH=!0;c.xH=!0;a.Kw=c;a.ht=e;a.qB=z.NE(function(){a.zk=null;a.ra()},300,!1);a.dH=z.NE(function(){al(a)},250,!1);a.preventDefault=function(a){a.preventDefault();return!1};a.Bq=function(b){if(a.isEnabled){a.Sm=!0;var c=
+a.ed;z.Xn&&c.Hj?(b.preventDefault(),b.simulated=!0,a.qt=b):(a.ed=a.Ub,a.Ub=c,Xl(a,a,b,c,!0),a.Ay(b,null,b.target.ca)||(a.doMouseMove(),a.fb.isBeyondDragSize()&&(a.Dl=0),ia(a,c,b)))}};a.Aq=function(b){if(a.isEnabled){a.Sm=!0;var c=a.ed;if(z.Xn&&null!==a.qt)a.qt=b,b.preventDefault();else if(z.Xn&&400>b.timeStamp-a.Wm)b.preventDefault();else if(a.Al)b.preventDefault();else{a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.gm=!0;c.Qe=b.detail;if(z.GF||z.HF)b.timeStamp-a.Wmb.timeStamp-a.Wm){b.preventDefault();return}a.Wm=b.timeStamp}if(z.Xn&&null!==a.qt)a.qt=null,b.preventDefault();else{a.ed=
+a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.up=!0;c.Qe=b.detail;if(z.GF||z.HF)c.Qe=a.Dl;c.bubbles=b.bubbles;b.target.ca&&(c.eh=b.target.ca);a.HG(b,null,new M,c.eh)||(a.doMouseUp(),yi(a),ia(a,c,b))}}};a.Qh=function(b){if(a.isEnabled){var c=a.ed;a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.bubbles=!0;c.fm=void 0!==b.wheelDelta?b.wheelDelta:-40*b.detail;a.doMouseWheel();ia(a,c,b)}};a.Cq=function(){if(a.isEnabled){a.Sm=!1;var b=a.fb;b.cancelWaitAfter();b instanceof Kh&&b.hideToolTip()}};a.WG=function(b){if(a.isEnabled){a.zt=!1;
a.Al=!0;var c=a.ed;a.ed=a.Ub;a.Ub=c;Zl(a,b,b.targetTouches[0],c,1a.Aw)){var c=
@@ -1007,24 +1008,24 @@ a.nj;c[0].pointerId===b.pointerId&&(c[0]=b);c[1].pointerId===b.pointerId&&(c[1]=
function Nn(a){1a)&&z.wa(a,"0 <= loc <= 1",Ea,"addColorStop:loc");z.h(b,"string",Ea,"addColorStop:color");u&&!Da(b)&&z.k('Color "'+b+'" is not a valid color string for Brush.addColorStop');null===this.ph&&(this.ph=new oa("number","string"));this.ph.add(a,b);this.da===Zg&&(this.type=$g);this.qh=null};
-z.defineProperty(Ea,{type:"type"},function(){return this.da},function(a){this.I&&z.pa(this,a);z.Ca(a,Ea,Ea,"type");this.da=a;this.start.ae()&&(a===$g?this.start=ic:a===Bd&&(this.start=mc));this.end.ae()&&(a===$g?this.end=pc:a===Bd&&(this.end=mc));this.qh=null});z.defineProperty(Ea,{color:"color"},function(){return this.Io},function(a){this.I&&z.pa(this,a);u&&!Da(a)&&z.k('Color "'+a+'" is not a valid color string for Brush.color');this.Io=a;this.qh=null});
-z.defineProperty(Ea,{start:"start"},function(){return this.Lp},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"start");this.Lp=a.V();this.qh=null});z.defineProperty(Ea,{end:"end"},function(){return this.Xo},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"end");this.Xo=a.V();this.qh=null});z.defineProperty(Ea,{$u:"startRadius"},function(){return this.Rw},function(a){this.I&&z.pa(this,a);z.p(a,Ea,"startRadius");0>a&&z.wa(a,">= zero",Ea,"startRadius");this.Rw=a;this.qh=null});
+z.defineProperty(Ea,{type:"type"},function(){return this.da},function(a){this.I&&z.pa(this,a);z.Ca(a,Ea,Ea,"type");this.da=a;this.start.$d()&&(a===$g?this.start=ic:a===Bd&&(this.start=mc));this.end.$d()&&(a===$g?this.end=pc:a===Bd&&(this.end=mc));this.qh=null});z.defineProperty(Ea,{color:"color"},function(){return this.Ho},function(a){this.I&&z.pa(this,a);u&&!Da(a)&&z.k('Color "'+a+'" is not a valid color string for Brush.color');this.Ho=a;this.qh=null});
+z.defineProperty(Ea,{start:"start"},function(){return this.Kp},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"start");this.Kp=a.V();this.qh=null});z.defineProperty(Ea,{end:"end"},function(){return this.Wo},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"end");this.Wo=a.V();this.qh=null});z.defineProperty(Ea,{$u:"startRadius"},function(){return this.Rw},function(a){this.I&&z.pa(this,a);z.p(a,Ea,"startRadius");0>a&&z.wa(a,">= zero",Ea,"startRadius");this.Rw=a;this.qh=null});
z.defineProperty(Ea,{bu:"endRadius"},function(){return this.Nv},function(a){this.I&&z.pa(this,a);z.p(a,Ea,"endRadius");0>a&&z.wa(a,">= zero",Ea,"endRadius");this.Nv=a;this.qh=null});z.defineProperty(Ea,{Jk:"colorStops"},function(){return this.ph},function(a){this.I&&z.pa(this,a);u&&z.l(a,oa,Ea,"colorStops");this.ph=a;this.qh=null});z.defineProperty(Ea,{pattern:"pattern"},function(){return this.zw},function(a){this.I&&z.pa(this,a);this.zw=a;this.qh=null});
Ea.randomColor=function(a,b){void 0===a&&(a=128);u&&(z.p(a,Ea,"randomColor:min"),(0>a||255d.length&&(d="0"+d);2>e.length&&(e="0"+e);2>c.length&&(c="0"+c);return"#"+
d+e+c};var Xn=(new ma(null)).Mk,Da;Ea.isValidColor=Da=function(a){if("black"===a)return!0;if(""===a)return!1;u&&z.h(a,"string",Ea,"isValidColor");Xn.fillStyle="#000000";var b=Xn.fillStyle;Xn.fillStyle=a;if(Xn.fillStyle!==b)return!0;Xn.fillStyle="#FFFFFF";b=Xn.fillStyle;Xn.fillStyle=a;return Xn.fillStyle!==b};var Yn=new Wn,Zn=new Wn,$n=new Wn,ao=new Wn;Ea.lighten=function(a){return bo(a)};
@@ -1035,15 +1036,15 @@ ao.mg;c=-.969266*$n.Pc+1.8760108*$n.Md+.041556*$n.kd;d=.0556434*$n.Pc+-.2040259*
255,h=Yn.kd/255,k=Math.max(e,g,h),d=Math.min(e,g,h),l=k-d,d=(k+d)/2;if(0===l)c=e=0;else{switch(k){case e:c=(g-h)/l%6;break;case g:c=(h-e)/l+2;break;case h:c=(e-g)/l+4}c*=60;0>c&&(c+=360);e=l/(1-Math.abs(2*d-1))}Zn.Pc=Math.round(c);Zn.Md=Math.round(100*e);Zn.kd=Math.round(100*d);Zn.mg=Yn.mg;Zn.kd=Math.min(100,Math.max(0,Zn.kd+100*a));return"hsla("+Zn.Pc+", "+Zn.Md+"%, "+Zn.kd+"%, "+Zn.mg+")";default:return z.k("Unknown color space: "+b),"rgba(0, 0, 0, 1)"}}
function co(a){Xn.clearRect(0,0,1,1);Xn.fillStyle="#000000";var b=Xn.fillStyle;Xn.fillStyle=a;Xn.fillStyle!==b?(Xn.fillRect(0,0,1,1),a=Xn.getImageData(0,0,1,1).data,Yn.Pc=a[0],Yn.Md=a[1],Yn.kd=a[2],Yn.mg=a[3]/255):(Xn.fillStyle="#FFFFFF",b=Xn.fillStyle,Xn.fillStyle=a,Xn.fillStyle===b&&u&&z.k('Color "'+a+'" is not a valid color string for RGBA color conversion'),Yn.Pc=0,Yn.Md=0,Yn.kd=0,Yn.mg=1)}function ho(a){a/=255;return.04045>=a?a/12.92:Math.pow((a+.055)/1.055,2.4)}
function no(a){return.0031308>=a?12.92*a:1.055*Math.pow(a,1/2.4)-.055}var mo=216/24389,lo=24389/27,jo=[95.047,100,108.883];function io(a){return a>mo?Math.pow(a,1/3):(lo*a+16)/116}function ko(a){var b=a*a*a;return b>mo?b:(116*a-16)/lo}
-function O(){z.xc(this);this.T=4225027;this.Hc=1;this.Ah=null;this.Xb="";this.ic=this.Kb=null;this.ub=(new M(NaN,NaN)).freeze();this.Ye=ie;this.li=Sd;this.ki=ge;this.Jc=new Ga;this.Li=new Ga;this.ej=new Ga;this.Rb=this.Uo=1;this.rg=0;this.Mg=oo;this.an=Nd;this.Dd=(new w(NaN,NaN,NaN,NaN)).freeze();this.ac=(new w(NaN,NaN,NaN,NaN)).freeze();this.Tc=(new w(0,0,NaN,NaN)).freeze();this.Y=this.Us=this.Vs=null;this.Fm=this.ue=Rc;this.et=0;this.pj=1;this.pr=0;this.Qi=1;this.ut=null;this.it=-Infinity;this.on=
-0;this.pn=Dd;this.qn=nj;this.xr="";this.Ec=this.ma=null;this.Fo=-1;this.hn=this.un=this.ug=this.rl=this.Kp=null}z.Ai(O);z.ka("GraphObject",O);
-O.prototype.cloneProtected=function(a){a.T=this.T|6144;a.Hc=this.Hc;a.Xb=this.Xb;a.Kb=this.Kb;a.ic=this.ic;a.ub.assign(this.ub);a.Ye=this.Ye.V();a.li=this.li.V();a.ki=this.ki.V();a.ej=this.ej.copy();a.Rb=this.Rb;a.rg=this.rg;a.Mg=this.Mg;a.an=this.an.V();a.Dd.assign(this.Dd);a.ac.assign(this.ac);a.Tc.assign(this.Tc);a.Us=this.Us;null!==this.Y&&(a.Y=this.Y.copy());a.ue=this.ue.V();a.Fm=this.Fm.V();a.et=this.et;a.pj=this.pj;a.pr=this.pr;a.Qi=this.Qi;a.ut=this.ut;a.it=this.it;a.on=this.on;a.pn=this.pn.V();
-a.qn=this.qn;a.xr=this.xr;null!==this.ma&&(a.ma=this.ma.copy());a.Ec=this.Ec;a.Fo=this.Fo;null!==this.rl&&(a.rl=z.am(this.rl));null!==this.ug&&(a.ug=this.ug.copy());a.un=this.un};O.prototype.addCopyProperty=O.prototype.JH=function(a){var b=this.rl;if(z.isArray(b))for(var c=0;ck;)k+=g[n++%l],p=!p;q=!1}else k=g[n++%l];k>m&&(k=m);var r=Math.sqrt(k*k/(1+e*e));0>d&&(r=-r);b+=r;c+=e*r;p?a.lineTo(b,c):a.moveTo(b,c);m-=k;p=!p}}
-O.prototype.raiseChangedEvent=O.prototype.ld=function(a,b,c,d,e,g,h){var k=this.ba;if(null!==k&&(k.mo(a,b,c,d,e,g,h),zo(this)&&c===this&&a===bg&&Ao(this,k,b),c===k&&0!==(k.T&16777216)&&null!==k.data))for(a=this.va.o,c=a.length,d=0;dk;)k+=g[n++%l],p=!p;q=!1}else k=g[n++%l];k>m&&(k=m);var r=Math.sqrt(k*k/(1+e*e));0>d&&(r=-r);b+=r;c+=e*r;p?a.lineTo(b,c):a.moveTo(b,c);m-=k;p=!p}}
+O.prototype.raiseChangedEvent=O.prototype.ld=function(a,b,c,d,e,g,h){var k=this.ba;if(null!==k&&(k.lo(a,b,c,d,e,g,h),zo(this)&&c===this&&a===bg&&Ao(this,k,b),c===k&&0!==(k.T&16777216)&&null!==k.data))for(a=this.va.o,c=a.length,d=0;d
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
version 1.7.2 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.3 for JavaScript/HTML
by Northwoods Software®
GoJS Change Log
} +Changes for 1.7.3
+-
+
Changes for 1.7.2
-
- Fixed missing declaration in
go.d.ts
.
+ Changes for 1.7.1
diff --git a/intro/index.html b/intro/index.html index 92273c063..2cf094f53 100644 --- a/intro/index.html +++ b/intro/index.html @@ -208,6 +208,8 @@Loading GoJS
In ES6 (ECMAScript 2015) or TypeScript code, just import the "go.js" library:
import * as go from "go";+ or, if depending on your npm environment: +
import * as go from "gojs";
Hosting GoJS in a Div Element
diff --git a/package.json b/package.json index 094c750a5..db3e72509 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gojs", - "version": "1.7.2", + "version": "1.7.3", "description": "Interactive diagrams, charts, and graphs, such as trees, flowcharts, orgcharts, UML, BPMN, or business diagrams", "keywords": [ "diagram", "chart", "tree", "flowchart", "orgchart", "uml", "bpmn", "graphics", "editor", "inspector", "drawing", "canvas", "shape", "svg", "hierarchy", "node", "link", "group", "vertex", "edge", "connection", "port", "label", "arrowhead", "family-tree", "decision-tree", "mindmap", "tournament", "treeview", "pipe-tree", "genogram", "ivr-tree", "parse-tree", "concept-map", "euler", "visualization", "entity-relationship", "er-diagram", "friend-wheel", "radial", "graph-distances", "graph-paths", "sankey", "pert", "gantt", "timeline", "monitor", "layer", "swimlane", "spreadsheet", "virtualization", "flow", "process", "state", "sequential-function", "grafcet", "sequence", "circuit", "record", "field", "table", "dataflow", "data-flow", "planogram", "seating", "pipes", "overview", "palette", "comment", "layout", "grid-layout", "tree-layout", "force-directed", "layered", "hierarchical", "circular", "fishbone", "ishikawa", "parallel", "serpentine", "treemap", "tree-map", "freehand", "polygon", "polyline", "bezier", "panel", "view", "model", "databinding", "data-binding", "binding", "transaction", "coordinates", "subgraph", "selection", "highlight", "tooltip", "context-menu", "tool", "command", "validation", "button", "template", "legend", "grid", "printing" ], "homepage": "https://gojs.net", diff --git a/projects/angular2-minimal/README.md b/projects/angular2-minimal/README.md new file mode 100644 index 000000000..fefdc6681 --- /dev/null +++ b/projects/angular2-minimal/README.md @@ -0,0 +1,15 @@ +This is a minimal modification of the Angular 2 Quick Start environment +that demonstrates how to show a GoJS diagram in a component. + +First, assuming you already have npm: +``` +$ npm install gojs --save +$ npm update +``` + +Note how we have updated thesrc/systemjs.config.json
file to tell which GoJS library to load.
+
+Start app page with:
+```
+$ npm start
+```
diff --git a/projects/angular2-minimal/bs-config.json b/projects/angular2-minimal/bs-config.json
new file mode 100644
index 000000000..4e5859526
--- /dev/null
+++ b/projects/angular2-minimal/bs-config.json
@@ -0,0 +1,8 @@
+{
+ "server": {
+ "baseDir": "src",
+ "routes": {
+ "/node_modules": "node_modules"
+ }
+ }
+}
diff --git a/projects/angular2-minimal/package.json b/projects/angular2-minimal/package.json
new file mode 100644
index 000000000..cbcb56864
--- /dev/null
+++ b/projects/angular2-minimal/package.json
@@ -0,0 +1,61 @@
+{
+ "name": "angular-quickstart",
+ "version": "1.0.0",
+ "description": "QuickStart package.json from the documentation, supplemented with testing support",
+ "scripts": {
+ "build": "tsc -p src/",
+ "build:watch": "tsc -p src/ -w",
+ "build:e2e": "tsc -p e2e/",
+ "serve": "lite-server -c=bs-config.json",
+ "serve:e2e": "lite-server -c=bs-config.e2e.json",
+ "prestart": "npm run build",
+ "start": "concurrently \"npm run build:watch\" \"npm run serve\"",
+ "pree2e": "npm run build:e2e",
+ "e2e": "concurrently \"npm run serve:e2e\" \"npm run protractor\" --kill-others --success first",
+ "preprotractor": "webdriver-manager update",
+ "protractor": "protractor protractor.config.js",
+ "pretest": "npm run build",
+ "test": "concurrently \"npm run build:watch\" \"karma start karma.conf.js\"",
+ "pretest:once": "npm run build",
+ "test:once": "karma start karma.conf.js --single-run",
+ "lint": "tslint ./src/**/*.ts -t verbose"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "MIT",
+ "dependencies": {
+ "@angular/common": "~2.4.0",
+ "@angular/compiler": "~2.4.0",
+ "@angular/core": "~2.4.0",
+ "@angular/forms": "~2.4.0",
+ "@angular/http": "~2.4.0",
+ "@angular/platform-browser": "~2.4.0",
+ "@angular/platform-browser-dynamic": "~2.4.0",
+ "@angular/router": "~3.4.0",
+ "angular-in-memory-web-api": "~0.2.4",
+ "core-js": "^2.4.1",
+ "gojs": "^1.7.3",
+ "rxjs": "5.0.1",
+ "systemjs": "0.19.40",
+ "zone.js": "^0.7.4"
+ },
+ "devDependencies": {
+ "concurrently": "^3.2.0",
+ "lite-server": "^2.2.2",
+ "typescript": "~2.0.10",
+ "canonical-path": "0.0.2",
+ "tslint": "^3.15.1",
+ "lodash": "^4.16.4",
+ "jasmine-core": "~2.4.1",
+ "karma": "^1.3.0",
+ "karma-chrome-launcher": "^2.0.0",
+ "karma-cli": "^1.0.1",
+ "karma-jasmine": "^1.0.2",
+ "karma-jasmine-html-reporter": "^0.2.2",
+ "protractor": "~4.0.14",
+ "rimraf": "^2.5.4",
+ "@types/node": "^6.0.46",
+ "@types/jasmine": "2.5.36"
+ },
+ "repository": {}
+}
diff --git a/projects/angular2-minimal/tslint.json b/projects/angular2-minimal/tslint.json
new file mode 100644
index 000000000..276453f4f
--- /dev/null
+++ b/projects/angular2-minimal/tslint.json
@@ -0,0 +1,93 @@
+{
+ "rules": {
+ "class-name": true,
+ "comment-format": [
+ true,
+ "check-space"
+ ],
+ "curly": true,
+ "eofline": true,
+ "forin": true,
+ "indent": [
+ true,
+ "spaces"
+ ],
+ "label-position": true,
+ "label-undefined": true,
+ "max-line-length": [
+ true,
+ 140
+ ],
+ "member-access": false,
+ "member-ordering": [
+ true,
+ "static-before-instance",
+ "variables-before-functions"
+ ],
+ "no-arg": true,
+ "no-bitwise": true,
+ "no-console": [
+ true,
+ "debug",
+ "info",
+ "time",
+ "timeEnd",
+ "trace"
+ ],
+ "no-construct": true,
+ "no-debugger": true,
+ "no-duplicate-key": true,
+ "no-duplicate-variable": true,
+ "no-empty": false,
+ "no-eval": true,
+ "no-inferrable-types": true,
+ "no-shadowed-variable": true,
+ "no-string-literal": false,
+ "no-switch-case-fall-through": true,
+ "no-trailing-whitespace": true,
+ "no-unused-expression": true,
+ "no-unused-variable": true,
+ "no-unreachable": true,
+ "no-use-before-declare": true,
+ "no-var-keyword": true,
+ "object-literal-sort-keys": false,
+ "one-line": [
+ true,
+ "check-open-brace",
+ "check-catch",
+ "check-else",
+ "check-whitespace"
+ ],
+ "quotemark": [
+ true,
+ "single"
+ ],
+ "radix": true,
+ "semicolon": [
+ "always"
+ ],
+ "triple-equals": [
+ true,
+ "allow-null-check"
+ ],
+ "typedef-whitespace": [
+ true,
+ {
+ "call-signature": "nospace",
+ "index-signature": "nospace",
+ "parameter": "nospace",
+ "property-declaration": "nospace",
+ "variable-declaration": "nospace"
+ }
+ ],
+ "variable-name": false,
+ "whitespace": [
+ true,
+ "check-branch",
+ "check-decl",
+ "check-operator",
+ "check-separator",
+ "check-type"
+ ]
+ }
+}
diff --git a/release/go-debug.js b/release/go-debug.js
index 34a65a73e..e4b1f4839 100644
--- a/release/go-debug.js
+++ b/release/go-debug.js
@@ -1,9 +1,9 @@
/*
- * GoJS v1.7.2 JavaScript Library for HTML Diagrams
+ * GoJS v1.7.3 JavaScript Library for HTML Diagrams
* Northwoods Software, https://www.nwoods.com/
* GoJS and Northwoods Software are registered trademarks of Northwoods Software Corporation.
* Copyright (C) 1998-2017 by Northwoods Software Corporation. All Rights Reserved.
- * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.7.2/doc/license.html.
+ * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.7.3/doc/license.html.
*/
(function(window) { var f,ca={};if(!window.document||void 0===window.document.createElement("canvas").getContext)throw window.console&&window.console.log("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode."),Error("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode.");if(!Object.defineProperty)throw Error("GoJS requires a newer version of JavaScript");
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return g.apply(a,e.concat(d.call(arguments)))}function c(){}var d=Array.prototype.slice,e=d.call(arguments,1),g=this;c.prototype=this.prototype;b.prototype=new c;return b});
@@ -16,17 +16,17 @@ c.fillRect(h.x||0,h.y||0,h.width,h.height),c.restore())}},BL:function(){u.XE();u
b.ef)},xA:function(a,b,c){a.setTransform(1,0,0,1,0,0);a.scale(b.rd,b.rd);a.transform(c.m11,c.m12,c.m21,c.m22,c.dx,c.dy);c=b.bc.length;for(var d=0;dq&&r--}else{var s=(a+c)/2,v=(b+d)/2,t=(c+e)/2,x=(d+g)/2;e=(e+h)/2;g=(g+k)/2;d=(s+t)/2;c=(v+x)/2;var t=(t+e)/2,x=(x+g)/2, -y=(d+t)/2,A=(c+x)/2,r=r+Ee(a,b,s,v,d,c,y,A,l,m,n,p,q),r=r+Ee(y,A,t,x,e,g,h,k,l,m,n,p,q)}return r} +y=(d+t)/2,B=(c+x)/2,r=r+Ee(a,b,s,v,d,c,y,B,l,m,n,p,q),r=r+Ee(y,B,t,x,e,g,h,k,l,m,n,p,q)}return r} function ob(a,b,c,d,e,g,h){if(Db(a,c)){var k=0;c=0;bc)return h.x=a,h.y=c,!1;h.x=a;h.y=d;return!0}if(Db(b,d)){a c)return h.x=c,h.y=b,!1;h.x=d;h.y=b;return!0}k=((a-e)*(a-c)+(b-g)*(b-d))/((c-a)*(c-a)+(d-b)*(d-b));if(-5E-6>k)return h.x=a,h.y=b,!1;if(1.000005 c)return l.x=a,l.y=c,!1;l.x=a;l.y=g;return!0}h=(d-b)/(c-a);if(Db(k,h))return ob(a,b,c,d,e,g,l),!1;e=(h*a-k*e+g-b)/(h-k);if(Db(h,0)){a c)return l.x=c,l.y=b,!1;l.x=e;l.y=b;return!0}g= h*(e-a)+b;return ob(a,b,c,d,e,g,l)}function Ge(a,b,c,d,e,g,h,k,l){var m=1E21,n=a,p=b;if(Fe(a,b,a,d,e,g,h,k,l)){var q=(l.x-e)*(l.x-e)+(l.y-g)*(l.y-g);q m} @@ -248,22 +248,22 @@ function Qe(a,b,c,d,e,g){c-=a;d-=b;a=e-a;b=g-b;g=a*d-b*c;0===g&&(g=a*c+b*d,0 c,g=0>d,h=0,k=h=0;ag;++g){m=.5*(d+e);if(m===d||m===e)break;k=l/(m+b);h=c/(m+a);k=k*k+h*h-1;if(0 k)e=m;else break}n=b*n/(m+b)-n;p=a*p/(m+a)-p;a=Math.sqrt(n*n+p*p)}else a=Math.abs(p-m);else p=l*l-m*m,a=l*n,a a?"M"+this.na.toString()+" "+this.la.toString()+"L"+this.G.toString()+" "+this.H.toString():"M"+this.na.toFixed(a)+" "+this.la.toFixed(a)+"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);case jf:var b=new w(this.na,this.la,0,0);b.$G(this.G,this.H,0,0);return 0>a?"M"+b.x.toString()+" "+b.y.toString()+"H"+b.right.toString()+"V"+b.bottom.toString()+"H"+b.left.toString()+"z":"M"+b.x.toFixed(a)+" "+b.y.toFixed(a)+"H"+b.right.toFixed(a)+ "V"+b.bottom.toFixed(a)+"H"+b.left.toFixed(a)+"z";case kf:b=new w(this.na,this.la,0,0);b.$G(this.G,this.H,0,0);if(0>a){var c=b.left.toString()+" "+(b.y+b.height/2).toString(),d=b.right.toString()+" "+(b.y+b.height/2).toString();return"M"+c+"A"+(b.width/2).toString()+" "+(b.height/2).toString()+" 0 0 1 "+d+"A"+(b.width/2).toString()+" "+(b.height/2).toString()+" 0 0 1 "+c}c=b.left.toFixed(a)+" "+(b.y+b.height/2).toFixed(a);d=b.right.toFixed(a)+" "+(b.y+b.height/2).toFixed(a);return"M"+c+"A"+(b.width/ 2).toFixed(a)+" "+(b.height/2).toFixed(a)+" 0 0 1 "+d+"A"+(b.width/2).toFixed(a)+" "+(b.height/2).toFixed(a)+" 0 0 1 "+c;case We:for(var b="",c=this.mc.o,d=c.length,e=0;e
=v-1?!0:null!==l[m+1].match(/[A-Za-z]/)}function d(){m++;return l[m]}function e(){var a=new M(parseFloat(d()),parseFloat(d()));n===n.toLowerCase()&&(a.x=s.x+a.x,a.y=s.y+a.y);return a}function g(){return s=e()}function h(){return r=e()}function k(){return"c"!==p.toLowerCase()&&"s"!==p.toLowerCase()?s:new M(2*s.x-r.x,2*s.y-r.y)}void 0===b&&(b=!1);"string"!==typeof a&&z.hc(a,"string",Ve,"parse:str");a=a.replace(/,/gm," ");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm, "$1 $2");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,"$1 $2");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([^\s])/gm,"$1 $2");a=a.replace(/([^\s])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,"$1 $2");a=a.replace(/([0-9])([+\-])/gm,"$1 $2");a=a.replace(/(\.[0-9]*)(\.)/gm,"$1 $2");a=a.replace(/([Aa](\s+[0-9]+){3})\s+([01])\s*([01])/gm,"$1 $3 $4 ");a=a.replace(/[\s\r\t\n]+/gm," ");a=a.replace(/^\s+|\s+$/g,"");for(var l=a.split(" "),m=-1,n="",p="",q=new M(0,0),r=new M(0,0),s=new M(0, -0),v=l.length,t=z.v(),x=!1,y=!1,A=!0;!(m>=v-1);)if(p=n,n=d(),""!==n)switch(n.toUpperCase()){case "X":A=!0;y=x=!1;break;case "M":var B=g();null===t.dc||!0===A?(S(t,B.x,B.y,x,!1,!y),A=!1):t.moveTo(B.x,B.y);for(q=s;!c();)B=g(),t.lineTo(B.x,B.y);break;case "L":for(;!c();)B=g(),t.lineTo(B.x,B.y);break;case "H":for(;!c();)s=B=new M((n===n.toLowerCase()?s.x:0)+parseFloat(d()),s.y),t.lineTo(s.x,s.y);break;case "V":for(;!c();)s=B=new M(s.x,(n===n.toLowerCase()?s.y:0)+parseFloat(d())),t.lineTo(s.x,s.y);break; -case "C":for(;!c();){var N=e(),G=h(),B=g();U(t,N.x,N.y,G.x,G.y,B.x,B.y)}break;case "S":for(;!c();)N=k(),G=h(),B=g(),U(t,N.x,N.y,G.x,G.y,B.x,B.y);break;case "Q":for(;!c();)G=h(),B=g(),pf(t,G.x,G.y,B.x,B.y);break;case "T":for(;!c();)r=G=k(),B=g(),pf(t,G.x,G.y,B.x,B.y);break;case "B":for(;!c();){var B=parseFloat(d()),N=parseFloat(d()),G=parseFloat(d()),T=parseFloat(d()),fa=parseFloat(d()),W=fa,P=!1;c()||(W=parseFloat(d()),c()||(P=0!==parseFloat(d())));n===n.toLowerCase()&&(G+=s.x,T+=s.y);t.arcTo(B,N, -G,T,fa,W,P)}break;case "A":for(;!c();)N=Math.abs(parseFloat(d())),G=Math.abs(parseFloat(d())),T=parseFloat(d()),fa=!!parseFloat(d()),W=!!parseFloat(d()),B=g(),qf(t,N,G,T,fa,W,B.x,B.y);break;case "Z":B=t.q.mc.o[t.q.mc.length-1];V(t);s=q;break;case "F":B="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Uu]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;else{B=l[m+N];break}B.match(/[Mm]/)?x=!0:rf(t);break;case "U":B="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Ff]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++; -else{B=l[m+N];break}B.match(/[Mm]/)?y=!0:t.hb(!1)}q=t.q;z.u(t);if(b)for(t=q.mc.j;t.next();)B=t.value,B.tu=!0;return q};function sf(a,b){for(var c=a.length,d=z.P(),e=0;e =v-1);)if(p=n,n=d(),""!==n)switch(n.toUpperCase()){case "X":B=!0;y=x=!1;break;case "M":var A=g();null===t.dc||!0===B?(S(t,A.x,A.y,x,!1,!y),B=!1):t.moveTo(A.x,A.y);for(q=s;!c();)A=g(),t.lineTo(A.x,A.y);break;case "L":for(;!c();)A=g(),t.lineTo(A.x,A.y);break;case "H":for(;!c();)s=A=new M((n===n.toLowerCase()?s.x:0)+parseFloat(d()),s.y),t.lineTo(s.x,s.y);break;case "V":for(;!c();)s=A=new M(s.x,(n===n.toLowerCase()?s.y:0)+parseFloat(d())),t.lineTo(s.x,s.y);break; +case "C":for(;!c();){var N=e(),G=h(),A=g();U(t,N.x,N.y,G.x,G.y,A.x,A.y)}break;case "S":for(;!c();)N=k(),G=h(),A=g(),U(t,N.x,N.y,G.x,G.y,A.x,A.y);break;case "Q":for(;!c();)G=h(),A=g(),pf(t,G.x,G.y,A.x,A.y);break;case "T":for(;!c();)r=G=k(),A=g(),pf(t,G.x,G.y,A.x,A.y);break;case "B":for(;!c();){var A=parseFloat(d()),N=parseFloat(d()),G=parseFloat(d()),T=parseFloat(d()),fa=parseFloat(d()),W=fa,P=!1;c()||(W=parseFloat(d()),c()||(P=0!==parseFloat(d())));n===n.toLowerCase()&&(G+=s.x,T+=s.y);t.arcTo(A,N, +G,T,fa,W,P)}break;case "A":for(;!c();)N=Math.abs(parseFloat(d())),G=Math.abs(parseFloat(d())),T=parseFloat(d()),fa=!!parseFloat(d()),W=!!parseFloat(d()),A=g(),qf(t,N,G,T,fa,W,A.x,A.y);break;case "Z":A=t.q.mc.o[t.q.mc.length-1];V(t);s=q;break;case "F":A="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Uu]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++;else{A=l[m+N];break}A.match(/[Mm]/)?x=!0:rf(t);break;case "U":A="";for(N=1;l[m+N];)if(null!==l[m+N].match(/[Ff]/))N++;else if(null===l[m+N].match(/[A-Za-z]/))N++; +else{A=l[m+N];break}A.match(/[Mm]/)?y=!0:t.hb(!1)}q=t.q;z.u(t);if(b)for(t=q.mc.j;t.next();)A=t.value,A.tu=!0;return q};function sf(a,b){for(var c=a.length,d=z.P(),e=0;e h&&(h+=360),s.Me+=h);0>a&&(s.Me=180-s.Me,s.Bf=-s.Bf);0>d&&(s.Me=-s.Me,s.Bf=-s.Bf);s.radiusX*=Math.sqrt(a*a+c*c);void 0!==s.radiusY&&(s.radiusY*=Math.sqrt(b*b+d*d));break;case Qf:h=s.G;k=s.H;s.G=h* a+k*c+e;s.H=h*b+k*d+g;0!==b&&(h=180*Math.atan2(b,a)/Math.PI,0>h&&(h+=360),s.Vj+=h);0>a&&(s.Vj=180-s.Vj,s.qm=!s.qm);0>d&&(s.Vj=-s.Vj,s.qm=!s.qm);s.radiusX*=Math.sqrt(a*a+c*c);s.radiusY*=Math.sqrt(b*b+d*d);break;default:z.k("Unknown Segment type: "+s.type)}}}}this.jb=!0;return this}; -Ve.prototype.Oa=function(a,b,c,d){var e=a.x,g=a.y,h=this.sb.x-20;a=a.y;for(var k=0,l=0,m=0,n=0,p=0,q=0,r=this.mc.o,s=r.length,v=0;v =a)return 0;if((e>h?e-h:h-e)<(g>k?g-k:k-g)){if(e=a=0,ge)return 0}else if(e e)return 0;return 0 a?a=0:1=g)return d=(g-h)/p,c=c[k],k=c[2*n],e=c[2*n+1],b.m(k+(c[2*n+2]-k)*d,e+(c[2*n+3]-e)*d),b;h+=p}b.m(NaN,NaN);return b}; Ve.prototype.getFractionForPoint=Ve.prototype.II=function(a){if(this.type===hf){var b=this.na,c=this.la,d=this.G,e=this.H;if(b!==d||c!==e){var g=a.x;a=a.y;var h=0,k=0;return b===d?(c =k?k===c?0:1:Math.abs(a-c)/(k-h)):c===e?(b =k?k===b?0:1:Math.abs(g-b)/(k-h)):((g-b)*(g-b)+(a-c)*(a-c))/((d-b)*(d-b)+(e-c)*(e-c))}}else if(this.type===jf){if(b=this.na,c=this.la,d=this.G,e=this.H,b!==d||c!==e){var h=d-b,k=e-c,l=2*h+2*k,g=a.x; a=a.y;g=Math.min(Math.max(g,b),d);a=Math.min(Math.max(a,c),e);var b=Math.abs(g-b),d=Math.abs(g-d),c=Math.abs(a-c),e=Math.abs(a-e),m=Math.min(b,d,c,e);if(m===c)return g/l;if(m===d)return(h+a)/l;if(m===e)return(2*h+k-g)/l;if(m===b)return(2*h+2*k-a)/l}}else{for(var e=this.DA,h=this.Gx,k=this.EA,l=z.P(),c=Infinity,b=d=0,g=e.length,n=m=0,p=0;p a?0:1a?0:1a?"M"+this.na.toString()+" "+this.la.toString():"M"+this.na.toFixed(a)+" "+this.la.toFixed(a),c=this.Db.o,d=c.length,e=0;e a&&(a+=360),this.Rd=a,this.df=0,u&&z.p(d,Wf,"x1"),this.Bh=Math.max(d,0),u&&z.p(e,Wf,"y1"),this.Kg=Math.max(e,0),this.pp="boolean"===typeof h?!!h:!1,this.Ho=!!k):(u&&z.p(d,Wf,"x1"),this.Rd=d,u&&z.p(e, -Wf,"y1"),this.df=e,u&&z.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Bh=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Kg=h):this.Kg=0,this.Ho=this.pp=!1);this.ei=!1;this.jb=!0;this.tg=null}z.ka("PathSegment",Wf);z.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.da=this.da;a.Bb=this.Bb;a.Ib=this.Ib;a.Rd=this.Rd;a.df=this.df;a.Bh=this.Bh;a.Kg=this.Kg;a.pp=this.pp;a.Ho=this.Ho;a.ei=this.ei;a.jb=this.jb;return a}; +function Wf(a,b,c,d,e,g,h,k){z.wc(this);this.I=!1;void 0===a?a=mf:u&&z.Ca(a,Wf,Wf,"constructor:type");this.da=a;void 0!==b?(u&&z.p(b,Wf,"ex"),this.Bb=b):this.Bb=0;void 0!==c?(u&&z.p(c,Wf,"ey"),this.Ib=c):this.Ib=0;void 0===d&&(d=0);void 0===e&&(e=0);void 0===g&&(g=0);void 0===h&&(h=0);a===Qf?(a=g%360,0>a&&(a+=360),this.Rd=a,this.df=0,u&&z.p(d,Wf,"x1"),this.Bh=Math.max(d,0),u&&z.p(e,Wf,"y1"),this.Kg=Math.max(e,0),this.op="boolean"===typeof h?!!h:!1,this.Go=!!k):(u&&z.p(d,Wf,"x1"),this.Rd=d,u&&z.p(e, +Wf,"y1"),this.df=e,u&&z.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Bh=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Kg=h):this.Kg=0,this.Go=this.op=!1);this.ei=!1;this.jb=!0;this.tg=null}z.ka("PathSegment",Wf);z.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.da=this.da;a.Bb=this.Bb;a.Ib=this.Ib;a.Rd=this.Rd;a.df=this.df;a.Bh=this.Bh;a.Kg=this.Kg;a.op=this.op;a.Go=this.Go;a.ei=this.ei;a.jb=this.jb;return a}; Wf.prototype.equalsApprox=Wf.prototype.Vc=function(a){if(!(a instanceof Wf)||this.type!==a.type||this.Nx!==a.Nx)return!1;switch(this.type){case Mf:case mf:return Q(this.G,a.G)&&Q(this.H,a.H);case Nf:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Dc,a.Dc)&&Q(this.Zc,a.Zc)&&Q(this.Rh,a.Rh)&&Q(this.Sh,a.Sh);case Of:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Dc,a.Dc)&&Q(this.Zc,a.Zc);case Pf:return Q(this.Me,a.Me)&&Q(this.Bf,a.Bf)&&Q(this.oa,a.oa)&&Q(this.xa,a.xa)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY, -a.radiusY);case Qf:return this.qm===a.qm&&this.Sx===a.Sx&&Q(this.Vj,a.Vj)&&Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,a.radiusY);default:return!1}};Wf.prototype.qc=function(a){a.Pe===Wf?this.type=a:z.Tj(this,a)}; +a.radiusY);case Qf:return this.qm===a.qm&&this.Sx===a.Sx&&Q(this.Vj,a.Vj)&&Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,a.radiusY);default:return!1}};Wf.prototype.pc=function(a){a.Pe===Wf?this.type=a:z.Tj(this,a)}; Wf.prototype.toString=function(a){void 0===a&&(a=-1);var b="";switch(this.type){case Mf:b=0>a?"M"+this.G.toString()+" "+this.H.toString():"M"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case mf:b=0>a?"L"+this.G.toString()+" "+this.H.toString():"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Nf:b=0>a?"C"+this.Dc.toString()+" "+this.Zc.toString()+" "+this.Rh.toString()+" "+this.Sh.toString()+" "+this.G.toString()+" "+this.H.toString():"C"+this.Dc.toFixed(a)+" "+this.Zc.toFixed(a)+" "+this.Rh.toFixed(a)+ " "+this.Sh.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Of:b=0>a?"Q"+this.Dc.toString()+" "+this.Zc.toString()+" "+this.G.toString()+" "+this.H.toString():"Q"+this.Dc.toFixed(a)+" "+this.Zc.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Pf:b=0>a?"B"+this.Me.toString()+" "+this.Bf.toString()+" "+this.oa.toString()+" "+this.xa.toString()+" "+this.radiusX:"B"+this.Me.toFixed(a)+" "+this.Bf.toFixed(a)+" "+this.oa.toFixed(a)+" "+this.xa.toFixed(a)+" "+this.radiusX; break;case Qf:b=0>a?"A"+this.radiusX.toString()+" "+this.radiusY.toString()+" "+this.Vj.toString()+" "+(this.Sx?1:0)+" "+(this.qm?1:0)+" "+this.G.toString()+" "+this.H.toString():"A"+this.radiusX.toFixed(a)+" "+this.radiusY.toFixed(a)+" "+this.Vj.toFixed(a)+" "+(this.Sx?1:0)+" "+(this.qm?1:0)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;default:b=this.type.toString()}return b+(this.ei?"z":"")};var Mf;Wf.Move=Mf=z.s(Wf,"Move",0);var mf;Wf.Line=mf=z.s(Wf,"Line",1);var Nf; Wf.Bezier=Nf=z.s(Wf,"Bezier",2);var Of;Wf.QuadraticBezier=Of=z.s(Wf,"QuadraticBezier",3);var Pf;Wf.Arc=Pf=z.s(Wf,"Arc",4);var Qf;Wf.SvgArc=Qf=z.s(Wf,"SvgArc",4);Wf.prototype.freeze=function(){this.I=!0;return this};Wf.prototype.Za=function(){this.I=!1;return this};Wf.prototype.close=Wf.prototype.close=function(){this.ei=!0;return this}; function Rf(a,b){if(null!==a.tg&&!1===b.jb)return a.tg;var c=a.radiusX,d=a.radiusY;void 0===d&&(d=c);if(0===c||0===d)return a.tg=[],a.tg;var e=a.Rd,g=a.df,h=Se(c =r?h=Math.PI:1<=r&&(h=0);!l&&0 h&&(h+=2*Math.PI);l=b>g?1:b/g;r=b>g?g/b:1;b=Se(b>g?b:g,n,n+h,!0);g=z.Pf();g.reset();g.translate(c,d);g.rotate(a.Rd,0,0);g.scale(l,r);sf(b,g);z.Ie(g);a.tg=b;return a.tg} z.defineProperty(Wf,{Nx:"isClosed"},function(){return this.ei},function(a){this.ei!==a&&(this.ei=a,this.jb=!0)});z.defineProperty(Wf,{type:"type"},function(){return this.da},function(a){u&&z.Ca(a,Wf,Wf,"type");this.I&&z.pa(this,a);this.da=a;this.jb=!0});z.defineProperty(Wf,{G:"endX"},function(){return this.Bb},function(a){u&&z.p(a,Wf,"endX");this.I&&z.pa(this,a);this.Bb=a;this.jb=!0}); z.defineProperty(Wf,{H:"endY"},function(){return this.Ib},function(a){u&&z.p(a,Wf,"endY");this.I&&z.pa(this,a);this.Ib=a;this.jb=!0});z.defineProperty(Wf,{Dc:"point1X"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"point1X");this.I&&z.pa(this,a);this.Rd=a;this.jb=!0});z.defineProperty(Wf,{Zc:"point1Y"},function(){return this.df},function(a){u&&z.p(a,Wf,"point1Y");this.I&&z.pa(this,a);this.df=a;this.jb=!0}); z.defineProperty(Wf,{Rh:"point2X"},function(){return this.Bh},function(a){u&&z.p(a,Wf,"point2X");this.I&&z.pa(this,a);this.Bh=a;this.jb=!0});z.defineProperty(Wf,{Sh:"point2Y"},function(){return this.Kg},function(a){u&&z.p(a,Wf,"point2Y");this.I&&z.pa(this,a);this.Kg=a;this.jb=!0});z.defineProperty(Wf,{oa:"centerX"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"centerX");this.I&&z.pa(this,a);this.Rd=a;this.jb=!0}); z.defineProperty(Wf,{xa:"centerY"},function(){return this.df},function(a){u&&z.p(a,Wf,"centerY");this.I&&z.pa(this,a);this.df=a;this.jb=!0});z.defineProperty(Wf,{radiusX:"radiusX"},function(){return this.Bh},function(a){u&&z.p(a,Wf,"radiusX");0>a&&z.wa(a,">= zero",Wf,"radiusX");this.I&&z.pa(this,a);this.Bh=a;this.jb=!0});z.defineProperty(Wf,{radiusY:"radiusY"},function(){return this.Kg},function(a){u&&z.p(a,Wf,"radiusY");0>a&&z.wa(a,">= zero",Wf,"radiusY");this.I&&z.pa(this,a);this.Kg=a;this.jb=!0}); -z.defineProperty(Wf,{Me:"startAngle"},function(){return this.Bb},function(a){this.Bb!==a&&(this.I&&z.pa(this,a),u&&z.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Bb=a,this.jb=!0)});z.defineProperty(Wf,{Bf:"sweepAngle"},function(){return this.Ib},function(a){u&&z.p(a,Wf,"sweepAngle");this.I&&z.pa(this,a);360a&&(a=-360);this.Ib=a;this.jb=!0});z.defineProperty(Wf,{qm:"isClockwiseArc"},function(){return this.Ho},function(a){this.I&&z.pa(this,a);this.Ho=a;this.jb=!0}); -z.defineProperty(Wf,{Sx:"isLargeArc"},function(){return this.pp},function(a){this.I&&z.pa(this,a);this.pp=a;this.jb=!0});z.defineProperty(Wf,{Vj:"xAxisRotation"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.I&&z.pa(this,a);this.Rd=a;this.jb=!0}); +z.defineProperty(Wf,{Me:"startAngle"},function(){return this.Bb},function(a){this.Bb!==a&&(this.I&&z.pa(this,a),u&&z.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Bb=a,this.jb=!0)});z.defineProperty(Wf,{Bf:"sweepAngle"},function(){return this.Ib},function(a){u&&z.p(a,Wf,"sweepAngle");this.I&&z.pa(this,a);360a&&(a=-360);this.Ib=a;this.jb=!0});z.defineProperty(Wf,{qm:"isClockwiseArc"},function(){return this.Go},function(a){this.I&&z.pa(this,a);this.Go=a;this.jb=!0}); +z.defineProperty(Wf,{Sx:"isLargeArc"},function(){return this.op},function(a){this.I&&z.pa(this,a);this.op=a;this.jb=!0});z.defineProperty(Wf,{Vj:"xAxisRotation"},function(){return this.Rd},function(a){u&&z.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.I&&z.pa(this,a);this.Rd=a;this.jb=!0}); function Yf(){this.ca=null;this.cA=(new M(0,0)).freeze();this.jz=(new M(0,0)).freeze();this.vv=this.pw=0;this.wv=1;this.ew="";this.Xw=this.Lv=!1;this.Iv=this.xv=0;this.Xj=this.Sv=this.bw=!1;this.Qr=null;this.Vw=0;this.Ng=this.Uw=null}z.ka("InputEvent",Yf); -Yf.prototype.copy=function(){var a=new Yf;a.ca=this.ca;a.cA.assign(this.te);a.jz.assign(this.ha);a.pw=this.pw;a.vv=this.vv;a.wv=this.wv;a.ew=this.ew;a.Lv=this.Lv;a.Xw=this.Xw;a.xv=this.xv;a.Iv=this.Iv;a.bw=this.bw;a.Sv=this.Sv;a.Xj=this.Xj;a.Qr=this.Qr;a.Vw=this.Vw;a.Uw=this.Uw;a.Ng=this.Ng;return a}; -Yf.prototype.toString=function(){var a="^";0!==this.Ld&&(a+="M:"+this.Ld);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Qe&&(a+="C:"+this.Qe);0!==this.fm&&(a+="D:"+this.fm);this.Nc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};z.defineProperty(Yf,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});z.defineProperty(Yf,{te:"viewPoint"},function(){return this.cA},function(a){z.l(a,M,Yf,"viewPoint");this.cA.assign(a)}); +Yf.prototype.copy=function(){var a=new Yf;a.ca=this.ca;a.cA.assign(this.se);a.jz.assign(this.ha);a.pw=this.pw;a.vv=this.vv;a.wv=this.wv;a.ew=this.ew;a.Lv=this.Lv;a.Xw=this.Xw;a.xv=this.xv;a.Iv=this.Iv;a.bw=this.bw;a.Sv=this.Sv;a.Xj=this.Xj;a.Qr=this.Qr;a.Vw=this.Vw;a.Uw=this.Uw;a.Ng=this.Ng;return a}; +Yf.prototype.toString=function(){var a="^";0!==this.Ld&&(a+="M:"+this.Ld);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Qe&&(a+="C:"+this.Qe);0!==this.fm&&(a+="D:"+this.fm);this.Nc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};z.defineProperty(Yf,{g:"diagram"},function(){return this.ca},function(a){this.ca=a});z.defineProperty(Yf,{se:"viewPoint"},function(){return this.cA},function(a){z.l(a,M,Yf,"viewPoint");this.cA.assign(a)}); z.defineProperty(Yf,{ha:"documentPoint"},function(){return this.jz},function(a){z.l(a,M,Yf,"documentPoint");this.jz.assign(a)});Yf.prototype.getMultiTouchViewPoint=Yf.prototype.Ix=function(a,b){var c=this.g;if(null===c)return b;Zf(c,this.event,a,b);return b};Yf.prototype.getMultiTouchDocumentPoint=function(a,b){var c=this.g;if(null===c)return b;Zf(c,this.event,a,b);b.assign(c.NB(b));return b};z.defineProperty(Yf,{Ld:"modifiers"},function(){return this.pw},function(a){this.pw=a}); z.defineProperty(Yf,{button:"button"},function(){return this.vv},function(a){this.vv=a;if(null===this.event)switch(a){case 0:this.buttons=1;break;case 1:this.buttons=4;break;case 2:this.buttons=2}});z.defineProperty(Yf,{buttons:"buttons"},function(){return this.wv},function(a){this.wv=a});z.defineProperty(Yf,{key:"key"},function(){return this.ew},function(a){this.ew=a});z.defineProperty(Yf,{gm:"down"},function(){return this.Lv},function(a){this.Lv=a}); z.defineProperty(Yf,{up:"up"},function(){return this.Xw},function(a){this.Xw=a});z.defineProperty(Yf,{Qe:"clickCount"},function(){return this.xv},function(a){this.xv=a});z.defineProperty(Yf,{fm:"delta"},function(){return this.Iv},function(a){this.Iv=a});z.defineProperty(Yf,{vu:"isMultiTouch"},function(){return this.bw},function(a){this.bw=a});z.defineProperty(Yf,{Nc:"handled"},function(){return this.Sv},function(a){this.Sv=a}); @@ -323,31 +323,31 @@ z.defineProperty(Yf,{eh:"targetDiagram"},function(){return this.Uw},function(a){ z.defineProperty(Yf,{alt:"alt"},function(){return 0!==(this.Ld&2)},function(a){this.Ld=a?this.Ld|2:this.Ld&-3});z.defineProperty(Yf,{Du:"meta"},function(){return 0!==(this.Ld&8)},function(a){this.Ld=a?this.Ld|8:this.Ld&-9});z.defineProperty(Yf,{left:"left"},function(){var a=this.event;return null!==a&&a instanceof MouseEvent&&("mousedown"===a.type||"mouseup"===a.type)?0===this.button:0!==(this.buttons&1)},function(a){this.buttons=a?this.buttons|1:this.buttons&-2}); z.defineProperty(Yf,{right:"right"},function(){var a=this.event;return null!==a&&a instanceof MouseEvent&&("mousedown"===a.type||"mouseup"===a.type)?2===this.button:0!==(this.buttons&2)},function(a){this.buttons=a?this.buttons|2:this.buttons&-3});z.defineProperty(Yf,{aM:"middle"},function(){var a=this.event;return null!==a&&a instanceof MouseEvent&&("mousedown"===a.type||"mouseup"===a.type)?1===this.button:0!==(this.buttons&4)},function(a){this.buttons=a?this.buttons|4:this.buttons&-5}); function $f(){this.ca=null;this.Xb="";this.yw=this.Sw=null;this.mr=!1}z.ka("DiagramEvent",$f);$f.prototype.copy=function(){var a=new $f;a.ca=this.ca;a.Xb=this.Xb;a.Sw=this.Sw;a.yw=this.yw;a.mr=this.mr;return a};$f.prototype.toString=function(){var a="*"+this.name;null!==this.HB&&(a+=":"+this.HB.toString());null!==this.lB&&(a+="("+this.lB.toString()+")");return a};z.defineProperty($f,{g:"diagram"},function(){return this.ca},function(a){this.ca=a}); -z.defineProperty($f,{name:"name"},function(){return this.Xb},function(a){this.Xb=a});z.defineProperty($f,{HB:"subject"},function(){return this.Sw},function(a){this.Sw=a});z.defineProperty($f,{lB:"parameter"},function(){return this.yw},function(a){this.yw=a});z.defineProperty($f,{cancel:"cancel"},function(){return this.mr},function(a){this.mr!==a&&z.Nn("DiagramEvent.cancel","2.0");this.mr=a});function ag(){this.nr=bg;this.jn=this.ow="";this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.ye=null} -z.ka("ChangedEvent",ag);var rg;ag.Transaction=rg=z.s(ag,"Transaction",-1);var bg;ag.Property=bg=z.s(ag,"Property",0);var sg;ag.Insert=sg=z.s(ag,"Insert",1);var tg;ag.Remove=tg=z.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.ye=null}; -ag.prototype.copy=function(){var a=new ag;a.nr=this.nr;a.ow=this.ow;a.jn=this.jn;a.ye=this.ye;a.ca=this.ca;a.Ns=this.Ns;var b=this.Ps;a.Ps=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Os;a.Os=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ks;a.Ks=z.Xa(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.qc=function(a){a.Pe===ag?this.Kc=a:z.Tj(this,a)}; +z.defineProperty($f,{name:"name"},function(){return this.Xb},function(a){this.Xb=a});z.defineProperty($f,{HB:"subject"},function(){return this.Sw},function(a){this.Sw=a});z.defineProperty($f,{lB:"parameter"},function(){return this.yw},function(a){this.yw=a});z.defineProperty($f,{cancel:"cancel"},function(){return this.mr},function(a){this.mr!==a&&z.Nn("DiagramEvent.cancel","2.0");this.mr=a});function ag(){this.nr=bg;this.jn=this.ow="";this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.xe=null} +z.ka("ChangedEvent",ag);var rg;ag.Transaction=rg=z.s(ag,"Transaction",-1);var bg;ag.Property=bg=z.s(ag,"Property",0);var sg;ag.Insert=sg=z.s(ag,"Insert",1);var tg;ag.Remove=tg=z.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ks=this.Ls=this.Os=this.Ps=this.Ns=this.ca=this.xe=null}; +ag.prototype.copy=function(){var a=new ag;a.nr=this.nr;a.ow=this.ow;a.jn=this.jn;a.xe=this.xe;a.ca=this.ca;a.Ns=this.Ns;var b=this.Ps;a.Ps=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Os;a.Os=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=z.Xa(b)&&"function"===typeof b.V?b.V():b;b=this.Ks;a.Ks=z.Xa(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.pc=function(a){a.Pe===ag?this.Kc=a:z.Tj(this,a)}; ag.prototype.toString=function(){var a="",a=this.Kc===rg?a+"* ":this.Kc===bg?a+(null!==this.ia?"!m":"!d"):a+((null!==this.ia?"!m":"!d")+this.Kc);this.propertyName&&"string"===typeof this.propertyName&&(a+=" "+this.propertyName);this.Af&&this.Af!==this.propertyName&&(a+=" "+this.Af);a+=": ";this.Kc===rg?null!==this.oldValue&&(a+=" "+this.oldValue):(null!==this.object&&(a+=ka(this.object)),null!==this.oldValue&&(a+=" old: "+ka(this.oldValue)),null!==this.Oj&&(a+=" "+this.Oj),null!==this.newValue&& (a+=" new: "+ka(this.newValue)),null!==this.Mj&&(a+=" "+this.Mj));return a};ag.prototype.getValue=ag.prototype.qa=function(a){return a?this.oldValue:this.newValue};ag.prototype.getParam=function(a){return a?this.Oj:this.Mj};ag.prototype.canUndo=ag.prototype.canUndo=function(){return null!==this.ia||null!==this.g?!0:!1};ag.prototype.undo=ag.prototype.undo=function(){this.canUndo()&&(null!==this.ia?this.ia.En(this,!0):null!==this.g&&this.g.En(this,!0))}; -ag.prototype.canRedo=ag.prototype.canRedo=function(){return null!==this.ia||null!==this.g?!0:!1};ag.prototype.redo=ag.prototype.redo=function(){this.canRedo()&&(null!==this.ia?this.ia.En(this,!1):null!==this.g&&this.g.En(this,!1))};z.defineProperty(ag,{ia:"model"},function(){return this.ye},function(a){this.ye=a});z.defineProperty(ag,{g:"diagram"},function(){return this.ca},function(a){this.ca=a}); +ag.prototype.canRedo=ag.prototype.canRedo=function(){return null!==this.ia||null!==this.g?!0:!1};ag.prototype.redo=ag.prototype.redo=function(){this.canRedo()&&(null!==this.ia?this.ia.En(this,!1):null!==this.g&&this.g.En(this,!1))};z.defineProperty(ag,{ia:"model"},function(){return this.xe},function(a){this.xe=a});z.defineProperty(ag,{g:"diagram"},function(){return this.ca},function(a){this.ca=a}); z.defineProperty(ag,{Kc:"change"},function(){return this.nr},function(a){u&&z.Ca(a,ag,ag,"change");this.nr=a});z.defineProperty(ag,{Af:"modelChange"},function(){return this.ow},function(a){u&&z.h(a,"string",ag,"modelChange");this.ow=a});z.defineProperty(ag,{propertyName:"propertyName"},function(){return this.jn},function(a){u&&"string"!==typeof a&&z.h(a,"function",ag,"propertyName");this.jn=a}); z.w(ag,{NF:"isTransactionFinished"},function(){return this.nr===rg&&("CommittedTransaction"===this.jn||"FinishedUndo"===this.jn||"FinishedRedo"===this.jn)});z.defineProperty(ag,{object:"object"},function(){return this.Ns},function(a){this.Ns=a});z.defineProperty(ag,{oldValue:"oldValue"},function(){return this.Ps},function(a){this.Ps=a});z.defineProperty(ag,{Oj:"oldParam"},function(){return this.Os},function(a){this.Os=a}); z.defineProperty(ag,{newValue:"newValue"},function(){return this.Ls},function(a){this.Ls=a});z.defineProperty(ag,{Mj:"newParam"},function(){return this.Ks},function(a){this.Ks=a}); -function L(a){1 d)return;z.Rg(a.ze,d)}dh(a,"nodeDataArray",tg,"nodeDataArray",a,b,null,d,null);a.dv(b)} +L.prototype.makeNodeDataKeyUnique=L.prototype.ZA=function(a){if(null!==a){var b=this.uk;if(""!==b){var c=this.Cb(a);if(void 0===c||this.Gc.contains(c)){var d=this.sp;if(null!==d&&(c=d(this,a),void 0!==c&&null!==c&&!this.Gc.contains(c))){z.Ua(a,b,c);return}if("string"===typeof c){for(d=2;this.Gc.contains(c+d);)d++;z.Ua(a,b,c+d)}else if(void 0===c||"number"===typeof c){for(d=-this.Gc.count-1;this.Gc.contains(d);)d--;z.Ua(a,b,d)}else z.k("Model.getKeyForNodeData returned something other than a string or a number: "+ +c)}}}};L.prototype.addNodeData=L.prototype.Tl=function(a){null!==a&&(z.oq(a),this.ke(a)||gh(this,a,!0))};function gh(a,b,c){var d=a.Cb(b);if(void 0===d||a.Gc.qa(d)!==b)a.ZA(b),d=a.Cb(b),void 0===d?z.k("Model.makeNodeDataKeyUnique failed on "+b+". Data not added to Model."):(a.Gc.add(d,b),d=null,c&&(d=z.bb(a.ye),z.Hh(a.ye,d,b)),dh(a,"nodeDataArray",sg,"nodeDataArray",a,null,b,null,d),a.Kq(b),a.Jq(b))} +L.prototype.addNodeDataCollection=function(a){if(z.isArray(a))for(var b=z.bb(a),c=0;cd)return;z.Rg(a.ye,d)}dh(a,"nodeDataArray",tg,"nodeDataArray",a,b,null,d,null);a.dv(b)} L.prototype.removeNodeDataCollection=function(a){if(z.isArray(a))for(var b=z.bb(a),c=0;cb&&(b=z.bb(a));z.Hh(a,b,c);dh(this,"",sg,"",a,null,c,null,b)}; -L.prototype.removeArrayItem=L.prototype.hG=function(a,b){void 0===b&&(b=-1);u&&(z.Tt(a,L,"removeArrayItem:arr"),z.p(b,L,"removeArrayItem:idx"));a===this.ze&&z.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=z.bb(a)-1);var c=z.Ma(a,b);z.Rg(a,b);dh(this,"",tg,"",a,c,null,b,null)};z.defineProperty(L,{jo:"nodeCategoryProperty"},function(){return this.dn},function(a){var b=this.dn;b!==a&&(eh(a,L,"nodeCategoryProperty"),this.dn=a,this.i("nodeCategoryProperty",b,a))}); +L.prototype.setDataProperty=function(a,b,c){u&&(z.h(a,"object",L,"setDataProperty:data"),z.h(b,"string",L,"setDataProperty:propname"),""===b&&z.k("Model.setDataProperty: property name must not be an empty string when setting "+a+" to "+c));if(this.ke(a))if(b===this.Nj)this.yy(a,c);else{if(b===this.jo){this.xy(a,c);return}}else!oh&&a instanceof O&&(oh=!0,z.trace('Model.setDataProperty is modifying a GraphObject, "'+a.toString()+'"'),z.trace(" Is that really your intent?"));var d=z.vb(a,b);d!==c&& +(z.Ua(a,b,c),this.mB(a,b,d,c))};L.prototype.addArrayItem=function(a,b){this.PA(a,-1,b)};L.prototype.insertArrayItem=L.prototype.PA=function(a,b,c){u&&(z.Tt(a,L,"insertArrayItem:arr"),z.p(b,L,"insertArrayItem:idx"));a===this.ye&&z.k("Model.insertArrayItem or Model.addArrayItem should not be called on the Model.nodeDataArray");0>b&&(b=z.bb(a));z.Hh(a,b,c);dh(this,"",sg,"",a,null,c,null,b)}; +L.prototype.removeArrayItem=L.prototype.hG=function(a,b){void 0===b&&(b=-1);u&&(z.Tt(a,L,"removeArrayItem:arr"),z.p(b,L,"removeArrayItem:idx"));a===this.ye&&z.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=z.bb(a)-1);var c=z.Ma(a,b);z.Rg(a,b);dh(this,"",tg,"",a,c,null,b,null)};z.defineProperty(L,{jo:"nodeCategoryProperty"},function(){return this.dn},function(a){var b=this.dn;b!==a&&(eh(a,L,"nodeCategoryProperty"),this.dn=a,this.i("nodeCategoryProperty",b,a))}); L.prototype.getCategoryForNodeData=L.prototype.IA=function(a){if(null===a)return"";var b=this.dn;if(""===b)return"";b=z.vb(a,b);if(void 0===b)return"";if("string"===typeof b)return b;z.k("getCategoryForNodeData found a non-string category for "+a+": "+b);return""}; -L.prototype.setCategoryForNodeData=L.prototype.xy=function(a,b){z.h(b,"string",L,"setCategoryForNodeData:cat");if(null!==a){var c=this.dn;if(""!==c)if(this.le(a)){var d=z.vb(a,c);void 0===d&&(d="");d!==b&&(z.Ua(a,c,b),dh(this,"nodeCategory",bg,c,a,d,b))}else z.Ua(a,c,b)}}; -function X(a,b){2 z.Yl(d,a.newValue)&&z.Hh(d,c,a.newValue));return}}else if(a.Kc=== tg){c=a.Oj;if("linkDataArray"===a.Af){d=a.oldValue;z.Xa(d)&&"number"===typeof c&&(e=this.eg(d),b?(this.hi.add(d),z.Ma(this.bf,c)!==d&&z.Hh(this.bf,c,d),void 0!==e&&this.qd.add(e,d)):(this.hi.remove(d),z.Ma(this.bf,c)===d&&z.Rg(this.bf,c),void 0!==e&&this.qd.remove(e)));return}if("linkLabelKeys"===a.Af){d=this.Rk(a.object);z.isArray(d)&&"number"===typeof c&&(b?0>z.Yl(d,a.newValue)&&z.Hh(d,c,a.newValue):(c=z.Yl(d,a.newValue),0<=c&&z.Rg(d,c)));return}}L.prototype.En.call(this,a,b)}; z.defineProperty(X,{jA:"archetypeNodeData"},function(){return this.ol},function(a){var b=this.ol;b!==a&&(null!==a&&z.l(a,Object,X,"archetypeNodeData"),this.ol=a,this.i("archetypeNodeData",b,a))});X.prototype.ho=function(a){if(void 0!==a){var b=this.ol;if(null!==b){var c=this.Ge(a);null===c&&(c=this.copyNodeData(b),z.Ua(c,this.uk,a),this.Tl(c))}return a}}; @@ -417,252 +417,252 @@ X.prototype.getLabelKeysForLinkData=X.prototype.Rk=function(a){if(null===a)retur X.prototype.setLabelKeysForLinkData=X.prototype.FG=function(a,b){z.Tt(b,X,"setLabelKeysForLinkData:arr");if(null!==a){var c=this.Gg;if(""!==c)if(this.Kh(a)){var d=z.vb(a,c);void 0===d&&(d=z.bl);if(d!==b){for(var e=z.bb(d),g=0;g e||(z.Rg(d,e),this.Kh(a)&&(kh(this,b,a),dh(this,"linkLabelKeys",tg,c,a,b,null,e,null)))}else void 0!==d&&z.k(c+" property is not an Array; cannot removeLabelKeyforLinkData: "+a)}}}; -z.defineProperty(X,{Xg:"linkDataArray"},function(){return this.bf},function(a){var b=this.bf;if(b!==a){z.Tt(a,X,"linkDataArray");this.qd.clear();for(var c=z.bb(a),d=0;d d)return;z.Rg(a.bf,d)}dh(a,"linkDataArray",tg,"linkDataArray",a,b,null,d,null);c=a.mm(b);kh(a,c,b);c=a.nm(b);kh(a,c,b);d=a.Rk(b);if(z.isArray(d))for(var e=z.bb(d),g=0;g a.Vh&&z.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Vh;d&&b&&a.sd("CommittingTransaction",c,a.zj);var e=0;if(0 a.Ej;e--)g=d.fa(e),null!==g&&g.clear(), +ug.prototype.clear=ug.prototype.clear=function(){var a=this.history;a.Za();for(var b=a.count-1;0<=b;b--){var c=a.fa(b);null!==c&&c.clear()}a.clear();this.rh=-1;a.freeze();this.bj=!1;this.Hv=null;this.Ql=0;this.xh.Za();this.xh.clear();this.xh.freeze();this.wp.clear()};ug.prototype.addModel=ug.prototype.LH=function(a){this.Lz.add(a)};ug.prototype.removeModel=ug.prototype.ZJ=function(a){this.Lz.remove(a)}; +ug.prototype.startTransaction=ug.prototype.$b=function(a){void 0===a&&(a="");null===a&&(a="");if(this.lb)return!1;!0===this.uz&&(this.uz=!1,this.Ql++,this.sd("StartingFirstTransaction",a,this.zj),0 a.Vh&&z.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Vh;d&&b&&a.sd("CommittingTransaction",c,a.zj);var e=0;if(0 a.Ej;e--)g=d.fa(e),null!==g&&g.clear(), d.md(e),a.Fz=!0;e=a.UF;0===e&&(e=1);0 =e&&(g=d.fa(0),null!==g&&g.clear(),d.md(0),a.rh--);d.add(b);a.rh++;d.freeze();g=b}a.sd("CommittedTransaction",c,g)}else{a.bj=!0;try{a.isEnabled&&null!==g&&(g.ru=!0,g.undo())}finally{a.sd("RolledBackTransaction",c,g),a.bj=!1}null!==g&&g.clear()}a.Hv=null;return!0}if(a.isEnabled&&!b&&null!==g){a=e;c=g.bg;for(b=c.count-1;b>=a;b--)d=c.fa(b),null!==d&&d.undo(),c.Za(),c.md(b);c.freeze()}return!1} ug.prototype.canUndo=ug.prototype.canUndo=function(){if(!this.isEnabled||0 =this.Vh&&!this.uz&&(a=a.g,null!==a&&!1===a.Zn||z.trace("Change not within a transaction: "+c.toString()))}}; ug.prototype.skipsEvent=function(a){if(null===a||0>a.Kc.value)return!0;a=a.object;if(a instanceof O){if(a=a.layer,null!==a&&a.Wc)return!0}else if(a instanceof ah&&a.Wc)return!0;return!1};z.w(ug,{GJ:"models"},function(){return this.Lz.j});z.defineProperty(ug,{isEnabled:"isEnabled"},function(){return this.pf},function(a){this.pf=a});z.w(ug,{YG:"transactionToUndo"},function(){return 0<=this.Ej&&this.Ej<=this.history.count-1?this.history.fa(this.Ej):null}); z.w(ug,{XG:"transactionToRedo"},function(){return this.Ej b.Oh||(b.scale=a))};ta.prototype.canDecreaseZoom=function(a){void 0===a&&(a=1/this.Fy);z.p(a,ta,"canDecreaseZoom:factor");var b=this.g;if(null===b||b.Zl!==Qh)return!1;a*=b.scale;return a b.Oh?!1:b.lx}; ta.prototype.increaseZoom=function(a){void 0===a&&(a=this.Fy);z.p(a,ta,"increaseZoom:factor");var b=this.g;null!==b&&b.Zl===Qh&&(a*=b.scale,a b.Oh||(b.scale=a))};ta.prototype.canIncreaseZoom=function(a){void 0===a&&(a=this.Fy);z.p(a,ta,"canIncreaseZoom:factor");var b=this.g;if(null===b||b.Zl!==Qh)return!1;a*=b.scale;return a b.Oh?!1:b.lx};ta.prototype.resetZoom=function(a){void 0===a&&(a=this.vx);z.p(a,ta,"resetZoom:newscale");var b=this.g;null===b||a b.Oh||(b.scale=a)}; ta.prototype.canResetZoom=function(a){void 0===a&&(a=this.vx);z.p(a,ta,"canResetZoom:newscale");var b=this.g;return null===b||a b.Oh?!1:b.lx};ta.prototype.zoomToFit=function(){var a=this.g;if(null!==a){var b=a.scale,c=a.position;b===this.fA&&!isNaN(this.Gz)&&a.fd.O(this.eA)?(a.scale=this.Gz,a.position=this.lD,this.fA=NaN,this.eA=Ed):(this.Gz=b,this.lD=c.copy(),a.zoomToFit(),this.fA=a.scale,this.eA=a.fd.copy())}};ta.prototype.canZoomToFit=function(){var a=this.g;return null===a?!1:a.lx}; -ta.prototype.scrollToPart=function(a){void 0===a&&(a=null);null!==a&&z.l(a,D,ta,"part");var b=this.g;if(null!==b){if(null===a){try{null!==this.qj&&(this.qj.next()?a=this.qj.value:this.qj=null)}catch(c){this.qj=null}null===a&&(0 e||Math.abs(b.y-a.y)>d};z.w(bh,{g:"diagram"},function(){return this.ca});z.defineProperty(bh,{name:"name"},function(){return this.Xb},function(a){z.h(a,"string",bh,"name");this.Xb=a}); +bh.prototype.cancelWaitAfter=function(){-1!==this.$w&&z.clearTimeout(this.$w);this.$w=-1};bh.prototype.doWaitAfter=function(){};bh.prototype.findToolHandleAt=function(a,b){var c=this.g;if(null===c)return null;c=c.He(a,function(a){for(;null!==a&&!(a.Q instanceof ea);)a=a.Q;return a});return null===c?null:c.Q.rc===b?c:null}; +bh.prototype.isBeyondDragSize=function(a,b){var c=this.g;if(null===c)return!1;void 0===a&&(a=c.Mc.se);void 0===b&&(b=c.U.se);var d=c.ib.sI,e=d.width,d=d.height;c.Mc.Hj&&(e+=6,d+=6);return Math.abs(b.x-a.x)>e||Math.abs(b.y-a.y)>d};z.w(bh,{g:"diagram"},function(){return this.ca});z.defineProperty(bh,{name:"name"},function(){return this.Xb},function(a){z.h(a,"string",bh,"name");this.Xb=a}); z.defineProperty(bh,{isEnabled:"isEnabled"},function(){return this.pf},function(a){z.h(a,"boolean",bh,"isEnabled");this.pf=a});z.defineProperty(bh,{ya:"isActive"},function(){return this.ZC},function(a){z.h(a,"boolean",bh,"isActive");this.ZC=a});z.defineProperty(bh,{Qf:"transactionResult"},function(){return this.jE},function(a){null!==a&&z.h(a,"string",bh,"transactionResult");this.jE=a}); -function Ph(){0 e&&(e=k),l>g&&(g=l))}}Infinity===c?b.m(0,0,0,0):b.m(c,d,e-c,g-d)} -function Hi(a,b){if(null===a.kc){var c=a.g;if(!(null===c||b&&(c.kb||c.Hf))&&null!==a.fc){var d=c.sa;d.isEnabled&&d.JF?null!==d.zj&&0 e&&(e=k),l>g&&(g=l))}}Infinity===c?b.m(0,0,0,0):b.m(c,d,e-c,g-d)} +function Hi(a,b){if(null===a.kc){var c=a.g;if(!(null===c||b&&(c.kb||c.Hf))&&null!==a.fc){var d=c.sa;d.isEnabled&&d.JF?null!==d.zj&&0 c.ua)){var d=a.g;if(null!==d&&!d.kb&&(d=a.oj,null!==d)){var e=null,g=null;null===c.aa&&(e=Ri(a,c.n(0),!1),null!==e&&(g=e.ba));var h=null,k=null;null===c.ea&&(h=Ri(a,c.n(c.ua-1),!0),null!==h&&(k=h.ba));d.isValidLink(g,e,k,h)?b?(c.eq=c.n(0),c.fq=c.n(c.ua-1),c.Sj=!1,c.aa=g,null!==e&&(c.dg=e.vd),c.ea=k,null!==h&&(c.ih=h.vd)):Si(d,g,e,k,h):Si(d,null,null,null,null)}}}Ph.prototype.doDragOver=function(){}; +function Oi(a,b){var c=a.td;if(null!==c&&!(2>c.ua)){var d=a.g;if(null!==d&&!d.kb&&(d=a.oj,null!==d)){var e=null,g=null;null===c.aa&&(e=Ri(a,c.n(0),!1),null!==e&&(g=e.ba));var h=null,k=null;null===c.ea&&(h=Ri(a,c.n(c.ua-1),!0),null!==h&&(k=h.ba));d.isValidLink(g,e,k,h)?b?(c.dq=c.n(0),c.eq=c.n(c.ua-1),c.Sj=!1,c.aa=g,null!==e&&(c.dg=e.vd),c.ea=k,null!==h&&(c.ih=h.vd)):Si(d,g,e,k,h):Si(d,null,null,null,null)}}}Ph.prototype.doDragOver=function(){}; function Ti(a,b){var c=a.g;if(null!==c){a.Bj&&Oi(a,!0);zi(a);var d=Pi(c,b,null,function(b){return!Mi(a,b)}),e=c.U;e.We=d;if(null!==d){e.Nc=!1;for(var g=d;null!==g;){var h=g.bB;if(null!==h&&(h(e,g),e.Nc))break;g=Qi(g)}}else h=c.bB,null!==h&&h(e);if(a.ya||null!==Yh){for(e=(a.kc||a.fc).j;e.next();)g=e.key,g instanceof E&&g.Jd.each(function(a){a.Sj=!1});a.doDropOnto(b,d);if(a.ya||null!==Yh){d=z.Of();for(e=c.selection.j;e.next();)g=e.value,g instanceof E&&Ui(c,g.getAvoidableRect(d));z.Mb(d)}}}} -Ph.prototype.doDropOnto=function(){};Ph.prototype.doMouseMove=function(){if(this.ya){var a=this.g;if(null!==a&&null!==this.Ln&&null!==this.fc){var b=!1,c=!1;this.mayCopy()?(b=!0,a.lc="copy",Hi(this,!1),this.xt(this.kc),Ii(this,this.kc,!1),this.Ep(this.kc)):this.mayMove()?(c=!0,a.lc="default",Ci(this),Ii(this,this.fc,!0)):this.mayDragOut()?(a.lc="no-drop",Hi(this,!1),Ii(this,this.kc,!1)):Ci(this);Ni(this,a.U.ha,c,b)}}}; -Ph.prototype.doMouseUp=function(){if(this.ya){var a=this.g;if(null!==a){var b=!1,c=this.mayCopy();c&&null!==this.kc?(Ci(this),Hi(this,!0),this.xt(this.kc),Ii(this,this.kc,!1),this.Ep(this.kc),null!==this.kc&&a.AG(this.kc.Uj())):(b=!0,Ci(this),this.mayMove()&&(Ii(this,this.fc,!0),Ni(this,a.U.ha,!0,!1)));this.Kr=!0;Ti(this,a.U.ha);if(this.ya){this.kc=null;if(b&&null!==this.fc)for(b=this.fc.j;b.next();){var d=b.key;d instanceof E&&(d=d.Qa,null===d||null===d.placeholder||this.fc.contains(d)||d.placeholder.K())}a.Bc(); -this.Ep(this.fc);this.Qf=c?"Copy":"Move";a.Ka(c?"SelectionCopied":"SelectionMoved",a.selection)}this.stopTool()}}};Ph.prototype.mayCopy=function(){if(!this.EF)return!1;var a=this.g;if(null===a||a.kb||a.Hf||!a.Wp||!a.Ik||(z.Uk?!a.U.alt:!a.U.control))return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.re()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1}; -Ph.prototype.mayDragOut=function(){if(!this.EF)return!1;var a=this.g;if(null===a||!a.Qt||!a.Ik||a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.re()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};Ph.prototype.mayMove=function(){var a=this.g;if(null===a||a.kb||!a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.re()&&b.canMove())return!0}return null!==this.td&&this.Bj&&this.td.canMove()?!0:!1};var Ai=new J(Ph),Yh=null,Zh=null; -Ph.prototype.getDraggingSource=function(){return Yh};Ph.prototype.mayDragIn=function(){var a=this.g;if(null===a||!a.wE||a.kb||a.Hf||!a.Wp)return!1;var b=Yh;return null===b||null===b.g||b.g.ia.dm!==a.ia.dm?!1:!0};Ph.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.g;a.Ya.Ii();Vi(a);a=Yh;null!==a&&null!==a.g&&(a.g.lc="copy")}};Ph.prototype.doSimulatedDragLeave=function(){var a=Yh;null!==a&&a.doSimulatedDragOut();this.doCancel()}; +Ph.prototype.doDropOnto=function(){};Ph.prototype.doMouseMove=function(){if(this.ya){var a=this.g;if(null!==a&&null!==this.Ln&&null!==this.fc){var b=!1,c=!1;this.mayCopy()?(b=!0,a.lc="copy",Hi(this,!1),this.xt(this.kc),Ii(this,this.kc,!1),this.Dp(this.kc)):this.mayMove()?(c=!0,a.lc="default",Ci(this),Ii(this,this.fc,!0)):this.mayDragOut()?(a.lc="no-drop",Hi(this,!1),Ii(this,this.kc,!1)):Ci(this);Ni(this,a.U.ha,c,b)}}}; +Ph.prototype.doMouseUp=function(){if(this.ya){var a=this.g;if(null!==a){var b=!1,c=this.mayCopy();c&&null!==this.kc?(Ci(this),Hi(this,!0),this.xt(this.kc),Ii(this,this.kc,!1),this.Dp(this.kc),null!==this.kc&&a.AG(this.kc.Uj())):(b=!0,Ci(this),this.mayMove()&&(Ii(this,this.fc,!0),Ni(this,a.U.ha,!0,!1)));this.Kr=!0;Ti(this,a.U.ha);if(this.ya){this.kc=null;if(b&&null!==this.fc)for(b=this.fc.j;b.next();){var d=b.key;d instanceof E&&(d=d.Qa,null===d||null===d.placeholder||this.fc.contains(d)||d.placeholder.K())}a.Bc(); +this.Dp(this.fc);this.Qf=c?"Copy":"Move";a.Ka(c?"SelectionCopied":"SelectionMoved",a.selection)}this.stopTool()}}};Ph.prototype.mayCopy=function(){if(!this.EF)return!1;var a=this.g;if(null===a||a.kb||a.Hf||!a.Vp||!a.Ik||(z.Uk?!a.U.alt:!a.U.control))return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.qe()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1}; +Ph.prototype.mayDragOut=function(){if(!this.EF)return!1;var a=this.g;if(null===a||!a.Qt||!a.Ik||a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.qe()&&b.canCopy())return!0}return null!==this.td&&this.Bj&&this.td.canCopy()?!0:!1};Ph.prototype.mayMove=function(){var a=this.g;if(null===a||a.kb||!a.Wl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.qe()&&b.canMove())return!0}return null!==this.td&&this.Bj&&this.td.canMove()?!0:!1};var Ai=new J(Ph),Yh=null,Zh=null; +Ph.prototype.getDraggingSource=function(){return Yh};Ph.prototype.mayDragIn=function(){var a=this.g;if(null===a||!a.wE||a.kb||a.Hf||!a.Vp)return!1;var b=Yh;return null===b||null===b.g||b.g.ia.dm!==a.ia.dm?!1:!0};Ph.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.g;a.Ya.Ii();Vi(a);a=Yh;null!==a&&null!==a.g&&(a.g.lc="copy")}};Ph.prototype.doSimulatedDragLeave=function(){var a=Yh;null!==a&&a.doSimulatedDragOut();this.doCancel()}; Ph.prototype.doSimulatedDragOver=function(){var a=this.g;if(null!==a){var b=Yh;null!==b&&null!==b.fc&&this.mayDragIn()&&(a.lc="copy",Wi(this,b.fc.Uj(),!1),Ii(this,this.kc,!1),Ni(this,a.U.ha,!1,!0))}}; Ph.prototype.doSimulatedDrop=function(){var a=this.g;if(null!==a){var b=Yh;if(null!==b){var c=b.g;b.Kr=!0;Ci(this);this.mayDragIn()&&(this.$b("Drop"),Wi(this,b.fc.Uj(),!0),Ii(this,this.kc,!1),null!==this.kc&&a.AG(this.kc.Uj()),Ti(this,a.U.ha),a.Bc(),b=a.selection,null!==this.kc?this.Qf="ExternalCopy":b=new K(D),this.kc=null,a.doFocus(),a.Ka("ExternalObjectsDropped",b,c),this.al())}}}; -function Wi(a,b,c){if(null===a.kc){var d=a.g;if(null!==d&&!d.kb&&!d.Hf){d.Eb=!c;d.cr=!c;a.$k=d.U.ha;d=d.dq(b,d,!0);c=z.Of();Gi(b,c);var e=c.x+c.width/2,g=c.y+c.height/2;z.Mb(c);var h=a.Qw;c=new oa(D);var k=z.P();for(b=b.j;b.next();){var l=b.value;if(l.re()&&l.canCopy()){var m=l.location,l=d.qa(l);k.m(h.x-(e-m.x),h.y-(g-m.y));l.location=k;l.kf();c.add(l,wi(k))}}z.A(k);for(d=d.j;d.next();)e=d.value,e instanceof H&&e.canCopy()&&c.add(e,wi());a.kc=c;Xh(a,c.Uj());null!==a.td&&(c=a.td,d=c.no,c.um(a.$k.x- +function Wi(a,b,c){if(null===a.kc){var d=a.g;if(null!==d&&!d.kb&&!d.Hf){d.Eb=!c;d.cr=!c;a.$k=d.U.ha;d=d.cq(b,d,!0);c=z.Of();Gi(b,c);var e=c.x+c.width/2,g=c.y+c.height/2;z.Mb(c);var h=a.Qw;c=new oa(D);var k=z.P();for(b=b.j;b.next();){var l=b.value;if(l.qe()&&l.canCopy()){var m=l.location,l=d.qa(l);k.m(h.x-(e-m.x),h.y-(g-m.y));l.location=k;l.kf();c.add(l,wi(k))}}z.A(k);for(d=d.j;d.next();)e=d.value,e instanceof H&&e.canCopy()&&c.add(e,wi());a.kc=c;Xh(a,c.Uj());null!==a.td&&(c=a.td,d=c.mo,c.um(a.$k.x- (d.x+d.width/2),a.$k.y-(d.y+d.height/2)))}}}Ph.prototype.doSimulatedDragOut=function(){var a=this.g;null!==a&&(this.mayCopy()||this.mayMove()?a.lc="":a.lc="no-drop")};function xi(a){this.point=a;this.GG=Dd}z.ka("DraggingInfo",xi);function Ji(a,b,c){this.Yc=a;this.info=b;this.RI=c} function Xi(){0 =d&&(d=.1);for(var e=this,g=b.On(c,d,function(b){return e.findValidLinkablePort(b,a)},null,!0),d=Infinity,b=null,g=g.j;g.next();){var h=g.value,k=h.ba;if(k instanceof E){var l=h.cb(mc,z.P()),m=c.x-l.x,n=c.y-l.y;z.A(l);l=m*m+n*n;l c){if(null!==this.vc&&a===this.Yg&&b===this.Zg)return!0;var d=b.vd;null===d&&(d="");if(a.Dx(d).count>=c)return!1}return!0}; -Xi.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.xq;if(null!==this.g&&this.g.fb===this&&(null!==a.layer&&!a.layer.Rt||!0!==b.QG))return!1;var c=b.yK;if(Infinity>c){if(null!==this.vc&&a===this.$g&&b===this.ah)return!0;var d=b.vd;null===d&&(d="");if(a.Ug(d).count>=c)return!1}return!0};Xi.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.ba,d=b.ba;return null!==c&&c===d}; +c instanceof E&&(null===c.layer||c.layer.Rt))?b:null};Xi.prototype.isValidFrom=function(a,b){if(null===a||null===b)return this.wq;if(null!==this.g&&this.g.fb===this&&(null!==a.layer&&!a.layer.Rt||!0!==b.kF))return!1;var c=b.GA;if(Infinity>c){if(null!==this.uc&&a===this.Yg&&b===this.Zg)return!0;var d=b.vd;null===d&&(d="");if(a.Dx(d).count>=c)return!1}return!0}; +Xi.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.wq;if(null!==this.g&&this.g.fb===this&&(null!==a.layer&&!a.layer.Rt||!0!==b.QG))return!1;var c=b.yK;if(Infinity>c){if(null!==this.uc&&a===this.$g&&b===this.ah)return!0;var d=b.vd;null===d&&(d="");if(a.Ug(d).count>=c)return!1}return!0};Xi.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.ba,d=b.ba;return null!==c&&c===d}; Xi.prototype.isLinked=function(a,b){if(null===a||null===b)return!1;var c=a.ba;if(!(c instanceof E))return!1;var d=a.vd;null===d&&(d="");var e=b.ba;if(!(e instanceof E))return!1;var g=b.vd;null===g&&(g="");for(e=e.Ug(g);e.next();)if(g=e.value,g.aa===c&&g.dg===d)return!0;return!1}; -Xi.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.GI&&d.xK||!this.isInSameNode(b,d))&&(b.FI&&d.wK||!this.isLinked(b,d)))||null!==this.vc&&(null!==a&&this.isLabelDependentOnLink(a,this.vc)||null!==c&&this.isLabelDependentOnLink(c,this.vc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.vc))return!1;if(null!==a){var e=a.Zx;if(null!==e&&!e(a,b,c,d,this.vc))return!1}if(null!== -c&&(e=c.Zx,null!==e&&!e(a,b,c,d,this.vc)))return!1;e=this.Zx;return null!==e?e(a,b,c,d,this.vc):!0};Xi.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Cc;if(null===c)return!1;if(c===b)return!0;var d=new K(E);d.add(a);return Yi(this,c,b,d)};function Yi(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.xf&&(d.add(e),Yi(a,e.Cc,c,d)))return!0;b=b.ea;return null!==b&&b.xf&&(d.add(b),Yi(a,b.Cc,c,d))?!0:!1} -Xi.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.xq;var d=null!==this.g?this.g.EK:Zi;if(d!==Zi){if(d===$i){if(null!==c&&!c.Xc)return!0;for(d=b.Jd;d.next();){var e=d.value;if(e!==c&&e.Xc&&e.ea===b)return!1}return!aj(this,a,b,c,!0)}if(d===bj){if(null!==c&&!c.Xc)return!0;for(d=a.Jd;d.next();)if(e=d.value,e!==c&&e.Xc&&e.aa===a)return!1;return!aj(this,a,b,c,!0)}if(d===cj)return a===b?a=!0:(d=new K(E),d.add(b),a=dj(this,d,a,b,c)),!a;if(d===ej)return!aj(this, +Xi.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.GI&&d.xK||!this.isInSameNode(b,d))&&(b.FI&&d.wK||!this.isLinked(b,d)))||null!==this.uc&&(null!==a&&this.isLabelDependentOnLink(a,this.uc)||null!==c&&this.isLabelDependentOnLink(c,this.uc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.uc))return!1;if(null!==a){var e=a.Zx;if(null!==e&&!e(a,b,c,d,this.uc))return!1}if(null!== +c&&(e=c.Zx,null!==e&&!e(a,b,c,d,this.uc)))return!1;e=this.Zx;return null!==e?e(a,b,c,d,this.uc):!0};Xi.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Cc;if(null===c)return!1;if(c===b)return!0;var d=new K(E);d.add(a);return Yi(this,c,b,d)};function Yi(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.xf&&(d.add(e),Yi(a,e.Cc,c,d)))return!0;b=b.ea;return null!==b&&b.xf&&(d.add(b),Yi(a,b.Cc,c,d))?!0:!1} +Xi.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.wq;var d=null!==this.g?this.g.EK:Zi;if(d!==Zi){if(d===$i){if(null!==c&&!c.Xc)return!0;for(d=b.Jd;d.next();){var e=d.value;if(e!==c&&e.Xc&&e.ea===b)return!1}return!aj(this,a,b,c,!0)}if(d===bj){if(null!==c&&!c.Xc)return!0;for(d=a.Jd;d.next();)if(e=d.value,e!==c&&e.Xc&&e.aa===a)return!1;return!aj(this,a,b,c,!0)}if(d===cj)return a===b?a=!0:(d=new K(E),d.add(b),a=dj(this,d,a,b,c)),!a;if(d===ej)return!aj(this, a,b,c,!1);if(d===fj)return a===b?a=!0:(d=new K(E),d.add(b),a=gj(this,d,a,b,c)),!a}return!0};function aj(a,b,c,d,e){if(b===c)return!0;if(null===b||null===c)return!1;for(var g=b.Jd;g.next();){var h=g.value;if(h!==d&&(!e||h.Xc)&&h.ea===b&&(h=h.aa,h!==b&&aj(a,h,c,d,e)))return!0}return!1}function dj(a,b,c,d,e){if(c===d)return!0;if(null===c||null===d||b.contains(c))return!1;b.add(c);for(var g=c.Jd;g.next();){var h=g.value;if(h!==e&&h.ea===c&&(h=h.aa,h!==c&&dj(a,b,h,d,e)))return!0}return!1} function gj(a,b,c,d,e){if(c===d)return!0;if(null===c||null===d||b.contains(c))return!1;b.add(c);for(var g=c.Jd;g.next();){var h=g.value;if(h!==e){var k=h.aa,h=h.ea,k=k===c?h:k;if(k!==c&&gj(a,b,k,d,e))return!0}}return!1}z.defineProperty(Xi,{Zx:"linkValidation"},function(){return this.Gl},function(a){null!==a&&z.h(a,"function",Xi,"linkValidation");this.Gl=a});z.defineProperty(Xi,{ly:"portTargeted"},function(){return this.KD},function(a){null!==a&&z.h(a,"function",Xi,"portTargeted");this.KD=a}); function ua(){0 b.fu+1&&c b.fu+1&&c =c.x)d=0>=c.y?d+225:1<=c.y?d+135:d+180;else if(1<=c.x)0>=c.y?d+=315:1<=c.y&&(d+=45);else if(0>=c.y)d+=270;else if(1<=c.y)d+=90;else break a;0>d?d+=360:360<=d&&(d-=360);a.cursor=22.5>d?"e-resize":67.5>d?"se-resize":112.5>d?"s-resize":157.5>d?"sw-resize":202.5>d?"w-resize":247.5>d?"nw-resize":292.5>d?"n-resize":337.5>d? +Qj.prototype.updateResizeHandles=function(a,b){if(null!==a)if(!a.alignment.hd()&&("pointer"===a.cursor||0 =c.x)d=0>=c.y?d+225:1<=c.y?d+135:d+180;else if(1<=c.x)0>=c.y?d+=315:1<=c.y&&(d+=45);else if(0>=c.y)d+=270;else if(1<=c.y)d+=90;else break a;0>d?d+=360:360<=d&&(d-=360);a.cursor=22.5>d?"e-resize":67.5>d?"se-resize":112.5>d?"s-resize":157.5>d?"sw-resize":202.5>d?"w-resize":247.5>d?"nw-resize":292.5>d?"n-resize":337.5>d? "ne-resize":"e-resize"}else if(a instanceof I)for(c=a.elements;c.next();)this.updateResizeHandles(c.value,b)};z.defineProperty(Qj,{mu:"handleArchetype"},function(){return this.vl},function(a){null!==a&&z.l(a,O,Qj,"handleArchetype");this.vl=a});z.w(Qj,{handle:"handle"},function(){return this.oc});z.defineProperty(Qj,{Ab:"adornedObject"},function(){return this.Rc},function(a){null!==a&&z.l(a,O,Qj,"adornedObject");this.Rc=a}); Qj.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.g;return null!==a&&!a.kb&&a.St&&a.U.left?null!==this.findToolHandleAt(a.Mc.ha,this.name):!1}; -Qj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.oc=this.findToolHandleAt(a.Mc.ha,this.name),null!==this.oc&&(this.Rc=this.oc.ba.Ab,this.Ap.set(this.Ab.cb(this.handle.alignment.cG())),this.ED.set(this.Rc.ba.location),this.zD.set(this.Rc.Da),this.pz=this.computeCellSize(),this.rz=this.computeMinSize(),this.qz=this.computeMaxSize(),a.lf=!0,this.wD=a.Ya.isEnabled,a.Ya.isEnabled=!1,this.$b(this.name),this.ya=!0))}; +Qj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.oc=this.findToolHandleAt(a.Mc.ha,this.name),null!==this.oc&&(this.Rc=this.oc.ba.Ab,this.zp.set(this.Ab.cb(this.handle.alignment.cG())),this.ED.set(this.Rc.ba.location),this.zD.set(this.Rc.Da),this.pz=this.computeCellSize(),this.rz=this.computeMinSize(),this.qz=this.computeMaxSize(),a.lf=!0,this.wD=a.Ya.isEnabled,a.Ya.isEnabled=!1,this.$b(this.name),this.ya=!0))}; Qj.prototype.doDeactivate=function(){var a=this.g;null!==a&&(this.al(),this.Rc=this.oc=null,this.ya=a.lf=!1,a.Ya.isEnabled=this.wD)};Qj.prototype.doCancel=function(){null!==this.Ab&&(this.Ab.Da=this.dG,this.Ab.ba.location=this.OJ);this.stopTool()};Qj.prototype.doMouseMove=function(){var a=this.g;if(this.ya&&null!==a){var b=this.rz,c=this.qz,d=this.pz,e=this.Ab.mF(a.U.ha,z.P()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);a.hg();z.A(e)}}; Qj.prototype.doMouseUp=function(){var a=this.g;if(this.ya&&null!==a){var b=this.rz,c=this.qz,d=this.pz,e=this.Ab.mF(a.U.ha,z.P()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);z.A(e);a.Bc();this.Qf=this.name;a.Ka("PartResized",this.Ab,this.dG)}this.stopTool()}; -Qj.prototype.resize=function(a){if(null!==this.g){var b=this.Ab,c=b.ba;b.Da=a.size;c.kf();a=this.Ab.cb(this.handle.alignment.cG());c instanceof F?(a=c.position.copy().so(a).add(this.Ap),c.move(a)):c.location=c.location.copy().so(a).add(this.Ap)}}; -Qj.prototype.computeResize=function(a,b,c,d,e,g){b.ae()&&(b=mc);var h=this.Ab.Ja,k=h.x,l=h.y,m=h.x+h.width,n=h.y+h.height,p=1;if(!g){var p=h.width,q=h.height;0>=p&&(p=1);0>=q&&(q=1);p=q/p}q=z.P();tb(a.x,a.y,k,l,e.width,e.height,q);a=h.copy();0>=b.x?0>=b.y?(a.x=Math.max(q.x,m-d.width),a.x=Math.min(a.x,m-c.width),a.width=Math.max(m-a.x,c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p=p&&(p=1);0>=q&&(q=1);p=q/p}q=z.P();tb(a.x,a.y,k,l,e.width,e.height,q);a=h.copy();0>=b.x?0>=b.y?(a.x=Math.max(q.x,m-d.width),a.x=Math.min(a.x,m-c.width),a.width=Math.max(m-a.x,c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p=b.y?(a.width=Math.max(Math.min(q.x-k,d.width),c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height), a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p=b.y?(a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=n-a.y,g||(a.width=a.height/p,a.x= k+.5*(m-k-a.width))):1<=b.y&&(a.height=Math.max(Math.min(q.y-l,d.height),c.height),g||(a.width=a.height/p,a.x=k+.5*(m-k-a.width)));z.A(q);return a};Qj.prototype.computeReshape=function(){var a=Tj;this.Ab instanceof Y&&(a=Uj(this.Ab));return!(a===Vj||a===Wj||null!==this.g&&this.g.U.shift)};Qj.prototype.computeMinSize=function(){var a=this.Ab.ig.copy(),b=this.ig;!isNaN(b.width)&&b.width>a.width&&(a.width=b.width);!isNaN(b.height)&&b.height>a.height&&(a.height=b.height);return a}; Qj.prototype.computeMaxSize=function(){var a=this.Ab.mf.copy(),b=this.mf;!isNaN(b.width)&&b.width a&&(a+=360));var b=Math.min(Math.abs(this.oK),180),c=Math.min(Math.abs(this.nK),b/2);(null===this.g||!this.g.U.shift)&&0b-c&&(a=(Math.floor(a/b)+1)*b));360<=a?a-=360:0>a&&(a+=360);return a};z.defineProperty(Xj,{oK:"snapAngleMultiple"},function(){return this.RD},function(a){z.h(a,"number",Xj,"snapAngleMultiple");this.RD=a}); z.defineProperty(Xj,{nK:"snapAngleEpsilon"},function(){return this.QD},function(a){z.h(a,"number",Xj,"snapAngleEpsilon");this.QD=a});z.w(Xj,{hM:"originalAngle"},function(){return this.tw});function Zj(){0 e.right&&(c.x-=d.width+5);c.x e.bottom&&(c.y-=d.height+5);c.y a.U.Qe?!1:!0};kk.prototype.doStart=function(){this.ya||null===this.hh||this.doActivate()}; -kk.prototype.doActivate=function(){if(!this.ya){var a=this.g;if(null!==a){var b=this.hh;null===b&&(b=a.He(a.U.ha,function(a){return a instanceof pa?a:null}));if(null!==b&&(this.hh=b,null!==b.ba)){this.ya=!0;this.qb=tk;var c=this.nI;null!==b.PG&&(c=b.PG);this.Ak=this.hh.copy();var d=new w(this.hh.cb(hc),this.hh.cb(qc));a.gK(d);if(c instanceof bk)c.show(b,a,this);else{c.style.position="absolute";c.style.zIndex=100;c.textEditingTool=this;if("function"===typeof c.onActivate)c.onActivate();"function"=== +kk.prototype.doActivate=function(){if(!this.ya){var a=this.g;if(null!==a){var b=this.hh;null===b&&(b=a.He(a.U.ha,function(a){return a instanceof pa?a:null}));if(null!==b&&(this.hh=b,null!==b.ba)){this.ya=!0;this.qb=tk;var c=this.nI;null!==b.PG&&(c=b.PG);this.Ak=this.hh.copy();var d=new w(this.hh.cb(hc),this.hh.cb(qc));a.gK(d);if(c instanceof bk)c.show(b,a,this);else{c.style.position="absolute";c.style.zIndex="100";c.textEditingTool=this;if("function"===typeof c.onActivate)c.onActivate();"function"=== typeof c.focus&&c.focus();"function"===typeof c.select&&this.wy&&(c.select(),c.setSelectionRange(0,9999));a.Aj.appendChild(c)}this.Nk=c}}}};kk.prototype.doCancel=function(){null!==this.Ll&&(this.Nk.style.border=this.Ll,this.Ll=null);this.stopTool()};kk.prototype.doMouseUp=function(){!this.ya&&this.canStart()&&this.doActivate()};kk.prototype.doMouseDown=function(){this.ya&&this.acceptText(pk)}; kk.prototype.acceptText=function(a){switch(a){case pk:if(this.qb===xk)"function"===typeof this.Nk.focus&&this.Nk.focus();else if(this.qb===tk||this.qb===wk||this.qb===uk)this.qb=vk,Ak(this);break;case ok:case rk:case qk:if(rk===a&&!0===this.$z.Tx)break;if(this.qb===tk||this.qb===wk||this.qb===uk)this.qb=vk,Ak(this)}}; function Ak(a){var b=a.hh,c=a.g,d=a.Nk;if(null!==b&&null!==d){var e=b.text,g=d.value,h="";d instanceof bk?null!==d.RB&&(h=d.RB()):h="function"===typeof g?g():g;a.isValidText(b,e,h)?(a.$b(a.name),a.qb=xk,d instanceof bk?d.show(b,c,a):null!==a.Ll&&(d.style.border=a.Ll,a.Ll=null),a.Qf=a.name,b.text=h,null!==b.OG&&b.OG(b,e,h),null!==c&&c.Ka("TextEdited",b,e),a.al(),a.stopTool(),null!==c&&c.doFocus()):(a.qb=wk,null!==b.BA&&b.BA(a,e,h),d instanceof bk?d.show(b,c,a):(null===a.Ll&&(a.Ll=d.style.border,d.style.border= "3px solid red"),"function"===typeof d.focus&&d.focus()))}}kk.prototype.doDeactivate=function(){var a=this.g;if(null!==a){this.qb=mk;this.hh=null;if(null!==this.Nk){var b=this.Nk;if(b instanceof bk)b.Wn(a,this);else{if("function"===typeof b.onDeactivate)b.onDeactivate();null!==b&&a.Aj.removeChild(b)}}this.ya=!1}};kk.prototype.doFocus=function(){u&&z.Nn("TextEditingTool.doFocus","2.0");yk(this)};kk.prototype.doBlur=function(){u&&z.Nn("TextEditingTool.doBlur","2.0");zk(this)}; function yk(a){if(null!==a.Nk){var b=a.ez;a.qb===tk&&(a.qb=uk);"function"===typeof b.select&&a.wy&&(b.select(),b.setSelectionRange(0,9999))}}function zk(a){if(null!==a.Nk){var b=a.ez;"function"===typeof b.focus&&b.focus();"function"===typeof b.select&&a.wy&&(b.select(),b.setSelectionRange(0,9999))}}kk.prototype.isValidText=function(a,b,c){z.l(a,pa,kk,"isValidText:textblock");var d=this.JB;if(null!==d&&!d(a,b,c))return!1;d=a.JB;return null===d||d(a,b,c)?!0:!1}; z.defineProperty(kk,{JB:"textValidation"},function(){return this.Ol},function(a){null!==a&&z.h(a,"function",kk,"textValidation");this.Ol=a});z.defineProperty(kk,{XF:"minimumEditorScale"},function(){return this.rD},function(a){null!==a&&z.h(a,"number",kk,"minimumEditorScale");this.rD=a});z.defineProperty(kk,{wy:"selectsTextOnActivate"},function(){return this.OD},function(a){null!==a&&z.h(a,"boolean",kk,"selectsTextOnActivate");this.OD=a}); -z.defineProperty(kk,{state:"state"},function(){return this.qb},function(a){this.qb!==a&&(z.Ca(a,kk,kk,"starting"),this.qb=a)});kk.prototype.measureTemporaryTextBlock=kk.prototype.BJ=function(a){var b=this.Ak;b.text=a;Bk(b,this.hh.qp,Infinity);return b};function Kh(){bh.call(this);this.name="ToolManager";this.oH=new J(bh);this.pH=new J(bh);this.qH=new J(bh);this.WC=this.XC=850;this.KC=(new Fa(2,2)).Na();this.gE=5E3;this.vD=Wh;this.UC=Ck;this.Gv=this.yC=null;this.xn=-1}z.Ta(Kh,bh); +z.defineProperty(kk,{state:"state"},function(){return this.qb},function(a){this.qb!==a&&(z.Ca(a,kk,kk,"starting"),this.qb=a)});kk.prototype.measureTemporaryTextBlock=kk.prototype.BJ=function(a){var b=this.Ak;b.text=a;Bk(b,this.hh.pp,Infinity);return b};function Kh(){bh.call(this);this.name="ToolManager";this.oH=new J(bh);this.pH=new J(bh);this.qH=new J(bh);this.WC=this.XC=850;this.KC=(new Fa(2,2)).Na();this.gE=5E3;this.vD=Wh;this.UC=Ck;this.Gv=this.yC=null;this.xn=-1}z.Ta(Kh,bh); z.ka("ToolManager",Kh);var Wh;Kh.WheelScroll=Wh=z.s(Kh,"WheelScroll",0);var Vh;Kh.WheelZoom=Vh=z.s(Kh,"WheelZoom",1);Kh.WheelNone=z.s(Kh,"WheelNone",2);var Ck;Kh.GestureZoom=Ck=z.s(Kh,"GestureZoom",3);var Dk;Kh.GestureCancel=Dk=z.s(Kh,"GestureCancel",4);var Ek;Kh.GestureNone=Ek=z.s(Kh,"GestureNone",5);z.defineProperty(Kh,{Gu:"mouseWheelBehavior"},function(){return this.vD},function(a){z.Ca(a,Kh,Kh,"mouseWheelBehavior");this.vD=a}); -z.defineProperty(Kh,{oq:"gestureBehavior"},function(){return this.UC},function(a){z.Ca(a,Kh,Kh,"gestureBehavior");this.UC=a});Kh.prototype.initializeStandardTools=function(){this.FH=new ak;this.gG=new $h;this.tJ=new pj;this.tG=new Qj;this.dK=new Xj;this.TF=new ua;this.Ee=new Ph;this.rI=new ik;this.PJ=new jk;this.pA=new dk;this.IB=new kk;this.WH=new wa;this.XH=new Zj}; +z.defineProperty(Kh,{nq:"gestureBehavior"},function(){return this.UC},function(a){z.Ca(a,Kh,Kh,"gestureBehavior");this.UC=a});Kh.prototype.initializeStandardTools=function(){this.FH=new ak;this.gG=new $h;this.tJ=new pj;this.tG=new Qj;this.dK=new Xj;this.TF=new ua;this.Ee=new Ph;this.rI=new ik;this.PJ=new jk;this.pA=new dk;this.IB=new kk;this.WH=new wa;this.XH=new Zj}; Kh.prototype.updateAdornments=function(a){var b=this.cm;if(b instanceof ea&&this.Gv===a){var c=b.Ab;(null!==a?c.ba===a:null===c)?this.showToolTip(b,c):this.hideToolTip()}}; -Kh.prototype.doMouseDown=function(){var a=this.g;if(null!==a){var b=a.U;b.Hj&&this.oq===Dk&&(b.bubbles=!1);if(b.vu){this.cancelWaitAfter();if(this.oq===Ek){b.bubbles=!0;return}if(this.oq===Dk)return;if(a.fb.canStartMultiTouch()){a.fb.standardPinchZoomStart();return}}var c=a.sa;c.lA&&0!==c.Vh&&z.trace("WARNING: In ToolManager.doMouseDown: UndoManager.transactionLevel is not zero");for(var c=this.nf.length,d=0;d e.right&&(c.x-=d.width+5);c.x e.bottom?c.y-(d.height+5):c.y+20;c.y a?c/2*a*a+b:-c/2*(--a*(a-2)-1)+b}z.w(nh,{eL:"animationReasons"},function(){return this.rv}); -nh.prototype.canStart=function(){return!0};nh.prototype.prepareAutomaticAnimation=nh.prototype.lo=function(a){this.pf&&(this.kk||this.ca.Zn)&&(this.rv.add(a),this.canStart(a)&&(this.jk&&this.Ii(),this.yc=!0))};function Vk(a){if(a.pf&&(a.rv.clear(),a.yc))if(!a.Do)a.yc=!1;else if(0===a.Co){var b=+new Date;a.Co=b;requestAnimationFrame(function(){if(!1!==a.yc&&!a.jk&&a.Co===b){var c=a.ca;c.Dj("temporaryPixelRatio")&&(c.zk=1);al(c);a.yc=!1;c.Ka("AnimationStarting");bl(a,b)}})}} +function nh(){this.zC=Hk;this.Fr=this.Gr=this.ca=null;this.Bo=this.Hr=this.Ir=0;this.Co=this.yc=this.kp=this.jk=!1;this.kk=this.pf=!0;this.Ev=this.Dv=this.uC=null;this.tC=0;this.Fv=null;this.rv=new K("string");this.mz=600;this.uH=new M(0,0);this.iC=this.hC=this.kE=!1;this.en=new oa(O,Ik)}z.ka("AnimationManager",nh);nh.prototype.$c=function(a){this.ca=a};function Hk(a,b,c,d){a/=d/2;return 1>a?c/2*a*a+b:-c/2*(--a*(a-2)-1)+b}z.w(nh,{eL:"animationReasons"},function(){return this.rv}); +nh.prototype.canStart=function(){return!0};nh.prototype.prepareAutomaticAnimation=nh.prototype.ko=function(a){this.pf&&(this.kk||this.ca.Zn)&&(this.rv.add(a),this.canStart(a)&&(this.jk&&this.Ii(),this.yc=!0))};function Vk(a){if(a.pf&&(a.rv.clear(),a.yc))if(!a.Co)a.yc=!1;else if(0===a.Bo){var b=+new Date;a.Bo=b;requestAnimationFrame(function(){if(!1!==a.yc&&!a.jk&&a.Bo===b){var c=a.ca;c.Dj("temporaryPixelRatio")&&(c.zk=1);al(c);a.yc=!1;c.Ka("AnimationStarting");bl(a,b)}})}} function cl(a,b,c,d,e,g){if(a.yc&&(u&&z.l(b,O,nh,"addPropToAnimation:obj"),!("position"===c&&d.O(e)||b instanceof D&&!b.CF))){var h=a.en;if(h.contains(b)){var h=h.qa(b),k=h.start,l=h.end;void 0===k[c]&&(k[c]=dl(d));h.sx&&void 0!==l[c]?h.cu[c]=dl(e):(g||(h.cu[c]=dl(e)),l[c]=dl(e));g&&0===c.indexOf("position:")&&(h.cu.location=dl(b.location))}else k=new na,l=new na,k[c]=dl(d),l[c]=dl(e),d=l,e=k.position,e instanceof M&&!e.F()&&a.rv.contains("Expand SubGraph")&&e.assign(d.position),k=new Ik(k,l,g),g&& -0===c.indexOf("position:")&&(k.cu.location=dl(b.location)),h.add(b,k);a.Do=!0}}function dl(a){return a instanceof M?a.copy():a instanceof Fa?a.copy():a} -function bl(a,b){var c;function d(){if(!1!==g.jk&&g.Co===b){var a=+new Date,c=a>s?m:a-r;el(g);fl(g,e,q,h,c,m);g.Dv&&g.Dv();Vi(e);gl(g);a>s?hl(g):requestAnimationFrame(d)}}void 0===c&&(c=new na);var e=a.ca;if(null!==e){a.jk=!0;var g=a,h=c.GL||a.zC,k=c.fM||null,l=c.gM||null,m=c.duration||a.mz,n=a.uH;for(c=a.en.j;c.next();){var p=c.value.start.position;p instanceof M&&(p.F()||p.assign(n))}a.uC=h;a.Dv=k;a.Ev=l;a.tC=m;a.Fv=a.en;var q=a.Fv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l= -k["position:placeholder"],n=l.cb(hc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);el(a);fl(a,e,q,h,0,m);Vi(a.ca);gl(a);var r=+new Date,s=r+m;g.Co===b&&requestAnimationFrame(function(){d()})}} +0===c.indexOf("position:")&&(k.cu.location=dl(b.location)),h.add(b,k);a.Co=!0}}function dl(a){return a instanceof M?a.copy():a instanceof Fa?a.copy():a} +function bl(a,b){var c;function d(){if(!1!==g.jk&&g.Bo===b){var a=+new Date,c=a>s?m:a-r;el(g);fl(g,e,q,h,c,m);g.Dv&&g.Dv();Vi(e);gl(g);a>s?hl(g):requestAnimationFrame(d)}}void 0===c&&(c=new na);var e=a.ca;if(null!==e){a.jk=!0;var g=a,h=c.GL||a.zC,k=c.fM||null,l=c.gM||null,m=c.duration||a.mz,n=a.uH;for(c=a.en.j;c.next();){var p=c.value.start.position;p instanceof M&&(p.F()||p.assign(n))}a.uC=h;a.Dv=k;a.Ev=l;a.tC=m;a.Fv=a.en;var q=a.Fv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l= +k["position:placeholder"],n=l.cb(hc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);el(a);fl(a,e,q,h,0,m);Vi(a.ca);gl(a);var r=+new Date,s=r+m;g.Bo===b&&requestAnimationFrame(function(){d()})}} var il={opacity:function(a,b,c,d,e,g){a.opacity=d(e,b,c-b,g)},position:function(a,b,c,d,e,g){e!==g?a.zy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):a.position=new M(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g))},"position:node":function(a,b,c,d,e,g){var h=a.Z,k=c.Z;c=k.x+k.width/2-h.width/2;h=k.y+k.height/2-h.height/2;e!==g?a.zy(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g)):a.position=new M(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g))},"position:placeholder":function(a,b,c,d,e,g){e!==g?a.zy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)): -a.position=new M(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g))},scale:function(a,b,c,d,e,g){a.scale=d(e,b,c-b,g)},visible:function(a,b,c,d,e,g){a.visible=e!==g?b:c}};function el(a){if(!a.lp){var b=a.ca;a.kE=b.Eb;a.hC=b.Ve;a.iC=b.Zu;b.Eb=!0;b.Ve=!0;b.Zu=!0;a.lp=!0}}function gl(a){var b=a.ca;b.Eb=a.kE;b.Ve=a.hC;b.Zu=a.iC;a.lp=!1} +a.position=new M(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g))},scale:function(a,b,c,d,e,g){a.scale=d(e,b,c-b,g)},visible:function(a,b,c,d,e,g){a.visible=e!==g?b:c}};function el(a){if(!a.kp){var b=a.ca;a.kE=b.Eb;a.hC=b.Ve;a.iC=b.Zu;b.Eb=!0;b.Ve=!0;b.Zu=!0;a.kp=!0}}function gl(a){var b=a.ca;b.Eb=a.kE;b.Ve=a.hC;b.Zu=a.iC;a.kp=!1} function fl(a,b,c,d,e,g){for(c=c.j;c.next();){var h=c.key,k=c.value,l=k.start,k=k.end,m;for(m in k)if(("position"!==m||!k["position:placeholder"]&&!k["position:node"])&&void 0!==il[m])il[m](h,l[m],k[m],d,e,g)}d=b.RA;b.RA=!0;m=a.zC;0!==a.Ir&&0!==a.Hr&&(c=a.Ir,b.Rb=m(e,c,a.Hr-c,g));null!==a.Gr&&null!==a.Fr&&(c=a.Gr,a=a.Fr,b.ub=new M(m(e,c.x,a.x-c.x,g),m(e,c.y,a.y-c.y,g)));b.RA=d} -nh.prototype.stopAnimation=nh.prototype.Ii=function(){!0===this.yc&&(this.yc=!1,this.Do&&this.ca.Te());this.jk&&this.pf&&hl(this)}; -function hl(a){a.jk=!1;a.Do=!1;el(a);for(var b=a.ca,c=a.uC,d=a.tC,e=a.Fv.j;e.next();){var g=e.key,h=e.value,k=h.start,l=h.end,m=h.cu,n;for(n in l)if(void 0!==il[n]){var p=n;!h.sx||"position:node"!==p&&"position:placeholder"!==p||(p="position");il[p](g,k[n],void 0!==m[n]?m[n]:h.sx?k[n]:l[n],c,d,d)}h.sx&&void 0!==m.location&&(g.location=m.location);h.ny&&g.Kd(!1)}for(c=a.ca.links;c.next();)d=c.value,null!==d.Gp&&(d.points=d.Gp,d.Gp=null);b.$x.clear();b.zk=null;b.Bc();b.ra();b.hg();jl(b);gl(a);a.Ev&& -a.Ev();a.Co=0;a.Fv=null;a.Ev=null;a.Dv=null;a.Gr=null;a.Fr=null;a.Ir=0;a.Hr=0;a.en=new oa(O,Ik);b.Ka("AnimationFinished");b.Te()}function kl(a,b,c){var d=b.Z,e=c.Z,g=null;c instanceof F&&(g=c.placeholder);null!==g?(d=g.cb(hc),d.x+=g.padding.left,d.y+=g.padding.top,cl(a,b,"position",d,b.position,!1)):cl(a,b,"position",new M(e.x+e.width/2-d.width/2,e.y+e.height/2-d.height/2),b.position,!1);cl(a,b,"scale",.01,b.scale,!1);if(b instanceof F)for(b=b.Oc;b.next();)g=b.value,g instanceof E&&kl(a,g,c)} -function ll(a,b,c){if(b.isVisible()){var d=null;c instanceof F&&(d=c.placeholder);null!==d?cl(a,b,"position:placeholder",b.position,d,!0):cl(a,b,"position:node",b.position,c,!0);cl(a,b,"scale",b.scale,.01,!0);a.yc&&(d=a.en,d.contains(b)&&(d.qa(b).ny=!0));if(b instanceof F)for(b=b.Oc;b.next();)d=b.value,d instanceof E&&ll(a,d,c)}}function ml(a,b,c){a.yc&&(null===a.Gr&&b.F()&&null===a.Fr&&(a.Gr=b.copy()),a.Fr=c.copy(),a.Do=!0)} -function nl(a,b,c){a.yc&&a.ca.Zn&&(0===a.Ir&&0===a.Hr&&(a.Ir=b),a.Hr=c,a.Do=!0)}z.defineProperty(nh,{isEnabled:"isEnabled"},function(){return this.pf},function(a){z.h(a,"boolean",nh,"isEnabled");this.pf=a});z.defineProperty(nh,{duration:"duration"},function(){return this.mz},function(a){z.h(a,"number",nh,"duration");1>a&&z.wa(a,">= 1",nh,"duration");this.mz=a});z.w(nh,{wf:"isAnimating"},function(){return this.jk});z.w(nh,{jJ:"isTicking"},function(){return this.lp}); -z.defineProperty(nh,{KF:"isInitial"},function(){return this.kk},function(a){z.h(a,"boolean",nh,"isInitial");this.kk=a});function Ik(a,b,c){this.start=a;this.end=b;this.cu=new na;this.sx=c;this.ny=!1}function ah(){0 a&&z.wa(a,">= 1",nh,"duration");this.mz=a});z.w(nh,{wf:"isAnimating"},function(){return this.jk});z.w(nh,{jJ:"isTicking"},function(){return this.kp}); +z.defineProperty(nh,{KF:"isInitial"},function(){return this.kk},function(a){z.h(a,"boolean",nh,"isInitial");this.kk=a});function Ik(a,b,c){this.start=a;this.end=b;this.cu=new na;this.sx=c;this.ny=!1}function ah(){0 =a)return b;for(var c=0,d=0,e=0,g=0,h=0,k=this.pb.j;k.next();){var l=k.value;l instanceof F?e++:l instanceof E?d++:l instanceof H?g++:l instanceof ea?h++:c++}k="";0 =d.count)a=d.count;else if(d.fa(a)===b)return-1;d.Zd(a,b);b.ou(c);d=this.g;null!==d&&(c?d.ra():d.rq(b));tl(this,a,b);return a}; +f.Mf=function(a,b){if(this.visible){var c;c=void 0===b?a.yb:b;for(var d=this.pb.o,e=d.length,g=0;g =d.count)a=d.count;else if(d.fa(a)===b)return-1;d.Yd(a,b);b.ou(c);d=this.g;null!==d&&(c?d.ra():d.qq(b));tl(this,a,b);return a}; f.vf=function(a,b,c){if(!c&&b.layer!==this&&null!==b.layer)return b.layer.vf(a,b,c);var d=this.pb;if(0>a||a>=d.length){if(a=d.indexOf(b),0>a)return-1}else if(d.fa(a)!==b&&(a=d.indexOf(b),0>a))return-1;b.pu(c);d.md(a);d=this.g;null!==d&&(c?d.ra():d.vf(b));b.fw=null;return a}; -function tl(a,b,c){b=ul(a,b,c);if(c instanceof F&&null!==c&&isNaN(c.yo)){if(0!==c.Oc.count){for(var d=-1,e=a.pb.o,g=e.length,h=0;h d&&k.Qa===c&&(d=h,0<=b))break}!(0>d)&&d=e)return b;0>b&&(b=a.indexOf(c));if(0>b)return-1;for(var g=b-1,h=NaN;0<=g;){h=a.fa(g).yo;if(!isNaN(h))break;g--}for(var k=b+1,l=NaN;k d)for(;;){if(-1===g||h<=d){g++;if(g===b)break;a.md(b);a.Zd(g,c);return g}for(h=NaN;0<=--g&&(h=a.fa(g).yo,isNaN(h)););}else if(!isNaN(l)&&l =d){k--;if(k===b)break;a.md(b);a.Zd(k,c);return k}for(l=NaN;++k d&&k.Qa===c&&(d=h,0<=b))break}!(0>d)&&d=e)return b;0>b&&(b=a.indexOf(c));if(0>b)return-1;for(var g=b-1,h=NaN;0<=g;){h=a.fa(g).xo;if(!isNaN(h))break;g--}for(var k=b+1,l=NaN;k d)for(;;){if(-1===g||h<=d){g++;if(g===b)break;a.md(b);a.Yd(g,c);return g}for(h=NaN;0<=--g&&(h=a.fa(g).xo,isNaN(h)););}else if(!isNaN(l)&&l =d){k--;if(k===b)break;a.md(b);a.Yd(k,c);return k}for(l=NaN;++k a||1e[1]&&(z.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+ +function C(a){function b(){window.document.removeEventListener("DOMContentLoaded",b,!1);vl(c)}1 e[1]&&(z.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+ z.vfo+". This license key will do nothing until you upgrade to GoJS 1.7 or later."),z.xx.licenseKey=!0);this.Dl=1;this.Wm=0;this.mD=new M;this.iE=500;this.tv=new M;this.qt=null;this.cd=this.Al=!1}z.ka("Diagram",C); -C.prototype.clear=C.prototype.clear=function(){var a=null;null!==this.Cd&&(a=this.Cd.ba);this.ia.clear();for(var b=this.bc.length,c=0;c=a)return b;for(var c=this.bc.j;c.next();)b+="\n "+c.value.toString(a-1);return b};C.fromDiv=function(a){var b=a;"string"===typeof a&&(b=window.document.getElementById(a));return b instanceof HTMLDivElement&&b.ca instanceof C?b.ca:null}; z.defineProperty(C,{Aj:"div"},function(){return this.Tb},function(a){null!==a&&z.l(a,HTMLDivElement,C,"div");if(this.Tb!==a){wl=[];var b=this.Tb;null!==b?(b.ca=void 0,b.innerHTML="",null!==this.Lb&&(this.Lb.removeEventListener("touchstart",this.WG,!1),this.Lb.removeEventListener("touchmove",this.VG,!1),this.Lb.removeEventListener("touchend",this.UG,!1),this.Lb.Fd.ca=null),b=this.ib,null!==b&&(b.nf.each(function(a){a.cancelWaitAfter()}),b.jg.each(function(a){a.cancelWaitAfter()}),b.kg.each(function(a){a.cancelWaitAfter()})), -b.cancelWaitAfter(),this.fb.doCancel(),this.pd=this.Lb=null,window.removeEventListener("resize",this.dH,!1),window.removeEventListener("mousemove",this.Cq,!0),window.removeEventListener("mousedown",this.Bq,!0),window.removeEventListener("mouseup",this.Eq,!0),window.removeEventListener("mousewheel",this.Qh,!0),window.removeEventListener("DOMMouseScroll",this.Qh,!0),window.removeEventListener("mouseout",this.Dq,!0)):this.sh=!1;this.Tb=null;if(null!==a){if(b=a.ca)b.Aj=null;Il(this,a);this.Iq()}}}); -function Ll(a){var b=a.Lb;b.addEventListener("touchstart",a.WG,!1);b.addEventListener("touchmove",a.VG,!1);b.addEventListener("touchend",a.UG,!1);b.addEventListener("mousemove",a.Cq,!1);b.addEventListener("mousedown",a.Bq,!1);b.addEventListener("mouseup",a.Eq,!1);b.addEventListener("mousewheel",a.Qh,!1);b.addEventListener("DOMMouseScroll",a.Qh,!1);b.addEventListener("mouseout",a.Dq,!1);b.addEventListener("keydown",a.mJ,!1);b.addEventListener("keyup",a.nJ,!1);b.addEventListener("selectstart",function(a){a.preventDefault(); -return!1},!1);b.addEventListener("contextmenu",function(a){a.preventDefault();return!1},!1);b.addEventListener("gesturechange",function(b){a.ib.oq===Dk&&b.preventDefault()},!1);b.addEventListener("pointerdown",a.QJ,!1);b.addEventListener("pointermove",a.SJ,!1);b.addEventListener("pointerleave",a.RJ,!1);window.addEventListener("resize",a.dH,!1)}C.prototype.computePixelRatio=function(){return null!==this.zk?this.zk:this.rH};C.prototype.doMouseMove=function(){this.fb.doMouseMove()}; +b.cancelWaitAfter(),this.fb.doCancel(),this.pd=this.Lb=null,window.removeEventListener("resize",this.dH,!1),window.removeEventListener("mousemove",this.Bq,!0),window.removeEventListener("mousedown",this.Aq,!0),window.removeEventListener("mouseup",this.Dq,!0),window.removeEventListener("mousewheel",this.Qh,!0),window.removeEventListener("DOMMouseScroll",this.Qh,!0),window.removeEventListener("mouseout",this.Cq,!0)):this.sh=!1;this.Tb=null;if(null!==a){if(b=a.ca)b.Aj=null;Il(this,a);this.Iq()}}}); +function Ll(a){var b=a.Lb;b.addEventListener("touchstart",a.WG,!1);b.addEventListener("touchmove",a.VG,!1);b.addEventListener("touchend",a.UG,!1);b.addEventListener("mousemove",a.Bq,!1);b.addEventListener("mousedown",a.Aq,!1);b.addEventListener("mouseup",a.Dq,!1);b.addEventListener("mousewheel",a.Qh,!1);b.addEventListener("DOMMouseScroll",a.Qh,!1);b.addEventListener("mouseout",a.Cq,!1);b.addEventListener("keydown",a.mJ,!1);b.addEventListener("keyup",a.nJ,!1);b.addEventListener("selectstart",function(a){a.preventDefault(); +return!1},!1);b.addEventListener("contextmenu",function(a){a.preventDefault();return!1},!1);b.addEventListener("gesturechange",function(b){a.ib.nq===Dk&&b.preventDefault()},!1);b.addEventListener("pointerdown",a.QJ,!1);b.addEventListener("pointermove",a.SJ,!1);b.addEventListener("pointerleave",a.RJ,!1);window.addEventListener("resize",a.dH,!1)}C.prototype.computePixelRatio=function(){return null!==this.zk?this.zk:this.rH};C.prototype.doMouseMove=function(){this.fb.doMouseMove()}; C.prototype.doMouseDown=function(){this.fb.doMouseDown()};C.prototype.doMouseUp=function(){this.fb.doMouseUp()};C.prototype.doMouseWheel=function(){this.fb.doMouseWheel()};C.prototype.doKeyDown=function(){this.fb.doKeyDown()};C.prototype.doKeyUp=function(){this.fb.doKeyUp()};C.prototype.doFocus=function(){this.focus()};C.prototype.focus=C.prototype.focus=function(){this.Lb&&this.Lb.focus()}; -function al(a){if(null!==a.Lb){var b=a.Tb;if(0!==b.clientWidth&&0!==b.clientHeight){var c=a.wl?a.Ud:0,d=a.hk?a.Ud:0,e=a.rd;a.rd=a.computePixelRatio();a.rd!==e&&(a.bs=!0,a.Te());if(b.clientWidth!==a.Ob+c||b.clientHeight!==a.Sb+d)a.Qm=!0,a.Ne=!0,b=a.Wb,null!==b&&b.Vx&&a.Zl===Qh&&b.N(),a.je||a.Te()}}} +function al(a){if(null!==a.Lb){var b=a.Tb;if(0!==b.clientWidth&&0!==b.clientHeight){var c=a.wl?a.Td:0,d=a.hk?a.Td:0,e=a.rd;a.rd=a.computePixelRatio();a.rd!==e&&(a.bs=!0,a.Te());if(b.clientWidth!==a.Ob+c||b.clientHeight!==a.Sb+d)a.Qm=!0,a.Ne=!0,b=a.Wb,null!==b&&b.Vx&&a.Zl===Qh&&b.N(),a.ie||a.Te()}}} function Fl(a){var b=new ah;b.name="Background";a.Lt(b);b=new ah;b.name="";a.Lt(b);b=new ah;b.name="Foreground";a.Lt(b);b=new ah;b.name="Adornment";b.Wc=!0;a.Lt(b);b=new ah;b.name="Tool";b.Wc=!0;b.DF=!0;a.Lt(b);b=new ah;b.name="Grid";b.Df=!1;b.qg=!1;b.Wc=!0;a.KH(b,a.hm("Background"))} function Ml(a){a.Cd=new I(Nl);a.Cd.name="GRID";var b=new Y;b.Jb="LineH";b.stroke="lightgray";b.mb=.5;b.interval=1;a.Cd.add(b);b=new Y;b.Jb="LineH";b.stroke="gray";b.mb=.5;b.interval=5;a.Cd.add(b);b=new Y;b.Jb="LineH";b.stroke="gray";b.mb=1;b.interval=10;a.Cd.add(b);b=new Y;b.Jb="LineV";b.stroke="lightgray";b.mb=.5;b.interval=1;a.Cd.add(b);b=new Y;b.Jb="LineV";b.stroke="gray";b.mb=.5;b.interval=5;a.Cd.add(b);b=new Y;b.Jb="LineV";b.stroke="gray";b.mb=1;b.interval=10;a.Cd.add(b);b=new D;b.add(a.Cd); -b.Lf="Grid";b.yo=0;b.Qx=!1;b.CF=!1;b.qg=!1;b.ay="GRID";a.add(b);a.pb.remove(b);a.Cd.visible=!1}C.prototype.tH=function(){this.ca.isEnabled?this.ca.qI(this):Ol(this.ca)};C.prototype.xD=function(a){this.ca.isEnabled?(this.ca.Sz=!0,this.ca.Uz=a.target.scrollTop,this.ca.Tz=a.target.scrollLeft):Ol(this.ca)}; +b.Lf="Grid";b.xo=0;b.Qx=!1;b.CF=!1;b.qg=!1;b.ay="GRID";a.add(b);a.pb.remove(b);a.Cd.visible=!1}C.prototype.tH=function(){this.ca.isEnabled?this.ca.qI(this):Ol(this.ca)};C.prototype.xD=function(a){this.ca.isEnabled?(this.ca.Sz=!0,this.ca.Uz=a.target.scrollTop,this.ca.Tz=a.target.scrollLeft):Ol(this.ca)}; C.prototype.diagramScroll=C.prototype.qI=function(a){if(this.Sz&&null!==this.Lb){this.Gw=!0;var b=this.fd,c=this.yb,d=b.width,e=c.width,g=b.height,h=c.height,k=b.right,l=c.right,m=b.bottom,n=c.bottom,p=b.x,q=c.x,b=b.y,c=c.y,r=this.scale,s;s=a.scrollLeft;if(this.fs)switch(this.Qz){case "negative":s=s+a.scrollWidth-a.clientWidth;break;case "reverse":s=a.scrollWidth-s-a.clientWidth}var v=s;e l&&(this.position=s.m(-(this.Kw.scrollWidth-this.Ob)+v-this.Ob/r+k,this.position.y))),a.xH&&this.Be&&(b n&&(this.position=s.m(this.position.x,-(this.Kw.scrollHeight-this.Sb)+a.scrollTop-this.Sb/r+m))),z.A(s),Pl(this),this.Qm=this.Gw=!1,b=this.fd,c=this.yb,k=b.right,l=c.right, m=b.bottom,n=c.bottom,p=b.x,q=c.x,b=b.y,c=c.y,e>=d&&p>=q&&k<=l&&(this.ht.style.width="1px"),h>=g&&b>=c&&m<=n&&(this.ht.style.height="1px"))}};C.prototype.computeBounds=C.prototype.Jh=function(){0 c&&(e=c),e a.Oh&&(e=a.Oh),e):b===Wl?(e=l>k?(h-a.Ud)/d:(g-a.Ud)/e,e>c&&(e=c),e a.Oh&&(e=a.Oh),e):a.scale}C.prototype.zoomToFit=C.prototype.zoomToFit=function(){this.scale=Sl(this,Vl)}; -C.prototype.zoomToRect=function(a,b){void 0===b&&(b=Vl);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Vl||b===Wl)if(isNaN(c))e=this.yb.height*this.scale/d;else if(isNaN(d))e=this.yb.width*this.scale/c;else var e=this.Ob,g=this.Sb,e=b===Wl?g/d>e/c?(g-(this.hk?this.Ud:0))/d:(e-(this.wl?this.Ud:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new M(a.x,a.y)}};z.defineProperty(C,{RA:null},function(){return this.cd},function(a){this.cd=a}); +function Rl(a,b){if((b||a.sh)&&!a.cd&&null!==a.Lb&&!a.Ya.wf&&a.fd.F()){a.cd=!0;var c=a.Gm;b&&a.yl!==Qh&&(c=a.yl);var d=c!==Qh?Sl(a,c):a.scale,c=a.yb.copy(),e=a.Ob/d,g=a.Sb/d,h=null,k=a.Ya;k.yc&&(h=a.ub.copy());a.position.Za();var l=a.Jo;b&&!l.jd()&&a.ep.jd()&&(l=a.ep);Tl(a,a.ub,a.fd,e,g,l,b);a.position.freeze();null!==h&&ml(k,h,a.ub);e=a.scale;a.scale=d;a.cd=!1;d=a.yb;d.Vc(c)||a.Lu(c,d,e,a.scale,!1)}} +function Sl(a,b){var c=a.xb.vx;if(null===a.Lb)return c;a.ik&&Ul(a,a.Jh());var d=a.fd;if(!d.F())return c;var e=d.width,d=d.height,g=a.Ob,h=a.Sb,k=g/e,l=h/d;return b===Vl?(e=Math.min(l,k),e>c&&(e=c),e a.Oh&&(e=a.Oh),e):b===Wl?(e=l>k?(h-a.Td)/d:(g-a.Td)/e,e>c&&(e=c),e a.Oh&&(e=a.Oh),e):a.scale}C.prototype.zoomToFit=C.prototype.zoomToFit=function(){this.scale=Sl(this,Vl)}; +C.prototype.zoomToRect=function(a,b){void 0===b&&(b=Vl);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Vl||b===Wl)if(isNaN(c))e=this.yb.height*this.scale/d;else if(isNaN(d))e=this.yb.width*this.scale/c;else var e=this.Ob,g=this.Sb,e=b===Wl?g/d>e/c?(g-(this.hk?this.Td:0))/d:(e-(this.wl?this.Td:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new M(a.x,a.y)}};z.defineProperty(C,{RA:null},function(){return this.cd},function(a){this.cd=a}); C.prototype.alignDocument=function(a,b){this.ik&&Ul(this,this.Jh());var c=this.fd,d=this.yb;this.position=new M(c.x+(a.x*c.width+a.offsetX)-(b.x*d.width-b.offsetX),c.y+(a.y*c.height+a.offsetY)-(b.y*d.height-b.offsetY))}; function Tl(a,b,c,d,e,g,h){var k=b.x,l=b.y;if(h||a.uB===xl)g.jd()&&(d>c.width&&(k=c.x+(g.x*c.width+g.offsetX)-(g.x*d-g.offsetX)),e>c.height&&(l=c.y+(g.y*c.height+g.offsetY)-(g.y*e-g.offsetY))),g=a.xG,h=d-c.width,d c.left?k=c.left:k c.top?l=c.top:l c.touches.length)&&c.preventDefault();c.cancelBubble=!0;return!1} C.prototype.mJ=function(a){if(!this.ca.isEnabled)return!1;var b=this.ca.Ub;Xl(this.ca,this.ca,a,b,!1);b.key=String.fromCharCode(a.which);b.gm=!0;switch(a.which){case 8:b.key="Backspace";break;case 33:b.key="PageUp";break;case 34:b.key="PageDown";break;case 35:b.key="End";break;case 36:b.key="Home";break;case 37:b.key="Left";break;case 38:b.key="Up";break;case 39:b.key="Right";break;case 40:b.key="Down";break;case 45:b.key="Insert";break;case 46:b.key="Del";break;case 48:b.key="0";break;case 187:case 61:case 107:b.key= "Add";break;case 189:case 173:case 109:b.key="Subtract";break;case 27:b.key="Esc"}this.ca.doKeyDown();return 187!==a.which&&189!==a.which&&48!==a.which&&107!==a.which&&109!==a.which&&61!==a.which&&173!==a.which||!0!==a.ctrlKey?ia(this.ca,b,a):(a.cancelBubble=!0,a.preventDefault(),a.stopPropagation(),!1)}; C.prototype.nJ=function(a){if(!this.ca.isEnabled)return!1;var b=this.ca.Ub;Xl(this.ca,this.ca,a,b,!1);b.key=String.fromCharCode(a.which);b.up=!0;switch(a.which){case 8:b.key="Backspace";break;case 33:b.key="PageUp";break;case 34:b.key="PageDown";break;case 35:b.key="End";break;case 36:b.key="Home";break;case 37:b.key="Left";break;case 38:b.key="Up";break;case 39:b.key="Right";break;case 40:b.key="Down";break;case 45:b.key="Insert";break;case 46:b.key="Del";break;case 93:a.preventDefault()}this.ca.doKeyUp(); -return ia(this.ca,b,a)};C.prototype.bp=function(a){var b=this.Lb;if(null===b)return new M(0,0);var c=this.Ob,d=this.Sb,b=b.getBoundingClientRect(),c=a.clientX-c/b.width*b.left;a=a.clientY-d/b.height*b.top;return null!==this.Jc?(a=new M(c,a),ub(a,this.Jc),a):new M(c,a)}; -function Yl(a,b,c){var d=a.Lb,e=a.Ob,g=a.Sb,h=0,k=0;null!==d&&(d=d.getBoundingClientRect(),h=b.clientX-e/d.width*d.left,k=b.clientY-g/d.height*d.top);c.te.m(h,k);null!==a.Jc?(b=z.Fb(h,k),a.Jc.Ci(b),c.ha.assign(b),z.A(b)):c.ha.m(h,k)} -function Zf(a,b,c,d){var e=null;if(void 0!==b.targetTouches){if(2>b.targetTouches.length)return;e=b.targetTouches[c]}else if(null!==a.nj[0])e=a.nj[c];else return;c=a.Lb;b=a.Ob;a=a.Sb;var g=0,h=0;null!==c&&null!==e&&(c=c.getBoundingClientRect(),g=e.clientX-b/c.width*c.left,h=e.clientY-a/c.height*c.top);d.m(g,h)}C.prototype.invalidateDocumentBounds=C.prototype.Bc=function(){this.ik||(this.ik=!0,this.Te(!0))};function jl(a){a.je||Li(a);a.ik&&Ul(a,a.Jh())} -C.prototype.redraw=C.prototype.Iq=function(){this.cd||this.je||(this.ra(),am(this),Pl(this),this.Bc(),this.hg())};C.prototype.isUpdateRequested=function(){return this.Zf};C.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Ya,c=b.isEnabled;b.Ii();b.isEnabled=!1;Vi(this);this.sh=!1;b.isEnabled=c;null!==a&&z.setTimeout(a,1)}; -C.prototype.requestUpdate=C.prototype.Te=function(a){void 0===a&&(a=!1);if(!0!==this.Zf&&!(this.cd||!1===a&&this.je)){this.Zf=!0;var b=this;requestAnimationFrame(function(){b.Zf&&b.hg()})}};C.prototype.maybeUpdate=C.prototype.hg=function(){if(!this.$o||this.Zf)this.$o&&(this.$o=!1),Vi(this)};function bm(a,b){a.Ya.wf||a.cd||!a.Qm||Ol(a)||(b&&Li(a),Rl(a,!1))} -function Vi(a){if(!a.je&&(a.Zf=!1,null!==a.Tb)){a.je=!0;var b=a.Ya,c=a.Pz;if(!b.lp&&0!==c.length){for(var d=c.o,e=d.length,g=0;g b;b++){var c=a.Cg.j;if(null===c||0===a.Cg.count)break;a.Cg=new K(O);a.QB(c,a.Cg);u&&22===b&&z.trace("failure to validate parts")}a.og.each(function(a){a instanceof F&&0!==(a.Ha&65536)!==!1&&(a.Ha^=65536)})}} -C.prototype.QB=function(a,b){for(a.reset();a.next();){var c=a.value;!c.re()||c instanceof F||(c.sm()?(Bk(c,Infinity,Infinity),c.rc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof F&&c.isVisible()&&Bm(this,c);for(a.reset();a.next();)c=a.value,c instanceof H&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.rc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof ea&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.rc()):b.add(c))}; -function Bm(a,b){for(var c=z.tb(),d=z.tb(),e=b.Oc;e.next();){var g=e.value;g.isVisible()&&(g instanceof F?(Cm(g)||Dm(g)||Em(g))&&Bm(a,g):g instanceof H?g.aa===b||g.ea===b?d.push(g):c.push(g):(Bk(g,Infinity,Infinity),g.rc()))}for(var e=c.length,h=0;h b.targetTouches.length)return;e=b.targetTouches[c]}else if(null!==a.nj[0])e=a.nj[c];else return;c=a.Lb;b=a.Ob;a=a.Sb;var g=0,h=0;null!==c&&null!==e&&(c=c.getBoundingClientRect(),g=e.clientX-b/c.width*c.left,h=e.clientY-a/c.height*c.top);d.m(g,h)}C.prototype.invalidateDocumentBounds=C.prototype.Bc=function(){this.ik||(this.ik=!0,this.Te(!0))};function jl(a){a.ie||Li(a);a.ik&&Ul(a,a.Jh())} +C.prototype.redraw=C.prototype.Iq=function(){this.cd||this.ie||(this.ra(),am(this),Pl(this),this.Bc(),this.hg())};C.prototype.isUpdateRequested=function(){return this.Zf};C.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Ya,c=b.isEnabled;b.Ii();b.isEnabled=!1;Vi(this);this.sh=!1;b.isEnabled=c;null!==a&&z.setTimeout(a,1)}; +C.prototype.requestUpdate=C.prototype.Te=function(a){void 0===a&&(a=!1);if(!0!==this.Zf&&!(this.cd||!1===a&&this.ie)){this.Zf=!0;var b=this;requestAnimationFrame(function(){b.Zf&&b.hg()})}};C.prototype.maybeUpdate=C.prototype.hg=function(){if(!this.Zo||this.Zf)this.Zo&&(this.Zo=!1),Vi(this)};function bm(a,b){a.Ya.wf||a.cd||!a.Qm||Ol(a)||(b&&Li(a),Rl(a,!1))} +function Vi(a){if(!a.ie&&(a.Zf=!1,null!==a.Tb)){a.ie=!0;var b=a.Ya,c=a.Pz;if(!b.kp&&0!==c.length){for(var d=c.o,e=d.length,g=0;g b;b++){var c=a.Cg.j;if(null===c||0===a.Cg.count)break;a.Cg=new K(O);a.QB(c,a.Cg);u&&22===b&&z.trace("failure to validate parts")}a.og.each(function(a){a instanceof F&&0!==(a.Ha&65536)!==!1&&(a.Ha^=65536)})}} +C.prototype.QB=function(a,b){for(a.reset();a.next();){var c=a.value;!c.qe()||c instanceof F||(c.sm()?(Bk(c,Infinity,Infinity),c.qc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof F&&c.isVisible()&&Bm(this,c);for(a.reset();a.next();)c=a.value,c instanceof H&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.qc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof ea&&c.isVisible()&&(c.sm()?(Bk(c,Infinity,Infinity),c.qc()):b.add(c))}; +function Bm(a,b){for(var c=z.tb(),d=z.tb(),e=b.Oc;e.next();){var g=e.value;g.isVisible()&&(g instanceof F?(Cm(g)||Dm(g)||Em(g))&&Bm(a,g):g instanceof H?g.aa===b||g.ea===b?d.push(g):c.push(g):(Bk(g,Infinity,Infinity),g.qc()))}for(var e=c.length,h=0;h x+1&& -(N=Math.max((t-x)*c+a.Ob,N)),q+k+1 p+1&&(G=Math.max((B-p)*c+a.Sb,G)),r+l+1 x+1&&(N=Math.max((t-x)*c+a.Ob,N)),q+1 p+1&&(G=Math.max((B-p)*c+l,G)),r+1 x+1&&(k=a.position.x*c));if(a.fs)switch(a.Qz){case "negative":k=-(b.scrollWidth-k-b.clientWidth);break;case "reverse":k=b.scrollWidth-k-b.clientWidth}b.scrollLeft=k;a.OA&&a.Be&&(r+1 p+1&&(b.scrollTop=a.position.y*c));h&&(a.bs=!0);m=a.Ob;n=a.Sb;b.style.width=m+(a.wl?a.Ud:0)+"px";b.style.height=n+(a.hk?a.Ud:0)+"px";a.Sz=!1;return d!==m||e!== +function Ol(a){var b=a.Lb;if(null===b)return!0;var c=a.Tb,d=a.Ob,e=a.Sb,g=a.mE.copy();if(!g.F())return!0;var h=!1,k=a.wl?a.Td:0,l=a.hk?a.Td:0,m=c.clientWidth||d+k,n=c.clientHeight||e+l;if(m!==d+k||n!==e+l)a.wl=!1,a.hk=!1,l=k=0,a.Ob=m,a.Sb=n,h=a.bs=!0;a.Qm=!1;var p=a.yb,c=a.fd,m=c.width,n=c.height,q=p.width,r=p.height,s=c.x,v=p.x,t=c.right,x=p.right+k,y=c.y,B=p.y,A=c.bottom,p=p.bottom+l,N="1px",G="1px",c=a.scale;a.uB===xl&&m x+1&& +(N=Math.max((t-x)*c+a.Ob,N)),q+k+1p+1&&(G=Math.max((A-p)*c+a.Sb,G)),r+l+1 x+1&&(N=Math.max((t-x)*c+a.Ob,N)),q+1 p+1&&(G=Math.max((A-p)*c+l,G)),r+1 x+1&&(k=a.position.x*c));if(a.fs)switch(a.Qz){case "negative":k=-(b.scrollWidth-k-b.clientWidth);break;case "reverse":k=b.scrollWidth-k-b.clientWidth}b.scrollLeft=k;a.OA&&a.Be&&(r+1 p+1&&(b.scrollTop=a.position.y*c));h&&(a.bs=!0);m=a.Ob;n=a.Sb;b.style.width=m+(a.wl?a.Td:0)+"px";b.style.height=n+(a.hk?a.Td:0)+"px";a.Sz=!1;return d!==m||e!== n||a.Ya.yc?(p=a.yb,a.Lu(g,p,c,a.scale,h),!1):!0} -C.prototype.add=C.prototype.add=function(a){z.l(a,D,C,"add:part");var b=a.g;if(b!==this){null!==b&&z.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.cr&&(a.El="Tool");var c=a.Lf,b=this.hm(c);null===b&&(b=this.hm(""));null===b&&z.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.rq(99999999,a,a.g===this),0<=c&&this.ld(sg,"parts",b,null,a,null,c),b.Wc||this.Bc(),a.N(Lm),c=a.Yx,null!== +C.prototype.add=C.prototype.add=function(a){z.l(a,D,C,"add:part");var b=a.g;if(b!==this){null!==b&&z.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.cr&&(a.El="Tool");var c=a.Lf,b=this.hm(c);null===b&&(b=this.hm(""));null===b&&z.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.qq(99999999,a,a.g===this),0<=c&&this.ld(sg,"parts",b,null,a,null,c),b.Wc||this.Bc(),a.N(Lm),c=a.Yx,null!== c&&c(a,null,b))}}; -C.prototype.rq=function(a){if(a instanceof E){if(this.zp.add(a),a instanceof F){var b=a.Qa;null===b?this.Pl.add(a):b.cn.add(a);b=a.Wb;null!==b&&(b.g=this)}}else a instanceof H?this.sp.add(a):a instanceof ea||this.pb.add(a);var c=this;Mm(a,function(a){Nm(c,a)});a.Qb&&a.K();b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.add(b,a):this.Ti.add(b,a)),Mm(a,function(a){Om(c,a)}));!0!==Dm(a)&&!0!==Em(a)||this.Cg.add(a);Pm(a,!0,this);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&& +C.prototype.qq=function(a){if(a instanceof E){if(this.yp.add(a),a instanceof F){var b=a.Qa;null===b?this.Pl.add(a):b.cn.add(a);b=a.Wb;null!==b&&(b.g=this)}}else a instanceof H?this.rp.add(a):a instanceof ea||this.pb.add(a);var c=this;Mm(a,function(a){Nm(c,a)});a.Qb&&a.K();b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.add(b,a):this.Ti.add(b,a)),Mm(a,function(a){Om(c,a)}));!0!==Dm(a)&&!0!==Em(a)||this.Cg.add(a);Pm(a,!0,this);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&& a.Z.F()&&this.ra(sl(a,a.Z));this.Te()}; -C.prototype.vf=function(a){a.Vt();if(a instanceof E){if(this.zp.remove(a),a instanceof F){var b=a.Qa;null===b?this.Pl.remove(a):b.cn.remove(a);b=a.Wb;null!==b&&(b.g=null)}}else a instanceof H?this.sp.remove(a):a instanceof ea||this.pb.remove(a);var c=this;Mm(a,function(a){Rm(c,a)});b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.remove(b):this.Ti.remove(b)),Mm(a,function(a){Sm(c,a)}));this.Cg.remove(a);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&a.Z.F()&&this.ra(sl(a, +C.prototype.vf=function(a){a.Vt();if(a instanceof E){if(this.yp.remove(a),a instanceof F){var b=a.Qa;null===b?this.Pl.remove(a):b.cn.remove(a);b=a.Wb;null!==b&&(b.g=null)}}else a instanceof H?this.rp.remove(a):a instanceof ea||this.pb.remove(a);var c=this;Mm(a,function(a){Rm(c,a)});b=a.data;null!==b&&(a instanceof ea||(a instanceof H?this.Zj.remove(b):this.Ti.remove(b)),Mm(a,function(a){Sm(c,a)}));this.Cg.remove(a);Qm(a)?(a.Z.F()&&this.ra(sl(a,a.Z)),this.Bc()):a.isVisible()&&a.Z.F()&&this.ra(sl(a, a.Z));this.Te()};C.prototype.remove=C.prototype.remove=function(a){z.l(a,D,C,"remove:part");Tm(this,a,!0)};function Tm(a,b,c){var d=b.layer;null!==d&&d.g===a&&(b.gb=!1,b.Wg=!1,b.N(Um),c&&b.Mn(),c=d.vf(-1,b,!1),0<=c&&a.ld(tg,"parts",d,b,null,c,null),a=b.Yx,null!==a&&a(b,d,null))} -C.prototype.removeParts=C.prototype.rB=function(a,b){if(z.isArray(a))for(var c=z.bb(a),d=0;d d&&this.Bc()}; -C.prototype.addLayerAfter=function(a,b){Vm(this,a,b);a.$c(this);var c=this.bc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.ye&&this.ld(tg,"layers",this,a,null,d,null));for(var e=c.count,g=0;g d&&this.Bc()}; -C.prototype.removeLayer=function(a){z.l(a,ah,C,"removeLayer:layer");a.g!==this&&z.k("Cannot remove a Layer from another Diagram: "+a+" of "+a.g);if(""!==a.name){var b=this.bc,c=b.indexOf(a);if(b.remove(a)){for(b=a.pb.copy().j;b.next();){var d=b.value,e=d.Lf;d.Lf=e!==a.name?e:""}null!==this.ye&&this.ld(tg,"layers",this,a,null,c,null);this.ra();this.Bc()}}};C.prototype.findLayer=C.prototype.hm=function(a){for(var b=this.ao;b.next();){var c=b.value;if(c.name===a)return c}return null}; +b+"'; a Layer with the same name is already present in this Diagram.")}}C.prototype.addLayer=C.prototype.Lt=function(a){Vm(this,a,null);a.$c(this);var b=this.bc,c=b.count-1;if(!a.Wc)for(;0<=c&&b.fa(c).Wc;)c--;b.Yd(c+1,a);null!==this.xe&&this.ld(sg,"layers",this,null,a,null,c+1);this.ra();this.Bc()}; +C.prototype.addLayerBefore=C.prototype.KH=function(a,b){Vm(this,a,b);a.$c(this);var c=this.bc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.xe&&this.ld(tg,"layers",this,a,null,d,null));for(var e=c.count,g=0;g d&&this.Bc()}; +C.prototype.addLayerAfter=function(a,b){Vm(this,a,b);a.$c(this);var c=this.bc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.xe&&this.ld(tg,"layers",this,a,null,d,null));for(var e=c.count,g=0;g d&&this.Bc()}; +C.prototype.removeLayer=function(a){z.l(a,ah,C,"removeLayer:layer");a.g!==this&&z.k("Cannot remove a Layer from another Diagram: "+a+" of "+a.g);if(""!==a.name){var b=this.bc,c=b.indexOf(a);if(b.remove(a)){for(b=a.pb.copy().j;b.next();){var d=b.value,e=d.Lf;d.Lf=e!==a.name?e:""}null!==this.xe&&this.ld(tg,"layers",this,a,null,c,null);this.ra();this.Bc()}}};C.prototype.findLayer=C.prototype.hm=function(a){for(var b=this.ao;b.next();){var c=b.value;if(c.name===a)return c}return null}; C.prototype.addModelChangedListener=C.prototype.MH=function(a){z.h(a,"function",C,"addModelChangedListener:listener");null===this.vh&&(this.vh=new J("function"));this.vh.add(a);this.ia.An(a)};C.prototype.removeModelChangedListener=function(a){z.h(a,"function",C,"removeModelChangedListener:listener");null!==this.vh&&(this.vh.remove(a),0===this.vh.count&&(this.vh=null));this.ia.Ou(a)}; C.prototype.addChangedListener=C.prototype.An=function(a){z.h(a,"function",C,"addChangedListener:listener");null===this.Oi&&(this.Oi=new J("function"));this.Oi.add(a)};C.prototype.removeChangedListener=C.prototype.Ou=function(a){z.h(a,"function",C,"removeChangedListener:listener");null!==this.Oi&&(this.Oi.remove(a),0===this.Oi.count&&(this.Oi=null))}; C.prototype.mx=function(a){this.Eb||this.sa.wF(a);a.Kc!==rg&&(this.Fi=!0);if(null!==this.Oi){var b=this.Oi,c=b.length;if(1===c)b=b.fa(0),b(a);else if(0!==c)for(var d=b.nc(),e=0;e a.Oh&&(c=a.Oh);e=z.Fb(a.ub.x+h/b-h/c,a.ub.y+k/b-k/c);a.position=e;z.A(e);a.Rb=c;a.Lu(d,a.yb,b,c,!1);a.cd=!1;Rl(a, -!1);c=a.Ya;c.yc&&nl(c,b,a.Rb);a.ra();am(a)}}C.prototype.Lu=function(a,b,c,d,e){a.O(b)||(void 0===e&&(e=!1),e||am(this),Pl(this),d=this.Wb,null===d||!d.Vx||this.Zl!==Qh||e||a.width===b.width&&a.height===b.height||d.N(),d=this.fb,!0===this.Sm&&d instanceof Kh&&(this.U.ha=this.NB(this.U.te),Fk(d,this)),this.cd||this.BF(a,b),dm(this),this.Eh.scale=c,this.Eh.position.x=a.x,this.Eh.position.y=a.y,this.Eh.bounds.set(a),this.Eh.isScroll=e,this.Ka("ViewportBoundsChanged",this.Eh,a))}; +function Wm(a,b,c){if(a.cd||a.ie)a.Rb=c,c=a.Ya,c.yc&&nl(c,b,a.Rb);else if(a.cd=!0,null===a.Lb)a.Rb=c;else{var d=a.yb.copy(),e=a.Ob,g=a.Sb;d.width=a.Ob/b;d.height=a.Sb/b;var h=a.Dm.x,k=a.Dm.y,l=a.JE;isNaN(h)&&(l.Gj()?l.Fj(sc)?h=0:l.Fj(xc)&&(h=e-1):h=l.jd()?l.x*(e-1):e/2);isNaN(k)&&(l.Gj()?l.Fj(rc)?k=0:l.Fj(yc)&&(k=g-1):k=l.jd()?l.y*(g-1):g/2);null!==a.wG&&(c=a.wG(a,c));c a.Oh&&(c=a.Oh);e=z.Fb(a.ub.x+h/b-h/c,a.ub.y+k/b-k/c);a.position=e;z.A(e);a.Rb=c;a.Lu(d,a.yb,b,c,!1);a.cd=!1;Rl(a, +!1);c=a.Ya;c.yc&&nl(c,b,a.Rb);a.ra();am(a)}}C.prototype.Lu=function(a,b,c,d,e){a.O(b)||(void 0===e&&(e=!1),e||am(this),Pl(this),d=this.Wb,null===d||!d.Vx||this.Zl!==Qh||e||a.width===b.width&&a.height===b.height||d.N(),d=this.fb,!0===this.Sm&&d instanceof Kh&&(this.U.ha=this.NB(this.U.se),Fk(d,this)),this.cd||this.BF(a,b),dm(this),this.Eh.scale=c,this.Eh.position.x=a.x,this.Eh.position.y=a.y,this.Eh.bounds.set(a),this.Eh.isScroll=e,this.Ka("ViewportBoundsChanged",this.Eh,a))}; function dm(a,b){void 0===b&&(b=null);var c=a.Cd;if(null!==c&&c.visible){for(var d=z.Am(),e=1,g=1,h=c.va.o,k=h.length,l=0;l n||(Xm(m.Jb)?g=g*n/Te(g,n):e=e*n/Te(e,n))}h=c.Kx;d.m(g*h.width,e*h.height);h=g=l=k=0;if(null!==b)k=b.width,l=b.height,g=b.x,h=b.y;else{e=z.Of();g=a.yb;e.m(g.x,g.y,g.width,g.height);for(h=a.ww.j;h.next();)g=h.value.yb,g.F()&&Rb(e,g.x,g.y,g.width,g.height);if(!e.F()){z.Mb(e);return}k=e.width;l=e.height;g=e.x;h=e.y;z.Mb(e)}c.width=k+2*d.width;c.height= l+2*d.height;e=z.P();tb(g,h,0,0,d.width,d.height,e);e.offset(-d.width,-d.height);z.Qk(d);c.ba.location=e;z.A(e)}}C.prototype.clearSelection=C.prototype.ox=function(){var a=0 l)){var m=l;kn(k)&&m++;k.vf(m);ln(k,m,l)}}}}function Om(a,b){var c=b.cj;if(z.isArray(c)){var d=a.Um.qa(c);if(null===d)d=[],d.push(b),a.Um.add(c,d);else{for(c=0;c this.scale&&(this.scale=a)):z.wa(a,"> 0",C,"minScale"))}); z.defineProperty(C,{Oh:"maxScale"},function(){return this.kw},function(a){z.p(a,C,"maxScale");var b=this.kw;b!==a&&(0 0",C,"maxScale"))});z.defineProperty(C,{Dm:"zoomPoint"},function(){return this.ax},function(a){this.ax.O(a)||(z.l(a,M,C,"zoomPoint"),this.ax=a=a.V())}); -z.defineProperty(C,{JE:"contentAlignment"},function(){return this.Ko},function(a){var b=this.Ko;b.O(a)||(z.l(a,R,C,"contentAlignment"),this.Ko=a=a.V(),this.i("contentAlignment",b,a),Rl(this,!1))});z.defineProperty(C,{LL:"initialContentAlignment"},function(){return this.fp},function(a){var b=this.fp;b.O(a)||(z.l(a,R,C,"initialContentAlignment"),this.fp=a=a.V(),this.i("initialContentAlignment",b,a))}); -z.defineProperty(C,{padding:"padding"},function(){return this.sf},function(a){"number"===typeof a?a=new Kb(a):z.l(a,Kb,C,"padding");var b=this.sf;b.O(a)||(this.sf=a=a.V(),this.Bc(),this.i("padding",b,a))});z.w(C,{og:"nodes"},function(){return this.zp.j});z.w(C,{links:"links"},function(){return this.sp.j});z.w(C,{Gi:"parts"},function(){return this.pb.j}); -C.prototype.findTopLevelNodesAndLinks=function(){for(var a=new K(D),b=this.zp.j;b.next();){var c=b.value;c.wq&&a.add(c)}for(b=this.sp.j;b.next();)c=b.value,c.wq&&a.add(c);return a.j};C.prototype.findTopLevelGroups=function(){return this.Pl.j};z.defineProperty(C,{Wb:"layout"},function(){return this.we},function(a){var b=this.we;b!==a&&(z.l(a,ch,C,"layout"),null!==b&&(b.g=null,b.group=null),this.we=a,a.g=this,a.group=null,this.sv=!0,this.i("layout",b,a),this.Te())}); +z.defineProperty(C,{JE:"contentAlignment"},function(){return this.Jo},function(a){var b=this.Jo;b.O(a)||(z.l(a,R,C,"contentAlignment"),this.Jo=a=a.V(),this.i("contentAlignment",b,a),Rl(this,!1))});z.defineProperty(C,{LL:"initialContentAlignment"},function(){return this.ep},function(a){var b=this.ep;b.O(a)||(z.l(a,R,C,"initialContentAlignment"),this.ep=a=a.V(),this.i("initialContentAlignment",b,a))}); +z.defineProperty(C,{padding:"padding"},function(){return this.sf},function(a){"number"===typeof a?a=new Kb(a):z.l(a,Kb,C,"padding");var b=this.sf;b.O(a)||(this.sf=a=a.V(),this.Bc(),this.i("padding",b,a))});z.w(C,{og:"nodes"},function(){return this.yp.j});z.w(C,{links:"links"},function(){return this.rp.j});z.w(C,{Gi:"parts"},function(){return this.pb.j}); +C.prototype.findTopLevelNodesAndLinks=function(){for(var a=new K(D),b=this.yp.j;b.next();){var c=b.value;c.vq&&a.add(c)}for(b=this.rp.j;b.next();)c=b.value,c.vq&&a.add(c);return a.j};C.prototype.findTopLevelGroups=function(){return this.Pl.j};z.defineProperty(C,{Wb:"layout"},function(){return this.ve},function(a){var b=this.ve;b!==a&&(z.l(a,ch,C,"layout"),null!==b&&(b.g=null,b.group=null),this.ve=a,a.g=this,a.group=null,this.sv=!0,this.i("layout",b,a),this.Te())}); C.prototype.layoutDiagram=function(a){Li(this);a&&qn(this,!0);em(this,!1)};function qn(a,b){for(var c=a.Pl.j;c.next();)yn(a,c.value,b);null!==a.Wb&&(b?a.Wb.Jf=!1:a.Wb.N())}function yn(a,b,c){if(null!==b){for(var d=b.cn.j;d.next();)yn(a,d.value,c);null!==b.Wb&&(c?b.Wb.Jf=!1:b.Wb.N())}} -function em(a,b){if(!a.gz){var c=a.Wb,d=a.ab;a.ab=!0;try{var e=a.sa.Vh;0===e&&a.$b("Layout");var g=a.Ya;1!==a.sa.Vh||g.wf||g.yc||b||g.lo("Layout");for(var h=a.Pl.j;h.next();)zn(a,h.value,b);c.Jf||b&&!c.MF&&0!==e||(c.doLayout(a),Li(a),c.Jf=!0)}finally{0===e&&a.Wd("Layout"),a.sv=!c.Jf,a.ab=d}}}function zn(a,b,c){if(null!==b){for(var d=b.cn.j;d.next();)zn(a,d.value,c);d=b.Wb;null===d||d.Jf||c&&!d.MF||(b.io=!b.location.F(),d.doLayout(b),b.N(An),d.Jf=!0,Bm(a,b))}} -z.defineProperty(C,{be:"isTreePathToChildren"},function(){return this.dw},function(a){var b=this.dw;if(b!==a&&(z.h(a,"boolean",C,"isTreePathToChildren"),this.dw=a,this.i("isTreePathToChildren",b,a),!this.sa.lb))for(a=this.og;a.next();)Bn(a.value)});C.prototype.findTreeRoots=function(){for(var a=new J(E),b=this.og;b.next();){var c=b.value;c.wq&&null===c.Pn()&&a.add(c)}return a.j}; +function em(a,b){if(!a.gz){var c=a.Wb,d=a.ab;a.ab=!0;try{var e=a.sa.Vh;0===e&&a.$b("Layout");var g=a.Ya;1!==a.sa.Vh||g.wf||g.yc||b||g.ko("Layout");for(var h=a.Pl.j;h.next();)zn(a,h.value,b);c.Jf||b&&!c.MF&&0!==e||(c.doLayout(a),Li(a),c.Jf=!0)}finally{0===e&&a.Vd("Layout"),a.sv=!c.Jf,a.ab=d}}}function zn(a,b,c){if(null!==b){for(var d=b.cn.j;d.next();)zn(a,d.value,c);d=b.Wb;null===d||d.Jf||c&&!d.MF||(b.io=!b.location.F(),d.doLayout(b),b.N(An),d.Jf=!0,Bm(a,b))}} +z.defineProperty(C,{ae:"isTreePathToChildren"},function(){return this.dw},function(a){var b=this.dw;if(b!==a&&(z.h(a,"boolean",C,"isTreePathToChildren"),this.dw=a,this.i("isTreePathToChildren",b,a),!this.sa.lb))for(a=this.og;a.next();)Bn(a.value)});C.prototype.findTreeRoots=function(){for(var a=new J(E),b=this.og;b.next();){var c=b.value;c.vq&&null===c.Pn()&&a.add(c)}return a.j}; z.defineProperty(C,{OB:"treeCollapsePolicy"},function(){return this.Ww},function(a){var b=this.Ww;b!==a&&(a!==zl&&a!==Ym&&a!==Zm&&z.k("Unknown Diagram.treeCollapsePolicy: "+a),this.Ww=a,this.i("treeCollapsePolicy",b,a))});z.defineProperty(C,{Nh:null},function(){return this.$C},function(a){this.$C=a}); function yl(a){function b(a){var b=a.toLowerCase(),h=new J("function");c.add(a,h);c.add(b,h);d.add(a,a);d.add(b,a)}var c=new oa("string",J),d=new oa("string","string");b("AnimationStarting");b("AnimationFinished");b("BackgroundSingleClicked");b("BackgroundDoubleClicked");b("BackgroundContextClicked");b("ClipboardChanged");b("ClipboardPasted");b("DocumentBoundsChanged");b("ExternalObjectsDropped");b("InitialLayoutCompleted");b("LayoutCompleted");b("LinkDrawn");b("LinkRelinked");b("LinkReshaped");b("Modified"); b("ObjectSingleClicked");b("ObjectDoubleClicked");b("ObjectContextClicked");b("PartCreated");b("PartResized");b("PartRotated");b("SelectionMoved");b("SelectionCopied");b("SelectionDeleting");b("SelectionDeleted");b("SelectionGrouped");b("SelectionUngrouped");b("ChangingSelection");b("ChangedSelection");b("SubGraphCollapsed");b("SubGraphExpanded");b("TextEdited");b("TreeCollapsed");b("TreeExpanded");b("ViewportBoundsChanged");a.iz=c;a.hz=d} function Ia(a,b){var c=a.hz.qa(b);return null!==c?c:a.hz.qa(b.toLowerCase())}function Cn(a,b){var c=a.iz.qa(b);if(null!==c)return c;c=a.iz.qa(b.toLowerCase());if(null!==c)return c;z.k("Unknown DiagramEvent name: "+b);return null}C.prototype.addDiagramListener=C.prototype.gA=function(a,b){z.h(a,"string",C,"addDiagramListener:name");z.h(b,"function",C,"addDiagramListener:listener");var c=Cn(this,a);null!==c&&c.add(b)}; -C.prototype.removeDiagramListener=C.prototype.jG=function(a,b){z.h(a,"string",C,"removeDiagramListener:name");z.h(b,"function",C,"addDiagramListener:listener");var c=Cn(this,a);null!==c&&c.remove(b)};C.prototype.raiseDiagramEvent=C.prototype.Ka=function(a,b,c){u&&z.h(a,"string",C,"raiseDiagramEvent:name");var d=Cn(this,a),e=new $f;e.g=this;e.name=Ia(this,a);void 0!==b&&(e.HB=b);void 0!==c&&(e.lB=c);a=d.length;if(1===a)d=d.fa(0),d(e);else if(0!==a)for(b=d.nc(),c=0;c=d.top&&0>=d.left&&0>=d.right&&0>=d.bottom)return c;var e=a.yb,g=a.scale,e=z.fh(0,0,e.width*g,e.height*g),h=z.Fb(0,0);if(b.x>=e.x&&b.x e.x+e.width-d.right&&(k=Math.max(a.Tu,1),k|=0,h.x+=k,b.x>e.x+e.width-d.right/2&&(h.x+=k),b.x>e.x+e.width-d.right/4&&(h.x+=4*k));b.y>=e.y&&b.y e.y+e.height-d.bottom&&(k=Math.max(a.Uu,1),k|=0,h.y+=k,b.y>e.y+e.height-d.bottom/2&&(h.y+=k),b.y>e.y+e.height-d.bottom/4&&(h.y+=4*k));h.Vc(Dd)||(c=new M(c.x+h.x/g,c.y+h.y/g));z.Mb(e);z.A(h);return c}C.prototype.makeSvg=C.prototype.makeSVG=function(a){void 0===a&&(a=new na);a.context="svg";a=Kn(this,a);return null!==a?a.ym:null}; C.prototype.makeImage=function(a){void 0===a&&(a=new na);var b=(a.document||document).createElement("img");b.src=this.vJ(a);return b}; C.prototype.makeImageData=C.prototype.vJ=function(a){void 0===a&&(a=new na);var b=Kn(this,a);if(null!==b){var c=a.returnType,c=void 0===c?"string":c.toLowerCase();switch(c){case "imagedata":return b.Mk.getImageData(0,0,b.width,b.height);case "blob":b=b.Fd;c=a.callback;if("function"!==typeof c){z.k('Error: Diagram.makeImageData called with "returnType: toBlob", but no "callback" function property defined.');break}if("function"===typeof b.uK)return b.uK(c,a.type,a.details),"toBlob";if("function"=== typeof b.KJ)return c(b.KJ(a.type,a.details)),"msToBlob";c(null);break;default:return b.toDataURL(a.type,a.details)}}return""};var Ln=!1; function Kn(a,b){a.Ya.Ii();a.hg();if(null===a.Lb)return null;"object"!==typeof b&&z.k("properties argument must be an Object.");var c=!1,d=b.size||null,e=b.scale||null;void 0!==b.scale&&isNaN(b.scale)&&(e="NaN");var g=b.maxSize;void 0===b.maxSize&&(c=!0,g="svg"===b.context?new Fa(Infinity,Infinity):new Fa(2E3,2E3));var h=b.position||null,k=b.parts||null,l=void 0===b.padding?1:b.padding,m=b.background||null,n=b.omitTemporary;void 0===n&&(n=!0);var p=b.document||document,q=b.elementFinished||null,r= -b.showTemporary;void 0===r&&(r=!n);n=b.showGrid;void 0===n&&(n=r);null!==d&&isNaN(d.width)&&isNaN(d.height)&&(d=null);"number"===typeof l?l=new Kb(l):l instanceof Kb||(l=new Kb(0));l.left=Math.max(l.left,0);l.right=Math.max(l.right,0);l.top=Math.max(l.top,0);l.bottom=Math.max(l.bottom,0);a.Vo=!1;da(a.pd,!0);var s=new ma(null,p),v=s.Mk,t=s;if(!(d||e||k||h))return s.width=a.Ob+Math.ceil(l.left+l.right),s.height=a.Sb+Math.ceil(l.top+l.bottom),"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&& -(a.Vo=!0)),Im(a,v,l,new Fa(s.width,s.height),a.Rb,a.ub,k,m,r,n),a.Vo=!0,t;var x=a.xb.vx,y=new M(0,0),A=a.fd.copy();A.sK(a.padding);if(r)for(var B=!0,B=a.bc.o,N=B.length,G=0;G x?(e=x,h=A.width,aa=A.height):(h=g.width,aa=g.height)):(h=A.width*e,aa=A.height*e):(e=x,h=A.width,aa=A.height);null!==l?(h+=fa,aa+=B):l=new Kb(0);null!==g&&(d=g.width,g=g.height,"svg"!==b.context&&c&&!Ln&&(h>d||aa>g)&&(z.trace("Diagram.makeImage(data): Diagram width or height is larger than the default max size. ("+Math.ceil(h)+"x"+Math.ceil(aa)+" vs 2000x2000) Consider increasing the max size."), -Ln=!0),isNaN(d)&&(d=2E3),isNaN(g)&&(g=2E3),isFinite(d)&&(h=Math.min(h,d)),isFinite(g)&&(aa=Math.min(aa,g)));s.width=Math.ceil(h);s.height=Math.ceil(aa);"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&(a.Vo=!0));Im(a,v,l,new Fa(Math.ceil(h),Math.ceil(aa)),e,y,k,m,r,n);a.Vo=!0;return t}C.inherit=function(a,b){z.h(a,"function",C,"inherit");z.h(b,"function",C,"inherit");b.yH&&z.k("Cannot inherit from "+z.uf(b));z.Ta(a,b)}; +b.showTemporary;void 0===r&&(r=!n);n=b.showGrid;void 0===n&&(n=r);null!==d&&isNaN(d.width)&&isNaN(d.height)&&(d=null);"number"===typeof l?l=new Kb(l):l instanceof Kb||(l=new Kb(0));l.left=Math.max(l.left,0);l.right=Math.max(l.right,0);l.top=Math.max(l.top,0);l.bottom=Math.max(l.bottom,0);a.Uo=!1;da(a.pd,!0);var s=new ma(null,p),v=s.Mk,t=s;if(!(d||e||k||h))return s.width=a.Ob+Math.ceil(l.left+l.right),s.height=a.Sb+Math.ceil(l.top+l.bottom),"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&& +(a.Uo=!0)),Im(a,v,l,new Fa(s.width,s.height),a.Rb,a.ub,k,m,r,n),a.Uo=!0,t;var x=a.xb.vx,y=new M(0,0),B=a.fd.copy();B.sK(a.padding);if(r)for(var A=!0,A=a.bc.o,N=A.length,G=0;G x?(e=x,h=B.width,aa=B.height):(h=g.width,aa=g.height)):(h=B.width*e,aa=B.height*e):(e=x,h=B.width,aa=B.height);null!==l?(h+=fa,aa+=A):l=new Kb(0);null!==g&&(d=g.width,g=g.height,"svg"!==b.context&&c&&!Ln&&(h>d||aa>g)&&(z.trace("Diagram.makeImage(data): Diagram width or height is larger than the default max size. ("+Math.ceil(h)+"x"+Math.ceil(aa)+" vs 2000x2000) Consider increasing the max size."), +Ln=!0),isNaN(d)&&(d=2E3),isNaN(g)&&(g=2E3),isFinite(d)&&(h=Math.min(h,d)),isFinite(g)&&(aa=Math.min(aa,g)));s.width=Math.ceil(h);s.height=Math.ceil(aa);"svg"===b.context&&(v=t=new md(s.Fd,p,q),v instanceof md&&(a.Uo=!0));Im(a,v,l,new Fa(Math.ceil(h),Math.ceil(aa)),e,y,k,m,r,n);a.Uo=!0;return t}C.inherit=function(a,b){z.h(a,"function",C,"inherit");z.h(b,"function",C,"inherit");b.yH&&z.k("Cannot inherit from "+z.uf(b));z.Ta(a,b)}; function Hl(){this.BH="63ad05bbe23a1786468a4c741b6d2";this.Xi=this.BH===this._tk?!0:null} function Mn(a){var b="f",c=window[z.Sg("76a715b2f73f148a")][z.Sg("72ba13b5")],d=z.Sg;if(window[d("7da7")]&&window[d("7da7")][d("76a115b6ed251eaf4692")]){a.Xi=!0;var e=window[d("7da7")][d("76a115b6ed251eaf4692")],e=d(e).split(d("39e9"));if(6>e.length)return;var g=d(e[1]).split(".");if("7da71ca0"!==e[4])return;var h=d(z[d("6cae19")]).split(".");if(g[0]>h[0]||g[0]===h[0]&&g[1]>=h[1]){g=c[d("76ad18b4f73e")];for(h=c[d("73a612b6fb191d")](d("35e7"))+2;h g&&d(e[2])!==d("7da71ca0ad381e90")&&(g=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));0>g&&(g=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));a.Xi=!(0<=g&&gg&&d(z.adym)!==d("7da71ca0ad381e90")&&(g=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));a.Xi=!(0<=g&&gb.timeStamp-a.Wm)b.preventDefault();else if(a.Al)b.preventDefault();else{a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.gm=!0;c.Qe=b.detail;if(z.GF||z.HF)b.timeStamp-a.Wm b.timeStamp-a.Wm){b.preventDefault();return}a.Wm=b.timeStamp}if(z.Xn&&null!==a.qt)a.qt=null,b.preventDefault();else{a.ed= -a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.up=!0;c.Qe=b.detail;if(z.GF||z.HF)c.Qe=a.Dl;c.bubbles=b.bubbles;b.target.ca&&(c.eh=b.target.ca);a.HG(b,null,new M,c.eh)||(a.doMouseUp(),yi(a),ia(a,c,b))}}};a.Qh=function(b){if(a.isEnabled){var c=a.ed;a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.bubbles=!0;c.fm=void 0!==b.wheelDelta?b.wheelDelta:-40*b.detail;a.doMouseWheel();ia(a,c,b)}};a.Dq=function(){if(a.isEnabled){a.Sm=!1;var b=a.fb;b.cancelWaitAfter();b instanceof Kh&&b.hideToolTip()}};a.WG=function(b){if(a.isEnabled){a.zt=!1; +c.style.position="absolute";c.style.overflow="auto";c.style.width=a.Ob+"px";c.style.height=a.Sb+"px";c.style.zIndex="1";e.style.position="absolute";e.style.width="1px";e.style.height="1px";a.Tb.appendChild(c);c.appendChild(e);c.onscroll=a.tH;c.onmousedown=a.xD;c.ontouchstart=a.xD;c.ca=a;c.wH=!0;c.xH=!0;a.Kw=c;a.ht=e;a.qB=z.NE(function(){a.zk=null;a.ra()},300,!1);a.dH=z.NE(function(){al(a)},250,!1);a.preventDefault=function(a){a.preventDefault();return!1};a.Bq=function(b){if(a.isEnabled){a.Sm=!0;var c= +a.ed;z.Xn&&c.Hj?(b.preventDefault(),b.simulated=!0,a.qt=b):(a.ed=a.Ub,a.Ub=c,Xl(a,a,b,c,!0),a.Ay(b,null,b.target.ca)||(a.doMouseMove(),a.fb.isBeyondDragSize()&&(a.Dl=0),ia(a,c,b)))}};a.Aq=function(b){if(a.isEnabled){a.Sm=!0;var c=a.ed;if(z.Xn&&null!==a.qt)a.qt=b,b.preventDefault();else if(z.Xn&&400>b.timeStamp-a.Wm)b.preventDefault();else if(a.Al)b.preventDefault();else{a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.gm=!0;c.Qe=b.detail;if(z.GF||z.HF)b.timeStamp-a.Wm b.timeStamp-a.Wm){b.preventDefault();return}a.Wm=b.timeStamp}if(z.Xn&&null!==a.qt)a.qt=null,b.preventDefault();else{a.ed= +a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.up=!0;c.Qe=b.detail;if(z.GF||z.HF)c.Qe=a.Dl;c.bubbles=b.bubbles;b.target.ca&&(c.eh=b.target.ca);a.HG(b,null,new M,c.eh)||(a.doMouseUp(),yi(a),ia(a,c,b))}}};a.Qh=function(b){if(a.isEnabled){var c=a.ed;a.ed=a.Ub;a.Ub=c;Xl(a,a,b,c,!0);c.bubbles=!0;c.fm=void 0!==b.wheelDelta?b.wheelDelta:-40*b.detail;a.doMouseWheel();ia(a,c,b)}};a.Cq=function(){if(a.isEnabled){a.Sm=!1;var b=a.fb;b.cancelWaitAfter();b instanceof Kh&&b.hideToolTip()}};a.WG=function(b){if(a.isEnabled){a.zt=!1; a.Al=!0;var c=a.ed;a.ed=a.Ub;a.Ub=c;Zl(a,b,b.targetTouches[0],c,1 a.Aw)){var c= @@ -1007,24 +1008,24 @@ a.nj;c[0].pointerId===b.pointerId&&(c[0]=b);c[1].pointerId===b.pointerId&&(c[1]= function Nn(a){1 a)&&z.wa(a,"0 <= loc <= 1",Ea,"addColorStop:loc");z.h(b,"string",Ea,"addColorStop:color");u&&!Da(b)&&z.k('Color "'+b+'" is not a valid color string for Brush.addColorStop');null===this.ph&&(this.ph=new oa("number","string"));this.ph.add(a,b);this.da===Zg&&(this.type=$g);this.qh=null}; -z.defineProperty(Ea,{type:"type"},function(){return this.da},function(a){this.I&&z.pa(this,a);z.Ca(a,Ea,Ea,"type");this.da=a;this.start.ae()&&(a===$g?this.start=ic:a===Bd&&(this.start=mc));this.end.ae()&&(a===$g?this.end=pc:a===Bd&&(this.end=mc));this.qh=null});z.defineProperty(Ea,{color:"color"},function(){return this.Io},function(a){this.I&&z.pa(this,a);u&&!Da(a)&&z.k('Color "'+a+'" is not a valid color string for Brush.color');this.Io=a;this.qh=null}); -z.defineProperty(Ea,{start:"start"},function(){return this.Lp},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"start");this.Lp=a.V();this.qh=null});z.defineProperty(Ea,{end:"end"},function(){return this.Xo},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"end");this.Xo=a.V();this.qh=null});z.defineProperty(Ea,{$u:"startRadius"},function(){return this.Rw},function(a){this.I&&z.pa(this,a);z.p(a,Ea,"startRadius");0>a&&z.wa(a,">= zero",Ea,"startRadius");this.Rw=a;this.qh=null}); +z.defineProperty(Ea,{type:"type"},function(){return this.da},function(a){this.I&&z.pa(this,a);z.Ca(a,Ea,Ea,"type");this.da=a;this.start.$d()&&(a===$g?this.start=ic:a===Bd&&(this.start=mc));this.end.$d()&&(a===$g?this.end=pc:a===Bd&&(this.end=mc));this.qh=null});z.defineProperty(Ea,{color:"color"},function(){return this.Ho},function(a){this.I&&z.pa(this,a);u&&!Da(a)&&z.k('Color "'+a+'" is not a valid color string for Brush.color');this.Ho=a;this.qh=null}); +z.defineProperty(Ea,{start:"start"},function(){return this.Kp},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"start");this.Kp=a.V();this.qh=null});z.defineProperty(Ea,{end:"end"},function(){return this.Wo},function(a){this.I&&z.pa(this,a);z.l(a,R,Ea,"end");this.Wo=a.V();this.qh=null});z.defineProperty(Ea,{$u:"startRadius"},function(){return this.Rw},function(a){this.I&&z.pa(this,a);z.p(a,Ea,"startRadius");0>a&&z.wa(a,">= zero",Ea,"startRadius");this.Rw=a;this.qh=null}); z.defineProperty(Ea,{bu:"endRadius"},function(){return this.Nv},function(a){this.I&&z.pa(this,a);z.p(a,Ea,"endRadius");0>a&&z.wa(a,">= zero",Ea,"endRadius");this.Nv=a;this.qh=null});z.defineProperty(Ea,{Jk:"colorStops"},function(){return this.ph},function(a){this.I&&z.pa(this,a);u&&z.l(a,oa,Ea,"colorStops");this.ph=a;this.qh=null});z.defineProperty(Ea,{pattern:"pattern"},function(){return this.zw},function(a){this.I&&z.pa(this,a);this.zw=a;this.qh=null}); Ea.randomColor=function(a,b){void 0===a&&(a=128);u&&(z.p(a,Ea,"randomColor:min"),(0>a||255d.length&&(d="0"+d);2>e.length&&(e="0"+e);2>c.length&&(c="0"+c);return"#"+ d+e+c};var Xn=(new ma(null)).Mk,Da;Ea.isValidColor=Da=function(a){if("black"===a)return!0;if(""===a)return!1;u&&z.h(a,"string",Ea,"isValidColor");Xn.fillStyle="#000000";var b=Xn.fillStyle;Xn.fillStyle=a;if(Xn.fillStyle!==b)return!0;Xn.fillStyle="#FFFFFF";b=Xn.fillStyle;Xn.fillStyle=a;return Xn.fillStyle!==b};var Yn=new Wn,Zn=new Wn,$n=new Wn,ao=new Wn;Ea.lighten=function(a){return bo(a)}; @@ -1035,15 +1036,15 @@ ao.mg;c=-.969266*$n.Pc+1.8760108*$n.Md+.041556*$n.kd;d=.0556434*$n.Pc+-.2040259* 255,h=Yn.kd/255,k=Math.max(e,g,h),d=Math.min(e,g,h),l=k-d,d=(k+d)/2;if(0===l)c=e=0;else{switch(k){case e:c=(g-h)/l%6;break;case g:c=(h-e)/l+2;break;case h:c=(e-g)/l+4}c*=60;0>c&&(c+=360);e=l/(1-Math.abs(2*d-1))}Zn.Pc=Math.round(c);Zn.Md=Math.round(100*e);Zn.kd=Math.round(100*d);Zn.mg=Yn.mg;Zn.kd=Math.min(100,Math.max(0,Zn.kd+100*a));return"hsla("+Zn.Pc+", "+Zn.Md+"%, "+Zn.kd+"%, "+Zn.mg+")";default:return z.k("Unknown color space: "+b),"rgba(0, 0, 0, 1)"}} function co(a){Xn.clearRect(0,0,1,1);Xn.fillStyle="#000000";var b=Xn.fillStyle;Xn.fillStyle=a;Xn.fillStyle!==b?(Xn.fillRect(0,0,1,1),a=Xn.getImageData(0,0,1,1).data,Yn.Pc=a[0],Yn.Md=a[1],Yn.kd=a[2],Yn.mg=a[3]/255):(Xn.fillStyle="#FFFFFF",b=Xn.fillStyle,Xn.fillStyle=a,Xn.fillStyle===b&&u&&z.k('Color "'+a+'" is not a valid color string for RGBA color conversion'),Yn.Pc=0,Yn.Md=0,Yn.kd=0,Yn.mg=1)}function ho(a){a/=255;return.04045>=a?a/12.92:Math.pow((a+.055)/1.055,2.4)} function no(a){return.0031308>=a?12.92*a:1.055*Math.pow(a,1/2.4)-.055}var mo=216/24389,lo=24389/27,jo=[95.047,100,108.883];function io(a){return a>mo?Math.pow(a,1/3):(lo*a+16)/116}function ko(a){var b=a*a*a;return b>mo?b:(116*a-16)/lo} -function O(){z.xc(this);this.T=4225027;this.Hc=1;this.Ah=null;this.Xb="";this.ic=this.Kb=null;this.ub=(new M(NaN,NaN)).freeze();this.Ye=ie;this.li=Sd;this.ki=ge;this.Jc=new Ga;this.Li=new Ga;this.ej=new Ga;this.Rb=this.Uo=1;this.rg=0;this.Mg=oo;this.an=Nd;this.Dd=(new w(NaN,NaN,NaN,NaN)).freeze();this.ac=(new w(NaN,NaN,NaN,NaN)).freeze();this.Tc=(new w(0,0,NaN,NaN)).freeze();this.Y=this.Us=this.Vs=null;this.Fm=this.ue=Rc;this.et=0;this.pj=1;this.pr=0;this.Qi=1;this.ut=null;this.it=-Infinity;this.on= -0;this.pn=Dd;this.qn=nj;this.xr="";this.Ec=this.ma=null;this.Fo=-1;this.hn=this.un=this.ug=this.rl=this.Kp=null}z.Ai(O);z.ka("GraphObject",O); -O.prototype.cloneProtected=function(a){a.T=this.T|6144;a.Hc=this.Hc;a.Xb=this.Xb;a.Kb=this.Kb;a.ic=this.ic;a.ub.assign(this.ub);a.Ye=this.Ye.V();a.li=this.li.V();a.ki=this.ki.V();a.ej=this.ej.copy();a.Rb=this.Rb;a.rg=this.rg;a.Mg=this.Mg;a.an=this.an.V();a.Dd.assign(this.Dd);a.ac.assign(this.ac);a.Tc.assign(this.Tc);a.Us=this.Us;null!==this.Y&&(a.Y=this.Y.copy());a.ue=this.ue.V();a.Fm=this.Fm.V();a.et=this.et;a.pj=this.pj;a.pr=this.pr;a.Qi=this.Qi;a.ut=this.ut;a.it=this.it;a.on=this.on;a.pn=this.pn.V(); -a.qn=this.qn;a.xr=this.xr;null!==this.ma&&(a.ma=this.ma.copy());a.Ec=this.Ec;a.Fo=this.Fo;null!==this.rl&&(a.rl=z.am(this.rl));null!==this.ug&&(a.ug=this.ug.copy());a.un=this.un};O.prototype.addCopyProperty=O.prototype.JH=function(a){var b=this.rl;if(z.isArray(b))for(var c=0;c k;)k+=g[n++%l],p=!p;q=!1}else k=g[n++%l];k>m&&(k=m);var r=Math.sqrt(k*k/(1+e*e));0>d&&(r=-r);b+=r;c+=e*r;p?a.lineTo(b,c):a.moveTo(b,c);m-=k;p=!p}} -O.prototype.raiseChangedEvent=O.prototype.ld=function(a,b,c,d,e,g,h){var k=this.ba;if(null!==k&&(k.mo(a,b,c,d,e,g,h),zo(this)&&c===this&&a===bg&&Ao(this,k,b),c===k&&0!==(k.T&16777216)&&null!==k.data))for(a=this.va.o,c=a.length,d=0;d k;)k+=g[n++%l],p=!p;q=!1}else k=g[n++%l];k>m&&(k=m);var r=Math.sqrt(k*k/(1+e*e));0>d&&(r=-r);b+=r;c+=e*r;p?a.lineTo(b,c):a.moveTo(b,c);m-=k;p=!p}} +O.prototype.raiseChangedEvent=O.prototype.ld=function(a,b,c,d,e,g,h){var k=this.ba;if(null!==k&&(k.lo(a,b,c,d,e,g,h),zo(this)&&c===this&&a===bg&&Ao(this,k,b),c===k&&0!==(k.T&16777216)&&null!==k.data))for(a=this.va.o,c=a.length,d=0;d