version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
GoJS Class Index
diff --git a/api/symbols/ActionTool.html b/api/symbols/ActionTool.html index 0cf03a0b6..c6ce749d9 100644 --- a/api/symbols/ActionTool.html +++ b/api/symbols/ActionTool.html @@ -1111,7 +1111,7 @@version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
Constructor
- More...
+
The constructor builds an empty Adornment.More...
The optional argument specifies the Panel.type.
Add whatever GraphObjects you need so that it can show handles, ornamentation, buttons or whatever you need to show for a Part.
- Parameters:
diff --git a/api/symbols/AnimationManager.html b/api/symbols/AnimationManager.html
index 74bbbc89b..06817f013 100644
--- a/api/symbols/AnimationManager.html
+++ b/api/symbols/AnimationManager.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Binding.html b/api/symbols/Binding.html
index afc1e92c1..45ccce94c 100644
--- a/api/symbols/Binding.html
+++ b/api/symbols/Binding.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Brush.html b/api/symbols/Brush.html
index 55cd5a68b..62d0e2c0c 100644
--- a/api/symbols/Brush.html
+++ b/api/symbols/Brush.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ChangedEvent.html b/api/symbols/ChangedEvent.html
index 61622c545..7db17ef9b 100644
--- a/api/symbols/ChangedEvent.html
+++ b/api/symbols/ChangedEvent.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/CircularEdge.html b/api/symbols/CircularEdge.html
index 7202e2c18..f934077d4 100644
--- a/api/symbols/CircularEdge.html
+++ b/api/symbols/CircularEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/CircularLayout.html b/api/symbols/CircularLayout.html
index eb1786584..c681d61bc 100644
--- a/api/symbols/CircularLayout.html
+++ b/api/symbols/CircularLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/CircularVertex.html b/api/symbols/CircularVertex.html
index 81366c6fd..f21574fc1 100644
--- a/api/symbols/CircularVertex.html
+++ b/api/symbols/CircularVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ClickCreatingTool.html b/api/symbols/ClickCreatingTool.html
index 97352422a..d94c97d95 100644
--- a/api/symbols/ClickCreatingTool.html
+++ b/api/symbols/ClickCreatingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ClickSelectingTool.html b/api/symbols/ClickSelectingTool.html
index 7214a91b7..8292cd7f5 100644
--- a/api/symbols/ClickSelectingTool.html
+++ b/api/symbols/ClickSelectingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/CommandHandler.html b/api/symbols/CommandHandler.html
index 34d14544b..ae5bf2cae 100644
--- a/api/symbols/CommandHandler.html
+++ b/api/symbols/CommandHandler.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ContextMenuTool.html b/api/symbols/ContextMenuTool.html
index bbcee0990..fb9894e5b 100644
--- a/api/symbols/ContextMenuTool.html
+++ b/api/symbols/ContextMenuTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Diagram.html b/api/symbols/Diagram.html
index e4a12d74c..e3c200d66 100644
--- a/api/symbols/Diagram.html
+++ b/api/symbols/Diagram.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/DiagramEvent.html b/api/symbols/DiagramEvent.html
index a71ec612b..708bb2e39 100644
--- a/api/symbols/DiagramEvent.html
+++ b/api/symbols/DiagramEvent.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/DragSelectingTool.html b/api/symbols/DragSelectingTool.html
index f495b5b31..ca957cc99 100644
--- a/api/symbols/DragSelectingTool.html
+++ b/api/symbols/DragSelectingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/DraggingTool.html b/api/symbols/DraggingTool.html
index 5416495a1..69842f852 100644
--- a/api/symbols/DraggingTool.html
+++ b/api/symbols/DraggingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
@@ -1571,7 +1571,7 @@ Method Summary{Iterable.} parts
- - A Set or List of Parts.
+ - A Set or List of Parts.
diff --git a/api/symbols/ForceDirectedEdge.html b/api/symbols/ForceDirectedEdge.html
index 0959899c7..d8a56853a 100644
--- a/api/symbols/ForceDirectedEdge.html
+++ b/api/symbols/ForceDirectedEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ForceDirectedLayout.html b/api/symbols/ForceDirectedLayout.html
index 4bab9601e..2181b00b5 100644
--- a/api/symbols/ForceDirectedLayout.html
+++ b/api/symbols/ForceDirectedLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ForceDirectedVertex.html b/api/symbols/ForceDirectedVertex.html
index 7e190b730..4c2d2822e 100644
--- a/api/symbols/ForceDirectedVertex.html
+++ b/api/symbols/ForceDirectedVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Geometry.html b/api/symbols/Geometry.html
index bc9cb31c1..999dd979f 100644
--- a/api/symbols/Geometry.html
+++ b/api/symbols/Geometry.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/GraphLinksModel.html b/api/symbols/GraphLinksModel.html
index d6163a517..45e68ed53 100644
--- a/api/symbols/GraphLinksModel.html
+++ b/api/symbols/GraphLinksModel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
@@ -1374,7 +1374,7 @@ Properties SummarySee also:
- - #getKeyForlinkData
+ - getKeyForLinkData
diff --git a/api/symbols/GraphObject.html b/api/symbols/GraphObject.html
index e5a2224a6..d7cd4f5e7 100644
--- a/api/symbols/GraphObject.html
+++ b/api/symbols/GraphObject.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/GridLayout.html b/api/symbols/GridLayout.html
index f8fda95b3..9845b1792 100644
--- a/api/symbols/GridLayout.html
+++ b/api/symbols/GridLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
@@ -1156,7 +1156,7 @@ Constructor
-
+
The constructor creates a new GridLayout with default values for its properties,
including setting Layout#isViewporSized to true.
diff --git a/api/symbols/Group.html b/api/symbols/Group.html
index 025dc3125..db1cbccdb 100644
--- a/api/symbols/Group.html
+++ b/api/symbols/Group.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/HTMLInfo.html b/api/symbols/HTMLInfo.html
index 93707b08e..39a2e4620 100644
--- a/api/symbols/HTMLInfo.html
+++ b/api/symbols/HTMLInfo.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/InputEvent.html b/api/symbols/InputEvent.html
index 3b58d5ac8..428fb3f23 100644
--- a/api/symbols/InputEvent.html
+++ b/api/symbols/InputEvent.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Iterable.html b/api/symbols/Iterable.html
index d73a3f3b3..fe1a29c7d 100644
--- a/api/symbols/Iterable.html
+++ b/api/symbols/Iterable.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Iterator.html b/api/symbols/Iterator.html
index 8f8640660..03434594a 100644
--- a/api/symbols/Iterator.html
+++ b/api/symbols/Iterator.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Layer.html b/api/symbols/Layer.html
index adb088c17..65abbf629 100644
--- a/api/symbols/Layer.html
+++ b/api/symbols/Layer.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayeredDigraphEdge.html b/api/symbols/LayeredDigraphEdge.html
index d07a76eb4..5faab621f 100644
--- a/api/symbols/LayeredDigraphEdge.html
+++ b/api/symbols/LayeredDigraphEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayeredDigraphLayout.html b/api/symbols/LayeredDigraphLayout.html
index 24b5efb39..f6f831f72 100644
--- a/api/symbols/LayeredDigraphLayout.html
+++ b/api/symbols/LayeredDigraphLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayeredDigraphVertex.html b/api/symbols/LayeredDigraphVertex.html
index 5fa799604..f5ec71458 100644
--- a/api/symbols/LayeredDigraphVertex.html
+++ b/api/symbols/LayeredDigraphVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Layout.html b/api/symbols/Layout.html
index c7cce60a8..b7e42f729 100644
--- a/api/symbols/Layout.html
+++ b/api/symbols/Layout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayoutEdge.html b/api/symbols/LayoutEdge.html
index 47f91cc97..233fc2e71 100644
--- a/api/symbols/LayoutEdge.html
+++ b/api/symbols/LayoutEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayoutNetwork.html b/api/symbols/LayoutNetwork.html
index 6ed215b50..81fe69d9b 100644
--- a/api/symbols/LayoutNetwork.html
+++ b/api/symbols/LayoutNetwork.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayoutVertex.html b/api/symbols/LayoutVertex.html
index d0454d8f1..57de098fe 100644
--- a/api/symbols/LayoutVertex.html
+++ b/api/symbols/LayoutVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Link.html b/api/symbols/Link.html
index c4cfa94ef..924cd2e97 100644
--- a/api/symbols/Link.html
+++ b/api/symbols/Link.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LinkReshapingTool.html b/api/symbols/LinkReshapingTool.html
index 917b27002..05eefc694 100644
--- a/api/symbols/LinkReshapingTool.html
+++ b/api/symbols/LinkReshapingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LinkingBaseTool.html b/api/symbols/LinkingBaseTool.html
index 7d89c4f0c..212562e2a 100644
--- a/api/symbols/LinkingBaseTool.html
+++ b/api/symbols/LinkingBaseTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LinkingTool.html b/api/symbols/LinkingTool.html
index 93f48f71c..69c12df5a 100644
--- a/api/symbols/LinkingTool.html
+++ b/api/symbols/LinkingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/List.html b/api/symbols/List.html
index a46d464c6..70aef8db0 100644
--- a/api/symbols/List.html
+++ b/api/symbols/List.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Map.html b/api/symbols/Map.html
index ca1ed90d8..f3165dc5c 100644
--- a/api/symbols/Map.html
+++ b/api/symbols/Map.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Margin.html b/api/symbols/Margin.html
index 3605ace41..fde52c6bf 100644
--- a/api/symbols/Margin.html
+++ b/api/symbols/Margin.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Model.html b/api/symbols/Model.html
index d324374b0..0d0a27901 100644
--- a/api/symbols/Model.html
+++ b/api/symbols/Model.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Node.html b/api/symbols/Node.html
index 945de70d8..c1a2e9511 100644
--- a/api/symbols/Node.html
+++ b/api/symbols/Node.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Overview.html b/api/symbols/Overview.html
index b2549b148..27e7ddad7 100644
--- a/api/symbols/Overview.html
+++ b/api/symbols/Overview.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
@@ -1156,7 +1156,7 @@ Constructor
- More...
+
The constructor creates an Overview that does not show any Diagram,
until you set Overview.observed.More...
- Parameters:
diff --git a/api/symbols/Palette.html b/api/symbols/Palette.html
index 398929532..a98c730da 100644
--- a/api/symbols/Palette.html
+++ b/api/symbols/Palette.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Panel.html b/api/symbols/Panel.html
index f5fb7845b..d4fc31dea 100644
--- a/api/symbols/Panel.html
+++ b/api/symbols/Panel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PanningTool.html b/api/symbols/PanningTool.html
index 3776de6af..f55f2733f 100644
--- a/api/symbols/PanningTool.html
+++ b/api/symbols/PanningTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Part.html b/api/symbols/Part.html
index bb064b20b..687a3ace3 100644
--- a/api/symbols/Part.html
+++ b/api/symbols/Part.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PathFigure.html b/api/symbols/PathFigure.html
index 46dee219b..88c107b77 100644
--- a/api/symbols/PathFigure.html
+++ b/api/symbols/PathFigure.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PathSegment.html b/api/symbols/PathSegment.html
index 3e0b44a38..24cafaf59 100644
--- a/api/symbols/PathSegment.html
+++ b/api/symbols/PathSegment.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Picture.html b/api/symbols/Picture.html
index df35eae1f..78348db11 100644
--- a/api/symbols/Picture.html
+++ b/api/symbols/Picture.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Placeholder.html b/api/symbols/Placeholder.html
index b76c6f609..33f8f9950 100644
--- a/api/symbols/Placeholder.html
+++ b/api/symbols/Placeholder.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Point.html b/api/symbols/Point.html
index 01080f8cd..ac410049c 100644
--- a/api/symbols/Point.html
+++ b/api/symbols/Point.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Rect.html b/api/symbols/Rect.html
index 419392fcb..e2b8f1078 100644
--- a/api/symbols/Rect.html
+++ b/api/symbols/Rect.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RelinkingTool.html b/api/symbols/RelinkingTool.html
index 65dc3c58b..8c9a08ee8 100644
--- a/api/symbols/RelinkingTool.html
+++ b/api/symbols/RelinkingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ResizingTool.html b/api/symbols/ResizingTool.html
index 9f340f85a..f9b9d61b5 100644
--- a/api/symbols/ResizingTool.html
+++ b/api/symbols/ResizingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
@@ -1218,7 +1218,7 @@ Properties Summary
- Gets or sets the width and height multiples with which the user must resize.More...
The effective cell size is computed by first looking at the AdornedPart's Part.resizeCellSize.
If either or both of its width and height are NaN, it will use this property, cellSize
.
If either or both of this property's width and height are NaN, it will
consider the DraggingTool.gridSnapCellSize and the Diagram.grid's Panel.gridCellSize.
The default value is NaN x NaN.
Setting this property does not raise any events.
+ Gets or sets the width and height multiples with which the user must resize.More...
The effective cell size is computed by first looking at the Adornment.adornedPart's Part.resizeCellSize.
If either or both of its width and height are NaN, it will use this property, cellSize
.
If either or both of this property's width and height are NaN, it will
consider the DraggingTool.gridSnapCellSize and the Diagram.grid's Panel.gridCellSize.
The default value is NaN x NaN.
Setting this property does not raise any events.
diff --git a/api/symbols/RotatingTool.html b/api/symbols/RotatingTool.html
index 077eb07d6..b74d1b92d 100644
--- a/api/symbols/RotatingTool.html
+++ b/api/symbols/RotatingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RowColumnDefinition.html b/api/symbols/RowColumnDefinition.html
index d592cdda4..92bd4a1a9 100644
--- a/api/symbols/RowColumnDefinition.html
+++ b/api/symbols/RowColumnDefinition.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Set.html b/api/symbols/Set.html
index cc34200b0..2890dfd58 100644
--- a/api/symbols/Set.html
+++ b/api/symbols/Set.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Shape.html b/api/symbols/Shape.html
index cc08069c9..c3afe400b 100644
--- a/api/symbols/Shape.html
+++ b/api/symbols/Shape.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Size.html b/api/symbols/Size.html
index 47ed38112..d04fb5620 100644
--- a/api/symbols/Size.html
+++ b/api/symbols/Size.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Spot.html b/api/symbols/Spot.html
index d2401becb..d42c186eb 100644
--- a/api/symbols/Spot.html
+++ b/api/symbols/Spot.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TextBlock.html b/api/symbols/TextBlock.html
index 3a2f72e84..2c2b1f5fa 100644
--- a/api/symbols/TextBlock.html
+++ b/api/symbols/TextBlock.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TextEditingTool.html b/api/symbols/TextEditingTool.html
index 0520670f3..539403cfd 100644
--- a/api/symbols/TextEditingTool.html
+++ b/api/symbols/TextEditingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Tool.html b/api/symbols/Tool.html
index ce77425d4..718708368 100644
--- a/api/symbols/Tool.html
+++ b/api/symbols/Tool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ToolManager.html b/api/symbols/ToolManager.html
index 9e6bbe014..b1b84e091 100644
--- a/api/symbols/ToolManager.html
+++ b/api/symbols/ToolManager.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Transaction.html b/api/symbols/Transaction.html
index 6d1b458e1..7afc71007 100644
--- a/api/symbols/Transaction.html
+++ b/api/symbols/Transaction.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeEdge.html b/api/symbols/TreeEdge.html
index 3d055ccb3..7d1d85c8b 100644
--- a/api/symbols/TreeEdge.html
+++ b/api/symbols/TreeEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeLayout.html b/api/symbols/TreeLayout.html
index 33ac843ab..94d6bc6b1 100644
--- a/api/symbols/TreeLayout.html
+++ b/api/symbols/TreeLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeModel.html b/api/symbols/TreeModel.html
index 3bfd93ff3..13d41e132 100644
--- a/api/symbols/TreeModel.html
+++ b/api/symbols/TreeModel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeVertex.html b/api/symbols/TreeVertex.html
index bb15d23a1..c7f6ff9a2 100644
--- a/api/symbols/TreeVertex.html
+++ b/api/symbols/TreeVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/UndoManager.html b/api/symbols/UndoManager.html
index 6087843d6..f78cb460d 100644
--- a/api/symbols/UndoManager.html
+++ b/api/symbols/UndoManager.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/assets/images/screenshots/NonRealtimeDragging.png b/assets/images/screenshots/NonRealtimeDragging.png
new file mode 100644
index 000000000..d8335c9e0
Binary files /dev/null and b/assets/images/screenshots/NonRealtimeDragging.png differ
diff --git a/doc/changelog.html b/doc/changelog.html
index fa15ae789..ba889995b 100644
--- a/doc/changelog.html
+++ b/doc/changelog.html
@@ -68,6 +68,25 @@ GoJS Change Log
}
+ Changes for 1.7.12
+
+ -
+ Added the Non Realtime Dragging sample,
+ demonstrating how to customize the DraggingTool to have users drag around a translucent image of the selection,
+ rather than actually moving those Nodes and Links, until the mouse up occurs.
+ This makes use of the NonRealtimeDraggingTool.js extension.
+
+ -
+ The DraggingTool will now initiate auto scroll of the Diagram even if Diagram.allowMove and Diagram.allowCopy are false.
+
+ -
+ Link labels along multi-segmented links with unspecified GraphObject.segmentIndexes will now have more accurate angles.
+
+ -
+ Fixed a bug with TextBlocks when TextBlock.wrapping was set to TextBlock.None, it would size itself only by the last line.
+
+
+
Changes for 1.7.11
-
diff --git a/extensions/NonRealtimeDragging.html b/extensions/NonRealtimeDragging.html
new file mode 100644
index 000000000..353ca2490
--- /dev/null
+++ b/extensions/NonRealtimeDragging.html
@@ -0,0 +1,77 @@
+
+
+
+
+
Non-Realtime Dragging
+
+
+
+
+
+
+
+
+
+
+
+
+ This custom DraggingTool class causes the user to drag around a translucent image of the Nodes and Links being moved,
+ leaving the selected Parts in place, rather than actually moving those Nodes and Links in realtime.
+ Only when the mouse up occurs does the move happen.
+
+
+ This tool is defined in its own file, as NonRealtimeDraggingTool.js
+
+
+
+
\ No newline at end of file
diff --git a/extensions/NonRealtimeDraggingTool.js b/extensions/NonRealtimeDraggingTool.js
new file mode 100644
index 000000000..fd1557d4c
--- /dev/null
+++ b/extensions/NonRealtimeDraggingTool.js
@@ -0,0 +1,116 @@
+"use strict";
+/*
+* Copyright (C) 1998-2017 by Northwoods Software Corporation. All Rights Reserved.
+*/
+
+// A custom DraggingTool for dragging an image instead of actually moving any selected nodes,
+// until the mouse-up event.
+
+/**
+* @constructor
+* @extends DraggingTool
+* @class
+*/
+function NonRealtimeDraggingTool() {
+ go.DraggingTool.call(this);
+ /** @type {Part} */
+ this._imagePart = null; // a Part holding a translucent image of what would be dragged
+ /** @type {Map.} */
+ this._ghostDraggedParts = null; // a Map of the _imagePart and its dragging information
+ /** @type {Map.} */
+ this._originalDraggedParts = null; // the saved normal value of DraggingTool.draggedParts
+}
+go.Diagram.inherit(NonRealtimeDraggingTool, go.DraggingTool);
+
+/**
+* Call the base method, and then make an image of the returned collection,
+* show it using a Picture, and hold the Picture in a temporary Part, as _imagePart.
+* @this {NonRealtimeDraggingTool}
+* @param {Iterable.} parts A {@link Set} or {@link List} of {@link Part}s.
+* @return {Map.}
+*/
+NonRealtimeDraggingTool.prototype.computeEffectiveCollection = function(coll) {
+ var map = go.DraggingTool.prototype.computeEffectiveCollection.call(this, coll);
+ if (this.isActive && this._imagePart === null) {
+ var bounds = this.diagram.computePartsBounds(map.toKeySet());
+ var offset = this.diagram.lastInput.documentPoint.copy().subtract(bounds.position);
+ var $ = go.GraphObject.make;
+ this._imagePart =
+ $(go.Part,
+ { layerName: "Tool", opacity: 0.5, locationSpot: new go.Spot(0, 0, offset.x, offset.y) },
+ $(go.Picture,
+ { element: this.diagram.makeImage({ parts: map.toKeySet() }) })
+ );
+ }
+ return map;
+};
+
+/**
+* When activated, replace the DraggingTool.draggedParts with the _ghostDraggedParts, which
+* consists of just one Part, the _imagePart, added to the Diagram at the current mouse point.
+* @this {NonRealtimeDraggingTool}
+*/
+NonRealtimeDraggingTool.prototype.doActivate = function() {
+ go.DraggingTool.prototype.doActivate.call(this);
+ if (this._imagePart !== null) {
+ this._imagePart.location = this.diagram.lastInput.documentPoint;
+ this.diagram.add(this._imagePart);
+ this._originalDraggedParts = this.draggedParts;
+ this._ghostDraggedParts = go.DraggingTool.prototype.computeEffectiveCollection.call(this,
+ new go.List().addAll([this._imagePart]));
+ this.draggedParts = this._ghostDraggedParts;
+ }
+};
+
+/**
+* When deactivated, make sure any _imagePart is removed from the Diagram and all references are cleared out.
+* @this {NonRealtimeDraggingTool}
+*/
+NonRealtimeDraggingTool.prototype.doDeactivate = function() {
+ if (this._imagePart !== null) {
+ this.diagram.remove(this._imagePart);
+ }
+ this._imagePart = null;
+ this._ghostDraggedParts = null;
+ this._originalDraggedParts = null;
+ go.DraggingTool.prototype.doDeactivate.call(this);
+};
+
+/**
+* Do the normal mouse-up behavior, but only after restoring DraggingTool.draggedParts.
+* @this {NonRealtimeDraggingTool}
+*/
+NonRealtimeDraggingTool.prototype.doMouseUp = function() {
+ if (this._originalDraggedParts !== null) {
+ this.draggedParts = this._originalDraggedParts;
+ }
+ go.DraggingTool.prototype.doMouseUp.call(this);
+};
+
+/**
+* If the user changes to "copying" mode by holding down the Control key,
+* return to the regular behavior and remove the _imagePart.
+* @this {NonRealtimeDraggingTool}
+*/
+NonRealtimeDraggingTool.prototype.doKeyDown = function() {
+ if (this._imagePart !== null && this._originalDraggedParts !== null &&
+ (this.diagram.lastInput.control || this.diagram.lastInput.meta) && this.mayCopy()) {
+ this.draggedParts = this._originalDraggedParts;
+ this.diagram.remove(this._imagePart);
+ }
+ go.DraggingTool.prototype.doKeyDown.call(this);
+};
+
+/**
+* If the user changes back to "moving" mode,
+* show the _imagePart again and go back to dragging the _ghostDraggedParts.
+* @this {NonRealtimeDraggingTool}
+*/
+NonRealtimeDraggingTool.prototype.doKeyUp = function() {
+ if (this._imagePart !== null && this._ghostDraggedParts !== null && this.mayMove()) {
+ this._imagePart.location = this.diagram.lastInput.documentPoint;
+ this.diagram.add(this._imagePart);
+ this.draggedParts = this._ghostDraggedParts;
+ }
+ go.DraggingTool.prototype.doKeyUp.call(this);
+};
diff --git a/intro/goIntro.js b/intro/goIntro.js
index 758274b56..22a7ac087 100644
--- a/intro/goIntro.js
+++ b/intro/goIntro.js
@@ -103,32 +103,50 @@ function goIntro() {
navbar.innerHTML = myNavbar;
document.body.insertBefore(navbar, container);
- // footer
- var footer = document.createElement("div");
- footer.className = "footer";
- var msg = "Copyright © 1998-2017 by Northwoods Software Corporation.";
- if (go && go.version) {
- msg = "GoJS® version " + go.version + ". " + msg;
- }
- footer.innerHTML = msg;
- content.appendChild(footer);
-
-
// When the page loads, change the class of li's to highlight the current page
var url = window.location.href;
var lindex = url.lastIndexOf('/');
url = url.slice(lindex+1).toLowerCase();
var lis = document.getElementById("sections").getElementsByTagName("li");
var l = lis.length;
+
+ var currentindex = -1;
for (var i = 0; i < l; i++) {
var lowerhref = lis[i].childNodes[0].href.toLowerCase();
if (lowerhref.indexOf('intro') === -1) continue;
if (lowerhref.indexOf('/' + url) !== -1) {
+ currentindex = i;
lis[i].childNodes[0].className = "selected";
- return;
+ break;
}
}
+ // prev & next page navigation
+ var pagenav = document.createElement("div");
+ var nav = "";
+ if (currentindex > 0) {
+ var prevurl = lis[currentindex - 1].childNodes[0].href.toLowerCase();
+ nav += "<Previous Intro Page";
+ } else {
+ nav += "<Learn";
+ }
+ if (currentindex < lis.length - 1) {
+ var nexturl = lis[currentindex + 1].childNodes[0].href.toLowerCase();
+ nav += "Next Intro Page>";
+ }
+ nav += "";
+ pagenav.innerHTML = nav;
+ content.appendChild(pagenav);
+
+ // footer
+ var footer = document.createElement("div");
+ footer.className = "footer";
+ var msg = "Copyright © 1998-2017 by Northwoods Software Corporation.";
+ if (go && go.version) {
+ msg += "GoJS® version " + go.version + ". " + msg;
+ }
+ footer.innerHTML = msg;
+ content.appendChild(footer);
}
function _traverseDOM(node) {
diff --git a/intro/panels.html b/intro/panels.html
index df79a5a92..a5248b931 100644
--- a/intro/panels.html
+++ b/intro/panels.html
@@ -511,7 +511,7 @@ Auto Panels
Constrained Size Auto Panels
If you constrain the size of the whole panel, there may be less or more space available to fit all of the "content" elements inside the "main" element.
-In the following example each Part has a total size of 50x50, causing the "content" TextBlocks to be limited in width and height,
+In the following example each Part has a total size of 60x60, causing the "content" TextBlocks to be limited in width and height,
less than the natural width, which results in wrapping of the text.
However there may not be enough height available to show the whole content element(s), causing them to be clipped.
You can see that in the third Part the text is clipped, because there is less available area within an ellipse than within a rectangle.
diff --git a/intro/pictures.html b/intro/pictures.html
index 2a6a50cca..a6805b2a0 100644
--- a/intro/pictures.html
+++ b/intro/pictures.html
@@ -50,7 +50,7 @@
Sizing
- The first picture shows the image at its natural size.
- The second picture also shows the image at its natural size, but has its desiredSize set explicitly.
- The third picture increases the size of the Picture, causing the image to be expanded evenly.
-- The fourth picture squeezes the 100x65 image into a 50x40 space -- half size.
+
- The fourth picture squeezes the 100x65 image into a 50x32.5 space -- half size.
This also maintains the original aspect ratio of the image.
- The last picture sets the picture size to be 50x70, which changes the aspect ratio to be taller and thinner than the original.
diff --git a/learn/index.html b/learn/index.html
index 2bbd098ae..b55b42821 100644
--- a/learn/index.html
+++ b/learn/index.html
@@ -281,7 +281,7 @@ Styling Nodes
myDiagram.nodeTemplate =
- $(go.Node, "Vertical" // second argument of a Node/Panel can be a Panel type
+ $(go.Node, "Vertical", // second argument of a Node/Panel can be a Panel type
/* set Node properties here */
{ // the Node.location point will be at the center of each node
locationSpot: go.Spot.Center
diff --git a/package.json b/package.json
index 9897eaafd..a28720daf 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "gojs",
- "version": "1.7.11",
+ "version": "1.7.12",
"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",
@@ -24,9 +24,7 @@
"intro",
"learn",
"projects",
- "release/go.js",
- "release/go-debug.js",
- "release/go.d.ts",
+ "release",
"samples"
],
"main": "release/go.js",
diff --git a/release/go-debug.js b/release/go-debug.js
index 3cc82a36a..f081831f1 100644
--- a/release/go-debug.js
+++ b/release/go-debug.js
@@ -1,235 +1,235 @@
/*
- * GoJS v1.7.11 JavaScript Library for HTML Diagrams
+ * GoJS v1.7.12 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.11/doc/license.html.
+ * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.7.12/doc/license.html.
*/
(function(window) { var f,aa={};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});
(function(){for(var a=0,b=["ms","moz","webkit","o"],c=0;c=d.length)){var e=D.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.Fw&&g.Fw[d])continue}else if(D.Rx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},ux:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==
-typeof b&&"boolean"!==typeof b&&"function"!==typeof b)if(void 0!==D.Gd(b)){if(!v.Sw.contains(b))if(v.Sw.add(b),v.tw.add(v.OE(a,b)),b instanceof K||b instanceof L||b instanceof ma)for(var c=b.j;c.next();)v.ux(a+"["+c.key+"]",c.value);else for(c in b){var d=D.vb(b,c);if(void 0!==d&&null!==d&&D.Ta(d)&&d!==b.Fw){if(b instanceof na){if(d===b.gi)continue}else if(b instanceof x){if("data"===c||d===b.Nd)continue;if("itemArray"===c||d===b.bj)continue;if(b instanceof F&&d===b.Ll)continue}else if(!(b instanceof
-E))if(b instanceof oa){if("archetypeGroupData"===c||d===b.az)continue}else if(b instanceof ra){if("archetypeLinkData"===c||d===b.cz)continue;if("archetypeLabelNodeData"===c||d===b.bz)continue}else if(b instanceof ta){if("archetypeNodeData"===c||d===b.ql)continue}else if(b instanceof M){if("nodeDataArray"===c||d===b.we)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Fc)continue;if(d===b.xg)continue}else if(b instanceof va||b instanceof wa||b instanceof xa)continue;v.ux(a+"."+
-c,d)}}}else if(Array.isArray(b))for(c=0;c=a.length?a.push(c):a.splice(b,0,c):D.k("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Ug:function(a,
-b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):D.k("Cannot remove an object from an HTMLCollection or NodeList at "+b)},Ty:[],O:function(){var a=D.Ty.pop();return void 0===a?new O:a},Fb:function(a,b){var c=D.Ty.pop();if(void 0===c)return new O(a,b);c.x=a;c.y=b;return c},A:function(a){D.Ty.push(a)},lC:[],Cm:function(){var a=D.lC.pop();return void 0===a?new Ca:a},Rk:function(a){D.lC.push(a)},Uy:[],Of:function(){var a=D.Uy.pop();return void 0===a?new B:a},sg:function(a,b,c,d){var e=D.Uy.pop();
-if(void 0===e)return new B(a,b,c,d);e.x=a;e.y=b;e.width=c;e.height=d;return e},Kb:function(a){D.Uy.push(a)},mC:[],Pf:function(){var a=D.mC.pop();return void 0===a?new Da:a},He:function(a){D.mC.push(a)},Vy:null,v:function(){var a=D.Vy;return null!==a?(D.Vy=null,a):new Ea},u:function(a){a.reset();D.Vy=a},kC:[],tb:function(){var a=D.kC.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;D.kC.push(a)},Do:Object.freeze([]),Gm:1,uc:function(a){a.__gohashid=D.Gm++},qq:function(a){var b=a.__gohashid;
-void 0===b&&(b=D.Gm++,a.__gohashid=b);return b},Gd:function(a){return a.__gohashid},ja:function(a,b){b.hz=a;aa[a]=b},Sa:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},Ai:function(a){a.EH=!0},defineProperty:function(a,b,c,d,e){D.h(a,"function","Util.defineProperty:classfunc");D.h(b,"object","Util.defineProperty:propobj");D.h(c,"function","Util.defineProperty:getter");D.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}},GK:!1,w:function(a,b,c,d){D.h(a,"function","Util.defineReadOnlyProperty:classfunc");D.h(b,"object","Util.defineReadOnlyProperty:propobj");D.h(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var g=b[e];b={get:c,set:function(a){D.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}},ke:function(a,b){for(var c in b)b[c]=!0;a.prototype.Fw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?D.rf(a):null===a?"*":""},rf:function(a){if("function"===typeof a){if(a.hz)return a.hz;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,
-c).trim();if(""!==b)return a.hz=b}else if("object"===typeof a&&a.constructor)return D.rf(a.constructor);return typeof a},s:function(a,b,c){D.h(a,"function","Util.defineEnumValue:classfunc");D.h(b,"string","Util.defineEnumValue:name");D.h(c,"number","Util.defineEnumValue:num");c=new za(a,b,c);Object.freeze(c);a[b]=c;var d=a.lv;d instanceof ma||(d=new ma("string",za),a.lv=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){v&&D.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){v&&D.trace("property set error: "+d.toString())}},Zu:function(a,b){D.h(a,"object","Setting properties requires Objects as arguments");D.h(b,"object","Setting properties requires Objects as arguments");var c=a instanceof x,d=a instanceof E,e;for(e in b){""===
-e&&D.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;c=d.length)){var e=D.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.Hw&&g.Hw[d])continue}else if(D.Sx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},wx:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==
+typeof b&&"boolean"!==typeof b&&"function"!==typeof b)if(void 0!==D.Gd(b)){if(!v.Uw.contains(b))if(v.Uw.add(b),v.vw.add(v.OE(a,b)),b instanceof K||b instanceof L||b instanceof ma)for(var c=b.j;c.next();)v.wx(a+"["+c.key+"]",c.value);else for(c in b){var d=D.vb(b,c);if(void 0!==d&&null!==d&&D.Ta(d)&&d!==b.Hw){if(b instanceof na){if(d===b.of)continue}else if(b instanceof x){if("data"===c||d===b.Nd)continue;if("itemArray"===c||d===b.bj)continue;if(b instanceof F&&d===b.Ml)continue}else if(!(b instanceof
+E))if(b instanceof oa){if("archetypeGroupData"===c||d===b.bz)continue}else if(b instanceof ra){if("archetypeLinkData"===c||d===b.dz)continue;if("archetypeLabelNodeData"===c||d===b.cz)continue}else if(b instanceof ta){if("archetypeNodeData"===c||d===b.rl)continue}else if(b instanceof M){if("nodeDataArray"===c||d===b.we)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Fc)continue;if(d===b.yg)continue}else if(b instanceof va||b instanceof wa||b instanceof xa)continue;v.wx(a+"."+
+c,d)}}}else if(Array.isArray(b))for(c=0;c=a.length?a.push(c):a.splice(b,0,c):D.k("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Vg:function(a,
+b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):D.k("Cannot remove an object from an HTMLCollection or NodeList at "+b)},Uy:[],O:function(){var a=D.Uy.pop();return void 0===a?new O:a},Fb:function(a,b){var c=D.Uy.pop();if(void 0===c)return new O(a,b);c.x=a;c.y=b;return c},A:function(a){D.Uy.push(a)},lC:[],Dm:function(){var a=D.lC.pop();return void 0===a?new Ca:a},Sk:function(a){D.lC.push(a)},Vy:[],Pf:function(){var a=D.Vy.pop();return void 0===a?new B:a},tg:function(a,b,c,d){var e=D.Vy.pop();
+if(void 0===e)return new B(a,b,c,d);e.x=a;e.y=b;e.width=c;e.height=d;return e},Kb:function(a){D.Vy.push(a)},mC:[],Qf:function(){var a=D.mC.pop();return void 0===a?new Da:a},He:function(a){D.mC.push(a)},Wy:null,v:function(){var a=D.Wy;return null!==a?(D.Wy=null,a):new Ea},u:function(a){a.reset();D.Wy=a},kC:[],tb:function(){var a=D.kC.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;D.kC.push(a)},Do:Object.freeze([]),Hm:1,uc:function(a){a.__gohashid=D.Hm++},qq:function(a){var b=a.__gohashid;
+void 0===b&&(b=D.Hm++,a.__gohashid=b);return b},Gd:function(a){return a.__gohashid},ka:function(a,b){b.iz=a;aa[a]=b},Sa:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},Ai:function(a){a.FH=!0},defineProperty:function(a,b,c,d,e){D.h(a,"function","Util.defineProperty:classfunc");D.h(b,"object","Util.defineProperty:propobj");D.h(c,"function","Util.defineProperty:getter");D.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}},HK:!1,w:function(a,b,c,d){D.h(a,"function","Util.defineReadOnlyProperty:classfunc");D.h(b,"object","Util.defineReadOnlyProperty:propobj");D.h(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var g=b[e];b={get:c,set:function(a){D.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}},ke:function(a,b){for(var c in b)b[c]=!0;a.prototype.Hw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?D.sf(a):null===a?"*":""},sf:function(a){if("function"===typeof a){if(a.iz)return a.iz;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,
+c).trim();if(""!==b)return a.iz=b}else if("object"===typeof a&&a.constructor)return D.sf(a.constructor);return typeof a},s:function(a,b,c){D.h(a,"function","Util.defineEnumValue:classfunc");D.h(b,"string","Util.defineEnumValue:name");D.h(c,"number","Util.defineEnumValue:num");c=new za(a,b,c);Object.freeze(c);a[b]=c;var d=a.nv;d instanceof ma||(d=new ma("string",za),a.nv=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){v&&D.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){v&&D.trace("property set error: "+d.toString())}},av:function(a,b){D.h(a,"object","Setting properties requires Objects as arguments");D.h(b,"object","Setting properties requires Objects as arguments");var c=a instanceof x,d=a instanceof E,e;for(e in b){""===
+e&&D.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;cd;d++)b[D.Vg("7ca11abfd7330390")](D.Vg(c[d-1]),10,15*d+0);b[D.Vg("7ca11abfd022028846")]=D.Vg("39f046ebb36e4b");for(d=1;5>d;d++)b[D.Vg("7ca11abfd7330390")](D.Vg(c[d-
-1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])D.s=function(a,b){var c=new za(a,b,2);Object.freeze(c);a[b]=c;var d=a.lv;d instanceof ma||(d=new ma("string",za),a.lv=d);d.add(b,c);return c};return a}();function za(a,b,c){D.uc(this);this.vC=a;this.Xb=b;this.IH=c}D.ja("EnumValue",za);za.prototype.toString=function(){return D.rf(this.vC)+"."+this.Xb};D.w(za,{Ne:"classType"},function(){return this.vC});D.w(za,{name:"name"},function(){return this.Xb});D.w(za,{value:"value"},function(){return this.IH});
-var Ha;za.findName=Ha=function(a,b){if(void 0===b||null===b||""===b)return null;D.h(a,"function","findName:classfunc");D.h(b,"string","EnumValue.findName:name");var c=a.lv;return c instanceof ma?c.na(b):null};function ya(){this.uC=[]}ya.prototype.toString=function(){return this.uC.join("")};ya.prototype.add=function(a){""!==a&&this.uC.push(a)};function la(){}
-function Ia(a){void 0===a&&(a=42);this.seed=a;this.Py=48271;this.kv=2147483647;this.jC=this.kv/this.Py;this.qH=this.kv%this.Py;this.pH=1/this.kv;this.random()}Ia.prototype.random=function(){var a=this.seed%this.jC*this.Py-this.seed/this.jC*this.qH;this.seed=0d;d++)b[D.Wg("7ca11abfd7330390")](D.Wg(c[d-1]),10,15*d+0);b[D.Wg("7ca11abfd022028846")]=D.Wg("39f046ebb36e4b");for(d=1;5>d;d++)b[D.Wg("7ca11abfd7330390")](D.Wg(c[d-
+1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])D.s=function(a,b){var c=new za(a,b,2);Object.freeze(c);a[b]=c;var d=a.nv;d instanceof ma||(d=new ma("string",za),a.nv=d);d.add(b,c);return c};return a}();function za(a,b,c){D.uc(this);this.vC=a;this.Yb=b;this.JH=c}D.ka("EnumValue",za);za.prototype.toString=function(){return D.sf(this.vC)+"."+this.Yb};D.w(za,{Ne:"classType"},function(){return this.vC});D.w(za,{name:"name"},function(){return this.Yb});D.w(za,{value:"value"},function(){return this.JH});
+var Ha;za.findName=Ha=function(a,b){if(void 0===b||null===b||""===b)return null;D.h(a,"function","findName:classfunc");D.h(b,"string","EnumValue.findName:name");var c=a.nv;return c instanceof ma?c.na(b):null};function ya(){this.uC=[]}ya.prototype.toString=function(){return this.uC.join("")};ya.prototype.add=function(a){""!==a&&this.uC.push(a)};function la(){}
+function Ia(a){void 0===a&&(a=42);this.seed=a;this.Qy=48271;this.mv=2147483647;this.jC=this.mv/this.Qy;this.rH=this.mv%this.Qy;this.qH=1/this.mv;this.random()}Ia.prototype.random=function(){var a=this.seed%this.jC*this.Qy-this.seed/this.jC*this.rH;this.seed=0this.key)return!1;D.Va(a)}var a=a.o,b=a.length,c=++this.Dc,d=this.mi;if(null!==d)for(;cthis.key)return!1;D.Va(a)}var b=--this.Dc;if(0<=b)return this.key=b,this.value=a.o[b],!0;this.Rf();return!1};Pa.prototype.hasNext=function(){return this.next()};
-Pa.prototype.first=Pa.prototype.first=function(){var a=this.Ec;this.$a=a.G;var b=a.o;this.Dc=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};Pa.prototype.any=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.G!==c&&D.Va(b)}return!1};Pa.prototype.all=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.G!==c&&D.Va(b)}return!0};
-Pa.prototype.each=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--)a(d[e]),b.G!==c&&D.Va(b);return this};Pa.prototype.map=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=[],e=b.o,g=e.length;this.Dc=g;for(g-=1;0<=g;g--)d.push(a(e[g])),b.G!==c&&D.Va(b);a=new K;a.o=d;a.Rc();return a.j};
-Pa.prototype.filter=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=[],e=b.o,g=e.length;this.Dc=g;for(g-=1;0<=g;g--){var h=e[g];a(h)&&d.push(h);b.G!==c&&D.Va(b)}a=new K(b.ca);a.o=d;a.Rc();return a.j};Pa.prototype.concat=function(a){this.Ec.cj=null;return new Ma(this,a.j)};D.w(Pa,{count:"count"},function(){return this.Ec.o.length});Pa.prototype.Rf=function(){this.key=-1;this.value=null;this.$a=-1;this.Ec.cj=this};
+La.prototype.each=function(a){this.key=-1;a(this.value);return this};La.prototype.map=function(a){return new La(a(this.value))};La.prototype.filter=function(a){return a(this.value)?new La(this.value):Ka};La.prototype.concat=function(a){return new Ma(this,a.j)};D.w(La,{count:"count"},function(){return 1});La.prototype.Sf=function(){this.value=null};La.prototype.toString=function(){return"SingletonIterator("+this.value+")"};function Ma(a,b){this.El=a;this.Fl=b;this.ov=!1}D.ke(Ma,{key:!0,value:!0});
+D.w(Ma,{j:"iterator"},function(){return this});Ma.prototype.reset=Ma.prototype.reset=function(){this.El.reset();this.Fl.reset();this.ov=!1};Ma.prototype.next=Ma.prototype.next=function(){if(!this.ov){var a=this.El;if(a.next())return this.key=a.key,this.value=a.value,!0;this.ov=!0}return this.ov&&(a=this.Fl,a.next())?(this.key=a.key,this.value=a.value,!0):!1};Ma.prototype.hasNext=function(){return this.next()};
+Ma.prototype.first=Ma.prototype.first=function(){this.reset();return this.next()?this.value:null};Ma.prototype.any=function(a){return this.El.any(a)||this.Fl.any(a)?!0:!1};Ma.prototype.all=function(a){return this.El.all(a)&&this.Fl.all(a)?!0:!1};Ma.prototype.each=function(a){this.El.each(a);this.Fl.each(a);return this};Ma.prototype.map=function(a){return new Ma(this.El.map(a),this.Fl.map(a))};Ma.prototype.filter=function(a){return new Ma(this.El.filter(a),this.Fl.filter(a))};
+Ma.prototype.concat=function(a){return new Ma(this,a.j)};D.w(Ma,{count:"count"},function(){return this.El.count+this.Fl.count});Ma.prototype.Sf=function(){this.value=this.key=null};Ma.prototype.toString=function(){return"ConcatIterator()"};function Na(a){this.Ec=a;this.mi=null;a.Xb=null;this.$a=a.I;this.Dc=-1}D.ke(Na,{key:!0,value:!0});D.w(Na,{j:"iterator"},function(){return this});D.defineProperty(Na,{Eq:"predicate"},function(){return this.mi},function(a){this.mi=a});
+Na.prototype.reset=Na.prototype.reset=function(){var a=this.Ec;a.Xb=null;this.$a=a.I;this.Dc=-1};Na.prototype.next=Na.prototype.next=function(){var a=this.Ec;if(a.I!==this.$a){if(0>this.key)return!1;D.Va(a)}var a=a.o,b=a.length,c=++this.Dc,d=this.mi;if(null!==d)for(;cthis.key)return!1;D.Va(a)}var b=--this.Dc;if(0<=b)return this.key=b,this.value=a.o[b],!0;this.Sf();return!1};Pa.prototype.hasNext=function(){return this.next()};
+Pa.prototype.first=Pa.prototype.first=function(){var a=this.Ec;this.$a=a.I;var b=a.o;this.Dc=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};Pa.prototype.any=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.I!==c&&D.Va(b)}return!1};Pa.prototype.all=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.I!==c&&D.Va(b)}return!0};
+Pa.prototype.each=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--)a(d[e]),b.I!==c&&D.Va(b);return this};Pa.prototype.map=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=[],e=b.o,g=e.length;this.Dc=g;for(g-=1;0<=g;g--)d.push(a(e[g])),b.I!==c&&D.Va(b);a=new K;a.o=d;a.Rc();return a.j};
+Pa.prototype.filter=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=[],e=b.o,g=e.length;this.Dc=g;for(g-=1;0<=g;g--){var h=e[g];a(h)&&d.push(h);b.I!==c&&D.Va(b)}a=new K(b.ca);a.o=d;a.Rc();return a.j};Pa.prototype.concat=function(a){this.Ec.cj=null;return new Ma(this,a.j)};D.w(Pa,{count:"count"},function(){return this.Ec.o.length});Pa.prototype.Sf=function(){this.key=-1;this.value=null;this.$a=-1;this.Ec.cj=this};
Pa.prototype.toString=function(){return"ListIteratorBackwards("+this.Dc+"/"+this.Ec.count+")"};
-function K(a){D.uc(this);this.J=!1;this.o=[];this.G=0;this.cj=this.Wb=null;void 0===a||null===a?this.ca=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.ca=a:D.ua(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.ca=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:D.ua(a,"null, a primitive type name, or a class type",
-"List constructor: type")}D.ja("List",K);K.prototype.oh=function(a){null!==this.ca&&("string"===typeof this.ca?typeof a===this.ca&&null!==a||D.hc(a,this.ca):a instanceof this.ca||D.hc(a,this.ca))};K.prototype.Rc=function(){var a=this.G;a++;999999999a||a>=b.length)&&D.ua(a,"0 <= i < length",K,"elt:i");return b[a]};K.prototype.get=K.prototype.get=function(a){return this.ea(a)};K.prototype.setElt=K.prototype.rg=function(a,b){v&&(this.oh(b),D.p(a,K,"setElt:i"));var c=this.o;(0>a||a>=c.length)&&D.ua(a,"0 <= i < length",K,"setElt:i");this.J&&D.pa(this,a);c[a]=b};K.prototype.set=K.prototype.set=function(a,b){this.rg(a,b)};
-K.prototype.first=K.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};K.prototype.last=K.prototype.pe=function(){var a=this.o,b=a.length;return 0a&&D.ua(a,">= 0",K,"insertAt:i");this.J&&D.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Rc();return!0};
-K.prototype.remove=K.prototype["delete"]=K.prototype.remove=function(a){if(null===a)return!1;v&&this.oh(a);this.J&&D.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.Rc();return!0};K.prototype.removeAt=K.prototype.jd=function(a){v&&D.p(a,K,"removeAt:i");var b=this.o;(0>a||a>=b.length)&&D.ua(a,"0 <= i < length",K,"removeAt:i");this.J&&D.pa(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Rc()};
+function K(a){D.uc(this);this.J=!1;this.o=[];this.I=0;this.cj=this.Xb=null;void 0===a||null===a?this.ca=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.ca=a:D.ua(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.ca=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:D.ua(a,"null, a primitive type name, or a class type",
+"List constructor: type")}D.ka("List",K);K.prototype.ph=function(a){null!==this.ca&&("string"===typeof this.ca?typeof a===this.ca&&null!==a||D.ic(a,this.ca):a instanceof this.ca||D.ic(a,this.ca))};K.prototype.Rc=function(){var a=this.I;a++;999999999a||a>=b.length)&&D.ua(a,"0 <= i < length",K,"elt:i");return b[a]};K.prototype.get=K.prototype.get=function(a){return this.ea(a)};K.prototype.setElt=K.prototype.sg=function(a,b){v&&(this.ph(b),D.p(a,K,"setElt:i"));var c=this.o;(0>a||a>=c.length)&&D.ua(a,"0 <= i < length",K,"setElt:i");this.J&&D.pa(this,a);c[a]=b};K.prototype.set=K.prototype.set=function(a,b){this.sg(a,b)};
+K.prototype.first=K.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};K.prototype.last=K.prototype.pe=function(){var a=this.o,b=a.length;return 0a&&D.ua(a,">= 0",K,"insertAt:i");this.J&&D.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Rc();return!0};
+K.prototype.remove=K.prototype["delete"]=K.prototype.remove=function(a){if(null===a)return!1;v&&this.ph(a);this.J&&D.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.Rc();return!0};K.prototype.removeAt=K.prototype.jd=function(a){v&&D.p(a,K,"removeAt:i");var b=this.o;(0>a||a>=b.length)&&D.ua(a,"0 <= i < length",K,"removeAt:i");this.J&&D.pa(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Rc()};
K.prototype.removeRange=K.prototype.removeRange=function(a,b){v&&(D.p(a,K,"removeRange:from"),D.p(b,K,"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.J&&D.pa(this);for(var e=a,g=b+1;g=g)return this;(0>b||b>=e-1)&&D.ua(b,"0 <= from < length",K,"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 Ka;var a=this.Wb;return null!==a?(a.reset(),a):new Na(this)});
-D.w(K,{ao:"iteratorBackwards"},function(){if(0>=this.o.length)return Ka;var a=this.cj;return null!==a?(a.reset(),a):new Pa(this)});function Qa(a){this.oi=a;a.Wb=null;this.$a=a.G;this.bb=null}D.ke(Qa,{key:!0,value:!0});D.w(Qa,{j:"iterator"},function(){return this});Qa.prototype.reset=Qa.prototype.reset=function(){var a=this.oi;a.Wb=null;this.$a=a.G;this.bb=null};
-Qa.prototype.next=Qa.prototype.next=function(){var a=this.oi;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};Qa.prototype.hasNext=function(){return this.next()};Qa.prototype.first=Qa.prototype.first=function(){var a=this.oi;this.$a=a.G;a=a.Ka;if(null!==a){this.bb=a;var b=a.value;this.key=a.key;return this.value=b}return null};
-Qa.prototype.any=function(a){var b=this.oi;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d.value))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};Qa.prototype.all=function(a){var b=this.oi;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d.value))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};Qa.prototype.each=function(a){var b=this.oi;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d.value),b.G!==c&&D.Va(b),d=d.fb;return this};
-Qa.prototype.map=function(a){var b=this.oi;b.Wb=null;for(var c=new K,d=b.G,e=b.Ka;null!==e;)c.add(a(e.value)),b.G!==d&&D.Va(b),e=e.fb;return c.j};Qa.prototype.filter=function(a){var b=this.oi;b.Wb=null;for(var c=new K(b.ca),d=b.G,e=b.Ka;null!==e;){var g=e.value;a(g)&&c.add(g);b.G!==d&&D.Va(b);e=e.fb}return c.j};Qa.prototype.concat=function(a){this.oi.Wb=null;return new Ma(this,a.j)};D.w(Qa,{count:"count"},function(){return this.oi.yd});
-Qa.prototype.Rf=function(){this.value=this.key=null;this.$a=-1;this.oi.Wb=this};Qa.prototype.toString=function(){return null!==this.bb?"SetIterator@"+this.bb.value:"SetIterator"};
-function L(a){D.uc(this);this.J=!1;void 0===a||null===a?this.ca=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.ca=a:D.ua(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.ca=a===Object?"object":a===String?"string":a===Number?"number":a:D.ua(a,"null, a primitive type name, or a class type","Set constructor: type");this.zd={};this.yd=0;this.Wb=null;this.G=0;this.fi=this.Ka=null}D.ja("Set",L);
-L.prototype.oh=function(a){null!==this.ca&&("string"===typeof this.ca?typeof a===this.ca&&null!==a||D.hc(a,this.ca):a instanceof this.ca||D.hc(a,this.ca))};L.prototype.Rc=function(){var a=this.G;a++;999999999=this.yd)return Ka;var a=this.Wb;return null!==a?(a.reset(),a):new Qa(this)});function Sa(a){this.Ma=a;this.$a=a.G;this.bb=null}D.ke(Sa,{key:!0,value:!0});D.w(Sa,{j:"iterator"},function(){return this});Sa.prototype.reset=Sa.prototype.reset=function(){this.$a=this.Ma.G;this.bb=null};
-Sa.prototype.next=Sa.prototype.next=function(){var a=this.Ma;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.value=this.key=a=b.key,!0;this.Rf();return!1};Sa.prototype.hasNext=function(){return this.next()};Sa.prototype.first=Sa.prototype.first=function(){var a=this.Ma;this.$a=a.G;a=a.Ka;return null!==a?(this.bb=a,this.value=this.key=a=a.key):null};
-Sa.prototype.any=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d.key))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};Sa.prototype.all=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d.key))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};Sa.prototype.each=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d.key),b.G!==c&&D.Va(b),d=d.fb;return this};
-Sa.prototype.map=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e.key)),b.G!==c&&D.Va(b),e=e.fb;return d.j};Sa.prototype.filter=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=new K(b.af),e=b.Ka;null!==e;){var g=e.key;a(g)&&d.add(g);b.G!==c&&D.Va(b);e=e.fb}return d.j};Sa.prototype.concat=function(a){return new Ma(this,a.j)};D.w(Sa,{count:"count"},function(){return this.Ma.yd});Sa.prototype.Rf=function(){this.value=this.key=null;this.$a=-1};
-Sa.prototype.toString=function(){return null!==this.bb?"MapKeySetIterator@"+this.bb.value:"MapKeySetIterator"};function Ta(a){D.uc(this);this.J=!0;this.Ma=a}D.Sa(Ta,L);Ta.prototype.freeze=function(){return this};Ta.prototype.Ya=function(){return this};Ta.prototype.toString=function(){return"MapKeySet("+this.Ma.toString()+")"};Ta.prototype.add=Ta.prototype.add=function(){D.k("This Set is read-only: "+this.toString());return!1};
+g.sort(a),a=b;a=this.o.length)return Ka;var a=this.Xb;return null!==a?(a.reset(),a):new Na(this)});
+D.w(K,{ao:"iteratorBackwards"},function(){if(0>=this.o.length)return Ka;var a=this.cj;return null!==a?(a.reset(),a):new Pa(this)});function Qa(a){this.oi=a;a.Xb=null;this.$a=a.I;this.cb=null}D.ke(Qa,{key:!0,value:!0});D.w(Qa,{j:"iterator"},function(){return this});Qa.prototype.reset=Qa.prototype.reset=function(){var a=this.oi;a.Xb=null;this.$a=a.I;this.cb=null};
+Qa.prototype.next=Qa.prototype.next=function(){var a=this.oi;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.cb,b=null===b?a.Ka:b.gb;if(null!==b)return this.cb=b,this.value=b.value,this.key=b.key,!0;this.Sf();return!1};Qa.prototype.hasNext=function(){return this.next()};Qa.prototype.first=Qa.prototype.first=function(){var a=this.oi;this.$a=a.I;a=a.Ka;if(null!==a){this.cb=a;var b=a.value;this.key=a.key;return this.value=b}return null};
+Qa.prototype.any=function(a){var b=this.oi;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(a(d.value))return!0;b.I!==c&&D.Va(b);d=d.gb}return!1};Qa.prototype.all=function(a){var b=this.oi;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(!a(d.value))return!1;b.I!==c&&D.Va(b);d=d.gb}return!0};Qa.prototype.each=function(a){var b=this.oi;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;)a(d.value),b.I!==c&&D.Va(b),d=d.gb;return this};
+Qa.prototype.map=function(a){var b=this.oi;b.Xb=null;for(var c=new K,d=b.I,e=b.Ka;null!==e;)c.add(a(e.value)),b.I!==d&&D.Va(b),e=e.gb;return c.j};Qa.prototype.filter=function(a){var b=this.oi;b.Xb=null;for(var c=new K(b.ca),d=b.I,e=b.Ka;null!==e;){var g=e.value;a(g)&&c.add(g);b.I!==d&&D.Va(b);e=e.gb}return c.j};Qa.prototype.concat=function(a){this.oi.Xb=null;return new Ma(this,a.j)};D.w(Qa,{count:"count"},function(){return this.oi.yd});
+Qa.prototype.Sf=function(){this.value=this.key=null;this.$a=-1;this.oi.Xb=this};Qa.prototype.toString=function(){return null!==this.cb?"SetIterator@"+this.cb.value:"SetIterator"};
+function L(a){D.uc(this);this.J=!1;void 0===a||null===a?this.ca=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.ca=a:D.ua(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.ca=a===Object?"object":a===String?"string":a===Number?"number":a:D.ua(a,"null, a primitive type name, or a class type","Set constructor: type");this.zd={};this.yd=0;this.Xb=null;this.I=0;this.gi=this.Ka=null}D.ka("Set",L);
+L.prototype.ph=function(a){null!==this.ca&&("string"===typeof this.ca?typeof a===this.ca&&null!==a||D.ic(a,this.ca):a instanceof this.ca||D.ic(a,this.ca))};L.prototype.Rc=function(){var a=this.I;a++;999999999=this.yd)return Ka;var a=this.Xb;return null!==a?(a.reset(),a):new Qa(this)});function Sa(a){this.Ma=a;this.$a=a.I;this.cb=null}D.ke(Sa,{key:!0,value:!0});D.w(Sa,{j:"iterator"},function(){return this});Sa.prototype.reset=Sa.prototype.reset=function(){this.$a=this.Ma.I;this.cb=null};
+Sa.prototype.next=Sa.prototype.next=function(){var a=this.Ma;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.cb,b=null===b?a.Ka:b.gb;if(null!==b)return this.cb=b,this.value=this.key=a=b.key,!0;this.Sf();return!1};Sa.prototype.hasNext=function(){return this.next()};Sa.prototype.first=Sa.prototype.first=function(){var a=this.Ma;this.$a=a.I;a=a.Ka;return null!==a?(this.cb=a,this.value=this.key=a=a.key):null};
+Sa.prototype.any=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(a(d.key))return!0;b.I!==c&&D.Va(b);d=d.gb}return!1};Sa.prototype.all=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(!a(d.key))return!1;b.I!==c&&D.Va(b);d=d.gb}return!0};Sa.prototype.each=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=b.Ka;null!==d;)a(d.key),b.I!==c&&D.Va(b),d=d.gb;return this};
+Sa.prototype.map=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e.key)),b.I!==c&&D.Va(b),e=e.gb;return d.j};Sa.prototype.filter=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=new K(b.af),e=b.Ka;null!==e;){var g=e.key;a(g)&&d.add(g);b.I!==c&&D.Va(b);e=e.gb}return d.j};Sa.prototype.concat=function(a){return new Ma(this,a.j)};D.w(Sa,{count:"count"},function(){return this.Ma.yd});Sa.prototype.Sf=function(){this.value=this.key=null;this.$a=-1};
+Sa.prototype.toString=function(){return null!==this.cb?"MapKeySetIterator@"+this.cb.value:"MapKeySetIterator"};function Ta(a){D.uc(this);this.J=!0;this.Ma=a}D.Sa(Ta,L);Ta.prototype.freeze=function(){return this};Ta.prototype.Ya=function(){return this};Ta.prototype.toString=function(){return"MapKeySet("+this.Ma.toString()+")"};Ta.prototype.add=Ta.prototype.add=function(){D.k("This Set is read-only: "+this.toString());return!1};
Ta.prototype.set=Ta.prototype.set=function(){D.k("This Set is read-only: "+this.toString());return!1};Ta.prototype.contains=Ta.prototype.contains=function(a){return this.Ma.contains(a)};Ta.prototype.has=Ta.prototype.has=function(a){return this.contains(a)};Ta.prototype.remove=Ta.prototype["delete"]=Ta.prototype.remove=function(){D.k("This Set is read-only: "+this.toString());return!1};Ta.prototype.clear=Ta.prototype.clear=function(){D.k("This Set is read-only: "+this.toString())};
-Ta.prototype.first=Ta.prototype.first=function(){var a=this.Ma.Ka;return null!==a?a.key:null};Ta.prototype.any=function(a){for(var b=this.Ma.Ka;null!==b;){if(a(b.key))return!0;b=b.fb}return!1};Ta.prototype.all=function(a){for(var b=this.Ma.Ka;null!==b;){if(!a(b.key))return!1;b=b.fb}return!0};Ta.prototype.each=function(a){for(var b=this.Ma.Ka;null!==b;)a(b.key),b=b.fb;return this};Ta.prototype.map=function(a){for(var b=new L,c=this.Ma.Ka;null!==c;)b.add(a(c.key)),c=c.fb;return b};
-Ta.prototype.filter=function(a){for(var b=new L(this.Ma.af),c=this.Ma.Ka;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.fb}return b};Ta.prototype.concat=function(a){return this.eH().Sc(a)};Ta.prototype.copy=function(){return new Ta(this.Ma)};Ta.prototype.toSet=Ta.prototype.eH=function(){var a=new L(this.Ma.af),b=this.Ma.zd,c;for(c in b)a.add(b[c].key);return a};Ta.prototype.toArray=Ta.prototype.mc=function(){var a=this.Ma.zd,b=Array(this.Ma.yd),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};
-Ta.prototype.toList=function(){var a=new K(this.Ma.af),b=this.Ma.zd,c;for(c in b)a.add(b[c].key);return a};D.w(Ta,{count:"count"},function(){return this.Ma.yd});D.w(Ta,{size:"size"},function(){return this.Ma.yd});D.w(Ta,{j:"iterator"},function(){return 0>=this.Ma.yd?Ka:new Sa(this.Ma)});function Ya(a){this.Ma=a;a.dj=null;this.$a=a.G;this.bb=null}D.ke(Ya,{key:!0,value:!0});D.w(Ya,{j:"iterator"},function(){return this});
-Ya.prototype.reset=Ya.prototype.reset=function(){var a=this.Ma;a.dj=null;this.$a=a.G;this.bb=null};Ya.prototype.next=Ya.prototype.next=function(){var a=this.Ma;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};Ya.prototype.hasNext=function(){return this.next()};
-Ya.prototype.first=Ya.prototype.first=function(){var a=this.Ma;this.$a=a.G;a=a.Ka;if(null!==a){this.bb=a;var b=a.value;this.key=a.key;return this.value=b}return null};Ya.prototype.any=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d.value))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};Ya.prototype.all=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d.value))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};
-Ya.prototype.each=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d.value),b.G!==c&&D.Va(b),d=d.fb;return this};Ya.prototype.map=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e.value)),b.G!==c&&D.Va(b),e=e.fb;return d.j};Ya.prototype.filter=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=new K(b.af),e=b.Ka;null!==e;){var g=e.value;a(g)&&d.add(g);b.G!==c&&D.Va(b);e=e.fb}return d.j};
-Ya.prototype.concat=function(a){this.Ma.dj=null;return new Ma(this,a.j)};D.w(Ya,{count:"count"},function(){return this.Ma.yd});Ya.prototype.Rf=function(){this.value=this.key=null;this.$a=-1;this.Ma.dj=this};Ya.prototype.toString=function(){return null!==this.bb?"MapValueSetIterator@"+this.bb.value:"MapValueSetIterator"};function Ra(a,b){this.key=a;this.value=b;this.Gp=this.fb=null}D.ke(Ra,{key:!0,value:!0});Ra.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};
-function $a(a){this.Ma=a;a.Wb=null;this.$a=a.G;this.bb=null}D.ke($a,{key:!0,value:!0});D.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){var a=this.Ma;a.Wb=null;this.$a=a.G;this.bb=null};$a.prototype.next=$a.prototype.next=function(){var a=this.Ma;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.key=b.key,this.value=b.value,!0;this.Rf();return!1};$a.prototype.hasNext=function(){return this.next()};
-$a.prototype.first=$a.prototype.first=function(){var a=this.Ma;this.$a=a.G;a=a.Ka;return null!==a?(this.bb=a,this.key=a.key,this.value=a.value,a):null};$a.prototype.any=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};$a.prototype.all=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};
-$a.prototype.each=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d),b.G!==c&&D.Va(b),d=d.fb;return this};$a.prototype.map=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e)),b.G!==c&&D.Va(b),e=e.fb;return d.j};$a.prototype.filter=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)a(e)&&d.add(e),b.G!==c&&D.Va(b),e=e.fb;return d.j};
-$a.prototype.concat=function(a){this.Ma.Wb=null;return new Ma(this,a.j)};D.w($a,{count:"count"},function(){return this.Ma.yd});$a.prototype.Rf=function(){this.value=this.key=null;this.$a=-1;this.Ma.Wb=this};$a.prototype.toString=function(){return null!==this.bb?"MapIterator@"+this.bb:"MapIterator"};
+Ta.prototype.first=Ta.prototype.first=function(){var a=this.Ma.Ka;return null!==a?a.key:null};Ta.prototype.any=function(a){for(var b=this.Ma.Ka;null!==b;){if(a(b.key))return!0;b=b.gb}return!1};Ta.prototype.all=function(a){for(var b=this.Ma.Ka;null!==b;){if(!a(b.key))return!1;b=b.gb}return!0};Ta.prototype.each=function(a){for(var b=this.Ma.Ka;null!==b;)a(b.key),b=b.gb;return this};Ta.prototype.map=function(a){for(var b=new L,c=this.Ma.Ka;null!==c;)b.add(a(c.key)),c=c.gb;return b};
+Ta.prototype.filter=function(a){for(var b=new L(this.Ma.af),c=this.Ma.Ka;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.gb}return b};Ta.prototype.concat=function(a){return this.fH().Sc(a)};Ta.prototype.copy=function(){return new Ta(this.Ma)};Ta.prototype.toSet=Ta.prototype.fH=function(){var a=new L(this.Ma.af),b=this.Ma.zd,c;for(c in b)a.add(b[c].key);return a};Ta.prototype.toArray=Ta.prototype.nc=function(){var a=this.Ma.zd,b=Array(this.Ma.yd),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};
+Ta.prototype.toList=function(){var a=new K(this.Ma.af),b=this.Ma.zd,c;for(c in b)a.add(b[c].key);return a};D.w(Ta,{count:"count"},function(){return this.Ma.yd});D.w(Ta,{size:"size"},function(){return this.Ma.yd});D.w(Ta,{j:"iterator"},function(){return 0>=this.Ma.yd?Ka:new Sa(this.Ma)});function Ya(a){this.Ma=a;a.dj=null;this.$a=a.I;this.cb=null}D.ke(Ya,{key:!0,value:!0});D.w(Ya,{j:"iterator"},function(){return this});
+Ya.prototype.reset=Ya.prototype.reset=function(){var a=this.Ma;a.dj=null;this.$a=a.I;this.cb=null};Ya.prototype.next=Ya.prototype.next=function(){var a=this.Ma;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.cb,b=null===b?a.Ka:b.gb;if(null!==b)return this.cb=b,this.value=b.value,this.key=b.key,!0;this.Sf();return!1};Ya.prototype.hasNext=function(){return this.next()};
+Ya.prototype.first=Ya.prototype.first=function(){var a=this.Ma;this.$a=a.I;a=a.Ka;if(null!==a){this.cb=a;var b=a.value;this.key=a.key;return this.value=b}return null};Ya.prototype.any=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(a(d.value))return!0;b.I!==c&&D.Va(b);d=d.gb}return!1};Ya.prototype.all=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(!a(d.value))return!1;b.I!==c&&D.Va(b);d=d.gb}return!0};
+Ya.prototype.each=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;)a(d.value),b.I!==c&&D.Va(b),d=d.gb;return this};Ya.prototype.map=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e.value)),b.I!==c&&D.Va(b),e=e.gb;return d.j};Ya.prototype.filter=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=new K(b.af),e=b.Ka;null!==e;){var g=e.value;a(g)&&d.add(g);b.I!==c&&D.Va(b);e=e.gb}return d.j};
+Ya.prototype.concat=function(a){this.Ma.dj=null;return new Ma(this,a.j)};D.w(Ya,{count:"count"},function(){return this.Ma.yd});Ya.prototype.Sf=function(){this.value=this.key=null;this.$a=-1;this.Ma.dj=this};Ya.prototype.toString=function(){return null!==this.cb?"MapValueSetIterator@"+this.cb.value:"MapValueSetIterator"};function Ra(a,b){this.key=a;this.value=b;this.Gp=this.gb=null}D.ke(Ra,{key:!0,value:!0});Ra.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};
+function $a(a){this.Ma=a;a.Xb=null;this.$a=a.I;this.cb=null}D.ke($a,{key:!0,value:!0});D.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){var a=this.Ma;a.Xb=null;this.$a=a.I;this.cb=null};$a.prototype.next=$a.prototype.next=function(){var a=this.Ma;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.cb,b=null===b?a.Ka:b.gb;if(null!==b)return this.cb=b,this.key=b.key,this.value=b.value,!0;this.Sf();return!1};$a.prototype.hasNext=function(){return this.next()};
+$a.prototype.first=$a.prototype.first=function(){var a=this.Ma;this.$a=a.I;a=a.Ka;return null!==a?(this.cb=a,this.key=a.key,this.value=a.value,a):null};$a.prototype.any=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(a(d))return!0;b.I!==c&&D.Va(b);d=d.gb}return!1};$a.prototype.all=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(!a(d))return!1;b.I!==c&&D.Va(b);d=d.gb}return!0};
+$a.prototype.each=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;)a(d),b.I!==c&&D.Va(b),d=d.gb;return this};$a.prototype.map=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e)),b.I!==c&&D.Va(b),e=e.gb;return d.j};$a.prototype.filter=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=new K,e=b.Ka;null!==e;)a(e)&&d.add(e),b.I!==c&&D.Va(b),e=e.gb;return d.j};
+$a.prototype.concat=function(a){this.Ma.Xb=null;return new Ma(this,a.j)};D.w($a,{count:"count"},function(){return this.Ma.yd});$a.prototype.Sf=function(){this.value=this.key=null;this.$a=-1;this.Ma.Xb=this};$a.prototype.toString=function(){return null!==this.cb?"MapIterator@"+this.cb:"MapIterator"};
function ma(a,b){D.uc(this);this.J=!1;void 0===a||null===a?this.af=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.af=a:D.ua(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.af=a===Object?"object":a===String?"string":a===Number?"number":a:D.ua(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:D.ua(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:D.ua(b,"null, a primitive type name, or a class type","Map constructor: valtype");this.zd={};this.yd=0;this.dj=this.Wb=null;this.G=0;this.fi=this.Ka=null}D.ja("Map",ma);
-function bb(a,b){null!==a.af&&("string"===typeof a.af?typeof b===a.af&&null!==b||D.hc(b,a.af):b instanceof a.af||D.hc(b,a.af))}ma.prototype.Rc=function(){var a=this.G;a++;999999999=this.count)return Ka;var a=this.Wb;return null!==a?(a.reset(),a):new $a(this)});D.w(ma,{$F:"iteratorKeys"},function(){return 0>=this.count?Ka:new Sa(this)});D.w(ma,{aG:"iteratorValues"},function(){if(0>=this.count)return Ka;var a=this.dj;return null!==a?(a.reset(),a):new Ya(this)});function O(a,b){void 0===a?this.M=this.L=0:"number"===typeof a&&"number"===typeof b?(this.L=a,this.M=b):D.k("Invalid arguments to Point constructor: "+a+", "+b);this.J=!1}
-D.ja("Point",O);D.Ai(O);D.ke(O,{x:!0,y:!0});O.prototype.assign=function(a){this.L=a.L;this.M=a.M};O.prototype.setTo=O.prototype.n=function(a,b){v&&(D.h(a,"number",O,"setTo:x"),D.h(b,"number",O,"setTo:y"));this.L=a;this.M=b;return this};O.prototype.set=O.prototype.set=function(a){v&&D.l(a,O,O,"set:p");this.Qa();this.L=a.L;this.M=a.M;return this};O.prototype.copy=function(){var a=new O;a.L=this.L;a.M=this.M;return a};f=O.prototype;f.Na=function(){this.J=!0;Object.freeze(this);return this};
+ma.prototype.remove=ma.prototype["delete"]=ma.prototype.remove=function(a){if(null===a)return!1;v&&bb(this,a);this.J&&D.pa(this,a);var b=a;if(D.Ta(a)&&(b=D.Gd(a),void 0===b))return!1;a=this.zd[b];if(void 0===a)return!1;var c=a.gb,d=a.Gp;null!==c&&(c.Gp=d);null!==d&&(d.gb=c);this.Ka===a&&(this.Ka=c);this.gi===a&&(this.gi=d);delete this.zd[b];this.yd--;this.Rc();return!0};ma.prototype.clear=ma.prototype.clear=function(){this.J&&D.pa(this);this.zd={};this.yd=0;this.gi=this.Ka=null;this.Rc()};
+ma.prototype.copy=function(){var a=new ma(this.af,this.yi),b=this.zd,c;for(c in b){var d=b[c];a.add(d.key,d.value)}return a};ma.prototype.toArray=ma.prototype.nc=function(){var a=this.zd,b=Array(this.yd),c=0,d;for(d in a){var e=a[d];b[c]=new Ra(e.key,e.value);c++}return b};ma.prototype.toKeySet=ma.prototype.Yj=function(){return new Ta(this)};D.w(ma,{count:"count"},function(){return this.yd});D.w(ma,{size:"size"},function(){return this.yd});
+D.w(ma,{j:"iterator"},function(){if(0>=this.count)return Ka;var a=this.Xb;return null!==a?(a.reset(),a):new $a(this)});D.w(ma,{aG:"iteratorKeys"},function(){return 0>=this.count?Ka:new Sa(this)});D.w(ma,{bG:"iteratorValues"},function(){if(0>=this.count)return Ka;var a=this.dj;return null!==a?(a.reset(),a):new Ya(this)});function O(a,b){void 0===a?this.M=this.L=0:"number"===typeof a&&"number"===typeof b?(this.L=a,this.M=b):D.k("Invalid arguments to Point constructor: "+a+", "+b);this.J=!1}
+D.ka("Point",O);D.Ai(O);D.ke(O,{x:!0,y:!0});O.prototype.assign=function(a){this.L=a.L;this.M=a.M};O.prototype.setTo=O.prototype.n=function(a,b){v&&(D.h(a,"number",O,"setTo:x"),D.h(b,"number",O,"setTo:y"));this.L=a;this.M=b;return this};O.prototype.set=O.prototype.set=function(a){v&&D.l(a,O,O,"set:p");this.Qa();this.L=a.L;this.M=a.M;return this};O.prototype.copy=function(){var a=new O;a.L=this.L;a.M=this.M;return a};f=O.prototype;f.Na=function(){this.J=!0;Object.freeze(this);return this};
f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Point is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};
O.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 O(c,e)}return new O};O.stringify=function(a){v&&D.l(a,O);return a.x.toString()+" "+a.y.toString()};O.prototype.toString=function(){return"Point("+this.x+","+this.y+")"};O.prototype.equals=O.prototype.P=function(a){return a instanceof O?this.L===a.x&&this.M===a.y:!1};
-O.prototype.equalTo=O.prototype.Gx=function(a,b){return this.L===a&&this.M===b};O.prototype.equalsApprox=O.prototype.Tc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)};O.prototype.add=O.prototype.add=function(a){v&&D.l(a,O,O,"add:p");this.Qa();this.L+=a.x;this.M+=a.y;return this};O.prototype.subtract=O.prototype.wo=function(a){v&&D.l(a,O,O,"subtract:p");this.Qa();this.L-=a.x;this.M-=a.y;return this};
+O.prototype.equalTo=O.prototype.Ix=function(a,b){return this.L===a&&this.M===b};O.prototype.equalsApprox=O.prototype.Tc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)};O.prototype.add=O.prototype.add=function(a){v&&D.l(a,O,O,"add:p");this.Qa();this.L+=a.x;this.M+=a.y;return this};O.prototype.subtract=O.prototype.wo=function(a){v&&D.l(a,O,O,"subtract:p");this.Qa();this.L-=a.x;this.M-=a.y;return this};
O.prototype.offset=O.prototype.offset=function(a,b){v&&(D.p(a,O,"offset:dx"),D.p(b,O,"offset:dy"));this.Qa();this.L+=a;this.M+=b;return this};O.prototype.rotate=O.prototype.rotate=function(a){v&&D.p(a,O,"rotate:angle");this.Qa();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};
-O.prototype.scale=O.prototype.scale=function(a,b){v&&(D.p(a,O,"scale:sx"),D.p(b,O,"scale:sy"));this.L*=a;this.M*=b;return this};O.prototype.distanceSquaredPoint=O.prototype.Df=function(a){v&&D.l(a,O,O,"distanceSquaredPoint:p");var b=a.x-this.L;a=a.y-this.M;return b*b+a*a};O.prototype.distanceSquared=O.prototype.kq=function(a,b){v&&(D.p(a,O,"distanceSquared:px"),D.p(b,O,"distanceSquared:py"));var c=a-this.L,d=b-this.M;return c*c+d*d};
-O.prototype.normalize=O.prototype.normalize=function(){this.Qa();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}O.prototype.projectOntoLineSegment=function(a,b,c,d){v&&(D.p(a,O,"projectOntoLineSegment:px"),D.p(b,O,"projectOntoLineSegment:py"),D.p(c,O,"projectOntoLineSegment:qx"),D.p(d,O,"projectOntoLineSegment:qy"));eb(a,b,c,d,this.L,this.M,this);return this};
O.prototype.projectOntoLineSegmentPoint=function(a,b){v&&(D.l(a,O,O,"projectOntoLineSegmentPoint:p"),D.l(b,O,O,"projectOntoLineSegmentPoint:q"));eb(a.x,a.y,b.x,b.y,this.L,this.M,this);return this};O.prototype.snapToGrid=function(a,b,c,d){v&&(D.p(a,O,"snapToGrid:originx"),D.p(b,O,"snapToGrid:originy"),D.p(c,O,"snapToGrid:cellwidth"),D.p(d,O,"snapToGrid:cellheight"));fb(this.L,this.M,a,b,c,d,this);return this};
O.prototype.snapToGridPoint=function(a,b){v&&(D.l(a,O,O,"snapToGridPoint:p"),D.l(b,Ca,O,"snapToGridPoint:q"));fb(this.L,this.M,a.x,a.y,b.width,b.height,this);return this};O.prototype.setRectSpot=O.prototype.to=function(a,b){v&&(D.l(a,B,O,"setRectSpot:r"),D.l(b,R,O,"setRectSpot:spot"));this.Qa();this.L=a.x+b.x*a.width+b.offsetX;this.M=a.y+b.y*a.height+b.offsetY;return this};
-O.prototype.setSpot=O.prototype.av=function(a,b,c,d,e){v&&(D.p(a,O,"setSpot:x"),D.p(b,O,"setSpot:y"),D.p(c,O,"setSpot:w"),D.p(d,O,"setSpot:h"),(0>c||0>d)&&D.k("Point.setSpot:Width and height cannot be negative"),D.l(e,R,O,"setSpot:spot"));this.Qa();this.L=a+e.x*c+e.offsetX;this.M=b+e.y*d+e.offsetY;return this};O.prototype.transform=function(a){v&&D.l(a,Da,O,"transform:t");a.wb(this);return this};function gb(a,b){v&&D.l(b,Da,O,"transformInverted:t");b.Ci(a);return a}var ib;
+O.prototype.setSpot=O.prototype.cv=function(a,b,c,d,e){v&&(D.p(a,O,"setSpot:x"),D.p(b,O,"setSpot:y"),D.p(c,O,"setSpot:w"),D.p(d,O,"setSpot:h"),(0>c||0>d)&&D.k("Point.setSpot:Width and height cannot be negative"),D.l(e,R,O,"setSpot:spot"));this.Qa();this.L=a+e.x*c+e.offsetX;this.M=b+e.y*d+e.offsetY;return this};O.prototype.transform=function(a){v&&D.l(a,Da,O,"transform:t");a.wb(this);return this};function gb(a,b){v&&D.l(b,Da,O,"transformInverted:t");b.Ci(a);return a}var ib;
O.distanceLineSegmentSquared=ib=function(a,b,c,d,e,g){v&&(D.p(a,O,"distanceLineSegmentSquared:px"),D.p(b,O,"distanceLineSegmentSquared:py"),D.p(c,O,"distanceLineSegmentSquared:ax"),D.p(d,O,"distanceLineSegmentSquared:ay"),D.p(e,O,"distanceLineSegmentSquared:bx"),D.p(g,O,"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 jb;
O.distanceSquared=jb=function(a,b,c,d){v&&(D.p(a,O,"distanceSquared:px"),D.p(b,O,"distanceSquared:py"),D.p(c,O,"distanceSquared:qx"),D.p(d,O,"distanceSquared:qy"));a=c-a;b=d-b;return a*a+b*b};var rb;
O.direction=rb=function(a,b,c,d){v&&(D.p(a,O,"direction:px"),D.p(b,O,"direction:py"),D.p(c,O,"direction:qx"),D.p(d,O,"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};D.defineProperty(O,{x:"x"},function(){return this.L},function(a){this.Qa(a);v&&D.h(a,"number",O,"x");this.L=a});
-D.defineProperty(O,{y:"y"},function(){return this.M},function(a){this.Qa(a);v&&D.h(a,"number",O,"y");this.M=a});O.prototype.isReal=O.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)};function Ca(a,b){void 0===a?this.Ha=this.Ia=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.Ia=a,this.Ha=b):D.k("Invalid arguments to Size constructor: "+a+", "+b);this.J=!1}D.ja("Size",Ca);D.Ai(Ca);D.ke(Ca,{width:!0,height:!0});
+D.defineProperty(O,{y:"y"},function(){return this.M},function(a){this.Qa(a);v&&D.h(a,"number",O,"y");this.M=a});O.prototype.isReal=O.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)};function Ca(a,b){void 0===a?this.Ha=this.Ia=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.Ia=a,this.Ha=b):D.k("Invalid arguments to Size constructor: "+a+", "+b);this.J=!1}D.ka("Size",Ca);D.Ai(Ca);D.ke(Ca,{width:!0,height:!0});
Ca.prototype.assign=function(a){this.Ia=a.Ia;this.Ha=a.Ha};Ca.prototype.setTo=Ca.prototype.n=function(a,b){v&&(D.h(a,"number",Ca,"setTo:w"),D.h(b,"number",Ca,"setTo:h"),0>a&&D.ua(a,">= 0",Ca,"setTo:w"),0>b&&D.ua(b,">= 0",Ca,"setTo:h"));this.Ia=a;this.Ha=b;return this};Ca.prototype.set=Ca.prototype.set=function(a){v&&D.l(a,Ca,Ca,"set:s");this.Qa();this.Ia=a.Ia;this.Ha=a.Ha;return this};Ca.prototype.copy=function(){var a=new Ca;a.Ia=this.Ia;a.Ha=this.Ha;return a};f=Ca.prototype;
f.Na=function(){this.J=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Size is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};
Ca.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 Ca(c,e)}return new Ca};Ca.stringify=function(a){v&&D.l(a,Ca);return a.width.toString()+" "+a.height.toString()};Ca.prototype.toString=function(){return"Size("+this.width+","+this.height+")"};Ca.prototype.equals=Ca.prototype.P=function(a){return a instanceof Ca?this.Ia===a.width&&this.Ha===a.height:!1};
-Ca.prototype.equalTo=Ca.prototype.Gx=function(a,b){return this.Ia===a&&this.Ha===b};Ca.prototype.equalsApprox=Ca.prototype.Tc=function(a){return Q(this.Ia,a.width)&&Q(this.Ha,a.height)};D.defineProperty(Ca,{width:"width"},function(){return this.Ia},function(a){this.Qa(a);v&&D.h(a,"number",Ca,"width");0>a&&D.ua(a,">= 0",Ca,"width");this.Ia=a});
+Ca.prototype.equalTo=Ca.prototype.Ix=function(a,b){return this.Ia===a&&this.Ha===b};Ca.prototype.equalsApprox=Ca.prototype.Tc=function(a){return Q(this.Ia,a.width)&&Q(this.Ha,a.height)};D.defineProperty(Ca,{width:"width"},function(){return this.Ia},function(a){this.Qa(a);v&&D.h(a,"number",Ca,"width");0>a&&D.ua(a,">= 0",Ca,"width");this.Ia=a});
D.defineProperty(Ca,{height:"height"},function(){return this.Ha},function(a){this.Qa(a);v&&D.h(a,"number",Ca,"height");0>a&&D.ua(a,">= 0",Ca,"height");this.Ha=a});Ca.prototype.isReal=Ca.prototype.F=function(){return isFinite(this.width)&&isFinite(this.height)};
function B(a,b,c,d){void 0===a?this.Ha=this.Ia=this.M=this.L=0:a instanceof O?b instanceof O?(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.Ha=Math.abs(a.M-b.M)):b instanceof Ca?(this.L=a.L,this.M=a.M,this.Ia=b.Ia,this.Ha=b.Ha):D.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.Ha=d):D.k("Invalid arguments to Rect constructor: "+
-a+", "+b+", "+c+", "+d);this.J=!1}D.ja("Rect",B);D.Ai(B);D.ke(B,{x:!0,y:!0,width:!0,height:!0});B.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ha=a.Ha};function xb(a,b,c){a.Ia=b;a.Ha=c}B.prototype.setTo=B.prototype.n=function(a,b,c,d){v&&(D.h(a,"number",B,"setTo:x"),D.h(b,"number",B,"setTo:y"),D.h(c,"number",B,"setTo:w"),D.h(d,"number",B,"setTo:h"),0>c&&D.ua(c,">= 0",B,"setTo:w"),0>d&&D.ua(d,">= 0",B,"setTo:h"));this.L=a;this.M=b;this.Ia=c;this.Ha=d;return this};
-B.prototype.set=B.prototype.set=function(a){v&&D.l(a,B,B,"set:r");this.Qa();this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ha=a.Ha;return this};B.prototype.setPoint=B.prototype.fh=function(a){v&&D.l(a,O,B,"setPoint:p");this.Qa();this.L=a.L;this.M=a.M;return this};B.prototype.setSize=function(a){v&&D.l(a,Ca,B,"setSize:s");this.Qa();this.Ia=a.Ia;this.Ha=a.Ha;return this};B.prototype.copy=function(){var a=new B;a.L=this.L;a.M=this.M;a.Ia=this.Ia;a.Ha=this.Ha;return a};f=B.prototype;
+a+", "+b+", "+c+", "+d);this.J=!1}D.ka("Rect",B);D.Ai(B);D.ke(B,{x:!0,y:!0,width:!0,height:!0});B.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ha=a.Ha};function xb(a,b,c){a.Ia=b;a.Ha=c}B.prototype.setTo=B.prototype.n=function(a,b,c,d){v&&(D.h(a,"number",B,"setTo:x"),D.h(b,"number",B,"setTo:y"),D.h(c,"number",B,"setTo:w"),D.h(d,"number",B,"setTo:h"),0>c&&D.ua(c,">= 0",B,"setTo:w"),0>d&&D.ua(d,">= 0",B,"setTo:h"));this.L=a;this.M=b;this.Ia=c;this.Ha=d;return this};
+B.prototype.set=B.prototype.set=function(a){v&&D.l(a,B,B,"set:r");this.Qa();this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ha=a.Ha;return this};B.prototype.setPoint=B.prototype.gh=function(a){v&&D.l(a,O,B,"setPoint:p");this.Qa();this.L=a.L;this.M=a.M;return this};B.prototype.setSize=function(a){v&&D.l(a,Ca,B,"setSize:s");this.Qa();this.Ia=a.Ia;this.Ha=a.Ha;return this};B.prototype.copy=function(){var a=new B;a.L=this.L;a.M=this.M;a.Ia=this.Ia;a.Ha=this.Ha;return a};f=B.prototype;
f.Na=function(){this.J=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Rect is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};
B.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 B(c,e,g,h)}return new B};B.stringify=function(a){v&&D.l(a,B);return a.x.toString()+" "+a.y.toString()+" "+a.width.toString()+" "+a.height.toString()};
-B.prototype.toString=function(){return"Rect("+this.x+","+this.y+","+this.width+","+this.height+")"};B.prototype.equals=B.prototype.P=function(a){return a instanceof B?this.L===a.x&&this.M===a.y&&this.Ia===a.width&&this.Ha===a.height:!1};B.prototype.equalTo=B.prototype.Gx=function(a,b,c,d){return this.L===a&&this.M===b&&this.Ia===c&&this.Ha===d};B.prototype.equalsApprox=B.prototype.Tc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)&&Q(this.Ia,a.width)&&Q(this.Ha,a.height)};
-function yb(a,b){return zb(a.L,b.x)&&zb(a.M,b.y)&&zb(a.Ia,b.width)&&zb(a.Ha,b.height)}B.prototype.containsPoint=B.prototype.Oa=function(a){v&&D.l(a,O,B,"containsPoint:p");return this.L<=a.x&&this.L+this.Ia>=a.x&&this.M<=a.y&&this.M+this.Ha>=a.y};B.prototype.containsRect=B.prototype.Nk=function(a){v&&D.l(a,B,B,"containsRect:r");return this.L<=a.x&&a.x+a.width<=this.L+this.Ia&&this.M<=a.y&&a.y+a.height<=this.M+this.Ha};
+B.prototype.toString=function(){return"Rect("+this.x+","+this.y+","+this.width+","+this.height+")"};B.prototype.equals=B.prototype.P=function(a){return a instanceof B?this.L===a.x&&this.M===a.y&&this.Ia===a.width&&this.Ha===a.height:!1};B.prototype.equalTo=B.prototype.Ix=function(a,b,c,d){return this.L===a&&this.M===b&&this.Ia===c&&this.Ha===d};B.prototype.equalsApprox=B.prototype.Tc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)&&Q(this.Ia,a.width)&&Q(this.Ha,a.height)};
+function yb(a,b){return zb(a.L,b.x)&&zb(a.M,b.y)&&zb(a.Ia,b.width)&&zb(a.Ha,b.height)}B.prototype.containsPoint=B.prototype.Oa=function(a){v&&D.l(a,O,B,"containsPoint:p");return this.L<=a.x&&this.L+this.Ia>=a.x&&this.M<=a.y&&this.M+this.Ha>=a.y};B.prototype.containsRect=B.prototype.Ok=function(a){v&&D.l(a,B,B,"containsRect:r");return this.L<=a.x&&a.x+a.width<=this.L+this.Ia&&this.M<=a.y&&a.y+a.height<=this.M+this.Ha};
B.prototype.contains=B.prototype.contains=function(a,b,c,d){v?(D.p(a,B,"contains:x"),D.p(b,B,"contains:y"),void 0===c?c=0:D.p(c,B,"contains:w"),void 0===d?d=0:D.p(d,B,"contains:h"),(0>c||0>d)&&D.k("Rect.contains:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return this.L<=a&&a+c<=this.L+this.Ia&&this.M<=b&&b+d<=this.M+this.Ha};B.prototype.reset=function(){this.Qa();this.Ha=this.Ia=this.M=this.L=0};
-B.prototype.offset=B.prototype.offset=function(a,b){v&&(D.p(a,B,"offset:dx"),D.p(b,B,"offset:dy"));this.Qa();this.L+=a;this.M+=b;return this};B.prototype.inflate=B.prototype.Ff=function(a,b){v&&(D.p(a,B,"inflate:w"),D.p(b,B,"inflate:h"));return Db(this,b,a,b,a)};B.prototype.addMargin=B.prototype.kx=function(a){v&&D.l(a,Ib,B,"addMargin:m");return Db(this,a.top,a.right,a.bottom,a.left)};
-B.prototype.subtractMargin=B.prototype.sK=function(a){v&&D.l(a,Ib,B,"subtractMargin:m");return Db(this,-a.top,-a.right,-a.bottom,-a.left)};B.prototype.grow=function(a,b,c,d){v&&(D.p(a,B,"grow:t"),D.p(b,B,"grow:r"),D.p(c,B,"grow:b"),D.p(d,B,"grow:l"));return Db(this,a,b,c,d)};function Db(a,b,c,d,e){a.Qa();var g=a.Ia;c+e<=-g?(a.L+=g/2,a.Ia=0):(a.L-=e,a.Ia+=c+e);c=a.Ha;b+d<=-c?(a.M+=c/2,a.Ha=0):(a.M-=b,a.Ha+=b+d);return a}
-B.prototype.intersectRect=function(a){v&&D.l(a,B,B,"intersectRect:r");return Lb(this,a.x,a.y,a.width,a.height)};B.prototype.intersect=B.prototype.KF=function(a,b,c,d){v&&(D.p(a,B,"intersect:x"),D.p(b,B,"intersect:y"),D.p(c,B,"intersect:w"),D.p(d,B,"intersect:h"),(0>c||0>d)&&D.k("Rect.intersect:Width and height cannot be negative"));return Lb(this,a,b,c,d)};
-function Lb(a,b,c,d,e){a.Qa();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.Ha,c+e);a.L=g;a.M=h;a.Ia=Math.max(0,b-g);a.Ha=Math.max(0,c-h);return a}B.prototype.intersectsRect=B.prototype.fg=function(a){v&&D.l(a,B,B,"intersectsRect:r");return this.LF(a.x,a.y,a.width,a.height)};
-B.prototype.intersects=B.prototype.LF=function(a,b,c,d){v&&(D.p(a,B,"intersects:x"),D.p(b,B,"intersects:y"),D.p(a,B,"intersects:w"),D.p(b,B,"intersects:h"),(0>c||0>d)&&D.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.Ha;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.Ha;d=b.height+10+10;e=a.M;g=b.y-10;return e>d+g||g>c+e?!1:!0}B.prototype.unionPoint=B.prototype.Ji=function(a){v&&D.l(a,O,B,"unionPoint:p");return Pb(this,a.x,a.y,0,0)};B.prototype.unionRect=B.prototype.Wh=function(a){v&&D.l(a,B,B,"unionRect:r");return Pb(this,a.L,a.M,a.Ia,a.Ha)};
-B.prototype.union=B.prototype.jH=function(a,b,c,d){this.Qa();v?(D.p(a,B,"union:x"),D.p(b,B,"union:y"),void 0===c?c=0:D.p(c,B,"union:w"),void 0===d?d=0:D.p(d,B,"union:h"),(0>c||0>d)&&D.k("Rect.union:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return Pb(this,a,b,c,d)};function Pb(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.Ha,c+e);a.L=g;a.M=h;a.Ia=b-g;a.Ha=c-h;return a}
-B.prototype.setSpot=B.prototype.av=function(a,b,c){v&&(D.p(a,B,"setSpot:x"),D.p(b,B,"setSpot:y"),D.l(c,R,B,"setSpot:spot"));this.Qa();this.L=a-c.offsetX-c.x*this.Ia;this.M=b-c.offsetY-c.y*this.Ha;return this};var Qb;
+B.prototype.offset=B.prototype.offset=function(a,b){v&&(D.p(a,B,"offset:dx"),D.p(b,B,"offset:dy"));this.Qa();this.L+=a;this.M+=b;return this};B.prototype.inflate=B.prototype.Gf=function(a,b){v&&(D.p(a,B,"inflate:w"),D.p(b,B,"inflate:h"));return Db(this,b,a,b,a)};B.prototype.addMargin=B.prototype.mx=function(a){v&&D.l(a,Ib,B,"addMargin:m");return Db(this,a.top,a.right,a.bottom,a.left)};
+B.prototype.subtractMargin=B.prototype.tK=function(a){v&&D.l(a,Ib,B,"subtractMargin:m");return Db(this,-a.top,-a.right,-a.bottom,-a.left)};B.prototype.grow=function(a,b,c,d){v&&(D.p(a,B,"grow:t"),D.p(b,B,"grow:r"),D.p(c,B,"grow:b"),D.p(d,B,"grow:l"));return Db(this,a,b,c,d)};function Db(a,b,c,d,e){a.Qa();var g=a.Ia;c+e<=-g?(a.L+=g/2,a.Ia=0):(a.L-=e,a.Ia+=c+e);c=a.Ha;b+d<=-c?(a.M+=c/2,a.Ha=0):(a.M-=b,a.Ha+=b+d);return a}
+B.prototype.intersectRect=function(a){v&&D.l(a,B,B,"intersectRect:r");return Lb(this,a.x,a.y,a.width,a.height)};B.prototype.intersect=B.prototype.LF=function(a,b,c,d){v&&(D.p(a,B,"intersect:x"),D.p(b,B,"intersect:y"),D.p(c,B,"intersect:w"),D.p(d,B,"intersect:h"),(0>c||0>d)&&D.k("Rect.intersect:Width and height cannot be negative"));return Lb(this,a,b,c,d)};
+function Lb(a,b,c,d,e){a.Qa();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.Ha,c+e);a.L=g;a.M=h;a.Ia=Math.max(0,b-g);a.Ha=Math.max(0,c-h);return a}B.prototype.intersectsRect=B.prototype.gg=function(a){v&&D.l(a,B,B,"intersectsRect:r");return this.MF(a.x,a.y,a.width,a.height)};
+B.prototype.intersects=B.prototype.MF=function(a,b,c,d){v&&(D.p(a,B,"intersects:x"),D.p(b,B,"intersects:y"),D.p(a,B,"intersects:w"),D.p(b,B,"intersects:h"),(0>c||0>d)&&D.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.Ha;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.Ha;d=b.height+10+10;e=a.M;g=b.y-10;return e>d+g||g>c+e?!1:!0}B.prototype.unionPoint=B.prototype.Ji=function(a){v&&D.l(a,O,B,"unionPoint:p");return Pb(this,a.x,a.y,0,0)};B.prototype.unionRect=B.prototype.Xh=function(a){v&&D.l(a,B,B,"unionRect:r");return Pb(this,a.L,a.M,a.Ia,a.Ha)};
+B.prototype.union=B.prototype.kH=function(a,b,c,d){this.Qa();v?(D.p(a,B,"union:x"),D.p(b,B,"union:y"),void 0===c?c=0:D.p(c,B,"union:w"),void 0===d?d=0:D.p(d,B,"union:h"),(0>c||0>d)&&D.k("Rect.union:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return Pb(this,a,b,c,d)};function Pb(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.Ha,c+e);a.L=g;a.M=h;a.Ia=b-g;a.Ha=c-h;return a}
+B.prototype.setSpot=B.prototype.cv=function(a,b,c){v&&(D.p(a,B,"setSpot:x"),D.p(b,B,"setSpot:y"),D.l(c,R,B,"setSpot:spot"));this.Qa();this.L=a-c.offsetX-c.x*this.Ia;this.M=b-c.offsetY-c.y*this.Ha;return this};var Qb;
B.contains=Qb=function(a,b,c,d,e,g,h,k){v?(D.p(a,B,"contains:rx"),D.p(b,B,"contains:ry"),D.p(c,B,"contains:rw"),D.p(d,B,"contains:rh"),D.p(e,B,"contains:x"),D.p(g,B,"contains:y"),void 0===h?h=0:D.p(h,B,"contains:w"),void 0===k?k=0:D.p(k,B,"contains:h"),(0>c||0>d||0>h||0>k)&&D.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};
B.intersects=function(a,b,c,d,e,g,h,k){v&&(D.p(a,B,"intersects:rx"),D.p(b,B,"intersects:ry"),D.p(c,B,"intersects:rw"),D.p(d,B,"intersects:rh"),D.p(e,B,"intersects:x"),D.p(g,B,"intersects:y"),D.p(h,B,"intersects:w"),D.p(k,B,"intersects:h"),(0>c||0>d||0>h||0>k)&&D.k("Rect.intersects:Width and height cannot be negative"));c+=a;h+=e;if(a>h||e>c)return!1;a=d+b;k+=g;return b>k||g>a?!1:!0};D.defineProperty(B,{x:"x"},function(){return this.L},function(a){this.Qa(a);v&&D.h(a,"number",B,"x");this.L=a});
D.defineProperty(B,{y:"y"},function(){return this.M},function(a){this.Qa(a);v&&D.h(a,"number",B,"y");this.M=a});D.defineProperty(B,{width:"width"},function(){return this.Ia},function(a){this.Qa(a);v&&D.h(a,"number",B,"width");0>a&&D.ua(a,">= 0",B,"width");this.Ia=a});D.defineProperty(B,{height:"height"},function(){return this.Ha},function(a){this.Qa(a);v&&D.h(a,"number",B,"height");0>a&&D.ua(a,">= 0",B,"height");this.Ha=a});
D.defineProperty(B,{left:"left"},function(){return this.L},function(a){this.Qa(a);v&&D.h(a,"number",B,"left");this.L=a});D.defineProperty(B,{top:"top"},function(){return this.M},function(a){this.Qa(a);v&&D.h(a,"number",B,"top");this.M=a});D.defineProperty(B,{right:"right"},function(){return this.L+this.Ia},function(a){this.Qa(a);v&&D.p(a,B,"right");this.L+=a-(this.L+this.Ia)});
D.defineProperty(B,{bottom:"bottom"},function(){return this.M+this.Ha},function(a){this.Qa(a);v&&D.p(a,B,"top");this.M+=a-(this.M+this.Ha)});D.defineProperty(B,{position:"position"},function(){return new O(this.L,this.M)},function(a){this.Qa(a);v&&D.l(a,O,B,"position");this.L=a.x;this.M=a.y});D.defineProperty(B,{size:"size"},function(){return new Ca(this.Ia,this.Ha)},function(a){this.Qa(a);v&&D.l(a,Ca,B,"size");this.Ia=a.width;this.Ha=a.height});
-D.defineProperty(B,{cm:"center"},function(){return new O(this.L+this.Ia/2,this.M+this.Ha/2)},function(a){this.Qa(a);v&&D.l(a,O,B,"center");this.L=a.x-this.Ia/2;this.M=a.y-this.Ha/2});D.defineProperty(B,{oa:"centerX"},function(){return this.L+this.Ia/2},function(a){this.Qa(a);v&&D.p(a,B,"centerX");this.L=a-this.Ia/2});D.defineProperty(B,{va:"centerY"},function(){return this.M+this.Ha/2},function(a){this.Qa(a);v&&D.p(a,B,"centerY");this.M=a-this.Ha/2});
+D.defineProperty(B,{dm:"center"},function(){return new O(this.L+this.Ia/2,this.M+this.Ha/2)},function(a){this.Qa(a);v&&D.l(a,O,B,"center");this.L=a.x-this.Ia/2;this.M=a.y-this.Ha/2});D.defineProperty(B,{oa:"centerX"},function(){return this.L+this.Ia/2},function(a){this.Qa(a);v&&D.p(a,B,"centerX");this.L=a-this.Ia/2});D.defineProperty(B,{va:"centerY"},function(){return this.M+this.Ha/2},function(a){this.Qa(a);v&&D.p(a,B,"centerY");this.M=a-this.Ha/2});
B.prototype.isReal=B.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)};B.prototype.isEmpty=function(){return 0===this.width&&0===this.height};
-function Ib(a,b,c,d){void 0===a?this.uh=this.nh=this.Dh=this.Eh=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):D.k("Invalid arguments to Margin constructor: "+a+", "+b+", "+c+", "+d);this.J=!1}D.ja("Margin",Ib);D.Ai(Ib);D.ke(Ib,{top:!0,right:!0,bottom:!0,left:!0});Ib.prototype.assign=function(a){this.Eh=a.Eh;this.Dh=a.Dh;this.nh=a.nh;this.uh=a.uh};
-Ib.prototype.setTo=Ib.prototype.n=function(a,b,c,d){v&&(D.h(a,"number",Ib,"setTo:t"),D.h(b,"number",Ib,"setTo:r"),D.h(c,"number",Ib,"setTo:b"),D.h(d,"number",Ib,"setTo:l"));this.Qa();this.Eh=a;this.Dh=b;this.nh=c;this.uh=d;return this};Ib.prototype.set=Ib.prototype.set=function(a){v&&D.l(a,Ib,Ib,"assign:m");this.Qa();this.Eh=a.Eh;this.Dh=a.Dh;this.nh=a.nh;this.uh=a.uh;return this};Ib.prototype.copy=function(){var a=new Ib;a.Eh=this.Eh;a.Dh=this.Dh;a.nh=this.nh;a.uh=this.uh;return a};f=Ib.prototype;
+function Ib(a,b,c,d){void 0===a?this.vh=this.oh=this.Eh=this.Fh=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):D.k("Invalid arguments to Margin constructor: "+a+", "+b+", "+c+", "+d);this.J=!1}D.ka("Margin",Ib);D.Ai(Ib);D.ke(Ib,{top:!0,right:!0,bottom:!0,left:!0});Ib.prototype.assign=function(a){this.Fh=a.Fh;this.Eh=a.Eh;this.oh=a.oh;this.vh=a.vh};
+Ib.prototype.setTo=Ib.prototype.n=function(a,b,c,d){v&&(D.h(a,"number",Ib,"setTo:t"),D.h(b,"number",Ib,"setTo:r"),D.h(c,"number",Ib,"setTo:b"),D.h(d,"number",Ib,"setTo:l"));this.Qa();this.Fh=a;this.Eh=b;this.oh=c;this.vh=d;return this};Ib.prototype.set=Ib.prototype.set=function(a){v&&D.l(a,Ib,Ib,"assign:m");this.Qa();this.Fh=a.Fh;this.Eh=a.Eh;this.oh=a.oh;this.vh=a.vh;return this};Ib.prototype.copy=function(){var a=new Ib;a.Fh=this.Fh;a.Eh=this.Eh;a.oh=this.oh;a.vh=this.vh;return a};f=Ib.prototype;
f.Na=function(){this.J=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Margin is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};
Ib.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 Ib;for(var e=NaN;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));if(isNaN(e))return new Ib(c);for(var g=NaN;""===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));if(isNaN(g))return new Ib(c,e);for(var h=NaN;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return isNaN(h)?new Ib(c,e):new Ib(c,e,g,h)}return new Ib};
-Ib.stringify=function(a){v&&D.l(a,Ib);return a.top.toString()+" "+a.right.toString()+" "+a.bottom.toString()+" "+a.left.toString()};Ib.prototype.toString=function(){return"Margin("+this.top+","+this.right+","+this.bottom+","+this.left+")"};Ib.prototype.equals=Ib.prototype.P=function(a){return a instanceof Ib?this.Eh===a.top&&this.Dh===a.right&&this.nh===a.bottom&&this.uh===a.left:!1};Ib.prototype.equalTo=Ib.prototype.Gx=function(a,b,c,d){return this.Eh===a&&this.Dh===b&&this.nh===c&&this.uh===d};
-Ib.prototype.equalsApprox=Ib.prototype.Tc=function(a){return Q(this.Eh,a.top)&&Q(this.Dh,a.right)&&Q(this.nh,a.bottom)&&Q(this.uh,a.left)};D.defineProperty(Ib,{top:"top"},function(){return this.Eh},function(a){this.Qa(a);v&&D.p(a,Ib,"top");this.Eh=a});D.defineProperty(Ib,{right:"right"},function(){return this.Dh},function(a){this.Qa(a);v&&D.p(a,Ib,"right");this.Dh=a});D.defineProperty(Ib,{bottom:"bottom"},function(){return this.nh},function(a){this.Qa(a);v&&D.p(a,Ib,"bottom");this.nh=a});
-D.defineProperty(Ib,{left:"left"},function(){return this.uh},function(a){this.Qa(a);v&&D.p(a,Ib,"left");this.uh=a});Ib.prototype.isReal=Ib.prototype.F=function(){return isFinite(this.top)&&isFinite(this.right)&&isFinite(this.bottom)&&isFinite(this.left)};function Da(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0}D.Ai(Da);D.ke(Da,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});
+Ib.stringify=function(a){v&&D.l(a,Ib);return a.top.toString()+" "+a.right.toString()+" "+a.bottom.toString()+" "+a.left.toString()};Ib.prototype.toString=function(){return"Margin("+this.top+","+this.right+","+this.bottom+","+this.left+")"};Ib.prototype.equals=Ib.prototype.P=function(a){return a instanceof Ib?this.Fh===a.top&&this.Eh===a.right&&this.oh===a.bottom&&this.vh===a.left:!1};Ib.prototype.equalTo=Ib.prototype.Ix=function(a,b,c,d){return this.Fh===a&&this.Eh===b&&this.oh===c&&this.vh===d};
+Ib.prototype.equalsApprox=Ib.prototype.Tc=function(a){return Q(this.Fh,a.top)&&Q(this.Eh,a.right)&&Q(this.oh,a.bottom)&&Q(this.vh,a.left)};D.defineProperty(Ib,{top:"top"},function(){return this.Fh},function(a){this.Qa(a);v&&D.p(a,Ib,"top");this.Fh=a});D.defineProperty(Ib,{right:"right"},function(){return this.Eh},function(a){this.Qa(a);v&&D.p(a,Ib,"right");this.Eh=a});D.defineProperty(Ib,{bottom:"bottom"},function(){return this.oh},function(a){this.Qa(a);v&&D.p(a,Ib,"bottom");this.oh=a});
+D.defineProperty(Ib,{left:"left"},function(){return this.vh},function(a){this.Qa(a);v&&D.p(a,Ib,"left");this.vh=a});Ib.prototype.isReal=Ib.prototype.F=function(){return isFinite(this.top)&&isFinite(this.right)&&isFinite(this.bottom)&&isFinite(this.left)};function Da(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0}D.Ai(Da);D.ke(Da,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});
Da.prototype.set=Da.prototype.set=function(a){v&&D.l(a,Da,Da,"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};Da.prototype.copy=function(){var a=new Da;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};Da.prototype.toString=function(){return"Transform("+this.m11+","+this.m12+","+this.m21+","+this.m22+","+this.dx+","+this.dy+")"};
-Da.prototype.equals=Da.prototype.P=function(a){return a instanceof Da?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};Da.prototype.isIdentity=Da.prototype.xu=function(){return 1===this.m11&&0===this.m12&&0===this.m21&&1===this.m22&&0===this.dx&&0===this.dy};Da.prototype.reset=Da.prototype.reset=function(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0;return this};
+Da.prototype.equals=Da.prototype.P=function(a){return a instanceof Da?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};Da.prototype.isIdentity=Da.prototype.zu=function(){return 1===this.m11&&0===this.m12&&0===this.m21&&1===this.m22&&0===this.dx&&0===this.dy};Da.prototype.reset=Da.prototype.reset=function(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0;return this};
Da.prototype.multiply=Da.prototype.multiply=function(a){v&&D.l(a,Da,Da,"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};
Da.prototype.multiplyInverted=Da.prototype.pB=function(a){v&&D.l(a,Da,Da,"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};
-Da.prototype.invert=Da.prototype.Sx=function(){var a=1/(this.m11*this.m22-this.m12*this.m21),b=-this.m12*a,c=-this.m21*a,d=this.m11*a,e=a*(this.m21*this.dy-this.m22*this.dx),g=a*(this.m12*this.dx-this.m11*this.dy);this.m11=this.m22*a;this.m12=b;this.m21=c;this.m22=d;this.dx=e;this.dy=g;return this};
+Da.prototype.invert=Da.prototype.Tx=function(){var a=1/(this.m11*this.m22-this.m12*this.m21),b=-this.m12*a,c=-this.m21*a,d=this.m11*a,e=a*(this.m21*this.dy-this.m22*this.dx),g=a*(this.m12*this.dx-this.m11*this.dy);this.m11=this.m22*a;this.m12=b;this.m21=c;this.m22=d;this.dx=e;this.dy=g;return this};
Da.prototype.rotate=Da.prototype.rotate=function(a,b,c){v&&(D.p(a,Da,"rotate:angle"),D.p(b,Da,"rotate:rx"),D.p(c,Da,"rotate:ry"));360<=a?a-=360:0>a&&(a+=360);if(0===a)return this;this.translate(b,c);var d=0,e=0;90===a?(d=0,e=1):180===a?(d=-1,e=0):270===a?(d=0,e=-1):(e=a*Math.PI/180,d=Math.cos(e),e=Math.sin(e));a=this.m12*d+this.m22*e;var g=this.m11*-e+this.m21*d,h=this.m12*-e+this.m22*d;this.m11=this.m11*d+this.m21*e;this.m12=a;this.m21=g;this.m22=h;this.translate(-b,-c);return this};
Da.prototype.translate=Da.prototype.translate=function(a,b){v&&(D.p(a,Da,"translate:x"),D.p(b,Da,"translate:y"));this.dx+=this.m11*a+this.m21*b;this.dy+=this.m12*a+this.m22*b;return this};Da.prototype.scale=Da.prototype.scale=function(a,b){void 0===b&&(b=a);v&&(D.p(a,Da,"translate:sx"),D.p(b,Da,"translate:sy"));this.m11*=a;this.m12*=a;this.m21*=b;this.m22*=b;return this};
Da.prototype.transformPoint=Da.prototype.wb=function(a){v&&D.l(a,O,Da,"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};Da.prototype.invertedTransformPoint=Da.prototype.Ci=function(a){v&&D.l(a,O,Da,"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};
-Da.prototype.transformRect=Da.prototype.iH=function(a){v&&D.l(a,B,Da,"transformRect:rect");var b=a.L,c=a.M,d=b+a.Ia,e=c+a.Ha,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.Ha=q-h;return a};function R(a,b,c,d){void 0===a?this.Lg=this.Kg=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.J=!1}D.ja("Spot",R);D.Ai(R);D.ke(R,{x:!0,y:!0,offsetX:!0,offsetY:!0});R.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Kg=a.Kg;this.Lg=a.Lg};
-R.prototype.setTo=R.prototype.n=function(a,b,c,d){v&&(Rb(a,"setTo:x"),Rb(b,"setTo:y"),Vb(c,"setTo:offx"),Vb(d,"setTo:offy"));this.Qa();this.L=a;this.M=b;this.Kg=c;this.Lg=d;return this};R.prototype.set=R.prototype.set=function(a){v&&D.l(a,R,R,"set:s");this.Qa();this.L=a.L;this.M=a.M;this.Kg=a.Kg;this.Lg=a.Lg;return this};R.prototype.copy=function(){var a=new R;a.L=this.L;a.M=this.M;a.Kg=this.Kg;a.Lg=this.Lg;return a};f=R.prototype;f.Na=function(){this.J=!0;Object.freeze(this);return this};
-f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Spot is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};function Yb(a,b){a.L=NaN;a.M=NaN;a.Kg=b;return a}function Rb(a,b){(isNaN(a)||1a)&&D.ua(a,"0 <= "+b+" <= 1",R,b)}
+Da.prototype.transformRect=Da.prototype.jH=function(a){v&&D.l(a,B,Da,"transformRect:rect");var b=a.L,c=a.M,d=b+a.Ia,e=c+a.Ha,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.Ha=q-h;return a};function R(a,b,c,d){void 0===a?this.Mg=this.Lg=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.J=!1}D.ka("Spot",R);D.Ai(R);D.ke(R,{x:!0,y:!0,offsetX:!0,offsetY:!0});R.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Lg=a.Lg;this.Mg=a.Mg};
+R.prototype.setTo=R.prototype.n=function(a,b,c,d){v&&(Rb(a,"setTo:x"),Rb(b,"setTo:y"),Vb(c,"setTo:offx"),Vb(d,"setTo:offy"));this.Qa();this.L=a;this.M=b;this.Lg=c;this.Mg=d;return this};R.prototype.set=R.prototype.set=function(a){v&&D.l(a,R,R,"set:s");this.Qa();this.L=a.L;this.M=a.M;this.Lg=a.Lg;this.Mg=a.Mg;return this};R.prototype.copy=function(){var a=new R;a.L=this.L;a.M=this.M;a.Lg=this.Lg;a.Mg=this.Mg;return a};f=R.prototype;f.Na=function(){this.J=!0;Object.freeze(this);return this};
+f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Spot is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};function Yb(a,b){a.L=NaN;a.M=NaN;a.Lg=b;return a}function Rb(a,b){(isNaN(a)||1a)&&D.ua(a,"0 <= "+b+" <= 1",R,b)}
function Vb(a,b){(isNaN(a)||Infinity===a||-Infinity===a)&&D.ua(a,"real number, not NaN or Infinity",R,b)}var Zb;
-R.parse=Zb=function(a){if("string"===typeof a){a=a.trim();if("None"===a)return cc;if("TopLeft"===a)return dc;if("Top"===a||"TopCenter"===a||"MiddleTop"===a)return ec;if("TopRight"===a)return fc;if("Left"===a||"LeftCenter"===a||"MiddleLeft"===a)return gc;if("Center"===a)return hc;if("Right"===a||"RightCenter"===a||"MiddleRight"===a)return rc;if("BottomLeft"===a)return sc;if("Bottom"===a||"BottomCenter"===a||"MiddleBottom"===a)return tc;if("BottomRight"===a)return uc;if("TopSide"===a)return vc;if("LeftSide"===
+R.parse=Zb=function(a){if("string"===typeof a){a=a.trim();if("None"===a)return $b;if("TopLeft"===a)return dc;if("Top"===a||"TopCenter"===a||"MiddleTop"===a)return ec;if("TopRight"===a)return fc;if("Left"===a||"LeftCenter"===a||"MiddleLeft"===a)return gc;if("Center"===a)return hc;if("Right"===a||"RightCenter"===a||"MiddleRight"===a)return rc;if("BottomLeft"===a)return sc;if("Bottom"===a||"BottomCenter"===a||"MiddleBottom"===a)return tc;if("BottomRight"===a)return uc;if("TopSide"===a)return vc;if("LeftSide"===
a)return wc;if("RightSide"===a)return xc;if("BottomSide"===a)return Bc;if("TopBottomSides"===a)return Cc;if("LeftRightSides"===a)return Jc;if("TopLeftSides"===a)return Kc;if("TopRightSides"===a)return Lc;if("BottomLeftSides"===a)return Mc;if("BottomRightSides"===a)return Nc;if("NotTopSide"===a)return Oc;if("NotLeftSide"===a)return Pc;if("NotRightSide"===a)return Sc;if("NotBottomSide"===a)return Tc;if("AllSides"===a)return Uc;if("Default"===a)return Vc;a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;
var d=a[b++];void 0!==d&&0b.offset?1:-1});for(k=0;kb.offset?1:-1});for(k=0;k=2*Math.PI?(rd(a,b,c,d,e,e+Math.PI,h),rd(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 qd(a,b,c,d,e,g,h){var k=new jd;k.Zb=[b,c,d,e,g,h];b={};Ad(a,"g",b,k);k=a.addElement("g",b);a.Ef.push(k)}
-f.ib=function(){if(0!==this.shadowOffsetX||0!==this.shadowOffsetY||0!==this.shadowBlur){var a="SHADOW"+D.Gm++,b=this.addElement("filter",{id:a,x:"-100%",y:"-100%",width:"300%",height:"300%"},null),c,d,e,g,h;c=pd(this,"feGaussianBlur",{"in":"SourceAlpha",result:"blur",zM:this.shadowBlur/2});d=pd(this,"feFlood",{"in":"blur",result:"flood","flood-color":this.shadowColor});e=pd(this,"feComposite",{"in":"flood",in2:"blur",operator:"in",result:"comp"});g=pd(this,"feOffset",{"in":"comp",result:"offsetBlur",
-dx:this.shadowOffsetX,dy:this.shadowOffsetY});h=pd(this,"feMerge",{});h.appendChild(pd(this,"feMergeNode",{"in":"offsetBlur"}));h.appendChild(pd(this,"feMergeNode",{"in":"SourceGraphic"}));b.appendChild(c);b.appendChild(d);b.appendChild(e);b.appendChild(g);b.appendChild(h);0=2*Math.PI?(rd(a,b,c,d,e,e+Math.PI,h),rd(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 qd(a,b,c,d,e,g,h){var k=new jd;k.Zb=[b,c,d,e,g,h];b={};Ad(a,"g",b,k);k=a.addElement("g",b);a.Ff.push(k)}
+f.jb=function(){if(0!==this.shadowOffsetX||0!==this.shadowOffsetY||0!==this.shadowBlur){var a="SHADOW"+D.Hm++,b=this.addElement("filter",{id:a,x:"-100%",y:"-100%",width:"300%",height:"300%"},null),c,d,e,g,h;c=pd(this,"feGaussianBlur",{"in":"SourceAlpha",result:"blur",BM:this.shadowBlur/2});d=pd(this,"feFlood",{"in":"blur",result:"flood","flood-color":this.shadowColor});e=pd(this,"feComposite",{"in":"flood",in2:"blur",operator:"in",result:"comp"});g=pd(this,"feOffset",{"in":"comp",result:"offsetBlur",
+dx:this.shadowOffsetX,dy:this.shadowOffsetY});h=pd(this,"feMerge",{});h.appendChild(pd(this,"feMergeNode",{"in":"offsetBlur"}));h.appendChild(pd(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.or?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.or?this.clip():this.fill()};
-f.Wj=function(){this.or||this.stroke()};D.defineProperty(Dd,{cq:"clipInsteadOfFill"},function(){return this.or},function(a){this.or=a});f=Dd.prototype;f.NB=function(a,b,c){this.st=a;this.tt=b;this.Ng=c};f.uo=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};f.vo=function(){this.shadowOffsetX=this.st;this.shadowOffsetY=this.tt;this.shadowBlur=this.Ng};
-f.JA=function(a,b){var c=this.xa;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.EA=function(){var a=this.xa;void 0!==a.setLineDash?(a.setLineDash(D.Do),a.lineDashOffset=0):void 0!==a.webkitLineDash?(a.webkitLineDash=D.Do,a.webkitLineDashOffset=0):void 0!==a.mozDash&&(a.mozDash=null,a.mozDashOffset=0)};
-f.Be=function(a){a&&(this.ez="");this.dz=this.fz=""};
+f.transform=function(a,b,c,d,e,g){1===a&&0===b&&0===c&&1===d&&0===e&&0===g||this.xa.transform(a,b,c,d,e,g)};f.translate=function(a,b){this.xa.translate(a,b)};f.Xg=function(a){if(a instanceof Ba&&a.type===Ed){var b=a.No;a=a.kz;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.or?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.or?this.clip():this.fill()};
+f.Wj=function(){this.or||this.stroke()};D.defineProperty(Dd,{cq:"clipInsteadOfFill"},function(){return this.or},function(a){this.or=a});f=Dd.prototype;f.NB=function(a,b,c){this.st=a;this.tt=b;this.Og=c};f.uo=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};f.vo=function(){this.shadowOffsetX=this.st;this.shadowOffsetY=this.tt;this.shadowBlur=this.Og};
+f.KA=function(a,b){var c=this.xa;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.FA=function(){var a=this.xa;void 0!==a.setLineDash?(a.setLineDash(D.Do),a.lineDashOffset=0):void 0!==a.webkitLineDash?(a.webkitLineDash=D.Do,a.webkitLineDashOffset=0):void 0!==a.mozDash&&(a.mozDash=null,a.mozDashOffset=0)};
+f.Be=function(a){a&&(this.fz="");this.ez=this.gz=""};
var Fd=(Math.sqrt(2)-1)/3*4,Gd=(new O(0,0)).Na(),Hd=(new B(0,0,0,0)).Na(),Sd=(new Ib(0,0,0,0)).Na(),Td=(new Ib(2,2,2,2)).Na(),Ud=(new O(6,6)).Na(),Vd=(new O(-Infinity,-Infinity)).Na(),Wd=(new O(Infinity,Infinity)).Na(),Xd=(new Ca(0,0)).Na(),Yd=(new Ca(1,1)).Na(),Zd=(new Ca(6,6)).Na(),$d=(new Ca(8,8)).Na(),ae=(new Ca(10,10)).Na(),he=(new Ca(Infinity,Infinity)).Na(),ie=(new O(NaN,NaN)).Na(),je=(new Ca(NaN,NaN)).Na(),ke=(new B(NaN,NaN,NaN,NaN)).Na(),le=(new R(.156,.156)).Na(),me=(new R(.844,.844)).Na(),
ne=new la,oe=new la,pe=null;function qe(a){if(0>=a)return 0;var b=pe;if(null===b){for(var b=[],c=0;2E3>=c;c++)b[c]=Math.sqrt(c);pe=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=e&&(e=1E-6);var k=0,l=0,m=0,n=0;am-n)if(a-c>e||c-a>e){if(g=(d-b)/(c-a)*(g-a)+b,g-e<=h&&h<=g+e)return!0}else return!0;else if(b-d>e||d-b>e){if(h=(c-a)/(d-b)*(h-b)+a,h-e<=g&&g<=h+e)return!0}else return!0;return!1}
@@ -251,1207 +251,1207 @@ function Te(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.ma.toString()+" "+this.ka.toString()+"L"+this.H.toString()+" "+this.I.toString():"M"+this.ma.toFixed(a)+" "+this.ka.toFixed(a)+"L"+this.H.toFixed(a)+" "+this.I.toFixed(a);case rf:var b=new B(this.ma,this.ka,0,0);b.jH(this.H,this.I,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 sf:b=new B(this.ma,this.ka,0,0);b.jH(this.H,this.I,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 Ze:for(var b="",c=this.lc.o,d=c.length,e=0;e=u-1?!0:null!==l[m+1].match(/[A-Za-z]/)}function d(){m++;return l[m]}function e(){var a=new O(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 O(2*s.x-r.x,2*s.y-r.y)}void 0===b&&(b=!1);"string"!==typeof a&&D.hc(a,"string",Ye,"parse:str");a=a.replace(/,/gm," ");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,
+p*p)),n=l*p-n,a=Math.sqrt(n*n+a*a)):a=Math.abs(n-l);return a}function Ye(a){1a?"M"+this.la.toString()+" "+this.ja.toString()+"L"+this.G.toString()+" "+this.H.toString():"M"+this.la.toFixed(a)+" "+this.ja.toFixed(a)+"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);case rf:var b=new B(this.la,this.ja,0,0);b.kH(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 sf:b=new B(this.la,this.ja,0,0);b.kH(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 Ze:for(var b="",c=this.mc.o,d=c.length,e=0;e=u-1?!0:null!==l[m+1].match(/[A-Za-z]/)}function d(){m++;return l[m]}function e(){var a=new O(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 O(2*s.x-r.x,2*s.y-r.y)}void 0===b&&(b=!1);"string"!==typeof a&&D.ic(a,"string",Ye,"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 O(0,0),r=new O(0,0),s=new O(0,
0),u=l.length,t=D.v(),y=!1,w=!1,C=!0,A=null;!(m>=u-1);)if(p=n,n=d(),""!==n)switch(n.toUpperCase()){case "X":C=!0;w=y=!1;break;case "M":A=g();null===t.dc||!0===C?(T(t,A.x,A.y,y,!1,!w),C=!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 O((n===n.toLowerCase()?s.x:0)+parseFloat(d()),s.y),t.lineTo(s.x,s.y);break;case "V":for(;!c();)s=A=new O(s.x,(n===n.toLowerCase()?s.y:0)+parseFloat(d())),t.lineTo(s.x,s.y);
-break;case "C":for(;!c();){var N=e(),H=h(),A=g();V(t,N.x,N.y,H.x,H.y,A.x,A.y)}break;case "S":for(;!c();)N=k(),H=h(),A=g(),V(t,N.x,N.y,H.x,H.y,A.x,A.y);break;case "Q":for(;!c();)H=h(),A=g(),xf(t,H.x,H.y,A.x,A.y);break;case "T":for(;!c();)r=H=k(),A=g(),xf(t,H.x,H.y,A.x,A.y);break;case "B":for(;!c();){var A=parseFloat(d()),N=parseFloat(d()),H=parseFloat(d()),W=parseFloat(d()),fa=parseFloat(d()),S=fa,ba=!1;c()||(S=parseFloat(d()),c()||(ba=0!==parseFloat(d())));n===n.toLowerCase()&&(H+=s.x,W+=s.y);t.arcTo(A,
-N,H,W,fa,S,ba)}break;case "A":for(;!c();)N=Math.abs(parseFloat(d())),H=Math.abs(parseFloat(d())),W=parseFloat(d()),fa=!!parseFloat(d()),S=!!parseFloat(d()),A=g(),yf(t,N,H,W,fa,S,A.x,A.y);break;case "Z":A=t.q.lc.o[t.q.lc.length-1];X(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]/)?y=!0:zf(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]/)?w=!0:t.ib(!1)}q=t.q;D.u(t);if(b)for(t=q.lc.j;t.next();)A=t.value,A.wu=!0;return q};function Af(a,b){for(var c=a.length,d=D.O(),e=0;eh&&(h+=360),s.Le+=h);0>a&&(s.Le=180-s.Le,s.yf=-s.yf);0>d&&(s.Le=-s.Le,s.yf=-s.yf);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.H;k=s.I;s.H=h*
-a+k*c+e;s.I=h*b+k*d+g;0!==b&&(h=180*Math.atan2(b,a)/Math.PI,0>h&&(h+=360),s.Zj+=h);0>a&&(s.Zj=180-s.Zj,s.tm=!s.tm);0>d&&(s.Zj=-s.Zj,s.tm=!s.tm);s.radiusX*=Math.sqrt(a*a+c*c);s.radiusY*=Math.sqrt(b*b+d*d);break;default:D.k("Unknown Segment type: "+s.type)}}}}this.lb=!0;return this};
-Ye.prototype.Oa=function(a,b,c,d){var e=a.x,g=a.y,h=this.mb.x-20;a=a.y;for(var k=0,l=0,m=0,n=0,p=0,q=0,r=this.lc.o,s=r.length,u=0;u=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.n(k+(c[2*n+2]-k)*d,e+(c[2*n+3]-e)*d),b;h+=p}b.n(NaN,NaN);return b};
-Ye.prototype.getFractionForPoint=Ye.prototype.MI=function(a){if(this.type===qf){var b=this.ma,c=this.ka,d=this.H,e=this.I;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===rf){if(b=this.ma,c=this.ka,d=this.H,e=this.I,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.MA,h=this.Mx,k=this.Nx,l=D.O(),c=Infinity,b=d=0,g=e.length,n=m=0,p=0;pa?0:1h&&(h+=360),s.Le+=h);0>a&&(s.Le=180-s.Le,s.zf=-s.zf);0>d&&(s.Le=-s.Le,s.zf=-s.zf);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.Zj+=h);0>a&&(s.Zj=180-s.Zj,s.um=!s.um);0>d&&(s.Zj=-s.Zj,s.um=!s.um);s.radiusX*=Math.sqrt(a*a+c*c);s.radiusY*=Math.sqrt(b*b+d*d);break;default:D.k("Unknown Segment type: "+s.type)}}}}this.mb=!0;return this};
+Ye.prototype.Oa=function(a,b,c,d){var e=a.x,g=a.y,h=this.nb.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,u=0;u=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.n(k+(c[2*n+2]-k)*d,e+(c[2*n+3]-e)*d),b;h+=p}b.n(NaN,NaN);return b};
+Ye.prototype.getAngleAlongPath=Ye.prototype.xF=function(a){0>a?a=0:1=e)return b=b[h],b=180*Math.atan2(b[2*a+3]-b[2*a+1],b[2*a+2]-b[2*a])/Math.PI;g+=m}}return NaN};
+Ye.prototype.getFractionForPoint=Ye.prototype.NI=function(a){if(this.type===qf){var b=this.la,c=this.ja,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===rf){if(b=this.la,c=this.ja,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.Ox,h=this.ju,k=this.ku,l=D.O(),c=Infinity,b=d=0,g=e.length,n=m=0,p=0;pa?0:1a?"M"+this.ma.toString()+" "+this.ka.toString():"M"+this.ma.toFixed(a)+" "+this.ka.toFixed(a),c=this.Db.o,d=c.length,e=0;ea&&(a+=360),this.Pd=a,this.df=0,v&&D.p(d,Wf,"x1"),this.Ch=Math.max(d,0),v&&D.p(e,Wf,"y1"),this.Mg=Math.max(e,0),this.tp="boolean"===typeof h?!!h:!1,this.Lo=!!k):(v&&D.p(d,Wf,"x1"),this.Pd=d,v&&D.p(e,
-Wf,"y1"),this.df=e,v&&D.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Ch=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Mg=h):this.Mg=0,this.Lo=this.tp=!1);this.ei=!1;this.lb=!0;this.vg=null}D.ja("PathSegment",Wf);D.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.ca=this.ca;a.Ab=this.Ab;a.Ib=this.Ib;a.Pd=this.Pd;a.df=this.df;a.Ch=this.Ch;a.Mg=this.Mg;a.tp=this.tp;a.Lo=this.Lo;a.ei=this.ei;a.lb=this.lb;return a};
-Wf.prototype.equalsApprox=Wf.prototype.Tc=function(a){if(!(a instanceof Wf)||this.type!==a.type||this.Tx!==a.Tx)return!1;switch(this.type){case Cf:case uf:return Q(this.H,a.H)&&Q(this.I,a.I);case Df:return Q(this.H,a.H)&&Q(this.I,a.I)&&Q(this.Bc,a.Bc)&&Q(this.Xc,a.Xc)&&Q(this.Rh,a.Rh)&&Q(this.Sh,a.Sh);case Of:return Q(this.H,a.H)&&Q(this.I,a.I)&&Q(this.Bc,a.Bc)&&Q(this.Xc,a.Xc);case Pf:return Q(this.Le,a.Le)&&Q(this.yf,a.yf)&&Q(this.oa,a.oa)&&Q(this.va,a.va)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,
-a.radiusY);case Qf:return this.tm===a.tm&&this.Yx===a.Yx&&Q(this.Zj,a.Zj)&&Q(this.H,a.H)&&Q(this.I,a.I)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,a.radiusY);default:return!1}};Wf.prototype.oc=function(a){a.Ne===Wf?this.type=a:D.Xj(this,a)};
-Wf.prototype.toString=function(a){void 0===a&&(a=-1);var b="";switch(this.type){case Cf:b=0>a?"M"+this.H.toString()+" "+this.I.toString():"M"+this.H.toFixed(a)+" "+this.I.toFixed(a);break;case uf:b=0>a?"L"+this.H.toString()+" "+this.I.toString():"L"+this.H.toFixed(a)+" "+this.I.toFixed(a);break;case Df:b=0>a?"C"+this.Bc.toString()+" "+this.Xc.toString()+" "+this.Rh.toString()+" "+this.Sh.toString()+" "+this.H.toString()+" "+this.I.toString():"C"+this.Bc.toFixed(a)+" "+this.Xc.toFixed(a)+" "+this.Rh.toFixed(a)+
-" "+this.Sh.toFixed(a)+" "+this.H.toFixed(a)+" "+this.I.toFixed(a);break;case Of:b=0>a?"Q"+this.Bc.toString()+" "+this.Xc.toString()+" "+this.H.toString()+" "+this.I.toString():"Q"+this.Bc.toFixed(a)+" "+this.Xc.toFixed(a)+" "+this.H.toFixed(a)+" "+this.I.toFixed(a);break;case Pf:b=0>a?"B"+this.Le.toString()+" "+this.yf.toString()+" "+this.oa.toString()+" "+this.va.toString()+" "+this.radiusX:"B"+this.Le.toFixed(a)+" "+this.yf.toFixed(a)+" "+this.oa.toFixed(a)+" "+this.va.toFixed(a)+" "+this.radiusX;
-break;case Qf:b=0>a?"A"+this.radiusX.toString()+" "+this.radiusY.toString()+" "+this.Zj.toString()+" "+(this.Yx?1:0)+" "+(this.tm?1:0)+" "+this.H.toString()+" "+this.I.toString():"A"+this.radiusX.toFixed(a)+" "+this.radiusY.toFixed(a)+" "+this.Zj.toFixed(a)+" "+(this.Yx?1:0)+" "+(this.tm?1:0)+" "+this.H.toFixed(a)+" "+this.I.toFixed(a);break;default:b=this.type.toString()}return b+(this.ei?"z":"")};var Cf;Wf.Move=Cf=D.s(Wf,"Move",0);var uf;Wf.Line=uf=D.s(Wf,"Line",1);var Df;
-Wf.Bezier=Df=D.s(Wf,"Bezier",2);var Of;Wf.QuadraticBezier=Of=D.s(Wf,"QuadraticBezier",3);var Pf;Wf.Arc=Pf=D.s(Wf,"Arc",4);var Qf;Wf.SvgArc=Qf=D.s(Wf,"SvgArc",4);Wf.prototype.freeze=function(){this.J=!0;return this};Wf.prototype.Ya=function(){this.J=!1;return this};Wf.prototype.close=Wf.prototype.close=function(){this.ei=!0;return this};
-function Rf(a,b){if(null!==a.vg&&!1===b.lb)return a.vg;var c=a.radiusX,d=a.radiusY;void 0===d&&(d=c);if(0===c||0===d)return a.vg=[],a.vg;var e=a.Pd,g=a.df,h=Ve(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=Ve(b>g?b:g,n,n+h,!0);g=D.Pf();g.reset();g.translate(c,d);g.rotate(a.Pd,0,0);g.scale(l,r);Af(b,g);D.He(g);a.vg=b;return a.vg}
-D.defineProperty(Wf,{Tx:"isClosed"},function(){return this.ei},function(a){this.ei!==a&&(this.ei=a,this.lb=!0)});D.defineProperty(Wf,{type:"type"},function(){return this.ca},function(a){v&&D.Da(a,Wf,Wf,"type");this.J&&D.pa(this,a);this.ca=a;this.lb=!0});D.defineProperty(Wf,{H:"endX"},function(){return this.Ab},function(a){v&&D.p(a,Wf,"endX");this.J&&D.pa(this,a);this.Ab=a;this.lb=!0});
-D.defineProperty(Wf,{I:"endY"},function(){return this.Ib},function(a){v&&D.p(a,Wf,"endY");this.J&&D.pa(this,a);this.Ib=a;this.lb=!0});D.defineProperty(Wf,{Bc:"point1X"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"point1X");this.J&&D.pa(this,a);this.Pd=a;this.lb=!0});D.defineProperty(Wf,{Xc:"point1Y"},function(){return this.df},function(a){v&&D.p(a,Wf,"point1Y");this.J&&D.pa(this,a);this.df=a;this.lb=!0});
-D.defineProperty(Wf,{Rh:"point2X"},function(){return this.Ch},function(a){v&&D.p(a,Wf,"point2X");this.J&&D.pa(this,a);this.Ch=a;this.lb=!0});D.defineProperty(Wf,{Sh:"point2Y"},function(){return this.Mg},function(a){v&&D.p(a,Wf,"point2Y");this.J&&D.pa(this,a);this.Mg=a;this.lb=!0});D.defineProperty(Wf,{oa:"centerX"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"centerX");this.J&&D.pa(this,a);this.Pd=a;this.lb=!0});
-D.defineProperty(Wf,{va:"centerY"},function(){return this.df},function(a){v&&D.p(a,Wf,"centerY");this.J&&D.pa(this,a);this.df=a;this.lb=!0});D.defineProperty(Wf,{radiusX:"radiusX"},function(){return this.Ch},function(a){v&&D.p(a,Wf,"radiusX");0>a&&D.ua(a,">= zero",Wf,"radiusX");this.J&&D.pa(this,a);this.Ch=a;this.lb=!0});D.defineProperty(Wf,{radiusY:"radiusY"},function(){return this.Mg},function(a){v&&D.p(a,Wf,"radiusY");0>a&&D.ua(a,">= zero",Wf,"radiusY");this.J&&D.pa(this,a);this.Mg=a;this.lb=!0});
-D.defineProperty(Wf,{Le:"startAngle"},function(){return this.Ab},function(a){this.Ab!==a&&(this.J&&D.pa(this,a),v&&D.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Ab=a,this.lb=!0)});D.defineProperty(Wf,{yf:"sweepAngle"},function(){return this.Ib},function(a){v&&D.p(a,Wf,"sweepAngle");this.J&&D.pa(this,a);360a&&(a=-360);this.Ib=a;this.lb=!0});D.defineProperty(Wf,{tm:"isClockwiseArc"},function(){return this.Lo},function(a){this.J&&D.pa(this,a);this.Lo=a;this.lb=!0});
-D.defineProperty(Wf,{Yx:"isLargeArc"},function(){return this.tp},function(a){this.J&&D.pa(this,a);this.tp=a;this.lb=!0});D.defineProperty(Wf,{Zj:"xAxisRotation"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.J&&D.pa(this,a);this.Pd=a;this.lb=!0});
-function Yf(){this.ba=null;this.lA=(new O(0,0)).freeze();this.sz=(new O(0,0)).freeze();this.zv=this.ww=0;this.Av=1;this.kw="";this.ex=this.Ov=!1;this.Lv=this.Bv=0;this.ak=this.Wv=this.gw=!1;this.Rr=null;this.ax=0;this.Qg=this.$w=null}D.ja("InputEvent",Yf);
-Yf.prototype.copy=function(){var a=new Yf;a.ba=this.ba;a.lA.assign(this.qe);a.sz.assign(this.ha);a.ww=this.ww;a.zv=this.zv;a.Av=this.Av;a.kw=this.kw;a.Ov=this.Ov;a.ex=this.ex;a.Bv=this.Bv;a.Lv=this.Lv;a.gw=this.gw;a.Wv=this.Wv;a.ak=this.ak;a.Rr=this.Rr;a.ax=this.ax;a.$w=this.$w;a.Qg=this.Qg;return a};
-Yf.prototype.toString=function(){var a="^";0!==this.Kd&&(a+="M:"+this.Kd);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Oe&&(a+="C:"+this.Oe);0!==this.im&&(a+="D:"+this.im);this.Mc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};D.defineProperty(Yf,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});D.defineProperty(Yf,{qe:"viewPoint"},function(){return this.lA},function(a){D.l(a,O,Yf,"viewPoint");this.lA.assign(a)});
-D.defineProperty(Yf,{ha:"documentPoint"},function(){return this.sz},function(a){D.l(a,O,Yf,"documentPoint");this.sz.assign(a)});Yf.prototype.getMultiTouchViewPoint=Yf.prototype.Px=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.YB(b));return b};D.defineProperty(Yf,{Kd:"modifiers"},function(){return this.ww},function(a){this.ww=a});
-D.defineProperty(Yf,{button:"button"},function(){return this.zv},function(a){this.zv=a;if(null===this.event)switch(a){case 0:this.buttons=1;break;case 1:this.buttons=4;break;case 2:this.buttons=2}});D.defineProperty(Yf,{buttons:"buttons"},function(){return this.Av},function(a){this.Av=a});D.defineProperty(Yf,{key:"key"},function(){return this.kw},function(a){this.kw=a});D.defineProperty(Yf,{jm:"down"},function(){return this.Ov},function(a){this.Ov=a});
-D.defineProperty(Yf,{up:"up"},function(){return this.ex},function(a){this.ex=a});D.defineProperty(Yf,{Oe:"clickCount"},function(){return this.Bv},function(a){this.Bv=a});D.defineProperty(Yf,{im:"delta"},function(){return this.Lv},function(a){this.Lv=a});D.defineProperty(Yf,{yu:"isMultiTouch"},function(){return this.gw},function(a){this.gw=a});D.defineProperty(Yf,{Mc:"handled"},function(){return this.Wv},function(a){this.Wv=a});
-D.defineProperty(Yf,{bubbles:"bubbles"},function(){return this.ak},function(a){this.ak=a});D.defineProperty(Yf,{event:"event"},function(){return this.Rr},function(a){this.Rr=a});D.w(Yf,{Mj:"isTouchEvent"},function(){var a=window.TouchEvent;return a&&this.event instanceof a?!0:(a=window.PointerEvent)&&this.event instanceof a&&"touch"===this.event.pointerType});D.w(Yf,{Wk:"isMac"},function(){return D.Wk});D.defineProperty(Yf,{timestamp:"timestamp"},function(){return this.ax},function(a){this.ax=a});
-D.defineProperty(Yf,{gh:"targetDiagram"},function(){return this.$w},function(a){this.$w=a});D.defineProperty(Yf,{We:"targetObject"},function(){return this.Qg},function(a){this.Qg=a});D.defineProperty(Yf,{control:"control"},function(){return 0!==(this.Kd&1)},function(a){this.Kd=a?this.Kd|1:this.Kd&-2});D.defineProperty(Yf,{shift:"shift"},function(){return 0!==(this.Kd&4)},function(a){this.Kd=a?this.Kd|4:this.Kd&-5});
-D.defineProperty(Yf,{alt:"alt"},function(){return 0!==(this.Kd&2)},function(a){this.Kd=a?this.Kd|2:this.Kd&-3});D.defineProperty(Yf,{Hu:"meta"},function(){return 0!==(this.Kd&8)},function(a){this.Kd=a?this.Kd|8:this.Kd&-9});D.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});
-D.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});D.defineProperty(Yf,{ZL:"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.ba=null;this.Xb="";this.Gw=this.Yw=null;this.lr=!1}D.ja("DiagramEvent",$f);$f.prototype.copy=function(){var a=new $f;a.ba=this.ba;a.Xb=this.Xb;a.Yw=this.Yw;a.Gw=this.Gw;a.lr=this.lr;return a};$f.prototype.toString=function(){var a="*"+this.name;null!==this.PB&&(a+=":"+this.PB.toString());null!==this.uB&&(a+="("+this.uB.toString()+")");return a};D.defineProperty($f,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});
-D.defineProperty($f,{name:"name"},function(){return this.Xb},function(a){this.Xb=a});D.defineProperty($f,{PB:"subject"},function(){return this.Yw},function(a){this.Yw=a});D.defineProperty($f,{uB:"parameter"},function(){return this.Gw},function(a){this.Gw=a});D.defineProperty($f,{cancel:"cancel"},function(){return this.lr},function(a){this.lr!==a&&D.Pn("DiagramEvent.cancel","2.0");this.lr=a});function ag(){this.mr=bg;this.ln=this.vw="";this.Ls=this.Ms=this.Qs=this.Rs=this.Ps=this.ba=this.ve=null}
-D.ja("ChangedEvent",ag);var cg;ag.Transaction=cg=D.s(ag,"Transaction",-1);var bg;ag.Property=bg=D.s(ag,"Property",0);var dg;ag.Insert=dg=D.s(ag,"Insert",1);var og;ag.Remove=og=D.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ls=this.Ms=this.Qs=this.Rs=this.Ps=this.ba=this.ve=null};
-ag.prototype.copy=function(){var a=new ag;a.mr=this.mr;a.vw=this.vw;a.ln=this.ln;a.ve=this.ve;a.ba=this.ba;a.Ps=this.Ps;var b=this.Rs;a.Rs=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Qs;a.Qs=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Ms;a.Ms=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=D.Ta(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.oc=function(a){a.Ne===ag?this.Jc=a:D.Xj(this,a)};
-ag.prototype.toString=function(){var a="",a=this.Jc===cg?a+"* ":this.Jc===bg?a+(null!==this.ga?"!m":"!d"):a+((null!==this.ga?"!m":"!d")+this.Jc);this.propertyName&&"string"===typeof this.propertyName&&(a+=" "+this.propertyName);this.xf&&this.xf!==this.propertyName&&(a+=" "+this.xf);a+=": ";this.Jc===cg?null!==this.oldValue&&(a+=" "+this.oldValue):(null!==this.object&&(a+=ja(this.object)),null!==this.oldValue&&(a+=" old: "+ja(this.oldValue)),null!==this.Tj&&(a+=" "+this.Tj),null!==this.newValue&&
+D.defineProperty(Ye,{je:"defaultStretch"},function(){return this.Ui},function(a){v&&D.Da(a,P,Ye,"stretch");this.J&&D.pa(this,a);this.Ui=a});D.w(Ye,{nb:"bounds"},function(){this.Yx()&&(this.Oy(),this.Lh());return this.Ev});function $e(a,b,c,d){D.uc(this);this.J=!1;void 0===c&&(c=!0);this.Tm=c;void 0===d&&(d=!0);this.op=d;void 0!==a?(v&&D.p(a,$e,"sx"),this.xc=a):this.xc=0;void 0!==b?(v&&D.p(b,$e,"sy"),this.Hc=b):this.Hc=0;this.Kp=new K(Wf);this.Vw=this.Kp.I;this.mb=!0}D.ka("PathFigure",$e);D.Ai($e);
+$e.prototype.copy=function(){var a=new $e;a.Tm=this.Tm;a.op=this.op;a.xc=this.xc;a.Hc=this.Hc;for(var b=this.Kp.o,c=b.length,d=a.Kp,e=0;ea?"M"+this.la.toString()+" "+this.ja.toString():"M"+this.la.toFixed(a)+" "+this.ja.toFixed(a),c=this.Db.o,d=c.length,e=0;ea&&(a+=360),this.Pd=a,this.ef=0,v&&D.p(d,Wf,"x1"),this.Dh=Math.max(d,0),v&&D.p(e,Wf,"y1"),this.Ng=Math.max(e,0),this.tp="boolean"===typeof h?!!h:!1,this.Lo=!!k):(v&&D.p(d,Wf,"x1"),this.Pd=d,v&&D.p(e,
+Wf,"y1"),this.ef=e,v&&D.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Dh=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Ng=h):this.Ng=0,this.Lo=this.tp=!1);this.fi=!1;this.mb=!0;this.wg=null}D.ka("PathSegment",Wf);D.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.ca=this.ca;a.Ab=this.Ab;a.Ib=this.Ib;a.Pd=this.Pd;a.ef=this.ef;a.Dh=this.Dh;a.Ng=this.Ng;a.tp=this.tp;a.Lo=this.Lo;a.fi=this.fi;a.mb=this.mb;return a};
+Wf.prototype.equalsApprox=Wf.prototype.Tc=function(a){if(!(a instanceof Wf)||this.type!==a.type||this.Ux!==a.Ux)return!1;switch(this.type){case Cf:case uf:return Q(this.G,a.G)&&Q(this.H,a.H);case Df:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Bc,a.Bc)&&Q(this.Xc,a.Xc)&&Q(this.Sh,a.Sh)&&Q(this.Th,a.Th);case Of:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Bc,a.Bc)&&Q(this.Xc,a.Xc);case Pf:return Q(this.Le,a.Le)&&Q(this.zf,a.zf)&&Q(this.oa,a.oa)&&Q(this.va,a.va)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,
+a.radiusY);case Qf:return this.um===a.um&&this.Zx===a.Zx&&Q(this.Zj,a.Zj)&&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.Ne===Wf?this.type=a:D.Xj(this,a)};
+Wf.prototype.toString=function(a){void 0===a&&(a=-1);var b="";switch(this.type){case Cf:b=0>a?"M"+this.G.toString()+" "+this.H.toString():"M"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case uf:b=0>a?"L"+this.G.toString()+" "+this.H.toString():"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Df:b=0>a?"C"+this.Bc.toString()+" "+this.Xc.toString()+" "+this.Sh.toString()+" "+this.Th.toString()+" "+this.G.toString()+" "+this.H.toString():"C"+this.Bc.toFixed(a)+" "+this.Xc.toFixed(a)+" "+this.Sh.toFixed(a)+
+" "+this.Th.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Of:b=0>a?"Q"+this.Bc.toString()+" "+this.Xc.toString()+" "+this.G.toString()+" "+this.H.toString():"Q"+this.Bc.toFixed(a)+" "+this.Xc.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Pf:b=0>a?"B"+this.Le.toString()+" "+this.zf.toString()+" "+this.oa.toString()+" "+this.va.toString()+" "+this.radiusX:"B"+this.Le.toFixed(a)+" "+this.zf.toFixed(a)+" "+this.oa.toFixed(a)+" "+this.va.toFixed(a)+" "+this.radiusX;
+break;case Qf:b=0>a?"A"+this.radiusX.toString()+" "+this.radiusY.toString()+" "+this.Zj.toString()+" "+(this.Zx?1:0)+" "+(this.um?1:0)+" "+this.G.toString()+" "+this.H.toString():"A"+this.radiusX.toFixed(a)+" "+this.radiusY.toFixed(a)+" "+this.Zj.toFixed(a)+" "+(this.Zx?1:0)+" "+(this.um?1:0)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;default:b=this.type.toString()}return b+(this.fi?"z":"")};var Cf;Wf.Move=Cf=D.s(Wf,"Move",0);var uf;Wf.Line=uf=D.s(Wf,"Line",1);var Df;
+Wf.Bezier=Df=D.s(Wf,"Bezier",2);var Of;Wf.QuadraticBezier=Of=D.s(Wf,"QuadraticBezier",3);var Pf;Wf.Arc=Pf=D.s(Wf,"Arc",4);var Qf;Wf.SvgArc=Qf=D.s(Wf,"SvgArc",4);Wf.prototype.freeze=function(){this.J=!0;return this};Wf.prototype.Ya=function(){this.J=!1;return this};Wf.prototype.close=Wf.prototype.close=function(){this.fi=!0;return this};
+function Rf(a,b){if(null!==a.wg&&!1===b.mb)return a.wg;var c=a.radiusX,d=a.radiusY;void 0===d&&(d=c);if(0===c||0===d)return a.wg=[],a.wg;var e=a.Pd,g=a.ef,h=Ve(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=Ve(b>g?b:g,n,n+h,!0);g=D.Qf();g.reset();g.translate(c,d);g.rotate(a.Pd,0,0);g.scale(l,r);Af(b,g);D.He(g);a.wg=b;return a.wg}
+D.defineProperty(Wf,{Ux:"isClosed"},function(){return this.fi},function(a){this.fi!==a&&(this.fi=a,this.mb=!0)});D.defineProperty(Wf,{type:"type"},function(){return this.ca},function(a){v&&D.Da(a,Wf,Wf,"type");this.J&&D.pa(this,a);this.ca=a;this.mb=!0});D.defineProperty(Wf,{G:"endX"},function(){return this.Ab},function(a){v&&D.p(a,Wf,"endX");this.J&&D.pa(this,a);this.Ab=a;this.mb=!0});
+D.defineProperty(Wf,{H:"endY"},function(){return this.Ib},function(a){v&&D.p(a,Wf,"endY");this.J&&D.pa(this,a);this.Ib=a;this.mb=!0});D.defineProperty(Wf,{Bc:"point1X"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"point1X");this.J&&D.pa(this,a);this.Pd=a;this.mb=!0});D.defineProperty(Wf,{Xc:"point1Y"},function(){return this.ef},function(a){v&&D.p(a,Wf,"point1Y");this.J&&D.pa(this,a);this.ef=a;this.mb=!0});
+D.defineProperty(Wf,{Sh:"point2X"},function(){return this.Dh},function(a){v&&D.p(a,Wf,"point2X");this.J&&D.pa(this,a);this.Dh=a;this.mb=!0});D.defineProperty(Wf,{Th:"point2Y"},function(){return this.Ng},function(a){v&&D.p(a,Wf,"point2Y");this.J&&D.pa(this,a);this.Ng=a;this.mb=!0});D.defineProperty(Wf,{oa:"centerX"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"centerX");this.J&&D.pa(this,a);this.Pd=a;this.mb=!0});
+D.defineProperty(Wf,{va:"centerY"},function(){return this.ef},function(a){v&&D.p(a,Wf,"centerY");this.J&&D.pa(this,a);this.ef=a;this.mb=!0});D.defineProperty(Wf,{radiusX:"radiusX"},function(){return this.Dh},function(a){v&&D.p(a,Wf,"radiusX");0>a&&D.ua(a,">= zero",Wf,"radiusX");this.J&&D.pa(this,a);this.Dh=a;this.mb=!0});D.defineProperty(Wf,{radiusY:"radiusY"},function(){return this.Ng},function(a){v&&D.p(a,Wf,"radiusY");0>a&&D.ua(a,">= zero",Wf,"radiusY");this.J&&D.pa(this,a);this.Ng=a;this.mb=!0});
+D.defineProperty(Wf,{Le:"startAngle"},function(){return this.Ab},function(a){this.Ab!==a&&(this.J&&D.pa(this,a),v&&D.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Ab=a,this.mb=!0)});D.defineProperty(Wf,{zf:"sweepAngle"},function(){return this.Ib},function(a){v&&D.p(a,Wf,"sweepAngle");this.J&&D.pa(this,a);360a&&(a=-360);this.Ib=a;this.mb=!0});D.defineProperty(Wf,{um:"isClockwiseArc"},function(){return this.Lo},function(a){this.J&&D.pa(this,a);this.Lo=a;this.mb=!0});
+D.defineProperty(Wf,{Zx:"isLargeArc"},function(){return this.tp},function(a){this.J&&D.pa(this,a);this.tp=a;this.mb=!0});D.defineProperty(Wf,{Zj:"xAxisRotation"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.J&&D.pa(this,a);this.Pd=a;this.mb=!0});
+function Yf(){this.ba=null;this.mA=(new O(0,0)).freeze();this.uz=(new O(0,0)).freeze();this.Bv=this.yw=0;this.Cv=1;this.mw="";this.hx=this.Qv=!1;this.Nv=this.Dv=0;this.ak=this.Yv=this.iw=!1;this.Rr=null;this.ex=0;this.Rg=this.bx=null}D.ka("InputEvent",Yf);
+Yf.prototype.copy=function(){var a=new Yf;a.ba=this.ba;a.mA.assign(this.qe);a.uz.assign(this.ha);a.yw=this.yw;a.Bv=this.Bv;a.Cv=this.Cv;a.mw=this.mw;a.Qv=this.Qv;a.hx=this.hx;a.Dv=this.Dv;a.Nv=this.Nv;a.iw=this.iw;a.Yv=this.Yv;a.ak=this.ak;a.Rr=this.Rr;a.ex=this.ex;a.bx=this.bx;a.Rg=this.Rg;return a};
+Yf.prototype.toString=function(){var a="^";0!==this.Kd&&(a+="M:"+this.Kd);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Oe&&(a+="C:"+this.Oe);0!==this.jm&&(a+="D:"+this.jm);this.Mc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};D.defineProperty(Yf,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});D.defineProperty(Yf,{qe:"viewPoint"},function(){return this.mA},function(a){D.l(a,O,Yf,"viewPoint");this.mA.assign(a)});
+D.defineProperty(Yf,{ha:"documentPoint"},function(){return this.uz},function(a){D.l(a,O,Yf,"documentPoint");this.uz.assign(a)});Yf.prototype.getMultiTouchViewPoint=Yf.prototype.Qx=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.YB(b));return b};D.defineProperty(Yf,{Kd:"modifiers"},function(){return this.yw},function(a){this.yw=a});
+D.defineProperty(Yf,{button:"button"},function(){return this.Bv},function(a){this.Bv=a;if(null===this.event)switch(a){case 0:this.buttons=1;break;case 1:this.buttons=4;break;case 2:this.buttons=2}});D.defineProperty(Yf,{buttons:"buttons"},function(){return this.Cv},function(a){this.Cv=a});D.defineProperty(Yf,{key:"key"},function(){return this.mw},function(a){this.mw=a});D.defineProperty(Yf,{km:"down"},function(){return this.Qv},function(a){this.Qv=a});
+D.defineProperty(Yf,{up:"up"},function(){return this.hx},function(a){this.hx=a});D.defineProperty(Yf,{Oe:"clickCount"},function(){return this.Dv},function(a){this.Dv=a});D.defineProperty(Yf,{jm:"delta"},function(){return this.Nv},function(a){this.Nv=a});D.defineProperty(Yf,{Au:"isMultiTouch"},function(){return this.iw},function(a){this.iw=a});D.defineProperty(Yf,{Mc:"handled"},function(){return this.Yv},function(a){this.Yv=a});
+D.defineProperty(Yf,{bubbles:"bubbles"},function(){return this.ak},function(a){this.ak=a});D.defineProperty(Yf,{event:"event"},function(){return this.Rr},function(a){this.Rr=a});D.w(Yf,{Mj:"isTouchEvent"},function(){var a=window.TouchEvent;return a&&this.event instanceof a?!0:(a=window.PointerEvent)&&this.event instanceof a&&"touch"===this.event.pointerType});D.w(Yf,{Xk:"isMac"},function(){return D.Xk});D.defineProperty(Yf,{timestamp:"timestamp"},function(){return this.ex},function(a){this.ex=a});
+D.defineProperty(Yf,{hh:"targetDiagram"},function(){return this.bx},function(a){this.bx=a});D.defineProperty(Yf,{We:"targetObject"},function(){return this.Rg},function(a){this.Rg=a});D.defineProperty(Yf,{control:"control"},function(){return 0!==(this.Kd&1)},function(a){this.Kd=a?this.Kd|1:this.Kd&-2});D.defineProperty(Yf,{shift:"shift"},function(){return 0!==(this.Kd&4)},function(a){this.Kd=a?this.Kd|4:this.Kd&-5});
+D.defineProperty(Yf,{alt:"alt"},function(){return 0!==(this.Kd&2)},function(a){this.Kd=a?this.Kd|2:this.Kd&-3});D.defineProperty(Yf,{Ju:"meta"},function(){return 0!==(this.Kd&8)},function(a){this.Kd=a?this.Kd|8:this.Kd&-9});D.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});
+D.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});D.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.ba=null;this.Yb="";this.Iw=this.$w=null;this.lr=!1}D.ka("DiagramEvent",$f);$f.prototype.copy=function(){var a=new $f;a.ba=this.ba;a.Yb=this.Yb;a.$w=this.$w;a.Iw=this.Iw;a.lr=this.lr;return a};$f.prototype.toString=function(){var a="*"+this.name;null!==this.PB&&(a+=":"+this.PB.toString());null!==this.uB&&(a+="("+this.uB.toString()+")");return a};D.defineProperty($f,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});
+D.defineProperty($f,{name:"name"},function(){return this.Yb},function(a){this.Yb=a});D.defineProperty($f,{PB:"subject"},function(){return this.$w},function(a){this.$w=a});D.defineProperty($f,{uB:"parameter"},function(){return this.Iw},function(a){this.Iw=a});D.defineProperty($f,{cancel:"cancel"},function(){return this.lr},function(a){this.lr!==a&&D.Pn("DiagramEvent.cancel","2.0");this.lr=a});function ag(){this.mr=bg;this.ln=this.xw="";this.Ls=this.Ms=this.Qs=this.Rs=this.Ps=this.ba=this.ve=null}
+D.ka("ChangedEvent",ag);var cg;ag.Transaction=cg=D.s(ag,"Transaction",-1);var bg;ag.Property=bg=D.s(ag,"Property",0);var ng;ag.Insert=ng=D.s(ag,"Insert",1);var og;ag.Remove=og=D.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ls=this.Ms=this.Qs=this.Rs=this.Ps=this.ba=this.ve=null};
+ag.prototype.copy=function(){var a=new ag;a.mr=this.mr;a.xw=this.xw;a.ln=this.ln;a.ve=this.ve;a.ba=this.ba;a.Ps=this.Ps;var b=this.Rs;a.Rs=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Qs;a.Qs=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Ms;a.Ms=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=D.Ta(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.pc=function(a){a.Ne===ag?this.Jc=a:D.Xj(this,a)};
+ag.prototype.toString=function(){var a="",a=this.Jc===cg?a+"* ":this.Jc===bg?a+(null!==this.ga?"!m":"!d"):a+((null!==this.ga?"!m":"!d")+this.Jc);this.propertyName&&"string"===typeof this.propertyName&&(a+=" "+this.propertyName);this.yf&&this.yf!==this.propertyName&&(a+=" "+this.yf);a+=": ";this.Jc===cg?null!==this.oldValue&&(a+=" "+this.oldValue):(null!==this.object&&(a+=ja(this.object)),null!==this.oldValue&&(a+=" old: "+ja(this.oldValue)),null!==this.Tj&&(a+=" "+this.Tj),null!==this.newValue&&
(a+=" new: "+ja(this.newValue)),null!==this.Rj&&(a+=" "+this.Rj));return a};ag.prototype.getValue=ag.prototype.na=function(a){return a?this.oldValue:this.newValue};ag.prototype.getParam=function(a){return a?this.Tj:this.Rj};ag.prototype.canUndo=ag.prototype.canUndo=function(){return null!==this.ga||null!==this.g?!0:!1};ag.prototype.undo=ag.prototype.undo=function(){this.canUndo()&&(null!==this.ga?this.ga.Gn(this,!0):null!==this.g&&this.g.Gn(this,!0))};
ag.prototype.canRedo=ag.prototype.canRedo=function(){return null!==this.ga||null!==this.g?!0:!1};ag.prototype.redo=ag.prototype.redo=function(){this.canRedo()&&(null!==this.ga?this.ga.Gn(this,!1):null!==this.g&&this.g.Gn(this,!1))};D.defineProperty(ag,{ga:"model"},function(){return this.ve},function(a){this.ve=a});D.defineProperty(ag,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});
-D.defineProperty(ag,{Jc:"change"},function(){return this.mr},function(a){v&&D.Da(a,ag,ag,"change");this.mr=a});D.defineProperty(ag,{xf:"modelChange"},function(){return this.vw},function(a){v&&D.h(a,"string",ag,"modelChange");this.vw=a});D.defineProperty(ag,{propertyName:"propertyName"},function(){return this.ln},function(a){v&&"string"!==typeof a&&D.h(a,"function",ag,"propertyName");this.ln=a});
-D.w(ag,{YF:"isTransactionFinished"},function(){return this.mr===cg&&("CommittedTransaction"===this.ln||"FinishedUndo"===this.ln||"FinishedRedo"===this.ln)});D.defineProperty(ag,{object:"object"},function(){return this.Ps},function(a){this.Ps=a});D.defineProperty(ag,{oldValue:"oldValue"},function(){return this.Rs},function(a){this.Rs=a});D.defineProperty(ag,{Tj:"oldParam"},function(){return this.Qs},function(a){this.Qs=a});
+D.defineProperty(ag,{Jc:"change"},function(){return this.mr},function(a){v&&D.Da(a,ag,ag,"change");this.mr=a});D.defineProperty(ag,{yf:"modelChange"},function(){return this.xw},function(a){v&&D.h(a,"string",ag,"modelChange");this.xw=a});D.defineProperty(ag,{propertyName:"propertyName"},function(){return this.ln},function(a){v&&"string"!==typeof a&&D.h(a,"function",ag,"propertyName");this.ln=a});
+D.w(ag,{ZF:"isTransactionFinished"},function(){return this.mr===cg&&("CommittedTransaction"===this.ln||"FinishedUndo"===this.ln||"FinishedRedo"===this.ln)});D.defineProperty(ag,{object:"object"},function(){return this.Ps},function(a){this.Ps=a});D.defineProperty(ag,{oldValue:"oldValue"},function(){return this.Rs},function(a){this.Rs=a});D.defineProperty(ag,{Tj:"oldParam"},function(){return this.Qs},function(a){this.Qs=a});
D.defineProperty(ag,{newValue:"newValue"},function(){return this.Ms},function(a){this.Ms=a});D.defineProperty(ag,{Rj:"newParam"},function(){return this.Ls},function(a){this.Ls=a});
-function M(a){1g?b+("\\u000"+a.charCodeAt(d).toString(16)):32>g?b+("\\u00"+a.charCodeAt(d).toString(16)):8232===g?b+"\\u2028":8233===g?b+"\\u2029":b+e}return'"'+b+'"'};
-M.prototype.writeJsonValue=M.prototype.jv=function(a){return void 0===a?"undefined":null===a?"null":!0===a?"true":!1===a?"false":"string"===typeof a?this.quote(a):"number"===typeof a?Infinity===a?"9e9999":-Infinity===a?"-9e9999":isNaN(a)?'{"class":"NaN"}':a.toString():a instanceof Date?'{"class":"Date", "value":"'+a.toJSON()+'"}':a instanceof Number?this.jv(a.valueOf()):D.isArray(a)?ug(this,a):D.Ta(a)?rg(this,a):"function"===typeof a?"null":a.toString()};
-function ug(a,b,c){void 0===c&&(c=!1);var d=D.cb(b);if(0>=d)return"[]";var e=new ya;e.add("[ ");c&&1=d)return"[]";var e=new ya;e.add("[ ");c&&1d)return;D.Ug(a.we,d)}Xg(a,"nodeDataArray",og,"nodeDataArray",a,b,null,d,null);a.hv(b)}
-M.prototype.removeNodeDataCollection=function(a){if(D.isArray(a))for(var b=D.cb(a),c=0;cd)return;D.Vg(a.we,d)}Xg(a,"nodeDataArray",og,"nodeDataArray",a,b,null,d,null);a.jv(b)}
+M.prototype.removeNodeDataCollection=function(a){if(D.isArray(a))for(var b=D.eb(a),c=0;cb&&(b=D.cb(a));D.Ih(a,b,c);Xg(this,"",dg,"",a,null,c,null,b)};
-M.prototype.removeArrayItem=M.prototype.vG=function(a,b){void 0===b&&(b=-1);v&&(D.Wt(a,M,"removeArrayItem:arr"),D.p(b,M,"removeArrayItem:idx"));a===this.we&&D.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=D.cb(a)-1);var c=D.La(a,b);D.Ug(a,b);Xg(this,"",og,"",a,c,null,b,null)};D.defineProperty(M,{oo:"nodeCategoryProperty"},function(){return this.fn},function(a){var b=this.fn;b!==a&&(Yg(a,M,"nodeCategoryProperty"),this.fn=a,this.i("nodeCategoryProperty",b,a))});
+D.defineProperty(M,{SH:"afterCopyFunction"},function(){return this.cr},function(a){var b=this.cr;b!==a&&(null!==a&&D.h(a,"function",M,"afterCopyFunction"),this.cr=a,this.i("afterCopyFunction",b,a))});var hh=!1;
+M.prototype.setDataProperty=function(a,b,c){v&&(D.h(a,"object",M,"setDataProperty:data"),D.h(b,"string",M,"setDataProperty:propname"),""===b&&D.k("Model.setDataProperty: property name must not be an empty string when setting "+a+" to "+c));if(this.ie(a))if(b===this.Sj)this.Jy(a,c);else{if(b===this.oo){this.Hy(a,c);return}}else!hh&&a instanceof P&&(hh=!0,D.trace('Model.setDataProperty is modifying a GraphObject, "'+a.toString()+'"'),D.trace(" Is that really your intent?"));var d=D.vb(a,b);d!==c&&
+(D.Ua(a,b,c),this.vB(a,b,d,c))};M.prototype.addArrayItem=function(a,b){this.YA(a,-1,b)};M.prototype.insertArrayItem=M.prototype.YA=function(a,b,c){v&&(D.Wt(a,M,"insertArrayItem:arr"),D.p(b,M,"insertArrayItem:idx"));a===this.we&&D.k("Model.insertArrayItem or Model.addArrayItem should not be called on the Model.nodeDataArray");0>b&&(b=D.eb(a));D.Jh(a,b,c);Xg(this,"",ng,"",a,null,c,null,b)};
+M.prototype.removeArrayItem=M.prototype.wG=function(a,b){void 0===b&&(b=-1);v&&(D.Wt(a,M,"removeArrayItem:arr"),D.p(b,M,"removeArrayItem:idx"));a===this.we&&D.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=D.eb(a)-1);var c=D.La(a,b);D.Vg(a,b);Xg(this,"",og,"",a,c,null,b,null)};D.defineProperty(M,{oo:"nodeCategoryProperty"},function(){return this.fn},function(a){var b=this.fn;b!==a&&(Yg(a,M,"nodeCategoryProperty"),this.fn=a,this.i("nodeCategoryProperty",b,a))});
M.prototype.getCategoryForNodeData=M.prototype.QA=function(a){if(null===a)return"";var b=this.fn;if(""===b)return"";b=D.vb(a,b);if(void 0===b)return"";if("string"===typeof b)return b;D.k("getCategoryForNodeData found a non-string category for "+a+": "+b);return""};
-M.prototype.setCategoryForNodeData=M.prototype.Gy=function(a,b){D.h(b,"string",M,"setCategoryForNodeData:cat");if(null!==a){var c=this.fn;if(""!==c)if(this.ie(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"nodeCategory",bg,c,a,d,b))}else D.Ua(a,c,b)}};
-function Y(a,b){M.call(this);2D.am(d,a.newValue)&&D.Ih(d,c,a.newValue));return}}else if(a.Jc===
-og){c=a.Tj;if("linkDataArray"===a.xf){d=a.oldValue;D.Ta(d)&&"number"===typeof c&&(e=this.eg(d),b?(this.hi.add(d),D.La(this.bf,c)!==d&&D.Ih(this.bf,c,d),void 0!==e&&this.pd.add(e,d)):(this.hi.remove(d),D.La(this.bf,c)===d&&D.Ug(this.bf,c),void 0!==e&&this.pd.remove(e)));return}if("linkLabelKeys"===a.xf){d=this.Sk(a.object);D.isArray(d)&&"number"===typeof c&&(b?0>D.am(d,a.newValue)&&D.Ih(d,c,a.newValue):(c=D.am(d,a.newValue),0<=c&&D.Ug(d,c)));return}}M.prototype.Gn.call(this,a,b)};
-D.defineProperty(Y,{sA:"archetypeNodeData"},function(){return this.ql},function(a){var b=this.ql;b!==a&&(null!==a&&D.l(a,Object,Y,"archetypeNodeData"),this.ql=a,this.i("archetypeNodeData",b,a))});Y.prototype.ho=function(a){if(void 0!==a){var b=this.ql;if(null!==b){var c=this.Fe(a);null===c&&(c=this.copyNodeData(b),D.Ua(c,this.wk,a),this.Xl(c))}return a}};
-D.defineProperty(Y,{eo:"linkFromKeyProperty"},function(){return this.ii},function(a){var b=this.ii;b!==a&&(Yg(a,Y,"linkFromKeyProperty"),this.ii=a,this.i("linkFromKeyProperty",b,a))});Y.prototype.getFromKeyForLinkData=Y.prototype.qm=function(a){if(null!==a){var b=this.ii;if(""!==b&&(b=D.vb(a,b),void 0!==b)){if(Zg(b))return b;D.k("FromKey value for link data "+a+" is not a number or a string: "+b)}}};
-Y.prototype.setFromKeyForLinkData=Y.prototype.FB=function(a,b){null===b&&(b=void 0);void 0===b||Zg(b)||D.hc(b,"number or string",Y,"setFromKeyForLinkData:key");if(null!==a){var c=this.ii;if(""!==c)if(b=this.ho(b),this.Lh(a)){var d=D.vb(a,c);d!==b&&(dh(this,d,a),D.Ua(a,c,b),null===this.Fe(b)&&ch(this,b,a),Xg(this,"linkFromKey",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
-D.defineProperty(Y,{fo:"linkToKeyProperty"},function(){return this.ji},function(a){var b=this.ji;b!==a&&(Yg(a,Y,"linkToKeyProperty"),this.ji=a,this.i("linkToKeyProperty",b,a))});Y.prototype.getToKeyForLinkData=Y.prototype.rm=function(a){if(null!==a){var b=this.ji;if(""!==b&&(b=D.vb(a,b),void 0!==b)){if(Zg(b))return b;D.k("ToKey value for link data "+a+" is not a number or a string: "+b)}}};
-Y.prototype.setToKeyForLinkData=Y.prototype.LB=function(a,b){null===b&&(b=void 0);void 0===b||Zg(b)||D.hc(b,"number or string",Y,"setToKeyForLinkData:key");if(null!==a){var c=this.ji;if(""!==c)if(b=this.ho(b),this.Lh(a)){var d=D.vb(a,c);d!==b&&(dh(this,d,a),D.Ua(a,c,b),null===this.Fe(b)&&ch(this,b,a),Xg(this,"linkToKey",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
-D.defineProperty(Y,{Du:"linkFromPortIdProperty"},function(){return this.an},function(a){var b=this.an;b!==a&&(Yg(a,Y,"linkFromPortIdProperty"),a!==this.eo&&a!==this.fo||D.k("linkFromPortIdProperty name must not be the same as the GraphLinksModel.linkFromKeyProperty or linkToKeyProperty: "+a),this.an=a,this.i("linkFromPortIdProperty",b,a))});Y.prototype.getFromPortIdForLinkData=Y.prototype.NI=function(a){if(null===a)return"";var b=this.an;if(""===b)return"";a=D.vb(a,b);return void 0===a?"":a};
-Y.prototype.setFromPortIdForLinkData=Y.prototype.GB=function(a,b){D.h(b,"string",Y,"setFromPortIdForLinkData:portname");if(null!==a){var c=this.an;if(""!==c)if(this.Lh(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"linkFromPortId",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
-D.defineProperty(Y,{Fu:"linkToPortIdProperty"},function(){return this.bn},function(a){var b=this.bn;b!==a&&(Yg(a,Y,"linkToPortIdProperty"),a!==this.eo&&a!==this.fo||D.k("linkFromPortIdProperty name must not be the same as the GraphLinksModel.linkFromKeyProperty or linkToKeyProperty: "+a),this.bn=a,this.i("linkToPortIdProperty",b,a))});Y.prototype.getToPortIdForLinkData=Y.prototype.SI=function(a){if(null===a)return"";var b=this.bn;if(""===b)return"";a=D.vb(a,b);return void 0===a?"":a};
-Y.prototype.setToPortIdForLinkData=Y.prototype.MB=function(a,b){D.h(b,"string",Y,"setToPortIdForLinkData:portname");if(null!==a){var c=this.bn;if(""!==c)if(this.Lh(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"linkToPortId",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};D.defineProperty(Y,{Eu:"linkLabelKeysProperty"},function(){return this.Ig},function(a){var b=this.Ig;b!==a&&(Yg(a,Y,"linkLabelKeysProperty"),this.Ig=a,this.i("linkLabelKeysProperty",b,a))});
-Y.prototype.getLabelKeysForLinkData=Y.prototype.Sk=function(a){if(null===a)return D.Do;var b=this.Ig;if(""===b)return D.Do;a=D.vb(a,b);return void 0===a?D.Do:a};
-Y.prototype.setLabelKeysForLinkData=Y.prototype.TG=function(a,b){D.Wt(b,Y,"setLabelKeysForLinkData:arr");if(null!==a){var c=this.Ig;if(""!==c)if(this.Lh(a)){var d=D.vb(a,c);void 0===d&&(d=D.Do);if(d!==b){for(var e=D.cb(d),g=0;ge||(D.Ug(d,e),this.Lh(a)&&(dh(this,b,a),Xg(this,"linkLabelKeys",og,c,a,b,null,e,null)))}else void 0!==d&&D.k(c+" property is not an Array; cannot removeLabelKeyforLinkData: "+a)}}};
-D.defineProperty(Y,{Zg:"linkDataArray"},function(){return this.bf},function(a){var b=this.bf;if(b!==a){D.Wt(a,Y,"linkDataArray");this.pd.clear();for(var c=D.cb(a),d=0;dd)return;D.Ug(a.bf,d)}Xg(a,"linkDataArray",og,"linkDataArray",a,b,null,d,null);c=a.qm(b);dh(a,c,b);c=a.rm(b);dh(a,c,b);d=a.Sk(b);if(D.isArray(d))for(var e=D.cb(d),g=0;gD.bm(d,a.newValue)&&D.Jh(d,c,a.newValue));return}}else if(a.Jc===
+og){c=a.Tj;if("linkDataArray"===a.yf){d=a.oldValue;D.Ta(d)&&"number"===typeof c&&(e=this.fg(d),b?(this.hi.add(d),D.La(this.bf,c)!==d&&D.Jh(this.bf,c,d),void 0!==e&&this.pd.add(e,d)):(this.hi.remove(d),D.La(this.bf,c)===d&&D.Vg(this.bf,c),void 0!==e&&this.pd.remove(e)));return}if("linkLabelKeys"===a.yf){d=this.Tk(a.object);D.isArray(d)&&"number"===typeof c&&(b?0>D.bm(d,a.newValue)&&D.Jh(d,c,a.newValue):(c=D.bm(d,a.newValue),0<=c&&D.Vg(d,c)));return}}M.prototype.Gn.call(this,a,b)};
+D.defineProperty(Y,{tA:"archetypeNodeData"},function(){return this.rl},function(a){var b=this.rl;b!==a&&(null!==a&&D.l(a,Object,Y,"archetypeNodeData"),this.rl=a,this.i("archetypeNodeData",b,a))});Y.prototype.ho=function(a){if(void 0!==a){var b=this.rl;if(null!==b){var c=this.Fe(a);null===c&&(c=this.copyNodeData(b),D.Ua(c,this.xk,a),this.Yl(c))}return a}};
+D.defineProperty(Y,{eo:"linkFromKeyProperty"},function(){return this.ii},function(a){var b=this.ii;b!==a&&(Yg(a,Y,"linkFromKeyProperty"),this.ii=a,this.i("linkFromKeyProperty",b,a))});Y.prototype.getFromKeyForLinkData=Y.prototype.rm=function(a){if(null!==a){var b=this.ii;if(""!==b&&(b=D.vb(a,b),void 0!==b)){if(Zg(b))return b;D.k("FromKey value for link data "+a+" is not a number or a string: "+b)}}};
+Y.prototype.setFromKeyForLinkData=Y.prototype.FB=function(a,b){null===b&&(b=void 0);void 0===b||Zg(b)||D.ic(b,"number or string",Y,"setFromKeyForLinkData:key");if(null!==a){var c=this.ii;if(""!==c)if(b=this.ho(b),this.Mh(a)){var d=D.vb(a,c);d!==b&&(dh(this,d,a),D.Ua(a,c,b),null===this.Fe(b)&&ch(this,b,a),Xg(this,"linkFromKey",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
+D.defineProperty(Y,{fo:"linkToKeyProperty"},function(){return this.ji},function(a){var b=this.ji;b!==a&&(Yg(a,Y,"linkToKeyProperty"),this.ji=a,this.i("linkToKeyProperty",b,a))});Y.prototype.getToKeyForLinkData=Y.prototype.sm=function(a){if(null!==a){var b=this.ji;if(""!==b&&(b=D.vb(a,b),void 0!==b)){if(Zg(b))return b;D.k("ToKey value for link data "+a+" is not a number or a string: "+b)}}};
+Y.prototype.setToKeyForLinkData=Y.prototype.LB=function(a,b){null===b&&(b=void 0);void 0===b||Zg(b)||D.ic(b,"number or string",Y,"setToKeyForLinkData:key");if(null!==a){var c=this.ji;if(""!==c)if(b=this.ho(b),this.Mh(a)){var d=D.vb(a,c);d!==b&&(dh(this,d,a),D.Ua(a,c,b),null===this.Fe(b)&&ch(this,b,a),Xg(this,"linkToKey",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
+D.defineProperty(Y,{Fu:"linkFromPortIdProperty"},function(){return this.an},function(a){var b=this.an;b!==a&&(Yg(a,Y,"linkFromPortIdProperty"),a!==this.eo&&a!==this.fo||D.k("linkFromPortIdProperty name must not be the same as the GraphLinksModel.linkFromKeyProperty or linkToKeyProperty: "+a),this.an=a,this.i("linkFromPortIdProperty",b,a))});Y.prototype.getFromPortIdForLinkData=Y.prototype.OI=function(a){if(null===a)return"";var b=this.an;if(""===b)return"";a=D.vb(a,b);return void 0===a?"":a};
+Y.prototype.setFromPortIdForLinkData=Y.prototype.GB=function(a,b){D.h(b,"string",Y,"setFromPortIdForLinkData:portname");if(null!==a){var c=this.an;if(""!==c)if(this.Mh(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"linkFromPortId",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
+D.defineProperty(Y,{Hu:"linkToPortIdProperty"},function(){return this.bn},function(a){var b=this.bn;b!==a&&(Yg(a,Y,"linkToPortIdProperty"),a!==this.eo&&a!==this.fo||D.k("linkFromPortIdProperty name must not be the same as the GraphLinksModel.linkFromKeyProperty or linkToKeyProperty: "+a),this.bn=a,this.i("linkToPortIdProperty",b,a))});Y.prototype.getToPortIdForLinkData=Y.prototype.TI=function(a){if(null===a)return"";var b=this.bn;if(""===b)return"";a=D.vb(a,b);return void 0===a?"":a};
+Y.prototype.setToPortIdForLinkData=Y.prototype.MB=function(a,b){D.h(b,"string",Y,"setToPortIdForLinkData:portname");if(null!==a){var c=this.bn;if(""!==c)if(this.Mh(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"linkToPortId",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};D.defineProperty(Y,{Gu:"linkLabelKeysProperty"},function(){return this.Jg},function(a){var b=this.Jg;b!==a&&(Yg(a,Y,"linkLabelKeysProperty"),this.Jg=a,this.i("linkLabelKeysProperty",b,a))});
+Y.prototype.getLabelKeysForLinkData=Y.prototype.Tk=function(a){if(null===a)return D.Do;var b=this.Jg;if(""===b)return D.Do;a=D.vb(a,b);return void 0===a?D.Do:a};
+Y.prototype.setLabelKeysForLinkData=Y.prototype.UG=function(a,b){D.Wt(b,Y,"setLabelKeysForLinkData:arr");if(null!==a){var c=this.Jg;if(""!==c)if(this.Mh(a)){var d=D.vb(a,c);void 0===d&&(d=D.Do);if(d!==b){for(var e=D.eb(d),g=0;ge||(D.Vg(d,e),this.Mh(a)&&(dh(this,b,a),Xg(this,"linkLabelKeys",og,c,a,b,null,e,null)))}else void 0!==d&&D.k(c+" property is not an Array; cannot removeLabelKeyforLinkData: "+a)}}};
+D.defineProperty(Y,{$g:"linkDataArray"},function(){return this.bf},function(a){var b=this.bf;if(b!==a){D.Wt(a,Y,"linkDataArray");this.pd.clear();for(var c=D.eb(a),d=0;dd)return;D.Vg(a.bf,d)}Xg(a,"linkDataArray",og,"linkDataArray",a,b,null,d,null);c=a.rm(b);dh(a,c,b);c=a.sm(b);dh(a,c,b);d=a.Tk(b);if(D.isArray(d))for(var e=D.eb(d),g=0;ga.Vh&&D.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Vh;d&&b&&a.rd("CommittingTransaction",c,a.Cj);var e=0;if(0a.Hj;e--)g=d.ea(e),null!==g&&g.clear(),
-d.jd(e),a.Nz=!0;e=a.fG;0===e&&(e=1);0=e&&(g=d.ea(0),null!==g&&g.clear(),d.jd(0),a.sh--);d.add(b);a.sh++;d.freeze();g=b}a.rd("CommittedTransaction",c,g)}else{a.aj=!0;try{a.isEnabled&&null!==g&&(g.uu=!0,g.undo())}finally{a.rd("RolledBackTransaction",c,g),a.aj=!1}null!==g&&g.clear()}a.Kv=null;return!0}if(a.isEnabled&&!b&&null!==g){a=e;c=g.bg;for(b=c.count-1;b>=a;b--)d=c.ea(b),null!==d&&d.undo(),c.Ya(),c.jd(b);c.freeze()}return!1}
-pg.prototype.canUndo=pg.prototype.canUndo=function(){if(!this.isEnabled||0=this.Vh&&!this.Dz&&(a=a.g,null!==a&&!1===a.$n||D.trace("Change not within a transaction: "+c.toString()))}};
-pg.prototype.skipsEvent=function(a){if(null===a||0>a.Jc.value)return!0;a=a.object;if(a instanceof P){if(a=a.layer,null!==a&&a.Uc)return!0}else if(a instanceof Ug&&a.Uc)return!0;return!1};D.w(pg,{LJ:"models"},function(){return this.Sz.j});D.defineProperty(pg,{isEnabled:"isEnabled"},function(){return this.mf},function(a){this.mf=a});D.w(pg,{hH:"transactionToUndo"},function(){return 0<=this.Hj&&this.Hj<=this.history.count-1?this.history.ea(this.Hj):null});
-D.w(pg,{gH:"transactionToRedo"},function(){return this.Hja.Wh&&D.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Wh;d&&b&&a.rd("CommittingTransaction",c,a.Cj);var e=0;if(0a.Hj;e--)g=d.ea(e),null!==g&&g.clear(),
+d.jd(e),a.Oz=!0;e=a.gG;0===e&&(e=1);0=e&&(g=d.ea(0),null!==g&&g.clear(),d.jd(0),a.th--);d.add(b);a.th++;d.freeze();g=b}a.rd("CommittedTransaction",c,g)}else{a.aj=!0;try{a.isEnabled&&null!==g&&(g.wu=!0,g.undo())}finally{a.rd("RolledBackTransaction",c,g),a.aj=!1}null!==g&&g.clear()}a.Mv=null;return!0}if(a.isEnabled&&!b&&null!==g){a=e;c=g.cg;for(b=c.count-1;b>=a;b--)d=c.ea(b),null!==d&&d.undo(),c.Ya(),c.jd(b);c.freeze()}return!1}
+pg.prototype.canUndo=pg.prototype.canUndo=function(){if(!this.isEnabled||0=this.Wh&&!this.Ez&&(a=a.g,null!==a&&!1===a.$n||D.trace("Change not within a transaction: "+c.toString()))}};
+pg.prototype.skipsEvent=function(a){if(null===a||0>a.Jc.value)return!0;a=a.object;if(a instanceof P){if(a=a.layer,null!==a&&a.Uc)return!0}else if(a instanceof Ug&&a.Uc)return!0;return!1};D.w(pg,{MJ:"models"},function(){return this.Tz.j});D.defineProperty(pg,{isEnabled:"isEnabled"},function(){return this.nf},function(a){this.nf=a});D.w(pg,{iH:"transactionToUndo"},function(){return 0<=this.Hj&&this.Hj<=this.history.count-1?this.history.ea(this.Hj):null});
+D.w(pg,{hH:"transactionToRedo"},function(){return this.Hjb.Ph||(b.scale=a))};oa.prototype.canDecreaseZoom=function(a){void 0===a&&(a=1/this.Oy);D.p(a,oa,"canDecreaseZoom:factor");var b=this.g;if(null===b||b.bm!==Rh)return!1;a*=b.scale;return ab.Ph?!1:b.sx};
-oa.prototype.increaseZoom=function(a){void 0===a&&(a=this.Oy);D.p(a,oa,"increaseZoom:factor");var b=this.g;null!==b&&b.bm===Rh&&(a*=b.scale,ab.Ph||(b.scale=a))};oa.prototype.canIncreaseZoom=function(a){void 0===a&&(a=this.Oy);D.p(a,oa,"canIncreaseZoom:factor");var b=this.g;if(null===b||b.bm!==Rh)return!1;a*=b.scale;return ab.Ph?!1:b.sx};oa.prototype.resetZoom=function(a){void 0===a&&(a=this.Bx);D.p(a,oa,"resetZoom:newscale");var b=this.g;null===b||ab.Ph||(b.scale=a)};
-oa.prototype.canResetZoom=function(a){void 0===a&&(a=this.Bx);D.p(a,oa,"canResetZoom:newscale");var b=this.g;return null===b||ab.Ph?!1:b.sx};oa.prototype.zoomToFit=function(){var a=this.g;if(null!==a){var b=a.scale,c=a.position;b===this.oA&&!isNaN(this.Oz)&&a.dd.P(this.nA)?(a.scale=this.Oz,a.position=this.vD,this.oA=NaN,this.nA=Hd):(this.Oz=b,this.vD=c.copy(),a.zoomToFit(),this.oA=a.scale,this.nA=a.dd.copy())}};oa.prototype.canZoomToFit=function(){var a=this.g;return null===a?!1:a.sx};
-oa.prototype.scrollToPart=function(a){void 0===a&&(a=null);null!==a&&D.l(a,F,oa,"part");var b=this.g;if(null!==b){if(null===a){try{null!==this.rj&&(this.rj.next()?a=this.rj.value:this.rj=null)}catch(c){this.rj=null}null===a&&(0b.Qh||(b.scale=a))};oa.prototype.canDecreaseZoom=function(a){void 0===a&&(a=1/this.Py);D.p(a,oa,"canDecreaseZoom:factor");var b=this.g;if(null===b||b.cm!==Rh)return!1;a*=b.scale;return ab.Qh?!1:b.ux};
+oa.prototype.increaseZoom=function(a){void 0===a&&(a=this.Py);D.p(a,oa,"increaseZoom:factor");var b=this.g;null!==b&&b.cm===Rh&&(a*=b.scale,ab.Qh||(b.scale=a))};oa.prototype.canIncreaseZoom=function(a){void 0===a&&(a=this.Py);D.p(a,oa,"canIncreaseZoom:factor");var b=this.g;if(null===b||b.cm!==Rh)return!1;a*=b.scale;return ab.Qh?!1:b.ux};oa.prototype.resetZoom=function(a){void 0===a&&(a=this.Dx);D.p(a,oa,"resetZoom:newscale");var b=this.g;null===b||ab.Qh||(b.scale=a)};
+oa.prototype.canResetZoom=function(a){void 0===a&&(a=this.Dx);D.p(a,oa,"canResetZoom:newscale");var b=this.g;return null===b||ab.Qh?!1:b.ux};oa.prototype.zoomToFit=function(){var a=this.g;if(null!==a){var b=a.scale,c=a.position;b===this.pA&&!isNaN(this.Pz)&&a.dd.P(this.oA)?(a.scale=this.Pz,a.position=this.vD,this.pA=NaN,this.oA=Hd):(this.Pz=b,this.vD=c.copy(),a.zoomToFit(),this.pA=a.scale,this.oA=a.dd.copy())}};oa.prototype.canZoomToFit=function(){var a=this.g;return null===a?!1:a.ux};
+oa.prototype.scrollToPart=function(a){void 0===a&&(a=null);null!==a&&D.l(a,F,oa,"part");var b=this.g;if(null!==b){if(null===a){try{null!==this.rj&&(this.rj.next()?a=this.rj.value:this.rj=null)}catch(c){this.rj=null}null===a&&(0e||Math.abs(b.y-a.y)>d};D.w(Vg,{g:"diagram"},function(){return this.ba});D.defineProperty(Vg,{name:"name"},function(){return this.Xb},function(a){D.h(a,"string",Vg,"name");this.Xb=a});
-D.defineProperty(Vg,{isEnabled:"isEnabled"},function(){return this.mf},function(a){D.h(a,"boolean",Vg,"isEnabled");this.mf=a});D.defineProperty(Vg,{wa:"isActive"},function(){return this.iD},function(a){D.h(a,"boolean",Vg,"isActive");this.iD=a});D.defineProperty(Vg,{Qf:"transactionResult"},function(){return this.tE},function(a){null!==a&&D.h(a,"string",Vg,"transactionResult");this.tE=a});
-function Qh(){Vg.call(this);0e||Math.abs(b.y-a.y)>d};D.w(Vg,{g:"diagram"},function(){return this.ba});D.defineProperty(Vg,{name:"name"},function(){return this.Yb},function(a){D.h(a,"string",Vg,"name");this.Yb=a});
+D.defineProperty(Vg,{isEnabled:"isEnabled"},function(){return this.nf},function(a){D.h(a,"boolean",Vg,"isEnabled");this.nf=a});D.defineProperty(Vg,{wa:"isActive"},function(){return this.iD},function(a){D.h(a,"boolean",Vg,"isActive");this.iD=a});D.defineProperty(Vg,{Rf:"transactionResult"},function(){return this.tE},function(a){null!==a&&D.h(a,"string",Vg,"transactionResult");this.tE=a});
+function Qh(){Vg.call(this);0e&&(e=k),l>g&&(g=l))}}Infinity===c?b.n(0,0,0,0):b.n(c,d,e-c,g-d)}
-function Oi(a,b){if(null===a.jc){var c=a.g;if(!(null===c||b&&(c.nb||c.Gf))&&null!==a.fc){var d=c.ra;d.isEnabled&&d.UF?null!==d.Cj&&0c.ta)){var d=a.g;if(null!==d&&!d.nb){var e=a.pj;if(null!==e){var g=null,h=null;null===c.aa&&(g=Yi(a,c.m(0),!1),null!==g&&(h=g.Y));var k=null,l=null;null===c.da&&(k=Yi(a,c.m(c.ta-1),!0),null!==k&&(l=k.Y));e.isValidLink(h,g,l,k)?b?(c.gq=c.m(0),c.hq=c.m(c.ta-1),c.zm=!1,c.aa=h,null!==g&&(c.dg=g.ud),c.da=l,null!==k&&(c.jh=k.ud),c.Lc!==a.zw&&d.Ja("LinkRelinked",c,a.zw),c.kd!==a.Aw&&d.Ja("LinkRelinked",c,a.Aw)):Zi(e,h,g,l,k):Zi(e,null,null,null,null)}}}}
+function Oi(a,b){if(null===a.kc){var c=a.g;if(!(null===c||b&&(c.ob||c.Hf))&&null!==a.fc){var d=c.ra;d.isEnabled&&d.VF?null!==d.Cj&&0c.ta)){var d=a.g;if(null!==d&&!d.ob){var e=a.pj;if(null!==e){var g=null,h=null;null===c.aa&&(g=Yi(a,c.m(0),!1),null!==g&&(h=g.Y));var k=null,l=null;null===c.da&&(k=Yi(a,c.m(c.ta-1),!0),null!==k&&(l=k.Y));e.isValidLink(h,g,l,k)?b?(c.gq=c.m(0),c.hq=c.m(c.ta-1),c.Am=!1,c.aa=h,null!==g&&(c.eg=g.ud),c.da=l,null!==k&&(c.kh=k.ud),c.Lc!==a.Bw&&d.Ja("LinkRelinked",c,a.Bw),c.kd!==a.Cw&&d.Ja("LinkRelinked",c,a.Cw)):Zi(e,h,g,l,k):Zi(e,null,null,null,null)}}}}
Qh.prototype.doDragOver=function(){};
-function $i(a,b){var c=a.g;if(null!==c){a.Ej&&Vi(a,!0);Ei(a);var d=Wi(c,b,null,function(b){return!Ti(a,b)}),e=c.U;e.We=d;if(null!==d){e.Mc=!1;for(var g=d;null!==g;){var h=g.lB;if(null!==h&&(h(e,g),e.Mc))break;g=Xi(g)}}else g=c.lB,null!==g&&g(e);if(a.wa||null!==Zh){for(e=(a.jc||a.fc).j;e.next();)g=e.key,g instanceof G&&g.Hd.each(function(a){a.zm=!1});a.doDropOnto(b,d);if(a.wa||null!==Zh){d=D.Of();for(e=c.selection.j;e.next();)g=e.value,g instanceof G&&aj(c,g.getAvoidableRect(d));D.Kb(d)}}}}
-Qh.prototype.doDropOnto=function(){};Qh.prototype.doMouseMove=function(){if(this.wa){var a=this.g;if(null!==a&&null!==this.Nn&&null!==this.fc){var b=!1,c=!1;this.mayCopy()?(b=!0,a.kc="copy",Oi(this,!1),Yh(this,this.jc),Pi(this,this.jc,!1),Fi(this,this.jc)):this.mayMove()?(c=!0,a.kc="default",Ii(this),Pi(this,this.fc,!0)):this.mayDragOut()?(a.kc="no-drop",Oi(this,!1),Pi(this,this.jc,!1)):Ii(this);Ui(this,a.U.ha,c,b)}}};
-Qh.prototype.doMouseUp=function(){if(this.wa){var a=this.g;if(null!==a){var b=!1,c=this.mayCopy();c&&null!==this.jc?(Ii(this),Oi(this,!0),Yh(this,this.jc),Pi(this,this.jc,!1),Fi(this,this.jc),null!==this.jc&&a.OG(this.jc.Yj())):(b=!0,Ii(this),this.mayMove()&&(Pi(this,this.fc,!0),Ui(this,a.U.ha,!0,!1)));this.Lr=!0;$i(this,a.U.ha);if(this.wa){this.jc=null;if(b&&null!==this.fc)for(b=this.fc.j;b.next();){var d=b.key;d instanceof G&&(d=d.Ra,null===d||null===d.placeholder||this.fc.contains(d)||d.placeholder.K())}a.zc();
-Fi(this,this.fc);this.Qf=c?"Copy":"Move";a.Ja(c?"SelectionCopied":"SelectionMoved",a.selection)}this.stopTool()}}};Qh.prototype.mayCopy=function(){if(!this.PF)return!1;var a=this.g;if(null===a||a.nb||a.Gf||!a.Zp||!a.Kk||(D.Wk?!a.U.alt:!a.U.control))return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.oe()&&b.canCopy())return!0}return null!==this.sd&&this.Ej&&this.sd.canCopy()?!0:!1};
-Qh.prototype.mayDragOut=function(){if(!this.PF)return!1;var a=this.g;if(null===a||!a.Tt||!a.Kk||a.Zl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.oe()&&b.canCopy())return!0}return null!==this.sd&&this.Ej&&this.sd.canCopy()?!0:!1};Qh.prototype.mayMove=function(){var a=this.g;if(null===a||a.nb||!a.Zl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.oe()&&b.canMove())return!0}return null!==this.sd&&this.Ej&&this.sd.canMove()?!0:!1};var Gi=new K(Qh),Zh=null,$h=null;
-Qh.prototype.getDraggingSource=function(){return Zh};Qh.prototype.mayDragIn=function(){var a=this.g;if(null===a||!a.HE||a.nb||a.Gf||!a.Zp)return!1;var b=Zh;return null===b||null===b.g||b.g.ga.gm!==a.ga.gm?!1:!0};Qh.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.g;a.Xa.Hi();bj(a);a=Zh;null!==a&&null!==a.g&&(a.g.kc="copy")}};Qh.prototype.doSimulatedDragLeave=function(){var a=Zh;null!==a&&a.doSimulatedDragOut();this.doCancel()};
-Qh.prototype.doSimulatedDragOver=function(){var a=this.g;if(null!==a){var b=Zh;null!==b&&null!==b.fc&&this.mayDragIn()&&(a.kc="copy",cj(this,b.fc.Yj(),!1),Pi(this,this.jc,!1),Ui(this,a.U.ha,!1,!0))}};
-Qh.prototype.doSimulatedDrop=function(){var a=this.g;if(null!==a){var b=Zh;if(null!==b){var c=b.g;b.Lr=!0;Ii(this);this.mayDragIn()&&(this.ac("Drop"),cj(this,b.fc.Yj(),!0),Pi(this,this.jc,!1),null!==this.jc&&a.OG(this.jc.Yj()),$i(this,a.U.ha),a.zc(),b=a.selection,null!==this.jc?this.Qf="ExternalCopy":b=new L(F),this.jc=null,a.doFocus(),a.Ja("ExternalObjectsDropped",b,c),this.dl())}}};
-function cj(a,b,c){if(null===a.jc){var d=a.g;if(null!==d&&!d.nb&&!d.Gf){d.Eb=!c;d.ar=!c;a.cl=d.U.ha;c=d.fq(b,d,!0);var e=D.Of();Ni(b,e);var d=e.x+e.width/2,g=e.y+e.height/2;D.Kb(e);var e=a.Ww,h=new ma(F),k=D.O();for(b=b.j;b.next();){var l=b.value,m=c.na(l);l.oe()&&l.canCopy()?(l=l.location,k.n(e.x-(d-l.x),e.y-(g-l.y)),m.location=k,m.hf(),h.add(m,pi(k))):l instanceof J&&l.canCopy()&&(m.$k(e.x-d,e.y-g),h.add(m,pi()))}D.A(k);a.jc=h;Xh(a,h.Yj());null!==a.sd&&(c=a.sd,d=c.ro,c.$k(a.cl.x-(d.x+d.width/2),
-a.cl.y-(d.y+d.height/2)))}}}Qh.prototype.doSimulatedDragOut=function(){var a=this.g;null!==a&&(this.mayCopy()||this.mayMove()?a.kc="":a.kc="no-drop")};function Ci(a){this.point=a;this.UG=Gd}D.ja("DraggingInfo",Ci);function Qi(a,b,c){this.Wc=a;this.info=b;this.VI=c}
-function dj(){0=d&&(d=.1);for(var e=this,g=b.Qn(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.Y;if(k instanceof G){var l=h.eb(hc,D.O()),m=c.x-l.x,n=c.y-l.y;D.A(l);l=m*m+n*n;lc){if(null!==this.sc&&a===this.ah&&b===this.bh)return!0;var d=b.ud;null===d&&(d="");if(a.Jx(d).count>=c)return!1}return!0};
-dj.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.yq;if(null!==this.g&&this.g.gb===this&&(null!==a.layer&&!a.layer.Ut||!0!==b.cH))return!1;var c=b.xK;if(Infinity>c){if(null!==this.sc&&a===this.dh&&b===this.eh)return!0;var d=b.ud;null===d&&(d="");if(a.Xg(d).count>=c)return!1}return!0};dj.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.Y,d=b.Y;return null!==c&&c===d};
-dj.prototype.isLinked=function(a,b){if(null===a||null===b)return!1;var c=a.Y;if(!(c instanceof G))return!1;var d=a.ud;null===d&&(d="");var e=b.Y;if(!(e instanceof G))return!1;var g=b.ud;null===g&&(g="");for(e=e.Xg(g);e.next();)if(g=e.value,g.aa===c&&g.dg===d)return!0;return!1};
-dj.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.KI&&d.wK||!this.isInSameNode(b,d))&&(b.JI&&d.vK||!this.isLinked(b,d)))||null!==this.sc&&(null!==a&&this.isLabelDependentOnLink(a,this.sc)||null!==c&&this.isLabelDependentOnLink(c,this.sc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.sc))return!1;if(null!==a){var e=a.iy;if(null!==e&&!e(a,b,c,d,this.sc))return!1}if(null!==
-c&&(e=c.iy,null!==e&&!e(a,b,c,d,this.sc)))return!1;e=this.iy;return null!==e?e(a,b,c,d,this.sc):!0};dj.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Ac;if(null===c)return!1;if(c===b)return!0;var d=new L(G);d.add(a);return ej(this,c,b,d)};function ej(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.uf&&(d.add(e),ej(a,e.Ac,c,d)))return!0;b=b.da;return null!==b&&b.uf&&(d.add(b),ej(a,b.Ac,c,d))?!0:!1}
-dj.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.yq;var d=null!==this.g?this.g.DK:fj;if(d!==fj){if(d===gj){if(null!==c&&!c.Vc)return!0;for(d=b.Hd;d.next();){var e=d.value;if(e!==c&&e.Vc&&e.da===b)return!1}return!hj(this,a,b,c,!0)}if(d===ij){if(null!==c&&!c.Vc)return!0;for(d=a.Hd;d.next();)if(e=d.value,e!==c&&e.Vc&&e.aa===a)return!1;return!hj(this,a,b,c,!0)}if(d===jj)return a===b?a=!0:(d=new L(G),d.add(b),a=kj(this,d,a,b,c)),!a;if(d===lj)return!hj(this,
+D.defineProperty(dj,{bh:"originalFromNode"},function(){return this.MD},function(a){null!==a&&D.l(a,G,dj,"originalFromNode");this.MD=a});D.defineProperty(dj,{dh:"originalFromPort"},function(){return this.ND},function(a){null!==a&&D.l(a,P,dj,"originalFromPort");this.ND=a});D.defineProperty(dj,{eh:"originalToNode"},function(){return this.RD},function(a){null!==a&&D.l(a,G,dj,"originalToNode");this.RD=a});
+D.defineProperty(dj,{fh:"originalToPort"},function(){return this.SD},function(a){null!==a&&D.l(a,P,dj,"originalToPort");this.SD=a});D.defineProperty(dj,{Yd:"isForwards"},function(){return this.pD},function(a){D.h(a,"boolean",dj,"isForwards");this.pD=a});D.w(dj,{Ny:"validPortsCache"},function(){return this.IH});D.defineProperty(dj,{Of:"targetPort"},function(){return this.hE},function(a){null!==a&&D.l(a,P,dj,"targetPort");this.hE=a});
+dj.prototype.copyPortProperties=function(a,b,c,d,e){if(null!==a&&null!==b&&null!==c&&null!==d){d.Ea=b.$.size;e?(d.Hb=b.Hb,d.Em=b.Em):(d.Gb=b.Gb,d.pm=b.pm);c.Mf=hc;var g=D.O();c.location=b.fb(hc,g);D.A(g);d.angle=b.qm();null!==this.vy&&this.vy(a,b,c,d,e)}};dj.prototype.setNoTargetPortProperties=function(a,b,c){null!==b&&(b.Ea=Yd,b.Gb=$b,b.Hb=$b);null!==a&&null!==this.g&&(a.location=this.g.U.ha);null!==this.vy&&this.vy(null,null,a,b,c)};dj.prototype.doMouseDown=function(){this.wa&&this.doMouseMove()};
+dj.prototype.doMouseMove=function(){if(this.wa){var a=this.g;if(null!==a){this.Of=this.findTargetPort(this.Yd);if(null!==this.Of&&this.Of.Y instanceof G){var b=this.Of.Y;this.Yd?this.copyPortProperties(b,this.Of,this.be,this.yo,!0):this.copyPortProperties(b,this.Of,this.ae,this.xo,!1)}else this.Yd?this.setNoTargetPortProperties(this.be,this.yo,!0):this.setNoTargetPortProperties(this.ae,this.xo,!1);(a.ye||a.ze)&&a.GA(a.U.qe)}}};
+dj.prototype.findValidLinkablePort=function(a,b){if(null===a)return null;var c=a.Y;if(!(c instanceof G))return null;for(;null!==a;){var d=b?a.dH:a.vF;if(!0===d&&(null!==a.ud||a instanceof G)&&(b?this.isValidTo(c,a):this.isValidFrom(c,a)))return a;if(!1===d)break;a=a.Q}return null};
+dj.prototype.findTargetPort=function(a){var b=this.g,c=b.U.ha,d=this.tG;0>=d&&(d=.1);for(var e=this,g=b.Qn(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.Y;if(k instanceof G){var l=h.fb(hc,D.O()),m=c.x-l.x,n=c.y-l.y;D.A(l);l=m*m+n*n;lc){if(null!==this.sc&&a===this.bh&&b===this.dh)return!0;var d=b.ud;null===d&&(d="");if(a.Lx(d).count>=c)return!1}return!0};
+dj.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.yq;if(null!==this.g&&this.g.hb===this&&(null!==a.layer&&!a.layer.Ut||!0!==b.dH))return!1;var c=b.yK;if(Infinity>c){if(null!==this.sc&&a===this.eh&&b===this.fh)return!0;var d=b.ud;null===d&&(d="");if(a.Yg(d).count>=c)return!1}return!0};dj.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.Y,d=b.Y;return null!==c&&c===d};
+dj.prototype.isLinked=function(a,b){if(null===a||null===b)return!1;var c=a.Y;if(!(c instanceof G))return!1;var d=a.ud;null===d&&(d="");var e=b.Y;if(!(e instanceof G))return!1;var g=b.ud;null===g&&(g="");for(e=e.Yg(g);e.next();)if(g=e.value,g.aa===c&&g.eg===d)return!0;return!1};
+dj.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.LI&&d.xK||!this.isInSameNode(b,d))&&(b.KI&&d.wK||!this.isLinked(b,d)))||null!==this.sc&&(null!==a&&this.isLabelDependentOnLink(a,this.sc)||null!==c&&this.isLabelDependentOnLink(c,this.sc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.sc))return!1;if(null!==a){var e=a.jy;if(null!==e&&!e(a,b,c,d,this.sc))return!1}if(null!==
+c&&(e=c.jy,null!==e&&!e(a,b,c,d,this.sc)))return!1;e=this.jy;return null!==e?e(a,b,c,d,this.sc):!0};dj.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Ac;if(null===c)return!1;if(c===b)return!0;var d=new L(G);d.add(a);return ej(this,c,b,d)};function ej(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.vf&&(d.add(e),ej(a,e.Ac,c,d)))return!0;b=b.da;return null!==b&&b.vf&&(d.add(b),ej(a,b.Ac,c,d))?!0:!1}
+dj.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.yq;var d=null!==this.g?this.g.EK:fj;if(d!==fj){if(d===gj){if(null!==c&&!c.Vc)return!0;for(d=b.Hd;d.next();){var e=d.value;if(e!==c&&e.Vc&&e.da===b)return!1}return!hj(this,a,b,c,!0)}if(d===ij){if(null!==c&&!c.Vc)return!0;for(d=a.Hd;d.next();)if(e=d.value,e!==c&&e.Vc&&e.aa===a)return!1;return!hj(this,a,b,c,!0)}if(d===jj)return a===b?a=!0:(d=new L(G),d.add(b),a=kj(this,d,a,b,c)),!a;if(d===lj)return!hj(this,
a,b,c,!1);if(d===mj)return a===b?a=!0:(d=new L(G),d.add(b),a=nj(this,d,a,b,c)),!a}return!0};function hj(a,b,c,d,e){if(b===c)return!0;if(null===b||null===c)return!1;for(var g=b.Hd;g.next();){var h=g.value;if(h!==d&&(!e||h.Vc)&&h.da===b&&(h=h.aa,h!==b&&hj(a,h,c,d,e)))return!0}return!1}function kj(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.Hd;g.next();){var h=g.value;if(h!==e&&h.da===c&&(h=h.aa,h!==c&&kj(a,b,h,d,e)))return!0}return!1}
-function nj(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.Hd;g.next();){var h=g.value;if(h!==e){var k=h.aa,h=h.da,k=k===c?h:k;if(k!==c&&nj(a,b,k,d,e))return!0}}return!1}D.defineProperty(dj,{iy:"linkValidation"},function(){return this.Il},function(a){null!==a&&D.h(a,"function",dj,"linkValidation");this.Il=a});D.defineProperty(dj,{uy:"portTargeted"},function(){return this.VD},function(a){null!==a&&D.h(a,"function",dj,"portTargeted");this.VD=a});
-function ra(){0b.iu+1&&cb.iu+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?
-"ne-resize":"e-resize"}else if(a instanceof x)for(c=a.elements;c.next();)this.updateResizeHandles(c.value,b)};D.defineProperty(Uj,{qu:"handleArchetype"},function(){return this.xl},function(a){null!==a&&D.l(a,P,Uj,"handleArchetype");this.xl=a});D.w(Uj,{handle:"handle"},function(){return this.nc});D.defineProperty(Uj,{zb:"adornedObject"},function(){return this.Qc},function(a){null!==a&&D.l(a,P,Uj,"adornedObject");this.Qc=a});
-Uj.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.g;return null!==a&&!a.nb&&a.Vt&&a.U.left?null!==this.findToolHandleAt(a.Kc.ha,this.name):!1};
-Uj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.nc=this.findToolHandleAt(a.Kc.ha,this.name),null!==this.nc&&(this.Qc=this.nc.Y.zb,this.Ep.set(this.zb.eb(this.handle.alignment.nG())),this.QD.set(this.Qc.Y.location),this.LD.set(this.Qc.Ea),this.zz=this.computeCellSize(),this.Bz=this.computeMinSize(),this.Az=this.computeMaxSize(),a.jf=!0,this.HD=a.Xa.isEnabled,a.Xa.isEnabled=!1,this.ac(this.name),this.wa=!0))};
-Uj.prototype.doDeactivate=function(){var a=this.g;null!==a&&(this.dl(),this.Qc=this.nc=null,this.wa=a.jf=!1,a.Xa.isEnabled=this.HD)};Uj.prototype.doCancel=function(){null!==this.zb&&(this.zb.Ea=this.oG,this.zb.Y.location=this.SJ);this.stopTool()};Uj.prototype.doMouseMove=function(){var a=this.g;if(this.wa&&null!==a){var b=this.Bz,c=this.Az,d=this.zz,e=this.zb.xF(a.U.ha,D.O()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);a.hg();D.A(e)}};
-Uj.prototype.doMouseUp=function(){var a=this.g;if(this.wa&&null!==a){var b=this.Bz,c=this.Az,d=this.zz,e=this.zb.xF(a.U.ha,D.O()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);D.A(e);a.zc();this.Qf=this.name;a.Ja("PartResized",this.zb,this.oG)}this.stopTool()};
-Uj.prototype.resize=function(a){if(null!==this.g){var b=this.zb,c=b.Y;b.Ea=a.size;c.hf();a=this.zb.eb(this.handle.alignment.nG());c instanceof I?(a=c.position.copy().wo(a).add(this.Ep),c.move(a)):c.location=c.location.copy().wo(a).add(this.Ep)}};
+"ne-resize":"e-resize"}else if(a instanceof x)for(c=a.elements;c.next();)this.updateResizeHandles(c.value,b)};D.defineProperty(Uj,{su:"handleArchetype"},function(){return this.yl},function(a){null!==a&&D.l(a,P,Uj,"handleArchetype");this.yl=a});D.w(Uj,{handle:"handle"},function(){return this.oc});D.defineProperty(Uj,{zb:"adornedObject"},function(){return this.Qc},function(a){null!==a&&D.l(a,P,Uj,"adornedObject");this.Qc=a});
+Uj.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.g;return null!==a&&!a.ob&&a.Vt&&a.U.left?null!==this.findToolHandleAt(a.Kc.ha,this.name):!1};
+Uj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.oc=this.findToolHandleAt(a.Kc.ha,this.name),null!==this.oc&&(this.Qc=this.oc.Y.zb,this.Ep.set(this.zb.fb(this.handle.alignment.oG())),this.QD.set(this.Qc.Y.location),this.LD.set(this.Qc.Ea),this.Az=this.computeCellSize(),this.Cz=this.computeMinSize(),this.Bz=this.computeMaxSize(),a.kf=!0,this.HD=a.Xa.isEnabled,a.Xa.isEnabled=!1,this.ac(this.name),this.wa=!0))};
+Uj.prototype.doDeactivate=function(){var a=this.g;null!==a&&(this.el(),this.Qc=this.oc=null,this.wa=a.kf=!1,a.Xa.isEnabled=this.HD)};Uj.prototype.doCancel=function(){null!==this.zb&&(this.zb.Ea=this.pG,this.zb.Y.location=this.TJ);this.stopTool()};Uj.prototype.doMouseMove=function(){var a=this.g;if(this.wa&&null!==a){var b=this.Cz,c=this.Bz,d=this.Az,e=this.zb.yF(a.U.ha,D.O()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);a.ig();D.A(e)}};
+Uj.prototype.doMouseUp=function(){var a=this.g;if(this.wa&&null!==a){var b=this.Cz,c=this.Bz,d=this.Az,e=this.zb.yF(a.U.ha,D.O()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);D.A(e);a.zc();this.Rf=this.name;a.Ja("PartResized",this.zb,this.pG)}this.stopTool()};
+Uj.prototype.resize=function(a){if(null!==this.g){var b=this.zb,c=b.Y;b.Ea=a.size;c.jf();a=this.zb.fb(this.handle.alignment.oG());c instanceof I?(a=c.position.copy().wo(a).add(this.Ep),c.move(a)):c.location=c.location.copy().wo(a).add(this.Ep)}};
Uj.prototype.computeResize=function(a,b,c,d,e,g){b.Zd()&&(b=hc);var h=this.zb.Ga,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=D.O();fb(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)));D.A(q);return a};Uj.prototype.computeReshape=function(){var a=Xj;this.zb instanceof z&&(a=Yj(this.zb));return!(a===Zj||a===ak||null!==this.g&&this.g.U.shift)};Uj.prototype.computeMinSize=function(){var a=this.zb.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};
-Uj.prototype.computeMaxSize=function(){var a=this.zb.kf.copy(),b=this.kf;!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};D.defineProperty(bk,{oK:"snapAngleMultiple"},function(){return this.aE},function(a){D.h(a,"number",bk,"snapAngleMultiple");this.aE=a});
-D.defineProperty(bk,{nK:"snapAngleEpsilon"},function(){return this.$D},function(a){D.h(a,"number",bk,"snapAngleEpsilon");this.$D=a});D.w(bk,{gM:"originalAngle"},function(){return this.Bw});function dk(){Vg.call(this);0a.width&&(a.width=b.width);!isNaN(b.height)&&b.height>a.height&&(a.height=b.height);return a};
+Uj.prototype.computeMaxSize=function(){var a=this.zb.lf.copy(),b=this.lf;!isNaN(b.width)&&b.widtha&&(a+=360));var b=Math.min(Math.abs(this.pK),180),c=Math.min(Math.abs(this.oK),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};D.defineProperty(bk,{pK:"snapAngleMultiple"},function(){return this.aE},function(a){D.h(a,"number",bk,"snapAngleMultiple");this.aE=a});
+D.defineProperty(bk,{oK:"snapAngleEpsilon"},function(){return this.$D},function(a){D.h(a,"number",bk,"snapAngleEpsilon");this.$D=a});D.w(bk,{iM:"originalAngle"},function(){return this.Dw});function dk(){Vg.call(this);0e.right&&(c.x-=d.width+5);c.xe.bottom&&(c.y-=d.height+5);c.ye.right&&(c.x-=d.width+5);c.xe.bottom&&(c.y-=d.height+5);c.ya.U.Oe?!1:!0};ok.prototype.doStart=function(){this.wa||null===this.ih||this.doActivate()};
-ok.prototype.doActivate=function(){if(!this.wa){var a=this.g;if(null!==a){var b=this.ih;null===b&&(b=a.Ge(a.U.ha,function(a){return a instanceof na?a:null}));if(null!==b&&(this.ih=b,null!==b.Y)){this.wa=!0;this.$a=xk;var c=this.rI;null!==b.bH&&(c=b.bH);this.Ck=this.ih.copy();var d=new B(this.ih.eb(dc),this.ih.eb(uc));a.hK(d);if(c instanceof fk)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.Fy&&(c.select(),c.setSelectionRange(0,9999));a.Dj.appendChild(c)}this.Bj=c}}}};ok.prototype.doCancel=function(){null!==this.Nl&&this.Bj instanceof HTMLElement&&(this.Bj.style.border=this.Nl,this.Nl=null);this.stopTool()};ok.prototype.doMouseUp=function(){!this.wa&&this.canStart()&&this.doActivate()};ok.prototype.doMouseDown=function(){this.wa&&this.acceptText(tk)};
-ok.prototype.acceptText=function(a){switch(a){case tk:if(this.$a===Bk)this.Bj instanceof HTMLElement&&this.Bj.focus();else if(this.$a===xk||this.$a===Ak||this.$a===yk)this.$a=zk,Ek(this);break;case sk:case vk:case uk:if(vk===a&&!0===this.hA.Zx)break;if(this.$a===xk||this.$a===Ak||this.$a===yk)this.$a=zk,Ek(this)}};
-function Ek(a){var b=a.ih,c=a.g,d=a.Bj;if(null!==b&&null!==d){var e=b.text,g="";d instanceof fk?null!==d.bC&&(g=d.bC()):(g=d.value,g="function"===typeof g?g():g);a.isValidText(b,e,g)?(a.ac(a.name),a.$a=Bk,d instanceof fk?d.show(b,c,a):null!==a.Nl&&(d.style.border=a.Nl,a.Nl=null),a.Qf=a.name,b.text=g,null!==b.aH&&b.aH(b,e,g),null!==c&&c.Ja("TextEdited",b,e),a.dl(),a.stopTool(),null!==c&&c.doFocus()):(a.$a=Ak,null!==b.KA&&b.KA(a,e,g),d instanceof fk?d.show(b,c,a):(null===a.Nl&&(a.Nl=d.style.border,
-d.style.border="3px solid red"),"function"===typeof d.focus&&d.focus()))}}ok.prototype.doDeactivate=function(){var a=this.g;if(null!==a){this.$a=qk;this.ih=null;if(null!==this.Bj){var b=this.Bj;if(b instanceof fk)b.Xn(a,this);else{if("function"===typeof b.onDeactivate)b.onDeactivate();null!==b&&a.Dj.removeChild(b)}}this.wa=!1}};ok.prototype.doFocus=function(){v&&D.Pn("TextEditingTool.doFocus","2.0");Ck(this)};ok.prototype.doBlur=function(){v&&D.Pn("TextEditingTool.doBlur","2.0");Dk(this)};
-function Ck(a){if(null!==a.Bj){var b=a.nz;a.$a===xk&&(a.$a=yk);"function"===typeof b.select&&a.Fy&&(b.select(),b.setSelectionRange(0,9999))}}function Dk(a){if(null!==a.Bj){var b=a.nz;"function"===typeof b.focus&&b.focus();"function"===typeof b.select&&a.Fy&&(b.select(),b.setSelectionRange(0,9999))}}ok.prototype.isValidText=function(a,b,c){D.l(a,na,ok,"isValidText:textblock");var d=this.RB;if(null!==d&&!d(a,b,c))return!1;d=a.RB;return null===d||d(a,b,c)?!0:!1};
-D.defineProperty(ok,{RB:"textValidation"},function(){return this.Sl},function(a){null!==a&&D.h(a,"function",ok,"textValidation");this.Sl=a});D.defineProperty(ok,{iG:"minimumEditorScale"},function(){return this.BD},function(a){null!==a&&D.h(a,"number",ok,"minimumEditorScale");this.BD=a});D.defineProperty(ok,{Fy:"selectsTextOnActivate"},function(){return this.YD},function(a){null!==a&&D.h(a,"boolean",ok,"selectsTextOnActivate");this.YD=a});
-D.defineProperty(ok,{state:"state"},function(){return this.$a},function(a){this.$a!==a&&(D.Da(a,ok,ok,"starting"),this.$a=a)});ok.prototype.measureTemporaryTextBlock=ok.prototype.GJ=function(a){var b=this.Ck;b.text=a;Fk(b,this.ih.vp,Infinity);return b};function Lh(){Vg.call(this);this.name="ToolManager";this.xH=new K(Vg);this.yH=new K(Vg);this.zH=new K(Vg);this.fD=this.gD=850;this.VC=(new Ca(2,2)).Na();this.qE=5E3;this.FD=Wh;this.dD=Gk;this.Jv=this.JC=null;this.xn=-1}D.Sa(Lh,Vg);
-D.ja("ToolManager",Lh);var Wh;Lh.WheelScroll=Wh=D.s(Lh,"WheelScroll",0);var Vh;Lh.WheelZoom=Vh=D.s(Lh,"WheelZoom",1);Lh.WheelNone=D.s(Lh,"WheelNone",2);var Gk;Lh.GestureZoom=Gk=D.s(Lh,"GestureZoom",3);var Hk;Lh.GestureCancel=Hk=D.s(Lh,"GestureCancel",4);var Ik;Lh.GestureNone=Ik=D.s(Lh,"GestureNone",5);D.defineProperty(Lh,{Ku:"mouseWheelBehavior"},function(){return this.FD},function(a){D.Da(a,Lh,Lh,"mouseWheelBehavior");this.FD=a});
-D.defineProperty(Lh,{pq:"gestureBehavior"},function(){return this.dD},function(a){D.Da(a,Lh,Lh,"gestureBehavior");this.dD=a});Lh.prototype.initializeStandardTools=function(){this.JH=new ek;this.uG=new ai;this.yJ=new Cj;this.HG=new Uj;this.eK=new bk;this.eG=new ra;this.De=new Qh;this.vI=new mk;this.TJ=new nk;this.yA=new hk;this.QB=new ok;this.$H=new ta;this.aI=new dk};
-Lh.prototype.updateAdornments=function(a){var b=this.fm;if(b instanceof da&&this.Jv===a){var c=b.zb;(null!==a?c.Y===a:null===c)?this.showToolTip(b,c):this.hideToolTip()}};
-Lh.prototype.doMouseDown=function(){var a=this.g;if(null!==a){var b=a.U;b.Mj&&this.pq===Hk&&(b.bubbles=!1);if(b.yu){this.cancelWaitAfter();if(this.pq===Ik){b.bubbles=!0;return}if(this.pq===Hk)return;if(a.gb.canStartMultiTouch()){a.gb.standardPinchZoomStart();return}}var c=a.ra;c.uA&&0!==c.Vh&&D.trace("WARNING: In ToolManager.doMouseDown: UndoManager.transactionLevel is not zero");for(var c=this.lf.length,d=0;da.U.Oe?!1:!0};ok.prototype.doStart=function(){this.wa||null===this.jh||this.doActivate()};
+ok.prototype.doActivate=function(){if(!this.wa){var a=this.g;if(null!==a){var b=this.jh;null===b&&(b=a.Ge(a.U.ha,function(a){return a instanceof na?a:null}));if(null!==b&&(this.jh=b,null!==b.Y)){this.wa=!0;this.$a=xk;var c=this.sI;null!==b.cH&&(c=b.cH);this.Dk=this.jh.copy();var d=new B(this.jh.fb(dc),this.jh.fb(uc));a.iK(d);if(c instanceof fk)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.Gy&&(c.select(),c.setSelectionRange(0,9999));a.Dj.appendChild(c)}this.Bj=c}}}};ok.prototype.doCancel=function(){null!==this.Ol&&this.Bj instanceof HTMLElement&&(this.Bj.style.border=this.Ol,this.Ol=null);this.stopTool()};ok.prototype.doMouseUp=function(){!this.wa&&this.canStart()&&this.doActivate()};ok.prototype.doMouseDown=function(){this.wa&&this.acceptText(tk)};
+ok.prototype.acceptText=function(a){switch(a){case tk:if(this.$a===Bk)this.Bj instanceof HTMLElement&&this.Bj.focus();else if(this.$a===xk||this.$a===Ak||this.$a===yk)this.$a=zk,Ek(this);break;case sk:case vk:case uk:if(vk===a&&!0===this.iA.$x)break;if(this.$a===xk||this.$a===Ak||this.$a===yk)this.$a=zk,Ek(this)}};
+function Ek(a){var b=a.jh,c=a.g,d=a.Bj;if(null!==b&&null!==d){var e=b.text,g="";d instanceof fk?null!==d.bC&&(g=d.bC()):(g=d.value,g="function"===typeof g?g():g);a.isValidText(b,e,g)?(a.ac(a.name),a.$a=Bk,d instanceof fk?d.show(b,c,a):null!==a.Ol&&(d.style.border=a.Ol,a.Ol=null),a.Rf=a.name,b.text=g,null!==b.bH&&b.bH(b,e,g),null!==c&&c.Ja("TextEdited",b,e),a.el(),a.stopTool(),null!==c&&c.doFocus()):(a.$a=Ak,null!==b.LA&&b.LA(a,e,g),d instanceof fk?d.show(b,c,a):(null===a.Ol&&(a.Ol=d.style.border,
+d.style.border="3px solid red"),"function"===typeof d.focus&&d.focus()))}}ok.prototype.doDeactivate=function(){var a=this.g;if(null!==a){this.$a=qk;this.jh=null;if(null!==this.Bj){var b=this.Bj;if(b instanceof fk)b.Xn(a,this);else{if("function"===typeof b.onDeactivate)b.onDeactivate();null!==b&&a.Dj.removeChild(b)}}this.wa=!1}};ok.prototype.doFocus=function(){v&&D.Pn("TextEditingTool.doFocus","2.0");Ck(this)};ok.prototype.doBlur=function(){v&&D.Pn("TextEditingTool.doBlur","2.0");Dk(this)};
+function Ck(a){if(null!==a.Bj){var b=a.oz;a.$a===xk&&(a.$a=yk);"function"===typeof b.select&&a.Gy&&(b.select(),b.setSelectionRange(0,9999))}}function Dk(a){if(null!==a.Bj){var b=a.oz;"function"===typeof b.focus&&b.focus();"function"===typeof b.select&&a.Gy&&(b.select(),b.setSelectionRange(0,9999))}}ok.prototype.isValidText=function(a,b,c){D.l(a,na,ok,"isValidText:textblock");var d=this.RB;if(null!==d&&!d(a,b,c))return!1;d=a.RB;return null===d||d(a,b,c)?!0:!1};
+D.defineProperty(ok,{RB:"textValidation"},function(){return this.Tl},function(a){null!==a&&D.h(a,"function",ok,"textValidation");this.Tl=a});D.defineProperty(ok,{jG:"minimumEditorScale"},function(){return this.BD},function(a){null!==a&&D.h(a,"number",ok,"minimumEditorScale");this.BD=a});D.defineProperty(ok,{Gy:"selectsTextOnActivate"},function(){return this.YD},function(a){null!==a&&D.h(a,"boolean",ok,"selectsTextOnActivate");this.YD=a});
+D.defineProperty(ok,{state:"state"},function(){return this.$a},function(a){this.$a!==a&&(D.Da(a,ok,ok,"starting"),this.$a=a)});ok.prototype.measureTemporaryTextBlock=ok.prototype.HJ=function(a){var b=this.Dk;b.text=a;Fk(b,this.jh.vp,Infinity);return b};function Lh(){Vg.call(this);this.name="ToolManager";this.yH=new K(Vg);this.zH=new K(Vg);this.AH=new K(Vg);this.fD=this.gD=850;this.VC=(new Ca(2,2)).Na();this.qE=5E3;this.FD=Wh;this.dD=Rk;this.Lv=this.JC=null;this.xn=-1}D.Sa(Lh,Vg);
+D.ka("ToolManager",Lh);var Wh;Lh.WheelScroll=Wh=D.s(Lh,"WheelScroll",0);var Vh;Lh.WheelZoom=Vh=D.s(Lh,"WheelZoom",1);Lh.WheelNone=D.s(Lh,"WheelNone",2);var Rk;Lh.GestureZoom=Rk=D.s(Lh,"GestureZoom",3);var Sk;Lh.GestureCancel=Sk=D.s(Lh,"GestureCancel",4);var Tk;Lh.GestureNone=Tk=D.s(Lh,"GestureNone",5);D.defineProperty(Lh,{Mu:"mouseWheelBehavior"},function(){return this.FD},function(a){D.Da(a,Lh,Lh,"mouseWheelBehavior");this.FD=a});
+D.defineProperty(Lh,{pq:"gestureBehavior"},function(){return this.dD},function(a){D.Da(a,Lh,Lh,"gestureBehavior");this.dD=a});Lh.prototype.initializeStandardTools=function(){this.KH=new ek;this.vG=new ai;this.zJ=new Nj;this.IG=new Uj;this.fK=new bk;this.fG=new ra;this.De=new Qh;this.wI=new mk;this.UJ=new nk;this.zA=new hk;this.QB=new ok;this.aI=new ta;this.bI=new dk};
+Lh.prototype.updateAdornments=function(a){var b=this.gm;if(b instanceof da&&this.Lv===a){var c=b.zb;(null!==a?c.Y===a:null===c)?this.showToolTip(b,c):this.hideToolTip()}};
+Lh.prototype.doMouseDown=function(){var a=this.g;if(null!==a){var b=a.U;b.Mj&&this.pq===Sk&&(b.bubbles=!1);if(b.Au){this.cancelWaitAfter();if(this.pq===Tk){b.bubbles=!0;return}if(this.pq===Sk)return;if(a.hb.canStartMultiTouch()){a.hb.standardPinchZoomStart();return}}var c=a.ra;c.vA&&0!==c.Wh&&D.trace("WARNING: In ToolManager.doMouseDown: UndoManager.transactionLevel is not zero");for(var c=this.mf.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}D.w(gh,{cL:"animationReasons"},function(){return this.vv});
-gh.prototype.canStart=function(){return!0};gh.prototype.prepareAutomaticAnimation=gh.prototype.po=function(a){this.mf&&(this.ok||this.ba.$n)&&(this.vv.add(a),this.canStart(a)&&(this.nk&&this.Hi(),this.wc=!0))};function cl(a){if(a.mf&&(a.vv.clear(),a.wc))if(!a.Io)a.wc=!1;else if(0===a.Ho){var b=+new Date;a.Ho=b;requestAnimationFrame(function(){if(!1!==a.wc&&!a.nk&&a.Ho===b){var c=a.ba;c.Gj("temporaryPixelRatio")&&(c.Bk=1);dl(c);a.wc=!1;c.Ja("AnimationStarting");el(a,b)}})}}
-function fl(a,b,c,d,e,g){if(a.wc&&(v&&D.l(b,P,gh,"addPropToAnimation:obj"),!("position"===c&&d.P(e)||b instanceof F&&!b.NF))){var h=a.gn;if(h.contains(b)){var h=h.na(b),k=h.start,l=h.end;void 0===k[c]&&(k[c]=gl(d));h.yx&&void 0!==l[c]?h.eu[c]=gl(e):(g||(h.eu[c]=gl(e)),l[c]=gl(e));g&&0===c.indexOf("position:")&&b instanceof F&&(h.eu.location=gl(b.location))}else k=new la,l=new la,k[c]=gl(d),l[c]=gl(e),d=l,e=k.position,e instanceof O&&!e.F()&&a.vv.contains("Expand SubGraph")&&e.assign(d.position),k=
-new bl(k,l,g),g&&0===c.indexOf("position:")&&b instanceof F&&(k.eu.location=gl(b.location)),h.add(b,k);a.Io=!0}}function gl(a){return a instanceof O?a.copy():a instanceof Ca?a.copy():a}
-function el(a,b){var c;function d(){if(!1!==g.nk&&g.Ho===b){var a=+new Date,c=a>s?m:a-r;hl(g);il(g,e,q,h,c,m);g.Gv&&g.Gv();bj(e);jl(g);a>s?kl(g):requestAnimationFrame(d)}}void 0===c&&(c=new la);var e=a.ba;if(null!==e){a.nk=!0;var g=a,h=c.FL||a.KC,k=c.eM||null,l=c.fM||null,m=c.duration||a.wz,n=a.AH;for(c=a.gn.j;c.next();){var p=c.value.start.position;p instanceof O&&(p.F()||p.assign(n))}a.FC=h;a.Gv=k;a.Hv=l;a.EC=m;a.Iv=a.gn;var q=a.Iv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l=
-k["position:placeholder"],n=l.eb(dc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);hl(a);il(a,e,q,h,0,m);bj(a.ba);jl(a);var r=+new Date,s=r+m;g.Ho===b&&requestAnimationFrame(function(){d()})}}function hl(a){if(!a.pp){var b=a.ba;a.uE=b.Eb;a.sC=b.Ue;a.tC=b.cv;b.Eb=!0;b.Ue=!0;b.cv=!0;a.pp=!0}}function jl(a){var b=a.ba;b.Eb=a.uE;b.Ue=a.sC;b.cv=a.tC;a.pp=!1}
-function il(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!==ll[m])ll[m](h,l[m],k[m],d,e,g)}d=b.aB;b.aB=!0;m=a.KC;0!==a.Jr&&0!==a.Ir&&(c=a.Jr,b.Bb=m(e,c,a.Ir-c,g));null!==a.Hr&&null!==a.Gr&&(c=a.Hr,a=a.Gr,b.rb=new O(m(e,c.x,a.x-c.x,g),m(e,c.y,a.y-c.y,g)));b.aB=d}
-gh.prototype.stopAnimation=gh.prototype.Hi=function(){!0===this.wc&&(this.wc=!1,this.Io&&this.ba.Se());this.nk&&this.mf&&kl(this)};
-function kl(a){a.nk=!1;a.Io=!1;hl(a);for(var b=a.ba,c=a.FC,d=a.EC,e=a.Iv.j;e.next();){var g=e.key,h=e.value,k=h.start,l=h.end,m=h.eu,n;for(n in l)if(void 0!==ll[n]){var p=n;!h.yx||"position:node"!==p&&"position:placeholder"!==p||(p="position");ll[p](g,k[n],void 0!==m[n]?m[n]:h.yx?k[n]:l[n],c,d,d)}h.yx&&void 0!==m.location&&g instanceof F&&(g.location=m.location);h.xy&&g instanceof F&&g.Jd(!1)}for(c=a.ba.links;c.next();)d=c.value,null!==d.Jp&&(d.points=d.Jp,d.Jp=null);b.jy.clear();b.Bk=null;b.zc();
-b.qa();b.hg();ml(b);jl(a);a.Hv&&a.Hv();a.Ho=0;a.Iv=null;a.Hv=null;a.Gv=null;a.Hr=null;a.Gr=null;a.Jr=0;a.Ir=0;a.gn=new ma(P,bl);b.Ja("AnimationFinished");b.Se()}
-function nl(a,b,c){var d=b.$,e=c.$,g=null;c instanceof I&&(g=c.placeholder);null!==g?(d=g.eb(dc),d.x+=g.padding.left,d.y+=g.padding.top,fl(a,b,"position",d,b.position,!1)):fl(a,b,"position",new O(e.x+e.width/2-d.width/2,e.y+e.height/2-d.height/2),b.position,!1);fl(a,b,"scale",.01,b.scale,!1);if(b instanceof I)for(b=b.Nc;b.next();)g=b.value,g instanceof G&&nl(a,g,c)}
-function ol(a,b,c){if(b.isVisible()){var d=null;c instanceof I&&(d=c.placeholder);null!==d?fl(a,b,"position:placeholder",b.position,d,!0):fl(a,b,"position:node",b.position,c,!0);fl(a,b,"scale",b.scale,.01,!0);a.wc&&(d=a.gn,d.contains(b)&&(d.na(b).xy=!0));if(b instanceof I)for(b=b.Nc;b.next();)d=b.value,d instanceof G&&ol(a,d,c)}}function pl(a,b,c){a.wc&&(null===a.Hr&&b.F()&&null===a.Gr&&(a.Hr=b.copy()),a.Gr=c.copy(),a.Io=!0)}
-function ql(a,b,c){a.wc&&a.ba.$n&&(0===a.Jr&&0===a.Ir&&(a.Jr=b),a.Ir=c,a.Io=!0)}D.defineProperty(gh,{isEnabled:"isEnabled"},function(){return this.mf},function(a){D.h(a,"boolean",gh,"isEnabled");this.mf=a});D.defineProperty(gh,{duration:"duration"},function(){return this.wz},function(a){D.h(a,"number",gh,"duration");1>a&&D.ua(a,">= 1",gh,"duration");this.wz=a});D.w(gh,{tf:"isAnimating"},function(){return this.nk});D.w(gh,{pJ:"isTicking"},function(){return this.pp});
-D.defineProperty(gh,{VF:"isInitial"},function(){return this.ok},function(a){D.h(a,"boolean",gh,"isInitial");this.ok=a});function bl(a,b,c){this.start=a;this.end=b;this.eu=new la;this.yx=c;this.xy=!1}
-var ll={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.Jy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):a.position=new O(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.$,k=c.$;c=k.x+k.width/2-h.width/2;h=k.y+k.height/2-h.height/2;e!==g?a.Jy(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g)):a.position=new O(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.Jy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):
-a.position=new O(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 Ug(){0e.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}D.w(gh,{dL:"animationReasons"},function(){return this.xv});
+gh.prototype.canStart=function(){return!0};gh.prototype.prepareAutomaticAnimation=gh.prototype.po=function(a){this.nf&&(this.pk||this.ba.$n)&&(this.xv.add(a),this.canStart(a)&&(this.ok&&this.Hi(),this.wc=!0))};function bl(a){if(a.nf&&(a.xv.clear(),a.wc))if(!a.Io)a.wc=!1;else if(0===a.Ho){var b=+new Date;a.Ho=b;requestAnimationFrame(function(){if(!1!==a.wc&&!a.ok&&a.Ho===b){var c=a.ba;c.Gj("temporaryPixelRatio")&&(c.Ck=1);cl(c);a.wc=!1;c.Ja("AnimationStarting");dl(a,b)}})}}
+function el(a,b,c,d,e,g){if(a.wc&&(v&&D.l(b,P,gh,"addPropToAnimation:obj"),!("position"===c&&d.P(e)||b instanceof F&&!b.OF))){var h=a.gn;if(h.contains(b)){var h=h.na(b),k=h.start,l=h.end;void 0===k[c]&&(k[c]=fl(d));h.Ax&&void 0!==l[c]?h.eu[c]=fl(e):(g||(h.eu[c]=fl(e)),l[c]=fl(e));g&&0===c.indexOf("position:")&&b instanceof F&&(h.eu.location=fl(b.location))}else k=new la,l=new la,k[c]=fl(d),l[c]=fl(e),d=l,e=k.position,e instanceof O&&!e.F()&&a.xv.contains("Expand SubGraph")&&e.assign(d.position),k=
+new al(k,l,g),g&&0===c.indexOf("position:")&&b instanceof F&&(k.eu.location=fl(b.location)),h.add(b,k);a.Io=!0}}function fl(a){return a instanceof O?a.copy():a instanceof Ca?a.copy():a}
+function dl(a,b){var c;function d(){if(!1!==g.ok&&g.Ho===b){var a=+new Date,c=a>s?m:a-r;gl(g);hl(g,e,q,h,c,m);g.Iv&&g.Iv();bj(e);il(g);a>s?jl(g):requestAnimationFrame(d)}}void 0===c&&(c=new la);var e=a.ba;if(null!==e){a.ok=!0;var g=a,h=c.GL||a.KC,k=c.gM||null,l=c.hM||null,m=c.duration||a.xz,n=a.BH;for(c=a.gn.j;c.next();){var p=c.value.start.position;p instanceof O&&(p.F()||p.assign(n))}a.FC=h;a.Iv=k;a.Jv=l;a.EC=m;a.Kv=a.gn;var q=a.Kv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l=
+k["position:placeholder"],n=l.fb(dc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);gl(a);hl(a,e,q,h,0,m);bj(a.ba);il(a);var r=+new Date,s=r+m;g.Ho===b&&requestAnimationFrame(function(){d()})}}function gl(a){if(!a.pp){var b=a.ba;a.uE=b.Eb;a.sC=b.Ue;a.tC=b.ev;b.Eb=!0;b.Ue=!0;b.ev=!0;a.pp=!0}}function il(a){var b=a.ba;b.Eb=a.uE;b.Ue=a.sC;b.ev=a.tC;a.pp=!1}
+function hl(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!==kl[m])kl[m](h,l[m],k[m],d,e,g)}d=b.aB;b.aB=!0;m=a.KC;0!==a.Jr&&0!==a.Ir&&(c=a.Jr,b.Bb=m(e,c,a.Ir-c,g));null!==a.Hr&&null!==a.Gr&&(c=a.Hr,a=a.Gr,b.rb=new O(m(e,c.x,a.x-c.x,g),m(e,c.y,a.y-c.y,g)));b.aB=d}
+gh.prototype.stopAnimation=gh.prototype.Hi=function(){!0===this.wc&&(this.wc=!1,this.Io&&this.ba.Se());this.ok&&this.nf&&jl(this)};
+function jl(a){a.ok=!1;a.Io=!1;gl(a);for(var b=a.ba,c=a.FC,d=a.EC,e=a.Kv.j;e.next();){var g=e.key,h=e.value,k=h.start,l=h.end,m=h.eu,n;for(n in l)if(void 0!==kl[n]){var p=n;!h.Ax||"position:node"!==p&&"position:placeholder"!==p||(p="position");kl[p](g,k[n],void 0!==m[n]?m[n]:h.Ax?k[n]:l[n],c,d,d)}h.Ax&&void 0!==m.location&&g instanceof F&&(g.location=m.location);h.yy&&g instanceof F&&g.Jd(!1)}for(c=a.ba.links;c.next();)d=c.value,null!==d.Jp&&(d.points=d.Jp,d.Jp=null);b.ky.clear();b.Ck=null;b.zc();
+b.qa();b.ig();ll(b);il(a);a.Jv&&a.Jv();a.Ho=0;a.Kv=null;a.Jv=null;a.Iv=null;a.Hr=null;a.Gr=null;a.Jr=0;a.Ir=0;a.gn=new ma(P,al);b.Ja("AnimationFinished");b.Se()}
+function ml(a,b,c){var d=b.$,e=c.$,g=null;c instanceof I&&(g=c.placeholder);null!==g?(d=g.fb(dc),d.x+=g.padding.left,d.y+=g.padding.top,el(a,b,"position",d,b.position,!1)):el(a,b,"position",new O(e.x+e.width/2-d.width/2,e.y+e.height/2-d.height/2),b.position,!1);el(a,b,"scale",.01,b.scale,!1);if(b instanceof I)for(b=b.Nc;b.next();)g=b.value,g instanceof G&&ml(a,g,c)}
+function nl(a,b,c){if(b.isVisible()){var d=null;c instanceof I&&(d=c.placeholder);null!==d?el(a,b,"position:placeholder",b.position,d,!0):el(a,b,"position:node",b.position,c,!0);el(a,b,"scale",b.scale,.01,!0);a.wc&&(d=a.gn,d.contains(b)&&(d.na(b).yy=!0));if(b instanceof I)for(b=b.Nc;b.next();)d=b.value,d instanceof G&&nl(a,d,c)}}function ol(a,b,c){a.wc&&(null===a.Hr&&b.F()&&null===a.Gr&&(a.Hr=b.copy()),a.Gr=c.copy(),a.Io=!0)}
+function pl(a,b,c){a.wc&&a.ba.$n&&(0===a.Jr&&0===a.Ir&&(a.Jr=b),a.Ir=c,a.Io=!0)}D.defineProperty(gh,{isEnabled:"isEnabled"},function(){return this.nf},function(a){D.h(a,"boolean",gh,"isEnabled");this.nf=a});D.defineProperty(gh,{duration:"duration"},function(){return this.xz},function(a){D.h(a,"number",gh,"duration");1>a&&D.ua(a,">= 1",gh,"duration");this.xz=a});D.w(gh,{uf:"isAnimating"},function(){return this.ok});D.w(gh,{qJ:"isTicking"},function(){return this.pp});
+D.defineProperty(gh,{WF:"isInitial"},function(){return this.pk},function(a){D.h(a,"boolean",gh,"isInitial");this.pk=a});function al(a,b,c){this.start=a;this.end=b;this.eu=new la;this.Ax=c;this.yy=!1}
+var kl={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.Ky(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):a.position=new O(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.$,k=c.$;c=k.x+k.width/2-h.width/2;h=k.y+k.height/2-h.height/2;e!==g?a.Ky(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g)):a.position=new O(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.Ky(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):
+a.position=new O(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 Ug(){0=a)return b;for(var c=0,d=0,e=0,g=0,h=0,k=this.qb.j;k.next();){var l=k.value;l instanceof I?e++:l instanceof G?d++:l instanceof J?g++:l instanceof da?h++:c++}k="";0=d.count)a=d.count;else if(d.ea(a)===b)return-1;d.Xd(a,b);b.ru(c);d=this.g;null!==d&&(c?d.qa():d.sq(b));wl(this,a,b);return a};
-f.sf=function(a,b,c){if(!c&&b.layer!==this&&null!==b.layer)return b.layer.sf(a,b,c);var d=this.qb;if(0>a||a>=d.length){if(a=d.indexOf(b),0>a)return-1}else if(d.ea(a)!==b&&(a=d.indexOf(b),0>a))return-1;b.su(c);d.jd(a);d=this.g;null!==d&&(c?d.qa():d.sf(b));b.lw=null;return a};
-function wl(a,b,c){b=xl(a,b,c);if(c instanceof I&&null!==c&&isNaN(c.Co)){if(0!==c.Nc.count){for(var d=-1,e=a.qb.o,g=e.length,h=0;hd&&k.Ra===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.ea(g).Co;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.jd(b);a.Xd(g,c);return g}for(h=NaN;0<=--g&&(h=a.ea(g).Co,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.jd(b);a.Xd(k,c);return k}for(l=NaN;++ka||1parseInt(e[1],10)&&(D.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+
-D.vfo+". This license key will do nothing until you upgrade to GoJS 1.7 or later."),D.Dx.licenseKey=!0);this.Fl=1;this.Ym=0;this.wD=new O;this.sE=500;this.xv=new O;this.ut=null;this.Cl=!1;this.preventDefault=this.wy=this.qG=this.rG=this.pG=this.lo=this.$g=this.mo=this.jo=this.ko=this.dC=this.UB=this.VB=this.WB=this.Ql=this.ht=this.Pl=this.gt=null;this.GD=1;this.fw=!1;this.zl=new Kl;void 0!==a&&Ll(this,a);this.$c=!1}D.ja("Diagram",E);
-E.prototype.clear=E.prototype.clear=function(){var a=null;null!==this.Ad&&(a=this.Ad.Y);this.ga.clear();for(var b=this.cc.length,c=0;c=d.count)a=d.count;else if(d.ea(a)===b)return-1;d.Xd(a,b);b.tu(c);d=this.g;null!==d&&(c?d.qa():d.sq(b));vl(this,a,b);return a};
+f.tf=function(a,b,c){if(!c&&b.layer!==this&&null!==b.layer)return b.layer.tf(a,b,c);var d=this.qb;if(0>a||a>=d.length){if(a=d.indexOf(b),0>a)return-1}else if(d.ea(a)!==b&&(a=d.indexOf(b),0>a))return-1;b.uu(c);d.jd(a);d=this.g;null!==d&&(c?d.qa():d.tf(b));b.nw=null;return a};
+function vl(a,b,c){b=wl(a,b,c);if(c instanceof I&&null!==c&&isNaN(c.Co)){if(0!==c.Nc.count){for(var d=-1,e=a.qb.o,g=e.length,h=0;hd&&k.Ra===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.ea(g).Co;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.jd(b);a.Xd(g,c);return g}for(h=NaN;0<=--g&&(h=a.ea(g).Co,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.jd(b);a.Xd(k,c);return k}for(l=NaN;++ka||1parseInt(e[1],10)&&(D.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+
+D.vfo+". This license key will do nothing until you upgrade to GoJS 1.7 or later."),D.Fx.licenseKey=!0);this.Gl=1;this.Ym=0;this.wD=new O;this.sE=500;this.zv=new O;this.ut=null;this.Dl=!1;this.preventDefault=this.xy=this.rG=this.sG=this.qG=this.lo=this.ah=this.mo=this.jo=this.ko=this.dC=this.UB=this.VB=this.WB=this.Rl=this.ht=this.Ql=this.gt=null;this.GD=1;this.hw=!1;this.Al=new Jl;void 0!==a&&Kl(this,a);this.$c=!1}D.ka("Diagram",E);
+E.prototype.clear=E.prototype.clear=function(){var a=null;null!==this.Ad&&(a=this.Ad.Y);this.ga.clear();for(var b=this.cc.length,c=0;c=a)return b;for(var c=this.cc.j;c.next();)b+="\n "+c.value.toString(a-1);return b};E.fromDiv=function(a){var b=a;"string"===typeof a&&(b=window.document.getElementById(a));return b instanceof HTMLDivElement&&b.ba instanceof E?b.ba:null};
-D.defineProperty(E,{Dj:"div"},function(){return this.Sb},function(a){null!==a&&D.l(a,HTMLDivElement,E,"div");if(this.Sb!==a){zl=[];var b=this.Sb;null!==b?(b.ba=void 0,b.innerHTML="",null!==this.Mb&&(this.Mb.removeEventListener("touchstart",this.WB,!1),this.Mb.removeEventListener("touchmove",this.VB,!1),this.Mb.removeEventListener("touchend",this.UB,!1),this.Mb.Ud.ba=null),b=this.kb,null!==b&&(b.lf.each(function(a){a.cancelWaitAfter()}),b.jg.each(function(a){a.cancelWaitAfter()}),b.kg.each(function(a){a.cancelWaitAfter()})),
-b.cancelWaitAfter(),this.gb.doCancel(),this.od=this.Mb=null,window.removeEventListener("resize",this.dC,!1),window.removeEventListener("mousemove",this.ko,!0),window.removeEventListener("mousedown",this.jo,!0),window.removeEventListener("mouseup",this.mo,!0),window.removeEventListener("mousewheel",this.$g,!0),window.removeEventListener("DOMMouseScroll",this.$g,!0),window.removeEventListener("mouseout",this.lo,!0)):this.th=!1;this.Sb=null;if(null!==a){if(b=a.ba)b.Dj=null;Ll(this,a);this.Gq()}}});
-function Ol(a){var b=a.Mb;b.addEventListener("touchstart",a.WB,!1);b.addEventListener("touchmove",a.VB,!1);b.addEventListener("touchend",a.UB,!1);b.addEventListener("mousemove",a.ko,!1);b.addEventListener("mousedown",a.jo,!1);b.addEventListener("mouseup",a.mo,!1);b.addEventListener("mousewheel",a.$g,!1);b.addEventListener("DOMMouseScroll",a.$g,!1);b.addEventListener("mouseout",a.lo,!1);b.addEventListener("keydown",a.rJ,!1);b.addEventListener("keyup",a.sJ,!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.kb.pq===Hk&&b.preventDefault()},!1);b.addEventListener("pointerdown",a.pG,!1);b.addEventListener("pointermove",a.rG,!1);b.addEventListener("pointerleave",a.qG,!1);window.addEventListener("resize",a.dC,!1)}E.prototype.computePixelRatio=function(){return null!==this.Bk?this.Bk:this.GD};E.prototype.doMouseMove=function(){this.gb.doMouseMove()};
-E.prototype.doMouseDown=function(){this.gb.doMouseDown()};E.prototype.doMouseUp=function(){this.gb.doMouseUp()};E.prototype.doMouseWheel=function(){this.gb.doMouseWheel()};E.prototype.doKeyDown=function(){this.gb.doKeyDown()};E.prototype.doKeyUp=function(){this.gb.doKeyUp()};E.prototype.doFocus=function(){this.focus()};E.prototype.focus=E.prototype.focus=function(){this.Mb&&this.Mb.focus()};
-function dl(a){if(null!==a.Mb){var b=a.Sb;if(0!==b.clientWidth&&0!==b.clientHeight){var c=a.yl?a.Rd:0,d=a.lk?a.Rd:0,e=a.qd;a.qd=a.computePixelRatio();a.qd!==e&&(a.cs=!0,a.Se());if(b.clientWidth!==a.Ob+c||b.clientHeight!==a.Rb+d)a.Sm=!0,a.Me=!0,b=a.Vb,null!==b&&b.ay&&a.bm===Rh&&b.N(),a.ge||a.Se()}}}
-function Il(a){var b=new Ug;b.name="Background";a.Ot(b);b=new Ug;b.name="";a.Ot(b);b=new Ug;b.name="Foreground";a.Ot(b);b=new Ug;b.name="Adornment";b.Uc=!0;a.Ot(b);b=new Ug;b.name="Tool";b.Uc=!0;b.OF=!0;a.Ot(b);b=new Ug;b.name="Grid";b.Cf=!1;b.qg=!1;b.Uc=!0;a.OH(b,a.km("Background"))}
-function Pl(a){a.Ad=new x(Ql);a.Ad.name="GRID";var b=new z;b.Jb="LineH";b.stroke="lightgray";b.jb=.5;b.interval=1;a.Ad.add(b);b=new z;b.Jb="LineH";b.stroke="gray";b.jb=.5;b.interval=5;a.Ad.add(b);b=new z;b.Jb="LineH";b.stroke="gray";b.jb=1;b.interval=10;a.Ad.add(b);b=new z;b.Jb="LineV";b.stroke="lightgray";b.jb=.5;b.interval=1;a.Ad.add(b);b=new z;b.Jb="LineV";b.stroke="gray";b.jb=.5;b.interval=5;a.Ad.add(b);b=new z;b.Jb="LineV";b.stroke="gray";b.jb=1;b.interval=10;a.Ad.add(b);b=new F;b.add(a.Ad);
-b.Kf="Grid";b.Co=0;b.Wx=!1;b.NF=!1;b.qg=!1;b.ky="GRID";a.add(b);a.qb.remove(b);a.Ad.visible=!1}function Rl(){this.ba.isEnabled?this.ba.uI(this):Sl(this.ba)}function Tl(a){this.ba.isEnabled?(this.ba.$z=!0,this.ba.bA=a.target.scrollTop,this.ba.aA=a.target.scrollLeft):Sl(this.ba)}
-E.prototype.diagramScroll=E.prototype.uI=function(a){if(this.$z&&null!==this.Mb){this.Mw=!0;var b=this.dd,c=this.ub,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.gs)switch(this.Yz){case "negative":s=s+a.scrollWidth-a.clientWidth;break;case "reverse":s=a.scrollWidth-s-a.clientWidth}var u=s;el&&(this.position=s.n(-(this.Qw.scrollWidth-this.Ob)+u-this.Ob/r+k,this.position.y))),a.DH&&this.ze&&(bn&&(this.position=s.n(this.position.x,-(this.Qw.scrollHeight-this.Rb)+a.scrollTop-this.Rb/r+m))),D.A(s),Ul(this),this.Sm=this.Mw=!1,b=this.dd,c=this.ub,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.lt.style.width="1px"),h>=g&&b>=c&&m<=n&&(this.lt.style.height="1px"))}};E.prototype.computeBounds=E.prototype.Kh=function(){0c&&(e=c),ea.Ph&&(e=a.Ph),e):b===am?(e=l>k?(h-a.Rd)/d:(g-a.Rd)/e,e>c&&(e=c),ea.Ph&&(e=a.Ph),e):a.scale}E.prototype.zoomToFit=E.prototype.zoomToFit=function(){this.scale=Xl(this,$l)};
-E.prototype.zoomToRect=function(a,b){void 0===b&&(b=$l);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===$l||b===am)if(isNaN(c))e=this.ub.height*this.scale/d;else if(isNaN(d))e=this.ub.width*this.scale/c;else var e=this.Ob,g=this.Rb,e=b===am?g/d>e/c?(g-(this.lk?this.Rd:0))/d:(e-(this.yl?this.Rd:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new O(a.x,a.y)}};D.defineProperty(E,{aB:null},function(){return this.$c},function(a){this.$c=a});
-E.prototype.alignDocument=function(a,b){this.mk&&Zl(this,this.Kh());var c=this.dd,d=this.ub;this.position=new O(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 Yl(a,b,c,d,e,g,h){var k=b.x,l=b.y;if(h||a.CB===Al)g.fd()&&(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.LG,h=d-c.width,dc.left?k=c.left:kc.top?l=c.top:ll&&(this.position=s.n(-(this.Sw.scrollWidth-this.Ob)+u-this.Ob/r+k,this.position.y))),a.EH&&this.ze&&(bn&&(this.position=s.n(this.position.x,-(this.Sw.scrollHeight-this.Rb)+a.scrollTop-this.Rb/r+m))),D.A(s),Tl(this),this.Sm=this.Ow=!1,b=this.dd,c=this.ub,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.lt.style.width="1px"),h>=g&&b>=c&&m<=n&&(this.lt.style.height="1px"))}};E.prototype.computeBounds=E.prototype.Lh=function(){0c&&(e=c),ea.Qh&&(e=a.Qh),e):b===$l?(e=l>k?(h-a.Rd)/d:(g-a.Rd)/e,e>c&&(e=c),ea.Qh&&(e=a.Qh),e):a.scale}E.prototype.zoomToFit=E.prototype.zoomToFit=function(){this.scale=Wl(this,Zl)};
+E.prototype.zoomToRect=function(a,b){void 0===b&&(b=Zl);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Zl||b===$l)if(isNaN(c))e=this.ub.height*this.scale/d;else if(isNaN(d))e=this.ub.width*this.scale/c;else var e=this.Ob,g=this.Rb,e=b===$l?g/d>e/c?(g-(this.mk?this.Rd:0))/d:(e-(this.zl?this.Rd:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new O(a.x,a.y)}};D.defineProperty(E,{aB:null},function(){return this.$c},function(a){this.$c=a});
+E.prototype.alignDocument=function(a,b){this.nk&&Yl(this,this.Lh());var c=this.dd,d=this.ub;this.position=new O(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 Xl(a,b,c,d,e,g,h){var k=b.x,l=b.y;if(h||a.CB===zl)g.fd()&&(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.MG,h=d-c.width,dc.left?k=c.left:kc.top?l=c.top:lc.touches.length)&&c.preventDefault();c.cancelBubble=!0;return!1}
-E.prototype.rJ=function(a){if(!this.ba.isEnabled)return!1;var b=this.ba.Tb;bm(this.ba,this.ba,a,b,!1);b.key=String.fromCharCode(a.which);b.jm=!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=
+E.prototype.findObjectsAt=E.prototype.gu=function(a,b,c,d){void 0===b&&(b=null);void 0===c&&(c=null);d instanceof K||d instanceof L||(d=new L(P));Si(this);for(var e=this.cc.ao;e.next();){var g=e.value;g.visible&&g.gu(a,b,c,d)}return d};E.prototype.findObjectsIn=E.prototype.Rk=function(a,b,c,d,e){void 0===b&&(b=null);void 0===c&&(c=null);void 0===d&&(d=!1);e instanceof K||e instanceof L||(e=new L(P));Si(this);for(var g=this.cc.ao;g.next();){var h=g.value;h.visible&&h.Rk(a,b,c,d,e)}return e};
+E.prototype.MA=function(a,b,c,d,e,g){var h=new L(P);Si(this);for(var k=this.cc.ao;k.next();){var l=k.value;l.visible&&l.MA(a,b,c,d,h,e,g)}return h};E.prototype.findObjectsNear=E.prototype.Qn=function(a,b,c,d,e,g){void 0===c&&(c=null);void 0===d&&(d=null);void 0===e&&(e=!0);if(!1!==e&&!0!==e){if(e instanceof K||e instanceof L)g=e;e=!0}g instanceof K||g instanceof L||(g=new L(P));Si(this);for(var h=this.cc.ao;h.next();){var k=h.value;k.visible&&k.Qn(a,b,c,d,e,g)}return g};
+E.prototype.acceptEvent=function(a){var b=this.cd;this.cd=this.Tb;this.Tb=b;am(this,this,a,b,a instanceof MouseEvent);return b};
+function am(a,b,c,d,e){d.g=b;d.event=c;e?bm(a,c,d):(d.qe=b.Tb.qe,d.ha=b.Tb.ha);a=0;c.ctrlKey&&(a+=1);c.altKey&&(a+=2);c.shiftKey&&(a+=4);c.metaKey&&(a+=8);d.Kd=a;d.button=c.button;void 0===c.buttons||D.kJ||(d.buttons=c.buttons);D.Xk&&0===c.button&&c.ctrlKey&&(d.button=2);d.km=!1;d.up=!1;d.Oe=1;d.jm=0;d.Mc=!1;d.bubbles=!1;d.timestamp=Date.now();d.Au=!1;d.hh=c.target.ba?c.target.ba:null;d.We=null}
+function cm(a,b,c,d,e){d.g=a;bm(a,c,d);d.Kd=0;d.button=0;d.buttons=1;d.km=!0;d.up=!1;d.Oe=1;d.jm=0;d.Mc=!1;d.bubbles=!0;d.event=b;d.timestamp=Date.now();d.Au=e;d.hh=b.target.ba?b.target.ba:null;d.We=null;a.Yi=d.copy();Zh=null}
+function dm(a,b,c,d,e){var g=null;d.g=a;null!==c?((g=window.document.elementFromPoint(c.clientX,c.clientY))&&g.ba?g=g.ba:(c=b.changedTouches[0],g=a),d.hh=g,bm(a,c,d)):null!==a.cd?(d.ha=a.cd.ha,d.qe=a.cd.qe,d.hh=a.cd.hh):null!==a.Yi&&(d.ha=a.Yi.ha,d.qe=a.Yi.qe,d.hh=a.Yi.hh);d.Kd=0;d.button=0;d.buttons=1;d.km=!1;d.up=!1;d.Oe=1;d.jm=0;d.Mc=!1;d.bubbles=!1;d.event=b;d.timestamp=Date.now();d.Au=e;d.We=null}
+function ga(a,b,c){if(b.bubbles)return v&&v.JF&&D.trace("NOT handled "+c.type+" "+b.toString()),!0;v&&v.JF&&D.trace("handled "+c.type+" "+a.hb.name+" "+b.toString());void 0!==c.stopPropagation&&c.stopPropagation();(void 0===c.touches||2>c.touches.length)&&c.preventDefault();c.cancelBubble=!0;return!1}
+E.prototype.sJ=function(a){if(!this.ba.isEnabled)return!1;var b=this.ba.Tb;am(this.ba,this.ba,a,b,!1);b.key=String.fromCharCode(a.which);b.km=!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.ba.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?ga(this.ba,b,a):(a.cancelBubble=!0,a.preventDefault(),a.stopPropagation(),!1)};
-E.prototype.sJ=function(a){if(!this.ba.isEnabled)return!1;var b=this.ba.Tb;bm(this.ba,this.ba,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.ba.doKeyUp();
+E.prototype.tJ=function(a){if(!this.ba.isEnabled)return!1;var b=this.ba.Tb;am(this.ba,this.ba,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.ba.doKeyUp();
return ga(this.ba,b,a)};E.prototype.fp=function(a){var b=this.Mb;if(null===b)return new O(0,0);var c=this.Ob,d=this.Rb,b=b.getBoundingClientRect(),c=a.clientX-c/b.width*b.left;a=a.clientY-d/b.height*b.top;return null!==this.Ic?(a=new O(c,a),gb(a,this.Ic),a):new O(c,a)};
-function cm(a,b,c){var d=a.Mb,e=a.Ob,g=a.Rb,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.qe.n(h,k);null!==a.Ic?(b=D.Fb(h,k),a.Ic.Ci(b),c.ha.assign(b),D.A(b)):c.ha.n(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.oj[0])e=a.oj[c];else return;c=a.Mb;b=a.Ob;a=a.Rb;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.n(g,h)}E.prototype.invalidateDocumentBounds=E.prototype.zc=function(){this.mk||(this.mk=!0,this.Se(!0))};function ml(a){a.ge||Si(a);a.mk&&Zl(a,a.Kh())}
-E.prototype.redraw=E.prototype.Gq=function(){this.$c||this.ge||(this.qa(),fm(this),Ul(this),this.zc(),this.hg())};E.prototype.isUpdateRequested=function(){return this.Zf};E.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Xa,c=b.isEnabled;b.Hi();b.isEnabled=!1;bj(this);this.th=!1;b.isEnabled=c;null!==a&&D.setTimeout(a,1)};
-E.prototype.requestUpdate=E.prototype.Se=function(a){void 0===a&&(a=!1);if(!0!==this.Zf&&!(this.$c||!1===a&&this.ge)){this.Zf=!0;var b=this;requestAnimationFrame(function(){b.Zf&&b.hg()})}};E.prototype.maybeUpdate=E.prototype.hg=function(){if(!this.dp||this.Zf)this.dp&&(this.dp=!1),bj(this)};function gm(a,b){a.Xa.tf||a.$c||!a.Sm||Sl(a)||(b&&Si(a),Wl(a,!1))}
-function bj(a){if(!a.ge&&(a.Zf=!1,null!==a.Sb)){a.ge=!0;var b=a.Xa,c=a.Wz;if(!b.pp&&0!==c.length){for(var d=c.o,e=d.length,g=0;gb;b++){var c=a.Eg.j;if(null===c||0===a.Eg.count)break;a.Eg=new L(F);a.aC(c,a.Eg);v&&22===b&&D.trace("failure to validate parts")}a.og.each(function(a){a instanceof I&&0!==(a.Ca&65536)!==!1&&(a.Ca^=65536)})}}
-E.prototype.aC=function(a,b){for(a.reset();a.next();){var c=a.value;!c.oe()||c instanceof I||(c.vm()?(Fk(c,Infinity,Infinity),c.pc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof I&&c.isVisible()&&Im(this,c);for(a.reset();a.next();)c=a.value,c instanceof J&&c.isVisible()&&(c.vm()?(Fk(c,Infinity,Infinity),c.pc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof da&&c.isVisible()&&(c.vm()?(Fk(c,Infinity,Infinity),c.pc()):b.add(c))};
-function Im(a,b){for(var c=D.tb(),d=D.tb(),e=b.Nc;e.next();){var g=e.value;g.isVisible()&&(g instanceof I?(Jm(g)||Km(g)||Lm(g))&&Im(a,g):g instanceof J?g.aa===b||g.da===b?d.push(g):c.push(g):(Fk(g,Infinity,Infinity),g.pc()))}for(var e=c.length,h=0;hb.targetTouches.length)return;e=b.targetTouches[c]}else if(null!==a.oj[0])e=a.oj[c];else return;c=a.Mb;b=a.Ob;a=a.Rb;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.n(g,h)}E.prototype.invalidateDocumentBounds=E.prototype.zc=function(){this.nk||(this.nk=!0,this.Se(!0))};function ll(a){a.ge||Si(a);a.nk&&Yl(a,a.Lh())}
+E.prototype.redraw=E.prototype.Gq=function(){this.$c||this.ge||(this.qa(),em(this),Tl(this),this.zc(),this.ig())};E.prototype.isUpdateRequested=function(){return this.$f};E.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Xa,c=b.isEnabled;b.Hi();b.isEnabled=!1;bj(this);this.uh=!1;b.isEnabled=c;null!==a&&D.setTimeout(a,1)};
+E.prototype.requestUpdate=E.prototype.Se=function(a){void 0===a&&(a=!1);if(!0!==this.$f&&!(this.$c||!1===a&&this.ge)){this.$f=!0;var b=this;requestAnimationFrame(function(){b.$f&&b.ig()})}};E.prototype.maybeUpdate=E.prototype.ig=function(){if(!this.dp||this.$f)this.dp&&(this.dp=!1),bj(this)};function fm(a,b){a.Xa.uf||a.$c||!a.Sm||Rl(a)||(b&&Si(a),Vl(a,!1))}
+function bj(a){if(!a.ge&&(a.$f=!1,null!==a.Sb)){a.ge=!0;var b=a.Xa,c=a.Xz;if(!b.pp&&0!==c.length){for(var d=c.o,e=d.length,g=0;gb;b++){var c=a.Fg.j;if(null===c||0===a.Fg.count)break;a.Fg=new L(F);a.aC(c,a.Fg);v&&22===b&&D.trace("failure to validate parts")}a.pg.each(function(a){a instanceof I&&0!==(a.Ca&65536)!==!1&&(a.Ca^=65536)})}}
+E.prototype.aC=function(a,b){for(a.reset();a.next();){var c=a.value;!c.oe()||c instanceof I||(c.wm()?(Fk(c,Infinity,Infinity),c.qc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof I&&c.isVisible()&&Im(this,c);for(a.reset();a.next();)c=a.value,c instanceof J&&c.isVisible()&&(c.wm()?(Fk(c,Infinity,Infinity),c.qc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof da&&c.isVisible()&&(c.wm()?(Fk(c,Infinity,Infinity),c.qc()):b.add(c))};
+function Im(a,b){for(var c=D.tb(),d=D.tb(),e=b.Nc;e.next();){var g=e.value;g.isVisible()&&(g instanceof I?(Jm(g)||Km(g)||Lm(g))&&Im(a,g):g instanceof J?g.aa===b||g.da===b?d.push(g):c.push(g):(Fk(g,Infinity,Infinity),g.qc()))}for(var e=c.length,h=0;hy+1&&
-(N=Math.max((t-y)*c+a.Ob,N)),q+k+1p+1&&(k=Math.max((A-p)*c+a.Rb,k)),r+l+1y+1&&(N=Math.max((t-y)*c+a.Ob,N)),q+1p+1&&(k=Math.max((A-p)*c+W,k)),r+1y+1&&(l=a.position.x*c));if(a.gs)switch(a.Yz){case "negative":l=-(b.scrollWidth-l-b.clientWidth);break;case "reverse":l=b.scrollWidth-l-b.clientWidth}b.scrollLeft=l;a.WA&&a.ze&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.cs=!0);m=a.Ob;n=a.Rb;b.style.width=m+(a.yl?a.Rd:0)+
-"px";b.style.height=n+(a.lk?a.Rd:0)+"px";a.$z=!1;return d!==m||e!==n||a.Xa.wc?(p=a.ub,a.Pu(g,p,c,a.scale,h),!1):!0}
-E.prototype.add=E.prototype.add=function(a){D.l(a,F,E,"add:part");var b=a.g;if(b!==this){null!==b&&D.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.ar&&(a.Gl="Tool");var c=a.Kf,b=this.km(c);null===b&&(b=this.km(""));null===b&&D.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.sq(99999999,a,a.g===this),0<=c&&this.hd(dg,"parts",b,null,a,null,c),b.Uc||this.zc(),a.N(Sm),c=a.gy,null!==
+t.x),Math.abs(r.y-t.y)));gb(r,w);gb(t,w);m.push(new B(Math.min(r.x,t.x),Math.min(r.y,t.y),Math.abs(r.x-t.x),Math.abs(r.y-t.y)));this.Al.Fm(this)&&(h=0y+1&&
+(N=Math.max((t-y)*c+a.Ob,N)),q+k+1p+1&&(k=Math.max((A-p)*c+a.Rb,k)),r+l+1y+1&&(N=Math.max((t-y)*c+a.Ob,N)),q+1p+1&&(k=Math.max((A-p)*c+W,k)),r+1y+1&&(l=a.position.x*c));if(a.gs)switch(a.Zz){case "negative":l=-(b.scrollWidth-l-b.clientWidth);break;case "reverse":l=b.scrollWidth-l-b.clientWidth}b.scrollLeft=l;a.WA&&a.ze&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.cs=!0);m=a.Ob;n=a.Rb;b.style.width=m+(a.zl?a.Rd:0)+
+"px";b.style.height=n+(a.mk?a.Rd:0)+"px";a.aA=!1;return d!==m||e!==n||a.Xa.wc?(p=a.ub,a.Ru(g,p,c,a.scale,h),!1):!0}
+E.prototype.add=E.prototype.add=function(a){D.l(a,F,E,"add:part");var b=a.g;if(b!==this){null!==b&&D.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.ar&&(a.Hl="Tool");var c=a.Lf,b=this.lm(c);null===b&&(b=this.lm(""));null===b&&D.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.sq(99999999,a,a.g===this),0<=c&&this.hd(ng,"parts",b,null,a,null,c),b.Uc||this.zc(),a.N(Sm),c=a.hy,null!==
c&&c(a,null,b))}};
-E.prototype.sq=function(a){if(a instanceof G){if(this.Dp.add(a),a instanceof I){var b=a.Ra;null===b?this.Tl.add(a):b.en.add(a);b=a.Vb;null!==b&&(b.g=this)}}else a instanceof J?this.xp.add(a):a instanceof da||this.qb.add(a);var c=this;Tm(a,function(a){Um(c,a)});(a instanceof da||a instanceof I&&null!==a.Qb)&&a.K();b=a.data;null!==b&&(a instanceof da||(a instanceof J?this.ck.add(b,a):this.Si.add(b,a)),Tm(a,function(a){Vm(c,a)}));!0!==Km(a)&&!0!==Lm(a)||this.Eg.add(a);Wm(a,!0,this);Xm(a)?(a.$.F()&&this.qa(vl(a,
-a.$)),this.zc()):a.isVisible()&&a.$.F()&&this.qa(vl(a,a.$));this.Se()};
-E.prototype.sf=function(a){a.Yt();if(a instanceof G){if(this.Dp.remove(a),a instanceof I){var b=a.Ra;null===b?this.Tl.remove(a):b.en.remove(a);b=a.Vb;null!==b&&(b.g=null)}}else a instanceof J?this.xp.remove(a):a instanceof da||this.qb.remove(a);var c=this;Tm(a,function(a){Ym(c,a)});b=a.data;null!==b&&(a instanceof da||(a instanceof J?this.ck.remove(b):this.Si.remove(b)),Tm(a,function(a){Zm(c,a)}));this.Eg.remove(a);Xm(a)?(a.$.F()&&this.qa(vl(a,a.$)),this.zc()):a.isVisible()&&a.$.F()&&this.qa(vl(a,
-a.$));this.Se()};E.prototype.remove=E.prototype.remove=function(a){D.l(a,F,E,"remove:part");$m(this,a,!0)};function $m(a,b,c){var d=b.layer;null!==d&&d.g===a&&(b.hb=!1,b.Yg=!1,b.N(an),c&&b.On(),c=d.sf(-1,b,!1),0<=c&&a.hd(og,"parts",d,b,null,c,null),a=b.gy,null!==a&&a(b,d,null))}
-E.prototype.removeParts=E.prototype.zB=function(a,b){if(D.isArray(a))for(var c=D.cb(a),d=0;dd&&this.zc()};
-E.prototype.addLayerAfter=function(a,b){bn(this,a,b);a.Yc(this);var c=this.cc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.ve&&this.hd(og,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.zc()};
-E.prototype.removeLayer=function(a){D.l(a,Ug,E,"removeLayer:layer");a.g!==this&&D.k("Cannot remove a Layer from another Diagram: "+a+" of "+a.g);if(""!==a.name){var b=this.cc,c=b.indexOf(a);if(b.remove(a)){for(b=a.qb.copy().j;b.next();){var d=b.value,e=d.Kf;d.Kf=e!==a.name?e:""}null!==this.ve&&this.hd(og,"layers",this,a,null,c,null);this.qa();this.zc()}}};E.prototype.findLayer=E.prototype.km=function(a){for(var b=this.bo;b.next();){var c=b.value;if(c.name===a)return c}return null};
-E.prototype.addModelChangedListener=E.prototype.QH=function(a){D.h(a,"function",E,"addModelChangedListener:listener");null===this.wh&&(this.wh=new K("function"));this.wh.add(a);this.ga.An(a)};E.prototype.removeModelChangedListener=function(a){D.h(a,"function",E,"removeModelChangedListener:listener");null!==this.wh&&(this.wh.remove(a),0===this.wh.count&&(this.wh=null));this.ga.Su(a)};
-E.prototype.addChangedListener=E.prototype.An=function(a){D.h(a,"function",E,"addChangedListener:listener");null===this.Ni&&(this.Ni=new K("function"));this.Ni.add(a)};E.prototype.removeChangedListener=E.prototype.Su=function(a){D.h(a,"function",E,"removeChangedListener:listener");null!==this.Ni&&(this.Ni.remove(a),0===this.Ni.count&&(this.Ni=null))};
-E.prototype.tx=function(a){this.Eb||this.ra.HF(a);a.Jc!==cg&&(this.Ei=!0);if(null!==this.Ni){var b=this.Ni,c=b.length;if(1===c)b=b.ea(0),b(a);else if(0!==c)for(var d=b.mc(),e=0;ea.Ph&&(c=a.Ph);e=D.Fb(a.rb.x+h/b-h/c,a.rb.y+k/b-k/c);a.position=e;D.A(e);a.Bb=c;a.Pu(d,a.ub,b,c,!1);a.$c=!1;Wl(a,
-!1);c=a.Xa;c.wc&&ql(c,b,a.Bb);a.qa();fm(a)}}
-E.prototype.Pu=function(a,b,c,d,e){a.P(b)||(void 0===e&&(e=!1),e||fm(this),Ul(this),d=this.Vb,null===d||!d.ay||this.bm!==Rh||e||a.width===b.width&&a.height===b.height||d.N(),d=this.gb,!0===this.Um&&d instanceof Lh&&(this.U.ha=this.YB(this.U.qe),Jk(d,this)),this.$c||this.MF(a,b),im(this),this.Fh.scale=c,this.Fh.position.x=a.x,this.Fh.position.y=a.y,this.Fh.bounds.set(a),this.Fh.isScroll=e,this.Ja("ViewportBoundsChanged",this.Fh,a),this.dB&&this.links.each(function(a){a.Jj&&a.$.fg(b)&&a.gc()}))};
-function im(a,b){void 0===b&&(b=null);var c=a.Ad;if(null!==c&&c.visible){for(var d=D.Cm(),e=1,g=1,h=c.ya.o,k=h.length,l=0;ln||(dn(m.Jb)?g=g*n/We(g,n):e=e*n/We(e,n))}h=c.Qx;d.n(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=D.Of();g=a.ub;e.n(g.x,g.y,g.width,g.height);for(h=a.Ew.j;h.next();)g=h.value.ub,g.F()&&Pb(e,g.x,g.y,g.width,g.height);if(!e.F()){D.Kb(e);return}k=e.width;l=e.height;g=e.x;h=e.y;D.Kb(e)}c.width=k+2*d.width;c.height=
-l+2*d.height;e=D.O();fb(g,h,0,0,d.width,d.height,e);e.offset(-d.width,-d.height);D.Rk(d);c.Y.location=e;D.A(e)}}E.prototype.clearSelection=E.prototype.vx=function(){var a=0
More... +
The constructor builds an empty Adornment.More... The optional argument specifies the Panel.type. Add whatever GraphObjects you need so that it can show handles, ornamentation, buttons or whatever you need to show for a Part.
- Parameters: diff --git a/api/symbols/AnimationManager.html b/api/symbols/AnimationManager.html index 74bbbc89b..06817f013 100644 --- a/api/symbols/AnimationManager.html +++ b/api/symbols/AnimationManager.html @@ -1111,7 +1111,7 @@
- A Set or List of Parts. +
- A Set or List of Parts. diff --git a/api/symbols/ForceDirectedEdge.html b/api/symbols/ForceDirectedEdge.html index 0959899c7..d8a56853a 100644 --- a/api/symbols/ForceDirectedEdge.html +++ b/api/symbols/ForceDirectedEdge.html @@ -1111,7 +1111,7 @@
- #getKeyForlinkData +
- getKeyForLinkData
- Parameters: diff --git a/api/symbols/Palette.html b/api/symbols/Palette.html index 398929532..a98c730da 100644 --- a/api/symbols/Palette.html +++ b/api/symbols/Palette.html @@ -1111,7 +1111,7 @@
- + Added the Non Realtime Dragging sample, + demonstrating how to customize the DraggingTool to have users drag around a translucent image of the selection, + rather than actually moving those Nodes and Links, until the mouse up occurs. + This makes use of the NonRealtimeDraggingTool.js extension. + +
- + The DraggingTool will now initiate auto scroll of the Diagram even if Diagram.allowMove and Diagram.allowCopy are false. + +
- + Link labels along multi-segmented links with unspecified GraphObject.segmentIndexes will now have more accurate angles. + +
- + Fixed a bug with TextBlocks when TextBlock.wrapping was set to TextBlock.None, it would size itself only by the last line. + +
-
diff --git a/extensions/NonRealtimeDragging.html b/extensions/NonRealtimeDragging.html
new file mode 100644
index 000000000..353ca2490
--- /dev/null
+++ b/extensions/NonRealtimeDragging.html
@@ -0,0 +1,77 @@
+
+
+
+
+
Non-Realtime Dragging + + + + + + + + + ++ ++ + \ No newline at end of file diff --git a/extensions/NonRealtimeDraggingTool.js b/extensions/NonRealtimeDraggingTool.js new file mode 100644 index 000000000..fd1557d4c --- /dev/null +++ b/extensions/NonRealtimeDraggingTool.js @@ -0,0 +1,116 @@ +"use strict"; +/* +* Copyright (C) 1998-2017 by Northwoods Software Corporation. All Rights Reserved. +*/ + +// A custom DraggingTool for dragging an image instead of actually moving any selected nodes, +// until the mouse-up event. + +/** +* @constructor +* @extends DraggingTool +* @class +*/ +function NonRealtimeDraggingTool() { + go.DraggingTool.call(this); + /** @type {Part} */ + this._imagePart = null; // a Part holding a translucent image of what would be dragged + /** @type {Map.+ This custom DraggingTool class causes the user to drag around a translucent image of the Nodes and Links being moved, + leaving the selected Parts in place, rather than actually moving those Nodes and Links in realtime. + Only when the mouse up occurs does the move happen. +
++ This tool is defined in its own file, as NonRealtimeDraggingTool.js +
+} */ + this._ghostDraggedParts = null; // a Map of the _imagePart and its dragging information + /** @type {Map. } */ + this._originalDraggedParts = null; // the saved normal value of DraggingTool.draggedParts +} +go.Diagram.inherit(NonRealtimeDraggingTool, go.DraggingTool); + +/** +* Call the base method, and then make an image of the returned collection, +* show it using a Picture, and hold the Picture in a temporary Part, as _imagePart. +* @this {NonRealtimeDraggingTool} +* @param {Iterable. } parts A {@link Set} or {@link List} of {@link Part}s. +* @return {Map. } +*/ +NonRealtimeDraggingTool.prototype.computeEffectiveCollection = function(coll) { + var map = go.DraggingTool.prototype.computeEffectiveCollection.call(this, coll); + if (this.isActive && this._imagePart === null) { + var bounds = this.diagram.computePartsBounds(map.toKeySet()); + var offset = this.diagram.lastInput.documentPoint.copy().subtract(bounds.position); + var $ = go.GraphObject.make; + this._imagePart = + $(go.Part, + { layerName: "Tool", opacity: 0.5, locationSpot: new go.Spot(0, 0, offset.x, offset.y) }, + $(go.Picture, + { element: this.diagram.makeImage({ parts: map.toKeySet() }) }) + ); + } + return map; +}; + +/** +* When activated, replace the DraggingTool.draggedParts with the _ghostDraggedParts, which +* consists of just one Part, the _imagePart, added to the Diagram at the current mouse point. +* @this {NonRealtimeDraggingTool} +*/ +NonRealtimeDraggingTool.prototype.doActivate = function() { + go.DraggingTool.prototype.doActivate.call(this); + if (this._imagePart !== null) { + this._imagePart.location = this.diagram.lastInput.documentPoint; + this.diagram.add(this._imagePart); + this._originalDraggedParts = this.draggedParts; + this._ghostDraggedParts = go.DraggingTool.prototype.computeEffectiveCollection.call(this, + new go.List().addAll([this._imagePart])); + this.draggedParts = this._ghostDraggedParts; + } +}; + +/** +* When deactivated, make sure any _imagePart is removed from the Diagram and all references are cleared out. +* @this {NonRealtimeDraggingTool} +*/ +NonRealtimeDraggingTool.prototype.doDeactivate = function() { + if (this._imagePart !== null) { + this.diagram.remove(this._imagePart); + } + this._imagePart = null; + this._ghostDraggedParts = null; + this._originalDraggedParts = null; + go.DraggingTool.prototype.doDeactivate.call(this); +}; + +/** +* Do the normal mouse-up behavior, but only after restoring DraggingTool.draggedParts. +* @this {NonRealtimeDraggingTool} +*/ +NonRealtimeDraggingTool.prototype.doMouseUp = function() { + if (this._originalDraggedParts !== null) { + this.draggedParts = this._originalDraggedParts; + } + go.DraggingTool.prototype.doMouseUp.call(this); +}; + +/** +* If the user changes to "copying" mode by holding down the Control key, +* return to the regular behavior and remove the _imagePart. +* @this {NonRealtimeDraggingTool} +*/ +NonRealtimeDraggingTool.prototype.doKeyDown = function() { + if (this._imagePart !== null && this._originalDraggedParts !== null && + (this.diagram.lastInput.control || this.diagram.lastInput.meta) && this.mayCopy()) { + this.draggedParts = this._originalDraggedParts; + this.diagram.remove(this._imagePart); + } + go.DraggingTool.prototype.doKeyDown.call(this); +}; + +/** +* If the user changes back to "moving" mode, +* show the _imagePart again and go back to dragging the _ghostDraggedParts. +* @this {NonRealtimeDraggingTool} +*/ +NonRealtimeDraggingTool.prototype.doKeyUp = function() { + if (this._imagePart !== null && this._ghostDraggedParts !== null && this.mayMove()) { + this._imagePart.location = this.diagram.lastInput.documentPoint; + this.diagram.add(this._imagePart); + this.draggedParts = this._ghostDraggedParts; + } + go.DraggingTool.prototype.doKeyUp.call(this); +}; diff --git a/intro/goIntro.js b/intro/goIntro.js index 758274b56..22a7ac087 100644 --- a/intro/goIntro.js +++ b/intro/goIntro.js @@ -103,32 +103,50 @@ function goIntro() { navbar.innerHTML = myNavbar; document.body.insertBefore(navbar, container); - // footer - var footer = document.createElement("div"); - footer.className = "footer"; - var msg = "Copyright © 1998-2017 by Northwoods Software Corporation."; - if (go && go.version) { - msg = "GoJS® version " + go.version + ". " + msg; - } - footer.innerHTML = msg; - content.appendChild(footer); - - // When the page loads, change the class of li's to highlight the current page var url = window.location.href; var lindex = url.lastIndexOf('/'); url = url.slice(lindex+1).toLowerCase(); var lis = document.getElementById("sections").getElementsByTagName("li"); var l = lis.length; + + var currentindex = -1; for (var i = 0; i < l; i++) { var lowerhref = lis[i].childNodes[0].href.toLowerCase(); if (lowerhref.indexOf('intro') === -1) continue; if (lowerhref.indexOf('/' + url) !== -1) { + currentindex = i; lis[i].childNodes[0].className = "selected"; - return; + break; } } + // prev & next page navigation + var pagenav = document.createElement("div"); + var nav = " "; + if (currentindex > 0) { + var prevurl = lis[currentindex - 1].childNodes[0].href.toLowerCase(); + nav += "<Previous Intro Page"; + } else { + nav += "<Learn"; + } + if (currentindex < lis.length - 1) { + var nexturl = lis[currentindex + 1].childNodes[0].href.toLowerCase(); + nav += "Next Intro Page>"; + } + nav += ""; + pagenav.innerHTML = nav; + content.appendChild(pagenav); + + // footer + var footer = document.createElement("div"); + footer.className = "footer"; + var msg = "Copyright © 1998-2017 by Northwoods Software Corporation."; + if (go && go.version) { + msg += "GoJS® version " + go.version + ". " + msg; + } + footer.innerHTML = msg; + content.appendChild(footer); } function _traverseDOM(node) { diff --git a/intro/panels.html b/intro/panels.html index df79a5a92..a5248b931 100644 --- a/intro/panels.html +++ b/intro/panels.html @@ -511,7 +511,7 @@Auto Panels
Constrained Size Auto Panels
If you constrain the size of the whole panel, there may be less or more space available to fit all of the "content" elements inside the "main" element. -In the following example each Part has a total size of 50x50, causing the "content" TextBlocks to be limited in width and height, +In the following example each Part has a total size of 60x60, causing the "content" TextBlocks to be limited in width and height, less than the natural width, which results in wrapping of the text. However there may not be enough height available to show the whole content element(s), causing them to be clipped. You can see that in the third Part the text is clipped, because there is less available area within an ellipse than within a rectangle. diff --git a/intro/pictures.html b/intro/pictures.html index 2a6a50cca..a6805b2a0 100644 --- a/intro/pictures.html +++ b/intro/pictures.html @@ -50,7 +50,7 @@
Sizing
- The first picture shows the image at its natural size.
- The second picture also shows the image at its natural size, but has its desiredSize set explicitly.
- The third picture increases the size of the Picture, causing the image to be expanded evenly.
-- The fourth picture squeezes the 100x65 image into a 50x40 space -- half size. +
- The fourth picture squeezes the 100x65 image into a 50x32.5 space -- half size. This also maintains the original aspect ratio of the image.
- The last picture sets the picture size to be 50x70, which changes the aspect ratio to be taller and thinner than the original.
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
Method Summary{Iterable.} parts
-
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ForceDirectedLayout.html b/api/symbols/ForceDirectedLayout.html
index 4bab9601e..2181b00b5 100644
--- a/api/symbols/ForceDirectedLayout.html
+++ b/api/symbols/ForceDirectedLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ForceDirectedVertex.html b/api/symbols/ForceDirectedVertex.html
index 7e190b730..4c2d2822e 100644
--- a/api/symbols/ForceDirectedVertex.html
+++ b/api/symbols/ForceDirectedVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Geometry.html b/api/symbols/Geometry.html
index bc9cb31c1..999dd979f 100644
--- a/api/symbols/Geometry.html
+++ b/api/symbols/Geometry.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/GraphLinksModel.html b/api/symbols/GraphLinksModel.html
index d6163a517..45e68ed53 100644
--- a/api/symbols/GraphLinksModel.html
+++ b/api/symbols/GraphLinksModel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
@@ -1374,7 +1374,7 @@ Properties SummarySee also:
-
diff --git a/api/symbols/GraphObject.html b/api/symbols/GraphObject.html
index e5a2224a6..d7cd4f5e7 100644
--- a/api/symbols/GraphObject.html
+++ b/api/symbols/GraphObject.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/GridLayout.html b/api/symbols/GridLayout.html
index f8fda95b3..9845b1792 100644
--- a/api/symbols/GridLayout.html
+++ b/api/symbols/GridLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
@@ -1156,7 +1156,7 @@ Constructor
-
+
The constructor creates a new GridLayout with default values for its properties,
including setting Layout#isViewporSized to true.
diff --git a/api/symbols/Group.html b/api/symbols/Group.html
index 025dc3125..db1cbccdb 100644
--- a/api/symbols/Group.html
+++ b/api/symbols/Group.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/HTMLInfo.html b/api/symbols/HTMLInfo.html
index 93707b08e..39a2e4620 100644
--- a/api/symbols/HTMLInfo.html
+++ b/api/symbols/HTMLInfo.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/InputEvent.html b/api/symbols/InputEvent.html
index 3b58d5ac8..428fb3f23 100644
--- a/api/symbols/InputEvent.html
+++ b/api/symbols/InputEvent.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Iterable.html b/api/symbols/Iterable.html
index d73a3f3b3..fe1a29c7d 100644
--- a/api/symbols/Iterable.html
+++ b/api/symbols/Iterable.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Iterator.html b/api/symbols/Iterator.html
index 8f8640660..03434594a 100644
--- a/api/symbols/Iterator.html
+++ b/api/symbols/Iterator.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Layer.html b/api/symbols/Layer.html
index adb088c17..65abbf629 100644
--- a/api/symbols/Layer.html
+++ b/api/symbols/Layer.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayeredDigraphEdge.html b/api/symbols/LayeredDigraphEdge.html
index d07a76eb4..5faab621f 100644
--- a/api/symbols/LayeredDigraphEdge.html
+++ b/api/symbols/LayeredDigraphEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayeredDigraphLayout.html b/api/symbols/LayeredDigraphLayout.html
index 24b5efb39..f6f831f72 100644
--- a/api/symbols/LayeredDigraphLayout.html
+++ b/api/symbols/LayeredDigraphLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayeredDigraphVertex.html b/api/symbols/LayeredDigraphVertex.html
index 5fa799604..f5ec71458 100644
--- a/api/symbols/LayeredDigraphVertex.html
+++ b/api/symbols/LayeredDigraphVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Layout.html b/api/symbols/Layout.html
index c7cce60a8..b7e42f729 100644
--- a/api/symbols/Layout.html
+++ b/api/symbols/Layout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayoutEdge.html b/api/symbols/LayoutEdge.html
index 47f91cc97..233fc2e71 100644
--- a/api/symbols/LayoutEdge.html
+++ b/api/symbols/LayoutEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayoutNetwork.html b/api/symbols/LayoutNetwork.html
index 6ed215b50..81fe69d9b 100644
--- a/api/symbols/LayoutNetwork.html
+++ b/api/symbols/LayoutNetwork.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayoutVertex.html b/api/symbols/LayoutVertex.html
index d0454d8f1..57de098fe 100644
--- a/api/symbols/LayoutVertex.html
+++ b/api/symbols/LayoutVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Link.html b/api/symbols/Link.html
index c4cfa94ef..924cd2e97 100644
--- a/api/symbols/Link.html
+++ b/api/symbols/Link.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LinkReshapingTool.html b/api/symbols/LinkReshapingTool.html
index 917b27002..05eefc694 100644
--- a/api/symbols/LinkReshapingTool.html
+++ b/api/symbols/LinkReshapingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LinkingBaseTool.html b/api/symbols/LinkingBaseTool.html
index 7d89c4f0c..212562e2a 100644
--- a/api/symbols/LinkingBaseTool.html
+++ b/api/symbols/LinkingBaseTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LinkingTool.html b/api/symbols/LinkingTool.html
index 93f48f71c..69c12df5a 100644
--- a/api/symbols/LinkingTool.html
+++ b/api/symbols/LinkingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/List.html b/api/symbols/List.html
index a46d464c6..70aef8db0 100644
--- a/api/symbols/List.html
+++ b/api/symbols/List.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Map.html b/api/symbols/Map.html
index ca1ed90d8..f3165dc5c 100644
--- a/api/symbols/Map.html
+++ b/api/symbols/Map.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Margin.html b/api/symbols/Margin.html
index 3605ace41..fde52c6bf 100644
--- a/api/symbols/Margin.html
+++ b/api/symbols/Margin.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Model.html b/api/symbols/Model.html
index d324374b0..0d0a27901 100644
--- a/api/symbols/Model.html
+++ b/api/symbols/Model.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Node.html b/api/symbols/Node.html
index 945de70d8..c1a2e9511 100644
--- a/api/symbols/Node.html
+++ b/api/symbols/Node.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Overview.html b/api/symbols/Overview.html
index b2549b148..27e7ddad7 100644
--- a/api/symbols/Overview.html
+++ b/api/symbols/Overview.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
@@ -1156,7 +1156,7 @@ Constructor
- More...
+
The constructor creates an Overview that does not show any Diagram,
until you set Overview.observed.More...
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Panel.html b/api/symbols/Panel.html
index f5fb7845b..d4fc31dea 100644
--- a/api/symbols/Panel.html
+++ b/api/symbols/Panel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PanningTool.html b/api/symbols/PanningTool.html
index 3776de6af..f55f2733f 100644
--- a/api/symbols/PanningTool.html
+++ b/api/symbols/PanningTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Part.html b/api/symbols/Part.html
index bb064b20b..687a3ace3 100644
--- a/api/symbols/Part.html
+++ b/api/symbols/Part.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PathFigure.html b/api/symbols/PathFigure.html
index 46dee219b..88c107b77 100644
--- a/api/symbols/PathFigure.html
+++ b/api/symbols/PathFigure.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PathSegment.html b/api/symbols/PathSegment.html
index 3e0b44a38..24cafaf59 100644
--- a/api/symbols/PathSegment.html
+++ b/api/symbols/PathSegment.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Picture.html b/api/symbols/Picture.html
index df35eae1f..78348db11 100644
--- a/api/symbols/Picture.html
+++ b/api/symbols/Picture.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Placeholder.html b/api/symbols/Placeholder.html
index b76c6f609..33f8f9950 100644
--- a/api/symbols/Placeholder.html
+++ b/api/symbols/Placeholder.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Point.html b/api/symbols/Point.html
index 01080f8cd..ac410049c 100644
--- a/api/symbols/Point.html
+++ b/api/symbols/Point.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Rect.html b/api/symbols/Rect.html
index 419392fcb..e2b8f1078 100644
--- a/api/symbols/Rect.html
+++ b/api/symbols/Rect.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RelinkingTool.html b/api/symbols/RelinkingTool.html
index 65dc3c58b..8c9a08ee8 100644
--- a/api/symbols/RelinkingTool.html
+++ b/api/symbols/RelinkingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ResizingTool.html b/api/symbols/ResizingTool.html
index 9f340f85a..f9b9d61b5 100644
--- a/api/symbols/ResizingTool.html
+++ b/api/symbols/ResizingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
@@ -1218,7 +1218,7 @@ Properties Summary
- Gets or sets the width and height multiples with which the user must resize.More...
The effective cell size is computed by first looking at the AdornedPart's Part.resizeCellSize.
If either or both of its width and height are NaN, it will use this property, cellSize
.
If either or both of this property's width and height are NaN, it will
consider the DraggingTool.gridSnapCellSize and the Diagram.grid's Panel.gridCellSize.
The default value is NaN x NaN.
Setting this property does not raise any events.
+ Gets or sets the width and height multiples with which the user must resize.More...
The effective cell size is computed by first looking at the Adornment.adornedPart's Part.resizeCellSize.
If either or both of its width and height are NaN, it will use this property, cellSize
.
If either or both of this property's width and height are NaN, it will
consider the DraggingTool.gridSnapCellSize and the Diagram.grid's Panel.gridCellSize.
The default value is NaN x NaN.
Setting this property does not raise any events.
diff --git a/api/symbols/RotatingTool.html b/api/symbols/RotatingTool.html
index 077eb07d6..b74d1b92d 100644
--- a/api/symbols/RotatingTool.html
+++ b/api/symbols/RotatingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RowColumnDefinition.html b/api/symbols/RowColumnDefinition.html
index d592cdda4..92bd4a1a9 100644
--- a/api/symbols/RowColumnDefinition.html
+++ b/api/symbols/RowColumnDefinition.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Set.html b/api/symbols/Set.html
index cc34200b0..2890dfd58 100644
--- a/api/symbols/Set.html
+++ b/api/symbols/Set.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Shape.html b/api/symbols/Shape.html
index cc08069c9..c3afe400b 100644
--- a/api/symbols/Shape.html
+++ b/api/symbols/Shape.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Size.html b/api/symbols/Size.html
index 47ed38112..d04fb5620 100644
--- a/api/symbols/Size.html
+++ b/api/symbols/Size.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Spot.html b/api/symbols/Spot.html
index d2401becb..d42c186eb 100644
--- a/api/symbols/Spot.html
+++ b/api/symbols/Spot.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TextBlock.html b/api/symbols/TextBlock.html
index 3a2f72e84..2c2b1f5fa 100644
--- a/api/symbols/TextBlock.html
+++ b/api/symbols/TextBlock.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TextEditingTool.html b/api/symbols/TextEditingTool.html
index 0520670f3..539403cfd 100644
--- a/api/symbols/TextEditingTool.html
+++ b/api/symbols/TextEditingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Tool.html b/api/symbols/Tool.html
index ce77425d4..718708368 100644
--- a/api/symbols/Tool.html
+++ b/api/symbols/Tool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ToolManager.html b/api/symbols/ToolManager.html
index 9e6bbe014..b1b84e091 100644
--- a/api/symbols/ToolManager.html
+++ b/api/symbols/ToolManager.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Transaction.html b/api/symbols/Transaction.html
index 6d1b458e1..7afc71007 100644
--- a/api/symbols/Transaction.html
+++ b/api/symbols/Transaction.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeEdge.html b/api/symbols/TreeEdge.html
index 3d055ccb3..7d1d85c8b 100644
--- a/api/symbols/TreeEdge.html
+++ b/api/symbols/TreeEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeLayout.html b/api/symbols/TreeLayout.html
index 33ac843ab..94d6bc6b1 100644
--- a/api/symbols/TreeLayout.html
+++ b/api/symbols/TreeLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeModel.html b/api/symbols/TreeModel.html
index 3bfd93ff3..13d41e132 100644
--- a/api/symbols/TreeModel.html
+++ b/api/symbols/TreeModel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeVertex.html b/api/symbols/TreeVertex.html
index bb15d23a1..c7f6ff9a2 100644
--- a/api/symbols/TreeVertex.html
+++ b/api/symbols/TreeVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/UndoManager.html b/api/symbols/UndoManager.html
index 6087843d6..f78cb460d 100644
--- a/api/symbols/UndoManager.html
+++ b/api/symbols/UndoManager.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/assets/images/screenshots/NonRealtimeDragging.png b/assets/images/screenshots/NonRealtimeDragging.png
new file mode 100644
index 000000000..d8335c9e0
Binary files /dev/null and b/assets/images/screenshots/NonRealtimeDragging.png differ
diff --git a/doc/changelog.html b/doc/changelog.html
index fa15ae789..ba889995b 100644
--- a/doc/changelog.html
+++ b/doc/changelog.html
@@ -68,6 +68,25 @@ GoJS Change Log
}
+ Changes for 1.7.12
+
+
+
Changes for 1.7.11
diff --git a/learn/index.html b/learn/index.html
index 2bbd098ae..b55b42821 100644
--- a/learn/index.html
+++ b/learn/index.html
@@ -281,7 +281,7 @@ Styling Nodes
myDiagram.nodeTemplate =
- $(go.Node, "Vertical" // second argument of a Node/Panel can be a Panel type
+ $(go.Node, "Vertical", // second argument of a Node/Panel can be a Panel type
/* set Node properties here */
{ // the Node.location point will be at the center of each node
locationSpot: go.Spot.Center
diff --git a/package.json b/package.json
index 9897eaafd..a28720daf 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "gojs",
- "version": "1.7.11",
+ "version": "1.7.12",
"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",
@@ -24,9 +24,7 @@
"intro",
"learn",
"projects",
- "release/go.js",
- "release/go-debug.js",
- "release/go.d.ts",
+ "release",
"samples"
],
"main": "release/go.js",
diff --git a/release/go-debug.js b/release/go-debug.js
index 3cc82a36a..f081831f1 100644
--- a/release/go-debug.js
+++ b/release/go-debug.js
@@ -1,235 +1,235 @@
/*
- * GoJS v1.7.11 JavaScript Library for HTML Diagrams
+ * GoJS v1.7.12 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.11/doc/license.html.
+ * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.7.12/doc/license.html.
*/
(function(window) { var f,aa={};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});
(function(){for(var a=0,b=["ms","moz","webkit","o"],c=0;c=d.length)){var e=D.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.Fw&&g.Fw[d])continue}else if(D.Rx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},ux:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==
-typeof b&&"boolean"!==typeof b&&"function"!==typeof b)if(void 0!==D.Gd(b)){if(!v.Sw.contains(b))if(v.Sw.add(b),v.tw.add(v.OE(a,b)),b instanceof K||b instanceof L||b instanceof ma)for(var c=b.j;c.next();)v.ux(a+"["+c.key+"]",c.value);else for(c in b){var d=D.vb(b,c);if(void 0!==d&&null!==d&&D.Ta(d)&&d!==b.Fw){if(b instanceof na){if(d===b.gi)continue}else if(b instanceof x){if("data"===c||d===b.Nd)continue;if("itemArray"===c||d===b.bj)continue;if(b instanceof F&&d===b.Ll)continue}else if(!(b instanceof
-E))if(b instanceof oa){if("archetypeGroupData"===c||d===b.az)continue}else if(b instanceof ra){if("archetypeLinkData"===c||d===b.cz)continue;if("archetypeLabelNodeData"===c||d===b.bz)continue}else if(b instanceof ta){if("archetypeNodeData"===c||d===b.ql)continue}else if(b instanceof M){if("nodeDataArray"===c||d===b.we)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Fc)continue;if(d===b.xg)continue}else if(b instanceof va||b instanceof wa||b instanceof xa)continue;v.ux(a+"."+
-c,d)}}}else if(Array.isArray(b))for(c=0;c=a.length?a.push(c):a.splice(b,0,c):D.k("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Ug:function(a,
-b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):D.k("Cannot remove an object from an HTMLCollection or NodeList at "+b)},Ty:[],O:function(){var a=D.Ty.pop();return void 0===a?new O:a},Fb:function(a,b){var c=D.Ty.pop();if(void 0===c)return new O(a,b);c.x=a;c.y=b;return c},A:function(a){D.Ty.push(a)},lC:[],Cm:function(){var a=D.lC.pop();return void 0===a?new Ca:a},Rk:function(a){D.lC.push(a)},Uy:[],Of:function(){var a=D.Uy.pop();return void 0===a?new B:a},sg:function(a,b,c,d){var e=D.Uy.pop();
-if(void 0===e)return new B(a,b,c,d);e.x=a;e.y=b;e.width=c;e.height=d;return e},Kb:function(a){D.Uy.push(a)},mC:[],Pf:function(){var a=D.mC.pop();return void 0===a?new Da:a},He:function(a){D.mC.push(a)},Vy:null,v:function(){var a=D.Vy;return null!==a?(D.Vy=null,a):new Ea},u:function(a){a.reset();D.Vy=a},kC:[],tb:function(){var a=D.kC.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;D.kC.push(a)},Do:Object.freeze([]),Gm:1,uc:function(a){a.__gohashid=D.Gm++},qq:function(a){var b=a.__gohashid;
-void 0===b&&(b=D.Gm++,a.__gohashid=b);return b},Gd:function(a){return a.__gohashid},ja:function(a,b){b.hz=a;aa[a]=b},Sa:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},Ai:function(a){a.EH=!0},defineProperty:function(a,b,c,d,e){D.h(a,"function","Util.defineProperty:classfunc");D.h(b,"object","Util.defineProperty:propobj");D.h(c,"function","Util.defineProperty:getter");D.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}},GK:!1,w:function(a,b,c,d){D.h(a,"function","Util.defineReadOnlyProperty:classfunc");D.h(b,"object","Util.defineReadOnlyProperty:propobj");D.h(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var g=b[e];b={get:c,set:function(a){D.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}},ke:function(a,b){for(var c in b)b[c]=!0;a.prototype.Fw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?D.rf(a):null===a?"*":""},rf:function(a){if("function"===typeof a){if(a.hz)return a.hz;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,
-c).trim();if(""!==b)return a.hz=b}else if("object"===typeof a&&a.constructor)return D.rf(a.constructor);return typeof a},s:function(a,b,c){D.h(a,"function","Util.defineEnumValue:classfunc");D.h(b,"string","Util.defineEnumValue:name");D.h(c,"number","Util.defineEnumValue:num");c=new za(a,b,c);Object.freeze(c);a[b]=c;var d=a.lv;d instanceof ma||(d=new ma("string",za),a.lv=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){v&&D.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){v&&D.trace("property set error: "+d.toString())}},Zu:function(a,b){D.h(a,"object","Setting properties requires Objects as arguments");D.h(b,"object","Setting properties requires Objects as arguments");var c=a instanceof x,d=a instanceof E,e;for(e in b){""===
-e&&D.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;c=d.length)){var e=D.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.Hw&&g.Hw[d])continue}else if(D.Sx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},wx:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==
+typeof b&&"boolean"!==typeof b&&"function"!==typeof b)if(void 0!==D.Gd(b)){if(!v.Uw.contains(b))if(v.Uw.add(b),v.vw.add(v.OE(a,b)),b instanceof K||b instanceof L||b instanceof ma)for(var c=b.j;c.next();)v.wx(a+"["+c.key+"]",c.value);else for(c in b){var d=D.vb(b,c);if(void 0!==d&&null!==d&&D.Ta(d)&&d!==b.Hw){if(b instanceof na){if(d===b.of)continue}else if(b instanceof x){if("data"===c||d===b.Nd)continue;if("itemArray"===c||d===b.bj)continue;if(b instanceof F&&d===b.Ml)continue}else if(!(b instanceof
+E))if(b instanceof oa){if("archetypeGroupData"===c||d===b.bz)continue}else if(b instanceof ra){if("archetypeLinkData"===c||d===b.dz)continue;if("archetypeLabelNodeData"===c||d===b.cz)continue}else if(b instanceof ta){if("archetypeNodeData"===c||d===b.rl)continue}else if(b instanceof M){if("nodeDataArray"===c||d===b.we)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Fc)continue;if(d===b.yg)continue}else if(b instanceof va||b instanceof wa||b instanceof xa)continue;v.wx(a+"."+
+c,d)}}}else if(Array.isArray(b))for(c=0;c=a.length?a.push(c):a.splice(b,0,c):D.k("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Vg:function(a,
+b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):D.k("Cannot remove an object from an HTMLCollection or NodeList at "+b)},Uy:[],O:function(){var a=D.Uy.pop();return void 0===a?new O:a},Fb:function(a,b){var c=D.Uy.pop();if(void 0===c)return new O(a,b);c.x=a;c.y=b;return c},A:function(a){D.Uy.push(a)},lC:[],Dm:function(){var a=D.lC.pop();return void 0===a?new Ca:a},Sk:function(a){D.lC.push(a)},Vy:[],Pf:function(){var a=D.Vy.pop();return void 0===a?new B:a},tg:function(a,b,c,d){var e=D.Vy.pop();
+if(void 0===e)return new B(a,b,c,d);e.x=a;e.y=b;e.width=c;e.height=d;return e},Kb:function(a){D.Vy.push(a)},mC:[],Qf:function(){var a=D.mC.pop();return void 0===a?new Da:a},He:function(a){D.mC.push(a)},Wy:null,v:function(){var a=D.Wy;return null!==a?(D.Wy=null,a):new Ea},u:function(a){a.reset();D.Wy=a},kC:[],tb:function(){var a=D.kC.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;D.kC.push(a)},Do:Object.freeze([]),Hm:1,uc:function(a){a.__gohashid=D.Hm++},qq:function(a){var b=a.__gohashid;
+void 0===b&&(b=D.Hm++,a.__gohashid=b);return b},Gd:function(a){return a.__gohashid},ka:function(a,b){b.iz=a;aa[a]=b},Sa:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},Ai:function(a){a.FH=!0},defineProperty:function(a,b,c,d,e){D.h(a,"function","Util.defineProperty:classfunc");D.h(b,"object","Util.defineProperty:propobj");D.h(c,"function","Util.defineProperty:getter");D.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}},HK:!1,w:function(a,b,c,d){D.h(a,"function","Util.defineReadOnlyProperty:classfunc");D.h(b,"object","Util.defineReadOnlyProperty:propobj");D.h(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var g=b[e];b={get:c,set:function(a){D.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}},ke:function(a,b){for(var c in b)b[c]=!0;a.prototype.Hw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?D.sf(a):null===a?"*":""},sf:function(a){if("function"===typeof a){if(a.iz)return a.iz;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,
+c).trim();if(""!==b)return a.iz=b}else if("object"===typeof a&&a.constructor)return D.sf(a.constructor);return typeof a},s:function(a,b,c){D.h(a,"function","Util.defineEnumValue:classfunc");D.h(b,"string","Util.defineEnumValue:name");D.h(c,"number","Util.defineEnumValue:num");c=new za(a,b,c);Object.freeze(c);a[b]=c;var d=a.nv;d instanceof ma||(d=new ma("string",za),a.nv=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){v&&D.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){v&&D.trace("property set error: "+d.toString())}},av:function(a,b){D.h(a,"object","Setting properties requires Objects as arguments");D.h(b,"object","Setting properties requires Objects as arguments");var c=a instanceof x,d=a instanceof E,e;for(e in b){""===
+e&&D.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;cd;d++)b[D.Vg("7ca11abfd7330390")](D.Vg(c[d-1]),10,15*d+0);b[D.Vg("7ca11abfd022028846")]=D.Vg("39f046ebb36e4b");for(d=1;5>d;d++)b[D.Vg("7ca11abfd7330390")](D.Vg(c[d-
-1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])D.s=function(a,b){var c=new za(a,b,2);Object.freeze(c);a[b]=c;var d=a.lv;d instanceof ma||(d=new ma("string",za),a.lv=d);d.add(b,c);return c};return a}();function za(a,b,c){D.uc(this);this.vC=a;this.Xb=b;this.IH=c}D.ja("EnumValue",za);za.prototype.toString=function(){return D.rf(this.vC)+"."+this.Xb};D.w(za,{Ne:"classType"},function(){return this.vC});D.w(za,{name:"name"},function(){return this.Xb});D.w(za,{value:"value"},function(){return this.IH});
-var Ha;za.findName=Ha=function(a,b){if(void 0===b||null===b||""===b)return null;D.h(a,"function","findName:classfunc");D.h(b,"string","EnumValue.findName:name");var c=a.lv;return c instanceof ma?c.na(b):null};function ya(){this.uC=[]}ya.prototype.toString=function(){return this.uC.join("")};ya.prototype.add=function(a){""!==a&&this.uC.push(a)};function la(){}
-function Ia(a){void 0===a&&(a=42);this.seed=a;this.Py=48271;this.kv=2147483647;this.jC=this.kv/this.Py;this.qH=this.kv%this.Py;this.pH=1/this.kv;this.random()}Ia.prototype.random=function(){var a=this.seed%this.jC*this.Py-this.seed/this.jC*this.qH;this.seed=0d;d++)b[D.Wg("7ca11abfd7330390")](D.Wg(c[d-1]),10,15*d+0);b[D.Wg("7ca11abfd022028846")]=D.Wg("39f046ebb36e4b");for(d=1;5>d;d++)b[D.Wg("7ca11abfd7330390")](D.Wg(c[d-
+1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])D.s=function(a,b){var c=new za(a,b,2);Object.freeze(c);a[b]=c;var d=a.nv;d instanceof ma||(d=new ma("string",za),a.nv=d);d.add(b,c);return c};return a}();function za(a,b,c){D.uc(this);this.vC=a;this.Yb=b;this.JH=c}D.ka("EnumValue",za);za.prototype.toString=function(){return D.sf(this.vC)+"."+this.Yb};D.w(za,{Ne:"classType"},function(){return this.vC});D.w(za,{name:"name"},function(){return this.Yb});D.w(za,{value:"value"},function(){return this.JH});
+var Ha;za.findName=Ha=function(a,b){if(void 0===b||null===b||""===b)return null;D.h(a,"function","findName:classfunc");D.h(b,"string","EnumValue.findName:name");var c=a.nv;return c instanceof ma?c.na(b):null};function ya(){this.uC=[]}ya.prototype.toString=function(){return this.uC.join("")};ya.prototype.add=function(a){""!==a&&this.uC.push(a)};function la(){}
+function Ia(a){void 0===a&&(a=42);this.seed=a;this.Qy=48271;this.mv=2147483647;this.jC=this.mv/this.Qy;this.rH=this.mv%this.Qy;this.qH=1/this.mv;this.random()}Ia.prototype.random=function(){var a=this.seed%this.jC*this.Qy-this.seed/this.jC*this.rH;this.seed=0this.key)return!1;D.Va(a)}var a=a.o,b=a.length,c=++this.Dc,d=this.mi;if(null!==d)for(;cthis.key)return!1;D.Va(a)}var b=--this.Dc;if(0<=b)return this.key=b,this.value=a.o[b],!0;this.Rf();return!1};Pa.prototype.hasNext=function(){return this.next()};
-Pa.prototype.first=Pa.prototype.first=function(){var a=this.Ec;this.$a=a.G;var b=a.o;this.Dc=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};Pa.prototype.any=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.G!==c&&D.Va(b)}return!1};Pa.prototype.all=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.G!==c&&D.Va(b)}return!0};
-Pa.prototype.each=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--)a(d[e]),b.G!==c&&D.Va(b);return this};Pa.prototype.map=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=[],e=b.o,g=e.length;this.Dc=g;for(g-=1;0<=g;g--)d.push(a(e[g])),b.G!==c&&D.Va(b);a=new K;a.o=d;a.Rc();return a.j};
-Pa.prototype.filter=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=[],e=b.o,g=e.length;this.Dc=g;for(g-=1;0<=g;g--){var h=e[g];a(h)&&d.push(h);b.G!==c&&D.Va(b)}a=new K(b.ca);a.o=d;a.Rc();return a.j};Pa.prototype.concat=function(a){this.Ec.cj=null;return new Ma(this,a.j)};D.w(Pa,{count:"count"},function(){return this.Ec.o.length});Pa.prototype.Rf=function(){this.key=-1;this.value=null;this.$a=-1;this.Ec.cj=this};
+La.prototype.each=function(a){this.key=-1;a(this.value);return this};La.prototype.map=function(a){return new La(a(this.value))};La.prototype.filter=function(a){return a(this.value)?new La(this.value):Ka};La.prototype.concat=function(a){return new Ma(this,a.j)};D.w(La,{count:"count"},function(){return 1});La.prototype.Sf=function(){this.value=null};La.prototype.toString=function(){return"SingletonIterator("+this.value+")"};function Ma(a,b){this.El=a;this.Fl=b;this.ov=!1}D.ke(Ma,{key:!0,value:!0});
+D.w(Ma,{j:"iterator"},function(){return this});Ma.prototype.reset=Ma.prototype.reset=function(){this.El.reset();this.Fl.reset();this.ov=!1};Ma.prototype.next=Ma.prototype.next=function(){if(!this.ov){var a=this.El;if(a.next())return this.key=a.key,this.value=a.value,!0;this.ov=!0}return this.ov&&(a=this.Fl,a.next())?(this.key=a.key,this.value=a.value,!0):!1};Ma.prototype.hasNext=function(){return this.next()};
+Ma.prototype.first=Ma.prototype.first=function(){this.reset();return this.next()?this.value:null};Ma.prototype.any=function(a){return this.El.any(a)||this.Fl.any(a)?!0:!1};Ma.prototype.all=function(a){return this.El.all(a)&&this.Fl.all(a)?!0:!1};Ma.prototype.each=function(a){this.El.each(a);this.Fl.each(a);return this};Ma.prototype.map=function(a){return new Ma(this.El.map(a),this.Fl.map(a))};Ma.prototype.filter=function(a){return new Ma(this.El.filter(a),this.Fl.filter(a))};
+Ma.prototype.concat=function(a){return new Ma(this,a.j)};D.w(Ma,{count:"count"},function(){return this.El.count+this.Fl.count});Ma.prototype.Sf=function(){this.value=this.key=null};Ma.prototype.toString=function(){return"ConcatIterator()"};function Na(a){this.Ec=a;this.mi=null;a.Xb=null;this.$a=a.I;this.Dc=-1}D.ke(Na,{key:!0,value:!0});D.w(Na,{j:"iterator"},function(){return this});D.defineProperty(Na,{Eq:"predicate"},function(){return this.mi},function(a){this.mi=a});
+Na.prototype.reset=Na.prototype.reset=function(){var a=this.Ec;a.Xb=null;this.$a=a.I;this.Dc=-1};Na.prototype.next=Na.prototype.next=function(){var a=this.Ec;if(a.I!==this.$a){if(0>this.key)return!1;D.Va(a)}var a=a.o,b=a.length,c=++this.Dc,d=this.mi;if(null!==d)for(;cthis.key)return!1;D.Va(a)}var b=--this.Dc;if(0<=b)return this.key=b,this.value=a.o[b],!0;this.Sf();return!1};Pa.prototype.hasNext=function(){return this.next()};
+Pa.prototype.first=Pa.prototype.first=function(){var a=this.Ec;this.$a=a.I;var b=a.o;this.Dc=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};Pa.prototype.any=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.I!==c&&D.Va(b)}return!1};Pa.prototype.all=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.I!==c&&D.Va(b)}return!0};
+Pa.prototype.each=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--)a(d[e]),b.I!==c&&D.Va(b);return this};Pa.prototype.map=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=[],e=b.o,g=e.length;this.Dc=g;for(g-=1;0<=g;g--)d.push(a(e[g])),b.I!==c&&D.Va(b);a=new K;a.o=d;a.Rc();return a.j};
+Pa.prototype.filter=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=[],e=b.o,g=e.length;this.Dc=g;for(g-=1;0<=g;g--){var h=e[g];a(h)&&d.push(h);b.I!==c&&D.Va(b)}a=new K(b.ca);a.o=d;a.Rc();return a.j};Pa.prototype.concat=function(a){this.Ec.cj=null;return new Ma(this,a.j)};D.w(Pa,{count:"count"},function(){return this.Ec.o.length});Pa.prototype.Sf=function(){this.key=-1;this.value=null;this.$a=-1;this.Ec.cj=this};
Pa.prototype.toString=function(){return"ListIteratorBackwards("+this.Dc+"/"+this.Ec.count+")"};
-function K(a){D.uc(this);this.J=!1;this.o=[];this.G=0;this.cj=this.Wb=null;void 0===a||null===a?this.ca=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.ca=a:D.ua(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.ca=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:D.ua(a,"null, a primitive type name, or a class type",
-"List constructor: type")}D.ja("List",K);K.prototype.oh=function(a){null!==this.ca&&("string"===typeof this.ca?typeof a===this.ca&&null!==a||D.hc(a,this.ca):a instanceof this.ca||D.hc(a,this.ca))};K.prototype.Rc=function(){var a=this.G;a++;999999999a||a>=b.length)&&D.ua(a,"0 <= i < length",K,"elt:i");return b[a]};K.prototype.get=K.prototype.get=function(a){return this.ea(a)};K.prototype.setElt=K.prototype.rg=function(a,b){v&&(this.oh(b),D.p(a,K,"setElt:i"));var c=this.o;(0>a||a>=c.length)&&D.ua(a,"0 <= i < length",K,"setElt:i");this.J&&D.pa(this,a);c[a]=b};K.prototype.set=K.prototype.set=function(a,b){this.rg(a,b)};
-K.prototype.first=K.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};K.prototype.last=K.prototype.pe=function(){var a=this.o,b=a.length;return 0a&&D.ua(a,">= 0",K,"insertAt:i");this.J&&D.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Rc();return!0};
-K.prototype.remove=K.prototype["delete"]=K.prototype.remove=function(a){if(null===a)return!1;v&&this.oh(a);this.J&&D.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.Rc();return!0};K.prototype.removeAt=K.prototype.jd=function(a){v&&D.p(a,K,"removeAt:i");var b=this.o;(0>a||a>=b.length)&&D.ua(a,"0 <= i < length",K,"removeAt:i");this.J&&D.pa(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Rc()};
+function K(a){D.uc(this);this.J=!1;this.o=[];this.I=0;this.cj=this.Xb=null;void 0===a||null===a?this.ca=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.ca=a:D.ua(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.ca=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:D.ua(a,"null, a primitive type name, or a class type",
+"List constructor: type")}D.ka("List",K);K.prototype.ph=function(a){null!==this.ca&&("string"===typeof this.ca?typeof a===this.ca&&null!==a||D.ic(a,this.ca):a instanceof this.ca||D.ic(a,this.ca))};K.prototype.Rc=function(){var a=this.I;a++;999999999a||a>=b.length)&&D.ua(a,"0 <= i < length",K,"elt:i");return b[a]};K.prototype.get=K.prototype.get=function(a){return this.ea(a)};K.prototype.setElt=K.prototype.sg=function(a,b){v&&(this.ph(b),D.p(a,K,"setElt:i"));var c=this.o;(0>a||a>=c.length)&&D.ua(a,"0 <= i < length",K,"setElt:i");this.J&&D.pa(this,a);c[a]=b};K.prototype.set=K.prototype.set=function(a,b){this.sg(a,b)};
+K.prototype.first=K.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};K.prototype.last=K.prototype.pe=function(){var a=this.o,b=a.length;return 0a&&D.ua(a,">= 0",K,"insertAt:i");this.J&&D.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Rc();return!0};
+K.prototype.remove=K.prototype["delete"]=K.prototype.remove=function(a){if(null===a)return!1;v&&this.ph(a);this.J&&D.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.Rc();return!0};K.prototype.removeAt=K.prototype.jd=function(a){v&&D.p(a,K,"removeAt:i");var b=this.o;(0>a||a>=b.length)&&D.ua(a,"0 <= i < length",K,"removeAt:i");this.J&&D.pa(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Rc()};
K.prototype.removeRange=K.prototype.removeRange=function(a,b){v&&(D.p(a,K,"removeRange:from"),D.p(b,K,"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.J&&D.pa(this);for(var e=a,g=b+1;g=g)return this;(0>b||b>=e-1)&&D.ua(b,"0 <= from < length",K,"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 Ka;var a=this.Wb;return null!==a?(a.reset(),a):new Na(this)});
-D.w(K,{ao:"iteratorBackwards"},function(){if(0>=this.o.length)return Ka;var a=this.cj;return null!==a?(a.reset(),a):new Pa(this)});function Qa(a){this.oi=a;a.Wb=null;this.$a=a.G;this.bb=null}D.ke(Qa,{key:!0,value:!0});D.w(Qa,{j:"iterator"},function(){return this});Qa.prototype.reset=Qa.prototype.reset=function(){var a=this.oi;a.Wb=null;this.$a=a.G;this.bb=null};
-Qa.prototype.next=Qa.prototype.next=function(){var a=this.oi;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};Qa.prototype.hasNext=function(){return this.next()};Qa.prototype.first=Qa.prototype.first=function(){var a=this.oi;this.$a=a.G;a=a.Ka;if(null!==a){this.bb=a;var b=a.value;this.key=a.key;return this.value=b}return null};
-Qa.prototype.any=function(a){var b=this.oi;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d.value))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};Qa.prototype.all=function(a){var b=this.oi;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d.value))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};Qa.prototype.each=function(a){var b=this.oi;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d.value),b.G!==c&&D.Va(b),d=d.fb;return this};
-Qa.prototype.map=function(a){var b=this.oi;b.Wb=null;for(var c=new K,d=b.G,e=b.Ka;null!==e;)c.add(a(e.value)),b.G!==d&&D.Va(b),e=e.fb;return c.j};Qa.prototype.filter=function(a){var b=this.oi;b.Wb=null;for(var c=new K(b.ca),d=b.G,e=b.Ka;null!==e;){var g=e.value;a(g)&&c.add(g);b.G!==d&&D.Va(b);e=e.fb}return c.j};Qa.prototype.concat=function(a){this.oi.Wb=null;return new Ma(this,a.j)};D.w(Qa,{count:"count"},function(){return this.oi.yd});
-Qa.prototype.Rf=function(){this.value=this.key=null;this.$a=-1;this.oi.Wb=this};Qa.prototype.toString=function(){return null!==this.bb?"SetIterator@"+this.bb.value:"SetIterator"};
-function L(a){D.uc(this);this.J=!1;void 0===a||null===a?this.ca=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.ca=a:D.ua(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.ca=a===Object?"object":a===String?"string":a===Number?"number":a:D.ua(a,"null, a primitive type name, or a class type","Set constructor: type");this.zd={};this.yd=0;this.Wb=null;this.G=0;this.fi=this.Ka=null}D.ja("Set",L);
-L.prototype.oh=function(a){null!==this.ca&&("string"===typeof this.ca?typeof a===this.ca&&null!==a||D.hc(a,this.ca):a instanceof this.ca||D.hc(a,this.ca))};L.prototype.Rc=function(){var a=this.G;a++;999999999=this.yd)return Ka;var a=this.Wb;return null!==a?(a.reset(),a):new Qa(this)});function Sa(a){this.Ma=a;this.$a=a.G;this.bb=null}D.ke(Sa,{key:!0,value:!0});D.w(Sa,{j:"iterator"},function(){return this});Sa.prototype.reset=Sa.prototype.reset=function(){this.$a=this.Ma.G;this.bb=null};
-Sa.prototype.next=Sa.prototype.next=function(){var a=this.Ma;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.value=this.key=a=b.key,!0;this.Rf();return!1};Sa.prototype.hasNext=function(){return this.next()};Sa.prototype.first=Sa.prototype.first=function(){var a=this.Ma;this.$a=a.G;a=a.Ka;return null!==a?(this.bb=a,this.value=this.key=a=a.key):null};
-Sa.prototype.any=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d.key))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};Sa.prototype.all=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d.key))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};Sa.prototype.each=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d.key),b.G!==c&&D.Va(b),d=d.fb;return this};
-Sa.prototype.map=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e.key)),b.G!==c&&D.Va(b),e=e.fb;return d.j};Sa.prototype.filter=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=new K(b.af),e=b.Ka;null!==e;){var g=e.key;a(g)&&d.add(g);b.G!==c&&D.Va(b);e=e.fb}return d.j};Sa.prototype.concat=function(a){return new Ma(this,a.j)};D.w(Sa,{count:"count"},function(){return this.Ma.yd});Sa.prototype.Rf=function(){this.value=this.key=null;this.$a=-1};
-Sa.prototype.toString=function(){return null!==this.bb?"MapKeySetIterator@"+this.bb.value:"MapKeySetIterator"};function Ta(a){D.uc(this);this.J=!0;this.Ma=a}D.Sa(Ta,L);Ta.prototype.freeze=function(){return this};Ta.prototype.Ya=function(){return this};Ta.prototype.toString=function(){return"MapKeySet("+this.Ma.toString()+")"};Ta.prototype.add=Ta.prototype.add=function(){D.k("This Set is read-only: "+this.toString());return!1};
+g.sort(a),a=b;a=this.o.length)return Ka;var a=this.Xb;return null!==a?(a.reset(),a):new Na(this)});
+D.w(K,{ao:"iteratorBackwards"},function(){if(0>=this.o.length)return Ka;var a=this.cj;return null!==a?(a.reset(),a):new Pa(this)});function Qa(a){this.oi=a;a.Xb=null;this.$a=a.I;this.cb=null}D.ke(Qa,{key:!0,value:!0});D.w(Qa,{j:"iterator"},function(){return this});Qa.prototype.reset=Qa.prototype.reset=function(){var a=this.oi;a.Xb=null;this.$a=a.I;this.cb=null};
+Qa.prototype.next=Qa.prototype.next=function(){var a=this.oi;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.cb,b=null===b?a.Ka:b.gb;if(null!==b)return this.cb=b,this.value=b.value,this.key=b.key,!0;this.Sf();return!1};Qa.prototype.hasNext=function(){return this.next()};Qa.prototype.first=Qa.prototype.first=function(){var a=this.oi;this.$a=a.I;a=a.Ka;if(null!==a){this.cb=a;var b=a.value;this.key=a.key;return this.value=b}return null};
+Qa.prototype.any=function(a){var b=this.oi;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(a(d.value))return!0;b.I!==c&&D.Va(b);d=d.gb}return!1};Qa.prototype.all=function(a){var b=this.oi;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(!a(d.value))return!1;b.I!==c&&D.Va(b);d=d.gb}return!0};Qa.prototype.each=function(a){var b=this.oi;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;)a(d.value),b.I!==c&&D.Va(b),d=d.gb;return this};
+Qa.prototype.map=function(a){var b=this.oi;b.Xb=null;for(var c=new K,d=b.I,e=b.Ka;null!==e;)c.add(a(e.value)),b.I!==d&&D.Va(b),e=e.gb;return c.j};Qa.prototype.filter=function(a){var b=this.oi;b.Xb=null;for(var c=new K(b.ca),d=b.I,e=b.Ka;null!==e;){var g=e.value;a(g)&&c.add(g);b.I!==d&&D.Va(b);e=e.gb}return c.j};Qa.prototype.concat=function(a){this.oi.Xb=null;return new Ma(this,a.j)};D.w(Qa,{count:"count"},function(){return this.oi.yd});
+Qa.prototype.Sf=function(){this.value=this.key=null;this.$a=-1;this.oi.Xb=this};Qa.prototype.toString=function(){return null!==this.cb?"SetIterator@"+this.cb.value:"SetIterator"};
+function L(a){D.uc(this);this.J=!1;void 0===a||null===a?this.ca=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.ca=a:D.ua(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.ca=a===Object?"object":a===String?"string":a===Number?"number":a:D.ua(a,"null, a primitive type name, or a class type","Set constructor: type");this.zd={};this.yd=0;this.Xb=null;this.I=0;this.gi=this.Ka=null}D.ka("Set",L);
+L.prototype.ph=function(a){null!==this.ca&&("string"===typeof this.ca?typeof a===this.ca&&null!==a||D.ic(a,this.ca):a instanceof this.ca||D.ic(a,this.ca))};L.prototype.Rc=function(){var a=this.I;a++;999999999=this.yd)return Ka;var a=this.Xb;return null!==a?(a.reset(),a):new Qa(this)});function Sa(a){this.Ma=a;this.$a=a.I;this.cb=null}D.ke(Sa,{key:!0,value:!0});D.w(Sa,{j:"iterator"},function(){return this});Sa.prototype.reset=Sa.prototype.reset=function(){this.$a=this.Ma.I;this.cb=null};
+Sa.prototype.next=Sa.prototype.next=function(){var a=this.Ma;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.cb,b=null===b?a.Ka:b.gb;if(null!==b)return this.cb=b,this.value=this.key=a=b.key,!0;this.Sf();return!1};Sa.prototype.hasNext=function(){return this.next()};Sa.prototype.first=Sa.prototype.first=function(){var a=this.Ma;this.$a=a.I;a=a.Ka;return null!==a?(this.cb=a,this.value=this.key=a=a.key):null};
+Sa.prototype.any=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(a(d.key))return!0;b.I!==c&&D.Va(b);d=d.gb}return!1};Sa.prototype.all=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(!a(d.key))return!1;b.I!==c&&D.Va(b);d=d.gb}return!0};Sa.prototype.each=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=b.Ka;null!==d;)a(d.key),b.I!==c&&D.Va(b),d=d.gb;return this};
+Sa.prototype.map=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e.key)),b.I!==c&&D.Va(b),e=e.gb;return d.j};Sa.prototype.filter=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=new K(b.af),e=b.Ka;null!==e;){var g=e.key;a(g)&&d.add(g);b.I!==c&&D.Va(b);e=e.gb}return d.j};Sa.prototype.concat=function(a){return new Ma(this,a.j)};D.w(Sa,{count:"count"},function(){return this.Ma.yd});Sa.prototype.Sf=function(){this.value=this.key=null;this.$a=-1};
+Sa.prototype.toString=function(){return null!==this.cb?"MapKeySetIterator@"+this.cb.value:"MapKeySetIterator"};function Ta(a){D.uc(this);this.J=!0;this.Ma=a}D.Sa(Ta,L);Ta.prototype.freeze=function(){return this};Ta.prototype.Ya=function(){return this};Ta.prototype.toString=function(){return"MapKeySet("+this.Ma.toString()+")"};Ta.prototype.add=Ta.prototype.add=function(){D.k("This Set is read-only: "+this.toString());return!1};
Ta.prototype.set=Ta.prototype.set=function(){D.k("This Set is read-only: "+this.toString());return!1};Ta.prototype.contains=Ta.prototype.contains=function(a){return this.Ma.contains(a)};Ta.prototype.has=Ta.prototype.has=function(a){return this.contains(a)};Ta.prototype.remove=Ta.prototype["delete"]=Ta.prototype.remove=function(){D.k("This Set is read-only: "+this.toString());return!1};Ta.prototype.clear=Ta.prototype.clear=function(){D.k("This Set is read-only: "+this.toString())};
-Ta.prototype.first=Ta.prototype.first=function(){var a=this.Ma.Ka;return null!==a?a.key:null};Ta.prototype.any=function(a){for(var b=this.Ma.Ka;null!==b;){if(a(b.key))return!0;b=b.fb}return!1};Ta.prototype.all=function(a){for(var b=this.Ma.Ka;null!==b;){if(!a(b.key))return!1;b=b.fb}return!0};Ta.prototype.each=function(a){for(var b=this.Ma.Ka;null!==b;)a(b.key),b=b.fb;return this};Ta.prototype.map=function(a){for(var b=new L,c=this.Ma.Ka;null!==c;)b.add(a(c.key)),c=c.fb;return b};
-Ta.prototype.filter=function(a){for(var b=new L(this.Ma.af),c=this.Ma.Ka;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.fb}return b};Ta.prototype.concat=function(a){return this.eH().Sc(a)};Ta.prototype.copy=function(){return new Ta(this.Ma)};Ta.prototype.toSet=Ta.prototype.eH=function(){var a=new L(this.Ma.af),b=this.Ma.zd,c;for(c in b)a.add(b[c].key);return a};Ta.prototype.toArray=Ta.prototype.mc=function(){var a=this.Ma.zd,b=Array(this.Ma.yd),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};
-Ta.prototype.toList=function(){var a=new K(this.Ma.af),b=this.Ma.zd,c;for(c in b)a.add(b[c].key);return a};D.w(Ta,{count:"count"},function(){return this.Ma.yd});D.w(Ta,{size:"size"},function(){return this.Ma.yd});D.w(Ta,{j:"iterator"},function(){return 0>=this.Ma.yd?Ka:new Sa(this.Ma)});function Ya(a){this.Ma=a;a.dj=null;this.$a=a.G;this.bb=null}D.ke(Ya,{key:!0,value:!0});D.w(Ya,{j:"iterator"},function(){return this});
-Ya.prototype.reset=Ya.prototype.reset=function(){var a=this.Ma;a.dj=null;this.$a=a.G;this.bb=null};Ya.prototype.next=Ya.prototype.next=function(){var a=this.Ma;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};Ya.prototype.hasNext=function(){return this.next()};
-Ya.prototype.first=Ya.prototype.first=function(){var a=this.Ma;this.$a=a.G;a=a.Ka;if(null!==a){this.bb=a;var b=a.value;this.key=a.key;return this.value=b}return null};Ya.prototype.any=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d.value))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};Ya.prototype.all=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d.value))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};
-Ya.prototype.each=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d.value),b.G!==c&&D.Va(b),d=d.fb;return this};Ya.prototype.map=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e.value)),b.G!==c&&D.Va(b),e=e.fb;return d.j};Ya.prototype.filter=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=new K(b.af),e=b.Ka;null!==e;){var g=e.value;a(g)&&d.add(g);b.G!==c&&D.Va(b);e=e.fb}return d.j};
-Ya.prototype.concat=function(a){this.Ma.dj=null;return new Ma(this,a.j)};D.w(Ya,{count:"count"},function(){return this.Ma.yd});Ya.prototype.Rf=function(){this.value=this.key=null;this.$a=-1;this.Ma.dj=this};Ya.prototype.toString=function(){return null!==this.bb?"MapValueSetIterator@"+this.bb.value:"MapValueSetIterator"};function Ra(a,b){this.key=a;this.value=b;this.Gp=this.fb=null}D.ke(Ra,{key:!0,value:!0});Ra.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};
-function $a(a){this.Ma=a;a.Wb=null;this.$a=a.G;this.bb=null}D.ke($a,{key:!0,value:!0});D.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){var a=this.Ma;a.Wb=null;this.$a=a.G;this.bb=null};$a.prototype.next=$a.prototype.next=function(){var a=this.Ma;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.key=b.key,this.value=b.value,!0;this.Rf();return!1};$a.prototype.hasNext=function(){return this.next()};
-$a.prototype.first=$a.prototype.first=function(){var a=this.Ma;this.$a=a.G;a=a.Ka;return null!==a?(this.bb=a,this.key=a.key,this.value=a.value,a):null};$a.prototype.any=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};$a.prototype.all=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};
-$a.prototype.each=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d),b.G!==c&&D.Va(b),d=d.fb;return this};$a.prototype.map=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e)),b.G!==c&&D.Va(b),e=e.fb;return d.j};$a.prototype.filter=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)a(e)&&d.add(e),b.G!==c&&D.Va(b),e=e.fb;return d.j};
-$a.prototype.concat=function(a){this.Ma.Wb=null;return new Ma(this,a.j)};D.w($a,{count:"count"},function(){return this.Ma.yd});$a.prototype.Rf=function(){this.value=this.key=null;this.$a=-1;this.Ma.Wb=this};$a.prototype.toString=function(){return null!==this.bb?"MapIterator@"+this.bb:"MapIterator"};
+Ta.prototype.first=Ta.prototype.first=function(){var a=this.Ma.Ka;return null!==a?a.key:null};Ta.prototype.any=function(a){for(var b=this.Ma.Ka;null!==b;){if(a(b.key))return!0;b=b.gb}return!1};Ta.prototype.all=function(a){for(var b=this.Ma.Ka;null!==b;){if(!a(b.key))return!1;b=b.gb}return!0};Ta.prototype.each=function(a){for(var b=this.Ma.Ka;null!==b;)a(b.key),b=b.gb;return this};Ta.prototype.map=function(a){for(var b=new L,c=this.Ma.Ka;null!==c;)b.add(a(c.key)),c=c.gb;return b};
+Ta.prototype.filter=function(a){for(var b=new L(this.Ma.af),c=this.Ma.Ka;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.gb}return b};Ta.prototype.concat=function(a){return this.fH().Sc(a)};Ta.prototype.copy=function(){return new Ta(this.Ma)};Ta.prototype.toSet=Ta.prototype.fH=function(){var a=new L(this.Ma.af),b=this.Ma.zd,c;for(c in b)a.add(b[c].key);return a};Ta.prototype.toArray=Ta.prototype.nc=function(){var a=this.Ma.zd,b=Array(this.Ma.yd),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};
+Ta.prototype.toList=function(){var a=new K(this.Ma.af),b=this.Ma.zd,c;for(c in b)a.add(b[c].key);return a};D.w(Ta,{count:"count"},function(){return this.Ma.yd});D.w(Ta,{size:"size"},function(){return this.Ma.yd});D.w(Ta,{j:"iterator"},function(){return 0>=this.Ma.yd?Ka:new Sa(this.Ma)});function Ya(a){this.Ma=a;a.dj=null;this.$a=a.I;this.cb=null}D.ke(Ya,{key:!0,value:!0});D.w(Ya,{j:"iterator"},function(){return this});
+Ya.prototype.reset=Ya.prototype.reset=function(){var a=this.Ma;a.dj=null;this.$a=a.I;this.cb=null};Ya.prototype.next=Ya.prototype.next=function(){var a=this.Ma;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.cb,b=null===b?a.Ka:b.gb;if(null!==b)return this.cb=b,this.value=b.value,this.key=b.key,!0;this.Sf();return!1};Ya.prototype.hasNext=function(){return this.next()};
+Ya.prototype.first=Ya.prototype.first=function(){var a=this.Ma;this.$a=a.I;a=a.Ka;if(null!==a){this.cb=a;var b=a.value;this.key=a.key;return this.value=b}return null};Ya.prototype.any=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(a(d.value))return!0;b.I!==c&&D.Va(b);d=d.gb}return!1};Ya.prototype.all=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(!a(d.value))return!1;b.I!==c&&D.Va(b);d=d.gb}return!0};
+Ya.prototype.each=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;)a(d.value),b.I!==c&&D.Va(b),d=d.gb;return this};Ya.prototype.map=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e.value)),b.I!==c&&D.Va(b),e=e.gb;return d.j};Ya.prototype.filter=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=new K(b.af),e=b.Ka;null!==e;){var g=e.value;a(g)&&d.add(g);b.I!==c&&D.Va(b);e=e.gb}return d.j};
+Ya.prototype.concat=function(a){this.Ma.dj=null;return new Ma(this,a.j)};D.w(Ya,{count:"count"},function(){return this.Ma.yd});Ya.prototype.Sf=function(){this.value=this.key=null;this.$a=-1;this.Ma.dj=this};Ya.prototype.toString=function(){return null!==this.cb?"MapValueSetIterator@"+this.cb.value:"MapValueSetIterator"};function Ra(a,b){this.key=a;this.value=b;this.Gp=this.gb=null}D.ke(Ra,{key:!0,value:!0});Ra.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};
+function $a(a){this.Ma=a;a.Xb=null;this.$a=a.I;this.cb=null}D.ke($a,{key:!0,value:!0});D.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){var a=this.Ma;a.Xb=null;this.$a=a.I;this.cb=null};$a.prototype.next=$a.prototype.next=function(){var a=this.Ma;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.cb,b=null===b?a.Ka:b.gb;if(null!==b)return this.cb=b,this.key=b.key,this.value=b.value,!0;this.Sf();return!1};$a.prototype.hasNext=function(){return this.next()};
+$a.prototype.first=$a.prototype.first=function(){var a=this.Ma;this.$a=a.I;a=a.Ka;return null!==a?(this.cb=a,this.key=a.key,this.value=a.value,a):null};$a.prototype.any=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(a(d))return!0;b.I!==c&&D.Va(b);d=d.gb}return!1};$a.prototype.all=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(!a(d))return!1;b.I!==c&&D.Va(b);d=d.gb}return!0};
+$a.prototype.each=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;)a(d),b.I!==c&&D.Va(b),d=d.gb;return this};$a.prototype.map=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e)),b.I!==c&&D.Va(b),e=e.gb;return d.j};$a.prototype.filter=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=new K,e=b.Ka;null!==e;)a(e)&&d.add(e),b.I!==c&&D.Va(b),e=e.gb;return d.j};
+$a.prototype.concat=function(a){this.Ma.Xb=null;return new Ma(this,a.j)};D.w($a,{count:"count"},function(){return this.Ma.yd});$a.prototype.Sf=function(){this.value=this.key=null;this.$a=-1;this.Ma.Xb=this};$a.prototype.toString=function(){return null!==this.cb?"MapIterator@"+this.cb:"MapIterator"};
function ma(a,b){D.uc(this);this.J=!1;void 0===a||null===a?this.af=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.af=a:D.ua(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.af=a===Object?"object":a===String?"string":a===Number?"number":a:D.ua(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:D.ua(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:D.ua(b,"null, a primitive type name, or a class type","Map constructor: valtype");this.zd={};this.yd=0;this.dj=this.Wb=null;this.G=0;this.fi=this.Ka=null}D.ja("Map",ma);
-function bb(a,b){null!==a.af&&("string"===typeof a.af?typeof b===a.af&&null!==b||D.hc(b,a.af):b instanceof a.af||D.hc(b,a.af))}ma.prototype.Rc=function(){var a=this.G;a++;999999999=this.count)return Ka;var a=this.Wb;return null!==a?(a.reset(),a):new $a(this)});D.w(ma,{$F:"iteratorKeys"},function(){return 0>=this.count?Ka:new Sa(this)});D.w(ma,{aG:"iteratorValues"},function(){if(0>=this.count)return Ka;var a=this.dj;return null!==a?(a.reset(),a):new Ya(this)});function O(a,b){void 0===a?this.M=this.L=0:"number"===typeof a&&"number"===typeof b?(this.L=a,this.M=b):D.k("Invalid arguments to Point constructor: "+a+", "+b);this.J=!1}
-D.ja("Point",O);D.Ai(O);D.ke(O,{x:!0,y:!0});O.prototype.assign=function(a){this.L=a.L;this.M=a.M};O.prototype.setTo=O.prototype.n=function(a,b){v&&(D.h(a,"number",O,"setTo:x"),D.h(b,"number",O,"setTo:y"));this.L=a;this.M=b;return this};O.prototype.set=O.prototype.set=function(a){v&&D.l(a,O,O,"set:p");this.Qa();this.L=a.L;this.M=a.M;return this};O.prototype.copy=function(){var a=new O;a.L=this.L;a.M=this.M;return a};f=O.prototype;f.Na=function(){this.J=!0;Object.freeze(this);return this};
+ma.prototype.remove=ma.prototype["delete"]=ma.prototype.remove=function(a){if(null===a)return!1;v&&bb(this,a);this.J&&D.pa(this,a);var b=a;if(D.Ta(a)&&(b=D.Gd(a),void 0===b))return!1;a=this.zd[b];if(void 0===a)return!1;var c=a.gb,d=a.Gp;null!==c&&(c.Gp=d);null!==d&&(d.gb=c);this.Ka===a&&(this.Ka=c);this.gi===a&&(this.gi=d);delete this.zd[b];this.yd--;this.Rc();return!0};ma.prototype.clear=ma.prototype.clear=function(){this.J&&D.pa(this);this.zd={};this.yd=0;this.gi=this.Ka=null;this.Rc()};
+ma.prototype.copy=function(){var a=new ma(this.af,this.yi),b=this.zd,c;for(c in b){var d=b[c];a.add(d.key,d.value)}return a};ma.prototype.toArray=ma.prototype.nc=function(){var a=this.zd,b=Array(this.yd),c=0,d;for(d in a){var e=a[d];b[c]=new Ra(e.key,e.value);c++}return b};ma.prototype.toKeySet=ma.prototype.Yj=function(){return new Ta(this)};D.w(ma,{count:"count"},function(){return this.yd});D.w(ma,{size:"size"},function(){return this.yd});
+D.w(ma,{j:"iterator"},function(){if(0>=this.count)return Ka;var a=this.Xb;return null!==a?(a.reset(),a):new $a(this)});D.w(ma,{aG:"iteratorKeys"},function(){return 0>=this.count?Ka:new Sa(this)});D.w(ma,{bG:"iteratorValues"},function(){if(0>=this.count)return Ka;var a=this.dj;return null!==a?(a.reset(),a):new Ya(this)});function O(a,b){void 0===a?this.M=this.L=0:"number"===typeof a&&"number"===typeof b?(this.L=a,this.M=b):D.k("Invalid arguments to Point constructor: "+a+", "+b);this.J=!1}
+D.ka("Point",O);D.Ai(O);D.ke(O,{x:!0,y:!0});O.prototype.assign=function(a){this.L=a.L;this.M=a.M};O.prototype.setTo=O.prototype.n=function(a,b){v&&(D.h(a,"number",O,"setTo:x"),D.h(b,"number",O,"setTo:y"));this.L=a;this.M=b;return this};O.prototype.set=O.prototype.set=function(a){v&&D.l(a,O,O,"set:p");this.Qa();this.L=a.L;this.M=a.M;return this};O.prototype.copy=function(){var a=new O;a.L=this.L;a.M=this.M;return a};f=O.prototype;f.Na=function(){this.J=!0;Object.freeze(this);return this};
f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Point is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};
O.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 O(c,e)}return new O};O.stringify=function(a){v&&D.l(a,O);return a.x.toString()+" "+a.y.toString()};O.prototype.toString=function(){return"Point("+this.x+","+this.y+")"};O.prototype.equals=O.prototype.P=function(a){return a instanceof O?this.L===a.x&&this.M===a.y:!1};
-O.prototype.equalTo=O.prototype.Gx=function(a,b){return this.L===a&&this.M===b};O.prototype.equalsApprox=O.prototype.Tc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)};O.prototype.add=O.prototype.add=function(a){v&&D.l(a,O,O,"add:p");this.Qa();this.L+=a.x;this.M+=a.y;return this};O.prototype.subtract=O.prototype.wo=function(a){v&&D.l(a,O,O,"subtract:p");this.Qa();this.L-=a.x;this.M-=a.y;return this};
+O.prototype.equalTo=O.prototype.Ix=function(a,b){return this.L===a&&this.M===b};O.prototype.equalsApprox=O.prototype.Tc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)};O.prototype.add=O.prototype.add=function(a){v&&D.l(a,O,O,"add:p");this.Qa();this.L+=a.x;this.M+=a.y;return this};O.prototype.subtract=O.prototype.wo=function(a){v&&D.l(a,O,O,"subtract:p");this.Qa();this.L-=a.x;this.M-=a.y;return this};
O.prototype.offset=O.prototype.offset=function(a,b){v&&(D.p(a,O,"offset:dx"),D.p(b,O,"offset:dy"));this.Qa();this.L+=a;this.M+=b;return this};O.prototype.rotate=O.prototype.rotate=function(a){v&&D.p(a,O,"rotate:angle");this.Qa();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};
-O.prototype.scale=O.prototype.scale=function(a,b){v&&(D.p(a,O,"scale:sx"),D.p(b,O,"scale:sy"));this.L*=a;this.M*=b;return this};O.prototype.distanceSquaredPoint=O.prototype.Df=function(a){v&&D.l(a,O,O,"distanceSquaredPoint:p");var b=a.x-this.L;a=a.y-this.M;return b*b+a*a};O.prototype.distanceSquared=O.prototype.kq=function(a,b){v&&(D.p(a,O,"distanceSquared:px"),D.p(b,O,"distanceSquared:py"));var c=a-this.L,d=b-this.M;return c*c+d*d};
-O.prototype.normalize=O.prototype.normalize=function(){this.Qa();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}O.prototype.projectOntoLineSegment=function(a,b,c,d){v&&(D.p(a,O,"projectOntoLineSegment:px"),D.p(b,O,"projectOntoLineSegment:py"),D.p(c,O,"projectOntoLineSegment:qx"),D.p(d,O,"projectOntoLineSegment:qy"));eb(a,b,c,d,this.L,this.M,this);return this};
O.prototype.projectOntoLineSegmentPoint=function(a,b){v&&(D.l(a,O,O,"projectOntoLineSegmentPoint:p"),D.l(b,O,O,"projectOntoLineSegmentPoint:q"));eb(a.x,a.y,b.x,b.y,this.L,this.M,this);return this};O.prototype.snapToGrid=function(a,b,c,d){v&&(D.p(a,O,"snapToGrid:originx"),D.p(b,O,"snapToGrid:originy"),D.p(c,O,"snapToGrid:cellwidth"),D.p(d,O,"snapToGrid:cellheight"));fb(this.L,this.M,a,b,c,d,this);return this};
O.prototype.snapToGridPoint=function(a,b){v&&(D.l(a,O,O,"snapToGridPoint:p"),D.l(b,Ca,O,"snapToGridPoint:q"));fb(this.L,this.M,a.x,a.y,b.width,b.height,this);return this};O.prototype.setRectSpot=O.prototype.to=function(a,b){v&&(D.l(a,B,O,"setRectSpot:r"),D.l(b,R,O,"setRectSpot:spot"));this.Qa();this.L=a.x+b.x*a.width+b.offsetX;this.M=a.y+b.y*a.height+b.offsetY;return this};
-O.prototype.setSpot=O.prototype.av=function(a,b,c,d,e){v&&(D.p(a,O,"setSpot:x"),D.p(b,O,"setSpot:y"),D.p(c,O,"setSpot:w"),D.p(d,O,"setSpot:h"),(0>c||0>d)&&D.k("Point.setSpot:Width and height cannot be negative"),D.l(e,R,O,"setSpot:spot"));this.Qa();this.L=a+e.x*c+e.offsetX;this.M=b+e.y*d+e.offsetY;return this};O.prototype.transform=function(a){v&&D.l(a,Da,O,"transform:t");a.wb(this);return this};function gb(a,b){v&&D.l(b,Da,O,"transformInverted:t");b.Ci(a);return a}var ib;
+O.prototype.setSpot=O.prototype.cv=function(a,b,c,d,e){v&&(D.p(a,O,"setSpot:x"),D.p(b,O,"setSpot:y"),D.p(c,O,"setSpot:w"),D.p(d,O,"setSpot:h"),(0>c||0>d)&&D.k("Point.setSpot:Width and height cannot be negative"),D.l(e,R,O,"setSpot:spot"));this.Qa();this.L=a+e.x*c+e.offsetX;this.M=b+e.y*d+e.offsetY;return this};O.prototype.transform=function(a){v&&D.l(a,Da,O,"transform:t");a.wb(this);return this};function gb(a,b){v&&D.l(b,Da,O,"transformInverted:t");b.Ci(a);return a}var ib;
O.distanceLineSegmentSquared=ib=function(a,b,c,d,e,g){v&&(D.p(a,O,"distanceLineSegmentSquared:px"),D.p(b,O,"distanceLineSegmentSquared:py"),D.p(c,O,"distanceLineSegmentSquared:ax"),D.p(d,O,"distanceLineSegmentSquared:ay"),D.p(e,O,"distanceLineSegmentSquared:bx"),D.p(g,O,"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 jb;
O.distanceSquared=jb=function(a,b,c,d){v&&(D.p(a,O,"distanceSquared:px"),D.p(b,O,"distanceSquared:py"),D.p(c,O,"distanceSquared:qx"),D.p(d,O,"distanceSquared:qy"));a=c-a;b=d-b;return a*a+b*b};var rb;
O.direction=rb=function(a,b,c,d){v&&(D.p(a,O,"direction:px"),D.p(b,O,"direction:py"),D.p(c,O,"direction:qx"),D.p(d,O,"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};D.defineProperty(O,{x:"x"},function(){return this.L},function(a){this.Qa(a);v&&D.h(a,"number",O,"x");this.L=a});
-D.defineProperty(O,{y:"y"},function(){return this.M},function(a){this.Qa(a);v&&D.h(a,"number",O,"y");this.M=a});O.prototype.isReal=O.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)};function Ca(a,b){void 0===a?this.Ha=this.Ia=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.Ia=a,this.Ha=b):D.k("Invalid arguments to Size constructor: "+a+", "+b);this.J=!1}D.ja("Size",Ca);D.Ai(Ca);D.ke(Ca,{width:!0,height:!0});
+D.defineProperty(O,{y:"y"},function(){return this.M},function(a){this.Qa(a);v&&D.h(a,"number",O,"y");this.M=a});O.prototype.isReal=O.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)};function Ca(a,b){void 0===a?this.Ha=this.Ia=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.Ia=a,this.Ha=b):D.k("Invalid arguments to Size constructor: "+a+", "+b);this.J=!1}D.ka("Size",Ca);D.Ai(Ca);D.ke(Ca,{width:!0,height:!0});
Ca.prototype.assign=function(a){this.Ia=a.Ia;this.Ha=a.Ha};Ca.prototype.setTo=Ca.prototype.n=function(a,b){v&&(D.h(a,"number",Ca,"setTo:w"),D.h(b,"number",Ca,"setTo:h"),0>a&&D.ua(a,">= 0",Ca,"setTo:w"),0>b&&D.ua(b,">= 0",Ca,"setTo:h"));this.Ia=a;this.Ha=b;return this};Ca.prototype.set=Ca.prototype.set=function(a){v&&D.l(a,Ca,Ca,"set:s");this.Qa();this.Ia=a.Ia;this.Ha=a.Ha;return this};Ca.prototype.copy=function(){var a=new Ca;a.Ia=this.Ia;a.Ha=this.Ha;return a};f=Ca.prototype;
f.Na=function(){this.J=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Size is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};
Ca.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 Ca(c,e)}return new Ca};Ca.stringify=function(a){v&&D.l(a,Ca);return a.width.toString()+" "+a.height.toString()};Ca.prototype.toString=function(){return"Size("+this.width+","+this.height+")"};Ca.prototype.equals=Ca.prototype.P=function(a){return a instanceof Ca?this.Ia===a.width&&this.Ha===a.height:!1};
-Ca.prototype.equalTo=Ca.prototype.Gx=function(a,b){return this.Ia===a&&this.Ha===b};Ca.prototype.equalsApprox=Ca.prototype.Tc=function(a){return Q(this.Ia,a.width)&&Q(this.Ha,a.height)};D.defineProperty(Ca,{width:"width"},function(){return this.Ia},function(a){this.Qa(a);v&&D.h(a,"number",Ca,"width");0>a&&D.ua(a,">= 0",Ca,"width");this.Ia=a});
+Ca.prototype.equalTo=Ca.prototype.Ix=function(a,b){return this.Ia===a&&this.Ha===b};Ca.prototype.equalsApprox=Ca.prototype.Tc=function(a){return Q(this.Ia,a.width)&&Q(this.Ha,a.height)};D.defineProperty(Ca,{width:"width"},function(){return this.Ia},function(a){this.Qa(a);v&&D.h(a,"number",Ca,"width");0>a&&D.ua(a,">= 0",Ca,"width");this.Ia=a});
D.defineProperty(Ca,{height:"height"},function(){return this.Ha},function(a){this.Qa(a);v&&D.h(a,"number",Ca,"height");0>a&&D.ua(a,">= 0",Ca,"height");this.Ha=a});Ca.prototype.isReal=Ca.prototype.F=function(){return isFinite(this.width)&&isFinite(this.height)};
function B(a,b,c,d){void 0===a?this.Ha=this.Ia=this.M=this.L=0:a instanceof O?b instanceof O?(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.Ha=Math.abs(a.M-b.M)):b instanceof Ca?(this.L=a.L,this.M=a.M,this.Ia=b.Ia,this.Ha=b.Ha):D.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.Ha=d):D.k("Invalid arguments to Rect constructor: "+
-a+", "+b+", "+c+", "+d);this.J=!1}D.ja("Rect",B);D.Ai(B);D.ke(B,{x:!0,y:!0,width:!0,height:!0});B.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ha=a.Ha};function xb(a,b,c){a.Ia=b;a.Ha=c}B.prototype.setTo=B.prototype.n=function(a,b,c,d){v&&(D.h(a,"number",B,"setTo:x"),D.h(b,"number",B,"setTo:y"),D.h(c,"number",B,"setTo:w"),D.h(d,"number",B,"setTo:h"),0>c&&D.ua(c,">= 0",B,"setTo:w"),0>d&&D.ua(d,">= 0",B,"setTo:h"));this.L=a;this.M=b;this.Ia=c;this.Ha=d;return this};
-B.prototype.set=B.prototype.set=function(a){v&&D.l(a,B,B,"set:r");this.Qa();this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ha=a.Ha;return this};B.prototype.setPoint=B.prototype.fh=function(a){v&&D.l(a,O,B,"setPoint:p");this.Qa();this.L=a.L;this.M=a.M;return this};B.prototype.setSize=function(a){v&&D.l(a,Ca,B,"setSize:s");this.Qa();this.Ia=a.Ia;this.Ha=a.Ha;return this};B.prototype.copy=function(){var a=new B;a.L=this.L;a.M=this.M;a.Ia=this.Ia;a.Ha=this.Ha;return a};f=B.prototype;
+a+", "+b+", "+c+", "+d);this.J=!1}D.ka("Rect",B);D.Ai(B);D.ke(B,{x:!0,y:!0,width:!0,height:!0});B.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ha=a.Ha};function xb(a,b,c){a.Ia=b;a.Ha=c}B.prototype.setTo=B.prototype.n=function(a,b,c,d){v&&(D.h(a,"number",B,"setTo:x"),D.h(b,"number",B,"setTo:y"),D.h(c,"number",B,"setTo:w"),D.h(d,"number",B,"setTo:h"),0>c&&D.ua(c,">= 0",B,"setTo:w"),0>d&&D.ua(d,">= 0",B,"setTo:h"));this.L=a;this.M=b;this.Ia=c;this.Ha=d;return this};
+B.prototype.set=B.prototype.set=function(a){v&&D.l(a,B,B,"set:r");this.Qa();this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ha=a.Ha;return this};B.prototype.setPoint=B.prototype.gh=function(a){v&&D.l(a,O,B,"setPoint:p");this.Qa();this.L=a.L;this.M=a.M;return this};B.prototype.setSize=function(a){v&&D.l(a,Ca,B,"setSize:s");this.Qa();this.Ia=a.Ia;this.Ha=a.Ha;return this};B.prototype.copy=function(){var a=new B;a.L=this.L;a.M=this.M;a.Ia=this.Ia;a.Ha=this.Ha;return a};f=B.prototype;
f.Na=function(){this.J=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Rect is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};
B.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 B(c,e,g,h)}return new B};B.stringify=function(a){v&&D.l(a,B);return a.x.toString()+" "+a.y.toString()+" "+a.width.toString()+" "+a.height.toString()};
-B.prototype.toString=function(){return"Rect("+this.x+","+this.y+","+this.width+","+this.height+")"};B.prototype.equals=B.prototype.P=function(a){return a instanceof B?this.L===a.x&&this.M===a.y&&this.Ia===a.width&&this.Ha===a.height:!1};B.prototype.equalTo=B.prototype.Gx=function(a,b,c,d){return this.L===a&&this.M===b&&this.Ia===c&&this.Ha===d};B.prototype.equalsApprox=B.prototype.Tc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)&&Q(this.Ia,a.width)&&Q(this.Ha,a.height)};
-function yb(a,b){return zb(a.L,b.x)&&zb(a.M,b.y)&&zb(a.Ia,b.width)&&zb(a.Ha,b.height)}B.prototype.containsPoint=B.prototype.Oa=function(a){v&&D.l(a,O,B,"containsPoint:p");return this.L<=a.x&&this.L+this.Ia>=a.x&&this.M<=a.y&&this.M+this.Ha>=a.y};B.prototype.containsRect=B.prototype.Nk=function(a){v&&D.l(a,B,B,"containsRect:r");return this.L<=a.x&&a.x+a.width<=this.L+this.Ia&&this.M<=a.y&&a.y+a.height<=this.M+this.Ha};
+B.prototype.toString=function(){return"Rect("+this.x+","+this.y+","+this.width+","+this.height+")"};B.prototype.equals=B.prototype.P=function(a){return a instanceof B?this.L===a.x&&this.M===a.y&&this.Ia===a.width&&this.Ha===a.height:!1};B.prototype.equalTo=B.prototype.Ix=function(a,b,c,d){return this.L===a&&this.M===b&&this.Ia===c&&this.Ha===d};B.prototype.equalsApprox=B.prototype.Tc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)&&Q(this.Ia,a.width)&&Q(this.Ha,a.height)};
+function yb(a,b){return zb(a.L,b.x)&&zb(a.M,b.y)&&zb(a.Ia,b.width)&&zb(a.Ha,b.height)}B.prototype.containsPoint=B.prototype.Oa=function(a){v&&D.l(a,O,B,"containsPoint:p");return this.L<=a.x&&this.L+this.Ia>=a.x&&this.M<=a.y&&this.M+this.Ha>=a.y};B.prototype.containsRect=B.prototype.Ok=function(a){v&&D.l(a,B,B,"containsRect:r");return this.L<=a.x&&a.x+a.width<=this.L+this.Ia&&this.M<=a.y&&a.y+a.height<=this.M+this.Ha};
B.prototype.contains=B.prototype.contains=function(a,b,c,d){v?(D.p(a,B,"contains:x"),D.p(b,B,"contains:y"),void 0===c?c=0:D.p(c,B,"contains:w"),void 0===d?d=0:D.p(d,B,"contains:h"),(0>c||0>d)&&D.k("Rect.contains:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return this.L<=a&&a+c<=this.L+this.Ia&&this.M<=b&&b+d<=this.M+this.Ha};B.prototype.reset=function(){this.Qa();this.Ha=this.Ia=this.M=this.L=0};
-B.prototype.offset=B.prototype.offset=function(a,b){v&&(D.p(a,B,"offset:dx"),D.p(b,B,"offset:dy"));this.Qa();this.L+=a;this.M+=b;return this};B.prototype.inflate=B.prototype.Ff=function(a,b){v&&(D.p(a,B,"inflate:w"),D.p(b,B,"inflate:h"));return Db(this,b,a,b,a)};B.prototype.addMargin=B.prototype.kx=function(a){v&&D.l(a,Ib,B,"addMargin:m");return Db(this,a.top,a.right,a.bottom,a.left)};
-B.prototype.subtractMargin=B.prototype.sK=function(a){v&&D.l(a,Ib,B,"subtractMargin:m");return Db(this,-a.top,-a.right,-a.bottom,-a.left)};B.prototype.grow=function(a,b,c,d){v&&(D.p(a,B,"grow:t"),D.p(b,B,"grow:r"),D.p(c,B,"grow:b"),D.p(d,B,"grow:l"));return Db(this,a,b,c,d)};function Db(a,b,c,d,e){a.Qa();var g=a.Ia;c+e<=-g?(a.L+=g/2,a.Ia=0):(a.L-=e,a.Ia+=c+e);c=a.Ha;b+d<=-c?(a.M+=c/2,a.Ha=0):(a.M-=b,a.Ha+=b+d);return a}
-B.prototype.intersectRect=function(a){v&&D.l(a,B,B,"intersectRect:r");return Lb(this,a.x,a.y,a.width,a.height)};B.prototype.intersect=B.prototype.KF=function(a,b,c,d){v&&(D.p(a,B,"intersect:x"),D.p(b,B,"intersect:y"),D.p(c,B,"intersect:w"),D.p(d,B,"intersect:h"),(0>c||0>d)&&D.k("Rect.intersect:Width and height cannot be negative"));return Lb(this,a,b,c,d)};
-function Lb(a,b,c,d,e){a.Qa();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.Ha,c+e);a.L=g;a.M=h;a.Ia=Math.max(0,b-g);a.Ha=Math.max(0,c-h);return a}B.prototype.intersectsRect=B.prototype.fg=function(a){v&&D.l(a,B,B,"intersectsRect:r");return this.LF(a.x,a.y,a.width,a.height)};
-B.prototype.intersects=B.prototype.LF=function(a,b,c,d){v&&(D.p(a,B,"intersects:x"),D.p(b,B,"intersects:y"),D.p(a,B,"intersects:w"),D.p(b,B,"intersects:h"),(0>c||0>d)&&D.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.Ha;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.Ha;d=b.height+10+10;e=a.M;g=b.y-10;return e>d+g||g>c+e?!1:!0}B.prototype.unionPoint=B.prototype.Ji=function(a){v&&D.l(a,O,B,"unionPoint:p");return Pb(this,a.x,a.y,0,0)};B.prototype.unionRect=B.prototype.Wh=function(a){v&&D.l(a,B,B,"unionRect:r");return Pb(this,a.L,a.M,a.Ia,a.Ha)};
-B.prototype.union=B.prototype.jH=function(a,b,c,d){this.Qa();v?(D.p(a,B,"union:x"),D.p(b,B,"union:y"),void 0===c?c=0:D.p(c,B,"union:w"),void 0===d?d=0:D.p(d,B,"union:h"),(0>c||0>d)&&D.k("Rect.union:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return Pb(this,a,b,c,d)};function Pb(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.Ha,c+e);a.L=g;a.M=h;a.Ia=b-g;a.Ha=c-h;return a}
-B.prototype.setSpot=B.prototype.av=function(a,b,c){v&&(D.p(a,B,"setSpot:x"),D.p(b,B,"setSpot:y"),D.l(c,R,B,"setSpot:spot"));this.Qa();this.L=a-c.offsetX-c.x*this.Ia;this.M=b-c.offsetY-c.y*this.Ha;return this};var Qb;
+B.prototype.offset=B.prototype.offset=function(a,b){v&&(D.p(a,B,"offset:dx"),D.p(b,B,"offset:dy"));this.Qa();this.L+=a;this.M+=b;return this};B.prototype.inflate=B.prototype.Gf=function(a,b){v&&(D.p(a,B,"inflate:w"),D.p(b,B,"inflate:h"));return Db(this,b,a,b,a)};B.prototype.addMargin=B.prototype.mx=function(a){v&&D.l(a,Ib,B,"addMargin:m");return Db(this,a.top,a.right,a.bottom,a.left)};
+B.prototype.subtractMargin=B.prototype.tK=function(a){v&&D.l(a,Ib,B,"subtractMargin:m");return Db(this,-a.top,-a.right,-a.bottom,-a.left)};B.prototype.grow=function(a,b,c,d){v&&(D.p(a,B,"grow:t"),D.p(b,B,"grow:r"),D.p(c,B,"grow:b"),D.p(d,B,"grow:l"));return Db(this,a,b,c,d)};function Db(a,b,c,d,e){a.Qa();var g=a.Ia;c+e<=-g?(a.L+=g/2,a.Ia=0):(a.L-=e,a.Ia+=c+e);c=a.Ha;b+d<=-c?(a.M+=c/2,a.Ha=0):(a.M-=b,a.Ha+=b+d);return a}
+B.prototype.intersectRect=function(a){v&&D.l(a,B,B,"intersectRect:r");return Lb(this,a.x,a.y,a.width,a.height)};B.prototype.intersect=B.prototype.LF=function(a,b,c,d){v&&(D.p(a,B,"intersect:x"),D.p(b,B,"intersect:y"),D.p(c,B,"intersect:w"),D.p(d,B,"intersect:h"),(0>c||0>d)&&D.k("Rect.intersect:Width and height cannot be negative"));return Lb(this,a,b,c,d)};
+function Lb(a,b,c,d,e){a.Qa();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.Ha,c+e);a.L=g;a.M=h;a.Ia=Math.max(0,b-g);a.Ha=Math.max(0,c-h);return a}B.prototype.intersectsRect=B.prototype.gg=function(a){v&&D.l(a,B,B,"intersectsRect:r");return this.MF(a.x,a.y,a.width,a.height)};
+B.prototype.intersects=B.prototype.MF=function(a,b,c,d){v&&(D.p(a,B,"intersects:x"),D.p(b,B,"intersects:y"),D.p(a,B,"intersects:w"),D.p(b,B,"intersects:h"),(0>c||0>d)&&D.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.Ha;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.Ha;d=b.height+10+10;e=a.M;g=b.y-10;return e>d+g||g>c+e?!1:!0}B.prototype.unionPoint=B.prototype.Ji=function(a){v&&D.l(a,O,B,"unionPoint:p");return Pb(this,a.x,a.y,0,0)};B.prototype.unionRect=B.prototype.Xh=function(a){v&&D.l(a,B,B,"unionRect:r");return Pb(this,a.L,a.M,a.Ia,a.Ha)};
+B.prototype.union=B.prototype.kH=function(a,b,c,d){this.Qa();v?(D.p(a,B,"union:x"),D.p(b,B,"union:y"),void 0===c?c=0:D.p(c,B,"union:w"),void 0===d?d=0:D.p(d,B,"union:h"),(0>c||0>d)&&D.k("Rect.union:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return Pb(this,a,b,c,d)};function Pb(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.Ha,c+e);a.L=g;a.M=h;a.Ia=b-g;a.Ha=c-h;return a}
+B.prototype.setSpot=B.prototype.cv=function(a,b,c){v&&(D.p(a,B,"setSpot:x"),D.p(b,B,"setSpot:y"),D.l(c,R,B,"setSpot:spot"));this.Qa();this.L=a-c.offsetX-c.x*this.Ia;this.M=b-c.offsetY-c.y*this.Ha;return this};var Qb;
B.contains=Qb=function(a,b,c,d,e,g,h,k){v?(D.p(a,B,"contains:rx"),D.p(b,B,"contains:ry"),D.p(c,B,"contains:rw"),D.p(d,B,"contains:rh"),D.p(e,B,"contains:x"),D.p(g,B,"contains:y"),void 0===h?h=0:D.p(h,B,"contains:w"),void 0===k?k=0:D.p(k,B,"contains:h"),(0>c||0>d||0>h||0>k)&&D.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};
B.intersects=function(a,b,c,d,e,g,h,k){v&&(D.p(a,B,"intersects:rx"),D.p(b,B,"intersects:ry"),D.p(c,B,"intersects:rw"),D.p(d,B,"intersects:rh"),D.p(e,B,"intersects:x"),D.p(g,B,"intersects:y"),D.p(h,B,"intersects:w"),D.p(k,B,"intersects:h"),(0>c||0>d||0>h||0>k)&&D.k("Rect.intersects:Width and height cannot be negative"));c+=a;h+=e;if(a>h||e>c)return!1;a=d+b;k+=g;return b>k||g>a?!1:!0};D.defineProperty(B,{x:"x"},function(){return this.L},function(a){this.Qa(a);v&&D.h(a,"number",B,"x");this.L=a});
D.defineProperty(B,{y:"y"},function(){return this.M},function(a){this.Qa(a);v&&D.h(a,"number",B,"y");this.M=a});D.defineProperty(B,{width:"width"},function(){return this.Ia},function(a){this.Qa(a);v&&D.h(a,"number",B,"width");0>a&&D.ua(a,">= 0",B,"width");this.Ia=a});D.defineProperty(B,{height:"height"},function(){return this.Ha},function(a){this.Qa(a);v&&D.h(a,"number",B,"height");0>a&&D.ua(a,">= 0",B,"height");this.Ha=a});
D.defineProperty(B,{left:"left"},function(){return this.L},function(a){this.Qa(a);v&&D.h(a,"number",B,"left");this.L=a});D.defineProperty(B,{top:"top"},function(){return this.M},function(a){this.Qa(a);v&&D.h(a,"number",B,"top");this.M=a});D.defineProperty(B,{right:"right"},function(){return this.L+this.Ia},function(a){this.Qa(a);v&&D.p(a,B,"right");this.L+=a-(this.L+this.Ia)});
D.defineProperty(B,{bottom:"bottom"},function(){return this.M+this.Ha},function(a){this.Qa(a);v&&D.p(a,B,"top");this.M+=a-(this.M+this.Ha)});D.defineProperty(B,{position:"position"},function(){return new O(this.L,this.M)},function(a){this.Qa(a);v&&D.l(a,O,B,"position");this.L=a.x;this.M=a.y});D.defineProperty(B,{size:"size"},function(){return new Ca(this.Ia,this.Ha)},function(a){this.Qa(a);v&&D.l(a,Ca,B,"size");this.Ia=a.width;this.Ha=a.height});
-D.defineProperty(B,{cm:"center"},function(){return new O(this.L+this.Ia/2,this.M+this.Ha/2)},function(a){this.Qa(a);v&&D.l(a,O,B,"center");this.L=a.x-this.Ia/2;this.M=a.y-this.Ha/2});D.defineProperty(B,{oa:"centerX"},function(){return this.L+this.Ia/2},function(a){this.Qa(a);v&&D.p(a,B,"centerX");this.L=a-this.Ia/2});D.defineProperty(B,{va:"centerY"},function(){return this.M+this.Ha/2},function(a){this.Qa(a);v&&D.p(a,B,"centerY");this.M=a-this.Ha/2});
+D.defineProperty(B,{dm:"center"},function(){return new O(this.L+this.Ia/2,this.M+this.Ha/2)},function(a){this.Qa(a);v&&D.l(a,O,B,"center");this.L=a.x-this.Ia/2;this.M=a.y-this.Ha/2});D.defineProperty(B,{oa:"centerX"},function(){return this.L+this.Ia/2},function(a){this.Qa(a);v&&D.p(a,B,"centerX");this.L=a-this.Ia/2});D.defineProperty(B,{va:"centerY"},function(){return this.M+this.Ha/2},function(a){this.Qa(a);v&&D.p(a,B,"centerY");this.M=a-this.Ha/2});
B.prototype.isReal=B.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)};B.prototype.isEmpty=function(){return 0===this.width&&0===this.height};
-function Ib(a,b,c,d){void 0===a?this.uh=this.nh=this.Dh=this.Eh=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):D.k("Invalid arguments to Margin constructor: "+a+", "+b+", "+c+", "+d);this.J=!1}D.ja("Margin",Ib);D.Ai(Ib);D.ke(Ib,{top:!0,right:!0,bottom:!0,left:!0});Ib.prototype.assign=function(a){this.Eh=a.Eh;this.Dh=a.Dh;this.nh=a.nh;this.uh=a.uh};
-Ib.prototype.setTo=Ib.prototype.n=function(a,b,c,d){v&&(D.h(a,"number",Ib,"setTo:t"),D.h(b,"number",Ib,"setTo:r"),D.h(c,"number",Ib,"setTo:b"),D.h(d,"number",Ib,"setTo:l"));this.Qa();this.Eh=a;this.Dh=b;this.nh=c;this.uh=d;return this};Ib.prototype.set=Ib.prototype.set=function(a){v&&D.l(a,Ib,Ib,"assign:m");this.Qa();this.Eh=a.Eh;this.Dh=a.Dh;this.nh=a.nh;this.uh=a.uh;return this};Ib.prototype.copy=function(){var a=new Ib;a.Eh=this.Eh;a.Dh=this.Dh;a.nh=this.nh;a.uh=this.uh;return a};f=Ib.prototype;
+function Ib(a,b,c,d){void 0===a?this.vh=this.oh=this.Eh=this.Fh=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):D.k("Invalid arguments to Margin constructor: "+a+", "+b+", "+c+", "+d);this.J=!1}D.ka("Margin",Ib);D.Ai(Ib);D.ke(Ib,{top:!0,right:!0,bottom:!0,left:!0});Ib.prototype.assign=function(a){this.Fh=a.Fh;this.Eh=a.Eh;this.oh=a.oh;this.vh=a.vh};
+Ib.prototype.setTo=Ib.prototype.n=function(a,b,c,d){v&&(D.h(a,"number",Ib,"setTo:t"),D.h(b,"number",Ib,"setTo:r"),D.h(c,"number",Ib,"setTo:b"),D.h(d,"number",Ib,"setTo:l"));this.Qa();this.Fh=a;this.Eh=b;this.oh=c;this.vh=d;return this};Ib.prototype.set=Ib.prototype.set=function(a){v&&D.l(a,Ib,Ib,"assign:m");this.Qa();this.Fh=a.Fh;this.Eh=a.Eh;this.oh=a.oh;this.vh=a.vh;return this};Ib.prototype.copy=function(){var a=new Ib;a.Fh=this.Fh;a.Eh=this.Eh;a.oh=this.oh;a.vh=this.vh;return a};f=Ib.prototype;
f.Na=function(){this.J=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Margin is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};
Ib.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 Ib;for(var e=NaN;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));if(isNaN(e))return new Ib(c);for(var g=NaN;""===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));if(isNaN(g))return new Ib(c,e);for(var h=NaN;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return isNaN(h)?new Ib(c,e):new Ib(c,e,g,h)}return new Ib};
-Ib.stringify=function(a){v&&D.l(a,Ib);return a.top.toString()+" "+a.right.toString()+" "+a.bottom.toString()+" "+a.left.toString()};Ib.prototype.toString=function(){return"Margin("+this.top+","+this.right+","+this.bottom+","+this.left+")"};Ib.prototype.equals=Ib.prototype.P=function(a){return a instanceof Ib?this.Eh===a.top&&this.Dh===a.right&&this.nh===a.bottom&&this.uh===a.left:!1};Ib.prototype.equalTo=Ib.prototype.Gx=function(a,b,c,d){return this.Eh===a&&this.Dh===b&&this.nh===c&&this.uh===d};
-Ib.prototype.equalsApprox=Ib.prototype.Tc=function(a){return Q(this.Eh,a.top)&&Q(this.Dh,a.right)&&Q(this.nh,a.bottom)&&Q(this.uh,a.left)};D.defineProperty(Ib,{top:"top"},function(){return this.Eh},function(a){this.Qa(a);v&&D.p(a,Ib,"top");this.Eh=a});D.defineProperty(Ib,{right:"right"},function(){return this.Dh},function(a){this.Qa(a);v&&D.p(a,Ib,"right");this.Dh=a});D.defineProperty(Ib,{bottom:"bottom"},function(){return this.nh},function(a){this.Qa(a);v&&D.p(a,Ib,"bottom");this.nh=a});
-D.defineProperty(Ib,{left:"left"},function(){return this.uh},function(a){this.Qa(a);v&&D.p(a,Ib,"left");this.uh=a});Ib.prototype.isReal=Ib.prototype.F=function(){return isFinite(this.top)&&isFinite(this.right)&&isFinite(this.bottom)&&isFinite(this.left)};function Da(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0}D.Ai(Da);D.ke(Da,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});
+Ib.stringify=function(a){v&&D.l(a,Ib);return a.top.toString()+" "+a.right.toString()+" "+a.bottom.toString()+" "+a.left.toString()};Ib.prototype.toString=function(){return"Margin("+this.top+","+this.right+","+this.bottom+","+this.left+")"};Ib.prototype.equals=Ib.prototype.P=function(a){return a instanceof Ib?this.Fh===a.top&&this.Eh===a.right&&this.oh===a.bottom&&this.vh===a.left:!1};Ib.prototype.equalTo=Ib.prototype.Ix=function(a,b,c,d){return this.Fh===a&&this.Eh===b&&this.oh===c&&this.vh===d};
+Ib.prototype.equalsApprox=Ib.prototype.Tc=function(a){return Q(this.Fh,a.top)&&Q(this.Eh,a.right)&&Q(this.oh,a.bottom)&&Q(this.vh,a.left)};D.defineProperty(Ib,{top:"top"},function(){return this.Fh},function(a){this.Qa(a);v&&D.p(a,Ib,"top");this.Fh=a});D.defineProperty(Ib,{right:"right"},function(){return this.Eh},function(a){this.Qa(a);v&&D.p(a,Ib,"right");this.Eh=a});D.defineProperty(Ib,{bottom:"bottom"},function(){return this.oh},function(a){this.Qa(a);v&&D.p(a,Ib,"bottom");this.oh=a});
+D.defineProperty(Ib,{left:"left"},function(){return this.vh},function(a){this.Qa(a);v&&D.p(a,Ib,"left");this.vh=a});Ib.prototype.isReal=Ib.prototype.F=function(){return isFinite(this.top)&&isFinite(this.right)&&isFinite(this.bottom)&&isFinite(this.left)};function Da(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0}D.Ai(Da);D.ke(Da,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});
Da.prototype.set=Da.prototype.set=function(a){v&&D.l(a,Da,Da,"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};Da.prototype.copy=function(){var a=new Da;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};Da.prototype.toString=function(){return"Transform("+this.m11+","+this.m12+","+this.m21+","+this.m22+","+this.dx+","+this.dy+")"};
-Da.prototype.equals=Da.prototype.P=function(a){return a instanceof Da?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};Da.prototype.isIdentity=Da.prototype.xu=function(){return 1===this.m11&&0===this.m12&&0===this.m21&&1===this.m22&&0===this.dx&&0===this.dy};Da.prototype.reset=Da.prototype.reset=function(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0;return this};
+Da.prototype.equals=Da.prototype.P=function(a){return a instanceof Da?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};Da.prototype.isIdentity=Da.prototype.zu=function(){return 1===this.m11&&0===this.m12&&0===this.m21&&1===this.m22&&0===this.dx&&0===this.dy};Da.prototype.reset=Da.prototype.reset=function(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0;return this};
Da.prototype.multiply=Da.prototype.multiply=function(a){v&&D.l(a,Da,Da,"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};
Da.prototype.multiplyInverted=Da.prototype.pB=function(a){v&&D.l(a,Da,Da,"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};
-Da.prototype.invert=Da.prototype.Sx=function(){var a=1/(this.m11*this.m22-this.m12*this.m21),b=-this.m12*a,c=-this.m21*a,d=this.m11*a,e=a*(this.m21*this.dy-this.m22*this.dx),g=a*(this.m12*this.dx-this.m11*this.dy);this.m11=this.m22*a;this.m12=b;this.m21=c;this.m22=d;this.dx=e;this.dy=g;return this};
+Da.prototype.invert=Da.prototype.Tx=function(){var a=1/(this.m11*this.m22-this.m12*this.m21),b=-this.m12*a,c=-this.m21*a,d=this.m11*a,e=a*(this.m21*this.dy-this.m22*this.dx),g=a*(this.m12*this.dx-this.m11*this.dy);this.m11=this.m22*a;this.m12=b;this.m21=c;this.m22=d;this.dx=e;this.dy=g;return this};
Da.prototype.rotate=Da.prototype.rotate=function(a,b,c){v&&(D.p(a,Da,"rotate:angle"),D.p(b,Da,"rotate:rx"),D.p(c,Da,"rotate:ry"));360<=a?a-=360:0>a&&(a+=360);if(0===a)return this;this.translate(b,c);var d=0,e=0;90===a?(d=0,e=1):180===a?(d=-1,e=0):270===a?(d=0,e=-1):(e=a*Math.PI/180,d=Math.cos(e),e=Math.sin(e));a=this.m12*d+this.m22*e;var g=this.m11*-e+this.m21*d,h=this.m12*-e+this.m22*d;this.m11=this.m11*d+this.m21*e;this.m12=a;this.m21=g;this.m22=h;this.translate(-b,-c);return this};
Da.prototype.translate=Da.prototype.translate=function(a,b){v&&(D.p(a,Da,"translate:x"),D.p(b,Da,"translate:y"));this.dx+=this.m11*a+this.m21*b;this.dy+=this.m12*a+this.m22*b;return this};Da.prototype.scale=Da.prototype.scale=function(a,b){void 0===b&&(b=a);v&&(D.p(a,Da,"translate:sx"),D.p(b,Da,"translate:sy"));this.m11*=a;this.m12*=a;this.m21*=b;this.m22*=b;return this};
Da.prototype.transformPoint=Da.prototype.wb=function(a){v&&D.l(a,O,Da,"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};Da.prototype.invertedTransformPoint=Da.prototype.Ci=function(a){v&&D.l(a,O,Da,"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};
-Da.prototype.transformRect=Da.prototype.iH=function(a){v&&D.l(a,B,Da,"transformRect:rect");var b=a.L,c=a.M,d=b+a.Ia,e=c+a.Ha,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.Ha=q-h;return a};function R(a,b,c,d){void 0===a?this.Lg=this.Kg=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.J=!1}D.ja("Spot",R);D.Ai(R);D.ke(R,{x:!0,y:!0,offsetX:!0,offsetY:!0});R.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Kg=a.Kg;this.Lg=a.Lg};
-R.prototype.setTo=R.prototype.n=function(a,b,c,d){v&&(Rb(a,"setTo:x"),Rb(b,"setTo:y"),Vb(c,"setTo:offx"),Vb(d,"setTo:offy"));this.Qa();this.L=a;this.M=b;this.Kg=c;this.Lg=d;return this};R.prototype.set=R.prototype.set=function(a){v&&D.l(a,R,R,"set:s");this.Qa();this.L=a.L;this.M=a.M;this.Kg=a.Kg;this.Lg=a.Lg;return this};R.prototype.copy=function(){var a=new R;a.L=this.L;a.M=this.M;a.Kg=this.Kg;a.Lg=this.Lg;return a};f=R.prototype;f.Na=function(){this.J=!0;Object.freeze(this);return this};
-f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Spot is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};function Yb(a,b){a.L=NaN;a.M=NaN;a.Kg=b;return a}function Rb(a,b){(isNaN(a)||1a)&&D.ua(a,"0 <= "+b+" <= 1",R,b)}
+Da.prototype.transformRect=Da.prototype.jH=function(a){v&&D.l(a,B,Da,"transformRect:rect");var b=a.L,c=a.M,d=b+a.Ia,e=c+a.Ha,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.Ha=q-h;return a};function R(a,b,c,d){void 0===a?this.Mg=this.Lg=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.J=!1}D.ka("Spot",R);D.Ai(R);D.ke(R,{x:!0,y:!0,offsetX:!0,offsetY:!0});R.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Lg=a.Lg;this.Mg=a.Mg};
+R.prototype.setTo=R.prototype.n=function(a,b,c,d){v&&(Rb(a,"setTo:x"),Rb(b,"setTo:y"),Vb(c,"setTo:offx"),Vb(d,"setTo:offy"));this.Qa();this.L=a;this.M=b;this.Lg=c;this.Mg=d;return this};R.prototype.set=R.prototype.set=function(a){v&&D.l(a,R,R,"set:s");this.Qa();this.L=a.L;this.M=a.M;this.Lg=a.Lg;this.Mg=a.Mg;return this};R.prototype.copy=function(){var a=new R;a.L=this.L;a.M=this.M;a.Lg=this.Lg;a.Mg=this.Mg;return a};f=R.prototype;f.Na=function(){this.J=!0;Object.freeze(this);return this};
+f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Spot is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};function Yb(a,b){a.L=NaN;a.M=NaN;a.Lg=b;return a}function Rb(a,b){(isNaN(a)||1a)&&D.ua(a,"0 <= "+b+" <= 1",R,b)}
function Vb(a,b){(isNaN(a)||Infinity===a||-Infinity===a)&&D.ua(a,"real number, not NaN or Infinity",R,b)}var Zb;
-R.parse=Zb=function(a){if("string"===typeof a){a=a.trim();if("None"===a)return cc;if("TopLeft"===a)return dc;if("Top"===a||"TopCenter"===a||"MiddleTop"===a)return ec;if("TopRight"===a)return fc;if("Left"===a||"LeftCenter"===a||"MiddleLeft"===a)return gc;if("Center"===a)return hc;if("Right"===a||"RightCenter"===a||"MiddleRight"===a)return rc;if("BottomLeft"===a)return sc;if("Bottom"===a||"BottomCenter"===a||"MiddleBottom"===a)return tc;if("BottomRight"===a)return uc;if("TopSide"===a)return vc;if("LeftSide"===
+R.parse=Zb=function(a){if("string"===typeof a){a=a.trim();if("None"===a)return $b;if("TopLeft"===a)return dc;if("Top"===a||"TopCenter"===a||"MiddleTop"===a)return ec;if("TopRight"===a)return fc;if("Left"===a||"LeftCenter"===a||"MiddleLeft"===a)return gc;if("Center"===a)return hc;if("Right"===a||"RightCenter"===a||"MiddleRight"===a)return rc;if("BottomLeft"===a)return sc;if("Bottom"===a||"BottomCenter"===a||"MiddleBottom"===a)return tc;if("BottomRight"===a)return uc;if("TopSide"===a)return vc;if("LeftSide"===
a)return wc;if("RightSide"===a)return xc;if("BottomSide"===a)return Bc;if("TopBottomSides"===a)return Cc;if("LeftRightSides"===a)return Jc;if("TopLeftSides"===a)return Kc;if("TopRightSides"===a)return Lc;if("BottomLeftSides"===a)return Mc;if("BottomRightSides"===a)return Nc;if("NotTopSide"===a)return Oc;if("NotLeftSide"===a)return Pc;if("NotRightSide"===a)return Sc;if("NotBottomSide"===a)return Tc;if("AllSides"===a)return Uc;if("Default"===a)return Vc;a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;
var d=a[b++];void 0!==d&&0b.offset?1:-1});for(k=0;kb.offset?1:-1});for(k=0;k=2*Math.PI?(rd(a,b,c,d,e,e+Math.PI,h),rd(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 qd(a,b,c,d,e,g,h){var k=new jd;k.Zb=[b,c,d,e,g,h];b={};Ad(a,"g",b,k);k=a.addElement("g",b);a.Ef.push(k)}
-f.ib=function(){if(0!==this.shadowOffsetX||0!==this.shadowOffsetY||0!==this.shadowBlur){var a="SHADOW"+D.Gm++,b=this.addElement("filter",{id:a,x:"-100%",y:"-100%",width:"300%",height:"300%"},null),c,d,e,g,h;c=pd(this,"feGaussianBlur",{"in":"SourceAlpha",result:"blur",zM:this.shadowBlur/2});d=pd(this,"feFlood",{"in":"blur",result:"flood","flood-color":this.shadowColor});e=pd(this,"feComposite",{"in":"flood",in2:"blur",operator:"in",result:"comp"});g=pd(this,"feOffset",{"in":"comp",result:"offsetBlur",
-dx:this.shadowOffsetX,dy:this.shadowOffsetY});h=pd(this,"feMerge",{});h.appendChild(pd(this,"feMergeNode",{"in":"offsetBlur"}));h.appendChild(pd(this,"feMergeNode",{"in":"SourceGraphic"}));b.appendChild(c);b.appendChild(d);b.appendChild(e);b.appendChild(g);b.appendChild(h);0=2*Math.PI?(rd(a,b,c,d,e,e+Math.PI,h),rd(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 qd(a,b,c,d,e,g,h){var k=new jd;k.Zb=[b,c,d,e,g,h];b={};Ad(a,"g",b,k);k=a.addElement("g",b);a.Ff.push(k)}
+f.jb=function(){if(0!==this.shadowOffsetX||0!==this.shadowOffsetY||0!==this.shadowBlur){var a="SHADOW"+D.Hm++,b=this.addElement("filter",{id:a,x:"-100%",y:"-100%",width:"300%",height:"300%"},null),c,d,e,g,h;c=pd(this,"feGaussianBlur",{"in":"SourceAlpha",result:"blur",BM:this.shadowBlur/2});d=pd(this,"feFlood",{"in":"blur",result:"flood","flood-color":this.shadowColor});e=pd(this,"feComposite",{"in":"flood",in2:"blur",operator:"in",result:"comp"});g=pd(this,"feOffset",{"in":"comp",result:"offsetBlur",
+dx:this.shadowOffsetX,dy:this.shadowOffsetY});h=pd(this,"feMerge",{});h.appendChild(pd(this,"feMergeNode",{"in":"offsetBlur"}));h.appendChild(pd(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.or?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.or?this.clip():this.fill()};
-f.Wj=function(){this.or||this.stroke()};D.defineProperty(Dd,{cq:"clipInsteadOfFill"},function(){return this.or},function(a){this.or=a});f=Dd.prototype;f.NB=function(a,b,c){this.st=a;this.tt=b;this.Ng=c};f.uo=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};f.vo=function(){this.shadowOffsetX=this.st;this.shadowOffsetY=this.tt;this.shadowBlur=this.Ng};
-f.JA=function(a,b){var c=this.xa;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.EA=function(){var a=this.xa;void 0!==a.setLineDash?(a.setLineDash(D.Do),a.lineDashOffset=0):void 0!==a.webkitLineDash?(a.webkitLineDash=D.Do,a.webkitLineDashOffset=0):void 0!==a.mozDash&&(a.mozDash=null,a.mozDashOffset=0)};
-f.Be=function(a){a&&(this.ez="");this.dz=this.fz=""};
+f.transform=function(a,b,c,d,e,g){1===a&&0===b&&0===c&&1===d&&0===e&&0===g||this.xa.transform(a,b,c,d,e,g)};f.translate=function(a,b){this.xa.translate(a,b)};f.Xg=function(a){if(a instanceof Ba&&a.type===Ed){var b=a.No;a=a.kz;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.or?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.or?this.clip():this.fill()};
+f.Wj=function(){this.or||this.stroke()};D.defineProperty(Dd,{cq:"clipInsteadOfFill"},function(){return this.or},function(a){this.or=a});f=Dd.prototype;f.NB=function(a,b,c){this.st=a;this.tt=b;this.Og=c};f.uo=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};f.vo=function(){this.shadowOffsetX=this.st;this.shadowOffsetY=this.tt;this.shadowBlur=this.Og};
+f.KA=function(a,b){var c=this.xa;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.FA=function(){var a=this.xa;void 0!==a.setLineDash?(a.setLineDash(D.Do),a.lineDashOffset=0):void 0!==a.webkitLineDash?(a.webkitLineDash=D.Do,a.webkitLineDashOffset=0):void 0!==a.mozDash&&(a.mozDash=null,a.mozDashOffset=0)};
+f.Be=function(a){a&&(this.fz="");this.ez=this.gz=""};
var Fd=(Math.sqrt(2)-1)/3*4,Gd=(new O(0,0)).Na(),Hd=(new B(0,0,0,0)).Na(),Sd=(new Ib(0,0,0,0)).Na(),Td=(new Ib(2,2,2,2)).Na(),Ud=(new O(6,6)).Na(),Vd=(new O(-Infinity,-Infinity)).Na(),Wd=(new O(Infinity,Infinity)).Na(),Xd=(new Ca(0,0)).Na(),Yd=(new Ca(1,1)).Na(),Zd=(new Ca(6,6)).Na(),$d=(new Ca(8,8)).Na(),ae=(new Ca(10,10)).Na(),he=(new Ca(Infinity,Infinity)).Na(),ie=(new O(NaN,NaN)).Na(),je=(new Ca(NaN,NaN)).Na(),ke=(new B(NaN,NaN,NaN,NaN)).Na(),le=(new R(.156,.156)).Na(),me=(new R(.844,.844)).Na(),
ne=new la,oe=new la,pe=null;function qe(a){if(0>=a)return 0;var b=pe;if(null===b){for(var b=[],c=0;2E3>=c;c++)b[c]=Math.sqrt(c);pe=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=e&&(e=1E-6);var k=0,l=0,m=0,n=0;am-n)if(a-c>e||c-a>e){if(g=(d-b)/(c-a)*(g-a)+b,g-e<=h&&h<=g+e)return!0}else return!0;else if(b-d>e||d-b>e){if(h=(c-a)/(d-b)*(h-b)+a,h-e<=g&&g<=h+e)return!0}else return!0;return!1}
@@ -251,1207 +251,1207 @@ function Te(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.ma.toString()+" "+this.ka.toString()+"L"+this.H.toString()+" "+this.I.toString():"M"+this.ma.toFixed(a)+" "+this.ka.toFixed(a)+"L"+this.H.toFixed(a)+" "+this.I.toFixed(a);case rf:var b=new B(this.ma,this.ka,0,0);b.jH(this.H,this.I,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 sf:b=new B(this.ma,this.ka,0,0);b.jH(this.H,this.I,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 Ze:for(var b="",c=this.lc.o,d=c.length,e=0;e=u-1?!0:null!==l[m+1].match(/[A-Za-z]/)}function d(){m++;return l[m]}function e(){var a=new O(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 O(2*s.x-r.x,2*s.y-r.y)}void 0===b&&(b=!1);"string"!==typeof a&&D.hc(a,"string",Ye,"parse:str");a=a.replace(/,/gm," ");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,
+p*p)),n=l*p-n,a=Math.sqrt(n*n+a*a)):a=Math.abs(n-l);return a}function Ye(a){1a?"M"+this.la.toString()+" "+this.ja.toString()+"L"+this.G.toString()+" "+this.H.toString():"M"+this.la.toFixed(a)+" "+this.ja.toFixed(a)+"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);case rf:var b=new B(this.la,this.ja,0,0);b.kH(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 sf:b=new B(this.la,this.ja,0,0);b.kH(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 Ze:for(var b="",c=this.mc.o,d=c.length,e=0;e=u-1?!0:null!==l[m+1].match(/[A-Za-z]/)}function d(){m++;return l[m]}function e(){var a=new O(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 O(2*s.x-r.x,2*s.y-r.y)}void 0===b&&(b=!1);"string"!==typeof a&&D.ic(a,"string",Ye,"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 O(0,0),r=new O(0,0),s=new O(0,
0),u=l.length,t=D.v(),y=!1,w=!1,C=!0,A=null;!(m>=u-1);)if(p=n,n=d(),""!==n)switch(n.toUpperCase()){case "X":C=!0;w=y=!1;break;case "M":A=g();null===t.dc||!0===C?(T(t,A.x,A.y,y,!1,!w),C=!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 O((n===n.toLowerCase()?s.x:0)+parseFloat(d()),s.y),t.lineTo(s.x,s.y);break;case "V":for(;!c();)s=A=new O(s.x,(n===n.toLowerCase()?s.y:0)+parseFloat(d())),t.lineTo(s.x,s.y);
-break;case "C":for(;!c();){var N=e(),H=h(),A=g();V(t,N.x,N.y,H.x,H.y,A.x,A.y)}break;case "S":for(;!c();)N=k(),H=h(),A=g(),V(t,N.x,N.y,H.x,H.y,A.x,A.y);break;case "Q":for(;!c();)H=h(),A=g(),xf(t,H.x,H.y,A.x,A.y);break;case "T":for(;!c();)r=H=k(),A=g(),xf(t,H.x,H.y,A.x,A.y);break;case "B":for(;!c();){var A=parseFloat(d()),N=parseFloat(d()),H=parseFloat(d()),W=parseFloat(d()),fa=parseFloat(d()),S=fa,ba=!1;c()||(S=parseFloat(d()),c()||(ba=0!==parseFloat(d())));n===n.toLowerCase()&&(H+=s.x,W+=s.y);t.arcTo(A,
-N,H,W,fa,S,ba)}break;case "A":for(;!c();)N=Math.abs(parseFloat(d())),H=Math.abs(parseFloat(d())),W=parseFloat(d()),fa=!!parseFloat(d()),S=!!parseFloat(d()),A=g(),yf(t,N,H,W,fa,S,A.x,A.y);break;case "Z":A=t.q.lc.o[t.q.lc.length-1];X(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]/)?y=!0:zf(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]/)?w=!0:t.ib(!1)}q=t.q;D.u(t);if(b)for(t=q.lc.j;t.next();)A=t.value,A.wu=!0;return q};function Af(a,b){for(var c=a.length,d=D.O(),e=0;eh&&(h+=360),s.Le+=h);0>a&&(s.Le=180-s.Le,s.yf=-s.yf);0>d&&(s.Le=-s.Le,s.yf=-s.yf);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.H;k=s.I;s.H=h*
-a+k*c+e;s.I=h*b+k*d+g;0!==b&&(h=180*Math.atan2(b,a)/Math.PI,0>h&&(h+=360),s.Zj+=h);0>a&&(s.Zj=180-s.Zj,s.tm=!s.tm);0>d&&(s.Zj=-s.Zj,s.tm=!s.tm);s.radiusX*=Math.sqrt(a*a+c*c);s.radiusY*=Math.sqrt(b*b+d*d);break;default:D.k("Unknown Segment type: "+s.type)}}}}this.lb=!0;return this};
-Ye.prototype.Oa=function(a,b,c,d){var e=a.x,g=a.y,h=this.mb.x-20;a=a.y;for(var k=0,l=0,m=0,n=0,p=0,q=0,r=this.lc.o,s=r.length,u=0;u=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.n(k+(c[2*n+2]-k)*d,e+(c[2*n+3]-e)*d),b;h+=p}b.n(NaN,NaN);return b};
-Ye.prototype.getFractionForPoint=Ye.prototype.MI=function(a){if(this.type===qf){var b=this.ma,c=this.ka,d=this.H,e=this.I;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===rf){if(b=this.ma,c=this.ka,d=this.H,e=this.I,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.MA,h=this.Mx,k=this.Nx,l=D.O(),c=Infinity,b=d=0,g=e.length,n=m=0,p=0;pa?0:1h&&(h+=360),s.Le+=h);0>a&&(s.Le=180-s.Le,s.zf=-s.zf);0>d&&(s.Le=-s.Le,s.zf=-s.zf);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.Zj+=h);0>a&&(s.Zj=180-s.Zj,s.um=!s.um);0>d&&(s.Zj=-s.Zj,s.um=!s.um);s.radiusX*=Math.sqrt(a*a+c*c);s.radiusY*=Math.sqrt(b*b+d*d);break;default:D.k("Unknown Segment type: "+s.type)}}}}this.mb=!0;return this};
+Ye.prototype.Oa=function(a,b,c,d){var e=a.x,g=a.y,h=this.nb.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,u=0;u=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.n(k+(c[2*n+2]-k)*d,e+(c[2*n+3]-e)*d),b;h+=p}b.n(NaN,NaN);return b};
+Ye.prototype.getAngleAlongPath=Ye.prototype.xF=function(a){0>a?a=0:1=e)return b=b[h],b=180*Math.atan2(b[2*a+3]-b[2*a+1],b[2*a+2]-b[2*a])/Math.PI;g+=m}}return NaN};
+Ye.prototype.getFractionForPoint=Ye.prototype.NI=function(a){if(this.type===qf){var b=this.la,c=this.ja,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===rf){if(b=this.la,c=this.ja,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.Ox,h=this.ju,k=this.ku,l=D.O(),c=Infinity,b=d=0,g=e.length,n=m=0,p=0;pa?0:1a?"M"+this.ma.toString()+" "+this.ka.toString():"M"+this.ma.toFixed(a)+" "+this.ka.toFixed(a),c=this.Db.o,d=c.length,e=0;ea&&(a+=360),this.Pd=a,this.df=0,v&&D.p(d,Wf,"x1"),this.Ch=Math.max(d,0),v&&D.p(e,Wf,"y1"),this.Mg=Math.max(e,0),this.tp="boolean"===typeof h?!!h:!1,this.Lo=!!k):(v&&D.p(d,Wf,"x1"),this.Pd=d,v&&D.p(e,
-Wf,"y1"),this.df=e,v&&D.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Ch=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Mg=h):this.Mg=0,this.Lo=this.tp=!1);this.ei=!1;this.lb=!0;this.vg=null}D.ja("PathSegment",Wf);D.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.ca=this.ca;a.Ab=this.Ab;a.Ib=this.Ib;a.Pd=this.Pd;a.df=this.df;a.Ch=this.Ch;a.Mg=this.Mg;a.tp=this.tp;a.Lo=this.Lo;a.ei=this.ei;a.lb=this.lb;return a};
-Wf.prototype.equalsApprox=Wf.prototype.Tc=function(a){if(!(a instanceof Wf)||this.type!==a.type||this.Tx!==a.Tx)return!1;switch(this.type){case Cf:case uf:return Q(this.H,a.H)&&Q(this.I,a.I);case Df:return Q(this.H,a.H)&&Q(this.I,a.I)&&Q(this.Bc,a.Bc)&&Q(this.Xc,a.Xc)&&Q(this.Rh,a.Rh)&&Q(this.Sh,a.Sh);case Of:return Q(this.H,a.H)&&Q(this.I,a.I)&&Q(this.Bc,a.Bc)&&Q(this.Xc,a.Xc);case Pf:return Q(this.Le,a.Le)&&Q(this.yf,a.yf)&&Q(this.oa,a.oa)&&Q(this.va,a.va)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,
-a.radiusY);case Qf:return this.tm===a.tm&&this.Yx===a.Yx&&Q(this.Zj,a.Zj)&&Q(this.H,a.H)&&Q(this.I,a.I)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,a.radiusY);default:return!1}};Wf.prototype.oc=function(a){a.Ne===Wf?this.type=a:D.Xj(this,a)};
-Wf.prototype.toString=function(a){void 0===a&&(a=-1);var b="";switch(this.type){case Cf:b=0>a?"M"+this.H.toString()+" "+this.I.toString():"M"+this.H.toFixed(a)+" "+this.I.toFixed(a);break;case uf:b=0>a?"L"+this.H.toString()+" "+this.I.toString():"L"+this.H.toFixed(a)+" "+this.I.toFixed(a);break;case Df:b=0>a?"C"+this.Bc.toString()+" "+this.Xc.toString()+" "+this.Rh.toString()+" "+this.Sh.toString()+" "+this.H.toString()+" "+this.I.toString():"C"+this.Bc.toFixed(a)+" "+this.Xc.toFixed(a)+" "+this.Rh.toFixed(a)+
-" "+this.Sh.toFixed(a)+" "+this.H.toFixed(a)+" "+this.I.toFixed(a);break;case Of:b=0>a?"Q"+this.Bc.toString()+" "+this.Xc.toString()+" "+this.H.toString()+" "+this.I.toString():"Q"+this.Bc.toFixed(a)+" "+this.Xc.toFixed(a)+" "+this.H.toFixed(a)+" "+this.I.toFixed(a);break;case Pf:b=0>a?"B"+this.Le.toString()+" "+this.yf.toString()+" "+this.oa.toString()+" "+this.va.toString()+" "+this.radiusX:"B"+this.Le.toFixed(a)+" "+this.yf.toFixed(a)+" "+this.oa.toFixed(a)+" "+this.va.toFixed(a)+" "+this.radiusX;
-break;case Qf:b=0>a?"A"+this.radiusX.toString()+" "+this.radiusY.toString()+" "+this.Zj.toString()+" "+(this.Yx?1:0)+" "+(this.tm?1:0)+" "+this.H.toString()+" "+this.I.toString():"A"+this.radiusX.toFixed(a)+" "+this.radiusY.toFixed(a)+" "+this.Zj.toFixed(a)+" "+(this.Yx?1:0)+" "+(this.tm?1:0)+" "+this.H.toFixed(a)+" "+this.I.toFixed(a);break;default:b=this.type.toString()}return b+(this.ei?"z":"")};var Cf;Wf.Move=Cf=D.s(Wf,"Move",0);var uf;Wf.Line=uf=D.s(Wf,"Line",1);var Df;
-Wf.Bezier=Df=D.s(Wf,"Bezier",2);var Of;Wf.QuadraticBezier=Of=D.s(Wf,"QuadraticBezier",3);var Pf;Wf.Arc=Pf=D.s(Wf,"Arc",4);var Qf;Wf.SvgArc=Qf=D.s(Wf,"SvgArc",4);Wf.prototype.freeze=function(){this.J=!0;return this};Wf.prototype.Ya=function(){this.J=!1;return this};Wf.prototype.close=Wf.prototype.close=function(){this.ei=!0;return this};
-function Rf(a,b){if(null!==a.vg&&!1===b.lb)return a.vg;var c=a.radiusX,d=a.radiusY;void 0===d&&(d=c);if(0===c||0===d)return a.vg=[],a.vg;var e=a.Pd,g=a.df,h=Ve(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=Ve(b>g?b:g,n,n+h,!0);g=D.Pf();g.reset();g.translate(c,d);g.rotate(a.Pd,0,0);g.scale(l,r);Af(b,g);D.He(g);a.vg=b;return a.vg}
-D.defineProperty(Wf,{Tx:"isClosed"},function(){return this.ei},function(a){this.ei!==a&&(this.ei=a,this.lb=!0)});D.defineProperty(Wf,{type:"type"},function(){return this.ca},function(a){v&&D.Da(a,Wf,Wf,"type");this.J&&D.pa(this,a);this.ca=a;this.lb=!0});D.defineProperty(Wf,{H:"endX"},function(){return this.Ab},function(a){v&&D.p(a,Wf,"endX");this.J&&D.pa(this,a);this.Ab=a;this.lb=!0});
-D.defineProperty(Wf,{I:"endY"},function(){return this.Ib},function(a){v&&D.p(a,Wf,"endY");this.J&&D.pa(this,a);this.Ib=a;this.lb=!0});D.defineProperty(Wf,{Bc:"point1X"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"point1X");this.J&&D.pa(this,a);this.Pd=a;this.lb=!0});D.defineProperty(Wf,{Xc:"point1Y"},function(){return this.df},function(a){v&&D.p(a,Wf,"point1Y");this.J&&D.pa(this,a);this.df=a;this.lb=!0});
-D.defineProperty(Wf,{Rh:"point2X"},function(){return this.Ch},function(a){v&&D.p(a,Wf,"point2X");this.J&&D.pa(this,a);this.Ch=a;this.lb=!0});D.defineProperty(Wf,{Sh:"point2Y"},function(){return this.Mg},function(a){v&&D.p(a,Wf,"point2Y");this.J&&D.pa(this,a);this.Mg=a;this.lb=!0});D.defineProperty(Wf,{oa:"centerX"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"centerX");this.J&&D.pa(this,a);this.Pd=a;this.lb=!0});
-D.defineProperty(Wf,{va:"centerY"},function(){return this.df},function(a){v&&D.p(a,Wf,"centerY");this.J&&D.pa(this,a);this.df=a;this.lb=!0});D.defineProperty(Wf,{radiusX:"radiusX"},function(){return this.Ch},function(a){v&&D.p(a,Wf,"radiusX");0>a&&D.ua(a,">= zero",Wf,"radiusX");this.J&&D.pa(this,a);this.Ch=a;this.lb=!0});D.defineProperty(Wf,{radiusY:"radiusY"},function(){return this.Mg},function(a){v&&D.p(a,Wf,"radiusY");0>a&&D.ua(a,">= zero",Wf,"radiusY");this.J&&D.pa(this,a);this.Mg=a;this.lb=!0});
-D.defineProperty(Wf,{Le:"startAngle"},function(){return this.Ab},function(a){this.Ab!==a&&(this.J&&D.pa(this,a),v&&D.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Ab=a,this.lb=!0)});D.defineProperty(Wf,{yf:"sweepAngle"},function(){return this.Ib},function(a){v&&D.p(a,Wf,"sweepAngle");this.J&&D.pa(this,a);360a&&(a=-360);this.Ib=a;this.lb=!0});D.defineProperty(Wf,{tm:"isClockwiseArc"},function(){return this.Lo},function(a){this.J&&D.pa(this,a);this.Lo=a;this.lb=!0});
-D.defineProperty(Wf,{Yx:"isLargeArc"},function(){return this.tp},function(a){this.J&&D.pa(this,a);this.tp=a;this.lb=!0});D.defineProperty(Wf,{Zj:"xAxisRotation"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.J&&D.pa(this,a);this.Pd=a;this.lb=!0});
-function Yf(){this.ba=null;this.lA=(new O(0,0)).freeze();this.sz=(new O(0,0)).freeze();this.zv=this.ww=0;this.Av=1;this.kw="";this.ex=this.Ov=!1;this.Lv=this.Bv=0;this.ak=this.Wv=this.gw=!1;this.Rr=null;this.ax=0;this.Qg=this.$w=null}D.ja("InputEvent",Yf);
-Yf.prototype.copy=function(){var a=new Yf;a.ba=this.ba;a.lA.assign(this.qe);a.sz.assign(this.ha);a.ww=this.ww;a.zv=this.zv;a.Av=this.Av;a.kw=this.kw;a.Ov=this.Ov;a.ex=this.ex;a.Bv=this.Bv;a.Lv=this.Lv;a.gw=this.gw;a.Wv=this.Wv;a.ak=this.ak;a.Rr=this.Rr;a.ax=this.ax;a.$w=this.$w;a.Qg=this.Qg;return a};
-Yf.prototype.toString=function(){var a="^";0!==this.Kd&&(a+="M:"+this.Kd);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Oe&&(a+="C:"+this.Oe);0!==this.im&&(a+="D:"+this.im);this.Mc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};D.defineProperty(Yf,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});D.defineProperty(Yf,{qe:"viewPoint"},function(){return this.lA},function(a){D.l(a,O,Yf,"viewPoint");this.lA.assign(a)});
-D.defineProperty(Yf,{ha:"documentPoint"},function(){return this.sz},function(a){D.l(a,O,Yf,"documentPoint");this.sz.assign(a)});Yf.prototype.getMultiTouchViewPoint=Yf.prototype.Px=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.YB(b));return b};D.defineProperty(Yf,{Kd:"modifiers"},function(){return this.ww},function(a){this.ww=a});
-D.defineProperty(Yf,{button:"button"},function(){return this.zv},function(a){this.zv=a;if(null===this.event)switch(a){case 0:this.buttons=1;break;case 1:this.buttons=4;break;case 2:this.buttons=2}});D.defineProperty(Yf,{buttons:"buttons"},function(){return this.Av},function(a){this.Av=a});D.defineProperty(Yf,{key:"key"},function(){return this.kw},function(a){this.kw=a});D.defineProperty(Yf,{jm:"down"},function(){return this.Ov},function(a){this.Ov=a});
-D.defineProperty(Yf,{up:"up"},function(){return this.ex},function(a){this.ex=a});D.defineProperty(Yf,{Oe:"clickCount"},function(){return this.Bv},function(a){this.Bv=a});D.defineProperty(Yf,{im:"delta"},function(){return this.Lv},function(a){this.Lv=a});D.defineProperty(Yf,{yu:"isMultiTouch"},function(){return this.gw},function(a){this.gw=a});D.defineProperty(Yf,{Mc:"handled"},function(){return this.Wv},function(a){this.Wv=a});
-D.defineProperty(Yf,{bubbles:"bubbles"},function(){return this.ak},function(a){this.ak=a});D.defineProperty(Yf,{event:"event"},function(){return this.Rr},function(a){this.Rr=a});D.w(Yf,{Mj:"isTouchEvent"},function(){var a=window.TouchEvent;return a&&this.event instanceof a?!0:(a=window.PointerEvent)&&this.event instanceof a&&"touch"===this.event.pointerType});D.w(Yf,{Wk:"isMac"},function(){return D.Wk});D.defineProperty(Yf,{timestamp:"timestamp"},function(){return this.ax},function(a){this.ax=a});
-D.defineProperty(Yf,{gh:"targetDiagram"},function(){return this.$w},function(a){this.$w=a});D.defineProperty(Yf,{We:"targetObject"},function(){return this.Qg},function(a){this.Qg=a});D.defineProperty(Yf,{control:"control"},function(){return 0!==(this.Kd&1)},function(a){this.Kd=a?this.Kd|1:this.Kd&-2});D.defineProperty(Yf,{shift:"shift"},function(){return 0!==(this.Kd&4)},function(a){this.Kd=a?this.Kd|4:this.Kd&-5});
-D.defineProperty(Yf,{alt:"alt"},function(){return 0!==(this.Kd&2)},function(a){this.Kd=a?this.Kd|2:this.Kd&-3});D.defineProperty(Yf,{Hu:"meta"},function(){return 0!==(this.Kd&8)},function(a){this.Kd=a?this.Kd|8:this.Kd&-9});D.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});
-D.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});D.defineProperty(Yf,{ZL:"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.ba=null;this.Xb="";this.Gw=this.Yw=null;this.lr=!1}D.ja("DiagramEvent",$f);$f.prototype.copy=function(){var a=new $f;a.ba=this.ba;a.Xb=this.Xb;a.Yw=this.Yw;a.Gw=this.Gw;a.lr=this.lr;return a};$f.prototype.toString=function(){var a="*"+this.name;null!==this.PB&&(a+=":"+this.PB.toString());null!==this.uB&&(a+="("+this.uB.toString()+")");return a};D.defineProperty($f,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});
-D.defineProperty($f,{name:"name"},function(){return this.Xb},function(a){this.Xb=a});D.defineProperty($f,{PB:"subject"},function(){return this.Yw},function(a){this.Yw=a});D.defineProperty($f,{uB:"parameter"},function(){return this.Gw},function(a){this.Gw=a});D.defineProperty($f,{cancel:"cancel"},function(){return this.lr},function(a){this.lr!==a&&D.Pn("DiagramEvent.cancel","2.0");this.lr=a});function ag(){this.mr=bg;this.ln=this.vw="";this.Ls=this.Ms=this.Qs=this.Rs=this.Ps=this.ba=this.ve=null}
-D.ja("ChangedEvent",ag);var cg;ag.Transaction=cg=D.s(ag,"Transaction",-1);var bg;ag.Property=bg=D.s(ag,"Property",0);var dg;ag.Insert=dg=D.s(ag,"Insert",1);var og;ag.Remove=og=D.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ls=this.Ms=this.Qs=this.Rs=this.Ps=this.ba=this.ve=null};
-ag.prototype.copy=function(){var a=new ag;a.mr=this.mr;a.vw=this.vw;a.ln=this.ln;a.ve=this.ve;a.ba=this.ba;a.Ps=this.Ps;var b=this.Rs;a.Rs=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Qs;a.Qs=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Ms;a.Ms=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=D.Ta(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.oc=function(a){a.Ne===ag?this.Jc=a:D.Xj(this,a)};
-ag.prototype.toString=function(){var a="",a=this.Jc===cg?a+"* ":this.Jc===bg?a+(null!==this.ga?"!m":"!d"):a+((null!==this.ga?"!m":"!d")+this.Jc);this.propertyName&&"string"===typeof this.propertyName&&(a+=" "+this.propertyName);this.xf&&this.xf!==this.propertyName&&(a+=" "+this.xf);a+=": ";this.Jc===cg?null!==this.oldValue&&(a+=" "+this.oldValue):(null!==this.object&&(a+=ja(this.object)),null!==this.oldValue&&(a+=" old: "+ja(this.oldValue)),null!==this.Tj&&(a+=" "+this.Tj),null!==this.newValue&&
+D.defineProperty(Ye,{je:"defaultStretch"},function(){return this.Ui},function(a){v&&D.Da(a,P,Ye,"stretch");this.J&&D.pa(this,a);this.Ui=a});D.w(Ye,{nb:"bounds"},function(){this.Yx()&&(this.Oy(),this.Lh());return this.Ev});function $e(a,b,c,d){D.uc(this);this.J=!1;void 0===c&&(c=!0);this.Tm=c;void 0===d&&(d=!0);this.op=d;void 0!==a?(v&&D.p(a,$e,"sx"),this.xc=a):this.xc=0;void 0!==b?(v&&D.p(b,$e,"sy"),this.Hc=b):this.Hc=0;this.Kp=new K(Wf);this.Vw=this.Kp.I;this.mb=!0}D.ka("PathFigure",$e);D.Ai($e);
+$e.prototype.copy=function(){var a=new $e;a.Tm=this.Tm;a.op=this.op;a.xc=this.xc;a.Hc=this.Hc;for(var b=this.Kp.o,c=b.length,d=a.Kp,e=0;ea?"M"+this.la.toString()+" "+this.ja.toString():"M"+this.la.toFixed(a)+" "+this.ja.toFixed(a),c=this.Db.o,d=c.length,e=0;ea&&(a+=360),this.Pd=a,this.ef=0,v&&D.p(d,Wf,"x1"),this.Dh=Math.max(d,0),v&&D.p(e,Wf,"y1"),this.Ng=Math.max(e,0),this.tp="boolean"===typeof h?!!h:!1,this.Lo=!!k):(v&&D.p(d,Wf,"x1"),this.Pd=d,v&&D.p(e,
+Wf,"y1"),this.ef=e,v&&D.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Dh=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Ng=h):this.Ng=0,this.Lo=this.tp=!1);this.fi=!1;this.mb=!0;this.wg=null}D.ka("PathSegment",Wf);D.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.ca=this.ca;a.Ab=this.Ab;a.Ib=this.Ib;a.Pd=this.Pd;a.ef=this.ef;a.Dh=this.Dh;a.Ng=this.Ng;a.tp=this.tp;a.Lo=this.Lo;a.fi=this.fi;a.mb=this.mb;return a};
+Wf.prototype.equalsApprox=Wf.prototype.Tc=function(a){if(!(a instanceof Wf)||this.type!==a.type||this.Ux!==a.Ux)return!1;switch(this.type){case Cf:case uf:return Q(this.G,a.G)&&Q(this.H,a.H);case Df:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Bc,a.Bc)&&Q(this.Xc,a.Xc)&&Q(this.Sh,a.Sh)&&Q(this.Th,a.Th);case Of:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Bc,a.Bc)&&Q(this.Xc,a.Xc);case Pf:return Q(this.Le,a.Le)&&Q(this.zf,a.zf)&&Q(this.oa,a.oa)&&Q(this.va,a.va)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,
+a.radiusY);case Qf:return this.um===a.um&&this.Zx===a.Zx&&Q(this.Zj,a.Zj)&&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.Ne===Wf?this.type=a:D.Xj(this,a)};
+Wf.prototype.toString=function(a){void 0===a&&(a=-1);var b="";switch(this.type){case Cf:b=0>a?"M"+this.G.toString()+" "+this.H.toString():"M"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case uf:b=0>a?"L"+this.G.toString()+" "+this.H.toString():"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Df:b=0>a?"C"+this.Bc.toString()+" "+this.Xc.toString()+" "+this.Sh.toString()+" "+this.Th.toString()+" "+this.G.toString()+" "+this.H.toString():"C"+this.Bc.toFixed(a)+" "+this.Xc.toFixed(a)+" "+this.Sh.toFixed(a)+
+" "+this.Th.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Of:b=0>a?"Q"+this.Bc.toString()+" "+this.Xc.toString()+" "+this.G.toString()+" "+this.H.toString():"Q"+this.Bc.toFixed(a)+" "+this.Xc.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Pf:b=0>a?"B"+this.Le.toString()+" "+this.zf.toString()+" "+this.oa.toString()+" "+this.va.toString()+" "+this.radiusX:"B"+this.Le.toFixed(a)+" "+this.zf.toFixed(a)+" "+this.oa.toFixed(a)+" "+this.va.toFixed(a)+" "+this.radiusX;
+break;case Qf:b=0>a?"A"+this.radiusX.toString()+" "+this.radiusY.toString()+" "+this.Zj.toString()+" "+(this.Zx?1:0)+" "+(this.um?1:0)+" "+this.G.toString()+" "+this.H.toString():"A"+this.radiusX.toFixed(a)+" "+this.radiusY.toFixed(a)+" "+this.Zj.toFixed(a)+" "+(this.Zx?1:0)+" "+(this.um?1:0)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;default:b=this.type.toString()}return b+(this.fi?"z":"")};var Cf;Wf.Move=Cf=D.s(Wf,"Move",0);var uf;Wf.Line=uf=D.s(Wf,"Line",1);var Df;
+Wf.Bezier=Df=D.s(Wf,"Bezier",2);var Of;Wf.QuadraticBezier=Of=D.s(Wf,"QuadraticBezier",3);var Pf;Wf.Arc=Pf=D.s(Wf,"Arc",4);var Qf;Wf.SvgArc=Qf=D.s(Wf,"SvgArc",4);Wf.prototype.freeze=function(){this.J=!0;return this};Wf.prototype.Ya=function(){this.J=!1;return this};Wf.prototype.close=Wf.prototype.close=function(){this.fi=!0;return this};
+function Rf(a,b){if(null!==a.wg&&!1===b.mb)return a.wg;var c=a.radiusX,d=a.radiusY;void 0===d&&(d=c);if(0===c||0===d)return a.wg=[],a.wg;var e=a.Pd,g=a.ef,h=Ve(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=Ve(b>g?b:g,n,n+h,!0);g=D.Qf();g.reset();g.translate(c,d);g.rotate(a.Pd,0,0);g.scale(l,r);Af(b,g);D.He(g);a.wg=b;return a.wg}
+D.defineProperty(Wf,{Ux:"isClosed"},function(){return this.fi},function(a){this.fi!==a&&(this.fi=a,this.mb=!0)});D.defineProperty(Wf,{type:"type"},function(){return this.ca},function(a){v&&D.Da(a,Wf,Wf,"type");this.J&&D.pa(this,a);this.ca=a;this.mb=!0});D.defineProperty(Wf,{G:"endX"},function(){return this.Ab},function(a){v&&D.p(a,Wf,"endX");this.J&&D.pa(this,a);this.Ab=a;this.mb=!0});
+D.defineProperty(Wf,{H:"endY"},function(){return this.Ib},function(a){v&&D.p(a,Wf,"endY");this.J&&D.pa(this,a);this.Ib=a;this.mb=!0});D.defineProperty(Wf,{Bc:"point1X"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"point1X");this.J&&D.pa(this,a);this.Pd=a;this.mb=!0});D.defineProperty(Wf,{Xc:"point1Y"},function(){return this.ef},function(a){v&&D.p(a,Wf,"point1Y");this.J&&D.pa(this,a);this.ef=a;this.mb=!0});
+D.defineProperty(Wf,{Sh:"point2X"},function(){return this.Dh},function(a){v&&D.p(a,Wf,"point2X");this.J&&D.pa(this,a);this.Dh=a;this.mb=!0});D.defineProperty(Wf,{Th:"point2Y"},function(){return this.Ng},function(a){v&&D.p(a,Wf,"point2Y");this.J&&D.pa(this,a);this.Ng=a;this.mb=!0});D.defineProperty(Wf,{oa:"centerX"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"centerX");this.J&&D.pa(this,a);this.Pd=a;this.mb=!0});
+D.defineProperty(Wf,{va:"centerY"},function(){return this.ef},function(a){v&&D.p(a,Wf,"centerY");this.J&&D.pa(this,a);this.ef=a;this.mb=!0});D.defineProperty(Wf,{radiusX:"radiusX"},function(){return this.Dh},function(a){v&&D.p(a,Wf,"radiusX");0>a&&D.ua(a,">= zero",Wf,"radiusX");this.J&&D.pa(this,a);this.Dh=a;this.mb=!0});D.defineProperty(Wf,{radiusY:"radiusY"},function(){return this.Ng},function(a){v&&D.p(a,Wf,"radiusY");0>a&&D.ua(a,">= zero",Wf,"radiusY");this.J&&D.pa(this,a);this.Ng=a;this.mb=!0});
+D.defineProperty(Wf,{Le:"startAngle"},function(){return this.Ab},function(a){this.Ab!==a&&(this.J&&D.pa(this,a),v&&D.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Ab=a,this.mb=!0)});D.defineProperty(Wf,{zf:"sweepAngle"},function(){return this.Ib},function(a){v&&D.p(a,Wf,"sweepAngle");this.J&&D.pa(this,a);360a&&(a=-360);this.Ib=a;this.mb=!0});D.defineProperty(Wf,{um:"isClockwiseArc"},function(){return this.Lo},function(a){this.J&&D.pa(this,a);this.Lo=a;this.mb=!0});
+D.defineProperty(Wf,{Zx:"isLargeArc"},function(){return this.tp},function(a){this.J&&D.pa(this,a);this.tp=a;this.mb=!0});D.defineProperty(Wf,{Zj:"xAxisRotation"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.J&&D.pa(this,a);this.Pd=a;this.mb=!0});
+function Yf(){this.ba=null;this.mA=(new O(0,0)).freeze();this.uz=(new O(0,0)).freeze();this.Bv=this.yw=0;this.Cv=1;this.mw="";this.hx=this.Qv=!1;this.Nv=this.Dv=0;this.ak=this.Yv=this.iw=!1;this.Rr=null;this.ex=0;this.Rg=this.bx=null}D.ka("InputEvent",Yf);
+Yf.prototype.copy=function(){var a=new Yf;a.ba=this.ba;a.mA.assign(this.qe);a.uz.assign(this.ha);a.yw=this.yw;a.Bv=this.Bv;a.Cv=this.Cv;a.mw=this.mw;a.Qv=this.Qv;a.hx=this.hx;a.Dv=this.Dv;a.Nv=this.Nv;a.iw=this.iw;a.Yv=this.Yv;a.ak=this.ak;a.Rr=this.Rr;a.ex=this.ex;a.bx=this.bx;a.Rg=this.Rg;return a};
+Yf.prototype.toString=function(){var a="^";0!==this.Kd&&(a+="M:"+this.Kd);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Oe&&(a+="C:"+this.Oe);0!==this.jm&&(a+="D:"+this.jm);this.Mc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};D.defineProperty(Yf,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});D.defineProperty(Yf,{qe:"viewPoint"},function(){return this.mA},function(a){D.l(a,O,Yf,"viewPoint");this.mA.assign(a)});
+D.defineProperty(Yf,{ha:"documentPoint"},function(){return this.uz},function(a){D.l(a,O,Yf,"documentPoint");this.uz.assign(a)});Yf.prototype.getMultiTouchViewPoint=Yf.prototype.Qx=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.YB(b));return b};D.defineProperty(Yf,{Kd:"modifiers"},function(){return this.yw},function(a){this.yw=a});
+D.defineProperty(Yf,{button:"button"},function(){return this.Bv},function(a){this.Bv=a;if(null===this.event)switch(a){case 0:this.buttons=1;break;case 1:this.buttons=4;break;case 2:this.buttons=2}});D.defineProperty(Yf,{buttons:"buttons"},function(){return this.Cv},function(a){this.Cv=a});D.defineProperty(Yf,{key:"key"},function(){return this.mw},function(a){this.mw=a});D.defineProperty(Yf,{km:"down"},function(){return this.Qv},function(a){this.Qv=a});
+D.defineProperty(Yf,{up:"up"},function(){return this.hx},function(a){this.hx=a});D.defineProperty(Yf,{Oe:"clickCount"},function(){return this.Dv},function(a){this.Dv=a});D.defineProperty(Yf,{jm:"delta"},function(){return this.Nv},function(a){this.Nv=a});D.defineProperty(Yf,{Au:"isMultiTouch"},function(){return this.iw},function(a){this.iw=a});D.defineProperty(Yf,{Mc:"handled"},function(){return this.Yv},function(a){this.Yv=a});
+D.defineProperty(Yf,{bubbles:"bubbles"},function(){return this.ak},function(a){this.ak=a});D.defineProperty(Yf,{event:"event"},function(){return this.Rr},function(a){this.Rr=a});D.w(Yf,{Mj:"isTouchEvent"},function(){var a=window.TouchEvent;return a&&this.event instanceof a?!0:(a=window.PointerEvent)&&this.event instanceof a&&"touch"===this.event.pointerType});D.w(Yf,{Xk:"isMac"},function(){return D.Xk});D.defineProperty(Yf,{timestamp:"timestamp"},function(){return this.ex},function(a){this.ex=a});
+D.defineProperty(Yf,{hh:"targetDiagram"},function(){return this.bx},function(a){this.bx=a});D.defineProperty(Yf,{We:"targetObject"},function(){return this.Rg},function(a){this.Rg=a});D.defineProperty(Yf,{control:"control"},function(){return 0!==(this.Kd&1)},function(a){this.Kd=a?this.Kd|1:this.Kd&-2});D.defineProperty(Yf,{shift:"shift"},function(){return 0!==(this.Kd&4)},function(a){this.Kd=a?this.Kd|4:this.Kd&-5});
+D.defineProperty(Yf,{alt:"alt"},function(){return 0!==(this.Kd&2)},function(a){this.Kd=a?this.Kd|2:this.Kd&-3});D.defineProperty(Yf,{Ju:"meta"},function(){return 0!==(this.Kd&8)},function(a){this.Kd=a?this.Kd|8:this.Kd&-9});D.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});
+D.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});D.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.ba=null;this.Yb="";this.Iw=this.$w=null;this.lr=!1}D.ka("DiagramEvent",$f);$f.prototype.copy=function(){var a=new $f;a.ba=this.ba;a.Yb=this.Yb;a.$w=this.$w;a.Iw=this.Iw;a.lr=this.lr;return a};$f.prototype.toString=function(){var a="*"+this.name;null!==this.PB&&(a+=":"+this.PB.toString());null!==this.uB&&(a+="("+this.uB.toString()+")");return a};D.defineProperty($f,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});
+D.defineProperty($f,{name:"name"},function(){return this.Yb},function(a){this.Yb=a});D.defineProperty($f,{PB:"subject"},function(){return this.$w},function(a){this.$w=a});D.defineProperty($f,{uB:"parameter"},function(){return this.Iw},function(a){this.Iw=a});D.defineProperty($f,{cancel:"cancel"},function(){return this.lr},function(a){this.lr!==a&&D.Pn("DiagramEvent.cancel","2.0");this.lr=a});function ag(){this.mr=bg;this.ln=this.xw="";this.Ls=this.Ms=this.Qs=this.Rs=this.Ps=this.ba=this.ve=null}
+D.ka("ChangedEvent",ag);var cg;ag.Transaction=cg=D.s(ag,"Transaction",-1);var bg;ag.Property=bg=D.s(ag,"Property",0);var ng;ag.Insert=ng=D.s(ag,"Insert",1);var og;ag.Remove=og=D.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ls=this.Ms=this.Qs=this.Rs=this.Ps=this.ba=this.ve=null};
+ag.prototype.copy=function(){var a=new ag;a.mr=this.mr;a.xw=this.xw;a.ln=this.ln;a.ve=this.ve;a.ba=this.ba;a.Ps=this.Ps;var b=this.Rs;a.Rs=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Qs;a.Qs=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Ms;a.Ms=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=D.Ta(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.pc=function(a){a.Ne===ag?this.Jc=a:D.Xj(this,a)};
+ag.prototype.toString=function(){var a="",a=this.Jc===cg?a+"* ":this.Jc===bg?a+(null!==this.ga?"!m":"!d"):a+((null!==this.ga?"!m":"!d")+this.Jc);this.propertyName&&"string"===typeof this.propertyName&&(a+=" "+this.propertyName);this.yf&&this.yf!==this.propertyName&&(a+=" "+this.yf);a+=": ";this.Jc===cg?null!==this.oldValue&&(a+=" "+this.oldValue):(null!==this.object&&(a+=ja(this.object)),null!==this.oldValue&&(a+=" old: "+ja(this.oldValue)),null!==this.Tj&&(a+=" "+this.Tj),null!==this.newValue&&
(a+=" new: "+ja(this.newValue)),null!==this.Rj&&(a+=" "+this.Rj));return a};ag.prototype.getValue=ag.prototype.na=function(a){return a?this.oldValue:this.newValue};ag.prototype.getParam=function(a){return a?this.Tj:this.Rj};ag.prototype.canUndo=ag.prototype.canUndo=function(){return null!==this.ga||null!==this.g?!0:!1};ag.prototype.undo=ag.prototype.undo=function(){this.canUndo()&&(null!==this.ga?this.ga.Gn(this,!0):null!==this.g&&this.g.Gn(this,!0))};
ag.prototype.canRedo=ag.prototype.canRedo=function(){return null!==this.ga||null!==this.g?!0:!1};ag.prototype.redo=ag.prototype.redo=function(){this.canRedo()&&(null!==this.ga?this.ga.Gn(this,!1):null!==this.g&&this.g.Gn(this,!1))};D.defineProperty(ag,{ga:"model"},function(){return this.ve},function(a){this.ve=a});D.defineProperty(ag,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});
-D.defineProperty(ag,{Jc:"change"},function(){return this.mr},function(a){v&&D.Da(a,ag,ag,"change");this.mr=a});D.defineProperty(ag,{xf:"modelChange"},function(){return this.vw},function(a){v&&D.h(a,"string",ag,"modelChange");this.vw=a});D.defineProperty(ag,{propertyName:"propertyName"},function(){return this.ln},function(a){v&&"string"!==typeof a&&D.h(a,"function",ag,"propertyName");this.ln=a});
-D.w(ag,{YF:"isTransactionFinished"},function(){return this.mr===cg&&("CommittedTransaction"===this.ln||"FinishedUndo"===this.ln||"FinishedRedo"===this.ln)});D.defineProperty(ag,{object:"object"},function(){return this.Ps},function(a){this.Ps=a});D.defineProperty(ag,{oldValue:"oldValue"},function(){return this.Rs},function(a){this.Rs=a});D.defineProperty(ag,{Tj:"oldParam"},function(){return this.Qs},function(a){this.Qs=a});
+D.defineProperty(ag,{Jc:"change"},function(){return this.mr},function(a){v&&D.Da(a,ag,ag,"change");this.mr=a});D.defineProperty(ag,{yf:"modelChange"},function(){return this.xw},function(a){v&&D.h(a,"string",ag,"modelChange");this.xw=a});D.defineProperty(ag,{propertyName:"propertyName"},function(){return this.ln},function(a){v&&"string"!==typeof a&&D.h(a,"function",ag,"propertyName");this.ln=a});
+D.w(ag,{ZF:"isTransactionFinished"},function(){return this.mr===cg&&("CommittedTransaction"===this.ln||"FinishedUndo"===this.ln||"FinishedRedo"===this.ln)});D.defineProperty(ag,{object:"object"},function(){return this.Ps},function(a){this.Ps=a});D.defineProperty(ag,{oldValue:"oldValue"},function(){return this.Rs},function(a){this.Rs=a});D.defineProperty(ag,{Tj:"oldParam"},function(){return this.Qs},function(a){this.Qs=a});
D.defineProperty(ag,{newValue:"newValue"},function(){return this.Ms},function(a){this.Ms=a});D.defineProperty(ag,{Rj:"newParam"},function(){return this.Ls},function(a){this.Ls=a});
-function M(a){1g?b+("\\u000"+a.charCodeAt(d).toString(16)):32>g?b+("\\u00"+a.charCodeAt(d).toString(16)):8232===g?b+"\\u2028":8233===g?b+"\\u2029":b+e}return'"'+b+'"'};
-M.prototype.writeJsonValue=M.prototype.jv=function(a){return void 0===a?"undefined":null===a?"null":!0===a?"true":!1===a?"false":"string"===typeof a?this.quote(a):"number"===typeof a?Infinity===a?"9e9999":-Infinity===a?"-9e9999":isNaN(a)?'{"class":"NaN"}':a.toString():a instanceof Date?'{"class":"Date", "value":"'+a.toJSON()+'"}':a instanceof Number?this.jv(a.valueOf()):D.isArray(a)?ug(this,a):D.Ta(a)?rg(this,a):"function"===typeof a?"null":a.toString()};
-function ug(a,b,c){void 0===c&&(c=!1);var d=D.cb(b);if(0>=d)return"[]";var e=new ya;e.add("[ ");c&&1=d)return"[]";var e=new ya;e.add("[ ");c&&1d)return;D.Ug(a.we,d)}Xg(a,"nodeDataArray",og,"nodeDataArray",a,b,null,d,null);a.hv(b)}
-M.prototype.removeNodeDataCollection=function(a){if(D.isArray(a))for(var b=D.cb(a),c=0;cd)return;D.Vg(a.we,d)}Xg(a,"nodeDataArray",og,"nodeDataArray",a,b,null,d,null);a.jv(b)}
+M.prototype.removeNodeDataCollection=function(a){if(D.isArray(a))for(var b=D.eb(a),c=0;cb&&(b=D.cb(a));D.Ih(a,b,c);Xg(this,"",dg,"",a,null,c,null,b)};
-M.prototype.removeArrayItem=M.prototype.vG=function(a,b){void 0===b&&(b=-1);v&&(D.Wt(a,M,"removeArrayItem:arr"),D.p(b,M,"removeArrayItem:idx"));a===this.we&&D.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=D.cb(a)-1);var c=D.La(a,b);D.Ug(a,b);Xg(this,"",og,"",a,c,null,b,null)};D.defineProperty(M,{oo:"nodeCategoryProperty"},function(){return this.fn},function(a){var b=this.fn;b!==a&&(Yg(a,M,"nodeCategoryProperty"),this.fn=a,this.i("nodeCategoryProperty",b,a))});
+D.defineProperty(M,{SH:"afterCopyFunction"},function(){return this.cr},function(a){var b=this.cr;b!==a&&(null!==a&&D.h(a,"function",M,"afterCopyFunction"),this.cr=a,this.i("afterCopyFunction",b,a))});var hh=!1;
+M.prototype.setDataProperty=function(a,b,c){v&&(D.h(a,"object",M,"setDataProperty:data"),D.h(b,"string",M,"setDataProperty:propname"),""===b&&D.k("Model.setDataProperty: property name must not be an empty string when setting "+a+" to "+c));if(this.ie(a))if(b===this.Sj)this.Jy(a,c);else{if(b===this.oo){this.Hy(a,c);return}}else!hh&&a instanceof P&&(hh=!0,D.trace('Model.setDataProperty is modifying a GraphObject, "'+a.toString()+'"'),D.trace(" Is that really your intent?"));var d=D.vb(a,b);d!==c&&
+(D.Ua(a,b,c),this.vB(a,b,d,c))};M.prototype.addArrayItem=function(a,b){this.YA(a,-1,b)};M.prototype.insertArrayItem=M.prototype.YA=function(a,b,c){v&&(D.Wt(a,M,"insertArrayItem:arr"),D.p(b,M,"insertArrayItem:idx"));a===this.we&&D.k("Model.insertArrayItem or Model.addArrayItem should not be called on the Model.nodeDataArray");0>b&&(b=D.eb(a));D.Jh(a,b,c);Xg(this,"",ng,"",a,null,c,null,b)};
+M.prototype.removeArrayItem=M.prototype.wG=function(a,b){void 0===b&&(b=-1);v&&(D.Wt(a,M,"removeArrayItem:arr"),D.p(b,M,"removeArrayItem:idx"));a===this.we&&D.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=D.eb(a)-1);var c=D.La(a,b);D.Vg(a,b);Xg(this,"",og,"",a,c,null,b,null)};D.defineProperty(M,{oo:"nodeCategoryProperty"},function(){return this.fn},function(a){var b=this.fn;b!==a&&(Yg(a,M,"nodeCategoryProperty"),this.fn=a,this.i("nodeCategoryProperty",b,a))});
M.prototype.getCategoryForNodeData=M.prototype.QA=function(a){if(null===a)return"";var b=this.fn;if(""===b)return"";b=D.vb(a,b);if(void 0===b)return"";if("string"===typeof b)return b;D.k("getCategoryForNodeData found a non-string category for "+a+": "+b);return""};
-M.prototype.setCategoryForNodeData=M.prototype.Gy=function(a,b){D.h(b,"string",M,"setCategoryForNodeData:cat");if(null!==a){var c=this.fn;if(""!==c)if(this.ie(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"nodeCategory",bg,c,a,d,b))}else D.Ua(a,c,b)}};
-function Y(a,b){M.call(this);2D.am(d,a.newValue)&&D.Ih(d,c,a.newValue));return}}else if(a.Jc===
-og){c=a.Tj;if("linkDataArray"===a.xf){d=a.oldValue;D.Ta(d)&&"number"===typeof c&&(e=this.eg(d),b?(this.hi.add(d),D.La(this.bf,c)!==d&&D.Ih(this.bf,c,d),void 0!==e&&this.pd.add(e,d)):(this.hi.remove(d),D.La(this.bf,c)===d&&D.Ug(this.bf,c),void 0!==e&&this.pd.remove(e)));return}if("linkLabelKeys"===a.xf){d=this.Sk(a.object);D.isArray(d)&&"number"===typeof c&&(b?0>D.am(d,a.newValue)&&D.Ih(d,c,a.newValue):(c=D.am(d,a.newValue),0<=c&&D.Ug(d,c)));return}}M.prototype.Gn.call(this,a,b)};
-D.defineProperty(Y,{sA:"archetypeNodeData"},function(){return this.ql},function(a){var b=this.ql;b!==a&&(null!==a&&D.l(a,Object,Y,"archetypeNodeData"),this.ql=a,this.i("archetypeNodeData",b,a))});Y.prototype.ho=function(a){if(void 0!==a){var b=this.ql;if(null!==b){var c=this.Fe(a);null===c&&(c=this.copyNodeData(b),D.Ua(c,this.wk,a),this.Xl(c))}return a}};
-D.defineProperty(Y,{eo:"linkFromKeyProperty"},function(){return this.ii},function(a){var b=this.ii;b!==a&&(Yg(a,Y,"linkFromKeyProperty"),this.ii=a,this.i("linkFromKeyProperty",b,a))});Y.prototype.getFromKeyForLinkData=Y.prototype.qm=function(a){if(null!==a){var b=this.ii;if(""!==b&&(b=D.vb(a,b),void 0!==b)){if(Zg(b))return b;D.k("FromKey value for link data "+a+" is not a number or a string: "+b)}}};
-Y.prototype.setFromKeyForLinkData=Y.prototype.FB=function(a,b){null===b&&(b=void 0);void 0===b||Zg(b)||D.hc(b,"number or string",Y,"setFromKeyForLinkData:key");if(null!==a){var c=this.ii;if(""!==c)if(b=this.ho(b),this.Lh(a)){var d=D.vb(a,c);d!==b&&(dh(this,d,a),D.Ua(a,c,b),null===this.Fe(b)&&ch(this,b,a),Xg(this,"linkFromKey",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
-D.defineProperty(Y,{fo:"linkToKeyProperty"},function(){return this.ji},function(a){var b=this.ji;b!==a&&(Yg(a,Y,"linkToKeyProperty"),this.ji=a,this.i("linkToKeyProperty",b,a))});Y.prototype.getToKeyForLinkData=Y.prototype.rm=function(a){if(null!==a){var b=this.ji;if(""!==b&&(b=D.vb(a,b),void 0!==b)){if(Zg(b))return b;D.k("ToKey value for link data "+a+" is not a number or a string: "+b)}}};
-Y.prototype.setToKeyForLinkData=Y.prototype.LB=function(a,b){null===b&&(b=void 0);void 0===b||Zg(b)||D.hc(b,"number or string",Y,"setToKeyForLinkData:key");if(null!==a){var c=this.ji;if(""!==c)if(b=this.ho(b),this.Lh(a)){var d=D.vb(a,c);d!==b&&(dh(this,d,a),D.Ua(a,c,b),null===this.Fe(b)&&ch(this,b,a),Xg(this,"linkToKey",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
-D.defineProperty(Y,{Du:"linkFromPortIdProperty"},function(){return this.an},function(a){var b=this.an;b!==a&&(Yg(a,Y,"linkFromPortIdProperty"),a!==this.eo&&a!==this.fo||D.k("linkFromPortIdProperty name must not be the same as the GraphLinksModel.linkFromKeyProperty or linkToKeyProperty: "+a),this.an=a,this.i("linkFromPortIdProperty",b,a))});Y.prototype.getFromPortIdForLinkData=Y.prototype.NI=function(a){if(null===a)return"";var b=this.an;if(""===b)return"";a=D.vb(a,b);return void 0===a?"":a};
-Y.prototype.setFromPortIdForLinkData=Y.prototype.GB=function(a,b){D.h(b,"string",Y,"setFromPortIdForLinkData:portname");if(null!==a){var c=this.an;if(""!==c)if(this.Lh(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"linkFromPortId",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
-D.defineProperty(Y,{Fu:"linkToPortIdProperty"},function(){return this.bn},function(a){var b=this.bn;b!==a&&(Yg(a,Y,"linkToPortIdProperty"),a!==this.eo&&a!==this.fo||D.k("linkFromPortIdProperty name must not be the same as the GraphLinksModel.linkFromKeyProperty or linkToKeyProperty: "+a),this.bn=a,this.i("linkToPortIdProperty",b,a))});Y.prototype.getToPortIdForLinkData=Y.prototype.SI=function(a){if(null===a)return"";var b=this.bn;if(""===b)return"";a=D.vb(a,b);return void 0===a?"":a};
-Y.prototype.setToPortIdForLinkData=Y.prototype.MB=function(a,b){D.h(b,"string",Y,"setToPortIdForLinkData:portname");if(null!==a){var c=this.bn;if(""!==c)if(this.Lh(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"linkToPortId",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};D.defineProperty(Y,{Eu:"linkLabelKeysProperty"},function(){return this.Ig},function(a){var b=this.Ig;b!==a&&(Yg(a,Y,"linkLabelKeysProperty"),this.Ig=a,this.i("linkLabelKeysProperty",b,a))});
-Y.prototype.getLabelKeysForLinkData=Y.prototype.Sk=function(a){if(null===a)return D.Do;var b=this.Ig;if(""===b)return D.Do;a=D.vb(a,b);return void 0===a?D.Do:a};
-Y.prototype.setLabelKeysForLinkData=Y.prototype.TG=function(a,b){D.Wt(b,Y,"setLabelKeysForLinkData:arr");if(null!==a){var c=this.Ig;if(""!==c)if(this.Lh(a)){var d=D.vb(a,c);void 0===d&&(d=D.Do);if(d!==b){for(var e=D.cb(d),g=0;ge||(D.Ug(d,e),this.Lh(a)&&(dh(this,b,a),Xg(this,"linkLabelKeys",og,c,a,b,null,e,null)))}else void 0!==d&&D.k(c+" property is not an Array; cannot removeLabelKeyforLinkData: "+a)}}};
-D.defineProperty(Y,{Zg:"linkDataArray"},function(){return this.bf},function(a){var b=this.bf;if(b!==a){D.Wt(a,Y,"linkDataArray");this.pd.clear();for(var c=D.cb(a),d=0;dd)return;D.Ug(a.bf,d)}Xg(a,"linkDataArray",og,"linkDataArray",a,b,null,d,null);c=a.qm(b);dh(a,c,b);c=a.rm(b);dh(a,c,b);d=a.Sk(b);if(D.isArray(d))for(var e=D.cb(d),g=0;gD.bm(d,a.newValue)&&D.Jh(d,c,a.newValue));return}}else if(a.Jc===
+og){c=a.Tj;if("linkDataArray"===a.yf){d=a.oldValue;D.Ta(d)&&"number"===typeof c&&(e=this.fg(d),b?(this.hi.add(d),D.La(this.bf,c)!==d&&D.Jh(this.bf,c,d),void 0!==e&&this.pd.add(e,d)):(this.hi.remove(d),D.La(this.bf,c)===d&&D.Vg(this.bf,c),void 0!==e&&this.pd.remove(e)));return}if("linkLabelKeys"===a.yf){d=this.Tk(a.object);D.isArray(d)&&"number"===typeof c&&(b?0>D.bm(d,a.newValue)&&D.Jh(d,c,a.newValue):(c=D.bm(d,a.newValue),0<=c&&D.Vg(d,c)));return}}M.prototype.Gn.call(this,a,b)};
+D.defineProperty(Y,{tA:"archetypeNodeData"},function(){return this.rl},function(a){var b=this.rl;b!==a&&(null!==a&&D.l(a,Object,Y,"archetypeNodeData"),this.rl=a,this.i("archetypeNodeData",b,a))});Y.prototype.ho=function(a){if(void 0!==a){var b=this.rl;if(null!==b){var c=this.Fe(a);null===c&&(c=this.copyNodeData(b),D.Ua(c,this.xk,a),this.Yl(c))}return a}};
+D.defineProperty(Y,{eo:"linkFromKeyProperty"},function(){return this.ii},function(a){var b=this.ii;b!==a&&(Yg(a,Y,"linkFromKeyProperty"),this.ii=a,this.i("linkFromKeyProperty",b,a))});Y.prototype.getFromKeyForLinkData=Y.prototype.rm=function(a){if(null!==a){var b=this.ii;if(""!==b&&(b=D.vb(a,b),void 0!==b)){if(Zg(b))return b;D.k("FromKey value for link data "+a+" is not a number or a string: "+b)}}};
+Y.prototype.setFromKeyForLinkData=Y.prototype.FB=function(a,b){null===b&&(b=void 0);void 0===b||Zg(b)||D.ic(b,"number or string",Y,"setFromKeyForLinkData:key");if(null!==a){var c=this.ii;if(""!==c)if(b=this.ho(b),this.Mh(a)){var d=D.vb(a,c);d!==b&&(dh(this,d,a),D.Ua(a,c,b),null===this.Fe(b)&&ch(this,b,a),Xg(this,"linkFromKey",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
+D.defineProperty(Y,{fo:"linkToKeyProperty"},function(){return this.ji},function(a){var b=this.ji;b!==a&&(Yg(a,Y,"linkToKeyProperty"),this.ji=a,this.i("linkToKeyProperty",b,a))});Y.prototype.getToKeyForLinkData=Y.prototype.sm=function(a){if(null!==a){var b=this.ji;if(""!==b&&(b=D.vb(a,b),void 0!==b)){if(Zg(b))return b;D.k("ToKey value for link data "+a+" is not a number or a string: "+b)}}};
+Y.prototype.setToKeyForLinkData=Y.prototype.LB=function(a,b){null===b&&(b=void 0);void 0===b||Zg(b)||D.ic(b,"number or string",Y,"setToKeyForLinkData:key");if(null!==a){var c=this.ji;if(""!==c)if(b=this.ho(b),this.Mh(a)){var d=D.vb(a,c);d!==b&&(dh(this,d,a),D.Ua(a,c,b),null===this.Fe(b)&&ch(this,b,a),Xg(this,"linkToKey",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
+D.defineProperty(Y,{Fu:"linkFromPortIdProperty"},function(){return this.an},function(a){var b=this.an;b!==a&&(Yg(a,Y,"linkFromPortIdProperty"),a!==this.eo&&a!==this.fo||D.k("linkFromPortIdProperty name must not be the same as the GraphLinksModel.linkFromKeyProperty or linkToKeyProperty: "+a),this.an=a,this.i("linkFromPortIdProperty",b,a))});Y.prototype.getFromPortIdForLinkData=Y.prototype.OI=function(a){if(null===a)return"";var b=this.an;if(""===b)return"";a=D.vb(a,b);return void 0===a?"":a};
+Y.prototype.setFromPortIdForLinkData=Y.prototype.GB=function(a,b){D.h(b,"string",Y,"setFromPortIdForLinkData:portname");if(null!==a){var c=this.an;if(""!==c)if(this.Mh(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"linkFromPortId",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
+D.defineProperty(Y,{Hu:"linkToPortIdProperty"},function(){return this.bn},function(a){var b=this.bn;b!==a&&(Yg(a,Y,"linkToPortIdProperty"),a!==this.eo&&a!==this.fo||D.k("linkFromPortIdProperty name must not be the same as the GraphLinksModel.linkFromKeyProperty or linkToKeyProperty: "+a),this.bn=a,this.i("linkToPortIdProperty",b,a))});Y.prototype.getToPortIdForLinkData=Y.prototype.TI=function(a){if(null===a)return"";var b=this.bn;if(""===b)return"";a=D.vb(a,b);return void 0===a?"":a};
+Y.prototype.setToPortIdForLinkData=Y.prototype.MB=function(a,b){D.h(b,"string",Y,"setToPortIdForLinkData:portname");if(null!==a){var c=this.bn;if(""!==c)if(this.Mh(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"linkToPortId",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};D.defineProperty(Y,{Gu:"linkLabelKeysProperty"},function(){return this.Jg},function(a){var b=this.Jg;b!==a&&(Yg(a,Y,"linkLabelKeysProperty"),this.Jg=a,this.i("linkLabelKeysProperty",b,a))});
+Y.prototype.getLabelKeysForLinkData=Y.prototype.Tk=function(a){if(null===a)return D.Do;var b=this.Jg;if(""===b)return D.Do;a=D.vb(a,b);return void 0===a?D.Do:a};
+Y.prototype.setLabelKeysForLinkData=Y.prototype.UG=function(a,b){D.Wt(b,Y,"setLabelKeysForLinkData:arr");if(null!==a){var c=this.Jg;if(""!==c)if(this.Mh(a)){var d=D.vb(a,c);void 0===d&&(d=D.Do);if(d!==b){for(var e=D.eb(d),g=0;ge||(D.Vg(d,e),this.Mh(a)&&(dh(this,b,a),Xg(this,"linkLabelKeys",og,c,a,b,null,e,null)))}else void 0!==d&&D.k(c+" property is not an Array; cannot removeLabelKeyforLinkData: "+a)}}};
+D.defineProperty(Y,{$g:"linkDataArray"},function(){return this.bf},function(a){var b=this.bf;if(b!==a){D.Wt(a,Y,"linkDataArray");this.pd.clear();for(var c=D.eb(a),d=0;dd)return;D.Vg(a.bf,d)}Xg(a,"linkDataArray",og,"linkDataArray",a,b,null,d,null);c=a.rm(b);dh(a,c,b);c=a.sm(b);dh(a,c,b);d=a.Tk(b);if(D.isArray(d))for(var e=D.eb(d),g=0;ga.Vh&&D.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Vh;d&&b&&a.rd("CommittingTransaction",c,a.Cj);var e=0;if(0a.Hj;e--)g=d.ea(e),null!==g&&g.clear(),
-d.jd(e),a.Nz=!0;e=a.fG;0===e&&(e=1);0=e&&(g=d.ea(0),null!==g&&g.clear(),d.jd(0),a.sh--);d.add(b);a.sh++;d.freeze();g=b}a.rd("CommittedTransaction",c,g)}else{a.aj=!0;try{a.isEnabled&&null!==g&&(g.uu=!0,g.undo())}finally{a.rd("RolledBackTransaction",c,g),a.aj=!1}null!==g&&g.clear()}a.Kv=null;return!0}if(a.isEnabled&&!b&&null!==g){a=e;c=g.bg;for(b=c.count-1;b>=a;b--)d=c.ea(b),null!==d&&d.undo(),c.Ya(),c.jd(b);c.freeze()}return!1}
-pg.prototype.canUndo=pg.prototype.canUndo=function(){if(!this.isEnabled||0=this.Vh&&!this.Dz&&(a=a.g,null!==a&&!1===a.$n||D.trace("Change not within a transaction: "+c.toString()))}};
-pg.prototype.skipsEvent=function(a){if(null===a||0>a.Jc.value)return!0;a=a.object;if(a instanceof P){if(a=a.layer,null!==a&&a.Uc)return!0}else if(a instanceof Ug&&a.Uc)return!0;return!1};D.w(pg,{LJ:"models"},function(){return this.Sz.j});D.defineProperty(pg,{isEnabled:"isEnabled"},function(){return this.mf},function(a){this.mf=a});D.w(pg,{hH:"transactionToUndo"},function(){return 0<=this.Hj&&this.Hj<=this.history.count-1?this.history.ea(this.Hj):null});
-D.w(pg,{gH:"transactionToRedo"},function(){return this.Hja.Wh&&D.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Wh;d&&b&&a.rd("CommittingTransaction",c,a.Cj);var e=0;if(0a.Hj;e--)g=d.ea(e),null!==g&&g.clear(),
+d.jd(e),a.Oz=!0;e=a.gG;0===e&&(e=1);0=e&&(g=d.ea(0),null!==g&&g.clear(),d.jd(0),a.th--);d.add(b);a.th++;d.freeze();g=b}a.rd("CommittedTransaction",c,g)}else{a.aj=!0;try{a.isEnabled&&null!==g&&(g.wu=!0,g.undo())}finally{a.rd("RolledBackTransaction",c,g),a.aj=!1}null!==g&&g.clear()}a.Mv=null;return!0}if(a.isEnabled&&!b&&null!==g){a=e;c=g.cg;for(b=c.count-1;b>=a;b--)d=c.ea(b),null!==d&&d.undo(),c.Ya(),c.jd(b);c.freeze()}return!1}
+pg.prototype.canUndo=pg.prototype.canUndo=function(){if(!this.isEnabled||0=this.Wh&&!this.Ez&&(a=a.g,null!==a&&!1===a.$n||D.trace("Change not within a transaction: "+c.toString()))}};
+pg.prototype.skipsEvent=function(a){if(null===a||0>a.Jc.value)return!0;a=a.object;if(a instanceof P){if(a=a.layer,null!==a&&a.Uc)return!0}else if(a instanceof Ug&&a.Uc)return!0;return!1};D.w(pg,{MJ:"models"},function(){return this.Tz.j});D.defineProperty(pg,{isEnabled:"isEnabled"},function(){return this.nf},function(a){this.nf=a});D.w(pg,{iH:"transactionToUndo"},function(){return 0<=this.Hj&&this.Hj<=this.history.count-1?this.history.ea(this.Hj):null});
+D.w(pg,{hH:"transactionToRedo"},function(){return this.Hjb.Ph||(b.scale=a))};oa.prototype.canDecreaseZoom=function(a){void 0===a&&(a=1/this.Oy);D.p(a,oa,"canDecreaseZoom:factor");var b=this.g;if(null===b||b.bm!==Rh)return!1;a*=b.scale;return ab.Ph?!1:b.sx};
-oa.prototype.increaseZoom=function(a){void 0===a&&(a=this.Oy);D.p(a,oa,"increaseZoom:factor");var b=this.g;null!==b&&b.bm===Rh&&(a*=b.scale,ab.Ph||(b.scale=a))};oa.prototype.canIncreaseZoom=function(a){void 0===a&&(a=this.Oy);D.p(a,oa,"canIncreaseZoom:factor");var b=this.g;if(null===b||b.bm!==Rh)return!1;a*=b.scale;return ab.Ph?!1:b.sx};oa.prototype.resetZoom=function(a){void 0===a&&(a=this.Bx);D.p(a,oa,"resetZoom:newscale");var b=this.g;null===b||ab.Ph||(b.scale=a)};
-oa.prototype.canResetZoom=function(a){void 0===a&&(a=this.Bx);D.p(a,oa,"canResetZoom:newscale");var b=this.g;return null===b||ab.Ph?!1:b.sx};oa.prototype.zoomToFit=function(){var a=this.g;if(null!==a){var b=a.scale,c=a.position;b===this.oA&&!isNaN(this.Oz)&&a.dd.P(this.nA)?(a.scale=this.Oz,a.position=this.vD,this.oA=NaN,this.nA=Hd):(this.Oz=b,this.vD=c.copy(),a.zoomToFit(),this.oA=a.scale,this.nA=a.dd.copy())}};oa.prototype.canZoomToFit=function(){var a=this.g;return null===a?!1:a.sx};
-oa.prototype.scrollToPart=function(a){void 0===a&&(a=null);null!==a&&D.l(a,F,oa,"part");var b=this.g;if(null!==b){if(null===a){try{null!==this.rj&&(this.rj.next()?a=this.rj.value:this.rj=null)}catch(c){this.rj=null}null===a&&(0b.Qh||(b.scale=a))};oa.prototype.canDecreaseZoom=function(a){void 0===a&&(a=1/this.Py);D.p(a,oa,"canDecreaseZoom:factor");var b=this.g;if(null===b||b.cm!==Rh)return!1;a*=b.scale;return ab.Qh?!1:b.ux};
+oa.prototype.increaseZoom=function(a){void 0===a&&(a=this.Py);D.p(a,oa,"increaseZoom:factor");var b=this.g;null!==b&&b.cm===Rh&&(a*=b.scale,ab.Qh||(b.scale=a))};oa.prototype.canIncreaseZoom=function(a){void 0===a&&(a=this.Py);D.p(a,oa,"canIncreaseZoom:factor");var b=this.g;if(null===b||b.cm!==Rh)return!1;a*=b.scale;return ab.Qh?!1:b.ux};oa.prototype.resetZoom=function(a){void 0===a&&(a=this.Dx);D.p(a,oa,"resetZoom:newscale");var b=this.g;null===b||ab.Qh||(b.scale=a)};
+oa.prototype.canResetZoom=function(a){void 0===a&&(a=this.Dx);D.p(a,oa,"canResetZoom:newscale");var b=this.g;return null===b||ab.Qh?!1:b.ux};oa.prototype.zoomToFit=function(){var a=this.g;if(null!==a){var b=a.scale,c=a.position;b===this.pA&&!isNaN(this.Pz)&&a.dd.P(this.oA)?(a.scale=this.Pz,a.position=this.vD,this.pA=NaN,this.oA=Hd):(this.Pz=b,this.vD=c.copy(),a.zoomToFit(),this.pA=a.scale,this.oA=a.dd.copy())}};oa.prototype.canZoomToFit=function(){var a=this.g;return null===a?!1:a.ux};
+oa.prototype.scrollToPart=function(a){void 0===a&&(a=null);null!==a&&D.l(a,F,oa,"part");var b=this.g;if(null!==b){if(null===a){try{null!==this.rj&&(this.rj.next()?a=this.rj.value:this.rj=null)}catch(c){this.rj=null}null===a&&(0e||Math.abs(b.y-a.y)>d};D.w(Vg,{g:"diagram"},function(){return this.ba});D.defineProperty(Vg,{name:"name"},function(){return this.Xb},function(a){D.h(a,"string",Vg,"name");this.Xb=a});
-D.defineProperty(Vg,{isEnabled:"isEnabled"},function(){return this.mf},function(a){D.h(a,"boolean",Vg,"isEnabled");this.mf=a});D.defineProperty(Vg,{wa:"isActive"},function(){return this.iD},function(a){D.h(a,"boolean",Vg,"isActive");this.iD=a});D.defineProperty(Vg,{Qf:"transactionResult"},function(){return this.tE},function(a){null!==a&&D.h(a,"string",Vg,"transactionResult");this.tE=a});
-function Qh(){Vg.call(this);0e||Math.abs(b.y-a.y)>d};D.w(Vg,{g:"diagram"},function(){return this.ba});D.defineProperty(Vg,{name:"name"},function(){return this.Yb},function(a){D.h(a,"string",Vg,"name");this.Yb=a});
+D.defineProperty(Vg,{isEnabled:"isEnabled"},function(){return this.nf},function(a){D.h(a,"boolean",Vg,"isEnabled");this.nf=a});D.defineProperty(Vg,{wa:"isActive"},function(){return this.iD},function(a){D.h(a,"boolean",Vg,"isActive");this.iD=a});D.defineProperty(Vg,{Rf:"transactionResult"},function(){return this.tE},function(a){null!==a&&D.h(a,"string",Vg,"transactionResult");this.tE=a});
+function Qh(){Vg.call(this);0e&&(e=k),l>g&&(g=l))}}Infinity===c?b.n(0,0,0,0):b.n(c,d,e-c,g-d)}
-function Oi(a,b){if(null===a.jc){var c=a.g;if(!(null===c||b&&(c.nb||c.Gf))&&null!==a.fc){var d=c.ra;d.isEnabled&&d.UF?null!==d.Cj&&0c.ta)){var d=a.g;if(null!==d&&!d.nb){var e=a.pj;if(null!==e){var g=null,h=null;null===c.aa&&(g=Yi(a,c.m(0),!1),null!==g&&(h=g.Y));var k=null,l=null;null===c.da&&(k=Yi(a,c.m(c.ta-1),!0),null!==k&&(l=k.Y));e.isValidLink(h,g,l,k)?b?(c.gq=c.m(0),c.hq=c.m(c.ta-1),c.zm=!1,c.aa=h,null!==g&&(c.dg=g.ud),c.da=l,null!==k&&(c.jh=k.ud),c.Lc!==a.zw&&d.Ja("LinkRelinked",c,a.zw),c.kd!==a.Aw&&d.Ja("LinkRelinked",c,a.Aw)):Zi(e,h,g,l,k):Zi(e,null,null,null,null)}}}}
+function Oi(a,b){if(null===a.kc){var c=a.g;if(!(null===c||b&&(c.ob||c.Hf))&&null!==a.fc){var d=c.ra;d.isEnabled&&d.VF?null!==d.Cj&&0c.ta)){var d=a.g;if(null!==d&&!d.ob){var e=a.pj;if(null!==e){var g=null,h=null;null===c.aa&&(g=Yi(a,c.m(0),!1),null!==g&&(h=g.Y));var k=null,l=null;null===c.da&&(k=Yi(a,c.m(c.ta-1),!0),null!==k&&(l=k.Y));e.isValidLink(h,g,l,k)?b?(c.gq=c.m(0),c.hq=c.m(c.ta-1),c.Am=!1,c.aa=h,null!==g&&(c.eg=g.ud),c.da=l,null!==k&&(c.kh=k.ud),c.Lc!==a.Bw&&d.Ja("LinkRelinked",c,a.Bw),c.kd!==a.Cw&&d.Ja("LinkRelinked",c,a.Cw)):Zi(e,h,g,l,k):Zi(e,null,null,null,null)}}}}
Qh.prototype.doDragOver=function(){};
-function $i(a,b){var c=a.g;if(null!==c){a.Ej&&Vi(a,!0);Ei(a);var d=Wi(c,b,null,function(b){return!Ti(a,b)}),e=c.U;e.We=d;if(null!==d){e.Mc=!1;for(var g=d;null!==g;){var h=g.lB;if(null!==h&&(h(e,g),e.Mc))break;g=Xi(g)}}else g=c.lB,null!==g&&g(e);if(a.wa||null!==Zh){for(e=(a.jc||a.fc).j;e.next();)g=e.key,g instanceof G&&g.Hd.each(function(a){a.zm=!1});a.doDropOnto(b,d);if(a.wa||null!==Zh){d=D.Of();for(e=c.selection.j;e.next();)g=e.value,g instanceof G&&aj(c,g.getAvoidableRect(d));D.Kb(d)}}}}
-Qh.prototype.doDropOnto=function(){};Qh.prototype.doMouseMove=function(){if(this.wa){var a=this.g;if(null!==a&&null!==this.Nn&&null!==this.fc){var b=!1,c=!1;this.mayCopy()?(b=!0,a.kc="copy",Oi(this,!1),Yh(this,this.jc),Pi(this,this.jc,!1),Fi(this,this.jc)):this.mayMove()?(c=!0,a.kc="default",Ii(this),Pi(this,this.fc,!0)):this.mayDragOut()?(a.kc="no-drop",Oi(this,!1),Pi(this,this.jc,!1)):Ii(this);Ui(this,a.U.ha,c,b)}}};
-Qh.prototype.doMouseUp=function(){if(this.wa){var a=this.g;if(null!==a){var b=!1,c=this.mayCopy();c&&null!==this.jc?(Ii(this),Oi(this,!0),Yh(this,this.jc),Pi(this,this.jc,!1),Fi(this,this.jc),null!==this.jc&&a.OG(this.jc.Yj())):(b=!0,Ii(this),this.mayMove()&&(Pi(this,this.fc,!0),Ui(this,a.U.ha,!0,!1)));this.Lr=!0;$i(this,a.U.ha);if(this.wa){this.jc=null;if(b&&null!==this.fc)for(b=this.fc.j;b.next();){var d=b.key;d instanceof G&&(d=d.Ra,null===d||null===d.placeholder||this.fc.contains(d)||d.placeholder.K())}a.zc();
-Fi(this,this.fc);this.Qf=c?"Copy":"Move";a.Ja(c?"SelectionCopied":"SelectionMoved",a.selection)}this.stopTool()}}};Qh.prototype.mayCopy=function(){if(!this.PF)return!1;var a=this.g;if(null===a||a.nb||a.Gf||!a.Zp||!a.Kk||(D.Wk?!a.U.alt:!a.U.control))return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.oe()&&b.canCopy())return!0}return null!==this.sd&&this.Ej&&this.sd.canCopy()?!0:!1};
-Qh.prototype.mayDragOut=function(){if(!this.PF)return!1;var a=this.g;if(null===a||!a.Tt||!a.Kk||a.Zl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.oe()&&b.canCopy())return!0}return null!==this.sd&&this.Ej&&this.sd.canCopy()?!0:!1};Qh.prototype.mayMove=function(){var a=this.g;if(null===a||a.nb||!a.Zl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.oe()&&b.canMove())return!0}return null!==this.sd&&this.Ej&&this.sd.canMove()?!0:!1};var Gi=new K(Qh),Zh=null,$h=null;
-Qh.prototype.getDraggingSource=function(){return Zh};Qh.prototype.mayDragIn=function(){var a=this.g;if(null===a||!a.HE||a.nb||a.Gf||!a.Zp)return!1;var b=Zh;return null===b||null===b.g||b.g.ga.gm!==a.ga.gm?!1:!0};Qh.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.g;a.Xa.Hi();bj(a);a=Zh;null!==a&&null!==a.g&&(a.g.kc="copy")}};Qh.prototype.doSimulatedDragLeave=function(){var a=Zh;null!==a&&a.doSimulatedDragOut();this.doCancel()};
-Qh.prototype.doSimulatedDragOver=function(){var a=this.g;if(null!==a){var b=Zh;null!==b&&null!==b.fc&&this.mayDragIn()&&(a.kc="copy",cj(this,b.fc.Yj(),!1),Pi(this,this.jc,!1),Ui(this,a.U.ha,!1,!0))}};
-Qh.prototype.doSimulatedDrop=function(){var a=this.g;if(null!==a){var b=Zh;if(null!==b){var c=b.g;b.Lr=!0;Ii(this);this.mayDragIn()&&(this.ac("Drop"),cj(this,b.fc.Yj(),!0),Pi(this,this.jc,!1),null!==this.jc&&a.OG(this.jc.Yj()),$i(this,a.U.ha),a.zc(),b=a.selection,null!==this.jc?this.Qf="ExternalCopy":b=new L(F),this.jc=null,a.doFocus(),a.Ja("ExternalObjectsDropped",b,c),this.dl())}}};
-function cj(a,b,c){if(null===a.jc){var d=a.g;if(null!==d&&!d.nb&&!d.Gf){d.Eb=!c;d.ar=!c;a.cl=d.U.ha;c=d.fq(b,d,!0);var e=D.Of();Ni(b,e);var d=e.x+e.width/2,g=e.y+e.height/2;D.Kb(e);var e=a.Ww,h=new ma(F),k=D.O();for(b=b.j;b.next();){var l=b.value,m=c.na(l);l.oe()&&l.canCopy()?(l=l.location,k.n(e.x-(d-l.x),e.y-(g-l.y)),m.location=k,m.hf(),h.add(m,pi(k))):l instanceof J&&l.canCopy()&&(m.$k(e.x-d,e.y-g),h.add(m,pi()))}D.A(k);a.jc=h;Xh(a,h.Yj());null!==a.sd&&(c=a.sd,d=c.ro,c.$k(a.cl.x-(d.x+d.width/2),
-a.cl.y-(d.y+d.height/2)))}}}Qh.prototype.doSimulatedDragOut=function(){var a=this.g;null!==a&&(this.mayCopy()||this.mayMove()?a.kc="":a.kc="no-drop")};function Ci(a){this.point=a;this.UG=Gd}D.ja("DraggingInfo",Ci);function Qi(a,b,c){this.Wc=a;this.info=b;this.VI=c}
-function dj(){0=d&&(d=.1);for(var e=this,g=b.Qn(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.Y;if(k instanceof G){var l=h.eb(hc,D.O()),m=c.x-l.x,n=c.y-l.y;D.A(l);l=m*m+n*n;lc){if(null!==this.sc&&a===this.ah&&b===this.bh)return!0;var d=b.ud;null===d&&(d="");if(a.Jx(d).count>=c)return!1}return!0};
-dj.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.yq;if(null!==this.g&&this.g.gb===this&&(null!==a.layer&&!a.layer.Ut||!0!==b.cH))return!1;var c=b.xK;if(Infinity>c){if(null!==this.sc&&a===this.dh&&b===this.eh)return!0;var d=b.ud;null===d&&(d="");if(a.Xg(d).count>=c)return!1}return!0};dj.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.Y,d=b.Y;return null!==c&&c===d};
-dj.prototype.isLinked=function(a,b){if(null===a||null===b)return!1;var c=a.Y;if(!(c instanceof G))return!1;var d=a.ud;null===d&&(d="");var e=b.Y;if(!(e instanceof G))return!1;var g=b.ud;null===g&&(g="");for(e=e.Xg(g);e.next();)if(g=e.value,g.aa===c&&g.dg===d)return!0;return!1};
-dj.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.KI&&d.wK||!this.isInSameNode(b,d))&&(b.JI&&d.vK||!this.isLinked(b,d)))||null!==this.sc&&(null!==a&&this.isLabelDependentOnLink(a,this.sc)||null!==c&&this.isLabelDependentOnLink(c,this.sc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.sc))return!1;if(null!==a){var e=a.iy;if(null!==e&&!e(a,b,c,d,this.sc))return!1}if(null!==
-c&&(e=c.iy,null!==e&&!e(a,b,c,d,this.sc)))return!1;e=this.iy;return null!==e?e(a,b,c,d,this.sc):!0};dj.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Ac;if(null===c)return!1;if(c===b)return!0;var d=new L(G);d.add(a);return ej(this,c,b,d)};function ej(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.uf&&(d.add(e),ej(a,e.Ac,c,d)))return!0;b=b.da;return null!==b&&b.uf&&(d.add(b),ej(a,b.Ac,c,d))?!0:!1}
-dj.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.yq;var d=null!==this.g?this.g.DK:fj;if(d!==fj){if(d===gj){if(null!==c&&!c.Vc)return!0;for(d=b.Hd;d.next();){var e=d.value;if(e!==c&&e.Vc&&e.da===b)return!1}return!hj(this,a,b,c,!0)}if(d===ij){if(null!==c&&!c.Vc)return!0;for(d=a.Hd;d.next();)if(e=d.value,e!==c&&e.Vc&&e.aa===a)return!1;return!hj(this,a,b,c,!0)}if(d===jj)return a===b?a=!0:(d=new L(G),d.add(b),a=kj(this,d,a,b,c)),!a;if(d===lj)return!hj(this,
+D.defineProperty(dj,{bh:"originalFromNode"},function(){return this.MD},function(a){null!==a&&D.l(a,G,dj,"originalFromNode");this.MD=a});D.defineProperty(dj,{dh:"originalFromPort"},function(){return this.ND},function(a){null!==a&&D.l(a,P,dj,"originalFromPort");this.ND=a});D.defineProperty(dj,{eh:"originalToNode"},function(){return this.RD},function(a){null!==a&&D.l(a,G,dj,"originalToNode");this.RD=a});
+D.defineProperty(dj,{fh:"originalToPort"},function(){return this.SD},function(a){null!==a&&D.l(a,P,dj,"originalToPort");this.SD=a});D.defineProperty(dj,{Yd:"isForwards"},function(){return this.pD},function(a){D.h(a,"boolean",dj,"isForwards");this.pD=a});D.w(dj,{Ny:"validPortsCache"},function(){return this.IH});D.defineProperty(dj,{Of:"targetPort"},function(){return this.hE},function(a){null!==a&&D.l(a,P,dj,"targetPort");this.hE=a});
+dj.prototype.copyPortProperties=function(a,b,c,d,e){if(null!==a&&null!==b&&null!==c&&null!==d){d.Ea=b.$.size;e?(d.Hb=b.Hb,d.Em=b.Em):(d.Gb=b.Gb,d.pm=b.pm);c.Mf=hc;var g=D.O();c.location=b.fb(hc,g);D.A(g);d.angle=b.qm();null!==this.vy&&this.vy(a,b,c,d,e)}};dj.prototype.setNoTargetPortProperties=function(a,b,c){null!==b&&(b.Ea=Yd,b.Gb=$b,b.Hb=$b);null!==a&&null!==this.g&&(a.location=this.g.U.ha);null!==this.vy&&this.vy(null,null,a,b,c)};dj.prototype.doMouseDown=function(){this.wa&&this.doMouseMove()};
+dj.prototype.doMouseMove=function(){if(this.wa){var a=this.g;if(null!==a){this.Of=this.findTargetPort(this.Yd);if(null!==this.Of&&this.Of.Y instanceof G){var b=this.Of.Y;this.Yd?this.copyPortProperties(b,this.Of,this.be,this.yo,!0):this.copyPortProperties(b,this.Of,this.ae,this.xo,!1)}else this.Yd?this.setNoTargetPortProperties(this.be,this.yo,!0):this.setNoTargetPortProperties(this.ae,this.xo,!1);(a.ye||a.ze)&&a.GA(a.U.qe)}}};
+dj.prototype.findValidLinkablePort=function(a,b){if(null===a)return null;var c=a.Y;if(!(c instanceof G))return null;for(;null!==a;){var d=b?a.dH:a.vF;if(!0===d&&(null!==a.ud||a instanceof G)&&(b?this.isValidTo(c,a):this.isValidFrom(c,a)))return a;if(!1===d)break;a=a.Q}return null};
+dj.prototype.findTargetPort=function(a){var b=this.g,c=b.U.ha,d=this.tG;0>=d&&(d=.1);for(var e=this,g=b.Qn(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.Y;if(k instanceof G){var l=h.fb(hc,D.O()),m=c.x-l.x,n=c.y-l.y;D.A(l);l=m*m+n*n;lc){if(null!==this.sc&&a===this.bh&&b===this.dh)return!0;var d=b.ud;null===d&&(d="");if(a.Lx(d).count>=c)return!1}return!0};
+dj.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.yq;if(null!==this.g&&this.g.hb===this&&(null!==a.layer&&!a.layer.Ut||!0!==b.dH))return!1;var c=b.yK;if(Infinity>c){if(null!==this.sc&&a===this.eh&&b===this.fh)return!0;var d=b.ud;null===d&&(d="");if(a.Yg(d).count>=c)return!1}return!0};dj.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.Y,d=b.Y;return null!==c&&c===d};
+dj.prototype.isLinked=function(a,b){if(null===a||null===b)return!1;var c=a.Y;if(!(c instanceof G))return!1;var d=a.ud;null===d&&(d="");var e=b.Y;if(!(e instanceof G))return!1;var g=b.ud;null===g&&(g="");for(e=e.Yg(g);e.next();)if(g=e.value,g.aa===c&&g.eg===d)return!0;return!1};
+dj.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.LI&&d.xK||!this.isInSameNode(b,d))&&(b.KI&&d.wK||!this.isLinked(b,d)))||null!==this.sc&&(null!==a&&this.isLabelDependentOnLink(a,this.sc)||null!==c&&this.isLabelDependentOnLink(c,this.sc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.sc))return!1;if(null!==a){var e=a.jy;if(null!==e&&!e(a,b,c,d,this.sc))return!1}if(null!==
+c&&(e=c.jy,null!==e&&!e(a,b,c,d,this.sc)))return!1;e=this.jy;return null!==e?e(a,b,c,d,this.sc):!0};dj.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Ac;if(null===c)return!1;if(c===b)return!0;var d=new L(G);d.add(a);return ej(this,c,b,d)};function ej(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.vf&&(d.add(e),ej(a,e.Ac,c,d)))return!0;b=b.da;return null!==b&&b.vf&&(d.add(b),ej(a,b.Ac,c,d))?!0:!1}
+dj.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.yq;var d=null!==this.g?this.g.EK:fj;if(d!==fj){if(d===gj){if(null!==c&&!c.Vc)return!0;for(d=b.Hd;d.next();){var e=d.value;if(e!==c&&e.Vc&&e.da===b)return!1}return!hj(this,a,b,c,!0)}if(d===ij){if(null!==c&&!c.Vc)return!0;for(d=a.Hd;d.next();)if(e=d.value,e!==c&&e.Vc&&e.aa===a)return!1;return!hj(this,a,b,c,!0)}if(d===jj)return a===b?a=!0:(d=new L(G),d.add(b),a=kj(this,d,a,b,c)),!a;if(d===lj)return!hj(this,
a,b,c,!1);if(d===mj)return a===b?a=!0:(d=new L(G),d.add(b),a=nj(this,d,a,b,c)),!a}return!0};function hj(a,b,c,d,e){if(b===c)return!0;if(null===b||null===c)return!1;for(var g=b.Hd;g.next();){var h=g.value;if(h!==d&&(!e||h.Vc)&&h.da===b&&(h=h.aa,h!==b&&hj(a,h,c,d,e)))return!0}return!1}function kj(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.Hd;g.next();){var h=g.value;if(h!==e&&h.da===c&&(h=h.aa,h!==c&&kj(a,b,h,d,e)))return!0}return!1}
-function nj(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.Hd;g.next();){var h=g.value;if(h!==e){var k=h.aa,h=h.da,k=k===c?h:k;if(k!==c&&nj(a,b,k,d,e))return!0}}return!1}D.defineProperty(dj,{iy:"linkValidation"},function(){return this.Il},function(a){null!==a&&D.h(a,"function",dj,"linkValidation");this.Il=a});D.defineProperty(dj,{uy:"portTargeted"},function(){return this.VD},function(a){null!==a&&D.h(a,"function",dj,"portTargeted");this.VD=a});
-function ra(){0b.iu+1&&cb.iu+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?
-"ne-resize":"e-resize"}else if(a instanceof x)for(c=a.elements;c.next();)this.updateResizeHandles(c.value,b)};D.defineProperty(Uj,{qu:"handleArchetype"},function(){return this.xl},function(a){null!==a&&D.l(a,P,Uj,"handleArchetype");this.xl=a});D.w(Uj,{handle:"handle"},function(){return this.nc});D.defineProperty(Uj,{zb:"adornedObject"},function(){return this.Qc},function(a){null!==a&&D.l(a,P,Uj,"adornedObject");this.Qc=a});
-Uj.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.g;return null!==a&&!a.nb&&a.Vt&&a.U.left?null!==this.findToolHandleAt(a.Kc.ha,this.name):!1};
-Uj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.nc=this.findToolHandleAt(a.Kc.ha,this.name),null!==this.nc&&(this.Qc=this.nc.Y.zb,this.Ep.set(this.zb.eb(this.handle.alignment.nG())),this.QD.set(this.Qc.Y.location),this.LD.set(this.Qc.Ea),this.zz=this.computeCellSize(),this.Bz=this.computeMinSize(),this.Az=this.computeMaxSize(),a.jf=!0,this.HD=a.Xa.isEnabled,a.Xa.isEnabled=!1,this.ac(this.name),this.wa=!0))};
-Uj.prototype.doDeactivate=function(){var a=this.g;null!==a&&(this.dl(),this.Qc=this.nc=null,this.wa=a.jf=!1,a.Xa.isEnabled=this.HD)};Uj.prototype.doCancel=function(){null!==this.zb&&(this.zb.Ea=this.oG,this.zb.Y.location=this.SJ);this.stopTool()};Uj.prototype.doMouseMove=function(){var a=this.g;if(this.wa&&null!==a){var b=this.Bz,c=this.Az,d=this.zz,e=this.zb.xF(a.U.ha,D.O()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);a.hg();D.A(e)}};
-Uj.prototype.doMouseUp=function(){var a=this.g;if(this.wa&&null!==a){var b=this.Bz,c=this.Az,d=this.zz,e=this.zb.xF(a.U.ha,D.O()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);D.A(e);a.zc();this.Qf=this.name;a.Ja("PartResized",this.zb,this.oG)}this.stopTool()};
-Uj.prototype.resize=function(a){if(null!==this.g){var b=this.zb,c=b.Y;b.Ea=a.size;c.hf();a=this.zb.eb(this.handle.alignment.nG());c instanceof I?(a=c.position.copy().wo(a).add(this.Ep),c.move(a)):c.location=c.location.copy().wo(a).add(this.Ep)}};
+"ne-resize":"e-resize"}else if(a instanceof x)for(c=a.elements;c.next();)this.updateResizeHandles(c.value,b)};D.defineProperty(Uj,{su:"handleArchetype"},function(){return this.yl},function(a){null!==a&&D.l(a,P,Uj,"handleArchetype");this.yl=a});D.w(Uj,{handle:"handle"},function(){return this.oc});D.defineProperty(Uj,{zb:"adornedObject"},function(){return this.Qc},function(a){null!==a&&D.l(a,P,Uj,"adornedObject");this.Qc=a});
+Uj.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.g;return null!==a&&!a.ob&&a.Vt&&a.U.left?null!==this.findToolHandleAt(a.Kc.ha,this.name):!1};
+Uj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.oc=this.findToolHandleAt(a.Kc.ha,this.name),null!==this.oc&&(this.Qc=this.oc.Y.zb,this.Ep.set(this.zb.fb(this.handle.alignment.oG())),this.QD.set(this.Qc.Y.location),this.LD.set(this.Qc.Ea),this.Az=this.computeCellSize(),this.Cz=this.computeMinSize(),this.Bz=this.computeMaxSize(),a.kf=!0,this.HD=a.Xa.isEnabled,a.Xa.isEnabled=!1,this.ac(this.name),this.wa=!0))};
+Uj.prototype.doDeactivate=function(){var a=this.g;null!==a&&(this.el(),this.Qc=this.oc=null,this.wa=a.kf=!1,a.Xa.isEnabled=this.HD)};Uj.prototype.doCancel=function(){null!==this.zb&&(this.zb.Ea=this.pG,this.zb.Y.location=this.TJ);this.stopTool()};Uj.prototype.doMouseMove=function(){var a=this.g;if(this.wa&&null!==a){var b=this.Cz,c=this.Bz,d=this.Az,e=this.zb.yF(a.U.ha,D.O()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);a.ig();D.A(e)}};
+Uj.prototype.doMouseUp=function(){var a=this.g;if(this.wa&&null!==a){var b=this.Cz,c=this.Bz,d=this.Az,e=this.zb.yF(a.U.ha,D.O()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);D.A(e);a.zc();this.Rf=this.name;a.Ja("PartResized",this.zb,this.pG)}this.stopTool()};
+Uj.prototype.resize=function(a){if(null!==this.g){var b=this.zb,c=b.Y;b.Ea=a.size;c.jf();a=this.zb.fb(this.handle.alignment.oG());c instanceof I?(a=c.position.copy().wo(a).add(this.Ep),c.move(a)):c.location=c.location.copy().wo(a).add(this.Ep)}};
Uj.prototype.computeResize=function(a,b,c,d,e,g){b.Zd()&&(b=hc);var h=this.zb.Ga,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=D.O();fb(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)));D.A(q);return a};Uj.prototype.computeReshape=function(){var a=Xj;this.zb instanceof z&&(a=Yj(this.zb));return!(a===Zj||a===ak||null!==this.g&&this.g.U.shift)};Uj.prototype.computeMinSize=function(){var a=this.zb.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};
-Uj.prototype.computeMaxSize=function(){var a=this.zb.kf.copy(),b=this.kf;!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};D.defineProperty(bk,{oK:"snapAngleMultiple"},function(){return this.aE},function(a){D.h(a,"number",bk,"snapAngleMultiple");this.aE=a});
-D.defineProperty(bk,{nK:"snapAngleEpsilon"},function(){return this.$D},function(a){D.h(a,"number",bk,"snapAngleEpsilon");this.$D=a});D.w(bk,{gM:"originalAngle"},function(){return this.Bw});function dk(){Vg.call(this);0a.width&&(a.width=b.width);!isNaN(b.height)&&b.height>a.height&&(a.height=b.height);return a};
+Uj.prototype.computeMaxSize=function(){var a=this.zb.lf.copy(),b=this.lf;!isNaN(b.width)&&b.widtha&&(a+=360));var b=Math.min(Math.abs(this.pK),180),c=Math.min(Math.abs(this.oK),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};D.defineProperty(bk,{pK:"snapAngleMultiple"},function(){return this.aE},function(a){D.h(a,"number",bk,"snapAngleMultiple");this.aE=a});
+D.defineProperty(bk,{oK:"snapAngleEpsilon"},function(){return this.$D},function(a){D.h(a,"number",bk,"snapAngleEpsilon");this.$D=a});D.w(bk,{iM:"originalAngle"},function(){return this.Dw});function dk(){Vg.call(this);0e.right&&(c.x-=d.width+5);c.xe.bottom&&(c.y-=d.height+5);c.ye.right&&(c.x-=d.width+5);c.xe.bottom&&(c.y-=d.height+5);c.ya.U.Oe?!1:!0};ok.prototype.doStart=function(){this.wa||null===this.ih||this.doActivate()};
-ok.prototype.doActivate=function(){if(!this.wa){var a=this.g;if(null!==a){var b=this.ih;null===b&&(b=a.Ge(a.U.ha,function(a){return a instanceof na?a:null}));if(null!==b&&(this.ih=b,null!==b.Y)){this.wa=!0;this.$a=xk;var c=this.rI;null!==b.bH&&(c=b.bH);this.Ck=this.ih.copy();var d=new B(this.ih.eb(dc),this.ih.eb(uc));a.hK(d);if(c instanceof fk)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.Fy&&(c.select(),c.setSelectionRange(0,9999));a.Dj.appendChild(c)}this.Bj=c}}}};ok.prototype.doCancel=function(){null!==this.Nl&&this.Bj instanceof HTMLElement&&(this.Bj.style.border=this.Nl,this.Nl=null);this.stopTool()};ok.prototype.doMouseUp=function(){!this.wa&&this.canStart()&&this.doActivate()};ok.prototype.doMouseDown=function(){this.wa&&this.acceptText(tk)};
-ok.prototype.acceptText=function(a){switch(a){case tk:if(this.$a===Bk)this.Bj instanceof HTMLElement&&this.Bj.focus();else if(this.$a===xk||this.$a===Ak||this.$a===yk)this.$a=zk,Ek(this);break;case sk:case vk:case uk:if(vk===a&&!0===this.hA.Zx)break;if(this.$a===xk||this.$a===Ak||this.$a===yk)this.$a=zk,Ek(this)}};
-function Ek(a){var b=a.ih,c=a.g,d=a.Bj;if(null!==b&&null!==d){var e=b.text,g="";d instanceof fk?null!==d.bC&&(g=d.bC()):(g=d.value,g="function"===typeof g?g():g);a.isValidText(b,e,g)?(a.ac(a.name),a.$a=Bk,d instanceof fk?d.show(b,c,a):null!==a.Nl&&(d.style.border=a.Nl,a.Nl=null),a.Qf=a.name,b.text=g,null!==b.aH&&b.aH(b,e,g),null!==c&&c.Ja("TextEdited",b,e),a.dl(),a.stopTool(),null!==c&&c.doFocus()):(a.$a=Ak,null!==b.KA&&b.KA(a,e,g),d instanceof fk?d.show(b,c,a):(null===a.Nl&&(a.Nl=d.style.border,
-d.style.border="3px solid red"),"function"===typeof d.focus&&d.focus()))}}ok.prototype.doDeactivate=function(){var a=this.g;if(null!==a){this.$a=qk;this.ih=null;if(null!==this.Bj){var b=this.Bj;if(b instanceof fk)b.Xn(a,this);else{if("function"===typeof b.onDeactivate)b.onDeactivate();null!==b&&a.Dj.removeChild(b)}}this.wa=!1}};ok.prototype.doFocus=function(){v&&D.Pn("TextEditingTool.doFocus","2.0");Ck(this)};ok.prototype.doBlur=function(){v&&D.Pn("TextEditingTool.doBlur","2.0");Dk(this)};
-function Ck(a){if(null!==a.Bj){var b=a.nz;a.$a===xk&&(a.$a=yk);"function"===typeof b.select&&a.Fy&&(b.select(),b.setSelectionRange(0,9999))}}function Dk(a){if(null!==a.Bj){var b=a.nz;"function"===typeof b.focus&&b.focus();"function"===typeof b.select&&a.Fy&&(b.select(),b.setSelectionRange(0,9999))}}ok.prototype.isValidText=function(a,b,c){D.l(a,na,ok,"isValidText:textblock");var d=this.RB;if(null!==d&&!d(a,b,c))return!1;d=a.RB;return null===d||d(a,b,c)?!0:!1};
-D.defineProperty(ok,{RB:"textValidation"},function(){return this.Sl},function(a){null!==a&&D.h(a,"function",ok,"textValidation");this.Sl=a});D.defineProperty(ok,{iG:"minimumEditorScale"},function(){return this.BD},function(a){null!==a&&D.h(a,"number",ok,"minimumEditorScale");this.BD=a});D.defineProperty(ok,{Fy:"selectsTextOnActivate"},function(){return this.YD},function(a){null!==a&&D.h(a,"boolean",ok,"selectsTextOnActivate");this.YD=a});
-D.defineProperty(ok,{state:"state"},function(){return this.$a},function(a){this.$a!==a&&(D.Da(a,ok,ok,"starting"),this.$a=a)});ok.prototype.measureTemporaryTextBlock=ok.prototype.GJ=function(a){var b=this.Ck;b.text=a;Fk(b,this.ih.vp,Infinity);return b};function Lh(){Vg.call(this);this.name="ToolManager";this.xH=new K(Vg);this.yH=new K(Vg);this.zH=new K(Vg);this.fD=this.gD=850;this.VC=(new Ca(2,2)).Na();this.qE=5E3;this.FD=Wh;this.dD=Gk;this.Jv=this.JC=null;this.xn=-1}D.Sa(Lh,Vg);
-D.ja("ToolManager",Lh);var Wh;Lh.WheelScroll=Wh=D.s(Lh,"WheelScroll",0);var Vh;Lh.WheelZoom=Vh=D.s(Lh,"WheelZoom",1);Lh.WheelNone=D.s(Lh,"WheelNone",2);var Gk;Lh.GestureZoom=Gk=D.s(Lh,"GestureZoom",3);var Hk;Lh.GestureCancel=Hk=D.s(Lh,"GestureCancel",4);var Ik;Lh.GestureNone=Ik=D.s(Lh,"GestureNone",5);D.defineProperty(Lh,{Ku:"mouseWheelBehavior"},function(){return this.FD},function(a){D.Da(a,Lh,Lh,"mouseWheelBehavior");this.FD=a});
-D.defineProperty(Lh,{pq:"gestureBehavior"},function(){return this.dD},function(a){D.Da(a,Lh,Lh,"gestureBehavior");this.dD=a});Lh.prototype.initializeStandardTools=function(){this.JH=new ek;this.uG=new ai;this.yJ=new Cj;this.HG=new Uj;this.eK=new bk;this.eG=new ra;this.De=new Qh;this.vI=new mk;this.TJ=new nk;this.yA=new hk;this.QB=new ok;this.$H=new ta;this.aI=new dk};
-Lh.prototype.updateAdornments=function(a){var b=this.fm;if(b instanceof da&&this.Jv===a){var c=b.zb;(null!==a?c.Y===a:null===c)?this.showToolTip(b,c):this.hideToolTip()}};
-Lh.prototype.doMouseDown=function(){var a=this.g;if(null!==a){var b=a.U;b.Mj&&this.pq===Hk&&(b.bubbles=!1);if(b.yu){this.cancelWaitAfter();if(this.pq===Ik){b.bubbles=!0;return}if(this.pq===Hk)return;if(a.gb.canStartMultiTouch()){a.gb.standardPinchZoomStart();return}}var c=a.ra;c.uA&&0!==c.Vh&&D.trace("WARNING: In ToolManager.doMouseDown: UndoManager.transactionLevel is not zero");for(var c=this.lf.length,d=0;da.U.Oe?!1:!0};ok.prototype.doStart=function(){this.wa||null===this.jh||this.doActivate()};
+ok.prototype.doActivate=function(){if(!this.wa){var a=this.g;if(null!==a){var b=this.jh;null===b&&(b=a.Ge(a.U.ha,function(a){return a instanceof na?a:null}));if(null!==b&&(this.jh=b,null!==b.Y)){this.wa=!0;this.$a=xk;var c=this.sI;null!==b.cH&&(c=b.cH);this.Dk=this.jh.copy();var d=new B(this.jh.fb(dc),this.jh.fb(uc));a.iK(d);if(c instanceof fk)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.Gy&&(c.select(),c.setSelectionRange(0,9999));a.Dj.appendChild(c)}this.Bj=c}}}};ok.prototype.doCancel=function(){null!==this.Ol&&this.Bj instanceof HTMLElement&&(this.Bj.style.border=this.Ol,this.Ol=null);this.stopTool()};ok.prototype.doMouseUp=function(){!this.wa&&this.canStart()&&this.doActivate()};ok.prototype.doMouseDown=function(){this.wa&&this.acceptText(tk)};
+ok.prototype.acceptText=function(a){switch(a){case tk:if(this.$a===Bk)this.Bj instanceof HTMLElement&&this.Bj.focus();else if(this.$a===xk||this.$a===Ak||this.$a===yk)this.$a=zk,Ek(this);break;case sk:case vk:case uk:if(vk===a&&!0===this.iA.$x)break;if(this.$a===xk||this.$a===Ak||this.$a===yk)this.$a=zk,Ek(this)}};
+function Ek(a){var b=a.jh,c=a.g,d=a.Bj;if(null!==b&&null!==d){var e=b.text,g="";d instanceof fk?null!==d.bC&&(g=d.bC()):(g=d.value,g="function"===typeof g?g():g);a.isValidText(b,e,g)?(a.ac(a.name),a.$a=Bk,d instanceof fk?d.show(b,c,a):null!==a.Ol&&(d.style.border=a.Ol,a.Ol=null),a.Rf=a.name,b.text=g,null!==b.bH&&b.bH(b,e,g),null!==c&&c.Ja("TextEdited",b,e),a.el(),a.stopTool(),null!==c&&c.doFocus()):(a.$a=Ak,null!==b.LA&&b.LA(a,e,g),d instanceof fk?d.show(b,c,a):(null===a.Ol&&(a.Ol=d.style.border,
+d.style.border="3px solid red"),"function"===typeof d.focus&&d.focus()))}}ok.prototype.doDeactivate=function(){var a=this.g;if(null!==a){this.$a=qk;this.jh=null;if(null!==this.Bj){var b=this.Bj;if(b instanceof fk)b.Xn(a,this);else{if("function"===typeof b.onDeactivate)b.onDeactivate();null!==b&&a.Dj.removeChild(b)}}this.wa=!1}};ok.prototype.doFocus=function(){v&&D.Pn("TextEditingTool.doFocus","2.0");Ck(this)};ok.prototype.doBlur=function(){v&&D.Pn("TextEditingTool.doBlur","2.0");Dk(this)};
+function Ck(a){if(null!==a.Bj){var b=a.oz;a.$a===xk&&(a.$a=yk);"function"===typeof b.select&&a.Gy&&(b.select(),b.setSelectionRange(0,9999))}}function Dk(a){if(null!==a.Bj){var b=a.oz;"function"===typeof b.focus&&b.focus();"function"===typeof b.select&&a.Gy&&(b.select(),b.setSelectionRange(0,9999))}}ok.prototype.isValidText=function(a,b,c){D.l(a,na,ok,"isValidText:textblock");var d=this.RB;if(null!==d&&!d(a,b,c))return!1;d=a.RB;return null===d||d(a,b,c)?!0:!1};
+D.defineProperty(ok,{RB:"textValidation"},function(){return this.Tl},function(a){null!==a&&D.h(a,"function",ok,"textValidation");this.Tl=a});D.defineProperty(ok,{jG:"minimumEditorScale"},function(){return this.BD},function(a){null!==a&&D.h(a,"number",ok,"minimumEditorScale");this.BD=a});D.defineProperty(ok,{Gy:"selectsTextOnActivate"},function(){return this.YD},function(a){null!==a&&D.h(a,"boolean",ok,"selectsTextOnActivate");this.YD=a});
+D.defineProperty(ok,{state:"state"},function(){return this.$a},function(a){this.$a!==a&&(D.Da(a,ok,ok,"starting"),this.$a=a)});ok.prototype.measureTemporaryTextBlock=ok.prototype.HJ=function(a){var b=this.Dk;b.text=a;Fk(b,this.jh.vp,Infinity);return b};function Lh(){Vg.call(this);this.name="ToolManager";this.yH=new K(Vg);this.zH=new K(Vg);this.AH=new K(Vg);this.fD=this.gD=850;this.VC=(new Ca(2,2)).Na();this.qE=5E3;this.FD=Wh;this.dD=Rk;this.Lv=this.JC=null;this.xn=-1}D.Sa(Lh,Vg);
+D.ka("ToolManager",Lh);var Wh;Lh.WheelScroll=Wh=D.s(Lh,"WheelScroll",0);var Vh;Lh.WheelZoom=Vh=D.s(Lh,"WheelZoom",1);Lh.WheelNone=D.s(Lh,"WheelNone",2);var Rk;Lh.GestureZoom=Rk=D.s(Lh,"GestureZoom",3);var Sk;Lh.GestureCancel=Sk=D.s(Lh,"GestureCancel",4);var Tk;Lh.GestureNone=Tk=D.s(Lh,"GestureNone",5);D.defineProperty(Lh,{Mu:"mouseWheelBehavior"},function(){return this.FD},function(a){D.Da(a,Lh,Lh,"mouseWheelBehavior");this.FD=a});
+D.defineProperty(Lh,{pq:"gestureBehavior"},function(){return this.dD},function(a){D.Da(a,Lh,Lh,"gestureBehavior");this.dD=a});Lh.prototype.initializeStandardTools=function(){this.KH=new ek;this.vG=new ai;this.zJ=new Nj;this.IG=new Uj;this.fK=new bk;this.fG=new ra;this.De=new Qh;this.wI=new mk;this.UJ=new nk;this.zA=new hk;this.QB=new ok;this.aI=new ta;this.bI=new dk};
+Lh.prototype.updateAdornments=function(a){var b=this.gm;if(b instanceof da&&this.Lv===a){var c=b.zb;(null!==a?c.Y===a:null===c)?this.showToolTip(b,c):this.hideToolTip()}};
+Lh.prototype.doMouseDown=function(){var a=this.g;if(null!==a){var b=a.U;b.Mj&&this.pq===Sk&&(b.bubbles=!1);if(b.Au){this.cancelWaitAfter();if(this.pq===Tk){b.bubbles=!0;return}if(this.pq===Sk)return;if(a.hb.canStartMultiTouch()){a.hb.standardPinchZoomStart();return}}var c=a.ra;c.vA&&0!==c.Wh&&D.trace("WARNING: In ToolManager.doMouseDown: UndoManager.transactionLevel is not zero");for(var c=this.mf.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}D.w(gh,{cL:"animationReasons"},function(){return this.vv});
-gh.prototype.canStart=function(){return!0};gh.prototype.prepareAutomaticAnimation=gh.prototype.po=function(a){this.mf&&(this.ok||this.ba.$n)&&(this.vv.add(a),this.canStart(a)&&(this.nk&&this.Hi(),this.wc=!0))};function cl(a){if(a.mf&&(a.vv.clear(),a.wc))if(!a.Io)a.wc=!1;else if(0===a.Ho){var b=+new Date;a.Ho=b;requestAnimationFrame(function(){if(!1!==a.wc&&!a.nk&&a.Ho===b){var c=a.ba;c.Gj("temporaryPixelRatio")&&(c.Bk=1);dl(c);a.wc=!1;c.Ja("AnimationStarting");el(a,b)}})}}
-function fl(a,b,c,d,e,g){if(a.wc&&(v&&D.l(b,P,gh,"addPropToAnimation:obj"),!("position"===c&&d.P(e)||b instanceof F&&!b.NF))){var h=a.gn;if(h.contains(b)){var h=h.na(b),k=h.start,l=h.end;void 0===k[c]&&(k[c]=gl(d));h.yx&&void 0!==l[c]?h.eu[c]=gl(e):(g||(h.eu[c]=gl(e)),l[c]=gl(e));g&&0===c.indexOf("position:")&&b instanceof F&&(h.eu.location=gl(b.location))}else k=new la,l=new la,k[c]=gl(d),l[c]=gl(e),d=l,e=k.position,e instanceof O&&!e.F()&&a.vv.contains("Expand SubGraph")&&e.assign(d.position),k=
-new bl(k,l,g),g&&0===c.indexOf("position:")&&b instanceof F&&(k.eu.location=gl(b.location)),h.add(b,k);a.Io=!0}}function gl(a){return a instanceof O?a.copy():a instanceof Ca?a.copy():a}
-function el(a,b){var c;function d(){if(!1!==g.nk&&g.Ho===b){var a=+new Date,c=a>s?m:a-r;hl(g);il(g,e,q,h,c,m);g.Gv&&g.Gv();bj(e);jl(g);a>s?kl(g):requestAnimationFrame(d)}}void 0===c&&(c=new la);var e=a.ba;if(null!==e){a.nk=!0;var g=a,h=c.FL||a.KC,k=c.eM||null,l=c.fM||null,m=c.duration||a.wz,n=a.AH;for(c=a.gn.j;c.next();){var p=c.value.start.position;p instanceof O&&(p.F()||p.assign(n))}a.FC=h;a.Gv=k;a.Hv=l;a.EC=m;a.Iv=a.gn;var q=a.Iv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l=
-k["position:placeholder"],n=l.eb(dc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);hl(a);il(a,e,q,h,0,m);bj(a.ba);jl(a);var r=+new Date,s=r+m;g.Ho===b&&requestAnimationFrame(function(){d()})}}function hl(a){if(!a.pp){var b=a.ba;a.uE=b.Eb;a.sC=b.Ue;a.tC=b.cv;b.Eb=!0;b.Ue=!0;b.cv=!0;a.pp=!0}}function jl(a){var b=a.ba;b.Eb=a.uE;b.Ue=a.sC;b.cv=a.tC;a.pp=!1}
-function il(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!==ll[m])ll[m](h,l[m],k[m],d,e,g)}d=b.aB;b.aB=!0;m=a.KC;0!==a.Jr&&0!==a.Ir&&(c=a.Jr,b.Bb=m(e,c,a.Ir-c,g));null!==a.Hr&&null!==a.Gr&&(c=a.Hr,a=a.Gr,b.rb=new O(m(e,c.x,a.x-c.x,g),m(e,c.y,a.y-c.y,g)));b.aB=d}
-gh.prototype.stopAnimation=gh.prototype.Hi=function(){!0===this.wc&&(this.wc=!1,this.Io&&this.ba.Se());this.nk&&this.mf&&kl(this)};
-function kl(a){a.nk=!1;a.Io=!1;hl(a);for(var b=a.ba,c=a.FC,d=a.EC,e=a.Iv.j;e.next();){var g=e.key,h=e.value,k=h.start,l=h.end,m=h.eu,n;for(n in l)if(void 0!==ll[n]){var p=n;!h.yx||"position:node"!==p&&"position:placeholder"!==p||(p="position");ll[p](g,k[n],void 0!==m[n]?m[n]:h.yx?k[n]:l[n],c,d,d)}h.yx&&void 0!==m.location&&g instanceof F&&(g.location=m.location);h.xy&&g instanceof F&&g.Jd(!1)}for(c=a.ba.links;c.next();)d=c.value,null!==d.Jp&&(d.points=d.Jp,d.Jp=null);b.jy.clear();b.Bk=null;b.zc();
-b.qa();b.hg();ml(b);jl(a);a.Hv&&a.Hv();a.Ho=0;a.Iv=null;a.Hv=null;a.Gv=null;a.Hr=null;a.Gr=null;a.Jr=0;a.Ir=0;a.gn=new ma(P,bl);b.Ja("AnimationFinished");b.Se()}
-function nl(a,b,c){var d=b.$,e=c.$,g=null;c instanceof I&&(g=c.placeholder);null!==g?(d=g.eb(dc),d.x+=g.padding.left,d.y+=g.padding.top,fl(a,b,"position",d,b.position,!1)):fl(a,b,"position",new O(e.x+e.width/2-d.width/2,e.y+e.height/2-d.height/2),b.position,!1);fl(a,b,"scale",.01,b.scale,!1);if(b instanceof I)for(b=b.Nc;b.next();)g=b.value,g instanceof G&&nl(a,g,c)}
-function ol(a,b,c){if(b.isVisible()){var d=null;c instanceof I&&(d=c.placeholder);null!==d?fl(a,b,"position:placeholder",b.position,d,!0):fl(a,b,"position:node",b.position,c,!0);fl(a,b,"scale",b.scale,.01,!0);a.wc&&(d=a.gn,d.contains(b)&&(d.na(b).xy=!0));if(b instanceof I)for(b=b.Nc;b.next();)d=b.value,d instanceof G&&ol(a,d,c)}}function pl(a,b,c){a.wc&&(null===a.Hr&&b.F()&&null===a.Gr&&(a.Hr=b.copy()),a.Gr=c.copy(),a.Io=!0)}
-function ql(a,b,c){a.wc&&a.ba.$n&&(0===a.Jr&&0===a.Ir&&(a.Jr=b),a.Ir=c,a.Io=!0)}D.defineProperty(gh,{isEnabled:"isEnabled"},function(){return this.mf},function(a){D.h(a,"boolean",gh,"isEnabled");this.mf=a});D.defineProperty(gh,{duration:"duration"},function(){return this.wz},function(a){D.h(a,"number",gh,"duration");1>a&&D.ua(a,">= 1",gh,"duration");this.wz=a});D.w(gh,{tf:"isAnimating"},function(){return this.nk});D.w(gh,{pJ:"isTicking"},function(){return this.pp});
-D.defineProperty(gh,{VF:"isInitial"},function(){return this.ok},function(a){D.h(a,"boolean",gh,"isInitial");this.ok=a});function bl(a,b,c){this.start=a;this.end=b;this.eu=new la;this.yx=c;this.xy=!1}
-var ll={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.Jy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):a.position=new O(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.$,k=c.$;c=k.x+k.width/2-h.width/2;h=k.y+k.height/2-h.height/2;e!==g?a.Jy(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g)):a.position=new O(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.Jy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):
-a.position=new O(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 Ug(){0e.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}D.w(gh,{dL:"animationReasons"},function(){return this.xv});
+gh.prototype.canStart=function(){return!0};gh.prototype.prepareAutomaticAnimation=gh.prototype.po=function(a){this.nf&&(this.pk||this.ba.$n)&&(this.xv.add(a),this.canStart(a)&&(this.ok&&this.Hi(),this.wc=!0))};function bl(a){if(a.nf&&(a.xv.clear(),a.wc))if(!a.Io)a.wc=!1;else if(0===a.Ho){var b=+new Date;a.Ho=b;requestAnimationFrame(function(){if(!1!==a.wc&&!a.ok&&a.Ho===b){var c=a.ba;c.Gj("temporaryPixelRatio")&&(c.Ck=1);cl(c);a.wc=!1;c.Ja("AnimationStarting");dl(a,b)}})}}
+function el(a,b,c,d,e,g){if(a.wc&&(v&&D.l(b,P,gh,"addPropToAnimation:obj"),!("position"===c&&d.P(e)||b instanceof F&&!b.OF))){var h=a.gn;if(h.contains(b)){var h=h.na(b),k=h.start,l=h.end;void 0===k[c]&&(k[c]=fl(d));h.Ax&&void 0!==l[c]?h.eu[c]=fl(e):(g||(h.eu[c]=fl(e)),l[c]=fl(e));g&&0===c.indexOf("position:")&&b instanceof F&&(h.eu.location=fl(b.location))}else k=new la,l=new la,k[c]=fl(d),l[c]=fl(e),d=l,e=k.position,e instanceof O&&!e.F()&&a.xv.contains("Expand SubGraph")&&e.assign(d.position),k=
+new al(k,l,g),g&&0===c.indexOf("position:")&&b instanceof F&&(k.eu.location=fl(b.location)),h.add(b,k);a.Io=!0}}function fl(a){return a instanceof O?a.copy():a instanceof Ca?a.copy():a}
+function dl(a,b){var c;function d(){if(!1!==g.ok&&g.Ho===b){var a=+new Date,c=a>s?m:a-r;gl(g);hl(g,e,q,h,c,m);g.Iv&&g.Iv();bj(e);il(g);a>s?jl(g):requestAnimationFrame(d)}}void 0===c&&(c=new la);var e=a.ba;if(null!==e){a.ok=!0;var g=a,h=c.GL||a.KC,k=c.gM||null,l=c.hM||null,m=c.duration||a.xz,n=a.BH;for(c=a.gn.j;c.next();){var p=c.value.start.position;p instanceof O&&(p.F()||p.assign(n))}a.FC=h;a.Iv=k;a.Jv=l;a.EC=m;a.Kv=a.gn;var q=a.Kv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l=
+k["position:placeholder"],n=l.fb(dc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);gl(a);hl(a,e,q,h,0,m);bj(a.ba);il(a);var r=+new Date,s=r+m;g.Ho===b&&requestAnimationFrame(function(){d()})}}function gl(a){if(!a.pp){var b=a.ba;a.uE=b.Eb;a.sC=b.Ue;a.tC=b.ev;b.Eb=!0;b.Ue=!0;b.ev=!0;a.pp=!0}}function il(a){var b=a.ba;b.Eb=a.uE;b.Ue=a.sC;b.ev=a.tC;a.pp=!1}
+function hl(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!==kl[m])kl[m](h,l[m],k[m],d,e,g)}d=b.aB;b.aB=!0;m=a.KC;0!==a.Jr&&0!==a.Ir&&(c=a.Jr,b.Bb=m(e,c,a.Ir-c,g));null!==a.Hr&&null!==a.Gr&&(c=a.Hr,a=a.Gr,b.rb=new O(m(e,c.x,a.x-c.x,g),m(e,c.y,a.y-c.y,g)));b.aB=d}
+gh.prototype.stopAnimation=gh.prototype.Hi=function(){!0===this.wc&&(this.wc=!1,this.Io&&this.ba.Se());this.ok&&this.nf&&jl(this)};
+function jl(a){a.ok=!1;a.Io=!1;gl(a);for(var b=a.ba,c=a.FC,d=a.EC,e=a.Kv.j;e.next();){var g=e.key,h=e.value,k=h.start,l=h.end,m=h.eu,n;for(n in l)if(void 0!==kl[n]){var p=n;!h.Ax||"position:node"!==p&&"position:placeholder"!==p||(p="position");kl[p](g,k[n],void 0!==m[n]?m[n]:h.Ax?k[n]:l[n],c,d,d)}h.Ax&&void 0!==m.location&&g instanceof F&&(g.location=m.location);h.yy&&g instanceof F&&g.Jd(!1)}for(c=a.ba.links;c.next();)d=c.value,null!==d.Jp&&(d.points=d.Jp,d.Jp=null);b.ky.clear();b.Ck=null;b.zc();
+b.qa();b.ig();ll(b);il(a);a.Jv&&a.Jv();a.Ho=0;a.Kv=null;a.Jv=null;a.Iv=null;a.Hr=null;a.Gr=null;a.Jr=0;a.Ir=0;a.gn=new ma(P,al);b.Ja("AnimationFinished");b.Se()}
+function ml(a,b,c){var d=b.$,e=c.$,g=null;c instanceof I&&(g=c.placeholder);null!==g?(d=g.fb(dc),d.x+=g.padding.left,d.y+=g.padding.top,el(a,b,"position",d,b.position,!1)):el(a,b,"position",new O(e.x+e.width/2-d.width/2,e.y+e.height/2-d.height/2),b.position,!1);el(a,b,"scale",.01,b.scale,!1);if(b instanceof I)for(b=b.Nc;b.next();)g=b.value,g instanceof G&&ml(a,g,c)}
+function nl(a,b,c){if(b.isVisible()){var d=null;c instanceof I&&(d=c.placeholder);null!==d?el(a,b,"position:placeholder",b.position,d,!0):el(a,b,"position:node",b.position,c,!0);el(a,b,"scale",b.scale,.01,!0);a.wc&&(d=a.gn,d.contains(b)&&(d.na(b).yy=!0));if(b instanceof I)for(b=b.Nc;b.next();)d=b.value,d instanceof G&&nl(a,d,c)}}function ol(a,b,c){a.wc&&(null===a.Hr&&b.F()&&null===a.Gr&&(a.Hr=b.copy()),a.Gr=c.copy(),a.Io=!0)}
+function pl(a,b,c){a.wc&&a.ba.$n&&(0===a.Jr&&0===a.Ir&&(a.Jr=b),a.Ir=c,a.Io=!0)}D.defineProperty(gh,{isEnabled:"isEnabled"},function(){return this.nf},function(a){D.h(a,"boolean",gh,"isEnabled");this.nf=a});D.defineProperty(gh,{duration:"duration"},function(){return this.xz},function(a){D.h(a,"number",gh,"duration");1>a&&D.ua(a,">= 1",gh,"duration");this.xz=a});D.w(gh,{uf:"isAnimating"},function(){return this.ok});D.w(gh,{qJ:"isTicking"},function(){return this.pp});
+D.defineProperty(gh,{WF:"isInitial"},function(){return this.pk},function(a){D.h(a,"boolean",gh,"isInitial");this.pk=a});function al(a,b,c){this.start=a;this.end=b;this.eu=new la;this.Ax=c;this.yy=!1}
+var kl={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.Ky(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):a.position=new O(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.$,k=c.$;c=k.x+k.width/2-h.width/2;h=k.y+k.height/2-h.height/2;e!==g?a.Ky(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g)):a.position=new O(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.Ky(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):
+a.position=new O(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 Ug(){0=a)return b;for(var c=0,d=0,e=0,g=0,h=0,k=this.qb.j;k.next();){var l=k.value;l instanceof I?e++:l instanceof G?d++:l instanceof J?g++:l instanceof da?h++:c++}k="";0=d.count)a=d.count;else if(d.ea(a)===b)return-1;d.Xd(a,b);b.ru(c);d=this.g;null!==d&&(c?d.qa():d.sq(b));wl(this,a,b);return a};
-f.sf=function(a,b,c){if(!c&&b.layer!==this&&null!==b.layer)return b.layer.sf(a,b,c);var d=this.qb;if(0>a||a>=d.length){if(a=d.indexOf(b),0>a)return-1}else if(d.ea(a)!==b&&(a=d.indexOf(b),0>a))return-1;b.su(c);d.jd(a);d=this.g;null!==d&&(c?d.qa():d.sf(b));b.lw=null;return a};
-function wl(a,b,c){b=xl(a,b,c);if(c instanceof I&&null!==c&&isNaN(c.Co)){if(0!==c.Nc.count){for(var d=-1,e=a.qb.o,g=e.length,h=0;hd&&k.Ra===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.ea(g).Co;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.jd(b);a.Xd(g,c);return g}for(h=NaN;0<=--g&&(h=a.ea(g).Co,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.jd(b);a.Xd(k,c);return k}for(l=NaN;++ka||1parseInt(e[1],10)&&(D.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+
-D.vfo+". This license key will do nothing until you upgrade to GoJS 1.7 or later."),D.Dx.licenseKey=!0);this.Fl=1;this.Ym=0;this.wD=new O;this.sE=500;this.xv=new O;this.ut=null;this.Cl=!1;this.preventDefault=this.wy=this.qG=this.rG=this.pG=this.lo=this.$g=this.mo=this.jo=this.ko=this.dC=this.UB=this.VB=this.WB=this.Ql=this.ht=this.Pl=this.gt=null;this.GD=1;this.fw=!1;this.zl=new Kl;void 0!==a&&Ll(this,a);this.$c=!1}D.ja("Diagram",E);
-E.prototype.clear=E.prototype.clear=function(){var a=null;null!==this.Ad&&(a=this.Ad.Y);this.ga.clear();for(var b=this.cc.length,c=0;c=d.count)a=d.count;else if(d.ea(a)===b)return-1;d.Xd(a,b);b.tu(c);d=this.g;null!==d&&(c?d.qa():d.sq(b));vl(this,a,b);return a};
+f.tf=function(a,b,c){if(!c&&b.layer!==this&&null!==b.layer)return b.layer.tf(a,b,c);var d=this.qb;if(0>a||a>=d.length){if(a=d.indexOf(b),0>a)return-1}else if(d.ea(a)!==b&&(a=d.indexOf(b),0>a))return-1;b.uu(c);d.jd(a);d=this.g;null!==d&&(c?d.qa():d.tf(b));b.nw=null;return a};
+function vl(a,b,c){b=wl(a,b,c);if(c instanceof I&&null!==c&&isNaN(c.Co)){if(0!==c.Nc.count){for(var d=-1,e=a.qb.o,g=e.length,h=0;hd&&k.Ra===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.ea(g).Co;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.jd(b);a.Xd(g,c);return g}for(h=NaN;0<=--g&&(h=a.ea(g).Co,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.jd(b);a.Xd(k,c);return k}for(l=NaN;++ka||1parseInt(e[1],10)&&(D.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+
+D.vfo+". This license key will do nothing until you upgrade to GoJS 1.7 or later."),D.Fx.licenseKey=!0);this.Gl=1;this.Ym=0;this.wD=new O;this.sE=500;this.zv=new O;this.ut=null;this.Dl=!1;this.preventDefault=this.xy=this.rG=this.sG=this.qG=this.lo=this.ah=this.mo=this.jo=this.ko=this.dC=this.UB=this.VB=this.WB=this.Rl=this.ht=this.Ql=this.gt=null;this.GD=1;this.hw=!1;this.Al=new Jl;void 0!==a&&Kl(this,a);this.$c=!1}D.ka("Diagram",E);
+E.prototype.clear=E.prototype.clear=function(){var a=null;null!==this.Ad&&(a=this.Ad.Y);this.ga.clear();for(var b=this.cc.length,c=0;c=a)return b;for(var c=this.cc.j;c.next();)b+="\n "+c.value.toString(a-1);return b};E.fromDiv=function(a){var b=a;"string"===typeof a&&(b=window.document.getElementById(a));return b instanceof HTMLDivElement&&b.ba instanceof E?b.ba:null};
-D.defineProperty(E,{Dj:"div"},function(){return this.Sb},function(a){null!==a&&D.l(a,HTMLDivElement,E,"div");if(this.Sb!==a){zl=[];var b=this.Sb;null!==b?(b.ba=void 0,b.innerHTML="",null!==this.Mb&&(this.Mb.removeEventListener("touchstart",this.WB,!1),this.Mb.removeEventListener("touchmove",this.VB,!1),this.Mb.removeEventListener("touchend",this.UB,!1),this.Mb.Ud.ba=null),b=this.kb,null!==b&&(b.lf.each(function(a){a.cancelWaitAfter()}),b.jg.each(function(a){a.cancelWaitAfter()}),b.kg.each(function(a){a.cancelWaitAfter()})),
-b.cancelWaitAfter(),this.gb.doCancel(),this.od=this.Mb=null,window.removeEventListener("resize",this.dC,!1),window.removeEventListener("mousemove",this.ko,!0),window.removeEventListener("mousedown",this.jo,!0),window.removeEventListener("mouseup",this.mo,!0),window.removeEventListener("mousewheel",this.$g,!0),window.removeEventListener("DOMMouseScroll",this.$g,!0),window.removeEventListener("mouseout",this.lo,!0)):this.th=!1;this.Sb=null;if(null!==a){if(b=a.ba)b.Dj=null;Ll(this,a);this.Gq()}}});
-function Ol(a){var b=a.Mb;b.addEventListener("touchstart",a.WB,!1);b.addEventListener("touchmove",a.VB,!1);b.addEventListener("touchend",a.UB,!1);b.addEventListener("mousemove",a.ko,!1);b.addEventListener("mousedown",a.jo,!1);b.addEventListener("mouseup",a.mo,!1);b.addEventListener("mousewheel",a.$g,!1);b.addEventListener("DOMMouseScroll",a.$g,!1);b.addEventListener("mouseout",a.lo,!1);b.addEventListener("keydown",a.rJ,!1);b.addEventListener("keyup",a.sJ,!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.kb.pq===Hk&&b.preventDefault()},!1);b.addEventListener("pointerdown",a.pG,!1);b.addEventListener("pointermove",a.rG,!1);b.addEventListener("pointerleave",a.qG,!1);window.addEventListener("resize",a.dC,!1)}E.prototype.computePixelRatio=function(){return null!==this.Bk?this.Bk:this.GD};E.prototype.doMouseMove=function(){this.gb.doMouseMove()};
-E.prototype.doMouseDown=function(){this.gb.doMouseDown()};E.prototype.doMouseUp=function(){this.gb.doMouseUp()};E.prototype.doMouseWheel=function(){this.gb.doMouseWheel()};E.prototype.doKeyDown=function(){this.gb.doKeyDown()};E.prototype.doKeyUp=function(){this.gb.doKeyUp()};E.prototype.doFocus=function(){this.focus()};E.prototype.focus=E.prototype.focus=function(){this.Mb&&this.Mb.focus()};
-function dl(a){if(null!==a.Mb){var b=a.Sb;if(0!==b.clientWidth&&0!==b.clientHeight){var c=a.yl?a.Rd:0,d=a.lk?a.Rd:0,e=a.qd;a.qd=a.computePixelRatio();a.qd!==e&&(a.cs=!0,a.Se());if(b.clientWidth!==a.Ob+c||b.clientHeight!==a.Rb+d)a.Sm=!0,a.Me=!0,b=a.Vb,null!==b&&b.ay&&a.bm===Rh&&b.N(),a.ge||a.Se()}}}
-function Il(a){var b=new Ug;b.name="Background";a.Ot(b);b=new Ug;b.name="";a.Ot(b);b=new Ug;b.name="Foreground";a.Ot(b);b=new Ug;b.name="Adornment";b.Uc=!0;a.Ot(b);b=new Ug;b.name="Tool";b.Uc=!0;b.OF=!0;a.Ot(b);b=new Ug;b.name="Grid";b.Cf=!1;b.qg=!1;b.Uc=!0;a.OH(b,a.km("Background"))}
-function Pl(a){a.Ad=new x(Ql);a.Ad.name="GRID";var b=new z;b.Jb="LineH";b.stroke="lightgray";b.jb=.5;b.interval=1;a.Ad.add(b);b=new z;b.Jb="LineH";b.stroke="gray";b.jb=.5;b.interval=5;a.Ad.add(b);b=new z;b.Jb="LineH";b.stroke="gray";b.jb=1;b.interval=10;a.Ad.add(b);b=new z;b.Jb="LineV";b.stroke="lightgray";b.jb=.5;b.interval=1;a.Ad.add(b);b=new z;b.Jb="LineV";b.stroke="gray";b.jb=.5;b.interval=5;a.Ad.add(b);b=new z;b.Jb="LineV";b.stroke="gray";b.jb=1;b.interval=10;a.Ad.add(b);b=new F;b.add(a.Ad);
-b.Kf="Grid";b.Co=0;b.Wx=!1;b.NF=!1;b.qg=!1;b.ky="GRID";a.add(b);a.qb.remove(b);a.Ad.visible=!1}function Rl(){this.ba.isEnabled?this.ba.uI(this):Sl(this.ba)}function Tl(a){this.ba.isEnabled?(this.ba.$z=!0,this.ba.bA=a.target.scrollTop,this.ba.aA=a.target.scrollLeft):Sl(this.ba)}
-E.prototype.diagramScroll=E.prototype.uI=function(a){if(this.$z&&null!==this.Mb){this.Mw=!0;var b=this.dd,c=this.ub,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.gs)switch(this.Yz){case "negative":s=s+a.scrollWidth-a.clientWidth;break;case "reverse":s=a.scrollWidth-s-a.clientWidth}var u=s;el&&(this.position=s.n(-(this.Qw.scrollWidth-this.Ob)+u-this.Ob/r+k,this.position.y))),a.DH&&this.ze&&(bn&&(this.position=s.n(this.position.x,-(this.Qw.scrollHeight-this.Rb)+a.scrollTop-this.Rb/r+m))),D.A(s),Ul(this),this.Sm=this.Mw=!1,b=this.dd,c=this.ub,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.lt.style.width="1px"),h>=g&&b>=c&&m<=n&&(this.lt.style.height="1px"))}};E.prototype.computeBounds=E.prototype.Kh=function(){0c&&(e=c),ea.Ph&&(e=a.Ph),e):b===am?(e=l>k?(h-a.Rd)/d:(g-a.Rd)/e,e>c&&(e=c),ea.Ph&&(e=a.Ph),e):a.scale}E.prototype.zoomToFit=E.prototype.zoomToFit=function(){this.scale=Xl(this,$l)};
-E.prototype.zoomToRect=function(a,b){void 0===b&&(b=$l);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===$l||b===am)if(isNaN(c))e=this.ub.height*this.scale/d;else if(isNaN(d))e=this.ub.width*this.scale/c;else var e=this.Ob,g=this.Rb,e=b===am?g/d>e/c?(g-(this.lk?this.Rd:0))/d:(e-(this.yl?this.Rd:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new O(a.x,a.y)}};D.defineProperty(E,{aB:null},function(){return this.$c},function(a){this.$c=a});
-E.prototype.alignDocument=function(a,b){this.mk&&Zl(this,this.Kh());var c=this.dd,d=this.ub;this.position=new O(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 Yl(a,b,c,d,e,g,h){var k=b.x,l=b.y;if(h||a.CB===Al)g.fd()&&(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.LG,h=d-c.width,dc.left?k=c.left:kc.top?l=c.top:ll&&(this.position=s.n(-(this.Sw.scrollWidth-this.Ob)+u-this.Ob/r+k,this.position.y))),a.EH&&this.ze&&(bn&&(this.position=s.n(this.position.x,-(this.Sw.scrollHeight-this.Rb)+a.scrollTop-this.Rb/r+m))),D.A(s),Tl(this),this.Sm=this.Ow=!1,b=this.dd,c=this.ub,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.lt.style.width="1px"),h>=g&&b>=c&&m<=n&&(this.lt.style.height="1px"))}};E.prototype.computeBounds=E.prototype.Lh=function(){0c&&(e=c),ea.Qh&&(e=a.Qh),e):b===$l?(e=l>k?(h-a.Rd)/d:(g-a.Rd)/e,e>c&&(e=c),ea.Qh&&(e=a.Qh),e):a.scale}E.prototype.zoomToFit=E.prototype.zoomToFit=function(){this.scale=Wl(this,Zl)};
+E.prototype.zoomToRect=function(a,b){void 0===b&&(b=Zl);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Zl||b===$l)if(isNaN(c))e=this.ub.height*this.scale/d;else if(isNaN(d))e=this.ub.width*this.scale/c;else var e=this.Ob,g=this.Rb,e=b===$l?g/d>e/c?(g-(this.mk?this.Rd:0))/d:(e-(this.zl?this.Rd:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new O(a.x,a.y)}};D.defineProperty(E,{aB:null},function(){return this.$c},function(a){this.$c=a});
+E.prototype.alignDocument=function(a,b){this.nk&&Yl(this,this.Lh());var c=this.dd,d=this.ub;this.position=new O(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 Xl(a,b,c,d,e,g,h){var k=b.x,l=b.y;if(h||a.CB===zl)g.fd()&&(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.MG,h=d-c.width,dc.left?k=c.left:kc.top?l=c.top:lc.touches.length)&&c.preventDefault();c.cancelBubble=!0;return!1}
-E.prototype.rJ=function(a){if(!this.ba.isEnabled)return!1;var b=this.ba.Tb;bm(this.ba,this.ba,a,b,!1);b.key=String.fromCharCode(a.which);b.jm=!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=
+E.prototype.findObjectsAt=E.prototype.gu=function(a,b,c,d){void 0===b&&(b=null);void 0===c&&(c=null);d instanceof K||d instanceof L||(d=new L(P));Si(this);for(var e=this.cc.ao;e.next();){var g=e.value;g.visible&&g.gu(a,b,c,d)}return d};E.prototype.findObjectsIn=E.prototype.Rk=function(a,b,c,d,e){void 0===b&&(b=null);void 0===c&&(c=null);void 0===d&&(d=!1);e instanceof K||e instanceof L||(e=new L(P));Si(this);for(var g=this.cc.ao;g.next();){var h=g.value;h.visible&&h.Rk(a,b,c,d,e)}return e};
+E.prototype.MA=function(a,b,c,d,e,g){var h=new L(P);Si(this);for(var k=this.cc.ao;k.next();){var l=k.value;l.visible&&l.MA(a,b,c,d,h,e,g)}return h};E.prototype.findObjectsNear=E.prototype.Qn=function(a,b,c,d,e,g){void 0===c&&(c=null);void 0===d&&(d=null);void 0===e&&(e=!0);if(!1!==e&&!0!==e){if(e instanceof K||e instanceof L)g=e;e=!0}g instanceof K||g instanceof L||(g=new L(P));Si(this);for(var h=this.cc.ao;h.next();){var k=h.value;k.visible&&k.Qn(a,b,c,d,e,g)}return g};
+E.prototype.acceptEvent=function(a){var b=this.cd;this.cd=this.Tb;this.Tb=b;am(this,this,a,b,a instanceof MouseEvent);return b};
+function am(a,b,c,d,e){d.g=b;d.event=c;e?bm(a,c,d):(d.qe=b.Tb.qe,d.ha=b.Tb.ha);a=0;c.ctrlKey&&(a+=1);c.altKey&&(a+=2);c.shiftKey&&(a+=4);c.metaKey&&(a+=8);d.Kd=a;d.button=c.button;void 0===c.buttons||D.kJ||(d.buttons=c.buttons);D.Xk&&0===c.button&&c.ctrlKey&&(d.button=2);d.km=!1;d.up=!1;d.Oe=1;d.jm=0;d.Mc=!1;d.bubbles=!1;d.timestamp=Date.now();d.Au=!1;d.hh=c.target.ba?c.target.ba:null;d.We=null}
+function cm(a,b,c,d,e){d.g=a;bm(a,c,d);d.Kd=0;d.button=0;d.buttons=1;d.km=!0;d.up=!1;d.Oe=1;d.jm=0;d.Mc=!1;d.bubbles=!0;d.event=b;d.timestamp=Date.now();d.Au=e;d.hh=b.target.ba?b.target.ba:null;d.We=null;a.Yi=d.copy();Zh=null}
+function dm(a,b,c,d,e){var g=null;d.g=a;null!==c?((g=window.document.elementFromPoint(c.clientX,c.clientY))&&g.ba?g=g.ba:(c=b.changedTouches[0],g=a),d.hh=g,bm(a,c,d)):null!==a.cd?(d.ha=a.cd.ha,d.qe=a.cd.qe,d.hh=a.cd.hh):null!==a.Yi&&(d.ha=a.Yi.ha,d.qe=a.Yi.qe,d.hh=a.Yi.hh);d.Kd=0;d.button=0;d.buttons=1;d.km=!1;d.up=!1;d.Oe=1;d.jm=0;d.Mc=!1;d.bubbles=!1;d.event=b;d.timestamp=Date.now();d.Au=e;d.We=null}
+function ga(a,b,c){if(b.bubbles)return v&&v.JF&&D.trace("NOT handled "+c.type+" "+b.toString()),!0;v&&v.JF&&D.trace("handled "+c.type+" "+a.hb.name+" "+b.toString());void 0!==c.stopPropagation&&c.stopPropagation();(void 0===c.touches||2>c.touches.length)&&c.preventDefault();c.cancelBubble=!0;return!1}
+E.prototype.sJ=function(a){if(!this.ba.isEnabled)return!1;var b=this.ba.Tb;am(this.ba,this.ba,a,b,!1);b.key=String.fromCharCode(a.which);b.km=!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.ba.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?ga(this.ba,b,a):(a.cancelBubble=!0,a.preventDefault(),a.stopPropagation(),!1)};
-E.prototype.sJ=function(a){if(!this.ba.isEnabled)return!1;var b=this.ba.Tb;bm(this.ba,this.ba,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.ba.doKeyUp();
+E.prototype.tJ=function(a){if(!this.ba.isEnabled)return!1;var b=this.ba.Tb;am(this.ba,this.ba,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.ba.doKeyUp();
return ga(this.ba,b,a)};E.prototype.fp=function(a){var b=this.Mb;if(null===b)return new O(0,0);var c=this.Ob,d=this.Rb,b=b.getBoundingClientRect(),c=a.clientX-c/b.width*b.left;a=a.clientY-d/b.height*b.top;return null!==this.Ic?(a=new O(c,a),gb(a,this.Ic),a):new O(c,a)};
-function cm(a,b,c){var d=a.Mb,e=a.Ob,g=a.Rb,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.qe.n(h,k);null!==a.Ic?(b=D.Fb(h,k),a.Ic.Ci(b),c.ha.assign(b),D.A(b)):c.ha.n(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.oj[0])e=a.oj[c];else return;c=a.Mb;b=a.Ob;a=a.Rb;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.n(g,h)}E.prototype.invalidateDocumentBounds=E.prototype.zc=function(){this.mk||(this.mk=!0,this.Se(!0))};function ml(a){a.ge||Si(a);a.mk&&Zl(a,a.Kh())}
-E.prototype.redraw=E.prototype.Gq=function(){this.$c||this.ge||(this.qa(),fm(this),Ul(this),this.zc(),this.hg())};E.prototype.isUpdateRequested=function(){return this.Zf};E.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Xa,c=b.isEnabled;b.Hi();b.isEnabled=!1;bj(this);this.th=!1;b.isEnabled=c;null!==a&&D.setTimeout(a,1)};
-E.prototype.requestUpdate=E.prototype.Se=function(a){void 0===a&&(a=!1);if(!0!==this.Zf&&!(this.$c||!1===a&&this.ge)){this.Zf=!0;var b=this;requestAnimationFrame(function(){b.Zf&&b.hg()})}};E.prototype.maybeUpdate=E.prototype.hg=function(){if(!this.dp||this.Zf)this.dp&&(this.dp=!1),bj(this)};function gm(a,b){a.Xa.tf||a.$c||!a.Sm||Sl(a)||(b&&Si(a),Wl(a,!1))}
-function bj(a){if(!a.ge&&(a.Zf=!1,null!==a.Sb)){a.ge=!0;var b=a.Xa,c=a.Wz;if(!b.pp&&0!==c.length){for(var d=c.o,e=d.length,g=0;gb;b++){var c=a.Eg.j;if(null===c||0===a.Eg.count)break;a.Eg=new L(F);a.aC(c,a.Eg);v&&22===b&&D.trace("failure to validate parts")}a.og.each(function(a){a instanceof I&&0!==(a.Ca&65536)!==!1&&(a.Ca^=65536)})}}
-E.prototype.aC=function(a,b){for(a.reset();a.next();){var c=a.value;!c.oe()||c instanceof I||(c.vm()?(Fk(c,Infinity,Infinity),c.pc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof I&&c.isVisible()&&Im(this,c);for(a.reset();a.next();)c=a.value,c instanceof J&&c.isVisible()&&(c.vm()?(Fk(c,Infinity,Infinity),c.pc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof da&&c.isVisible()&&(c.vm()?(Fk(c,Infinity,Infinity),c.pc()):b.add(c))};
-function Im(a,b){for(var c=D.tb(),d=D.tb(),e=b.Nc;e.next();){var g=e.value;g.isVisible()&&(g instanceof I?(Jm(g)||Km(g)||Lm(g))&&Im(a,g):g instanceof J?g.aa===b||g.da===b?d.push(g):c.push(g):(Fk(g,Infinity,Infinity),g.pc()))}for(var e=c.length,h=0;hb.targetTouches.length)return;e=b.targetTouches[c]}else if(null!==a.oj[0])e=a.oj[c];else return;c=a.Mb;b=a.Ob;a=a.Rb;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.n(g,h)}E.prototype.invalidateDocumentBounds=E.prototype.zc=function(){this.nk||(this.nk=!0,this.Se(!0))};function ll(a){a.ge||Si(a);a.nk&&Yl(a,a.Lh())}
+E.prototype.redraw=E.prototype.Gq=function(){this.$c||this.ge||(this.qa(),em(this),Tl(this),this.zc(),this.ig())};E.prototype.isUpdateRequested=function(){return this.$f};E.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Xa,c=b.isEnabled;b.Hi();b.isEnabled=!1;bj(this);this.uh=!1;b.isEnabled=c;null!==a&&D.setTimeout(a,1)};
+E.prototype.requestUpdate=E.prototype.Se=function(a){void 0===a&&(a=!1);if(!0!==this.$f&&!(this.$c||!1===a&&this.ge)){this.$f=!0;var b=this;requestAnimationFrame(function(){b.$f&&b.ig()})}};E.prototype.maybeUpdate=E.prototype.ig=function(){if(!this.dp||this.$f)this.dp&&(this.dp=!1),bj(this)};function fm(a,b){a.Xa.uf||a.$c||!a.Sm||Rl(a)||(b&&Si(a),Vl(a,!1))}
+function bj(a){if(!a.ge&&(a.$f=!1,null!==a.Sb)){a.ge=!0;var b=a.Xa,c=a.Xz;if(!b.pp&&0!==c.length){for(var d=c.o,e=d.length,g=0;gb;b++){var c=a.Fg.j;if(null===c||0===a.Fg.count)break;a.Fg=new L(F);a.aC(c,a.Fg);v&&22===b&&D.trace("failure to validate parts")}a.pg.each(function(a){a instanceof I&&0!==(a.Ca&65536)!==!1&&(a.Ca^=65536)})}}
+E.prototype.aC=function(a,b){for(a.reset();a.next();){var c=a.value;!c.oe()||c instanceof I||(c.wm()?(Fk(c,Infinity,Infinity),c.qc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof I&&c.isVisible()&&Im(this,c);for(a.reset();a.next();)c=a.value,c instanceof J&&c.isVisible()&&(c.wm()?(Fk(c,Infinity,Infinity),c.qc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof da&&c.isVisible()&&(c.wm()?(Fk(c,Infinity,Infinity),c.qc()):b.add(c))};
+function Im(a,b){for(var c=D.tb(),d=D.tb(),e=b.Nc;e.next();){var g=e.value;g.isVisible()&&(g instanceof I?(Jm(g)||Km(g)||Lm(g))&&Im(a,g):g instanceof J?g.aa===b||g.da===b?d.push(g):c.push(g):(Fk(g,Infinity,Infinity),g.qc()))}for(var e=c.length,h=0;hy+1&&
-(N=Math.max((t-y)*c+a.Ob,N)),q+k+1p+1&&(k=Math.max((A-p)*c+a.Rb,k)),r+l+1y+1&&(N=Math.max((t-y)*c+a.Ob,N)),q+1p+1&&(k=Math.max((A-p)*c+W,k)),r+1y+1&&(l=a.position.x*c));if(a.gs)switch(a.Yz){case "negative":l=-(b.scrollWidth-l-b.clientWidth);break;case "reverse":l=b.scrollWidth-l-b.clientWidth}b.scrollLeft=l;a.WA&&a.ze&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.cs=!0);m=a.Ob;n=a.Rb;b.style.width=m+(a.yl?a.Rd:0)+
-"px";b.style.height=n+(a.lk?a.Rd:0)+"px";a.$z=!1;return d!==m||e!==n||a.Xa.wc?(p=a.ub,a.Pu(g,p,c,a.scale,h),!1):!0}
-E.prototype.add=E.prototype.add=function(a){D.l(a,F,E,"add:part");var b=a.g;if(b!==this){null!==b&&D.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.ar&&(a.Gl="Tool");var c=a.Kf,b=this.km(c);null===b&&(b=this.km(""));null===b&&D.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.sq(99999999,a,a.g===this),0<=c&&this.hd(dg,"parts",b,null,a,null,c),b.Uc||this.zc(),a.N(Sm),c=a.gy,null!==
+t.x),Math.abs(r.y-t.y)));gb(r,w);gb(t,w);m.push(new B(Math.min(r.x,t.x),Math.min(r.y,t.y),Math.abs(r.x-t.x),Math.abs(r.y-t.y)));this.Al.Fm(this)&&(h=0y+1&&
+(N=Math.max((t-y)*c+a.Ob,N)),q+k+1p+1&&(k=Math.max((A-p)*c+a.Rb,k)),r+l+1y+1&&(N=Math.max((t-y)*c+a.Ob,N)),q+1p+1&&(k=Math.max((A-p)*c+W,k)),r+1y+1&&(l=a.position.x*c));if(a.gs)switch(a.Zz){case "negative":l=-(b.scrollWidth-l-b.clientWidth);break;case "reverse":l=b.scrollWidth-l-b.clientWidth}b.scrollLeft=l;a.WA&&a.ze&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.cs=!0);m=a.Ob;n=a.Rb;b.style.width=m+(a.zl?a.Rd:0)+
+"px";b.style.height=n+(a.mk?a.Rd:0)+"px";a.aA=!1;return d!==m||e!==n||a.Xa.wc?(p=a.ub,a.Ru(g,p,c,a.scale,h),!1):!0}
+E.prototype.add=E.prototype.add=function(a){D.l(a,F,E,"add:part");var b=a.g;if(b!==this){null!==b&&D.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.ar&&(a.Hl="Tool");var c=a.Lf,b=this.lm(c);null===b&&(b=this.lm(""));null===b&&D.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.sq(99999999,a,a.g===this),0<=c&&this.hd(ng,"parts",b,null,a,null,c),b.Uc||this.zc(),a.N(Sm),c=a.hy,null!==
c&&c(a,null,b))}};
-E.prototype.sq=function(a){if(a instanceof G){if(this.Dp.add(a),a instanceof I){var b=a.Ra;null===b?this.Tl.add(a):b.en.add(a);b=a.Vb;null!==b&&(b.g=this)}}else a instanceof J?this.xp.add(a):a instanceof da||this.qb.add(a);var c=this;Tm(a,function(a){Um(c,a)});(a instanceof da||a instanceof I&&null!==a.Qb)&&a.K();b=a.data;null!==b&&(a instanceof da||(a instanceof J?this.ck.add(b,a):this.Si.add(b,a)),Tm(a,function(a){Vm(c,a)}));!0!==Km(a)&&!0!==Lm(a)||this.Eg.add(a);Wm(a,!0,this);Xm(a)?(a.$.F()&&this.qa(vl(a,
-a.$)),this.zc()):a.isVisible()&&a.$.F()&&this.qa(vl(a,a.$));this.Se()};
-E.prototype.sf=function(a){a.Yt();if(a instanceof G){if(this.Dp.remove(a),a instanceof I){var b=a.Ra;null===b?this.Tl.remove(a):b.en.remove(a);b=a.Vb;null!==b&&(b.g=null)}}else a instanceof J?this.xp.remove(a):a instanceof da||this.qb.remove(a);var c=this;Tm(a,function(a){Ym(c,a)});b=a.data;null!==b&&(a instanceof da||(a instanceof J?this.ck.remove(b):this.Si.remove(b)),Tm(a,function(a){Zm(c,a)}));this.Eg.remove(a);Xm(a)?(a.$.F()&&this.qa(vl(a,a.$)),this.zc()):a.isVisible()&&a.$.F()&&this.qa(vl(a,
-a.$));this.Se()};E.prototype.remove=E.prototype.remove=function(a){D.l(a,F,E,"remove:part");$m(this,a,!0)};function $m(a,b,c){var d=b.layer;null!==d&&d.g===a&&(b.hb=!1,b.Yg=!1,b.N(an),c&&b.On(),c=d.sf(-1,b,!1),0<=c&&a.hd(og,"parts",d,b,null,c,null),a=b.gy,null!==a&&a(b,d,null))}
-E.prototype.removeParts=E.prototype.zB=function(a,b){if(D.isArray(a))for(var c=D.cb(a),d=0;dd&&this.zc()};
-E.prototype.addLayerAfter=function(a,b){bn(this,a,b);a.Yc(this);var c=this.cc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.ve&&this.hd(og,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.zc()};
-E.prototype.removeLayer=function(a){D.l(a,Ug,E,"removeLayer:layer");a.g!==this&&D.k("Cannot remove a Layer from another Diagram: "+a+" of "+a.g);if(""!==a.name){var b=this.cc,c=b.indexOf(a);if(b.remove(a)){for(b=a.qb.copy().j;b.next();){var d=b.value,e=d.Kf;d.Kf=e!==a.name?e:""}null!==this.ve&&this.hd(og,"layers",this,a,null,c,null);this.qa();this.zc()}}};E.prototype.findLayer=E.prototype.km=function(a){for(var b=this.bo;b.next();){var c=b.value;if(c.name===a)return c}return null};
-E.prototype.addModelChangedListener=E.prototype.QH=function(a){D.h(a,"function",E,"addModelChangedListener:listener");null===this.wh&&(this.wh=new K("function"));this.wh.add(a);this.ga.An(a)};E.prototype.removeModelChangedListener=function(a){D.h(a,"function",E,"removeModelChangedListener:listener");null!==this.wh&&(this.wh.remove(a),0===this.wh.count&&(this.wh=null));this.ga.Su(a)};
-E.prototype.addChangedListener=E.prototype.An=function(a){D.h(a,"function",E,"addChangedListener:listener");null===this.Ni&&(this.Ni=new K("function"));this.Ni.add(a)};E.prototype.removeChangedListener=E.prototype.Su=function(a){D.h(a,"function",E,"removeChangedListener:listener");null!==this.Ni&&(this.Ni.remove(a),0===this.Ni.count&&(this.Ni=null))};
-E.prototype.tx=function(a){this.Eb||this.ra.HF(a);a.Jc!==cg&&(this.Ei=!0);if(null!==this.Ni){var b=this.Ni,c=b.length;if(1===c)b=b.ea(0),b(a);else if(0!==c)for(var d=b.mc(),e=0;ea.Ph&&(c=a.Ph);e=D.Fb(a.rb.x+h/b-h/c,a.rb.y+k/b-k/c);a.position=e;D.A(e);a.Bb=c;a.Pu(d,a.ub,b,c,!1);a.$c=!1;Wl(a,
-!1);c=a.Xa;c.wc&&ql(c,b,a.Bb);a.qa();fm(a)}}
-E.prototype.Pu=function(a,b,c,d,e){a.P(b)||(void 0===e&&(e=!1),e||fm(this),Ul(this),d=this.Vb,null===d||!d.ay||this.bm!==Rh||e||a.width===b.width&&a.height===b.height||d.N(),d=this.gb,!0===this.Um&&d instanceof Lh&&(this.U.ha=this.YB(this.U.qe),Jk(d,this)),this.$c||this.MF(a,b),im(this),this.Fh.scale=c,this.Fh.position.x=a.x,this.Fh.position.y=a.y,this.Fh.bounds.set(a),this.Fh.isScroll=e,this.Ja("ViewportBoundsChanged",this.Fh,a),this.dB&&this.links.each(function(a){a.Jj&&a.$.fg(b)&&a.gc()}))};
-function im(a,b){void 0===b&&(b=null);var c=a.Ad;if(null!==c&&c.visible){for(var d=D.Cm(),e=1,g=1,h=c.ya.o,k=h.length,l=0;ln||(dn(m.Jb)?g=g*n/We(g,n):e=e*n/We(e,n))}h=c.Qx;d.n(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=D.Of();g=a.ub;e.n(g.x,g.y,g.width,g.height);for(h=a.Ew.j;h.next();)g=h.value.ub,g.F()&&Pb(e,g.x,g.y,g.width,g.height);if(!e.F()){D.Kb(e);return}k=e.width;l=e.height;g=e.x;h=e.y;D.Kb(e)}c.width=k+2*d.width;c.height=
-l+2*d.height;e=D.O();fb(g,h,0,0,d.width,d.height,e);e.offset(-d.width,-d.height);D.Rk(d);c.Y.location=e;D.A(e)}}E.prototype.clearSelection=E.prototype.vx=function(){var a=0
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
Properties SummarySee also:
-
-
-
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
Constructor
-
+
The constructor creates a new GridLayout with default values for its properties,
including setting Layout#isViewporSized to true.
diff --git a/api/symbols/Group.html b/api/symbols/Group.html
index 025dc3125..db1cbccdb 100644
--- a/api/symbols/Group.html
+++ b/api/symbols/Group.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/HTMLInfo.html b/api/symbols/HTMLInfo.html
index 93707b08e..39a2e4620 100644
--- a/api/symbols/HTMLInfo.html
+++ b/api/symbols/HTMLInfo.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/InputEvent.html b/api/symbols/InputEvent.html
index 3b58d5ac8..428fb3f23 100644
--- a/api/symbols/InputEvent.html
+++ b/api/symbols/InputEvent.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Iterable.html b/api/symbols/Iterable.html
index d73a3f3b3..fe1a29c7d 100644
--- a/api/symbols/Iterable.html
+++ b/api/symbols/Iterable.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Iterator.html b/api/symbols/Iterator.html
index 8f8640660..03434594a 100644
--- a/api/symbols/Iterator.html
+++ b/api/symbols/Iterator.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Layer.html b/api/symbols/Layer.html
index adb088c17..65abbf629 100644
--- a/api/symbols/Layer.html
+++ b/api/symbols/Layer.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayeredDigraphEdge.html b/api/symbols/LayeredDigraphEdge.html
index d07a76eb4..5faab621f 100644
--- a/api/symbols/LayeredDigraphEdge.html
+++ b/api/symbols/LayeredDigraphEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayeredDigraphLayout.html b/api/symbols/LayeredDigraphLayout.html
index 24b5efb39..f6f831f72 100644
--- a/api/symbols/LayeredDigraphLayout.html
+++ b/api/symbols/LayeredDigraphLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayeredDigraphVertex.html b/api/symbols/LayeredDigraphVertex.html
index 5fa799604..f5ec71458 100644
--- a/api/symbols/LayeredDigraphVertex.html
+++ b/api/symbols/LayeredDigraphVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Layout.html b/api/symbols/Layout.html
index c7cce60a8..b7e42f729 100644
--- a/api/symbols/Layout.html
+++ b/api/symbols/Layout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayoutEdge.html b/api/symbols/LayoutEdge.html
index 47f91cc97..233fc2e71 100644
--- a/api/symbols/LayoutEdge.html
+++ b/api/symbols/LayoutEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayoutNetwork.html b/api/symbols/LayoutNetwork.html
index 6ed215b50..81fe69d9b 100644
--- a/api/symbols/LayoutNetwork.html
+++ b/api/symbols/LayoutNetwork.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LayoutVertex.html b/api/symbols/LayoutVertex.html
index d0454d8f1..57de098fe 100644
--- a/api/symbols/LayoutVertex.html
+++ b/api/symbols/LayoutVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Link.html b/api/symbols/Link.html
index c4cfa94ef..924cd2e97 100644
--- a/api/symbols/Link.html
+++ b/api/symbols/Link.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LinkReshapingTool.html b/api/symbols/LinkReshapingTool.html
index 917b27002..05eefc694 100644
--- a/api/symbols/LinkReshapingTool.html
+++ b/api/symbols/LinkReshapingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LinkingBaseTool.html b/api/symbols/LinkingBaseTool.html
index 7d89c4f0c..212562e2a 100644
--- a/api/symbols/LinkingBaseTool.html
+++ b/api/symbols/LinkingBaseTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/LinkingTool.html b/api/symbols/LinkingTool.html
index 93f48f71c..69c12df5a 100644
--- a/api/symbols/LinkingTool.html
+++ b/api/symbols/LinkingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/List.html b/api/symbols/List.html
index a46d464c6..70aef8db0 100644
--- a/api/symbols/List.html
+++ b/api/symbols/List.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Map.html b/api/symbols/Map.html
index ca1ed90d8..f3165dc5c 100644
--- a/api/symbols/Map.html
+++ b/api/symbols/Map.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Margin.html b/api/symbols/Margin.html
index 3605ace41..fde52c6bf 100644
--- a/api/symbols/Margin.html
+++ b/api/symbols/Margin.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Model.html b/api/symbols/Model.html
index d324374b0..0d0a27901 100644
--- a/api/symbols/Model.html
+++ b/api/symbols/Model.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Node.html b/api/symbols/Node.html
index 945de70d8..c1a2e9511 100644
--- a/api/symbols/Node.html
+++ b/api/symbols/Node.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Overview.html b/api/symbols/Overview.html
index b2549b148..27e7ddad7 100644
--- a/api/symbols/Overview.html
+++ b/api/symbols/Overview.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
@@ -1156,7 +1156,7 @@ Constructor
- More...
+
The constructor creates an Overview that does not show any Diagram,
until you set Overview.observed.More...
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Panel.html b/api/symbols/Panel.html
index f5fb7845b..d4fc31dea 100644
--- a/api/symbols/Panel.html
+++ b/api/symbols/Panel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PanningTool.html b/api/symbols/PanningTool.html
index 3776de6af..f55f2733f 100644
--- a/api/symbols/PanningTool.html
+++ b/api/symbols/PanningTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Part.html b/api/symbols/Part.html
index bb064b20b..687a3ace3 100644
--- a/api/symbols/Part.html
+++ b/api/symbols/Part.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PathFigure.html b/api/symbols/PathFigure.html
index 46dee219b..88c107b77 100644
--- a/api/symbols/PathFigure.html
+++ b/api/symbols/PathFigure.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PathSegment.html b/api/symbols/PathSegment.html
index 3e0b44a38..24cafaf59 100644
--- a/api/symbols/PathSegment.html
+++ b/api/symbols/PathSegment.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Picture.html b/api/symbols/Picture.html
index df35eae1f..78348db11 100644
--- a/api/symbols/Picture.html
+++ b/api/symbols/Picture.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Placeholder.html b/api/symbols/Placeholder.html
index b76c6f609..33f8f9950 100644
--- a/api/symbols/Placeholder.html
+++ b/api/symbols/Placeholder.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Point.html b/api/symbols/Point.html
index 01080f8cd..ac410049c 100644
--- a/api/symbols/Point.html
+++ b/api/symbols/Point.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Rect.html b/api/symbols/Rect.html
index 419392fcb..e2b8f1078 100644
--- a/api/symbols/Rect.html
+++ b/api/symbols/Rect.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RelinkingTool.html b/api/symbols/RelinkingTool.html
index 65dc3c58b..8c9a08ee8 100644
--- a/api/symbols/RelinkingTool.html
+++ b/api/symbols/RelinkingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ResizingTool.html b/api/symbols/ResizingTool.html
index 9f340f85a..f9b9d61b5 100644
--- a/api/symbols/ResizingTool.html
+++ b/api/symbols/ResizingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
@@ -1218,7 +1218,7 @@ Properties Summary
- Gets or sets the width and height multiples with which the user must resize.More...
The effective cell size is computed by first looking at the AdornedPart's Part.resizeCellSize.
If either or both of its width and height are NaN, it will use this property, cellSize
.
If either or both of this property's width and height are NaN, it will
consider the DraggingTool.gridSnapCellSize and the Diagram.grid's Panel.gridCellSize.
The default value is NaN x NaN.
Setting this property does not raise any events.
+ Gets or sets the width and height multiples with which the user must resize.More...
The effective cell size is computed by first looking at the Adornment.adornedPart's Part.resizeCellSize.
If either or both of its width and height are NaN, it will use this property, cellSize
.
If either or both of this property's width and height are NaN, it will
consider the DraggingTool.gridSnapCellSize and the Diagram.grid's Panel.gridCellSize.
The default value is NaN x NaN.
Setting this property does not raise any events.
diff --git a/api/symbols/RotatingTool.html b/api/symbols/RotatingTool.html
index 077eb07d6..b74d1b92d 100644
--- a/api/symbols/RotatingTool.html
+++ b/api/symbols/RotatingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RowColumnDefinition.html b/api/symbols/RowColumnDefinition.html
index d592cdda4..92bd4a1a9 100644
--- a/api/symbols/RowColumnDefinition.html
+++ b/api/symbols/RowColumnDefinition.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Set.html b/api/symbols/Set.html
index cc34200b0..2890dfd58 100644
--- a/api/symbols/Set.html
+++ b/api/symbols/Set.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Shape.html b/api/symbols/Shape.html
index cc08069c9..c3afe400b 100644
--- a/api/symbols/Shape.html
+++ b/api/symbols/Shape.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Size.html b/api/symbols/Size.html
index 47ed38112..d04fb5620 100644
--- a/api/symbols/Size.html
+++ b/api/symbols/Size.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Spot.html b/api/symbols/Spot.html
index d2401becb..d42c186eb 100644
--- a/api/symbols/Spot.html
+++ b/api/symbols/Spot.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TextBlock.html b/api/symbols/TextBlock.html
index 3a2f72e84..2c2b1f5fa 100644
--- a/api/symbols/TextBlock.html
+++ b/api/symbols/TextBlock.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TextEditingTool.html b/api/symbols/TextEditingTool.html
index 0520670f3..539403cfd 100644
--- a/api/symbols/TextEditingTool.html
+++ b/api/symbols/TextEditingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Tool.html b/api/symbols/Tool.html
index ce77425d4..718708368 100644
--- a/api/symbols/Tool.html
+++ b/api/symbols/Tool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ToolManager.html b/api/symbols/ToolManager.html
index 9e6bbe014..b1b84e091 100644
--- a/api/symbols/ToolManager.html
+++ b/api/symbols/ToolManager.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Transaction.html b/api/symbols/Transaction.html
index 6d1b458e1..7afc71007 100644
--- a/api/symbols/Transaction.html
+++ b/api/symbols/Transaction.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeEdge.html b/api/symbols/TreeEdge.html
index 3d055ccb3..7d1d85c8b 100644
--- a/api/symbols/TreeEdge.html
+++ b/api/symbols/TreeEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeLayout.html b/api/symbols/TreeLayout.html
index 33ac843ab..94d6bc6b1 100644
--- a/api/symbols/TreeLayout.html
+++ b/api/symbols/TreeLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeModel.html b/api/symbols/TreeModel.html
index 3bfd93ff3..13d41e132 100644
--- a/api/symbols/TreeModel.html
+++ b/api/symbols/TreeModel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeVertex.html b/api/symbols/TreeVertex.html
index bb15d23a1..c7f6ff9a2 100644
--- a/api/symbols/TreeVertex.html
+++ b/api/symbols/TreeVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/UndoManager.html b/api/symbols/UndoManager.html
index 6087843d6..f78cb460d 100644
--- a/api/symbols/UndoManager.html
+++ b/api/symbols/UndoManager.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/assets/images/screenshots/NonRealtimeDragging.png b/assets/images/screenshots/NonRealtimeDragging.png
new file mode 100644
index 000000000..d8335c9e0
Binary files /dev/null and b/assets/images/screenshots/NonRealtimeDragging.png differ
diff --git a/doc/changelog.html b/doc/changelog.html
index fa15ae789..ba889995b 100644
--- a/doc/changelog.html
+++ b/doc/changelog.html
@@ -68,6 +68,25 @@ GoJS Change Log
}
+ Changes for 1.7.12
+
+
+
Changes for 1.7.11
diff --git a/learn/index.html b/learn/index.html
index 2bbd098ae..b55b42821 100644
--- a/learn/index.html
+++ b/learn/index.html
@@ -281,7 +281,7 @@ Styling Nodes
myDiagram.nodeTemplate =
- $(go.Node, "Vertical" // second argument of a Node/Panel can be a Panel type
+ $(go.Node, "Vertical", // second argument of a Node/Panel can be a Panel type
/* set Node properties here */
{ // the Node.location point will be at the center of each node
locationSpot: go.Spot.Center
diff --git a/package.json b/package.json
index 9897eaafd..a28720daf 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "gojs",
- "version": "1.7.11",
+ "version": "1.7.12",
"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",
@@ -24,9 +24,7 @@
"intro",
"learn",
"projects",
- "release/go.js",
- "release/go-debug.js",
- "release/go.d.ts",
+ "release",
"samples"
],
"main": "release/go.js",
diff --git a/release/go-debug.js b/release/go-debug.js
index 3cc82a36a..f081831f1 100644
--- a/release/go-debug.js
+++ b/release/go-debug.js
@@ -1,235 +1,235 @@
/*
- * GoJS v1.7.11 JavaScript Library for HTML Diagrams
+ * GoJS v1.7.12 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.11/doc/license.html.
+ * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.7.12/doc/license.html.
*/
(function(window) { var f,aa={};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});
(function(){for(var a=0,b=["ms","moz","webkit","o"],c=0;c=d.length)){var e=D.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.Fw&&g.Fw[d])continue}else if(D.Rx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},ux:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==
-typeof b&&"boolean"!==typeof b&&"function"!==typeof b)if(void 0!==D.Gd(b)){if(!v.Sw.contains(b))if(v.Sw.add(b),v.tw.add(v.OE(a,b)),b instanceof K||b instanceof L||b instanceof ma)for(var c=b.j;c.next();)v.ux(a+"["+c.key+"]",c.value);else for(c in b){var d=D.vb(b,c);if(void 0!==d&&null!==d&&D.Ta(d)&&d!==b.Fw){if(b instanceof na){if(d===b.gi)continue}else if(b instanceof x){if("data"===c||d===b.Nd)continue;if("itemArray"===c||d===b.bj)continue;if(b instanceof F&&d===b.Ll)continue}else if(!(b instanceof
-E))if(b instanceof oa){if("archetypeGroupData"===c||d===b.az)continue}else if(b instanceof ra){if("archetypeLinkData"===c||d===b.cz)continue;if("archetypeLabelNodeData"===c||d===b.bz)continue}else if(b instanceof ta){if("archetypeNodeData"===c||d===b.ql)continue}else if(b instanceof M){if("nodeDataArray"===c||d===b.we)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Fc)continue;if(d===b.xg)continue}else if(b instanceof va||b instanceof wa||b instanceof xa)continue;v.ux(a+"."+
-c,d)}}}else if(Array.isArray(b))for(c=0;c=a.length?a.push(c):a.splice(b,0,c):D.k("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Ug:function(a,
-b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):D.k("Cannot remove an object from an HTMLCollection or NodeList at "+b)},Ty:[],O:function(){var a=D.Ty.pop();return void 0===a?new O:a},Fb:function(a,b){var c=D.Ty.pop();if(void 0===c)return new O(a,b);c.x=a;c.y=b;return c},A:function(a){D.Ty.push(a)},lC:[],Cm:function(){var a=D.lC.pop();return void 0===a?new Ca:a},Rk:function(a){D.lC.push(a)},Uy:[],Of:function(){var a=D.Uy.pop();return void 0===a?new B:a},sg:function(a,b,c,d){var e=D.Uy.pop();
-if(void 0===e)return new B(a,b,c,d);e.x=a;e.y=b;e.width=c;e.height=d;return e},Kb:function(a){D.Uy.push(a)},mC:[],Pf:function(){var a=D.mC.pop();return void 0===a?new Da:a},He:function(a){D.mC.push(a)},Vy:null,v:function(){var a=D.Vy;return null!==a?(D.Vy=null,a):new Ea},u:function(a){a.reset();D.Vy=a},kC:[],tb:function(){var a=D.kC.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;D.kC.push(a)},Do:Object.freeze([]),Gm:1,uc:function(a){a.__gohashid=D.Gm++},qq:function(a){var b=a.__gohashid;
-void 0===b&&(b=D.Gm++,a.__gohashid=b);return b},Gd:function(a){return a.__gohashid},ja:function(a,b){b.hz=a;aa[a]=b},Sa:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},Ai:function(a){a.EH=!0},defineProperty:function(a,b,c,d,e){D.h(a,"function","Util.defineProperty:classfunc");D.h(b,"object","Util.defineProperty:propobj");D.h(c,"function","Util.defineProperty:getter");D.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}},GK:!1,w:function(a,b,c,d){D.h(a,"function","Util.defineReadOnlyProperty:classfunc");D.h(b,"object","Util.defineReadOnlyProperty:propobj");D.h(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var g=b[e];b={get:c,set:function(a){D.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}},ke:function(a,b){for(var c in b)b[c]=!0;a.prototype.Fw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?D.rf(a):null===a?"*":""},rf:function(a){if("function"===typeof a){if(a.hz)return a.hz;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,
-c).trim();if(""!==b)return a.hz=b}else if("object"===typeof a&&a.constructor)return D.rf(a.constructor);return typeof a},s:function(a,b,c){D.h(a,"function","Util.defineEnumValue:classfunc");D.h(b,"string","Util.defineEnumValue:name");D.h(c,"number","Util.defineEnumValue:num");c=new za(a,b,c);Object.freeze(c);a[b]=c;var d=a.lv;d instanceof ma||(d=new ma("string",za),a.lv=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){v&&D.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){v&&D.trace("property set error: "+d.toString())}},Zu:function(a,b){D.h(a,"object","Setting properties requires Objects as arguments");D.h(b,"object","Setting properties requires Objects as arguments");var c=a instanceof x,d=a instanceof E,e;for(e in b){""===
-e&&D.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;c=d.length)){var e=D.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.Hw&&g.Hw[d])continue}else if(D.Sx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},wx:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==
+typeof b&&"boolean"!==typeof b&&"function"!==typeof b)if(void 0!==D.Gd(b)){if(!v.Uw.contains(b))if(v.Uw.add(b),v.vw.add(v.OE(a,b)),b instanceof K||b instanceof L||b instanceof ma)for(var c=b.j;c.next();)v.wx(a+"["+c.key+"]",c.value);else for(c in b){var d=D.vb(b,c);if(void 0!==d&&null!==d&&D.Ta(d)&&d!==b.Hw){if(b instanceof na){if(d===b.of)continue}else if(b instanceof x){if("data"===c||d===b.Nd)continue;if("itemArray"===c||d===b.bj)continue;if(b instanceof F&&d===b.Ml)continue}else if(!(b instanceof
+E))if(b instanceof oa){if("archetypeGroupData"===c||d===b.bz)continue}else if(b instanceof ra){if("archetypeLinkData"===c||d===b.dz)continue;if("archetypeLabelNodeData"===c||d===b.cz)continue}else if(b instanceof ta){if("archetypeNodeData"===c||d===b.rl)continue}else if(b instanceof M){if("nodeDataArray"===c||d===b.we)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Fc)continue;if(d===b.yg)continue}else if(b instanceof va||b instanceof wa||b instanceof xa)continue;v.wx(a+"."+
+c,d)}}}else if(Array.isArray(b))for(c=0;c=a.length?a.push(c):a.splice(b,0,c):D.k("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Vg:function(a,
+b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):D.k("Cannot remove an object from an HTMLCollection or NodeList at "+b)},Uy:[],O:function(){var a=D.Uy.pop();return void 0===a?new O:a},Fb:function(a,b){var c=D.Uy.pop();if(void 0===c)return new O(a,b);c.x=a;c.y=b;return c},A:function(a){D.Uy.push(a)},lC:[],Dm:function(){var a=D.lC.pop();return void 0===a?new Ca:a},Sk:function(a){D.lC.push(a)},Vy:[],Pf:function(){var a=D.Vy.pop();return void 0===a?new B:a},tg:function(a,b,c,d){var e=D.Vy.pop();
+if(void 0===e)return new B(a,b,c,d);e.x=a;e.y=b;e.width=c;e.height=d;return e},Kb:function(a){D.Vy.push(a)},mC:[],Qf:function(){var a=D.mC.pop();return void 0===a?new Da:a},He:function(a){D.mC.push(a)},Wy:null,v:function(){var a=D.Wy;return null!==a?(D.Wy=null,a):new Ea},u:function(a){a.reset();D.Wy=a},kC:[],tb:function(){var a=D.kC.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;D.kC.push(a)},Do:Object.freeze([]),Hm:1,uc:function(a){a.__gohashid=D.Hm++},qq:function(a){var b=a.__gohashid;
+void 0===b&&(b=D.Hm++,a.__gohashid=b);return b},Gd:function(a){return a.__gohashid},ka:function(a,b){b.iz=a;aa[a]=b},Sa:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},Ai:function(a){a.FH=!0},defineProperty:function(a,b,c,d,e){D.h(a,"function","Util.defineProperty:classfunc");D.h(b,"object","Util.defineProperty:propobj");D.h(c,"function","Util.defineProperty:getter");D.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}},HK:!1,w:function(a,b,c,d){D.h(a,"function","Util.defineReadOnlyProperty:classfunc");D.h(b,"object","Util.defineReadOnlyProperty:propobj");D.h(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var g=b[e];b={get:c,set:function(a){D.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}},ke:function(a,b){for(var c in b)b[c]=!0;a.prototype.Hw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?D.sf(a):null===a?"*":""},sf:function(a){if("function"===typeof a){if(a.iz)return a.iz;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,
+c).trim();if(""!==b)return a.iz=b}else if("object"===typeof a&&a.constructor)return D.sf(a.constructor);return typeof a},s:function(a,b,c){D.h(a,"function","Util.defineEnumValue:classfunc");D.h(b,"string","Util.defineEnumValue:name");D.h(c,"number","Util.defineEnumValue:num");c=new za(a,b,c);Object.freeze(c);a[b]=c;var d=a.nv;d instanceof ma||(d=new ma("string",za),a.nv=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){v&&D.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){v&&D.trace("property set error: "+d.toString())}},av:function(a,b){D.h(a,"object","Setting properties requires Objects as arguments");D.h(b,"object","Setting properties requires Objects as arguments");var c=a instanceof x,d=a instanceof E,e;for(e in b){""===
+e&&D.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;cd;d++)b[D.Vg("7ca11abfd7330390")](D.Vg(c[d-1]),10,15*d+0);b[D.Vg("7ca11abfd022028846")]=D.Vg("39f046ebb36e4b");for(d=1;5>d;d++)b[D.Vg("7ca11abfd7330390")](D.Vg(c[d-
-1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])D.s=function(a,b){var c=new za(a,b,2);Object.freeze(c);a[b]=c;var d=a.lv;d instanceof ma||(d=new ma("string",za),a.lv=d);d.add(b,c);return c};return a}();function za(a,b,c){D.uc(this);this.vC=a;this.Xb=b;this.IH=c}D.ja("EnumValue",za);za.prototype.toString=function(){return D.rf(this.vC)+"."+this.Xb};D.w(za,{Ne:"classType"},function(){return this.vC});D.w(za,{name:"name"},function(){return this.Xb});D.w(za,{value:"value"},function(){return this.IH});
-var Ha;za.findName=Ha=function(a,b){if(void 0===b||null===b||""===b)return null;D.h(a,"function","findName:classfunc");D.h(b,"string","EnumValue.findName:name");var c=a.lv;return c instanceof ma?c.na(b):null};function ya(){this.uC=[]}ya.prototype.toString=function(){return this.uC.join("")};ya.prototype.add=function(a){""!==a&&this.uC.push(a)};function la(){}
-function Ia(a){void 0===a&&(a=42);this.seed=a;this.Py=48271;this.kv=2147483647;this.jC=this.kv/this.Py;this.qH=this.kv%this.Py;this.pH=1/this.kv;this.random()}Ia.prototype.random=function(){var a=this.seed%this.jC*this.Py-this.seed/this.jC*this.qH;this.seed=0d;d++)b[D.Wg("7ca11abfd7330390")](D.Wg(c[d-1]),10,15*d+0);b[D.Wg("7ca11abfd022028846")]=D.Wg("39f046ebb36e4b");for(d=1;5>d;d++)b[D.Wg("7ca11abfd7330390")](D.Wg(c[d-
+1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])D.s=function(a,b){var c=new za(a,b,2);Object.freeze(c);a[b]=c;var d=a.nv;d instanceof ma||(d=new ma("string",za),a.nv=d);d.add(b,c);return c};return a}();function za(a,b,c){D.uc(this);this.vC=a;this.Yb=b;this.JH=c}D.ka("EnumValue",za);za.prototype.toString=function(){return D.sf(this.vC)+"."+this.Yb};D.w(za,{Ne:"classType"},function(){return this.vC});D.w(za,{name:"name"},function(){return this.Yb});D.w(za,{value:"value"},function(){return this.JH});
+var Ha;za.findName=Ha=function(a,b){if(void 0===b||null===b||""===b)return null;D.h(a,"function","findName:classfunc");D.h(b,"string","EnumValue.findName:name");var c=a.nv;return c instanceof ma?c.na(b):null};function ya(){this.uC=[]}ya.prototype.toString=function(){return this.uC.join("")};ya.prototype.add=function(a){""!==a&&this.uC.push(a)};function la(){}
+function Ia(a){void 0===a&&(a=42);this.seed=a;this.Qy=48271;this.mv=2147483647;this.jC=this.mv/this.Qy;this.rH=this.mv%this.Qy;this.qH=1/this.mv;this.random()}Ia.prototype.random=function(){var a=this.seed%this.jC*this.Qy-this.seed/this.jC*this.rH;this.seed=0this.key)return!1;D.Va(a)}var a=a.o,b=a.length,c=++this.Dc,d=this.mi;if(null!==d)for(;cthis.key)return!1;D.Va(a)}var b=--this.Dc;if(0<=b)return this.key=b,this.value=a.o[b],!0;this.Rf();return!1};Pa.prototype.hasNext=function(){return this.next()};
-Pa.prototype.first=Pa.prototype.first=function(){var a=this.Ec;this.$a=a.G;var b=a.o;this.Dc=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};Pa.prototype.any=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.G!==c&&D.Va(b)}return!1};Pa.prototype.all=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.G!==c&&D.Va(b)}return!0};
-Pa.prototype.each=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--)a(d[e]),b.G!==c&&D.Va(b);return this};Pa.prototype.map=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=[],e=b.o,g=e.length;this.Dc=g;for(g-=1;0<=g;g--)d.push(a(e[g])),b.G!==c&&D.Va(b);a=new K;a.o=d;a.Rc();return a.j};
-Pa.prototype.filter=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=[],e=b.o,g=e.length;this.Dc=g;for(g-=1;0<=g;g--){var h=e[g];a(h)&&d.push(h);b.G!==c&&D.Va(b)}a=new K(b.ca);a.o=d;a.Rc();return a.j};Pa.prototype.concat=function(a){this.Ec.cj=null;return new Ma(this,a.j)};D.w(Pa,{count:"count"},function(){return this.Ec.o.length});Pa.prototype.Rf=function(){this.key=-1;this.value=null;this.$a=-1;this.Ec.cj=this};
+La.prototype.each=function(a){this.key=-1;a(this.value);return this};La.prototype.map=function(a){return new La(a(this.value))};La.prototype.filter=function(a){return a(this.value)?new La(this.value):Ka};La.prototype.concat=function(a){return new Ma(this,a.j)};D.w(La,{count:"count"},function(){return 1});La.prototype.Sf=function(){this.value=null};La.prototype.toString=function(){return"SingletonIterator("+this.value+")"};function Ma(a,b){this.El=a;this.Fl=b;this.ov=!1}D.ke(Ma,{key:!0,value:!0});
+D.w(Ma,{j:"iterator"},function(){return this});Ma.prototype.reset=Ma.prototype.reset=function(){this.El.reset();this.Fl.reset();this.ov=!1};Ma.prototype.next=Ma.prototype.next=function(){if(!this.ov){var a=this.El;if(a.next())return this.key=a.key,this.value=a.value,!0;this.ov=!0}return this.ov&&(a=this.Fl,a.next())?(this.key=a.key,this.value=a.value,!0):!1};Ma.prototype.hasNext=function(){return this.next()};
+Ma.prototype.first=Ma.prototype.first=function(){this.reset();return this.next()?this.value:null};Ma.prototype.any=function(a){return this.El.any(a)||this.Fl.any(a)?!0:!1};Ma.prototype.all=function(a){return this.El.all(a)&&this.Fl.all(a)?!0:!1};Ma.prototype.each=function(a){this.El.each(a);this.Fl.each(a);return this};Ma.prototype.map=function(a){return new Ma(this.El.map(a),this.Fl.map(a))};Ma.prototype.filter=function(a){return new Ma(this.El.filter(a),this.Fl.filter(a))};
+Ma.prototype.concat=function(a){return new Ma(this,a.j)};D.w(Ma,{count:"count"},function(){return this.El.count+this.Fl.count});Ma.prototype.Sf=function(){this.value=this.key=null};Ma.prototype.toString=function(){return"ConcatIterator()"};function Na(a){this.Ec=a;this.mi=null;a.Xb=null;this.$a=a.I;this.Dc=-1}D.ke(Na,{key:!0,value:!0});D.w(Na,{j:"iterator"},function(){return this});D.defineProperty(Na,{Eq:"predicate"},function(){return this.mi},function(a){this.mi=a});
+Na.prototype.reset=Na.prototype.reset=function(){var a=this.Ec;a.Xb=null;this.$a=a.I;this.Dc=-1};Na.prototype.next=Na.prototype.next=function(){var a=this.Ec;if(a.I!==this.$a){if(0>this.key)return!1;D.Va(a)}var a=a.o,b=a.length,c=++this.Dc,d=this.mi;if(null!==d)for(;cthis.key)return!1;D.Va(a)}var b=--this.Dc;if(0<=b)return this.key=b,this.value=a.o[b],!0;this.Sf();return!1};Pa.prototype.hasNext=function(){return this.next()};
+Pa.prototype.first=Pa.prototype.first=function(){var a=this.Ec;this.$a=a.I;var b=a.o;this.Dc=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};Pa.prototype.any=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.I!==c&&D.Va(b)}return!1};Pa.prototype.all=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.I!==c&&D.Va(b)}return!0};
+Pa.prototype.each=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--)a(d[e]),b.I!==c&&D.Va(b);return this};Pa.prototype.map=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=[],e=b.o,g=e.length;this.Dc=g;for(g-=1;0<=g;g--)d.push(a(e[g])),b.I!==c&&D.Va(b);a=new K;a.o=d;a.Rc();return a.j};
+Pa.prototype.filter=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=[],e=b.o,g=e.length;this.Dc=g;for(g-=1;0<=g;g--){var h=e[g];a(h)&&d.push(h);b.I!==c&&D.Va(b)}a=new K(b.ca);a.o=d;a.Rc();return a.j};Pa.prototype.concat=function(a){this.Ec.cj=null;return new Ma(this,a.j)};D.w(Pa,{count:"count"},function(){return this.Ec.o.length});Pa.prototype.Sf=function(){this.key=-1;this.value=null;this.$a=-1;this.Ec.cj=this};
Pa.prototype.toString=function(){return"ListIteratorBackwards("+this.Dc+"/"+this.Ec.count+")"};
-function K(a){D.uc(this);this.J=!1;this.o=[];this.G=0;this.cj=this.Wb=null;void 0===a||null===a?this.ca=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.ca=a:D.ua(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.ca=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:D.ua(a,"null, a primitive type name, or a class type",
-"List constructor: type")}D.ja("List",K);K.prototype.oh=function(a){null!==this.ca&&("string"===typeof this.ca?typeof a===this.ca&&null!==a||D.hc(a,this.ca):a instanceof this.ca||D.hc(a,this.ca))};K.prototype.Rc=function(){var a=this.G;a++;999999999a||a>=b.length)&&D.ua(a,"0 <= i < length",K,"elt:i");return b[a]};K.prototype.get=K.prototype.get=function(a){return this.ea(a)};K.prototype.setElt=K.prototype.rg=function(a,b){v&&(this.oh(b),D.p(a,K,"setElt:i"));var c=this.o;(0>a||a>=c.length)&&D.ua(a,"0 <= i < length",K,"setElt:i");this.J&&D.pa(this,a);c[a]=b};K.prototype.set=K.prototype.set=function(a,b){this.rg(a,b)};
-K.prototype.first=K.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};K.prototype.last=K.prototype.pe=function(){var a=this.o,b=a.length;return 0a&&D.ua(a,">= 0",K,"insertAt:i");this.J&&D.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Rc();return!0};
-K.prototype.remove=K.prototype["delete"]=K.prototype.remove=function(a){if(null===a)return!1;v&&this.oh(a);this.J&&D.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.Rc();return!0};K.prototype.removeAt=K.prototype.jd=function(a){v&&D.p(a,K,"removeAt:i");var b=this.o;(0>a||a>=b.length)&&D.ua(a,"0 <= i < length",K,"removeAt:i");this.J&&D.pa(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Rc()};
+function K(a){D.uc(this);this.J=!1;this.o=[];this.I=0;this.cj=this.Xb=null;void 0===a||null===a?this.ca=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.ca=a:D.ua(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.ca=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:D.ua(a,"null, a primitive type name, or a class type",
+"List constructor: type")}D.ka("List",K);K.prototype.ph=function(a){null!==this.ca&&("string"===typeof this.ca?typeof a===this.ca&&null!==a||D.ic(a,this.ca):a instanceof this.ca||D.ic(a,this.ca))};K.prototype.Rc=function(){var a=this.I;a++;999999999a||a>=b.length)&&D.ua(a,"0 <= i < length",K,"elt:i");return b[a]};K.prototype.get=K.prototype.get=function(a){return this.ea(a)};K.prototype.setElt=K.prototype.sg=function(a,b){v&&(this.ph(b),D.p(a,K,"setElt:i"));var c=this.o;(0>a||a>=c.length)&&D.ua(a,"0 <= i < length",K,"setElt:i");this.J&&D.pa(this,a);c[a]=b};K.prototype.set=K.prototype.set=function(a,b){this.sg(a,b)};
+K.prototype.first=K.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};K.prototype.last=K.prototype.pe=function(){var a=this.o,b=a.length;return 0a&&D.ua(a,">= 0",K,"insertAt:i");this.J&&D.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Rc();return!0};
+K.prototype.remove=K.prototype["delete"]=K.prototype.remove=function(a){if(null===a)return!1;v&&this.ph(a);this.J&&D.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.Rc();return!0};K.prototype.removeAt=K.prototype.jd=function(a){v&&D.p(a,K,"removeAt:i");var b=this.o;(0>a||a>=b.length)&&D.ua(a,"0 <= i < length",K,"removeAt:i");this.J&&D.pa(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Rc()};
K.prototype.removeRange=K.prototype.removeRange=function(a,b){v&&(D.p(a,K,"removeRange:from"),D.p(b,K,"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.J&&D.pa(this);for(var e=a,g=b+1;g=g)return this;(0>b||b>=e-1)&&D.ua(b,"0 <= from < length",K,"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 Ka;var a=this.Wb;return null!==a?(a.reset(),a):new Na(this)});
-D.w(K,{ao:"iteratorBackwards"},function(){if(0>=this.o.length)return Ka;var a=this.cj;return null!==a?(a.reset(),a):new Pa(this)});function Qa(a){this.oi=a;a.Wb=null;this.$a=a.G;this.bb=null}D.ke(Qa,{key:!0,value:!0});D.w(Qa,{j:"iterator"},function(){return this});Qa.prototype.reset=Qa.prototype.reset=function(){var a=this.oi;a.Wb=null;this.$a=a.G;this.bb=null};
-Qa.prototype.next=Qa.prototype.next=function(){var a=this.oi;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};Qa.prototype.hasNext=function(){return this.next()};Qa.prototype.first=Qa.prototype.first=function(){var a=this.oi;this.$a=a.G;a=a.Ka;if(null!==a){this.bb=a;var b=a.value;this.key=a.key;return this.value=b}return null};
-Qa.prototype.any=function(a){var b=this.oi;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d.value))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};Qa.prototype.all=function(a){var b=this.oi;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d.value))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};Qa.prototype.each=function(a){var b=this.oi;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d.value),b.G!==c&&D.Va(b),d=d.fb;return this};
-Qa.prototype.map=function(a){var b=this.oi;b.Wb=null;for(var c=new K,d=b.G,e=b.Ka;null!==e;)c.add(a(e.value)),b.G!==d&&D.Va(b),e=e.fb;return c.j};Qa.prototype.filter=function(a){var b=this.oi;b.Wb=null;for(var c=new K(b.ca),d=b.G,e=b.Ka;null!==e;){var g=e.value;a(g)&&c.add(g);b.G!==d&&D.Va(b);e=e.fb}return c.j};Qa.prototype.concat=function(a){this.oi.Wb=null;return new Ma(this,a.j)};D.w(Qa,{count:"count"},function(){return this.oi.yd});
-Qa.prototype.Rf=function(){this.value=this.key=null;this.$a=-1;this.oi.Wb=this};Qa.prototype.toString=function(){return null!==this.bb?"SetIterator@"+this.bb.value:"SetIterator"};
-function L(a){D.uc(this);this.J=!1;void 0===a||null===a?this.ca=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.ca=a:D.ua(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.ca=a===Object?"object":a===String?"string":a===Number?"number":a:D.ua(a,"null, a primitive type name, or a class type","Set constructor: type");this.zd={};this.yd=0;this.Wb=null;this.G=0;this.fi=this.Ka=null}D.ja("Set",L);
-L.prototype.oh=function(a){null!==this.ca&&("string"===typeof this.ca?typeof a===this.ca&&null!==a||D.hc(a,this.ca):a instanceof this.ca||D.hc(a,this.ca))};L.prototype.Rc=function(){var a=this.G;a++;999999999=this.yd)return Ka;var a=this.Wb;return null!==a?(a.reset(),a):new Qa(this)});function Sa(a){this.Ma=a;this.$a=a.G;this.bb=null}D.ke(Sa,{key:!0,value:!0});D.w(Sa,{j:"iterator"},function(){return this});Sa.prototype.reset=Sa.prototype.reset=function(){this.$a=this.Ma.G;this.bb=null};
-Sa.prototype.next=Sa.prototype.next=function(){var a=this.Ma;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.value=this.key=a=b.key,!0;this.Rf();return!1};Sa.prototype.hasNext=function(){return this.next()};Sa.prototype.first=Sa.prototype.first=function(){var a=this.Ma;this.$a=a.G;a=a.Ka;return null!==a?(this.bb=a,this.value=this.key=a=a.key):null};
-Sa.prototype.any=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d.key))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};Sa.prototype.all=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d.key))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};Sa.prototype.each=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d.key),b.G!==c&&D.Va(b),d=d.fb;return this};
-Sa.prototype.map=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e.key)),b.G!==c&&D.Va(b),e=e.fb;return d.j};Sa.prototype.filter=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=new K(b.af),e=b.Ka;null!==e;){var g=e.key;a(g)&&d.add(g);b.G!==c&&D.Va(b);e=e.fb}return d.j};Sa.prototype.concat=function(a){return new Ma(this,a.j)};D.w(Sa,{count:"count"},function(){return this.Ma.yd});Sa.prototype.Rf=function(){this.value=this.key=null;this.$a=-1};
-Sa.prototype.toString=function(){return null!==this.bb?"MapKeySetIterator@"+this.bb.value:"MapKeySetIterator"};function Ta(a){D.uc(this);this.J=!0;this.Ma=a}D.Sa(Ta,L);Ta.prototype.freeze=function(){return this};Ta.prototype.Ya=function(){return this};Ta.prototype.toString=function(){return"MapKeySet("+this.Ma.toString()+")"};Ta.prototype.add=Ta.prototype.add=function(){D.k("This Set is read-only: "+this.toString());return!1};
+g.sort(a),a=b;a=this.o.length)return Ka;var a=this.Xb;return null!==a?(a.reset(),a):new Na(this)});
+D.w(K,{ao:"iteratorBackwards"},function(){if(0>=this.o.length)return Ka;var a=this.cj;return null!==a?(a.reset(),a):new Pa(this)});function Qa(a){this.oi=a;a.Xb=null;this.$a=a.I;this.cb=null}D.ke(Qa,{key:!0,value:!0});D.w(Qa,{j:"iterator"},function(){return this});Qa.prototype.reset=Qa.prototype.reset=function(){var a=this.oi;a.Xb=null;this.$a=a.I;this.cb=null};
+Qa.prototype.next=Qa.prototype.next=function(){var a=this.oi;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.cb,b=null===b?a.Ka:b.gb;if(null!==b)return this.cb=b,this.value=b.value,this.key=b.key,!0;this.Sf();return!1};Qa.prototype.hasNext=function(){return this.next()};Qa.prototype.first=Qa.prototype.first=function(){var a=this.oi;this.$a=a.I;a=a.Ka;if(null!==a){this.cb=a;var b=a.value;this.key=a.key;return this.value=b}return null};
+Qa.prototype.any=function(a){var b=this.oi;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(a(d.value))return!0;b.I!==c&&D.Va(b);d=d.gb}return!1};Qa.prototype.all=function(a){var b=this.oi;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(!a(d.value))return!1;b.I!==c&&D.Va(b);d=d.gb}return!0};Qa.prototype.each=function(a){var b=this.oi;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;)a(d.value),b.I!==c&&D.Va(b),d=d.gb;return this};
+Qa.prototype.map=function(a){var b=this.oi;b.Xb=null;for(var c=new K,d=b.I,e=b.Ka;null!==e;)c.add(a(e.value)),b.I!==d&&D.Va(b),e=e.gb;return c.j};Qa.prototype.filter=function(a){var b=this.oi;b.Xb=null;for(var c=new K(b.ca),d=b.I,e=b.Ka;null!==e;){var g=e.value;a(g)&&c.add(g);b.I!==d&&D.Va(b);e=e.gb}return c.j};Qa.prototype.concat=function(a){this.oi.Xb=null;return new Ma(this,a.j)};D.w(Qa,{count:"count"},function(){return this.oi.yd});
+Qa.prototype.Sf=function(){this.value=this.key=null;this.$a=-1;this.oi.Xb=this};Qa.prototype.toString=function(){return null!==this.cb?"SetIterator@"+this.cb.value:"SetIterator"};
+function L(a){D.uc(this);this.J=!1;void 0===a||null===a?this.ca=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.ca=a:D.ua(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.ca=a===Object?"object":a===String?"string":a===Number?"number":a:D.ua(a,"null, a primitive type name, or a class type","Set constructor: type");this.zd={};this.yd=0;this.Xb=null;this.I=0;this.gi=this.Ka=null}D.ka("Set",L);
+L.prototype.ph=function(a){null!==this.ca&&("string"===typeof this.ca?typeof a===this.ca&&null!==a||D.ic(a,this.ca):a instanceof this.ca||D.ic(a,this.ca))};L.prototype.Rc=function(){var a=this.I;a++;999999999=this.yd)return Ka;var a=this.Xb;return null!==a?(a.reset(),a):new Qa(this)});function Sa(a){this.Ma=a;this.$a=a.I;this.cb=null}D.ke(Sa,{key:!0,value:!0});D.w(Sa,{j:"iterator"},function(){return this});Sa.prototype.reset=Sa.prototype.reset=function(){this.$a=this.Ma.I;this.cb=null};
+Sa.prototype.next=Sa.prototype.next=function(){var a=this.Ma;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.cb,b=null===b?a.Ka:b.gb;if(null!==b)return this.cb=b,this.value=this.key=a=b.key,!0;this.Sf();return!1};Sa.prototype.hasNext=function(){return this.next()};Sa.prototype.first=Sa.prototype.first=function(){var a=this.Ma;this.$a=a.I;a=a.Ka;return null!==a?(this.cb=a,this.value=this.key=a=a.key):null};
+Sa.prototype.any=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(a(d.key))return!0;b.I!==c&&D.Va(b);d=d.gb}return!1};Sa.prototype.all=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(!a(d.key))return!1;b.I!==c&&D.Va(b);d=d.gb}return!0};Sa.prototype.each=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=b.Ka;null!==d;)a(d.key),b.I!==c&&D.Va(b),d=d.gb;return this};
+Sa.prototype.map=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e.key)),b.I!==c&&D.Va(b),e=e.gb;return d.j};Sa.prototype.filter=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=new K(b.af),e=b.Ka;null!==e;){var g=e.key;a(g)&&d.add(g);b.I!==c&&D.Va(b);e=e.gb}return d.j};Sa.prototype.concat=function(a){return new Ma(this,a.j)};D.w(Sa,{count:"count"},function(){return this.Ma.yd});Sa.prototype.Sf=function(){this.value=this.key=null;this.$a=-1};
+Sa.prototype.toString=function(){return null!==this.cb?"MapKeySetIterator@"+this.cb.value:"MapKeySetIterator"};function Ta(a){D.uc(this);this.J=!0;this.Ma=a}D.Sa(Ta,L);Ta.prototype.freeze=function(){return this};Ta.prototype.Ya=function(){return this};Ta.prototype.toString=function(){return"MapKeySet("+this.Ma.toString()+")"};Ta.prototype.add=Ta.prototype.add=function(){D.k("This Set is read-only: "+this.toString());return!1};
Ta.prototype.set=Ta.prototype.set=function(){D.k("This Set is read-only: "+this.toString());return!1};Ta.prototype.contains=Ta.prototype.contains=function(a){return this.Ma.contains(a)};Ta.prototype.has=Ta.prototype.has=function(a){return this.contains(a)};Ta.prototype.remove=Ta.prototype["delete"]=Ta.prototype.remove=function(){D.k("This Set is read-only: "+this.toString());return!1};Ta.prototype.clear=Ta.prototype.clear=function(){D.k("This Set is read-only: "+this.toString())};
-Ta.prototype.first=Ta.prototype.first=function(){var a=this.Ma.Ka;return null!==a?a.key:null};Ta.prototype.any=function(a){for(var b=this.Ma.Ka;null!==b;){if(a(b.key))return!0;b=b.fb}return!1};Ta.prototype.all=function(a){for(var b=this.Ma.Ka;null!==b;){if(!a(b.key))return!1;b=b.fb}return!0};Ta.prototype.each=function(a){for(var b=this.Ma.Ka;null!==b;)a(b.key),b=b.fb;return this};Ta.prototype.map=function(a){for(var b=new L,c=this.Ma.Ka;null!==c;)b.add(a(c.key)),c=c.fb;return b};
-Ta.prototype.filter=function(a){for(var b=new L(this.Ma.af),c=this.Ma.Ka;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.fb}return b};Ta.prototype.concat=function(a){return this.eH().Sc(a)};Ta.prototype.copy=function(){return new Ta(this.Ma)};Ta.prototype.toSet=Ta.prototype.eH=function(){var a=new L(this.Ma.af),b=this.Ma.zd,c;for(c in b)a.add(b[c].key);return a};Ta.prototype.toArray=Ta.prototype.mc=function(){var a=this.Ma.zd,b=Array(this.Ma.yd),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};
-Ta.prototype.toList=function(){var a=new K(this.Ma.af),b=this.Ma.zd,c;for(c in b)a.add(b[c].key);return a};D.w(Ta,{count:"count"},function(){return this.Ma.yd});D.w(Ta,{size:"size"},function(){return this.Ma.yd});D.w(Ta,{j:"iterator"},function(){return 0>=this.Ma.yd?Ka:new Sa(this.Ma)});function Ya(a){this.Ma=a;a.dj=null;this.$a=a.G;this.bb=null}D.ke(Ya,{key:!0,value:!0});D.w(Ya,{j:"iterator"},function(){return this});
-Ya.prototype.reset=Ya.prototype.reset=function(){var a=this.Ma;a.dj=null;this.$a=a.G;this.bb=null};Ya.prototype.next=Ya.prototype.next=function(){var a=this.Ma;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};Ya.prototype.hasNext=function(){return this.next()};
-Ya.prototype.first=Ya.prototype.first=function(){var a=this.Ma;this.$a=a.G;a=a.Ka;if(null!==a){this.bb=a;var b=a.value;this.key=a.key;return this.value=b}return null};Ya.prototype.any=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d.value))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};Ya.prototype.all=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d.value))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};
-Ya.prototype.each=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d.value),b.G!==c&&D.Va(b),d=d.fb;return this};Ya.prototype.map=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e.value)),b.G!==c&&D.Va(b),e=e.fb;return d.j};Ya.prototype.filter=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=new K(b.af),e=b.Ka;null!==e;){var g=e.value;a(g)&&d.add(g);b.G!==c&&D.Va(b);e=e.fb}return d.j};
-Ya.prototype.concat=function(a){this.Ma.dj=null;return new Ma(this,a.j)};D.w(Ya,{count:"count"},function(){return this.Ma.yd});Ya.prototype.Rf=function(){this.value=this.key=null;this.$a=-1;this.Ma.dj=this};Ya.prototype.toString=function(){return null!==this.bb?"MapValueSetIterator@"+this.bb.value:"MapValueSetIterator"};function Ra(a,b){this.key=a;this.value=b;this.Gp=this.fb=null}D.ke(Ra,{key:!0,value:!0});Ra.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};
-function $a(a){this.Ma=a;a.Wb=null;this.$a=a.G;this.bb=null}D.ke($a,{key:!0,value:!0});D.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){var a=this.Ma;a.Wb=null;this.$a=a.G;this.bb=null};$a.prototype.next=$a.prototype.next=function(){var a=this.Ma;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.key=b.key,this.value=b.value,!0;this.Rf();return!1};$a.prototype.hasNext=function(){return this.next()};
-$a.prototype.first=$a.prototype.first=function(){var a=this.Ma;this.$a=a.G;a=a.Ka;return null!==a?(this.bb=a,this.key=a.key,this.value=a.value,a):null};$a.prototype.any=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};$a.prototype.all=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};
-$a.prototype.each=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d),b.G!==c&&D.Va(b),d=d.fb;return this};$a.prototype.map=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e)),b.G!==c&&D.Va(b),e=e.fb;return d.j};$a.prototype.filter=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)a(e)&&d.add(e),b.G!==c&&D.Va(b),e=e.fb;return d.j};
-$a.prototype.concat=function(a){this.Ma.Wb=null;return new Ma(this,a.j)};D.w($a,{count:"count"},function(){return this.Ma.yd});$a.prototype.Rf=function(){this.value=this.key=null;this.$a=-1;this.Ma.Wb=this};$a.prototype.toString=function(){return null!==this.bb?"MapIterator@"+this.bb:"MapIterator"};
+Ta.prototype.first=Ta.prototype.first=function(){var a=this.Ma.Ka;return null!==a?a.key:null};Ta.prototype.any=function(a){for(var b=this.Ma.Ka;null!==b;){if(a(b.key))return!0;b=b.gb}return!1};Ta.prototype.all=function(a){for(var b=this.Ma.Ka;null!==b;){if(!a(b.key))return!1;b=b.gb}return!0};Ta.prototype.each=function(a){for(var b=this.Ma.Ka;null!==b;)a(b.key),b=b.gb;return this};Ta.prototype.map=function(a){for(var b=new L,c=this.Ma.Ka;null!==c;)b.add(a(c.key)),c=c.gb;return b};
+Ta.prototype.filter=function(a){for(var b=new L(this.Ma.af),c=this.Ma.Ka;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.gb}return b};Ta.prototype.concat=function(a){return this.fH().Sc(a)};Ta.prototype.copy=function(){return new Ta(this.Ma)};Ta.prototype.toSet=Ta.prototype.fH=function(){var a=new L(this.Ma.af),b=this.Ma.zd,c;for(c in b)a.add(b[c].key);return a};Ta.prototype.toArray=Ta.prototype.nc=function(){var a=this.Ma.zd,b=Array(this.Ma.yd),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};
+Ta.prototype.toList=function(){var a=new K(this.Ma.af),b=this.Ma.zd,c;for(c in b)a.add(b[c].key);return a};D.w(Ta,{count:"count"},function(){return this.Ma.yd});D.w(Ta,{size:"size"},function(){return this.Ma.yd});D.w(Ta,{j:"iterator"},function(){return 0>=this.Ma.yd?Ka:new Sa(this.Ma)});function Ya(a){this.Ma=a;a.dj=null;this.$a=a.I;this.cb=null}D.ke(Ya,{key:!0,value:!0});D.w(Ya,{j:"iterator"},function(){return this});
+Ya.prototype.reset=Ya.prototype.reset=function(){var a=this.Ma;a.dj=null;this.$a=a.I;this.cb=null};Ya.prototype.next=Ya.prototype.next=function(){var a=this.Ma;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.cb,b=null===b?a.Ka:b.gb;if(null!==b)return this.cb=b,this.value=b.value,this.key=b.key,!0;this.Sf();return!1};Ya.prototype.hasNext=function(){return this.next()};
+Ya.prototype.first=Ya.prototype.first=function(){var a=this.Ma;this.$a=a.I;a=a.Ka;if(null!==a){this.cb=a;var b=a.value;this.key=a.key;return this.value=b}return null};Ya.prototype.any=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(a(d.value))return!0;b.I!==c&&D.Va(b);d=d.gb}return!1};Ya.prototype.all=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(!a(d.value))return!1;b.I!==c&&D.Va(b);d=d.gb}return!0};
+Ya.prototype.each=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;)a(d.value),b.I!==c&&D.Va(b),d=d.gb;return this};Ya.prototype.map=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e.value)),b.I!==c&&D.Va(b),e=e.gb;return d.j};Ya.prototype.filter=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=new K(b.af),e=b.Ka;null!==e;){var g=e.value;a(g)&&d.add(g);b.I!==c&&D.Va(b);e=e.gb}return d.j};
+Ya.prototype.concat=function(a){this.Ma.dj=null;return new Ma(this,a.j)};D.w(Ya,{count:"count"},function(){return this.Ma.yd});Ya.prototype.Sf=function(){this.value=this.key=null;this.$a=-1;this.Ma.dj=this};Ya.prototype.toString=function(){return null!==this.cb?"MapValueSetIterator@"+this.cb.value:"MapValueSetIterator"};function Ra(a,b){this.key=a;this.value=b;this.Gp=this.gb=null}D.ke(Ra,{key:!0,value:!0});Ra.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};
+function $a(a){this.Ma=a;a.Xb=null;this.$a=a.I;this.cb=null}D.ke($a,{key:!0,value:!0});D.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){var a=this.Ma;a.Xb=null;this.$a=a.I;this.cb=null};$a.prototype.next=$a.prototype.next=function(){var a=this.Ma;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.cb,b=null===b?a.Ka:b.gb;if(null!==b)return this.cb=b,this.key=b.key,this.value=b.value,!0;this.Sf();return!1};$a.prototype.hasNext=function(){return this.next()};
+$a.prototype.first=$a.prototype.first=function(){var a=this.Ma;this.$a=a.I;a=a.Ka;return null!==a?(this.cb=a,this.key=a.key,this.value=a.value,a):null};$a.prototype.any=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(a(d))return!0;b.I!==c&&D.Va(b);d=d.gb}return!1};$a.prototype.all=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(!a(d))return!1;b.I!==c&&D.Va(b);d=d.gb}return!0};
+$a.prototype.each=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;)a(d),b.I!==c&&D.Va(b),d=d.gb;return this};$a.prototype.map=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e)),b.I!==c&&D.Va(b),e=e.gb;return d.j};$a.prototype.filter=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=new K,e=b.Ka;null!==e;)a(e)&&d.add(e),b.I!==c&&D.Va(b),e=e.gb;return d.j};
+$a.prototype.concat=function(a){this.Ma.Xb=null;return new Ma(this,a.j)};D.w($a,{count:"count"},function(){return this.Ma.yd});$a.prototype.Sf=function(){this.value=this.key=null;this.$a=-1;this.Ma.Xb=this};$a.prototype.toString=function(){return null!==this.cb?"MapIterator@"+this.cb:"MapIterator"};
function ma(a,b){D.uc(this);this.J=!1;void 0===a||null===a?this.af=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.af=a:D.ua(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.af=a===Object?"object":a===String?"string":a===Number?"number":a:D.ua(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:D.ua(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:D.ua(b,"null, a primitive type name, or a class type","Map constructor: valtype");this.zd={};this.yd=0;this.dj=this.Wb=null;this.G=0;this.fi=this.Ka=null}D.ja("Map",ma);
-function bb(a,b){null!==a.af&&("string"===typeof a.af?typeof b===a.af&&null!==b||D.hc(b,a.af):b instanceof a.af||D.hc(b,a.af))}ma.prototype.Rc=function(){var a=this.G;a++;999999999=this.count)return Ka;var a=this.Wb;return null!==a?(a.reset(),a):new $a(this)});D.w(ma,{$F:"iteratorKeys"},function(){return 0>=this.count?Ka:new Sa(this)});D.w(ma,{aG:"iteratorValues"},function(){if(0>=this.count)return Ka;var a=this.dj;return null!==a?(a.reset(),a):new Ya(this)});function O(a,b){void 0===a?this.M=this.L=0:"number"===typeof a&&"number"===typeof b?(this.L=a,this.M=b):D.k("Invalid arguments to Point constructor: "+a+", "+b);this.J=!1}
-D.ja("Point",O);D.Ai(O);D.ke(O,{x:!0,y:!0});O.prototype.assign=function(a){this.L=a.L;this.M=a.M};O.prototype.setTo=O.prototype.n=function(a,b){v&&(D.h(a,"number",O,"setTo:x"),D.h(b,"number",O,"setTo:y"));this.L=a;this.M=b;return this};O.prototype.set=O.prototype.set=function(a){v&&D.l(a,O,O,"set:p");this.Qa();this.L=a.L;this.M=a.M;return this};O.prototype.copy=function(){var a=new O;a.L=this.L;a.M=this.M;return a};f=O.prototype;f.Na=function(){this.J=!0;Object.freeze(this);return this};
+ma.prototype.remove=ma.prototype["delete"]=ma.prototype.remove=function(a){if(null===a)return!1;v&&bb(this,a);this.J&&D.pa(this,a);var b=a;if(D.Ta(a)&&(b=D.Gd(a),void 0===b))return!1;a=this.zd[b];if(void 0===a)return!1;var c=a.gb,d=a.Gp;null!==c&&(c.Gp=d);null!==d&&(d.gb=c);this.Ka===a&&(this.Ka=c);this.gi===a&&(this.gi=d);delete this.zd[b];this.yd--;this.Rc();return!0};ma.prototype.clear=ma.prototype.clear=function(){this.J&&D.pa(this);this.zd={};this.yd=0;this.gi=this.Ka=null;this.Rc()};
+ma.prototype.copy=function(){var a=new ma(this.af,this.yi),b=this.zd,c;for(c in b){var d=b[c];a.add(d.key,d.value)}return a};ma.prototype.toArray=ma.prototype.nc=function(){var a=this.zd,b=Array(this.yd),c=0,d;for(d in a){var e=a[d];b[c]=new Ra(e.key,e.value);c++}return b};ma.prototype.toKeySet=ma.prototype.Yj=function(){return new Ta(this)};D.w(ma,{count:"count"},function(){return this.yd});D.w(ma,{size:"size"},function(){return this.yd});
+D.w(ma,{j:"iterator"},function(){if(0>=this.count)return Ka;var a=this.Xb;return null!==a?(a.reset(),a):new $a(this)});D.w(ma,{aG:"iteratorKeys"},function(){return 0>=this.count?Ka:new Sa(this)});D.w(ma,{bG:"iteratorValues"},function(){if(0>=this.count)return Ka;var a=this.dj;return null!==a?(a.reset(),a):new Ya(this)});function O(a,b){void 0===a?this.M=this.L=0:"number"===typeof a&&"number"===typeof b?(this.L=a,this.M=b):D.k("Invalid arguments to Point constructor: "+a+", "+b);this.J=!1}
+D.ka("Point",O);D.Ai(O);D.ke(O,{x:!0,y:!0});O.prototype.assign=function(a){this.L=a.L;this.M=a.M};O.prototype.setTo=O.prototype.n=function(a,b){v&&(D.h(a,"number",O,"setTo:x"),D.h(b,"number",O,"setTo:y"));this.L=a;this.M=b;return this};O.prototype.set=O.prototype.set=function(a){v&&D.l(a,O,O,"set:p");this.Qa();this.L=a.L;this.M=a.M;return this};O.prototype.copy=function(){var a=new O;a.L=this.L;a.M=this.M;return a};f=O.prototype;f.Na=function(){this.J=!0;Object.freeze(this);return this};
f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Point is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};
O.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 O(c,e)}return new O};O.stringify=function(a){v&&D.l(a,O);return a.x.toString()+" "+a.y.toString()};O.prototype.toString=function(){return"Point("+this.x+","+this.y+")"};O.prototype.equals=O.prototype.P=function(a){return a instanceof O?this.L===a.x&&this.M===a.y:!1};
-O.prototype.equalTo=O.prototype.Gx=function(a,b){return this.L===a&&this.M===b};O.prototype.equalsApprox=O.prototype.Tc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)};O.prototype.add=O.prototype.add=function(a){v&&D.l(a,O,O,"add:p");this.Qa();this.L+=a.x;this.M+=a.y;return this};O.prototype.subtract=O.prototype.wo=function(a){v&&D.l(a,O,O,"subtract:p");this.Qa();this.L-=a.x;this.M-=a.y;return this};
+O.prototype.equalTo=O.prototype.Ix=function(a,b){return this.L===a&&this.M===b};O.prototype.equalsApprox=O.prototype.Tc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)};O.prototype.add=O.prototype.add=function(a){v&&D.l(a,O,O,"add:p");this.Qa();this.L+=a.x;this.M+=a.y;return this};O.prototype.subtract=O.prototype.wo=function(a){v&&D.l(a,O,O,"subtract:p");this.Qa();this.L-=a.x;this.M-=a.y;return this};
O.prototype.offset=O.prototype.offset=function(a,b){v&&(D.p(a,O,"offset:dx"),D.p(b,O,"offset:dy"));this.Qa();this.L+=a;this.M+=b;return this};O.prototype.rotate=O.prototype.rotate=function(a){v&&D.p(a,O,"rotate:angle");this.Qa();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};
-O.prototype.scale=O.prototype.scale=function(a,b){v&&(D.p(a,O,"scale:sx"),D.p(b,O,"scale:sy"));this.L*=a;this.M*=b;return this};O.prototype.distanceSquaredPoint=O.prototype.Df=function(a){v&&D.l(a,O,O,"distanceSquaredPoint:p");var b=a.x-this.L;a=a.y-this.M;return b*b+a*a};O.prototype.distanceSquared=O.prototype.kq=function(a,b){v&&(D.p(a,O,"distanceSquared:px"),D.p(b,O,"distanceSquared:py"));var c=a-this.L,d=b-this.M;return c*c+d*d};
-O.prototype.normalize=O.prototype.normalize=function(){this.Qa();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}O.prototype.projectOntoLineSegment=function(a,b,c,d){v&&(D.p(a,O,"projectOntoLineSegment:px"),D.p(b,O,"projectOntoLineSegment:py"),D.p(c,O,"projectOntoLineSegment:qx"),D.p(d,O,"projectOntoLineSegment:qy"));eb(a,b,c,d,this.L,this.M,this);return this};
O.prototype.projectOntoLineSegmentPoint=function(a,b){v&&(D.l(a,O,O,"projectOntoLineSegmentPoint:p"),D.l(b,O,O,"projectOntoLineSegmentPoint:q"));eb(a.x,a.y,b.x,b.y,this.L,this.M,this);return this};O.prototype.snapToGrid=function(a,b,c,d){v&&(D.p(a,O,"snapToGrid:originx"),D.p(b,O,"snapToGrid:originy"),D.p(c,O,"snapToGrid:cellwidth"),D.p(d,O,"snapToGrid:cellheight"));fb(this.L,this.M,a,b,c,d,this);return this};
O.prototype.snapToGridPoint=function(a,b){v&&(D.l(a,O,O,"snapToGridPoint:p"),D.l(b,Ca,O,"snapToGridPoint:q"));fb(this.L,this.M,a.x,a.y,b.width,b.height,this);return this};O.prototype.setRectSpot=O.prototype.to=function(a,b){v&&(D.l(a,B,O,"setRectSpot:r"),D.l(b,R,O,"setRectSpot:spot"));this.Qa();this.L=a.x+b.x*a.width+b.offsetX;this.M=a.y+b.y*a.height+b.offsetY;return this};
-O.prototype.setSpot=O.prototype.av=function(a,b,c,d,e){v&&(D.p(a,O,"setSpot:x"),D.p(b,O,"setSpot:y"),D.p(c,O,"setSpot:w"),D.p(d,O,"setSpot:h"),(0>c||0>d)&&D.k("Point.setSpot:Width and height cannot be negative"),D.l(e,R,O,"setSpot:spot"));this.Qa();this.L=a+e.x*c+e.offsetX;this.M=b+e.y*d+e.offsetY;return this};O.prototype.transform=function(a){v&&D.l(a,Da,O,"transform:t");a.wb(this);return this};function gb(a,b){v&&D.l(b,Da,O,"transformInverted:t");b.Ci(a);return a}var ib;
+O.prototype.setSpot=O.prototype.cv=function(a,b,c,d,e){v&&(D.p(a,O,"setSpot:x"),D.p(b,O,"setSpot:y"),D.p(c,O,"setSpot:w"),D.p(d,O,"setSpot:h"),(0>c||0>d)&&D.k("Point.setSpot:Width and height cannot be negative"),D.l(e,R,O,"setSpot:spot"));this.Qa();this.L=a+e.x*c+e.offsetX;this.M=b+e.y*d+e.offsetY;return this};O.prototype.transform=function(a){v&&D.l(a,Da,O,"transform:t");a.wb(this);return this};function gb(a,b){v&&D.l(b,Da,O,"transformInverted:t");b.Ci(a);return a}var ib;
O.distanceLineSegmentSquared=ib=function(a,b,c,d,e,g){v&&(D.p(a,O,"distanceLineSegmentSquared:px"),D.p(b,O,"distanceLineSegmentSquared:py"),D.p(c,O,"distanceLineSegmentSquared:ax"),D.p(d,O,"distanceLineSegmentSquared:ay"),D.p(e,O,"distanceLineSegmentSquared:bx"),D.p(g,O,"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 jb;
O.distanceSquared=jb=function(a,b,c,d){v&&(D.p(a,O,"distanceSquared:px"),D.p(b,O,"distanceSquared:py"),D.p(c,O,"distanceSquared:qx"),D.p(d,O,"distanceSquared:qy"));a=c-a;b=d-b;return a*a+b*b};var rb;
O.direction=rb=function(a,b,c,d){v&&(D.p(a,O,"direction:px"),D.p(b,O,"direction:py"),D.p(c,O,"direction:qx"),D.p(d,O,"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};D.defineProperty(O,{x:"x"},function(){return this.L},function(a){this.Qa(a);v&&D.h(a,"number",O,"x");this.L=a});
-D.defineProperty(O,{y:"y"},function(){return this.M},function(a){this.Qa(a);v&&D.h(a,"number",O,"y");this.M=a});O.prototype.isReal=O.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)};function Ca(a,b){void 0===a?this.Ha=this.Ia=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.Ia=a,this.Ha=b):D.k("Invalid arguments to Size constructor: "+a+", "+b);this.J=!1}D.ja("Size",Ca);D.Ai(Ca);D.ke(Ca,{width:!0,height:!0});
+D.defineProperty(O,{y:"y"},function(){return this.M},function(a){this.Qa(a);v&&D.h(a,"number",O,"y");this.M=a});O.prototype.isReal=O.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)};function Ca(a,b){void 0===a?this.Ha=this.Ia=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.Ia=a,this.Ha=b):D.k("Invalid arguments to Size constructor: "+a+", "+b);this.J=!1}D.ka("Size",Ca);D.Ai(Ca);D.ke(Ca,{width:!0,height:!0});
Ca.prototype.assign=function(a){this.Ia=a.Ia;this.Ha=a.Ha};Ca.prototype.setTo=Ca.prototype.n=function(a,b){v&&(D.h(a,"number",Ca,"setTo:w"),D.h(b,"number",Ca,"setTo:h"),0>a&&D.ua(a,">= 0",Ca,"setTo:w"),0>b&&D.ua(b,">= 0",Ca,"setTo:h"));this.Ia=a;this.Ha=b;return this};Ca.prototype.set=Ca.prototype.set=function(a){v&&D.l(a,Ca,Ca,"set:s");this.Qa();this.Ia=a.Ia;this.Ha=a.Ha;return this};Ca.prototype.copy=function(){var a=new Ca;a.Ia=this.Ia;a.Ha=this.Ha;return a};f=Ca.prototype;
f.Na=function(){this.J=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Size is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};
Ca.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 Ca(c,e)}return new Ca};Ca.stringify=function(a){v&&D.l(a,Ca);return a.width.toString()+" "+a.height.toString()};Ca.prototype.toString=function(){return"Size("+this.width+","+this.height+")"};Ca.prototype.equals=Ca.prototype.P=function(a){return a instanceof Ca?this.Ia===a.width&&this.Ha===a.height:!1};
-Ca.prototype.equalTo=Ca.prototype.Gx=function(a,b){return this.Ia===a&&this.Ha===b};Ca.prototype.equalsApprox=Ca.prototype.Tc=function(a){return Q(this.Ia,a.width)&&Q(this.Ha,a.height)};D.defineProperty(Ca,{width:"width"},function(){return this.Ia},function(a){this.Qa(a);v&&D.h(a,"number",Ca,"width");0>a&&D.ua(a,">= 0",Ca,"width");this.Ia=a});
+Ca.prototype.equalTo=Ca.prototype.Ix=function(a,b){return this.Ia===a&&this.Ha===b};Ca.prototype.equalsApprox=Ca.prototype.Tc=function(a){return Q(this.Ia,a.width)&&Q(this.Ha,a.height)};D.defineProperty(Ca,{width:"width"},function(){return this.Ia},function(a){this.Qa(a);v&&D.h(a,"number",Ca,"width");0>a&&D.ua(a,">= 0",Ca,"width");this.Ia=a});
D.defineProperty(Ca,{height:"height"},function(){return this.Ha},function(a){this.Qa(a);v&&D.h(a,"number",Ca,"height");0>a&&D.ua(a,">= 0",Ca,"height");this.Ha=a});Ca.prototype.isReal=Ca.prototype.F=function(){return isFinite(this.width)&&isFinite(this.height)};
function B(a,b,c,d){void 0===a?this.Ha=this.Ia=this.M=this.L=0:a instanceof O?b instanceof O?(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.Ha=Math.abs(a.M-b.M)):b instanceof Ca?(this.L=a.L,this.M=a.M,this.Ia=b.Ia,this.Ha=b.Ha):D.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.Ha=d):D.k("Invalid arguments to Rect constructor: "+
-a+", "+b+", "+c+", "+d);this.J=!1}D.ja("Rect",B);D.Ai(B);D.ke(B,{x:!0,y:!0,width:!0,height:!0});B.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ha=a.Ha};function xb(a,b,c){a.Ia=b;a.Ha=c}B.prototype.setTo=B.prototype.n=function(a,b,c,d){v&&(D.h(a,"number",B,"setTo:x"),D.h(b,"number",B,"setTo:y"),D.h(c,"number",B,"setTo:w"),D.h(d,"number",B,"setTo:h"),0>c&&D.ua(c,">= 0",B,"setTo:w"),0>d&&D.ua(d,">= 0",B,"setTo:h"));this.L=a;this.M=b;this.Ia=c;this.Ha=d;return this};
-B.prototype.set=B.prototype.set=function(a){v&&D.l(a,B,B,"set:r");this.Qa();this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ha=a.Ha;return this};B.prototype.setPoint=B.prototype.fh=function(a){v&&D.l(a,O,B,"setPoint:p");this.Qa();this.L=a.L;this.M=a.M;return this};B.prototype.setSize=function(a){v&&D.l(a,Ca,B,"setSize:s");this.Qa();this.Ia=a.Ia;this.Ha=a.Ha;return this};B.prototype.copy=function(){var a=new B;a.L=this.L;a.M=this.M;a.Ia=this.Ia;a.Ha=this.Ha;return a};f=B.prototype;
+a+", "+b+", "+c+", "+d);this.J=!1}D.ka("Rect",B);D.Ai(B);D.ke(B,{x:!0,y:!0,width:!0,height:!0});B.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ha=a.Ha};function xb(a,b,c){a.Ia=b;a.Ha=c}B.prototype.setTo=B.prototype.n=function(a,b,c,d){v&&(D.h(a,"number",B,"setTo:x"),D.h(b,"number",B,"setTo:y"),D.h(c,"number",B,"setTo:w"),D.h(d,"number",B,"setTo:h"),0>c&&D.ua(c,">= 0",B,"setTo:w"),0>d&&D.ua(d,">= 0",B,"setTo:h"));this.L=a;this.M=b;this.Ia=c;this.Ha=d;return this};
+B.prototype.set=B.prototype.set=function(a){v&&D.l(a,B,B,"set:r");this.Qa();this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ha=a.Ha;return this};B.prototype.setPoint=B.prototype.gh=function(a){v&&D.l(a,O,B,"setPoint:p");this.Qa();this.L=a.L;this.M=a.M;return this};B.prototype.setSize=function(a){v&&D.l(a,Ca,B,"setSize:s");this.Qa();this.Ia=a.Ia;this.Ha=a.Ha;return this};B.prototype.copy=function(){var a=new B;a.L=this.L;a.M=this.M;a.Ia=this.Ia;a.Ha=this.Ha;return a};f=B.prototype;
f.Na=function(){this.J=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Rect is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};
B.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 B(c,e,g,h)}return new B};B.stringify=function(a){v&&D.l(a,B);return a.x.toString()+" "+a.y.toString()+" "+a.width.toString()+" "+a.height.toString()};
-B.prototype.toString=function(){return"Rect("+this.x+","+this.y+","+this.width+","+this.height+")"};B.prototype.equals=B.prototype.P=function(a){return a instanceof B?this.L===a.x&&this.M===a.y&&this.Ia===a.width&&this.Ha===a.height:!1};B.prototype.equalTo=B.prototype.Gx=function(a,b,c,d){return this.L===a&&this.M===b&&this.Ia===c&&this.Ha===d};B.prototype.equalsApprox=B.prototype.Tc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)&&Q(this.Ia,a.width)&&Q(this.Ha,a.height)};
-function yb(a,b){return zb(a.L,b.x)&&zb(a.M,b.y)&&zb(a.Ia,b.width)&&zb(a.Ha,b.height)}B.prototype.containsPoint=B.prototype.Oa=function(a){v&&D.l(a,O,B,"containsPoint:p");return this.L<=a.x&&this.L+this.Ia>=a.x&&this.M<=a.y&&this.M+this.Ha>=a.y};B.prototype.containsRect=B.prototype.Nk=function(a){v&&D.l(a,B,B,"containsRect:r");return this.L<=a.x&&a.x+a.width<=this.L+this.Ia&&this.M<=a.y&&a.y+a.height<=this.M+this.Ha};
+B.prototype.toString=function(){return"Rect("+this.x+","+this.y+","+this.width+","+this.height+")"};B.prototype.equals=B.prototype.P=function(a){return a instanceof B?this.L===a.x&&this.M===a.y&&this.Ia===a.width&&this.Ha===a.height:!1};B.prototype.equalTo=B.prototype.Ix=function(a,b,c,d){return this.L===a&&this.M===b&&this.Ia===c&&this.Ha===d};B.prototype.equalsApprox=B.prototype.Tc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)&&Q(this.Ia,a.width)&&Q(this.Ha,a.height)};
+function yb(a,b){return zb(a.L,b.x)&&zb(a.M,b.y)&&zb(a.Ia,b.width)&&zb(a.Ha,b.height)}B.prototype.containsPoint=B.prototype.Oa=function(a){v&&D.l(a,O,B,"containsPoint:p");return this.L<=a.x&&this.L+this.Ia>=a.x&&this.M<=a.y&&this.M+this.Ha>=a.y};B.prototype.containsRect=B.prototype.Ok=function(a){v&&D.l(a,B,B,"containsRect:r");return this.L<=a.x&&a.x+a.width<=this.L+this.Ia&&this.M<=a.y&&a.y+a.height<=this.M+this.Ha};
B.prototype.contains=B.prototype.contains=function(a,b,c,d){v?(D.p(a,B,"contains:x"),D.p(b,B,"contains:y"),void 0===c?c=0:D.p(c,B,"contains:w"),void 0===d?d=0:D.p(d,B,"contains:h"),(0>c||0>d)&&D.k("Rect.contains:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return this.L<=a&&a+c<=this.L+this.Ia&&this.M<=b&&b+d<=this.M+this.Ha};B.prototype.reset=function(){this.Qa();this.Ha=this.Ia=this.M=this.L=0};
-B.prototype.offset=B.prototype.offset=function(a,b){v&&(D.p(a,B,"offset:dx"),D.p(b,B,"offset:dy"));this.Qa();this.L+=a;this.M+=b;return this};B.prototype.inflate=B.prototype.Ff=function(a,b){v&&(D.p(a,B,"inflate:w"),D.p(b,B,"inflate:h"));return Db(this,b,a,b,a)};B.prototype.addMargin=B.prototype.kx=function(a){v&&D.l(a,Ib,B,"addMargin:m");return Db(this,a.top,a.right,a.bottom,a.left)};
-B.prototype.subtractMargin=B.prototype.sK=function(a){v&&D.l(a,Ib,B,"subtractMargin:m");return Db(this,-a.top,-a.right,-a.bottom,-a.left)};B.prototype.grow=function(a,b,c,d){v&&(D.p(a,B,"grow:t"),D.p(b,B,"grow:r"),D.p(c,B,"grow:b"),D.p(d,B,"grow:l"));return Db(this,a,b,c,d)};function Db(a,b,c,d,e){a.Qa();var g=a.Ia;c+e<=-g?(a.L+=g/2,a.Ia=0):(a.L-=e,a.Ia+=c+e);c=a.Ha;b+d<=-c?(a.M+=c/2,a.Ha=0):(a.M-=b,a.Ha+=b+d);return a}
-B.prototype.intersectRect=function(a){v&&D.l(a,B,B,"intersectRect:r");return Lb(this,a.x,a.y,a.width,a.height)};B.prototype.intersect=B.prototype.KF=function(a,b,c,d){v&&(D.p(a,B,"intersect:x"),D.p(b,B,"intersect:y"),D.p(c,B,"intersect:w"),D.p(d,B,"intersect:h"),(0>c||0>d)&&D.k("Rect.intersect:Width and height cannot be negative"));return Lb(this,a,b,c,d)};
-function Lb(a,b,c,d,e){a.Qa();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.Ha,c+e);a.L=g;a.M=h;a.Ia=Math.max(0,b-g);a.Ha=Math.max(0,c-h);return a}B.prototype.intersectsRect=B.prototype.fg=function(a){v&&D.l(a,B,B,"intersectsRect:r");return this.LF(a.x,a.y,a.width,a.height)};
-B.prototype.intersects=B.prototype.LF=function(a,b,c,d){v&&(D.p(a,B,"intersects:x"),D.p(b,B,"intersects:y"),D.p(a,B,"intersects:w"),D.p(b,B,"intersects:h"),(0>c||0>d)&&D.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.Ha;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.Ha;d=b.height+10+10;e=a.M;g=b.y-10;return e>d+g||g>c+e?!1:!0}B.prototype.unionPoint=B.prototype.Ji=function(a){v&&D.l(a,O,B,"unionPoint:p");return Pb(this,a.x,a.y,0,0)};B.prototype.unionRect=B.prototype.Wh=function(a){v&&D.l(a,B,B,"unionRect:r");return Pb(this,a.L,a.M,a.Ia,a.Ha)};
-B.prototype.union=B.prototype.jH=function(a,b,c,d){this.Qa();v?(D.p(a,B,"union:x"),D.p(b,B,"union:y"),void 0===c?c=0:D.p(c,B,"union:w"),void 0===d?d=0:D.p(d,B,"union:h"),(0>c||0>d)&&D.k("Rect.union:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return Pb(this,a,b,c,d)};function Pb(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.Ha,c+e);a.L=g;a.M=h;a.Ia=b-g;a.Ha=c-h;return a}
-B.prototype.setSpot=B.prototype.av=function(a,b,c){v&&(D.p(a,B,"setSpot:x"),D.p(b,B,"setSpot:y"),D.l(c,R,B,"setSpot:spot"));this.Qa();this.L=a-c.offsetX-c.x*this.Ia;this.M=b-c.offsetY-c.y*this.Ha;return this};var Qb;
+B.prototype.offset=B.prototype.offset=function(a,b){v&&(D.p(a,B,"offset:dx"),D.p(b,B,"offset:dy"));this.Qa();this.L+=a;this.M+=b;return this};B.prototype.inflate=B.prototype.Gf=function(a,b){v&&(D.p(a,B,"inflate:w"),D.p(b,B,"inflate:h"));return Db(this,b,a,b,a)};B.prototype.addMargin=B.prototype.mx=function(a){v&&D.l(a,Ib,B,"addMargin:m");return Db(this,a.top,a.right,a.bottom,a.left)};
+B.prototype.subtractMargin=B.prototype.tK=function(a){v&&D.l(a,Ib,B,"subtractMargin:m");return Db(this,-a.top,-a.right,-a.bottom,-a.left)};B.prototype.grow=function(a,b,c,d){v&&(D.p(a,B,"grow:t"),D.p(b,B,"grow:r"),D.p(c,B,"grow:b"),D.p(d,B,"grow:l"));return Db(this,a,b,c,d)};function Db(a,b,c,d,e){a.Qa();var g=a.Ia;c+e<=-g?(a.L+=g/2,a.Ia=0):(a.L-=e,a.Ia+=c+e);c=a.Ha;b+d<=-c?(a.M+=c/2,a.Ha=0):(a.M-=b,a.Ha+=b+d);return a}
+B.prototype.intersectRect=function(a){v&&D.l(a,B,B,"intersectRect:r");return Lb(this,a.x,a.y,a.width,a.height)};B.prototype.intersect=B.prototype.LF=function(a,b,c,d){v&&(D.p(a,B,"intersect:x"),D.p(b,B,"intersect:y"),D.p(c,B,"intersect:w"),D.p(d,B,"intersect:h"),(0>c||0>d)&&D.k("Rect.intersect:Width and height cannot be negative"));return Lb(this,a,b,c,d)};
+function Lb(a,b,c,d,e){a.Qa();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.Ha,c+e);a.L=g;a.M=h;a.Ia=Math.max(0,b-g);a.Ha=Math.max(0,c-h);return a}B.prototype.intersectsRect=B.prototype.gg=function(a){v&&D.l(a,B,B,"intersectsRect:r");return this.MF(a.x,a.y,a.width,a.height)};
+B.prototype.intersects=B.prototype.MF=function(a,b,c,d){v&&(D.p(a,B,"intersects:x"),D.p(b,B,"intersects:y"),D.p(a,B,"intersects:w"),D.p(b,B,"intersects:h"),(0>c||0>d)&&D.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.Ha;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.Ha;d=b.height+10+10;e=a.M;g=b.y-10;return e>d+g||g>c+e?!1:!0}B.prototype.unionPoint=B.prototype.Ji=function(a){v&&D.l(a,O,B,"unionPoint:p");return Pb(this,a.x,a.y,0,0)};B.prototype.unionRect=B.prototype.Xh=function(a){v&&D.l(a,B,B,"unionRect:r");return Pb(this,a.L,a.M,a.Ia,a.Ha)};
+B.prototype.union=B.prototype.kH=function(a,b,c,d){this.Qa();v?(D.p(a,B,"union:x"),D.p(b,B,"union:y"),void 0===c?c=0:D.p(c,B,"union:w"),void 0===d?d=0:D.p(d,B,"union:h"),(0>c||0>d)&&D.k("Rect.union:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return Pb(this,a,b,c,d)};function Pb(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.Ha,c+e);a.L=g;a.M=h;a.Ia=b-g;a.Ha=c-h;return a}
+B.prototype.setSpot=B.prototype.cv=function(a,b,c){v&&(D.p(a,B,"setSpot:x"),D.p(b,B,"setSpot:y"),D.l(c,R,B,"setSpot:spot"));this.Qa();this.L=a-c.offsetX-c.x*this.Ia;this.M=b-c.offsetY-c.y*this.Ha;return this};var Qb;
B.contains=Qb=function(a,b,c,d,e,g,h,k){v?(D.p(a,B,"contains:rx"),D.p(b,B,"contains:ry"),D.p(c,B,"contains:rw"),D.p(d,B,"contains:rh"),D.p(e,B,"contains:x"),D.p(g,B,"contains:y"),void 0===h?h=0:D.p(h,B,"contains:w"),void 0===k?k=0:D.p(k,B,"contains:h"),(0>c||0>d||0>h||0>k)&&D.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};
B.intersects=function(a,b,c,d,e,g,h,k){v&&(D.p(a,B,"intersects:rx"),D.p(b,B,"intersects:ry"),D.p(c,B,"intersects:rw"),D.p(d,B,"intersects:rh"),D.p(e,B,"intersects:x"),D.p(g,B,"intersects:y"),D.p(h,B,"intersects:w"),D.p(k,B,"intersects:h"),(0>c||0>d||0>h||0>k)&&D.k("Rect.intersects:Width and height cannot be negative"));c+=a;h+=e;if(a>h||e>c)return!1;a=d+b;k+=g;return b>k||g>a?!1:!0};D.defineProperty(B,{x:"x"},function(){return this.L},function(a){this.Qa(a);v&&D.h(a,"number",B,"x");this.L=a});
D.defineProperty(B,{y:"y"},function(){return this.M},function(a){this.Qa(a);v&&D.h(a,"number",B,"y");this.M=a});D.defineProperty(B,{width:"width"},function(){return this.Ia},function(a){this.Qa(a);v&&D.h(a,"number",B,"width");0>a&&D.ua(a,">= 0",B,"width");this.Ia=a});D.defineProperty(B,{height:"height"},function(){return this.Ha},function(a){this.Qa(a);v&&D.h(a,"number",B,"height");0>a&&D.ua(a,">= 0",B,"height");this.Ha=a});
D.defineProperty(B,{left:"left"},function(){return this.L},function(a){this.Qa(a);v&&D.h(a,"number",B,"left");this.L=a});D.defineProperty(B,{top:"top"},function(){return this.M},function(a){this.Qa(a);v&&D.h(a,"number",B,"top");this.M=a});D.defineProperty(B,{right:"right"},function(){return this.L+this.Ia},function(a){this.Qa(a);v&&D.p(a,B,"right");this.L+=a-(this.L+this.Ia)});
D.defineProperty(B,{bottom:"bottom"},function(){return this.M+this.Ha},function(a){this.Qa(a);v&&D.p(a,B,"top");this.M+=a-(this.M+this.Ha)});D.defineProperty(B,{position:"position"},function(){return new O(this.L,this.M)},function(a){this.Qa(a);v&&D.l(a,O,B,"position");this.L=a.x;this.M=a.y});D.defineProperty(B,{size:"size"},function(){return new Ca(this.Ia,this.Ha)},function(a){this.Qa(a);v&&D.l(a,Ca,B,"size");this.Ia=a.width;this.Ha=a.height});
-D.defineProperty(B,{cm:"center"},function(){return new O(this.L+this.Ia/2,this.M+this.Ha/2)},function(a){this.Qa(a);v&&D.l(a,O,B,"center");this.L=a.x-this.Ia/2;this.M=a.y-this.Ha/2});D.defineProperty(B,{oa:"centerX"},function(){return this.L+this.Ia/2},function(a){this.Qa(a);v&&D.p(a,B,"centerX");this.L=a-this.Ia/2});D.defineProperty(B,{va:"centerY"},function(){return this.M+this.Ha/2},function(a){this.Qa(a);v&&D.p(a,B,"centerY");this.M=a-this.Ha/2});
+D.defineProperty(B,{dm:"center"},function(){return new O(this.L+this.Ia/2,this.M+this.Ha/2)},function(a){this.Qa(a);v&&D.l(a,O,B,"center");this.L=a.x-this.Ia/2;this.M=a.y-this.Ha/2});D.defineProperty(B,{oa:"centerX"},function(){return this.L+this.Ia/2},function(a){this.Qa(a);v&&D.p(a,B,"centerX");this.L=a-this.Ia/2});D.defineProperty(B,{va:"centerY"},function(){return this.M+this.Ha/2},function(a){this.Qa(a);v&&D.p(a,B,"centerY");this.M=a-this.Ha/2});
B.prototype.isReal=B.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)};B.prototype.isEmpty=function(){return 0===this.width&&0===this.height};
-function Ib(a,b,c,d){void 0===a?this.uh=this.nh=this.Dh=this.Eh=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):D.k("Invalid arguments to Margin constructor: "+a+", "+b+", "+c+", "+d);this.J=!1}D.ja("Margin",Ib);D.Ai(Ib);D.ke(Ib,{top:!0,right:!0,bottom:!0,left:!0});Ib.prototype.assign=function(a){this.Eh=a.Eh;this.Dh=a.Dh;this.nh=a.nh;this.uh=a.uh};
-Ib.prototype.setTo=Ib.prototype.n=function(a,b,c,d){v&&(D.h(a,"number",Ib,"setTo:t"),D.h(b,"number",Ib,"setTo:r"),D.h(c,"number",Ib,"setTo:b"),D.h(d,"number",Ib,"setTo:l"));this.Qa();this.Eh=a;this.Dh=b;this.nh=c;this.uh=d;return this};Ib.prototype.set=Ib.prototype.set=function(a){v&&D.l(a,Ib,Ib,"assign:m");this.Qa();this.Eh=a.Eh;this.Dh=a.Dh;this.nh=a.nh;this.uh=a.uh;return this};Ib.prototype.copy=function(){var a=new Ib;a.Eh=this.Eh;a.Dh=this.Dh;a.nh=this.nh;a.uh=this.uh;return a};f=Ib.prototype;
+function Ib(a,b,c,d){void 0===a?this.vh=this.oh=this.Eh=this.Fh=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):D.k("Invalid arguments to Margin constructor: "+a+", "+b+", "+c+", "+d);this.J=!1}D.ka("Margin",Ib);D.Ai(Ib);D.ke(Ib,{top:!0,right:!0,bottom:!0,left:!0});Ib.prototype.assign=function(a){this.Fh=a.Fh;this.Eh=a.Eh;this.oh=a.oh;this.vh=a.vh};
+Ib.prototype.setTo=Ib.prototype.n=function(a,b,c,d){v&&(D.h(a,"number",Ib,"setTo:t"),D.h(b,"number",Ib,"setTo:r"),D.h(c,"number",Ib,"setTo:b"),D.h(d,"number",Ib,"setTo:l"));this.Qa();this.Fh=a;this.Eh=b;this.oh=c;this.vh=d;return this};Ib.prototype.set=Ib.prototype.set=function(a){v&&D.l(a,Ib,Ib,"assign:m");this.Qa();this.Fh=a.Fh;this.Eh=a.Eh;this.oh=a.oh;this.vh=a.vh;return this};Ib.prototype.copy=function(){var a=new Ib;a.Fh=this.Fh;a.Eh=this.Eh;a.oh=this.oh;a.vh=this.vh;return a};f=Ib.prototype;
f.Na=function(){this.J=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Margin is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};
Ib.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 Ib;for(var e=NaN;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));if(isNaN(e))return new Ib(c);for(var g=NaN;""===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));if(isNaN(g))return new Ib(c,e);for(var h=NaN;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return isNaN(h)?new Ib(c,e):new Ib(c,e,g,h)}return new Ib};
-Ib.stringify=function(a){v&&D.l(a,Ib);return a.top.toString()+" "+a.right.toString()+" "+a.bottom.toString()+" "+a.left.toString()};Ib.prototype.toString=function(){return"Margin("+this.top+","+this.right+","+this.bottom+","+this.left+")"};Ib.prototype.equals=Ib.prototype.P=function(a){return a instanceof Ib?this.Eh===a.top&&this.Dh===a.right&&this.nh===a.bottom&&this.uh===a.left:!1};Ib.prototype.equalTo=Ib.prototype.Gx=function(a,b,c,d){return this.Eh===a&&this.Dh===b&&this.nh===c&&this.uh===d};
-Ib.prototype.equalsApprox=Ib.prototype.Tc=function(a){return Q(this.Eh,a.top)&&Q(this.Dh,a.right)&&Q(this.nh,a.bottom)&&Q(this.uh,a.left)};D.defineProperty(Ib,{top:"top"},function(){return this.Eh},function(a){this.Qa(a);v&&D.p(a,Ib,"top");this.Eh=a});D.defineProperty(Ib,{right:"right"},function(){return this.Dh},function(a){this.Qa(a);v&&D.p(a,Ib,"right");this.Dh=a});D.defineProperty(Ib,{bottom:"bottom"},function(){return this.nh},function(a){this.Qa(a);v&&D.p(a,Ib,"bottom");this.nh=a});
-D.defineProperty(Ib,{left:"left"},function(){return this.uh},function(a){this.Qa(a);v&&D.p(a,Ib,"left");this.uh=a});Ib.prototype.isReal=Ib.prototype.F=function(){return isFinite(this.top)&&isFinite(this.right)&&isFinite(this.bottom)&&isFinite(this.left)};function Da(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0}D.Ai(Da);D.ke(Da,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});
+Ib.stringify=function(a){v&&D.l(a,Ib);return a.top.toString()+" "+a.right.toString()+" "+a.bottom.toString()+" "+a.left.toString()};Ib.prototype.toString=function(){return"Margin("+this.top+","+this.right+","+this.bottom+","+this.left+")"};Ib.prototype.equals=Ib.prototype.P=function(a){return a instanceof Ib?this.Fh===a.top&&this.Eh===a.right&&this.oh===a.bottom&&this.vh===a.left:!1};Ib.prototype.equalTo=Ib.prototype.Ix=function(a,b,c,d){return this.Fh===a&&this.Eh===b&&this.oh===c&&this.vh===d};
+Ib.prototype.equalsApprox=Ib.prototype.Tc=function(a){return Q(this.Fh,a.top)&&Q(this.Eh,a.right)&&Q(this.oh,a.bottom)&&Q(this.vh,a.left)};D.defineProperty(Ib,{top:"top"},function(){return this.Fh},function(a){this.Qa(a);v&&D.p(a,Ib,"top");this.Fh=a});D.defineProperty(Ib,{right:"right"},function(){return this.Eh},function(a){this.Qa(a);v&&D.p(a,Ib,"right");this.Eh=a});D.defineProperty(Ib,{bottom:"bottom"},function(){return this.oh},function(a){this.Qa(a);v&&D.p(a,Ib,"bottom");this.oh=a});
+D.defineProperty(Ib,{left:"left"},function(){return this.vh},function(a){this.Qa(a);v&&D.p(a,Ib,"left");this.vh=a});Ib.prototype.isReal=Ib.prototype.F=function(){return isFinite(this.top)&&isFinite(this.right)&&isFinite(this.bottom)&&isFinite(this.left)};function Da(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0}D.Ai(Da);D.ke(Da,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});
Da.prototype.set=Da.prototype.set=function(a){v&&D.l(a,Da,Da,"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};Da.prototype.copy=function(){var a=new Da;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};Da.prototype.toString=function(){return"Transform("+this.m11+","+this.m12+","+this.m21+","+this.m22+","+this.dx+","+this.dy+")"};
-Da.prototype.equals=Da.prototype.P=function(a){return a instanceof Da?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};Da.prototype.isIdentity=Da.prototype.xu=function(){return 1===this.m11&&0===this.m12&&0===this.m21&&1===this.m22&&0===this.dx&&0===this.dy};Da.prototype.reset=Da.prototype.reset=function(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0;return this};
+Da.prototype.equals=Da.prototype.P=function(a){return a instanceof Da?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};Da.prototype.isIdentity=Da.prototype.zu=function(){return 1===this.m11&&0===this.m12&&0===this.m21&&1===this.m22&&0===this.dx&&0===this.dy};Da.prototype.reset=Da.prototype.reset=function(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0;return this};
Da.prototype.multiply=Da.prototype.multiply=function(a){v&&D.l(a,Da,Da,"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};
Da.prototype.multiplyInverted=Da.prototype.pB=function(a){v&&D.l(a,Da,Da,"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};
-Da.prototype.invert=Da.prototype.Sx=function(){var a=1/(this.m11*this.m22-this.m12*this.m21),b=-this.m12*a,c=-this.m21*a,d=this.m11*a,e=a*(this.m21*this.dy-this.m22*this.dx),g=a*(this.m12*this.dx-this.m11*this.dy);this.m11=this.m22*a;this.m12=b;this.m21=c;this.m22=d;this.dx=e;this.dy=g;return this};
+Da.prototype.invert=Da.prototype.Tx=function(){var a=1/(this.m11*this.m22-this.m12*this.m21),b=-this.m12*a,c=-this.m21*a,d=this.m11*a,e=a*(this.m21*this.dy-this.m22*this.dx),g=a*(this.m12*this.dx-this.m11*this.dy);this.m11=this.m22*a;this.m12=b;this.m21=c;this.m22=d;this.dx=e;this.dy=g;return this};
Da.prototype.rotate=Da.prototype.rotate=function(a,b,c){v&&(D.p(a,Da,"rotate:angle"),D.p(b,Da,"rotate:rx"),D.p(c,Da,"rotate:ry"));360<=a?a-=360:0>a&&(a+=360);if(0===a)return this;this.translate(b,c);var d=0,e=0;90===a?(d=0,e=1):180===a?(d=-1,e=0):270===a?(d=0,e=-1):(e=a*Math.PI/180,d=Math.cos(e),e=Math.sin(e));a=this.m12*d+this.m22*e;var g=this.m11*-e+this.m21*d,h=this.m12*-e+this.m22*d;this.m11=this.m11*d+this.m21*e;this.m12=a;this.m21=g;this.m22=h;this.translate(-b,-c);return this};
Da.prototype.translate=Da.prototype.translate=function(a,b){v&&(D.p(a,Da,"translate:x"),D.p(b,Da,"translate:y"));this.dx+=this.m11*a+this.m21*b;this.dy+=this.m12*a+this.m22*b;return this};Da.prototype.scale=Da.prototype.scale=function(a,b){void 0===b&&(b=a);v&&(D.p(a,Da,"translate:sx"),D.p(b,Da,"translate:sy"));this.m11*=a;this.m12*=a;this.m21*=b;this.m22*=b;return this};
Da.prototype.transformPoint=Da.prototype.wb=function(a){v&&D.l(a,O,Da,"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};Da.prototype.invertedTransformPoint=Da.prototype.Ci=function(a){v&&D.l(a,O,Da,"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};
-Da.prototype.transformRect=Da.prototype.iH=function(a){v&&D.l(a,B,Da,"transformRect:rect");var b=a.L,c=a.M,d=b+a.Ia,e=c+a.Ha,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.Ha=q-h;return a};function R(a,b,c,d){void 0===a?this.Lg=this.Kg=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.J=!1}D.ja("Spot",R);D.Ai(R);D.ke(R,{x:!0,y:!0,offsetX:!0,offsetY:!0});R.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Kg=a.Kg;this.Lg=a.Lg};
-R.prototype.setTo=R.prototype.n=function(a,b,c,d){v&&(Rb(a,"setTo:x"),Rb(b,"setTo:y"),Vb(c,"setTo:offx"),Vb(d,"setTo:offy"));this.Qa();this.L=a;this.M=b;this.Kg=c;this.Lg=d;return this};R.prototype.set=R.prototype.set=function(a){v&&D.l(a,R,R,"set:s");this.Qa();this.L=a.L;this.M=a.M;this.Kg=a.Kg;this.Lg=a.Lg;return this};R.prototype.copy=function(){var a=new R;a.L=this.L;a.M=this.M;a.Kg=this.Kg;a.Lg=this.Lg;return a};f=R.prototype;f.Na=function(){this.J=!0;Object.freeze(this);return this};
-f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Spot is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};function Yb(a,b){a.L=NaN;a.M=NaN;a.Kg=b;return a}function Rb(a,b){(isNaN(a)||1a)&&D.ua(a,"0 <= "+b+" <= 1",R,b)}
+Da.prototype.transformRect=Da.prototype.jH=function(a){v&&D.l(a,B,Da,"transformRect:rect");var b=a.L,c=a.M,d=b+a.Ia,e=c+a.Ha,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.Ha=q-h;return a};function R(a,b,c,d){void 0===a?this.Mg=this.Lg=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.J=!1}D.ka("Spot",R);D.Ai(R);D.ke(R,{x:!0,y:!0,offsetX:!0,offsetY:!0});R.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Lg=a.Lg;this.Mg=a.Mg};
+R.prototype.setTo=R.prototype.n=function(a,b,c,d){v&&(Rb(a,"setTo:x"),Rb(b,"setTo:y"),Vb(c,"setTo:offx"),Vb(d,"setTo:offy"));this.Qa();this.L=a;this.M=b;this.Lg=c;this.Mg=d;return this};R.prototype.set=R.prototype.set=function(a){v&&D.l(a,R,R,"set:s");this.Qa();this.L=a.L;this.M=a.M;this.Lg=a.Lg;this.Mg=a.Mg;return this};R.prototype.copy=function(){var a=new R;a.L=this.L;a.M=this.M;a.Lg=this.Lg;a.Mg=this.Mg;return a};f=R.prototype;f.Na=function(){this.J=!0;Object.freeze(this);return this};
+f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Spot is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};function Yb(a,b){a.L=NaN;a.M=NaN;a.Lg=b;return a}function Rb(a,b){(isNaN(a)||1a)&&D.ua(a,"0 <= "+b+" <= 1",R,b)}
function Vb(a,b){(isNaN(a)||Infinity===a||-Infinity===a)&&D.ua(a,"real number, not NaN or Infinity",R,b)}var Zb;
-R.parse=Zb=function(a){if("string"===typeof a){a=a.trim();if("None"===a)return cc;if("TopLeft"===a)return dc;if("Top"===a||"TopCenter"===a||"MiddleTop"===a)return ec;if("TopRight"===a)return fc;if("Left"===a||"LeftCenter"===a||"MiddleLeft"===a)return gc;if("Center"===a)return hc;if("Right"===a||"RightCenter"===a||"MiddleRight"===a)return rc;if("BottomLeft"===a)return sc;if("Bottom"===a||"BottomCenter"===a||"MiddleBottom"===a)return tc;if("BottomRight"===a)return uc;if("TopSide"===a)return vc;if("LeftSide"===
+R.parse=Zb=function(a){if("string"===typeof a){a=a.trim();if("None"===a)return $b;if("TopLeft"===a)return dc;if("Top"===a||"TopCenter"===a||"MiddleTop"===a)return ec;if("TopRight"===a)return fc;if("Left"===a||"LeftCenter"===a||"MiddleLeft"===a)return gc;if("Center"===a)return hc;if("Right"===a||"RightCenter"===a||"MiddleRight"===a)return rc;if("BottomLeft"===a)return sc;if("Bottom"===a||"BottomCenter"===a||"MiddleBottom"===a)return tc;if("BottomRight"===a)return uc;if("TopSide"===a)return vc;if("LeftSide"===
a)return wc;if("RightSide"===a)return xc;if("BottomSide"===a)return Bc;if("TopBottomSides"===a)return Cc;if("LeftRightSides"===a)return Jc;if("TopLeftSides"===a)return Kc;if("TopRightSides"===a)return Lc;if("BottomLeftSides"===a)return Mc;if("BottomRightSides"===a)return Nc;if("NotTopSide"===a)return Oc;if("NotLeftSide"===a)return Pc;if("NotRightSide"===a)return Sc;if("NotBottomSide"===a)return Tc;if("AllSides"===a)return Uc;if("Default"===a)return Vc;a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;
var d=a[b++];void 0!==d&&0b.offset?1:-1});for(k=0;kb.offset?1:-1});for(k=0;k=2*Math.PI?(rd(a,b,c,d,e,e+Math.PI,h),rd(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 qd(a,b,c,d,e,g,h){var k=new jd;k.Zb=[b,c,d,e,g,h];b={};Ad(a,"g",b,k);k=a.addElement("g",b);a.Ef.push(k)}
-f.ib=function(){if(0!==this.shadowOffsetX||0!==this.shadowOffsetY||0!==this.shadowBlur){var a="SHADOW"+D.Gm++,b=this.addElement("filter",{id:a,x:"-100%",y:"-100%",width:"300%",height:"300%"},null),c,d,e,g,h;c=pd(this,"feGaussianBlur",{"in":"SourceAlpha",result:"blur",zM:this.shadowBlur/2});d=pd(this,"feFlood",{"in":"blur",result:"flood","flood-color":this.shadowColor});e=pd(this,"feComposite",{"in":"flood",in2:"blur",operator:"in",result:"comp"});g=pd(this,"feOffset",{"in":"comp",result:"offsetBlur",
-dx:this.shadowOffsetX,dy:this.shadowOffsetY});h=pd(this,"feMerge",{});h.appendChild(pd(this,"feMergeNode",{"in":"offsetBlur"}));h.appendChild(pd(this,"feMergeNode",{"in":"SourceGraphic"}));b.appendChild(c);b.appendChild(d);b.appendChild(e);b.appendChild(g);b.appendChild(h);0=2*Math.PI?(rd(a,b,c,d,e,e+Math.PI,h),rd(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 qd(a,b,c,d,e,g,h){var k=new jd;k.Zb=[b,c,d,e,g,h];b={};Ad(a,"g",b,k);k=a.addElement("g",b);a.Ff.push(k)}
+f.jb=function(){if(0!==this.shadowOffsetX||0!==this.shadowOffsetY||0!==this.shadowBlur){var a="SHADOW"+D.Hm++,b=this.addElement("filter",{id:a,x:"-100%",y:"-100%",width:"300%",height:"300%"},null),c,d,e,g,h;c=pd(this,"feGaussianBlur",{"in":"SourceAlpha",result:"blur",BM:this.shadowBlur/2});d=pd(this,"feFlood",{"in":"blur",result:"flood","flood-color":this.shadowColor});e=pd(this,"feComposite",{"in":"flood",in2:"blur",operator:"in",result:"comp"});g=pd(this,"feOffset",{"in":"comp",result:"offsetBlur",
+dx:this.shadowOffsetX,dy:this.shadowOffsetY});h=pd(this,"feMerge",{});h.appendChild(pd(this,"feMergeNode",{"in":"offsetBlur"}));h.appendChild(pd(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.or?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.or?this.clip():this.fill()};
-f.Wj=function(){this.or||this.stroke()};D.defineProperty(Dd,{cq:"clipInsteadOfFill"},function(){return this.or},function(a){this.or=a});f=Dd.prototype;f.NB=function(a,b,c){this.st=a;this.tt=b;this.Ng=c};f.uo=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};f.vo=function(){this.shadowOffsetX=this.st;this.shadowOffsetY=this.tt;this.shadowBlur=this.Ng};
-f.JA=function(a,b){var c=this.xa;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.EA=function(){var a=this.xa;void 0!==a.setLineDash?(a.setLineDash(D.Do),a.lineDashOffset=0):void 0!==a.webkitLineDash?(a.webkitLineDash=D.Do,a.webkitLineDashOffset=0):void 0!==a.mozDash&&(a.mozDash=null,a.mozDashOffset=0)};
-f.Be=function(a){a&&(this.ez="");this.dz=this.fz=""};
+f.transform=function(a,b,c,d,e,g){1===a&&0===b&&0===c&&1===d&&0===e&&0===g||this.xa.transform(a,b,c,d,e,g)};f.translate=function(a,b){this.xa.translate(a,b)};f.Xg=function(a){if(a instanceof Ba&&a.type===Ed){var b=a.No;a=a.kz;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.or?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.or?this.clip():this.fill()};
+f.Wj=function(){this.or||this.stroke()};D.defineProperty(Dd,{cq:"clipInsteadOfFill"},function(){return this.or},function(a){this.or=a});f=Dd.prototype;f.NB=function(a,b,c){this.st=a;this.tt=b;this.Og=c};f.uo=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};f.vo=function(){this.shadowOffsetX=this.st;this.shadowOffsetY=this.tt;this.shadowBlur=this.Og};
+f.KA=function(a,b){var c=this.xa;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.FA=function(){var a=this.xa;void 0!==a.setLineDash?(a.setLineDash(D.Do),a.lineDashOffset=0):void 0!==a.webkitLineDash?(a.webkitLineDash=D.Do,a.webkitLineDashOffset=0):void 0!==a.mozDash&&(a.mozDash=null,a.mozDashOffset=0)};
+f.Be=function(a){a&&(this.fz="");this.ez=this.gz=""};
var Fd=(Math.sqrt(2)-1)/3*4,Gd=(new O(0,0)).Na(),Hd=(new B(0,0,0,0)).Na(),Sd=(new Ib(0,0,0,0)).Na(),Td=(new Ib(2,2,2,2)).Na(),Ud=(new O(6,6)).Na(),Vd=(new O(-Infinity,-Infinity)).Na(),Wd=(new O(Infinity,Infinity)).Na(),Xd=(new Ca(0,0)).Na(),Yd=(new Ca(1,1)).Na(),Zd=(new Ca(6,6)).Na(),$d=(new Ca(8,8)).Na(),ae=(new Ca(10,10)).Na(),he=(new Ca(Infinity,Infinity)).Na(),ie=(new O(NaN,NaN)).Na(),je=(new Ca(NaN,NaN)).Na(),ke=(new B(NaN,NaN,NaN,NaN)).Na(),le=(new R(.156,.156)).Na(),me=(new R(.844,.844)).Na(),
ne=new la,oe=new la,pe=null;function qe(a){if(0>=a)return 0;var b=pe;if(null===b){for(var b=[],c=0;2E3>=c;c++)b[c]=Math.sqrt(c);pe=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=e&&(e=1E-6);var k=0,l=0,m=0,n=0;am-n)if(a-c>e||c-a>e){if(g=(d-b)/(c-a)*(g-a)+b,g-e<=h&&h<=g+e)return!0}else return!0;else if(b-d>e||d-b>e){if(h=(c-a)/(d-b)*(h-b)+a,h-e<=g&&g<=h+e)return!0}else return!0;return!1}
@@ -251,1207 +251,1207 @@ function Te(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.ma.toString()+" "+this.ka.toString()+"L"+this.H.toString()+" "+this.I.toString():"M"+this.ma.toFixed(a)+" "+this.ka.toFixed(a)+"L"+this.H.toFixed(a)+" "+this.I.toFixed(a);case rf:var b=new B(this.ma,this.ka,0,0);b.jH(this.H,this.I,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 sf:b=new B(this.ma,this.ka,0,0);b.jH(this.H,this.I,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 Ze:for(var b="",c=this.lc.o,d=c.length,e=0;e=u-1?!0:null!==l[m+1].match(/[A-Za-z]/)}function d(){m++;return l[m]}function e(){var a=new O(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 O(2*s.x-r.x,2*s.y-r.y)}void 0===b&&(b=!1);"string"!==typeof a&&D.hc(a,"string",Ye,"parse:str");a=a.replace(/,/gm," ");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,
+p*p)),n=l*p-n,a=Math.sqrt(n*n+a*a)):a=Math.abs(n-l);return a}function Ye(a){1a?"M"+this.la.toString()+" "+this.ja.toString()+"L"+this.G.toString()+" "+this.H.toString():"M"+this.la.toFixed(a)+" "+this.ja.toFixed(a)+"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);case rf:var b=new B(this.la,this.ja,0,0);b.kH(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 sf:b=new B(this.la,this.ja,0,0);b.kH(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 Ze:for(var b="",c=this.mc.o,d=c.length,e=0;e=u-1?!0:null!==l[m+1].match(/[A-Za-z]/)}function d(){m++;return l[m]}function e(){var a=new O(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 O(2*s.x-r.x,2*s.y-r.y)}void 0===b&&(b=!1);"string"!==typeof a&&D.ic(a,"string",Ye,"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 O(0,0),r=new O(0,0),s=new O(0,
0),u=l.length,t=D.v(),y=!1,w=!1,C=!0,A=null;!(m>=u-1);)if(p=n,n=d(),""!==n)switch(n.toUpperCase()){case "X":C=!0;w=y=!1;break;case "M":A=g();null===t.dc||!0===C?(T(t,A.x,A.y,y,!1,!w),C=!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 O((n===n.toLowerCase()?s.x:0)+parseFloat(d()),s.y),t.lineTo(s.x,s.y);break;case "V":for(;!c();)s=A=new O(s.x,(n===n.toLowerCase()?s.y:0)+parseFloat(d())),t.lineTo(s.x,s.y);
-break;case "C":for(;!c();){var N=e(),H=h(),A=g();V(t,N.x,N.y,H.x,H.y,A.x,A.y)}break;case "S":for(;!c();)N=k(),H=h(),A=g(),V(t,N.x,N.y,H.x,H.y,A.x,A.y);break;case "Q":for(;!c();)H=h(),A=g(),xf(t,H.x,H.y,A.x,A.y);break;case "T":for(;!c();)r=H=k(),A=g(),xf(t,H.x,H.y,A.x,A.y);break;case "B":for(;!c();){var A=parseFloat(d()),N=parseFloat(d()),H=parseFloat(d()),W=parseFloat(d()),fa=parseFloat(d()),S=fa,ba=!1;c()||(S=parseFloat(d()),c()||(ba=0!==parseFloat(d())));n===n.toLowerCase()&&(H+=s.x,W+=s.y);t.arcTo(A,
-N,H,W,fa,S,ba)}break;case "A":for(;!c();)N=Math.abs(parseFloat(d())),H=Math.abs(parseFloat(d())),W=parseFloat(d()),fa=!!parseFloat(d()),S=!!parseFloat(d()),A=g(),yf(t,N,H,W,fa,S,A.x,A.y);break;case "Z":A=t.q.lc.o[t.q.lc.length-1];X(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]/)?y=!0:zf(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]/)?w=!0:t.ib(!1)}q=t.q;D.u(t);if(b)for(t=q.lc.j;t.next();)A=t.value,A.wu=!0;return q};function Af(a,b){for(var c=a.length,d=D.O(),e=0;eh&&(h+=360),s.Le+=h);0>a&&(s.Le=180-s.Le,s.yf=-s.yf);0>d&&(s.Le=-s.Le,s.yf=-s.yf);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.H;k=s.I;s.H=h*
-a+k*c+e;s.I=h*b+k*d+g;0!==b&&(h=180*Math.atan2(b,a)/Math.PI,0>h&&(h+=360),s.Zj+=h);0>a&&(s.Zj=180-s.Zj,s.tm=!s.tm);0>d&&(s.Zj=-s.Zj,s.tm=!s.tm);s.radiusX*=Math.sqrt(a*a+c*c);s.radiusY*=Math.sqrt(b*b+d*d);break;default:D.k("Unknown Segment type: "+s.type)}}}}this.lb=!0;return this};
-Ye.prototype.Oa=function(a,b,c,d){var e=a.x,g=a.y,h=this.mb.x-20;a=a.y;for(var k=0,l=0,m=0,n=0,p=0,q=0,r=this.lc.o,s=r.length,u=0;u=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.n(k+(c[2*n+2]-k)*d,e+(c[2*n+3]-e)*d),b;h+=p}b.n(NaN,NaN);return b};
-Ye.prototype.getFractionForPoint=Ye.prototype.MI=function(a){if(this.type===qf){var b=this.ma,c=this.ka,d=this.H,e=this.I;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===rf){if(b=this.ma,c=this.ka,d=this.H,e=this.I,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.MA,h=this.Mx,k=this.Nx,l=D.O(),c=Infinity,b=d=0,g=e.length,n=m=0,p=0;pa?0:1h&&(h+=360),s.Le+=h);0>a&&(s.Le=180-s.Le,s.zf=-s.zf);0>d&&(s.Le=-s.Le,s.zf=-s.zf);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.Zj+=h);0>a&&(s.Zj=180-s.Zj,s.um=!s.um);0>d&&(s.Zj=-s.Zj,s.um=!s.um);s.radiusX*=Math.sqrt(a*a+c*c);s.radiusY*=Math.sqrt(b*b+d*d);break;default:D.k("Unknown Segment type: "+s.type)}}}}this.mb=!0;return this};
+Ye.prototype.Oa=function(a,b,c,d){var e=a.x,g=a.y,h=this.nb.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,u=0;u=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.n(k+(c[2*n+2]-k)*d,e+(c[2*n+3]-e)*d),b;h+=p}b.n(NaN,NaN);return b};
+Ye.prototype.getAngleAlongPath=Ye.prototype.xF=function(a){0>a?a=0:1=e)return b=b[h],b=180*Math.atan2(b[2*a+3]-b[2*a+1],b[2*a+2]-b[2*a])/Math.PI;g+=m}}return NaN};
+Ye.prototype.getFractionForPoint=Ye.prototype.NI=function(a){if(this.type===qf){var b=this.la,c=this.ja,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===rf){if(b=this.la,c=this.ja,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.Ox,h=this.ju,k=this.ku,l=D.O(),c=Infinity,b=d=0,g=e.length,n=m=0,p=0;pa?0:1a?"M"+this.ma.toString()+" "+this.ka.toString():"M"+this.ma.toFixed(a)+" "+this.ka.toFixed(a),c=this.Db.o,d=c.length,e=0;ea&&(a+=360),this.Pd=a,this.df=0,v&&D.p(d,Wf,"x1"),this.Ch=Math.max(d,0),v&&D.p(e,Wf,"y1"),this.Mg=Math.max(e,0),this.tp="boolean"===typeof h?!!h:!1,this.Lo=!!k):(v&&D.p(d,Wf,"x1"),this.Pd=d,v&&D.p(e,
-Wf,"y1"),this.df=e,v&&D.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Ch=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Mg=h):this.Mg=0,this.Lo=this.tp=!1);this.ei=!1;this.lb=!0;this.vg=null}D.ja("PathSegment",Wf);D.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.ca=this.ca;a.Ab=this.Ab;a.Ib=this.Ib;a.Pd=this.Pd;a.df=this.df;a.Ch=this.Ch;a.Mg=this.Mg;a.tp=this.tp;a.Lo=this.Lo;a.ei=this.ei;a.lb=this.lb;return a};
-Wf.prototype.equalsApprox=Wf.prototype.Tc=function(a){if(!(a instanceof Wf)||this.type!==a.type||this.Tx!==a.Tx)return!1;switch(this.type){case Cf:case uf:return Q(this.H,a.H)&&Q(this.I,a.I);case Df:return Q(this.H,a.H)&&Q(this.I,a.I)&&Q(this.Bc,a.Bc)&&Q(this.Xc,a.Xc)&&Q(this.Rh,a.Rh)&&Q(this.Sh,a.Sh);case Of:return Q(this.H,a.H)&&Q(this.I,a.I)&&Q(this.Bc,a.Bc)&&Q(this.Xc,a.Xc);case Pf:return Q(this.Le,a.Le)&&Q(this.yf,a.yf)&&Q(this.oa,a.oa)&&Q(this.va,a.va)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,
-a.radiusY);case Qf:return this.tm===a.tm&&this.Yx===a.Yx&&Q(this.Zj,a.Zj)&&Q(this.H,a.H)&&Q(this.I,a.I)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,a.radiusY);default:return!1}};Wf.prototype.oc=function(a){a.Ne===Wf?this.type=a:D.Xj(this,a)};
-Wf.prototype.toString=function(a){void 0===a&&(a=-1);var b="";switch(this.type){case Cf:b=0>a?"M"+this.H.toString()+" "+this.I.toString():"M"+this.H.toFixed(a)+" "+this.I.toFixed(a);break;case uf:b=0>a?"L"+this.H.toString()+" "+this.I.toString():"L"+this.H.toFixed(a)+" "+this.I.toFixed(a);break;case Df:b=0>a?"C"+this.Bc.toString()+" "+this.Xc.toString()+" "+this.Rh.toString()+" "+this.Sh.toString()+" "+this.H.toString()+" "+this.I.toString():"C"+this.Bc.toFixed(a)+" "+this.Xc.toFixed(a)+" "+this.Rh.toFixed(a)+
-" "+this.Sh.toFixed(a)+" "+this.H.toFixed(a)+" "+this.I.toFixed(a);break;case Of:b=0>a?"Q"+this.Bc.toString()+" "+this.Xc.toString()+" "+this.H.toString()+" "+this.I.toString():"Q"+this.Bc.toFixed(a)+" "+this.Xc.toFixed(a)+" "+this.H.toFixed(a)+" "+this.I.toFixed(a);break;case Pf:b=0>a?"B"+this.Le.toString()+" "+this.yf.toString()+" "+this.oa.toString()+" "+this.va.toString()+" "+this.radiusX:"B"+this.Le.toFixed(a)+" "+this.yf.toFixed(a)+" "+this.oa.toFixed(a)+" "+this.va.toFixed(a)+" "+this.radiusX;
-break;case Qf:b=0>a?"A"+this.radiusX.toString()+" "+this.radiusY.toString()+" "+this.Zj.toString()+" "+(this.Yx?1:0)+" "+(this.tm?1:0)+" "+this.H.toString()+" "+this.I.toString():"A"+this.radiusX.toFixed(a)+" "+this.radiusY.toFixed(a)+" "+this.Zj.toFixed(a)+" "+(this.Yx?1:0)+" "+(this.tm?1:0)+" "+this.H.toFixed(a)+" "+this.I.toFixed(a);break;default:b=this.type.toString()}return b+(this.ei?"z":"")};var Cf;Wf.Move=Cf=D.s(Wf,"Move",0);var uf;Wf.Line=uf=D.s(Wf,"Line",1);var Df;
-Wf.Bezier=Df=D.s(Wf,"Bezier",2);var Of;Wf.QuadraticBezier=Of=D.s(Wf,"QuadraticBezier",3);var Pf;Wf.Arc=Pf=D.s(Wf,"Arc",4);var Qf;Wf.SvgArc=Qf=D.s(Wf,"SvgArc",4);Wf.prototype.freeze=function(){this.J=!0;return this};Wf.prototype.Ya=function(){this.J=!1;return this};Wf.prototype.close=Wf.prototype.close=function(){this.ei=!0;return this};
-function Rf(a,b){if(null!==a.vg&&!1===b.lb)return a.vg;var c=a.radiusX,d=a.radiusY;void 0===d&&(d=c);if(0===c||0===d)return a.vg=[],a.vg;var e=a.Pd,g=a.df,h=Ve(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=Ve(b>g?b:g,n,n+h,!0);g=D.Pf();g.reset();g.translate(c,d);g.rotate(a.Pd,0,0);g.scale(l,r);Af(b,g);D.He(g);a.vg=b;return a.vg}
-D.defineProperty(Wf,{Tx:"isClosed"},function(){return this.ei},function(a){this.ei!==a&&(this.ei=a,this.lb=!0)});D.defineProperty(Wf,{type:"type"},function(){return this.ca},function(a){v&&D.Da(a,Wf,Wf,"type");this.J&&D.pa(this,a);this.ca=a;this.lb=!0});D.defineProperty(Wf,{H:"endX"},function(){return this.Ab},function(a){v&&D.p(a,Wf,"endX");this.J&&D.pa(this,a);this.Ab=a;this.lb=!0});
-D.defineProperty(Wf,{I:"endY"},function(){return this.Ib},function(a){v&&D.p(a,Wf,"endY");this.J&&D.pa(this,a);this.Ib=a;this.lb=!0});D.defineProperty(Wf,{Bc:"point1X"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"point1X");this.J&&D.pa(this,a);this.Pd=a;this.lb=!0});D.defineProperty(Wf,{Xc:"point1Y"},function(){return this.df},function(a){v&&D.p(a,Wf,"point1Y");this.J&&D.pa(this,a);this.df=a;this.lb=!0});
-D.defineProperty(Wf,{Rh:"point2X"},function(){return this.Ch},function(a){v&&D.p(a,Wf,"point2X");this.J&&D.pa(this,a);this.Ch=a;this.lb=!0});D.defineProperty(Wf,{Sh:"point2Y"},function(){return this.Mg},function(a){v&&D.p(a,Wf,"point2Y");this.J&&D.pa(this,a);this.Mg=a;this.lb=!0});D.defineProperty(Wf,{oa:"centerX"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"centerX");this.J&&D.pa(this,a);this.Pd=a;this.lb=!0});
-D.defineProperty(Wf,{va:"centerY"},function(){return this.df},function(a){v&&D.p(a,Wf,"centerY");this.J&&D.pa(this,a);this.df=a;this.lb=!0});D.defineProperty(Wf,{radiusX:"radiusX"},function(){return this.Ch},function(a){v&&D.p(a,Wf,"radiusX");0>a&&D.ua(a,">= zero",Wf,"radiusX");this.J&&D.pa(this,a);this.Ch=a;this.lb=!0});D.defineProperty(Wf,{radiusY:"radiusY"},function(){return this.Mg},function(a){v&&D.p(a,Wf,"radiusY");0>a&&D.ua(a,">= zero",Wf,"radiusY");this.J&&D.pa(this,a);this.Mg=a;this.lb=!0});
-D.defineProperty(Wf,{Le:"startAngle"},function(){return this.Ab},function(a){this.Ab!==a&&(this.J&&D.pa(this,a),v&&D.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Ab=a,this.lb=!0)});D.defineProperty(Wf,{yf:"sweepAngle"},function(){return this.Ib},function(a){v&&D.p(a,Wf,"sweepAngle");this.J&&D.pa(this,a);360a&&(a=-360);this.Ib=a;this.lb=!0});D.defineProperty(Wf,{tm:"isClockwiseArc"},function(){return this.Lo},function(a){this.J&&D.pa(this,a);this.Lo=a;this.lb=!0});
-D.defineProperty(Wf,{Yx:"isLargeArc"},function(){return this.tp},function(a){this.J&&D.pa(this,a);this.tp=a;this.lb=!0});D.defineProperty(Wf,{Zj:"xAxisRotation"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.J&&D.pa(this,a);this.Pd=a;this.lb=!0});
-function Yf(){this.ba=null;this.lA=(new O(0,0)).freeze();this.sz=(new O(0,0)).freeze();this.zv=this.ww=0;this.Av=1;this.kw="";this.ex=this.Ov=!1;this.Lv=this.Bv=0;this.ak=this.Wv=this.gw=!1;this.Rr=null;this.ax=0;this.Qg=this.$w=null}D.ja("InputEvent",Yf);
-Yf.prototype.copy=function(){var a=new Yf;a.ba=this.ba;a.lA.assign(this.qe);a.sz.assign(this.ha);a.ww=this.ww;a.zv=this.zv;a.Av=this.Av;a.kw=this.kw;a.Ov=this.Ov;a.ex=this.ex;a.Bv=this.Bv;a.Lv=this.Lv;a.gw=this.gw;a.Wv=this.Wv;a.ak=this.ak;a.Rr=this.Rr;a.ax=this.ax;a.$w=this.$w;a.Qg=this.Qg;return a};
-Yf.prototype.toString=function(){var a="^";0!==this.Kd&&(a+="M:"+this.Kd);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Oe&&(a+="C:"+this.Oe);0!==this.im&&(a+="D:"+this.im);this.Mc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};D.defineProperty(Yf,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});D.defineProperty(Yf,{qe:"viewPoint"},function(){return this.lA},function(a){D.l(a,O,Yf,"viewPoint");this.lA.assign(a)});
-D.defineProperty(Yf,{ha:"documentPoint"},function(){return this.sz},function(a){D.l(a,O,Yf,"documentPoint");this.sz.assign(a)});Yf.prototype.getMultiTouchViewPoint=Yf.prototype.Px=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.YB(b));return b};D.defineProperty(Yf,{Kd:"modifiers"},function(){return this.ww},function(a){this.ww=a});
-D.defineProperty(Yf,{button:"button"},function(){return this.zv},function(a){this.zv=a;if(null===this.event)switch(a){case 0:this.buttons=1;break;case 1:this.buttons=4;break;case 2:this.buttons=2}});D.defineProperty(Yf,{buttons:"buttons"},function(){return this.Av},function(a){this.Av=a});D.defineProperty(Yf,{key:"key"},function(){return this.kw},function(a){this.kw=a});D.defineProperty(Yf,{jm:"down"},function(){return this.Ov},function(a){this.Ov=a});
-D.defineProperty(Yf,{up:"up"},function(){return this.ex},function(a){this.ex=a});D.defineProperty(Yf,{Oe:"clickCount"},function(){return this.Bv},function(a){this.Bv=a});D.defineProperty(Yf,{im:"delta"},function(){return this.Lv},function(a){this.Lv=a});D.defineProperty(Yf,{yu:"isMultiTouch"},function(){return this.gw},function(a){this.gw=a});D.defineProperty(Yf,{Mc:"handled"},function(){return this.Wv},function(a){this.Wv=a});
-D.defineProperty(Yf,{bubbles:"bubbles"},function(){return this.ak},function(a){this.ak=a});D.defineProperty(Yf,{event:"event"},function(){return this.Rr},function(a){this.Rr=a});D.w(Yf,{Mj:"isTouchEvent"},function(){var a=window.TouchEvent;return a&&this.event instanceof a?!0:(a=window.PointerEvent)&&this.event instanceof a&&"touch"===this.event.pointerType});D.w(Yf,{Wk:"isMac"},function(){return D.Wk});D.defineProperty(Yf,{timestamp:"timestamp"},function(){return this.ax},function(a){this.ax=a});
-D.defineProperty(Yf,{gh:"targetDiagram"},function(){return this.$w},function(a){this.$w=a});D.defineProperty(Yf,{We:"targetObject"},function(){return this.Qg},function(a){this.Qg=a});D.defineProperty(Yf,{control:"control"},function(){return 0!==(this.Kd&1)},function(a){this.Kd=a?this.Kd|1:this.Kd&-2});D.defineProperty(Yf,{shift:"shift"},function(){return 0!==(this.Kd&4)},function(a){this.Kd=a?this.Kd|4:this.Kd&-5});
-D.defineProperty(Yf,{alt:"alt"},function(){return 0!==(this.Kd&2)},function(a){this.Kd=a?this.Kd|2:this.Kd&-3});D.defineProperty(Yf,{Hu:"meta"},function(){return 0!==(this.Kd&8)},function(a){this.Kd=a?this.Kd|8:this.Kd&-9});D.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});
-D.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});D.defineProperty(Yf,{ZL:"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.ba=null;this.Xb="";this.Gw=this.Yw=null;this.lr=!1}D.ja("DiagramEvent",$f);$f.prototype.copy=function(){var a=new $f;a.ba=this.ba;a.Xb=this.Xb;a.Yw=this.Yw;a.Gw=this.Gw;a.lr=this.lr;return a};$f.prototype.toString=function(){var a="*"+this.name;null!==this.PB&&(a+=":"+this.PB.toString());null!==this.uB&&(a+="("+this.uB.toString()+")");return a};D.defineProperty($f,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});
-D.defineProperty($f,{name:"name"},function(){return this.Xb},function(a){this.Xb=a});D.defineProperty($f,{PB:"subject"},function(){return this.Yw},function(a){this.Yw=a});D.defineProperty($f,{uB:"parameter"},function(){return this.Gw},function(a){this.Gw=a});D.defineProperty($f,{cancel:"cancel"},function(){return this.lr},function(a){this.lr!==a&&D.Pn("DiagramEvent.cancel","2.0");this.lr=a});function ag(){this.mr=bg;this.ln=this.vw="";this.Ls=this.Ms=this.Qs=this.Rs=this.Ps=this.ba=this.ve=null}
-D.ja("ChangedEvent",ag);var cg;ag.Transaction=cg=D.s(ag,"Transaction",-1);var bg;ag.Property=bg=D.s(ag,"Property",0);var dg;ag.Insert=dg=D.s(ag,"Insert",1);var og;ag.Remove=og=D.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ls=this.Ms=this.Qs=this.Rs=this.Ps=this.ba=this.ve=null};
-ag.prototype.copy=function(){var a=new ag;a.mr=this.mr;a.vw=this.vw;a.ln=this.ln;a.ve=this.ve;a.ba=this.ba;a.Ps=this.Ps;var b=this.Rs;a.Rs=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Qs;a.Qs=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Ms;a.Ms=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=D.Ta(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.oc=function(a){a.Ne===ag?this.Jc=a:D.Xj(this,a)};
-ag.prototype.toString=function(){var a="",a=this.Jc===cg?a+"* ":this.Jc===bg?a+(null!==this.ga?"!m":"!d"):a+((null!==this.ga?"!m":"!d")+this.Jc);this.propertyName&&"string"===typeof this.propertyName&&(a+=" "+this.propertyName);this.xf&&this.xf!==this.propertyName&&(a+=" "+this.xf);a+=": ";this.Jc===cg?null!==this.oldValue&&(a+=" "+this.oldValue):(null!==this.object&&(a+=ja(this.object)),null!==this.oldValue&&(a+=" old: "+ja(this.oldValue)),null!==this.Tj&&(a+=" "+this.Tj),null!==this.newValue&&
+D.defineProperty(Ye,{je:"defaultStretch"},function(){return this.Ui},function(a){v&&D.Da(a,P,Ye,"stretch");this.J&&D.pa(this,a);this.Ui=a});D.w(Ye,{nb:"bounds"},function(){this.Yx()&&(this.Oy(),this.Lh());return this.Ev});function $e(a,b,c,d){D.uc(this);this.J=!1;void 0===c&&(c=!0);this.Tm=c;void 0===d&&(d=!0);this.op=d;void 0!==a?(v&&D.p(a,$e,"sx"),this.xc=a):this.xc=0;void 0!==b?(v&&D.p(b,$e,"sy"),this.Hc=b):this.Hc=0;this.Kp=new K(Wf);this.Vw=this.Kp.I;this.mb=!0}D.ka("PathFigure",$e);D.Ai($e);
+$e.prototype.copy=function(){var a=new $e;a.Tm=this.Tm;a.op=this.op;a.xc=this.xc;a.Hc=this.Hc;for(var b=this.Kp.o,c=b.length,d=a.Kp,e=0;ea?"M"+this.la.toString()+" "+this.ja.toString():"M"+this.la.toFixed(a)+" "+this.ja.toFixed(a),c=this.Db.o,d=c.length,e=0;ea&&(a+=360),this.Pd=a,this.ef=0,v&&D.p(d,Wf,"x1"),this.Dh=Math.max(d,0),v&&D.p(e,Wf,"y1"),this.Ng=Math.max(e,0),this.tp="boolean"===typeof h?!!h:!1,this.Lo=!!k):(v&&D.p(d,Wf,"x1"),this.Pd=d,v&&D.p(e,
+Wf,"y1"),this.ef=e,v&&D.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Dh=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Ng=h):this.Ng=0,this.Lo=this.tp=!1);this.fi=!1;this.mb=!0;this.wg=null}D.ka("PathSegment",Wf);D.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.ca=this.ca;a.Ab=this.Ab;a.Ib=this.Ib;a.Pd=this.Pd;a.ef=this.ef;a.Dh=this.Dh;a.Ng=this.Ng;a.tp=this.tp;a.Lo=this.Lo;a.fi=this.fi;a.mb=this.mb;return a};
+Wf.prototype.equalsApprox=Wf.prototype.Tc=function(a){if(!(a instanceof Wf)||this.type!==a.type||this.Ux!==a.Ux)return!1;switch(this.type){case Cf:case uf:return Q(this.G,a.G)&&Q(this.H,a.H);case Df:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Bc,a.Bc)&&Q(this.Xc,a.Xc)&&Q(this.Sh,a.Sh)&&Q(this.Th,a.Th);case Of:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Bc,a.Bc)&&Q(this.Xc,a.Xc);case Pf:return Q(this.Le,a.Le)&&Q(this.zf,a.zf)&&Q(this.oa,a.oa)&&Q(this.va,a.va)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,
+a.radiusY);case Qf:return this.um===a.um&&this.Zx===a.Zx&&Q(this.Zj,a.Zj)&&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.Ne===Wf?this.type=a:D.Xj(this,a)};
+Wf.prototype.toString=function(a){void 0===a&&(a=-1);var b="";switch(this.type){case Cf:b=0>a?"M"+this.G.toString()+" "+this.H.toString():"M"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case uf:b=0>a?"L"+this.G.toString()+" "+this.H.toString():"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Df:b=0>a?"C"+this.Bc.toString()+" "+this.Xc.toString()+" "+this.Sh.toString()+" "+this.Th.toString()+" "+this.G.toString()+" "+this.H.toString():"C"+this.Bc.toFixed(a)+" "+this.Xc.toFixed(a)+" "+this.Sh.toFixed(a)+
+" "+this.Th.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Of:b=0>a?"Q"+this.Bc.toString()+" "+this.Xc.toString()+" "+this.G.toString()+" "+this.H.toString():"Q"+this.Bc.toFixed(a)+" "+this.Xc.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Pf:b=0>a?"B"+this.Le.toString()+" "+this.zf.toString()+" "+this.oa.toString()+" "+this.va.toString()+" "+this.radiusX:"B"+this.Le.toFixed(a)+" "+this.zf.toFixed(a)+" "+this.oa.toFixed(a)+" "+this.va.toFixed(a)+" "+this.radiusX;
+break;case Qf:b=0>a?"A"+this.radiusX.toString()+" "+this.radiusY.toString()+" "+this.Zj.toString()+" "+(this.Zx?1:0)+" "+(this.um?1:0)+" "+this.G.toString()+" "+this.H.toString():"A"+this.radiusX.toFixed(a)+" "+this.radiusY.toFixed(a)+" "+this.Zj.toFixed(a)+" "+(this.Zx?1:0)+" "+(this.um?1:0)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;default:b=this.type.toString()}return b+(this.fi?"z":"")};var Cf;Wf.Move=Cf=D.s(Wf,"Move",0);var uf;Wf.Line=uf=D.s(Wf,"Line",1);var Df;
+Wf.Bezier=Df=D.s(Wf,"Bezier",2);var Of;Wf.QuadraticBezier=Of=D.s(Wf,"QuadraticBezier",3);var Pf;Wf.Arc=Pf=D.s(Wf,"Arc",4);var Qf;Wf.SvgArc=Qf=D.s(Wf,"SvgArc",4);Wf.prototype.freeze=function(){this.J=!0;return this};Wf.prototype.Ya=function(){this.J=!1;return this};Wf.prototype.close=Wf.prototype.close=function(){this.fi=!0;return this};
+function Rf(a,b){if(null!==a.wg&&!1===b.mb)return a.wg;var c=a.radiusX,d=a.radiusY;void 0===d&&(d=c);if(0===c||0===d)return a.wg=[],a.wg;var e=a.Pd,g=a.ef,h=Ve(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=Ve(b>g?b:g,n,n+h,!0);g=D.Qf();g.reset();g.translate(c,d);g.rotate(a.Pd,0,0);g.scale(l,r);Af(b,g);D.He(g);a.wg=b;return a.wg}
+D.defineProperty(Wf,{Ux:"isClosed"},function(){return this.fi},function(a){this.fi!==a&&(this.fi=a,this.mb=!0)});D.defineProperty(Wf,{type:"type"},function(){return this.ca},function(a){v&&D.Da(a,Wf,Wf,"type");this.J&&D.pa(this,a);this.ca=a;this.mb=!0});D.defineProperty(Wf,{G:"endX"},function(){return this.Ab},function(a){v&&D.p(a,Wf,"endX");this.J&&D.pa(this,a);this.Ab=a;this.mb=!0});
+D.defineProperty(Wf,{H:"endY"},function(){return this.Ib},function(a){v&&D.p(a,Wf,"endY");this.J&&D.pa(this,a);this.Ib=a;this.mb=!0});D.defineProperty(Wf,{Bc:"point1X"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"point1X");this.J&&D.pa(this,a);this.Pd=a;this.mb=!0});D.defineProperty(Wf,{Xc:"point1Y"},function(){return this.ef},function(a){v&&D.p(a,Wf,"point1Y");this.J&&D.pa(this,a);this.ef=a;this.mb=!0});
+D.defineProperty(Wf,{Sh:"point2X"},function(){return this.Dh},function(a){v&&D.p(a,Wf,"point2X");this.J&&D.pa(this,a);this.Dh=a;this.mb=!0});D.defineProperty(Wf,{Th:"point2Y"},function(){return this.Ng},function(a){v&&D.p(a,Wf,"point2Y");this.J&&D.pa(this,a);this.Ng=a;this.mb=!0});D.defineProperty(Wf,{oa:"centerX"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"centerX");this.J&&D.pa(this,a);this.Pd=a;this.mb=!0});
+D.defineProperty(Wf,{va:"centerY"},function(){return this.ef},function(a){v&&D.p(a,Wf,"centerY");this.J&&D.pa(this,a);this.ef=a;this.mb=!0});D.defineProperty(Wf,{radiusX:"radiusX"},function(){return this.Dh},function(a){v&&D.p(a,Wf,"radiusX");0>a&&D.ua(a,">= zero",Wf,"radiusX");this.J&&D.pa(this,a);this.Dh=a;this.mb=!0});D.defineProperty(Wf,{radiusY:"radiusY"},function(){return this.Ng},function(a){v&&D.p(a,Wf,"radiusY");0>a&&D.ua(a,">= zero",Wf,"radiusY");this.J&&D.pa(this,a);this.Ng=a;this.mb=!0});
+D.defineProperty(Wf,{Le:"startAngle"},function(){return this.Ab},function(a){this.Ab!==a&&(this.J&&D.pa(this,a),v&&D.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Ab=a,this.mb=!0)});D.defineProperty(Wf,{zf:"sweepAngle"},function(){return this.Ib},function(a){v&&D.p(a,Wf,"sweepAngle");this.J&&D.pa(this,a);360a&&(a=-360);this.Ib=a;this.mb=!0});D.defineProperty(Wf,{um:"isClockwiseArc"},function(){return this.Lo},function(a){this.J&&D.pa(this,a);this.Lo=a;this.mb=!0});
+D.defineProperty(Wf,{Zx:"isLargeArc"},function(){return this.tp},function(a){this.J&&D.pa(this,a);this.tp=a;this.mb=!0});D.defineProperty(Wf,{Zj:"xAxisRotation"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.J&&D.pa(this,a);this.Pd=a;this.mb=!0});
+function Yf(){this.ba=null;this.mA=(new O(0,0)).freeze();this.uz=(new O(0,0)).freeze();this.Bv=this.yw=0;this.Cv=1;this.mw="";this.hx=this.Qv=!1;this.Nv=this.Dv=0;this.ak=this.Yv=this.iw=!1;this.Rr=null;this.ex=0;this.Rg=this.bx=null}D.ka("InputEvent",Yf);
+Yf.prototype.copy=function(){var a=new Yf;a.ba=this.ba;a.mA.assign(this.qe);a.uz.assign(this.ha);a.yw=this.yw;a.Bv=this.Bv;a.Cv=this.Cv;a.mw=this.mw;a.Qv=this.Qv;a.hx=this.hx;a.Dv=this.Dv;a.Nv=this.Nv;a.iw=this.iw;a.Yv=this.Yv;a.ak=this.ak;a.Rr=this.Rr;a.ex=this.ex;a.bx=this.bx;a.Rg=this.Rg;return a};
+Yf.prototype.toString=function(){var a="^";0!==this.Kd&&(a+="M:"+this.Kd);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Oe&&(a+="C:"+this.Oe);0!==this.jm&&(a+="D:"+this.jm);this.Mc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};D.defineProperty(Yf,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});D.defineProperty(Yf,{qe:"viewPoint"},function(){return this.mA},function(a){D.l(a,O,Yf,"viewPoint");this.mA.assign(a)});
+D.defineProperty(Yf,{ha:"documentPoint"},function(){return this.uz},function(a){D.l(a,O,Yf,"documentPoint");this.uz.assign(a)});Yf.prototype.getMultiTouchViewPoint=Yf.prototype.Qx=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.YB(b));return b};D.defineProperty(Yf,{Kd:"modifiers"},function(){return this.yw},function(a){this.yw=a});
+D.defineProperty(Yf,{button:"button"},function(){return this.Bv},function(a){this.Bv=a;if(null===this.event)switch(a){case 0:this.buttons=1;break;case 1:this.buttons=4;break;case 2:this.buttons=2}});D.defineProperty(Yf,{buttons:"buttons"},function(){return this.Cv},function(a){this.Cv=a});D.defineProperty(Yf,{key:"key"},function(){return this.mw},function(a){this.mw=a});D.defineProperty(Yf,{km:"down"},function(){return this.Qv},function(a){this.Qv=a});
+D.defineProperty(Yf,{up:"up"},function(){return this.hx},function(a){this.hx=a});D.defineProperty(Yf,{Oe:"clickCount"},function(){return this.Dv},function(a){this.Dv=a});D.defineProperty(Yf,{jm:"delta"},function(){return this.Nv},function(a){this.Nv=a});D.defineProperty(Yf,{Au:"isMultiTouch"},function(){return this.iw},function(a){this.iw=a});D.defineProperty(Yf,{Mc:"handled"},function(){return this.Yv},function(a){this.Yv=a});
+D.defineProperty(Yf,{bubbles:"bubbles"},function(){return this.ak},function(a){this.ak=a});D.defineProperty(Yf,{event:"event"},function(){return this.Rr},function(a){this.Rr=a});D.w(Yf,{Mj:"isTouchEvent"},function(){var a=window.TouchEvent;return a&&this.event instanceof a?!0:(a=window.PointerEvent)&&this.event instanceof a&&"touch"===this.event.pointerType});D.w(Yf,{Xk:"isMac"},function(){return D.Xk});D.defineProperty(Yf,{timestamp:"timestamp"},function(){return this.ex},function(a){this.ex=a});
+D.defineProperty(Yf,{hh:"targetDiagram"},function(){return this.bx},function(a){this.bx=a});D.defineProperty(Yf,{We:"targetObject"},function(){return this.Rg},function(a){this.Rg=a});D.defineProperty(Yf,{control:"control"},function(){return 0!==(this.Kd&1)},function(a){this.Kd=a?this.Kd|1:this.Kd&-2});D.defineProperty(Yf,{shift:"shift"},function(){return 0!==(this.Kd&4)},function(a){this.Kd=a?this.Kd|4:this.Kd&-5});
+D.defineProperty(Yf,{alt:"alt"},function(){return 0!==(this.Kd&2)},function(a){this.Kd=a?this.Kd|2:this.Kd&-3});D.defineProperty(Yf,{Ju:"meta"},function(){return 0!==(this.Kd&8)},function(a){this.Kd=a?this.Kd|8:this.Kd&-9});D.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});
+D.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});D.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.ba=null;this.Yb="";this.Iw=this.$w=null;this.lr=!1}D.ka("DiagramEvent",$f);$f.prototype.copy=function(){var a=new $f;a.ba=this.ba;a.Yb=this.Yb;a.$w=this.$w;a.Iw=this.Iw;a.lr=this.lr;return a};$f.prototype.toString=function(){var a="*"+this.name;null!==this.PB&&(a+=":"+this.PB.toString());null!==this.uB&&(a+="("+this.uB.toString()+")");return a};D.defineProperty($f,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});
+D.defineProperty($f,{name:"name"},function(){return this.Yb},function(a){this.Yb=a});D.defineProperty($f,{PB:"subject"},function(){return this.$w},function(a){this.$w=a});D.defineProperty($f,{uB:"parameter"},function(){return this.Iw},function(a){this.Iw=a});D.defineProperty($f,{cancel:"cancel"},function(){return this.lr},function(a){this.lr!==a&&D.Pn("DiagramEvent.cancel","2.0");this.lr=a});function ag(){this.mr=bg;this.ln=this.xw="";this.Ls=this.Ms=this.Qs=this.Rs=this.Ps=this.ba=this.ve=null}
+D.ka("ChangedEvent",ag);var cg;ag.Transaction=cg=D.s(ag,"Transaction",-1);var bg;ag.Property=bg=D.s(ag,"Property",0);var ng;ag.Insert=ng=D.s(ag,"Insert",1);var og;ag.Remove=og=D.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ls=this.Ms=this.Qs=this.Rs=this.Ps=this.ba=this.ve=null};
+ag.prototype.copy=function(){var a=new ag;a.mr=this.mr;a.xw=this.xw;a.ln=this.ln;a.ve=this.ve;a.ba=this.ba;a.Ps=this.Ps;var b=this.Rs;a.Rs=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Qs;a.Qs=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Ms;a.Ms=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=D.Ta(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.pc=function(a){a.Ne===ag?this.Jc=a:D.Xj(this,a)};
+ag.prototype.toString=function(){var a="",a=this.Jc===cg?a+"* ":this.Jc===bg?a+(null!==this.ga?"!m":"!d"):a+((null!==this.ga?"!m":"!d")+this.Jc);this.propertyName&&"string"===typeof this.propertyName&&(a+=" "+this.propertyName);this.yf&&this.yf!==this.propertyName&&(a+=" "+this.yf);a+=": ";this.Jc===cg?null!==this.oldValue&&(a+=" "+this.oldValue):(null!==this.object&&(a+=ja(this.object)),null!==this.oldValue&&(a+=" old: "+ja(this.oldValue)),null!==this.Tj&&(a+=" "+this.Tj),null!==this.newValue&&
(a+=" new: "+ja(this.newValue)),null!==this.Rj&&(a+=" "+this.Rj));return a};ag.prototype.getValue=ag.prototype.na=function(a){return a?this.oldValue:this.newValue};ag.prototype.getParam=function(a){return a?this.Tj:this.Rj};ag.prototype.canUndo=ag.prototype.canUndo=function(){return null!==this.ga||null!==this.g?!0:!1};ag.prototype.undo=ag.prototype.undo=function(){this.canUndo()&&(null!==this.ga?this.ga.Gn(this,!0):null!==this.g&&this.g.Gn(this,!0))};
ag.prototype.canRedo=ag.prototype.canRedo=function(){return null!==this.ga||null!==this.g?!0:!1};ag.prototype.redo=ag.prototype.redo=function(){this.canRedo()&&(null!==this.ga?this.ga.Gn(this,!1):null!==this.g&&this.g.Gn(this,!1))};D.defineProperty(ag,{ga:"model"},function(){return this.ve},function(a){this.ve=a});D.defineProperty(ag,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});
-D.defineProperty(ag,{Jc:"change"},function(){return this.mr},function(a){v&&D.Da(a,ag,ag,"change");this.mr=a});D.defineProperty(ag,{xf:"modelChange"},function(){return this.vw},function(a){v&&D.h(a,"string",ag,"modelChange");this.vw=a});D.defineProperty(ag,{propertyName:"propertyName"},function(){return this.ln},function(a){v&&"string"!==typeof a&&D.h(a,"function",ag,"propertyName");this.ln=a});
-D.w(ag,{YF:"isTransactionFinished"},function(){return this.mr===cg&&("CommittedTransaction"===this.ln||"FinishedUndo"===this.ln||"FinishedRedo"===this.ln)});D.defineProperty(ag,{object:"object"},function(){return this.Ps},function(a){this.Ps=a});D.defineProperty(ag,{oldValue:"oldValue"},function(){return this.Rs},function(a){this.Rs=a});D.defineProperty(ag,{Tj:"oldParam"},function(){return this.Qs},function(a){this.Qs=a});
+D.defineProperty(ag,{Jc:"change"},function(){return this.mr},function(a){v&&D.Da(a,ag,ag,"change");this.mr=a});D.defineProperty(ag,{yf:"modelChange"},function(){return this.xw},function(a){v&&D.h(a,"string",ag,"modelChange");this.xw=a});D.defineProperty(ag,{propertyName:"propertyName"},function(){return this.ln},function(a){v&&"string"!==typeof a&&D.h(a,"function",ag,"propertyName");this.ln=a});
+D.w(ag,{ZF:"isTransactionFinished"},function(){return this.mr===cg&&("CommittedTransaction"===this.ln||"FinishedUndo"===this.ln||"FinishedRedo"===this.ln)});D.defineProperty(ag,{object:"object"},function(){return this.Ps},function(a){this.Ps=a});D.defineProperty(ag,{oldValue:"oldValue"},function(){return this.Rs},function(a){this.Rs=a});D.defineProperty(ag,{Tj:"oldParam"},function(){return this.Qs},function(a){this.Qs=a});
D.defineProperty(ag,{newValue:"newValue"},function(){return this.Ms},function(a){this.Ms=a});D.defineProperty(ag,{Rj:"newParam"},function(){return this.Ls},function(a){this.Ls=a});
-function M(a){1g?b+("\\u000"+a.charCodeAt(d).toString(16)):32>g?b+("\\u00"+a.charCodeAt(d).toString(16)):8232===g?b+"\\u2028":8233===g?b+"\\u2029":b+e}return'"'+b+'"'};
-M.prototype.writeJsonValue=M.prototype.jv=function(a){return void 0===a?"undefined":null===a?"null":!0===a?"true":!1===a?"false":"string"===typeof a?this.quote(a):"number"===typeof a?Infinity===a?"9e9999":-Infinity===a?"-9e9999":isNaN(a)?'{"class":"NaN"}':a.toString():a instanceof Date?'{"class":"Date", "value":"'+a.toJSON()+'"}':a instanceof Number?this.jv(a.valueOf()):D.isArray(a)?ug(this,a):D.Ta(a)?rg(this,a):"function"===typeof a?"null":a.toString()};
-function ug(a,b,c){void 0===c&&(c=!1);var d=D.cb(b);if(0>=d)return"[]";var e=new ya;e.add("[ ");c&&1=d)return"[]";var e=new ya;e.add("[ ");c&&1d)return;D.Ug(a.we,d)}Xg(a,"nodeDataArray",og,"nodeDataArray",a,b,null,d,null);a.hv(b)}
-M.prototype.removeNodeDataCollection=function(a){if(D.isArray(a))for(var b=D.cb(a),c=0;cd)return;D.Vg(a.we,d)}Xg(a,"nodeDataArray",og,"nodeDataArray",a,b,null,d,null);a.jv(b)}
+M.prototype.removeNodeDataCollection=function(a){if(D.isArray(a))for(var b=D.eb(a),c=0;cb&&(b=D.cb(a));D.Ih(a,b,c);Xg(this,"",dg,"",a,null,c,null,b)};
-M.prototype.removeArrayItem=M.prototype.vG=function(a,b){void 0===b&&(b=-1);v&&(D.Wt(a,M,"removeArrayItem:arr"),D.p(b,M,"removeArrayItem:idx"));a===this.we&&D.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=D.cb(a)-1);var c=D.La(a,b);D.Ug(a,b);Xg(this,"",og,"",a,c,null,b,null)};D.defineProperty(M,{oo:"nodeCategoryProperty"},function(){return this.fn},function(a){var b=this.fn;b!==a&&(Yg(a,M,"nodeCategoryProperty"),this.fn=a,this.i("nodeCategoryProperty",b,a))});
+D.defineProperty(M,{SH:"afterCopyFunction"},function(){return this.cr},function(a){var b=this.cr;b!==a&&(null!==a&&D.h(a,"function",M,"afterCopyFunction"),this.cr=a,this.i("afterCopyFunction",b,a))});var hh=!1;
+M.prototype.setDataProperty=function(a,b,c){v&&(D.h(a,"object",M,"setDataProperty:data"),D.h(b,"string",M,"setDataProperty:propname"),""===b&&D.k("Model.setDataProperty: property name must not be an empty string when setting "+a+" to "+c));if(this.ie(a))if(b===this.Sj)this.Jy(a,c);else{if(b===this.oo){this.Hy(a,c);return}}else!hh&&a instanceof P&&(hh=!0,D.trace('Model.setDataProperty is modifying a GraphObject, "'+a.toString()+'"'),D.trace(" Is that really your intent?"));var d=D.vb(a,b);d!==c&&
+(D.Ua(a,b,c),this.vB(a,b,d,c))};M.prototype.addArrayItem=function(a,b){this.YA(a,-1,b)};M.prototype.insertArrayItem=M.prototype.YA=function(a,b,c){v&&(D.Wt(a,M,"insertArrayItem:arr"),D.p(b,M,"insertArrayItem:idx"));a===this.we&&D.k("Model.insertArrayItem or Model.addArrayItem should not be called on the Model.nodeDataArray");0>b&&(b=D.eb(a));D.Jh(a,b,c);Xg(this,"",ng,"",a,null,c,null,b)};
+M.prototype.removeArrayItem=M.prototype.wG=function(a,b){void 0===b&&(b=-1);v&&(D.Wt(a,M,"removeArrayItem:arr"),D.p(b,M,"removeArrayItem:idx"));a===this.we&&D.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=D.eb(a)-1);var c=D.La(a,b);D.Vg(a,b);Xg(this,"",og,"",a,c,null,b,null)};D.defineProperty(M,{oo:"nodeCategoryProperty"},function(){return this.fn},function(a){var b=this.fn;b!==a&&(Yg(a,M,"nodeCategoryProperty"),this.fn=a,this.i("nodeCategoryProperty",b,a))});
M.prototype.getCategoryForNodeData=M.prototype.QA=function(a){if(null===a)return"";var b=this.fn;if(""===b)return"";b=D.vb(a,b);if(void 0===b)return"";if("string"===typeof b)return b;D.k("getCategoryForNodeData found a non-string category for "+a+": "+b);return""};
-M.prototype.setCategoryForNodeData=M.prototype.Gy=function(a,b){D.h(b,"string",M,"setCategoryForNodeData:cat");if(null!==a){var c=this.fn;if(""!==c)if(this.ie(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"nodeCategory",bg,c,a,d,b))}else D.Ua(a,c,b)}};
-function Y(a,b){M.call(this);2D.am(d,a.newValue)&&D.Ih(d,c,a.newValue));return}}else if(a.Jc===
-og){c=a.Tj;if("linkDataArray"===a.xf){d=a.oldValue;D.Ta(d)&&"number"===typeof c&&(e=this.eg(d),b?(this.hi.add(d),D.La(this.bf,c)!==d&&D.Ih(this.bf,c,d),void 0!==e&&this.pd.add(e,d)):(this.hi.remove(d),D.La(this.bf,c)===d&&D.Ug(this.bf,c),void 0!==e&&this.pd.remove(e)));return}if("linkLabelKeys"===a.xf){d=this.Sk(a.object);D.isArray(d)&&"number"===typeof c&&(b?0>D.am(d,a.newValue)&&D.Ih(d,c,a.newValue):(c=D.am(d,a.newValue),0<=c&&D.Ug(d,c)));return}}M.prototype.Gn.call(this,a,b)};
-D.defineProperty(Y,{sA:"archetypeNodeData"},function(){return this.ql},function(a){var b=this.ql;b!==a&&(null!==a&&D.l(a,Object,Y,"archetypeNodeData"),this.ql=a,this.i("archetypeNodeData",b,a))});Y.prototype.ho=function(a){if(void 0!==a){var b=this.ql;if(null!==b){var c=this.Fe(a);null===c&&(c=this.copyNodeData(b),D.Ua(c,this.wk,a),this.Xl(c))}return a}};
-D.defineProperty(Y,{eo:"linkFromKeyProperty"},function(){return this.ii},function(a){var b=this.ii;b!==a&&(Yg(a,Y,"linkFromKeyProperty"),this.ii=a,this.i("linkFromKeyProperty",b,a))});Y.prototype.getFromKeyForLinkData=Y.prototype.qm=function(a){if(null!==a){var b=this.ii;if(""!==b&&(b=D.vb(a,b),void 0!==b)){if(Zg(b))return b;D.k("FromKey value for link data "+a+" is not a number or a string: "+b)}}};
-Y.prototype.setFromKeyForLinkData=Y.prototype.FB=function(a,b){null===b&&(b=void 0);void 0===b||Zg(b)||D.hc(b,"number or string",Y,"setFromKeyForLinkData:key");if(null!==a){var c=this.ii;if(""!==c)if(b=this.ho(b),this.Lh(a)){var d=D.vb(a,c);d!==b&&(dh(this,d,a),D.Ua(a,c,b),null===this.Fe(b)&&ch(this,b,a),Xg(this,"linkFromKey",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
-D.defineProperty(Y,{fo:"linkToKeyProperty"},function(){return this.ji},function(a){var b=this.ji;b!==a&&(Yg(a,Y,"linkToKeyProperty"),this.ji=a,this.i("linkToKeyProperty",b,a))});Y.prototype.getToKeyForLinkData=Y.prototype.rm=function(a){if(null!==a){var b=this.ji;if(""!==b&&(b=D.vb(a,b),void 0!==b)){if(Zg(b))return b;D.k("ToKey value for link data "+a+" is not a number or a string: "+b)}}};
-Y.prototype.setToKeyForLinkData=Y.prototype.LB=function(a,b){null===b&&(b=void 0);void 0===b||Zg(b)||D.hc(b,"number or string",Y,"setToKeyForLinkData:key");if(null!==a){var c=this.ji;if(""!==c)if(b=this.ho(b),this.Lh(a)){var d=D.vb(a,c);d!==b&&(dh(this,d,a),D.Ua(a,c,b),null===this.Fe(b)&&ch(this,b,a),Xg(this,"linkToKey",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
-D.defineProperty(Y,{Du:"linkFromPortIdProperty"},function(){return this.an},function(a){var b=this.an;b!==a&&(Yg(a,Y,"linkFromPortIdProperty"),a!==this.eo&&a!==this.fo||D.k("linkFromPortIdProperty name must not be the same as the GraphLinksModel.linkFromKeyProperty or linkToKeyProperty: "+a),this.an=a,this.i("linkFromPortIdProperty",b,a))});Y.prototype.getFromPortIdForLinkData=Y.prototype.NI=function(a){if(null===a)return"";var b=this.an;if(""===b)return"";a=D.vb(a,b);return void 0===a?"":a};
-Y.prototype.setFromPortIdForLinkData=Y.prototype.GB=function(a,b){D.h(b,"string",Y,"setFromPortIdForLinkData:portname");if(null!==a){var c=this.an;if(""!==c)if(this.Lh(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"linkFromPortId",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
-D.defineProperty(Y,{Fu:"linkToPortIdProperty"},function(){return this.bn},function(a){var b=this.bn;b!==a&&(Yg(a,Y,"linkToPortIdProperty"),a!==this.eo&&a!==this.fo||D.k("linkFromPortIdProperty name must not be the same as the GraphLinksModel.linkFromKeyProperty or linkToKeyProperty: "+a),this.bn=a,this.i("linkToPortIdProperty",b,a))});Y.prototype.getToPortIdForLinkData=Y.prototype.SI=function(a){if(null===a)return"";var b=this.bn;if(""===b)return"";a=D.vb(a,b);return void 0===a?"":a};
-Y.prototype.setToPortIdForLinkData=Y.prototype.MB=function(a,b){D.h(b,"string",Y,"setToPortIdForLinkData:portname");if(null!==a){var c=this.bn;if(""!==c)if(this.Lh(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"linkToPortId",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};D.defineProperty(Y,{Eu:"linkLabelKeysProperty"},function(){return this.Ig},function(a){var b=this.Ig;b!==a&&(Yg(a,Y,"linkLabelKeysProperty"),this.Ig=a,this.i("linkLabelKeysProperty",b,a))});
-Y.prototype.getLabelKeysForLinkData=Y.prototype.Sk=function(a){if(null===a)return D.Do;var b=this.Ig;if(""===b)return D.Do;a=D.vb(a,b);return void 0===a?D.Do:a};
-Y.prototype.setLabelKeysForLinkData=Y.prototype.TG=function(a,b){D.Wt(b,Y,"setLabelKeysForLinkData:arr");if(null!==a){var c=this.Ig;if(""!==c)if(this.Lh(a)){var d=D.vb(a,c);void 0===d&&(d=D.Do);if(d!==b){for(var e=D.cb(d),g=0;ge||(D.Ug(d,e),this.Lh(a)&&(dh(this,b,a),Xg(this,"linkLabelKeys",og,c,a,b,null,e,null)))}else void 0!==d&&D.k(c+" property is not an Array; cannot removeLabelKeyforLinkData: "+a)}}};
-D.defineProperty(Y,{Zg:"linkDataArray"},function(){return this.bf},function(a){var b=this.bf;if(b!==a){D.Wt(a,Y,"linkDataArray");this.pd.clear();for(var c=D.cb(a),d=0;dd)return;D.Ug(a.bf,d)}Xg(a,"linkDataArray",og,"linkDataArray",a,b,null,d,null);c=a.qm(b);dh(a,c,b);c=a.rm(b);dh(a,c,b);d=a.Sk(b);if(D.isArray(d))for(var e=D.cb(d),g=0;gD.bm(d,a.newValue)&&D.Jh(d,c,a.newValue));return}}else if(a.Jc===
+og){c=a.Tj;if("linkDataArray"===a.yf){d=a.oldValue;D.Ta(d)&&"number"===typeof c&&(e=this.fg(d),b?(this.hi.add(d),D.La(this.bf,c)!==d&&D.Jh(this.bf,c,d),void 0!==e&&this.pd.add(e,d)):(this.hi.remove(d),D.La(this.bf,c)===d&&D.Vg(this.bf,c),void 0!==e&&this.pd.remove(e)));return}if("linkLabelKeys"===a.yf){d=this.Tk(a.object);D.isArray(d)&&"number"===typeof c&&(b?0>D.bm(d,a.newValue)&&D.Jh(d,c,a.newValue):(c=D.bm(d,a.newValue),0<=c&&D.Vg(d,c)));return}}M.prototype.Gn.call(this,a,b)};
+D.defineProperty(Y,{tA:"archetypeNodeData"},function(){return this.rl},function(a){var b=this.rl;b!==a&&(null!==a&&D.l(a,Object,Y,"archetypeNodeData"),this.rl=a,this.i("archetypeNodeData",b,a))});Y.prototype.ho=function(a){if(void 0!==a){var b=this.rl;if(null!==b){var c=this.Fe(a);null===c&&(c=this.copyNodeData(b),D.Ua(c,this.xk,a),this.Yl(c))}return a}};
+D.defineProperty(Y,{eo:"linkFromKeyProperty"},function(){return this.ii},function(a){var b=this.ii;b!==a&&(Yg(a,Y,"linkFromKeyProperty"),this.ii=a,this.i("linkFromKeyProperty",b,a))});Y.prototype.getFromKeyForLinkData=Y.prototype.rm=function(a){if(null!==a){var b=this.ii;if(""!==b&&(b=D.vb(a,b),void 0!==b)){if(Zg(b))return b;D.k("FromKey value for link data "+a+" is not a number or a string: "+b)}}};
+Y.prototype.setFromKeyForLinkData=Y.prototype.FB=function(a,b){null===b&&(b=void 0);void 0===b||Zg(b)||D.ic(b,"number or string",Y,"setFromKeyForLinkData:key");if(null!==a){var c=this.ii;if(""!==c)if(b=this.ho(b),this.Mh(a)){var d=D.vb(a,c);d!==b&&(dh(this,d,a),D.Ua(a,c,b),null===this.Fe(b)&&ch(this,b,a),Xg(this,"linkFromKey",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
+D.defineProperty(Y,{fo:"linkToKeyProperty"},function(){return this.ji},function(a){var b=this.ji;b!==a&&(Yg(a,Y,"linkToKeyProperty"),this.ji=a,this.i("linkToKeyProperty",b,a))});Y.prototype.getToKeyForLinkData=Y.prototype.sm=function(a){if(null!==a){var b=this.ji;if(""!==b&&(b=D.vb(a,b),void 0!==b)){if(Zg(b))return b;D.k("ToKey value for link data "+a+" is not a number or a string: "+b)}}};
+Y.prototype.setToKeyForLinkData=Y.prototype.LB=function(a,b){null===b&&(b=void 0);void 0===b||Zg(b)||D.ic(b,"number or string",Y,"setToKeyForLinkData:key");if(null!==a){var c=this.ji;if(""!==c)if(b=this.ho(b),this.Mh(a)){var d=D.vb(a,c);d!==b&&(dh(this,d,a),D.Ua(a,c,b),null===this.Fe(b)&&ch(this,b,a),Xg(this,"linkToKey",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
+D.defineProperty(Y,{Fu:"linkFromPortIdProperty"},function(){return this.an},function(a){var b=this.an;b!==a&&(Yg(a,Y,"linkFromPortIdProperty"),a!==this.eo&&a!==this.fo||D.k("linkFromPortIdProperty name must not be the same as the GraphLinksModel.linkFromKeyProperty or linkToKeyProperty: "+a),this.an=a,this.i("linkFromPortIdProperty",b,a))});Y.prototype.getFromPortIdForLinkData=Y.prototype.OI=function(a){if(null===a)return"";var b=this.an;if(""===b)return"";a=D.vb(a,b);return void 0===a?"":a};
+Y.prototype.setFromPortIdForLinkData=Y.prototype.GB=function(a,b){D.h(b,"string",Y,"setFromPortIdForLinkData:portname");if(null!==a){var c=this.an;if(""!==c)if(this.Mh(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"linkFromPortId",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
+D.defineProperty(Y,{Hu:"linkToPortIdProperty"},function(){return this.bn},function(a){var b=this.bn;b!==a&&(Yg(a,Y,"linkToPortIdProperty"),a!==this.eo&&a!==this.fo||D.k("linkFromPortIdProperty name must not be the same as the GraphLinksModel.linkFromKeyProperty or linkToKeyProperty: "+a),this.bn=a,this.i("linkToPortIdProperty",b,a))});Y.prototype.getToPortIdForLinkData=Y.prototype.TI=function(a){if(null===a)return"";var b=this.bn;if(""===b)return"";a=D.vb(a,b);return void 0===a?"":a};
+Y.prototype.setToPortIdForLinkData=Y.prototype.MB=function(a,b){D.h(b,"string",Y,"setToPortIdForLinkData:portname");if(null!==a){var c=this.bn;if(""!==c)if(this.Mh(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"linkToPortId",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};D.defineProperty(Y,{Gu:"linkLabelKeysProperty"},function(){return this.Jg},function(a){var b=this.Jg;b!==a&&(Yg(a,Y,"linkLabelKeysProperty"),this.Jg=a,this.i("linkLabelKeysProperty",b,a))});
+Y.prototype.getLabelKeysForLinkData=Y.prototype.Tk=function(a){if(null===a)return D.Do;var b=this.Jg;if(""===b)return D.Do;a=D.vb(a,b);return void 0===a?D.Do:a};
+Y.prototype.setLabelKeysForLinkData=Y.prototype.UG=function(a,b){D.Wt(b,Y,"setLabelKeysForLinkData:arr");if(null!==a){var c=this.Jg;if(""!==c)if(this.Mh(a)){var d=D.vb(a,c);void 0===d&&(d=D.Do);if(d!==b){for(var e=D.eb(d),g=0;ge||(D.Vg(d,e),this.Mh(a)&&(dh(this,b,a),Xg(this,"linkLabelKeys",og,c,a,b,null,e,null)))}else void 0!==d&&D.k(c+" property is not an Array; cannot removeLabelKeyforLinkData: "+a)}}};
+D.defineProperty(Y,{$g:"linkDataArray"},function(){return this.bf},function(a){var b=this.bf;if(b!==a){D.Wt(a,Y,"linkDataArray");this.pd.clear();for(var c=D.eb(a),d=0;dd)return;D.Vg(a.bf,d)}Xg(a,"linkDataArray",og,"linkDataArray",a,b,null,d,null);c=a.rm(b);dh(a,c,b);c=a.sm(b);dh(a,c,b);d=a.Tk(b);if(D.isArray(d))for(var e=D.eb(d),g=0;ga.Vh&&D.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Vh;d&&b&&a.rd("CommittingTransaction",c,a.Cj);var e=0;if(0a.Hj;e--)g=d.ea(e),null!==g&&g.clear(),
-d.jd(e),a.Nz=!0;e=a.fG;0===e&&(e=1);0=e&&(g=d.ea(0),null!==g&&g.clear(),d.jd(0),a.sh--);d.add(b);a.sh++;d.freeze();g=b}a.rd("CommittedTransaction",c,g)}else{a.aj=!0;try{a.isEnabled&&null!==g&&(g.uu=!0,g.undo())}finally{a.rd("RolledBackTransaction",c,g),a.aj=!1}null!==g&&g.clear()}a.Kv=null;return!0}if(a.isEnabled&&!b&&null!==g){a=e;c=g.bg;for(b=c.count-1;b>=a;b--)d=c.ea(b),null!==d&&d.undo(),c.Ya(),c.jd(b);c.freeze()}return!1}
-pg.prototype.canUndo=pg.prototype.canUndo=function(){if(!this.isEnabled||0=this.Vh&&!this.Dz&&(a=a.g,null!==a&&!1===a.$n||D.trace("Change not within a transaction: "+c.toString()))}};
-pg.prototype.skipsEvent=function(a){if(null===a||0>a.Jc.value)return!0;a=a.object;if(a instanceof P){if(a=a.layer,null!==a&&a.Uc)return!0}else if(a instanceof Ug&&a.Uc)return!0;return!1};D.w(pg,{LJ:"models"},function(){return this.Sz.j});D.defineProperty(pg,{isEnabled:"isEnabled"},function(){return this.mf},function(a){this.mf=a});D.w(pg,{hH:"transactionToUndo"},function(){return 0<=this.Hj&&this.Hj<=this.history.count-1?this.history.ea(this.Hj):null});
-D.w(pg,{gH:"transactionToRedo"},function(){return this.Hja.Wh&&D.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Wh;d&&b&&a.rd("CommittingTransaction",c,a.Cj);var e=0;if(0a.Hj;e--)g=d.ea(e),null!==g&&g.clear(),
+d.jd(e),a.Oz=!0;e=a.gG;0===e&&(e=1);0=e&&(g=d.ea(0),null!==g&&g.clear(),d.jd(0),a.th--);d.add(b);a.th++;d.freeze();g=b}a.rd("CommittedTransaction",c,g)}else{a.aj=!0;try{a.isEnabled&&null!==g&&(g.wu=!0,g.undo())}finally{a.rd("RolledBackTransaction",c,g),a.aj=!1}null!==g&&g.clear()}a.Mv=null;return!0}if(a.isEnabled&&!b&&null!==g){a=e;c=g.cg;for(b=c.count-1;b>=a;b--)d=c.ea(b),null!==d&&d.undo(),c.Ya(),c.jd(b);c.freeze()}return!1}
+pg.prototype.canUndo=pg.prototype.canUndo=function(){if(!this.isEnabled||0=this.Wh&&!this.Ez&&(a=a.g,null!==a&&!1===a.$n||D.trace("Change not within a transaction: "+c.toString()))}};
+pg.prototype.skipsEvent=function(a){if(null===a||0>a.Jc.value)return!0;a=a.object;if(a instanceof P){if(a=a.layer,null!==a&&a.Uc)return!0}else if(a instanceof Ug&&a.Uc)return!0;return!1};D.w(pg,{MJ:"models"},function(){return this.Tz.j});D.defineProperty(pg,{isEnabled:"isEnabled"},function(){return this.nf},function(a){this.nf=a});D.w(pg,{iH:"transactionToUndo"},function(){return 0<=this.Hj&&this.Hj<=this.history.count-1?this.history.ea(this.Hj):null});
+D.w(pg,{hH:"transactionToRedo"},function(){return this.Hjb.Ph||(b.scale=a))};oa.prototype.canDecreaseZoom=function(a){void 0===a&&(a=1/this.Oy);D.p(a,oa,"canDecreaseZoom:factor");var b=this.g;if(null===b||b.bm!==Rh)return!1;a*=b.scale;return ab.Ph?!1:b.sx};
-oa.prototype.increaseZoom=function(a){void 0===a&&(a=this.Oy);D.p(a,oa,"increaseZoom:factor");var b=this.g;null!==b&&b.bm===Rh&&(a*=b.scale,ab.Ph||(b.scale=a))};oa.prototype.canIncreaseZoom=function(a){void 0===a&&(a=this.Oy);D.p(a,oa,"canIncreaseZoom:factor");var b=this.g;if(null===b||b.bm!==Rh)return!1;a*=b.scale;return ab.Ph?!1:b.sx};oa.prototype.resetZoom=function(a){void 0===a&&(a=this.Bx);D.p(a,oa,"resetZoom:newscale");var b=this.g;null===b||ab.Ph||(b.scale=a)};
-oa.prototype.canResetZoom=function(a){void 0===a&&(a=this.Bx);D.p(a,oa,"canResetZoom:newscale");var b=this.g;return null===b||ab.Ph?!1:b.sx};oa.prototype.zoomToFit=function(){var a=this.g;if(null!==a){var b=a.scale,c=a.position;b===this.oA&&!isNaN(this.Oz)&&a.dd.P(this.nA)?(a.scale=this.Oz,a.position=this.vD,this.oA=NaN,this.nA=Hd):(this.Oz=b,this.vD=c.copy(),a.zoomToFit(),this.oA=a.scale,this.nA=a.dd.copy())}};oa.prototype.canZoomToFit=function(){var a=this.g;return null===a?!1:a.sx};
-oa.prototype.scrollToPart=function(a){void 0===a&&(a=null);null!==a&&D.l(a,F,oa,"part");var b=this.g;if(null!==b){if(null===a){try{null!==this.rj&&(this.rj.next()?a=this.rj.value:this.rj=null)}catch(c){this.rj=null}null===a&&(0b.Qh||(b.scale=a))};oa.prototype.canDecreaseZoom=function(a){void 0===a&&(a=1/this.Py);D.p(a,oa,"canDecreaseZoom:factor");var b=this.g;if(null===b||b.cm!==Rh)return!1;a*=b.scale;return ab.Qh?!1:b.ux};
+oa.prototype.increaseZoom=function(a){void 0===a&&(a=this.Py);D.p(a,oa,"increaseZoom:factor");var b=this.g;null!==b&&b.cm===Rh&&(a*=b.scale,ab.Qh||(b.scale=a))};oa.prototype.canIncreaseZoom=function(a){void 0===a&&(a=this.Py);D.p(a,oa,"canIncreaseZoom:factor");var b=this.g;if(null===b||b.cm!==Rh)return!1;a*=b.scale;return ab.Qh?!1:b.ux};oa.prototype.resetZoom=function(a){void 0===a&&(a=this.Dx);D.p(a,oa,"resetZoom:newscale");var b=this.g;null===b||ab.Qh||(b.scale=a)};
+oa.prototype.canResetZoom=function(a){void 0===a&&(a=this.Dx);D.p(a,oa,"canResetZoom:newscale");var b=this.g;return null===b||ab.Qh?!1:b.ux};oa.prototype.zoomToFit=function(){var a=this.g;if(null!==a){var b=a.scale,c=a.position;b===this.pA&&!isNaN(this.Pz)&&a.dd.P(this.oA)?(a.scale=this.Pz,a.position=this.vD,this.pA=NaN,this.oA=Hd):(this.Pz=b,this.vD=c.copy(),a.zoomToFit(),this.pA=a.scale,this.oA=a.dd.copy())}};oa.prototype.canZoomToFit=function(){var a=this.g;return null===a?!1:a.ux};
+oa.prototype.scrollToPart=function(a){void 0===a&&(a=null);null!==a&&D.l(a,F,oa,"part");var b=this.g;if(null!==b){if(null===a){try{null!==this.rj&&(this.rj.next()?a=this.rj.value:this.rj=null)}catch(c){this.rj=null}null===a&&(0e||Math.abs(b.y-a.y)>d};D.w(Vg,{g:"diagram"},function(){return this.ba});D.defineProperty(Vg,{name:"name"},function(){return this.Xb},function(a){D.h(a,"string",Vg,"name");this.Xb=a});
-D.defineProperty(Vg,{isEnabled:"isEnabled"},function(){return this.mf},function(a){D.h(a,"boolean",Vg,"isEnabled");this.mf=a});D.defineProperty(Vg,{wa:"isActive"},function(){return this.iD},function(a){D.h(a,"boolean",Vg,"isActive");this.iD=a});D.defineProperty(Vg,{Qf:"transactionResult"},function(){return this.tE},function(a){null!==a&&D.h(a,"string",Vg,"transactionResult");this.tE=a});
-function Qh(){Vg.call(this);0e||Math.abs(b.y-a.y)>d};D.w(Vg,{g:"diagram"},function(){return this.ba});D.defineProperty(Vg,{name:"name"},function(){return this.Yb},function(a){D.h(a,"string",Vg,"name");this.Yb=a});
+D.defineProperty(Vg,{isEnabled:"isEnabled"},function(){return this.nf},function(a){D.h(a,"boolean",Vg,"isEnabled");this.nf=a});D.defineProperty(Vg,{wa:"isActive"},function(){return this.iD},function(a){D.h(a,"boolean",Vg,"isActive");this.iD=a});D.defineProperty(Vg,{Rf:"transactionResult"},function(){return this.tE},function(a){null!==a&&D.h(a,"string",Vg,"transactionResult");this.tE=a});
+function Qh(){Vg.call(this);0e&&(e=k),l>g&&(g=l))}}Infinity===c?b.n(0,0,0,0):b.n(c,d,e-c,g-d)}
-function Oi(a,b){if(null===a.jc){var c=a.g;if(!(null===c||b&&(c.nb||c.Gf))&&null!==a.fc){var d=c.ra;d.isEnabled&&d.UF?null!==d.Cj&&0c.ta)){var d=a.g;if(null!==d&&!d.nb){var e=a.pj;if(null!==e){var g=null,h=null;null===c.aa&&(g=Yi(a,c.m(0),!1),null!==g&&(h=g.Y));var k=null,l=null;null===c.da&&(k=Yi(a,c.m(c.ta-1),!0),null!==k&&(l=k.Y));e.isValidLink(h,g,l,k)?b?(c.gq=c.m(0),c.hq=c.m(c.ta-1),c.zm=!1,c.aa=h,null!==g&&(c.dg=g.ud),c.da=l,null!==k&&(c.jh=k.ud),c.Lc!==a.zw&&d.Ja("LinkRelinked",c,a.zw),c.kd!==a.Aw&&d.Ja("LinkRelinked",c,a.Aw)):Zi(e,h,g,l,k):Zi(e,null,null,null,null)}}}}
+function Oi(a,b){if(null===a.kc){var c=a.g;if(!(null===c||b&&(c.ob||c.Hf))&&null!==a.fc){var d=c.ra;d.isEnabled&&d.VF?null!==d.Cj&&0c.ta)){var d=a.g;if(null!==d&&!d.ob){var e=a.pj;if(null!==e){var g=null,h=null;null===c.aa&&(g=Yi(a,c.m(0),!1),null!==g&&(h=g.Y));var k=null,l=null;null===c.da&&(k=Yi(a,c.m(c.ta-1),!0),null!==k&&(l=k.Y));e.isValidLink(h,g,l,k)?b?(c.gq=c.m(0),c.hq=c.m(c.ta-1),c.Am=!1,c.aa=h,null!==g&&(c.eg=g.ud),c.da=l,null!==k&&(c.kh=k.ud),c.Lc!==a.Bw&&d.Ja("LinkRelinked",c,a.Bw),c.kd!==a.Cw&&d.Ja("LinkRelinked",c,a.Cw)):Zi(e,h,g,l,k):Zi(e,null,null,null,null)}}}}
Qh.prototype.doDragOver=function(){};
-function $i(a,b){var c=a.g;if(null!==c){a.Ej&&Vi(a,!0);Ei(a);var d=Wi(c,b,null,function(b){return!Ti(a,b)}),e=c.U;e.We=d;if(null!==d){e.Mc=!1;for(var g=d;null!==g;){var h=g.lB;if(null!==h&&(h(e,g),e.Mc))break;g=Xi(g)}}else g=c.lB,null!==g&&g(e);if(a.wa||null!==Zh){for(e=(a.jc||a.fc).j;e.next();)g=e.key,g instanceof G&&g.Hd.each(function(a){a.zm=!1});a.doDropOnto(b,d);if(a.wa||null!==Zh){d=D.Of();for(e=c.selection.j;e.next();)g=e.value,g instanceof G&&aj(c,g.getAvoidableRect(d));D.Kb(d)}}}}
-Qh.prototype.doDropOnto=function(){};Qh.prototype.doMouseMove=function(){if(this.wa){var a=this.g;if(null!==a&&null!==this.Nn&&null!==this.fc){var b=!1,c=!1;this.mayCopy()?(b=!0,a.kc="copy",Oi(this,!1),Yh(this,this.jc),Pi(this,this.jc,!1),Fi(this,this.jc)):this.mayMove()?(c=!0,a.kc="default",Ii(this),Pi(this,this.fc,!0)):this.mayDragOut()?(a.kc="no-drop",Oi(this,!1),Pi(this,this.jc,!1)):Ii(this);Ui(this,a.U.ha,c,b)}}};
-Qh.prototype.doMouseUp=function(){if(this.wa){var a=this.g;if(null!==a){var b=!1,c=this.mayCopy();c&&null!==this.jc?(Ii(this),Oi(this,!0),Yh(this,this.jc),Pi(this,this.jc,!1),Fi(this,this.jc),null!==this.jc&&a.OG(this.jc.Yj())):(b=!0,Ii(this),this.mayMove()&&(Pi(this,this.fc,!0),Ui(this,a.U.ha,!0,!1)));this.Lr=!0;$i(this,a.U.ha);if(this.wa){this.jc=null;if(b&&null!==this.fc)for(b=this.fc.j;b.next();){var d=b.key;d instanceof G&&(d=d.Ra,null===d||null===d.placeholder||this.fc.contains(d)||d.placeholder.K())}a.zc();
-Fi(this,this.fc);this.Qf=c?"Copy":"Move";a.Ja(c?"SelectionCopied":"SelectionMoved",a.selection)}this.stopTool()}}};Qh.prototype.mayCopy=function(){if(!this.PF)return!1;var a=this.g;if(null===a||a.nb||a.Gf||!a.Zp||!a.Kk||(D.Wk?!a.U.alt:!a.U.control))return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.oe()&&b.canCopy())return!0}return null!==this.sd&&this.Ej&&this.sd.canCopy()?!0:!1};
-Qh.prototype.mayDragOut=function(){if(!this.PF)return!1;var a=this.g;if(null===a||!a.Tt||!a.Kk||a.Zl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.oe()&&b.canCopy())return!0}return null!==this.sd&&this.Ej&&this.sd.canCopy()?!0:!1};Qh.prototype.mayMove=function(){var a=this.g;if(null===a||a.nb||!a.Zl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.oe()&&b.canMove())return!0}return null!==this.sd&&this.Ej&&this.sd.canMove()?!0:!1};var Gi=new K(Qh),Zh=null,$h=null;
-Qh.prototype.getDraggingSource=function(){return Zh};Qh.prototype.mayDragIn=function(){var a=this.g;if(null===a||!a.HE||a.nb||a.Gf||!a.Zp)return!1;var b=Zh;return null===b||null===b.g||b.g.ga.gm!==a.ga.gm?!1:!0};Qh.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.g;a.Xa.Hi();bj(a);a=Zh;null!==a&&null!==a.g&&(a.g.kc="copy")}};Qh.prototype.doSimulatedDragLeave=function(){var a=Zh;null!==a&&a.doSimulatedDragOut();this.doCancel()};
-Qh.prototype.doSimulatedDragOver=function(){var a=this.g;if(null!==a){var b=Zh;null!==b&&null!==b.fc&&this.mayDragIn()&&(a.kc="copy",cj(this,b.fc.Yj(),!1),Pi(this,this.jc,!1),Ui(this,a.U.ha,!1,!0))}};
-Qh.prototype.doSimulatedDrop=function(){var a=this.g;if(null!==a){var b=Zh;if(null!==b){var c=b.g;b.Lr=!0;Ii(this);this.mayDragIn()&&(this.ac("Drop"),cj(this,b.fc.Yj(),!0),Pi(this,this.jc,!1),null!==this.jc&&a.OG(this.jc.Yj()),$i(this,a.U.ha),a.zc(),b=a.selection,null!==this.jc?this.Qf="ExternalCopy":b=new L(F),this.jc=null,a.doFocus(),a.Ja("ExternalObjectsDropped",b,c),this.dl())}}};
-function cj(a,b,c){if(null===a.jc){var d=a.g;if(null!==d&&!d.nb&&!d.Gf){d.Eb=!c;d.ar=!c;a.cl=d.U.ha;c=d.fq(b,d,!0);var e=D.Of();Ni(b,e);var d=e.x+e.width/2,g=e.y+e.height/2;D.Kb(e);var e=a.Ww,h=new ma(F),k=D.O();for(b=b.j;b.next();){var l=b.value,m=c.na(l);l.oe()&&l.canCopy()?(l=l.location,k.n(e.x-(d-l.x),e.y-(g-l.y)),m.location=k,m.hf(),h.add(m,pi(k))):l instanceof J&&l.canCopy()&&(m.$k(e.x-d,e.y-g),h.add(m,pi()))}D.A(k);a.jc=h;Xh(a,h.Yj());null!==a.sd&&(c=a.sd,d=c.ro,c.$k(a.cl.x-(d.x+d.width/2),
-a.cl.y-(d.y+d.height/2)))}}}Qh.prototype.doSimulatedDragOut=function(){var a=this.g;null!==a&&(this.mayCopy()||this.mayMove()?a.kc="":a.kc="no-drop")};function Ci(a){this.point=a;this.UG=Gd}D.ja("DraggingInfo",Ci);function Qi(a,b,c){this.Wc=a;this.info=b;this.VI=c}
-function dj(){0=d&&(d=.1);for(var e=this,g=b.Qn(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.Y;if(k instanceof G){var l=h.eb(hc,D.O()),m=c.x-l.x,n=c.y-l.y;D.A(l);l=m*m+n*n;lc){if(null!==this.sc&&a===this.ah&&b===this.bh)return!0;var d=b.ud;null===d&&(d="");if(a.Jx(d).count>=c)return!1}return!0};
-dj.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.yq;if(null!==this.g&&this.g.gb===this&&(null!==a.layer&&!a.layer.Ut||!0!==b.cH))return!1;var c=b.xK;if(Infinity>c){if(null!==this.sc&&a===this.dh&&b===this.eh)return!0;var d=b.ud;null===d&&(d="");if(a.Xg(d).count>=c)return!1}return!0};dj.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.Y,d=b.Y;return null!==c&&c===d};
-dj.prototype.isLinked=function(a,b){if(null===a||null===b)return!1;var c=a.Y;if(!(c instanceof G))return!1;var d=a.ud;null===d&&(d="");var e=b.Y;if(!(e instanceof G))return!1;var g=b.ud;null===g&&(g="");for(e=e.Xg(g);e.next();)if(g=e.value,g.aa===c&&g.dg===d)return!0;return!1};
-dj.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.KI&&d.wK||!this.isInSameNode(b,d))&&(b.JI&&d.vK||!this.isLinked(b,d)))||null!==this.sc&&(null!==a&&this.isLabelDependentOnLink(a,this.sc)||null!==c&&this.isLabelDependentOnLink(c,this.sc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.sc))return!1;if(null!==a){var e=a.iy;if(null!==e&&!e(a,b,c,d,this.sc))return!1}if(null!==
-c&&(e=c.iy,null!==e&&!e(a,b,c,d,this.sc)))return!1;e=this.iy;return null!==e?e(a,b,c,d,this.sc):!0};dj.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Ac;if(null===c)return!1;if(c===b)return!0;var d=new L(G);d.add(a);return ej(this,c,b,d)};function ej(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.uf&&(d.add(e),ej(a,e.Ac,c,d)))return!0;b=b.da;return null!==b&&b.uf&&(d.add(b),ej(a,b.Ac,c,d))?!0:!1}
-dj.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.yq;var d=null!==this.g?this.g.DK:fj;if(d!==fj){if(d===gj){if(null!==c&&!c.Vc)return!0;for(d=b.Hd;d.next();){var e=d.value;if(e!==c&&e.Vc&&e.da===b)return!1}return!hj(this,a,b,c,!0)}if(d===ij){if(null!==c&&!c.Vc)return!0;for(d=a.Hd;d.next();)if(e=d.value,e!==c&&e.Vc&&e.aa===a)return!1;return!hj(this,a,b,c,!0)}if(d===jj)return a===b?a=!0:(d=new L(G),d.add(b),a=kj(this,d,a,b,c)),!a;if(d===lj)return!hj(this,
+D.defineProperty(dj,{bh:"originalFromNode"},function(){return this.MD},function(a){null!==a&&D.l(a,G,dj,"originalFromNode");this.MD=a});D.defineProperty(dj,{dh:"originalFromPort"},function(){return this.ND},function(a){null!==a&&D.l(a,P,dj,"originalFromPort");this.ND=a});D.defineProperty(dj,{eh:"originalToNode"},function(){return this.RD},function(a){null!==a&&D.l(a,G,dj,"originalToNode");this.RD=a});
+D.defineProperty(dj,{fh:"originalToPort"},function(){return this.SD},function(a){null!==a&&D.l(a,P,dj,"originalToPort");this.SD=a});D.defineProperty(dj,{Yd:"isForwards"},function(){return this.pD},function(a){D.h(a,"boolean",dj,"isForwards");this.pD=a});D.w(dj,{Ny:"validPortsCache"},function(){return this.IH});D.defineProperty(dj,{Of:"targetPort"},function(){return this.hE},function(a){null!==a&&D.l(a,P,dj,"targetPort");this.hE=a});
+dj.prototype.copyPortProperties=function(a,b,c,d,e){if(null!==a&&null!==b&&null!==c&&null!==d){d.Ea=b.$.size;e?(d.Hb=b.Hb,d.Em=b.Em):(d.Gb=b.Gb,d.pm=b.pm);c.Mf=hc;var g=D.O();c.location=b.fb(hc,g);D.A(g);d.angle=b.qm();null!==this.vy&&this.vy(a,b,c,d,e)}};dj.prototype.setNoTargetPortProperties=function(a,b,c){null!==b&&(b.Ea=Yd,b.Gb=$b,b.Hb=$b);null!==a&&null!==this.g&&(a.location=this.g.U.ha);null!==this.vy&&this.vy(null,null,a,b,c)};dj.prototype.doMouseDown=function(){this.wa&&this.doMouseMove()};
+dj.prototype.doMouseMove=function(){if(this.wa){var a=this.g;if(null!==a){this.Of=this.findTargetPort(this.Yd);if(null!==this.Of&&this.Of.Y instanceof G){var b=this.Of.Y;this.Yd?this.copyPortProperties(b,this.Of,this.be,this.yo,!0):this.copyPortProperties(b,this.Of,this.ae,this.xo,!1)}else this.Yd?this.setNoTargetPortProperties(this.be,this.yo,!0):this.setNoTargetPortProperties(this.ae,this.xo,!1);(a.ye||a.ze)&&a.GA(a.U.qe)}}};
+dj.prototype.findValidLinkablePort=function(a,b){if(null===a)return null;var c=a.Y;if(!(c instanceof G))return null;for(;null!==a;){var d=b?a.dH:a.vF;if(!0===d&&(null!==a.ud||a instanceof G)&&(b?this.isValidTo(c,a):this.isValidFrom(c,a)))return a;if(!1===d)break;a=a.Q}return null};
+dj.prototype.findTargetPort=function(a){var b=this.g,c=b.U.ha,d=this.tG;0>=d&&(d=.1);for(var e=this,g=b.Qn(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.Y;if(k instanceof G){var l=h.fb(hc,D.O()),m=c.x-l.x,n=c.y-l.y;D.A(l);l=m*m+n*n;lc){if(null!==this.sc&&a===this.bh&&b===this.dh)return!0;var d=b.ud;null===d&&(d="");if(a.Lx(d).count>=c)return!1}return!0};
+dj.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.yq;if(null!==this.g&&this.g.hb===this&&(null!==a.layer&&!a.layer.Ut||!0!==b.dH))return!1;var c=b.yK;if(Infinity>c){if(null!==this.sc&&a===this.eh&&b===this.fh)return!0;var d=b.ud;null===d&&(d="");if(a.Yg(d).count>=c)return!1}return!0};dj.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.Y,d=b.Y;return null!==c&&c===d};
+dj.prototype.isLinked=function(a,b){if(null===a||null===b)return!1;var c=a.Y;if(!(c instanceof G))return!1;var d=a.ud;null===d&&(d="");var e=b.Y;if(!(e instanceof G))return!1;var g=b.ud;null===g&&(g="");for(e=e.Yg(g);e.next();)if(g=e.value,g.aa===c&&g.eg===d)return!0;return!1};
+dj.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.LI&&d.xK||!this.isInSameNode(b,d))&&(b.KI&&d.wK||!this.isLinked(b,d)))||null!==this.sc&&(null!==a&&this.isLabelDependentOnLink(a,this.sc)||null!==c&&this.isLabelDependentOnLink(c,this.sc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.sc))return!1;if(null!==a){var e=a.jy;if(null!==e&&!e(a,b,c,d,this.sc))return!1}if(null!==
+c&&(e=c.jy,null!==e&&!e(a,b,c,d,this.sc)))return!1;e=this.jy;return null!==e?e(a,b,c,d,this.sc):!0};dj.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Ac;if(null===c)return!1;if(c===b)return!0;var d=new L(G);d.add(a);return ej(this,c,b,d)};function ej(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.vf&&(d.add(e),ej(a,e.Ac,c,d)))return!0;b=b.da;return null!==b&&b.vf&&(d.add(b),ej(a,b.Ac,c,d))?!0:!1}
+dj.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.yq;var d=null!==this.g?this.g.EK:fj;if(d!==fj){if(d===gj){if(null!==c&&!c.Vc)return!0;for(d=b.Hd;d.next();){var e=d.value;if(e!==c&&e.Vc&&e.da===b)return!1}return!hj(this,a,b,c,!0)}if(d===ij){if(null!==c&&!c.Vc)return!0;for(d=a.Hd;d.next();)if(e=d.value,e!==c&&e.Vc&&e.aa===a)return!1;return!hj(this,a,b,c,!0)}if(d===jj)return a===b?a=!0:(d=new L(G),d.add(b),a=kj(this,d,a,b,c)),!a;if(d===lj)return!hj(this,
a,b,c,!1);if(d===mj)return a===b?a=!0:(d=new L(G),d.add(b),a=nj(this,d,a,b,c)),!a}return!0};function hj(a,b,c,d,e){if(b===c)return!0;if(null===b||null===c)return!1;for(var g=b.Hd;g.next();){var h=g.value;if(h!==d&&(!e||h.Vc)&&h.da===b&&(h=h.aa,h!==b&&hj(a,h,c,d,e)))return!0}return!1}function kj(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.Hd;g.next();){var h=g.value;if(h!==e&&h.da===c&&(h=h.aa,h!==c&&kj(a,b,h,d,e)))return!0}return!1}
-function nj(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.Hd;g.next();){var h=g.value;if(h!==e){var k=h.aa,h=h.da,k=k===c?h:k;if(k!==c&&nj(a,b,k,d,e))return!0}}return!1}D.defineProperty(dj,{iy:"linkValidation"},function(){return this.Il},function(a){null!==a&&D.h(a,"function",dj,"linkValidation");this.Il=a});D.defineProperty(dj,{uy:"portTargeted"},function(){return this.VD},function(a){null!==a&&D.h(a,"function",dj,"portTargeted");this.VD=a});
-function ra(){0b.iu+1&&cb.iu+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?
-"ne-resize":"e-resize"}else if(a instanceof x)for(c=a.elements;c.next();)this.updateResizeHandles(c.value,b)};D.defineProperty(Uj,{qu:"handleArchetype"},function(){return this.xl},function(a){null!==a&&D.l(a,P,Uj,"handleArchetype");this.xl=a});D.w(Uj,{handle:"handle"},function(){return this.nc});D.defineProperty(Uj,{zb:"adornedObject"},function(){return this.Qc},function(a){null!==a&&D.l(a,P,Uj,"adornedObject");this.Qc=a});
-Uj.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.g;return null!==a&&!a.nb&&a.Vt&&a.U.left?null!==this.findToolHandleAt(a.Kc.ha,this.name):!1};
-Uj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.nc=this.findToolHandleAt(a.Kc.ha,this.name),null!==this.nc&&(this.Qc=this.nc.Y.zb,this.Ep.set(this.zb.eb(this.handle.alignment.nG())),this.QD.set(this.Qc.Y.location),this.LD.set(this.Qc.Ea),this.zz=this.computeCellSize(),this.Bz=this.computeMinSize(),this.Az=this.computeMaxSize(),a.jf=!0,this.HD=a.Xa.isEnabled,a.Xa.isEnabled=!1,this.ac(this.name),this.wa=!0))};
-Uj.prototype.doDeactivate=function(){var a=this.g;null!==a&&(this.dl(),this.Qc=this.nc=null,this.wa=a.jf=!1,a.Xa.isEnabled=this.HD)};Uj.prototype.doCancel=function(){null!==this.zb&&(this.zb.Ea=this.oG,this.zb.Y.location=this.SJ);this.stopTool()};Uj.prototype.doMouseMove=function(){var a=this.g;if(this.wa&&null!==a){var b=this.Bz,c=this.Az,d=this.zz,e=this.zb.xF(a.U.ha,D.O()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);a.hg();D.A(e)}};
-Uj.prototype.doMouseUp=function(){var a=this.g;if(this.wa&&null!==a){var b=this.Bz,c=this.Az,d=this.zz,e=this.zb.xF(a.U.ha,D.O()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);D.A(e);a.zc();this.Qf=this.name;a.Ja("PartResized",this.zb,this.oG)}this.stopTool()};
-Uj.prototype.resize=function(a){if(null!==this.g){var b=this.zb,c=b.Y;b.Ea=a.size;c.hf();a=this.zb.eb(this.handle.alignment.nG());c instanceof I?(a=c.position.copy().wo(a).add(this.Ep),c.move(a)):c.location=c.location.copy().wo(a).add(this.Ep)}};
+"ne-resize":"e-resize"}else if(a instanceof x)for(c=a.elements;c.next();)this.updateResizeHandles(c.value,b)};D.defineProperty(Uj,{su:"handleArchetype"},function(){return this.yl},function(a){null!==a&&D.l(a,P,Uj,"handleArchetype");this.yl=a});D.w(Uj,{handle:"handle"},function(){return this.oc});D.defineProperty(Uj,{zb:"adornedObject"},function(){return this.Qc},function(a){null!==a&&D.l(a,P,Uj,"adornedObject");this.Qc=a});
+Uj.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.g;return null!==a&&!a.ob&&a.Vt&&a.U.left?null!==this.findToolHandleAt(a.Kc.ha,this.name):!1};
+Uj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.oc=this.findToolHandleAt(a.Kc.ha,this.name),null!==this.oc&&(this.Qc=this.oc.Y.zb,this.Ep.set(this.zb.fb(this.handle.alignment.oG())),this.QD.set(this.Qc.Y.location),this.LD.set(this.Qc.Ea),this.Az=this.computeCellSize(),this.Cz=this.computeMinSize(),this.Bz=this.computeMaxSize(),a.kf=!0,this.HD=a.Xa.isEnabled,a.Xa.isEnabled=!1,this.ac(this.name),this.wa=!0))};
+Uj.prototype.doDeactivate=function(){var a=this.g;null!==a&&(this.el(),this.Qc=this.oc=null,this.wa=a.kf=!1,a.Xa.isEnabled=this.HD)};Uj.prototype.doCancel=function(){null!==this.zb&&(this.zb.Ea=this.pG,this.zb.Y.location=this.TJ);this.stopTool()};Uj.prototype.doMouseMove=function(){var a=this.g;if(this.wa&&null!==a){var b=this.Cz,c=this.Bz,d=this.Az,e=this.zb.yF(a.U.ha,D.O()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);a.ig();D.A(e)}};
+Uj.prototype.doMouseUp=function(){var a=this.g;if(this.wa&&null!==a){var b=this.Cz,c=this.Bz,d=this.Az,e=this.zb.yF(a.U.ha,D.O()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);D.A(e);a.zc();this.Rf=this.name;a.Ja("PartResized",this.zb,this.pG)}this.stopTool()};
+Uj.prototype.resize=function(a){if(null!==this.g){var b=this.zb,c=b.Y;b.Ea=a.size;c.jf();a=this.zb.fb(this.handle.alignment.oG());c instanceof I?(a=c.position.copy().wo(a).add(this.Ep),c.move(a)):c.location=c.location.copy().wo(a).add(this.Ep)}};
Uj.prototype.computeResize=function(a,b,c,d,e,g){b.Zd()&&(b=hc);var h=this.zb.Ga,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=D.O();fb(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)));D.A(q);return a};Uj.prototype.computeReshape=function(){var a=Xj;this.zb instanceof z&&(a=Yj(this.zb));return!(a===Zj||a===ak||null!==this.g&&this.g.U.shift)};Uj.prototype.computeMinSize=function(){var a=this.zb.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};
-Uj.prototype.computeMaxSize=function(){var a=this.zb.kf.copy(),b=this.kf;!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};D.defineProperty(bk,{oK:"snapAngleMultiple"},function(){return this.aE},function(a){D.h(a,"number",bk,"snapAngleMultiple");this.aE=a});
-D.defineProperty(bk,{nK:"snapAngleEpsilon"},function(){return this.$D},function(a){D.h(a,"number",bk,"snapAngleEpsilon");this.$D=a});D.w(bk,{gM:"originalAngle"},function(){return this.Bw});function dk(){Vg.call(this);0a.width&&(a.width=b.width);!isNaN(b.height)&&b.height>a.height&&(a.height=b.height);return a};
+Uj.prototype.computeMaxSize=function(){var a=this.zb.lf.copy(),b=this.lf;!isNaN(b.width)&&b.widtha&&(a+=360));var b=Math.min(Math.abs(this.pK),180),c=Math.min(Math.abs(this.oK),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};D.defineProperty(bk,{pK:"snapAngleMultiple"},function(){return this.aE},function(a){D.h(a,"number",bk,"snapAngleMultiple");this.aE=a});
+D.defineProperty(bk,{oK:"snapAngleEpsilon"},function(){return this.$D},function(a){D.h(a,"number",bk,"snapAngleEpsilon");this.$D=a});D.w(bk,{iM:"originalAngle"},function(){return this.Dw});function dk(){Vg.call(this);0e.right&&(c.x-=d.width+5);c.xe.bottom&&(c.y-=d.height+5);c.ye.right&&(c.x-=d.width+5);c.xe.bottom&&(c.y-=d.height+5);c.ya.U.Oe?!1:!0};ok.prototype.doStart=function(){this.wa||null===this.ih||this.doActivate()};
-ok.prototype.doActivate=function(){if(!this.wa){var a=this.g;if(null!==a){var b=this.ih;null===b&&(b=a.Ge(a.U.ha,function(a){return a instanceof na?a:null}));if(null!==b&&(this.ih=b,null!==b.Y)){this.wa=!0;this.$a=xk;var c=this.rI;null!==b.bH&&(c=b.bH);this.Ck=this.ih.copy();var d=new B(this.ih.eb(dc),this.ih.eb(uc));a.hK(d);if(c instanceof fk)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.Fy&&(c.select(),c.setSelectionRange(0,9999));a.Dj.appendChild(c)}this.Bj=c}}}};ok.prototype.doCancel=function(){null!==this.Nl&&this.Bj instanceof HTMLElement&&(this.Bj.style.border=this.Nl,this.Nl=null);this.stopTool()};ok.prototype.doMouseUp=function(){!this.wa&&this.canStart()&&this.doActivate()};ok.prototype.doMouseDown=function(){this.wa&&this.acceptText(tk)};
-ok.prototype.acceptText=function(a){switch(a){case tk:if(this.$a===Bk)this.Bj instanceof HTMLElement&&this.Bj.focus();else if(this.$a===xk||this.$a===Ak||this.$a===yk)this.$a=zk,Ek(this);break;case sk:case vk:case uk:if(vk===a&&!0===this.hA.Zx)break;if(this.$a===xk||this.$a===Ak||this.$a===yk)this.$a=zk,Ek(this)}};
-function Ek(a){var b=a.ih,c=a.g,d=a.Bj;if(null!==b&&null!==d){var e=b.text,g="";d instanceof fk?null!==d.bC&&(g=d.bC()):(g=d.value,g="function"===typeof g?g():g);a.isValidText(b,e,g)?(a.ac(a.name),a.$a=Bk,d instanceof fk?d.show(b,c,a):null!==a.Nl&&(d.style.border=a.Nl,a.Nl=null),a.Qf=a.name,b.text=g,null!==b.aH&&b.aH(b,e,g),null!==c&&c.Ja("TextEdited",b,e),a.dl(),a.stopTool(),null!==c&&c.doFocus()):(a.$a=Ak,null!==b.KA&&b.KA(a,e,g),d instanceof fk?d.show(b,c,a):(null===a.Nl&&(a.Nl=d.style.border,
-d.style.border="3px solid red"),"function"===typeof d.focus&&d.focus()))}}ok.prototype.doDeactivate=function(){var a=this.g;if(null!==a){this.$a=qk;this.ih=null;if(null!==this.Bj){var b=this.Bj;if(b instanceof fk)b.Xn(a,this);else{if("function"===typeof b.onDeactivate)b.onDeactivate();null!==b&&a.Dj.removeChild(b)}}this.wa=!1}};ok.prototype.doFocus=function(){v&&D.Pn("TextEditingTool.doFocus","2.0");Ck(this)};ok.prototype.doBlur=function(){v&&D.Pn("TextEditingTool.doBlur","2.0");Dk(this)};
-function Ck(a){if(null!==a.Bj){var b=a.nz;a.$a===xk&&(a.$a=yk);"function"===typeof b.select&&a.Fy&&(b.select(),b.setSelectionRange(0,9999))}}function Dk(a){if(null!==a.Bj){var b=a.nz;"function"===typeof b.focus&&b.focus();"function"===typeof b.select&&a.Fy&&(b.select(),b.setSelectionRange(0,9999))}}ok.prototype.isValidText=function(a,b,c){D.l(a,na,ok,"isValidText:textblock");var d=this.RB;if(null!==d&&!d(a,b,c))return!1;d=a.RB;return null===d||d(a,b,c)?!0:!1};
-D.defineProperty(ok,{RB:"textValidation"},function(){return this.Sl},function(a){null!==a&&D.h(a,"function",ok,"textValidation");this.Sl=a});D.defineProperty(ok,{iG:"minimumEditorScale"},function(){return this.BD},function(a){null!==a&&D.h(a,"number",ok,"minimumEditorScale");this.BD=a});D.defineProperty(ok,{Fy:"selectsTextOnActivate"},function(){return this.YD},function(a){null!==a&&D.h(a,"boolean",ok,"selectsTextOnActivate");this.YD=a});
-D.defineProperty(ok,{state:"state"},function(){return this.$a},function(a){this.$a!==a&&(D.Da(a,ok,ok,"starting"),this.$a=a)});ok.prototype.measureTemporaryTextBlock=ok.prototype.GJ=function(a){var b=this.Ck;b.text=a;Fk(b,this.ih.vp,Infinity);return b};function Lh(){Vg.call(this);this.name="ToolManager";this.xH=new K(Vg);this.yH=new K(Vg);this.zH=new K(Vg);this.fD=this.gD=850;this.VC=(new Ca(2,2)).Na();this.qE=5E3;this.FD=Wh;this.dD=Gk;this.Jv=this.JC=null;this.xn=-1}D.Sa(Lh,Vg);
-D.ja("ToolManager",Lh);var Wh;Lh.WheelScroll=Wh=D.s(Lh,"WheelScroll",0);var Vh;Lh.WheelZoom=Vh=D.s(Lh,"WheelZoom",1);Lh.WheelNone=D.s(Lh,"WheelNone",2);var Gk;Lh.GestureZoom=Gk=D.s(Lh,"GestureZoom",3);var Hk;Lh.GestureCancel=Hk=D.s(Lh,"GestureCancel",4);var Ik;Lh.GestureNone=Ik=D.s(Lh,"GestureNone",5);D.defineProperty(Lh,{Ku:"mouseWheelBehavior"},function(){return this.FD},function(a){D.Da(a,Lh,Lh,"mouseWheelBehavior");this.FD=a});
-D.defineProperty(Lh,{pq:"gestureBehavior"},function(){return this.dD},function(a){D.Da(a,Lh,Lh,"gestureBehavior");this.dD=a});Lh.prototype.initializeStandardTools=function(){this.JH=new ek;this.uG=new ai;this.yJ=new Cj;this.HG=new Uj;this.eK=new bk;this.eG=new ra;this.De=new Qh;this.vI=new mk;this.TJ=new nk;this.yA=new hk;this.QB=new ok;this.$H=new ta;this.aI=new dk};
-Lh.prototype.updateAdornments=function(a){var b=this.fm;if(b instanceof da&&this.Jv===a){var c=b.zb;(null!==a?c.Y===a:null===c)?this.showToolTip(b,c):this.hideToolTip()}};
-Lh.prototype.doMouseDown=function(){var a=this.g;if(null!==a){var b=a.U;b.Mj&&this.pq===Hk&&(b.bubbles=!1);if(b.yu){this.cancelWaitAfter();if(this.pq===Ik){b.bubbles=!0;return}if(this.pq===Hk)return;if(a.gb.canStartMultiTouch()){a.gb.standardPinchZoomStart();return}}var c=a.ra;c.uA&&0!==c.Vh&&D.trace("WARNING: In ToolManager.doMouseDown: UndoManager.transactionLevel is not zero");for(var c=this.lf.length,d=0;da.U.Oe?!1:!0};ok.prototype.doStart=function(){this.wa||null===this.jh||this.doActivate()};
+ok.prototype.doActivate=function(){if(!this.wa){var a=this.g;if(null!==a){var b=this.jh;null===b&&(b=a.Ge(a.U.ha,function(a){return a instanceof na?a:null}));if(null!==b&&(this.jh=b,null!==b.Y)){this.wa=!0;this.$a=xk;var c=this.sI;null!==b.cH&&(c=b.cH);this.Dk=this.jh.copy();var d=new B(this.jh.fb(dc),this.jh.fb(uc));a.iK(d);if(c instanceof fk)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.Gy&&(c.select(),c.setSelectionRange(0,9999));a.Dj.appendChild(c)}this.Bj=c}}}};ok.prototype.doCancel=function(){null!==this.Ol&&this.Bj instanceof HTMLElement&&(this.Bj.style.border=this.Ol,this.Ol=null);this.stopTool()};ok.prototype.doMouseUp=function(){!this.wa&&this.canStart()&&this.doActivate()};ok.prototype.doMouseDown=function(){this.wa&&this.acceptText(tk)};
+ok.prototype.acceptText=function(a){switch(a){case tk:if(this.$a===Bk)this.Bj instanceof HTMLElement&&this.Bj.focus();else if(this.$a===xk||this.$a===Ak||this.$a===yk)this.$a=zk,Ek(this);break;case sk:case vk:case uk:if(vk===a&&!0===this.iA.$x)break;if(this.$a===xk||this.$a===Ak||this.$a===yk)this.$a=zk,Ek(this)}};
+function Ek(a){var b=a.jh,c=a.g,d=a.Bj;if(null!==b&&null!==d){var e=b.text,g="";d instanceof fk?null!==d.bC&&(g=d.bC()):(g=d.value,g="function"===typeof g?g():g);a.isValidText(b,e,g)?(a.ac(a.name),a.$a=Bk,d instanceof fk?d.show(b,c,a):null!==a.Ol&&(d.style.border=a.Ol,a.Ol=null),a.Rf=a.name,b.text=g,null!==b.bH&&b.bH(b,e,g),null!==c&&c.Ja("TextEdited",b,e),a.el(),a.stopTool(),null!==c&&c.doFocus()):(a.$a=Ak,null!==b.LA&&b.LA(a,e,g),d instanceof fk?d.show(b,c,a):(null===a.Ol&&(a.Ol=d.style.border,
+d.style.border="3px solid red"),"function"===typeof d.focus&&d.focus()))}}ok.prototype.doDeactivate=function(){var a=this.g;if(null!==a){this.$a=qk;this.jh=null;if(null!==this.Bj){var b=this.Bj;if(b instanceof fk)b.Xn(a,this);else{if("function"===typeof b.onDeactivate)b.onDeactivate();null!==b&&a.Dj.removeChild(b)}}this.wa=!1}};ok.prototype.doFocus=function(){v&&D.Pn("TextEditingTool.doFocus","2.0");Ck(this)};ok.prototype.doBlur=function(){v&&D.Pn("TextEditingTool.doBlur","2.0");Dk(this)};
+function Ck(a){if(null!==a.Bj){var b=a.oz;a.$a===xk&&(a.$a=yk);"function"===typeof b.select&&a.Gy&&(b.select(),b.setSelectionRange(0,9999))}}function Dk(a){if(null!==a.Bj){var b=a.oz;"function"===typeof b.focus&&b.focus();"function"===typeof b.select&&a.Gy&&(b.select(),b.setSelectionRange(0,9999))}}ok.prototype.isValidText=function(a,b,c){D.l(a,na,ok,"isValidText:textblock");var d=this.RB;if(null!==d&&!d(a,b,c))return!1;d=a.RB;return null===d||d(a,b,c)?!0:!1};
+D.defineProperty(ok,{RB:"textValidation"},function(){return this.Tl},function(a){null!==a&&D.h(a,"function",ok,"textValidation");this.Tl=a});D.defineProperty(ok,{jG:"minimumEditorScale"},function(){return this.BD},function(a){null!==a&&D.h(a,"number",ok,"minimumEditorScale");this.BD=a});D.defineProperty(ok,{Gy:"selectsTextOnActivate"},function(){return this.YD},function(a){null!==a&&D.h(a,"boolean",ok,"selectsTextOnActivate");this.YD=a});
+D.defineProperty(ok,{state:"state"},function(){return this.$a},function(a){this.$a!==a&&(D.Da(a,ok,ok,"starting"),this.$a=a)});ok.prototype.measureTemporaryTextBlock=ok.prototype.HJ=function(a){var b=this.Dk;b.text=a;Fk(b,this.jh.vp,Infinity);return b};function Lh(){Vg.call(this);this.name="ToolManager";this.yH=new K(Vg);this.zH=new K(Vg);this.AH=new K(Vg);this.fD=this.gD=850;this.VC=(new Ca(2,2)).Na();this.qE=5E3;this.FD=Wh;this.dD=Rk;this.Lv=this.JC=null;this.xn=-1}D.Sa(Lh,Vg);
+D.ka("ToolManager",Lh);var Wh;Lh.WheelScroll=Wh=D.s(Lh,"WheelScroll",0);var Vh;Lh.WheelZoom=Vh=D.s(Lh,"WheelZoom",1);Lh.WheelNone=D.s(Lh,"WheelNone",2);var Rk;Lh.GestureZoom=Rk=D.s(Lh,"GestureZoom",3);var Sk;Lh.GestureCancel=Sk=D.s(Lh,"GestureCancel",4);var Tk;Lh.GestureNone=Tk=D.s(Lh,"GestureNone",5);D.defineProperty(Lh,{Mu:"mouseWheelBehavior"},function(){return this.FD},function(a){D.Da(a,Lh,Lh,"mouseWheelBehavior");this.FD=a});
+D.defineProperty(Lh,{pq:"gestureBehavior"},function(){return this.dD},function(a){D.Da(a,Lh,Lh,"gestureBehavior");this.dD=a});Lh.prototype.initializeStandardTools=function(){this.KH=new ek;this.vG=new ai;this.zJ=new Nj;this.IG=new Uj;this.fK=new bk;this.fG=new ra;this.De=new Qh;this.wI=new mk;this.UJ=new nk;this.zA=new hk;this.QB=new ok;this.aI=new ta;this.bI=new dk};
+Lh.prototype.updateAdornments=function(a){var b=this.gm;if(b instanceof da&&this.Lv===a){var c=b.zb;(null!==a?c.Y===a:null===c)?this.showToolTip(b,c):this.hideToolTip()}};
+Lh.prototype.doMouseDown=function(){var a=this.g;if(null!==a){var b=a.U;b.Mj&&this.pq===Sk&&(b.bubbles=!1);if(b.Au){this.cancelWaitAfter();if(this.pq===Tk){b.bubbles=!0;return}if(this.pq===Sk)return;if(a.hb.canStartMultiTouch()){a.hb.standardPinchZoomStart();return}}var c=a.ra;c.vA&&0!==c.Wh&&D.trace("WARNING: In ToolManager.doMouseDown: UndoManager.transactionLevel is not zero");for(var c=this.mf.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}D.w(gh,{cL:"animationReasons"},function(){return this.vv});
-gh.prototype.canStart=function(){return!0};gh.prototype.prepareAutomaticAnimation=gh.prototype.po=function(a){this.mf&&(this.ok||this.ba.$n)&&(this.vv.add(a),this.canStart(a)&&(this.nk&&this.Hi(),this.wc=!0))};function cl(a){if(a.mf&&(a.vv.clear(),a.wc))if(!a.Io)a.wc=!1;else if(0===a.Ho){var b=+new Date;a.Ho=b;requestAnimationFrame(function(){if(!1!==a.wc&&!a.nk&&a.Ho===b){var c=a.ba;c.Gj("temporaryPixelRatio")&&(c.Bk=1);dl(c);a.wc=!1;c.Ja("AnimationStarting");el(a,b)}})}}
-function fl(a,b,c,d,e,g){if(a.wc&&(v&&D.l(b,P,gh,"addPropToAnimation:obj"),!("position"===c&&d.P(e)||b instanceof F&&!b.NF))){var h=a.gn;if(h.contains(b)){var h=h.na(b),k=h.start,l=h.end;void 0===k[c]&&(k[c]=gl(d));h.yx&&void 0!==l[c]?h.eu[c]=gl(e):(g||(h.eu[c]=gl(e)),l[c]=gl(e));g&&0===c.indexOf("position:")&&b instanceof F&&(h.eu.location=gl(b.location))}else k=new la,l=new la,k[c]=gl(d),l[c]=gl(e),d=l,e=k.position,e instanceof O&&!e.F()&&a.vv.contains("Expand SubGraph")&&e.assign(d.position),k=
-new bl(k,l,g),g&&0===c.indexOf("position:")&&b instanceof F&&(k.eu.location=gl(b.location)),h.add(b,k);a.Io=!0}}function gl(a){return a instanceof O?a.copy():a instanceof Ca?a.copy():a}
-function el(a,b){var c;function d(){if(!1!==g.nk&&g.Ho===b){var a=+new Date,c=a>s?m:a-r;hl(g);il(g,e,q,h,c,m);g.Gv&&g.Gv();bj(e);jl(g);a>s?kl(g):requestAnimationFrame(d)}}void 0===c&&(c=new la);var e=a.ba;if(null!==e){a.nk=!0;var g=a,h=c.FL||a.KC,k=c.eM||null,l=c.fM||null,m=c.duration||a.wz,n=a.AH;for(c=a.gn.j;c.next();){var p=c.value.start.position;p instanceof O&&(p.F()||p.assign(n))}a.FC=h;a.Gv=k;a.Hv=l;a.EC=m;a.Iv=a.gn;var q=a.Iv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l=
-k["position:placeholder"],n=l.eb(dc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);hl(a);il(a,e,q,h,0,m);bj(a.ba);jl(a);var r=+new Date,s=r+m;g.Ho===b&&requestAnimationFrame(function(){d()})}}function hl(a){if(!a.pp){var b=a.ba;a.uE=b.Eb;a.sC=b.Ue;a.tC=b.cv;b.Eb=!0;b.Ue=!0;b.cv=!0;a.pp=!0}}function jl(a){var b=a.ba;b.Eb=a.uE;b.Ue=a.sC;b.cv=a.tC;a.pp=!1}
-function il(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!==ll[m])ll[m](h,l[m],k[m],d,e,g)}d=b.aB;b.aB=!0;m=a.KC;0!==a.Jr&&0!==a.Ir&&(c=a.Jr,b.Bb=m(e,c,a.Ir-c,g));null!==a.Hr&&null!==a.Gr&&(c=a.Hr,a=a.Gr,b.rb=new O(m(e,c.x,a.x-c.x,g),m(e,c.y,a.y-c.y,g)));b.aB=d}
-gh.prototype.stopAnimation=gh.prototype.Hi=function(){!0===this.wc&&(this.wc=!1,this.Io&&this.ba.Se());this.nk&&this.mf&&kl(this)};
-function kl(a){a.nk=!1;a.Io=!1;hl(a);for(var b=a.ba,c=a.FC,d=a.EC,e=a.Iv.j;e.next();){var g=e.key,h=e.value,k=h.start,l=h.end,m=h.eu,n;for(n in l)if(void 0!==ll[n]){var p=n;!h.yx||"position:node"!==p&&"position:placeholder"!==p||(p="position");ll[p](g,k[n],void 0!==m[n]?m[n]:h.yx?k[n]:l[n],c,d,d)}h.yx&&void 0!==m.location&&g instanceof F&&(g.location=m.location);h.xy&&g instanceof F&&g.Jd(!1)}for(c=a.ba.links;c.next();)d=c.value,null!==d.Jp&&(d.points=d.Jp,d.Jp=null);b.jy.clear();b.Bk=null;b.zc();
-b.qa();b.hg();ml(b);jl(a);a.Hv&&a.Hv();a.Ho=0;a.Iv=null;a.Hv=null;a.Gv=null;a.Hr=null;a.Gr=null;a.Jr=0;a.Ir=0;a.gn=new ma(P,bl);b.Ja("AnimationFinished");b.Se()}
-function nl(a,b,c){var d=b.$,e=c.$,g=null;c instanceof I&&(g=c.placeholder);null!==g?(d=g.eb(dc),d.x+=g.padding.left,d.y+=g.padding.top,fl(a,b,"position",d,b.position,!1)):fl(a,b,"position",new O(e.x+e.width/2-d.width/2,e.y+e.height/2-d.height/2),b.position,!1);fl(a,b,"scale",.01,b.scale,!1);if(b instanceof I)for(b=b.Nc;b.next();)g=b.value,g instanceof G&&nl(a,g,c)}
-function ol(a,b,c){if(b.isVisible()){var d=null;c instanceof I&&(d=c.placeholder);null!==d?fl(a,b,"position:placeholder",b.position,d,!0):fl(a,b,"position:node",b.position,c,!0);fl(a,b,"scale",b.scale,.01,!0);a.wc&&(d=a.gn,d.contains(b)&&(d.na(b).xy=!0));if(b instanceof I)for(b=b.Nc;b.next();)d=b.value,d instanceof G&&ol(a,d,c)}}function pl(a,b,c){a.wc&&(null===a.Hr&&b.F()&&null===a.Gr&&(a.Hr=b.copy()),a.Gr=c.copy(),a.Io=!0)}
-function ql(a,b,c){a.wc&&a.ba.$n&&(0===a.Jr&&0===a.Ir&&(a.Jr=b),a.Ir=c,a.Io=!0)}D.defineProperty(gh,{isEnabled:"isEnabled"},function(){return this.mf},function(a){D.h(a,"boolean",gh,"isEnabled");this.mf=a});D.defineProperty(gh,{duration:"duration"},function(){return this.wz},function(a){D.h(a,"number",gh,"duration");1>a&&D.ua(a,">= 1",gh,"duration");this.wz=a});D.w(gh,{tf:"isAnimating"},function(){return this.nk});D.w(gh,{pJ:"isTicking"},function(){return this.pp});
-D.defineProperty(gh,{VF:"isInitial"},function(){return this.ok},function(a){D.h(a,"boolean",gh,"isInitial");this.ok=a});function bl(a,b,c){this.start=a;this.end=b;this.eu=new la;this.yx=c;this.xy=!1}
-var ll={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.Jy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):a.position=new O(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.$,k=c.$;c=k.x+k.width/2-h.width/2;h=k.y+k.height/2-h.height/2;e!==g?a.Jy(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g)):a.position=new O(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.Jy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):
-a.position=new O(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 Ug(){0e.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}D.w(gh,{dL:"animationReasons"},function(){return this.xv});
+gh.prototype.canStart=function(){return!0};gh.prototype.prepareAutomaticAnimation=gh.prototype.po=function(a){this.nf&&(this.pk||this.ba.$n)&&(this.xv.add(a),this.canStart(a)&&(this.ok&&this.Hi(),this.wc=!0))};function bl(a){if(a.nf&&(a.xv.clear(),a.wc))if(!a.Io)a.wc=!1;else if(0===a.Ho){var b=+new Date;a.Ho=b;requestAnimationFrame(function(){if(!1!==a.wc&&!a.ok&&a.Ho===b){var c=a.ba;c.Gj("temporaryPixelRatio")&&(c.Ck=1);cl(c);a.wc=!1;c.Ja("AnimationStarting");dl(a,b)}})}}
+function el(a,b,c,d,e,g){if(a.wc&&(v&&D.l(b,P,gh,"addPropToAnimation:obj"),!("position"===c&&d.P(e)||b instanceof F&&!b.OF))){var h=a.gn;if(h.contains(b)){var h=h.na(b),k=h.start,l=h.end;void 0===k[c]&&(k[c]=fl(d));h.Ax&&void 0!==l[c]?h.eu[c]=fl(e):(g||(h.eu[c]=fl(e)),l[c]=fl(e));g&&0===c.indexOf("position:")&&b instanceof F&&(h.eu.location=fl(b.location))}else k=new la,l=new la,k[c]=fl(d),l[c]=fl(e),d=l,e=k.position,e instanceof O&&!e.F()&&a.xv.contains("Expand SubGraph")&&e.assign(d.position),k=
+new al(k,l,g),g&&0===c.indexOf("position:")&&b instanceof F&&(k.eu.location=fl(b.location)),h.add(b,k);a.Io=!0}}function fl(a){return a instanceof O?a.copy():a instanceof Ca?a.copy():a}
+function dl(a,b){var c;function d(){if(!1!==g.ok&&g.Ho===b){var a=+new Date,c=a>s?m:a-r;gl(g);hl(g,e,q,h,c,m);g.Iv&&g.Iv();bj(e);il(g);a>s?jl(g):requestAnimationFrame(d)}}void 0===c&&(c=new la);var e=a.ba;if(null!==e){a.ok=!0;var g=a,h=c.GL||a.KC,k=c.gM||null,l=c.hM||null,m=c.duration||a.xz,n=a.BH;for(c=a.gn.j;c.next();){var p=c.value.start.position;p instanceof O&&(p.F()||p.assign(n))}a.FC=h;a.Iv=k;a.Jv=l;a.EC=m;a.Kv=a.gn;var q=a.Kv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l=
+k["position:placeholder"],n=l.fb(dc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);gl(a);hl(a,e,q,h,0,m);bj(a.ba);il(a);var r=+new Date,s=r+m;g.Ho===b&&requestAnimationFrame(function(){d()})}}function gl(a){if(!a.pp){var b=a.ba;a.uE=b.Eb;a.sC=b.Ue;a.tC=b.ev;b.Eb=!0;b.Ue=!0;b.ev=!0;a.pp=!0}}function il(a){var b=a.ba;b.Eb=a.uE;b.Ue=a.sC;b.ev=a.tC;a.pp=!1}
+function hl(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!==kl[m])kl[m](h,l[m],k[m],d,e,g)}d=b.aB;b.aB=!0;m=a.KC;0!==a.Jr&&0!==a.Ir&&(c=a.Jr,b.Bb=m(e,c,a.Ir-c,g));null!==a.Hr&&null!==a.Gr&&(c=a.Hr,a=a.Gr,b.rb=new O(m(e,c.x,a.x-c.x,g),m(e,c.y,a.y-c.y,g)));b.aB=d}
+gh.prototype.stopAnimation=gh.prototype.Hi=function(){!0===this.wc&&(this.wc=!1,this.Io&&this.ba.Se());this.ok&&this.nf&&jl(this)};
+function jl(a){a.ok=!1;a.Io=!1;gl(a);for(var b=a.ba,c=a.FC,d=a.EC,e=a.Kv.j;e.next();){var g=e.key,h=e.value,k=h.start,l=h.end,m=h.eu,n;for(n in l)if(void 0!==kl[n]){var p=n;!h.Ax||"position:node"!==p&&"position:placeholder"!==p||(p="position");kl[p](g,k[n],void 0!==m[n]?m[n]:h.Ax?k[n]:l[n],c,d,d)}h.Ax&&void 0!==m.location&&g instanceof F&&(g.location=m.location);h.yy&&g instanceof F&&g.Jd(!1)}for(c=a.ba.links;c.next();)d=c.value,null!==d.Jp&&(d.points=d.Jp,d.Jp=null);b.ky.clear();b.Ck=null;b.zc();
+b.qa();b.ig();ll(b);il(a);a.Jv&&a.Jv();a.Ho=0;a.Kv=null;a.Jv=null;a.Iv=null;a.Hr=null;a.Gr=null;a.Jr=0;a.Ir=0;a.gn=new ma(P,al);b.Ja("AnimationFinished");b.Se()}
+function ml(a,b,c){var d=b.$,e=c.$,g=null;c instanceof I&&(g=c.placeholder);null!==g?(d=g.fb(dc),d.x+=g.padding.left,d.y+=g.padding.top,el(a,b,"position",d,b.position,!1)):el(a,b,"position",new O(e.x+e.width/2-d.width/2,e.y+e.height/2-d.height/2),b.position,!1);el(a,b,"scale",.01,b.scale,!1);if(b instanceof I)for(b=b.Nc;b.next();)g=b.value,g instanceof G&&ml(a,g,c)}
+function nl(a,b,c){if(b.isVisible()){var d=null;c instanceof I&&(d=c.placeholder);null!==d?el(a,b,"position:placeholder",b.position,d,!0):el(a,b,"position:node",b.position,c,!0);el(a,b,"scale",b.scale,.01,!0);a.wc&&(d=a.gn,d.contains(b)&&(d.na(b).yy=!0));if(b instanceof I)for(b=b.Nc;b.next();)d=b.value,d instanceof G&&nl(a,d,c)}}function ol(a,b,c){a.wc&&(null===a.Hr&&b.F()&&null===a.Gr&&(a.Hr=b.copy()),a.Gr=c.copy(),a.Io=!0)}
+function pl(a,b,c){a.wc&&a.ba.$n&&(0===a.Jr&&0===a.Ir&&(a.Jr=b),a.Ir=c,a.Io=!0)}D.defineProperty(gh,{isEnabled:"isEnabled"},function(){return this.nf},function(a){D.h(a,"boolean",gh,"isEnabled");this.nf=a});D.defineProperty(gh,{duration:"duration"},function(){return this.xz},function(a){D.h(a,"number",gh,"duration");1>a&&D.ua(a,">= 1",gh,"duration");this.xz=a});D.w(gh,{uf:"isAnimating"},function(){return this.ok});D.w(gh,{qJ:"isTicking"},function(){return this.pp});
+D.defineProperty(gh,{WF:"isInitial"},function(){return this.pk},function(a){D.h(a,"boolean",gh,"isInitial");this.pk=a});function al(a,b,c){this.start=a;this.end=b;this.eu=new la;this.Ax=c;this.yy=!1}
+var kl={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.Ky(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):a.position=new O(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.$,k=c.$;c=k.x+k.width/2-h.width/2;h=k.y+k.height/2-h.height/2;e!==g?a.Ky(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g)):a.position=new O(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.Ky(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):
+a.position=new O(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 Ug(){0=a)return b;for(var c=0,d=0,e=0,g=0,h=0,k=this.qb.j;k.next();){var l=k.value;l instanceof I?e++:l instanceof G?d++:l instanceof J?g++:l instanceof da?h++:c++}k="";0=d.count)a=d.count;else if(d.ea(a)===b)return-1;d.Xd(a,b);b.ru(c);d=this.g;null!==d&&(c?d.qa():d.sq(b));wl(this,a,b);return a};
-f.sf=function(a,b,c){if(!c&&b.layer!==this&&null!==b.layer)return b.layer.sf(a,b,c);var d=this.qb;if(0>a||a>=d.length){if(a=d.indexOf(b),0>a)return-1}else if(d.ea(a)!==b&&(a=d.indexOf(b),0>a))return-1;b.su(c);d.jd(a);d=this.g;null!==d&&(c?d.qa():d.sf(b));b.lw=null;return a};
-function wl(a,b,c){b=xl(a,b,c);if(c instanceof I&&null!==c&&isNaN(c.Co)){if(0!==c.Nc.count){for(var d=-1,e=a.qb.o,g=e.length,h=0;hd&&k.Ra===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.ea(g).Co;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.jd(b);a.Xd(g,c);return g}for(h=NaN;0<=--g&&(h=a.ea(g).Co,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.jd(b);a.Xd(k,c);return k}for(l=NaN;++ka||1parseInt(e[1],10)&&(D.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+
-D.vfo+". This license key will do nothing until you upgrade to GoJS 1.7 or later."),D.Dx.licenseKey=!0);this.Fl=1;this.Ym=0;this.wD=new O;this.sE=500;this.xv=new O;this.ut=null;this.Cl=!1;this.preventDefault=this.wy=this.qG=this.rG=this.pG=this.lo=this.$g=this.mo=this.jo=this.ko=this.dC=this.UB=this.VB=this.WB=this.Ql=this.ht=this.Pl=this.gt=null;this.GD=1;this.fw=!1;this.zl=new Kl;void 0!==a&&Ll(this,a);this.$c=!1}D.ja("Diagram",E);
-E.prototype.clear=E.prototype.clear=function(){var a=null;null!==this.Ad&&(a=this.Ad.Y);this.ga.clear();for(var b=this.cc.length,c=0;c=d.count)a=d.count;else if(d.ea(a)===b)return-1;d.Xd(a,b);b.tu(c);d=this.g;null!==d&&(c?d.qa():d.sq(b));vl(this,a,b);return a};
+f.tf=function(a,b,c){if(!c&&b.layer!==this&&null!==b.layer)return b.layer.tf(a,b,c);var d=this.qb;if(0>a||a>=d.length){if(a=d.indexOf(b),0>a)return-1}else if(d.ea(a)!==b&&(a=d.indexOf(b),0>a))return-1;b.uu(c);d.jd(a);d=this.g;null!==d&&(c?d.qa():d.tf(b));b.nw=null;return a};
+function vl(a,b,c){b=wl(a,b,c);if(c instanceof I&&null!==c&&isNaN(c.Co)){if(0!==c.Nc.count){for(var d=-1,e=a.qb.o,g=e.length,h=0;hd&&k.Ra===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.ea(g).Co;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.jd(b);a.Xd(g,c);return g}for(h=NaN;0<=--g&&(h=a.ea(g).Co,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.jd(b);a.Xd(k,c);return k}for(l=NaN;++ka||1parseInt(e[1],10)&&(D.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+
+D.vfo+". This license key will do nothing until you upgrade to GoJS 1.7 or later."),D.Fx.licenseKey=!0);this.Gl=1;this.Ym=0;this.wD=new O;this.sE=500;this.zv=new O;this.ut=null;this.Dl=!1;this.preventDefault=this.xy=this.rG=this.sG=this.qG=this.lo=this.ah=this.mo=this.jo=this.ko=this.dC=this.UB=this.VB=this.WB=this.Rl=this.ht=this.Ql=this.gt=null;this.GD=1;this.hw=!1;this.Al=new Jl;void 0!==a&&Kl(this,a);this.$c=!1}D.ka("Diagram",E);
+E.prototype.clear=E.prototype.clear=function(){var a=null;null!==this.Ad&&(a=this.Ad.Y);this.ga.clear();for(var b=this.cc.length,c=0;c=a)return b;for(var c=this.cc.j;c.next();)b+="\n "+c.value.toString(a-1);return b};E.fromDiv=function(a){var b=a;"string"===typeof a&&(b=window.document.getElementById(a));return b instanceof HTMLDivElement&&b.ba instanceof E?b.ba:null};
-D.defineProperty(E,{Dj:"div"},function(){return this.Sb},function(a){null!==a&&D.l(a,HTMLDivElement,E,"div");if(this.Sb!==a){zl=[];var b=this.Sb;null!==b?(b.ba=void 0,b.innerHTML="",null!==this.Mb&&(this.Mb.removeEventListener("touchstart",this.WB,!1),this.Mb.removeEventListener("touchmove",this.VB,!1),this.Mb.removeEventListener("touchend",this.UB,!1),this.Mb.Ud.ba=null),b=this.kb,null!==b&&(b.lf.each(function(a){a.cancelWaitAfter()}),b.jg.each(function(a){a.cancelWaitAfter()}),b.kg.each(function(a){a.cancelWaitAfter()})),
-b.cancelWaitAfter(),this.gb.doCancel(),this.od=this.Mb=null,window.removeEventListener("resize",this.dC,!1),window.removeEventListener("mousemove",this.ko,!0),window.removeEventListener("mousedown",this.jo,!0),window.removeEventListener("mouseup",this.mo,!0),window.removeEventListener("mousewheel",this.$g,!0),window.removeEventListener("DOMMouseScroll",this.$g,!0),window.removeEventListener("mouseout",this.lo,!0)):this.th=!1;this.Sb=null;if(null!==a){if(b=a.ba)b.Dj=null;Ll(this,a);this.Gq()}}});
-function Ol(a){var b=a.Mb;b.addEventListener("touchstart",a.WB,!1);b.addEventListener("touchmove",a.VB,!1);b.addEventListener("touchend",a.UB,!1);b.addEventListener("mousemove",a.ko,!1);b.addEventListener("mousedown",a.jo,!1);b.addEventListener("mouseup",a.mo,!1);b.addEventListener("mousewheel",a.$g,!1);b.addEventListener("DOMMouseScroll",a.$g,!1);b.addEventListener("mouseout",a.lo,!1);b.addEventListener("keydown",a.rJ,!1);b.addEventListener("keyup",a.sJ,!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.kb.pq===Hk&&b.preventDefault()},!1);b.addEventListener("pointerdown",a.pG,!1);b.addEventListener("pointermove",a.rG,!1);b.addEventListener("pointerleave",a.qG,!1);window.addEventListener("resize",a.dC,!1)}E.prototype.computePixelRatio=function(){return null!==this.Bk?this.Bk:this.GD};E.prototype.doMouseMove=function(){this.gb.doMouseMove()};
-E.prototype.doMouseDown=function(){this.gb.doMouseDown()};E.prototype.doMouseUp=function(){this.gb.doMouseUp()};E.prototype.doMouseWheel=function(){this.gb.doMouseWheel()};E.prototype.doKeyDown=function(){this.gb.doKeyDown()};E.prototype.doKeyUp=function(){this.gb.doKeyUp()};E.prototype.doFocus=function(){this.focus()};E.prototype.focus=E.prototype.focus=function(){this.Mb&&this.Mb.focus()};
-function dl(a){if(null!==a.Mb){var b=a.Sb;if(0!==b.clientWidth&&0!==b.clientHeight){var c=a.yl?a.Rd:0,d=a.lk?a.Rd:0,e=a.qd;a.qd=a.computePixelRatio();a.qd!==e&&(a.cs=!0,a.Se());if(b.clientWidth!==a.Ob+c||b.clientHeight!==a.Rb+d)a.Sm=!0,a.Me=!0,b=a.Vb,null!==b&&b.ay&&a.bm===Rh&&b.N(),a.ge||a.Se()}}}
-function Il(a){var b=new Ug;b.name="Background";a.Ot(b);b=new Ug;b.name="";a.Ot(b);b=new Ug;b.name="Foreground";a.Ot(b);b=new Ug;b.name="Adornment";b.Uc=!0;a.Ot(b);b=new Ug;b.name="Tool";b.Uc=!0;b.OF=!0;a.Ot(b);b=new Ug;b.name="Grid";b.Cf=!1;b.qg=!1;b.Uc=!0;a.OH(b,a.km("Background"))}
-function Pl(a){a.Ad=new x(Ql);a.Ad.name="GRID";var b=new z;b.Jb="LineH";b.stroke="lightgray";b.jb=.5;b.interval=1;a.Ad.add(b);b=new z;b.Jb="LineH";b.stroke="gray";b.jb=.5;b.interval=5;a.Ad.add(b);b=new z;b.Jb="LineH";b.stroke="gray";b.jb=1;b.interval=10;a.Ad.add(b);b=new z;b.Jb="LineV";b.stroke="lightgray";b.jb=.5;b.interval=1;a.Ad.add(b);b=new z;b.Jb="LineV";b.stroke="gray";b.jb=.5;b.interval=5;a.Ad.add(b);b=new z;b.Jb="LineV";b.stroke="gray";b.jb=1;b.interval=10;a.Ad.add(b);b=new F;b.add(a.Ad);
-b.Kf="Grid";b.Co=0;b.Wx=!1;b.NF=!1;b.qg=!1;b.ky="GRID";a.add(b);a.qb.remove(b);a.Ad.visible=!1}function Rl(){this.ba.isEnabled?this.ba.uI(this):Sl(this.ba)}function Tl(a){this.ba.isEnabled?(this.ba.$z=!0,this.ba.bA=a.target.scrollTop,this.ba.aA=a.target.scrollLeft):Sl(this.ba)}
-E.prototype.diagramScroll=E.prototype.uI=function(a){if(this.$z&&null!==this.Mb){this.Mw=!0;var b=this.dd,c=this.ub,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.gs)switch(this.Yz){case "negative":s=s+a.scrollWidth-a.clientWidth;break;case "reverse":s=a.scrollWidth-s-a.clientWidth}var u=s;el&&(this.position=s.n(-(this.Qw.scrollWidth-this.Ob)+u-this.Ob/r+k,this.position.y))),a.DH&&this.ze&&(bn&&(this.position=s.n(this.position.x,-(this.Qw.scrollHeight-this.Rb)+a.scrollTop-this.Rb/r+m))),D.A(s),Ul(this),this.Sm=this.Mw=!1,b=this.dd,c=this.ub,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.lt.style.width="1px"),h>=g&&b>=c&&m<=n&&(this.lt.style.height="1px"))}};E.prototype.computeBounds=E.prototype.Kh=function(){0c&&(e=c),ea.Ph&&(e=a.Ph),e):b===am?(e=l>k?(h-a.Rd)/d:(g-a.Rd)/e,e>c&&(e=c),ea.Ph&&(e=a.Ph),e):a.scale}E.prototype.zoomToFit=E.prototype.zoomToFit=function(){this.scale=Xl(this,$l)};
-E.prototype.zoomToRect=function(a,b){void 0===b&&(b=$l);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===$l||b===am)if(isNaN(c))e=this.ub.height*this.scale/d;else if(isNaN(d))e=this.ub.width*this.scale/c;else var e=this.Ob,g=this.Rb,e=b===am?g/d>e/c?(g-(this.lk?this.Rd:0))/d:(e-(this.yl?this.Rd:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new O(a.x,a.y)}};D.defineProperty(E,{aB:null},function(){return this.$c},function(a){this.$c=a});
-E.prototype.alignDocument=function(a,b){this.mk&&Zl(this,this.Kh());var c=this.dd,d=this.ub;this.position=new O(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 Yl(a,b,c,d,e,g,h){var k=b.x,l=b.y;if(h||a.CB===Al)g.fd()&&(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.LG,h=d-c.width,dc.left?k=c.left:kc.top?l=c.top:ll&&(this.position=s.n(-(this.Sw.scrollWidth-this.Ob)+u-this.Ob/r+k,this.position.y))),a.EH&&this.ze&&(bn&&(this.position=s.n(this.position.x,-(this.Sw.scrollHeight-this.Rb)+a.scrollTop-this.Rb/r+m))),D.A(s),Tl(this),this.Sm=this.Ow=!1,b=this.dd,c=this.ub,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.lt.style.width="1px"),h>=g&&b>=c&&m<=n&&(this.lt.style.height="1px"))}};E.prototype.computeBounds=E.prototype.Lh=function(){0c&&(e=c),ea.Qh&&(e=a.Qh),e):b===$l?(e=l>k?(h-a.Rd)/d:(g-a.Rd)/e,e>c&&(e=c),ea.Qh&&(e=a.Qh),e):a.scale}E.prototype.zoomToFit=E.prototype.zoomToFit=function(){this.scale=Wl(this,Zl)};
+E.prototype.zoomToRect=function(a,b){void 0===b&&(b=Zl);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Zl||b===$l)if(isNaN(c))e=this.ub.height*this.scale/d;else if(isNaN(d))e=this.ub.width*this.scale/c;else var e=this.Ob,g=this.Rb,e=b===$l?g/d>e/c?(g-(this.mk?this.Rd:0))/d:(e-(this.zl?this.Rd:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new O(a.x,a.y)}};D.defineProperty(E,{aB:null},function(){return this.$c},function(a){this.$c=a});
+E.prototype.alignDocument=function(a,b){this.nk&&Yl(this,this.Lh());var c=this.dd,d=this.ub;this.position=new O(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 Xl(a,b,c,d,e,g,h){var k=b.x,l=b.y;if(h||a.CB===zl)g.fd()&&(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.MG,h=d-c.width,dc.left?k=c.left:kc.top?l=c.top:lc.touches.length)&&c.preventDefault();c.cancelBubble=!0;return!1}
-E.prototype.rJ=function(a){if(!this.ba.isEnabled)return!1;var b=this.ba.Tb;bm(this.ba,this.ba,a,b,!1);b.key=String.fromCharCode(a.which);b.jm=!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=
+E.prototype.findObjectsAt=E.prototype.gu=function(a,b,c,d){void 0===b&&(b=null);void 0===c&&(c=null);d instanceof K||d instanceof L||(d=new L(P));Si(this);for(var e=this.cc.ao;e.next();){var g=e.value;g.visible&&g.gu(a,b,c,d)}return d};E.prototype.findObjectsIn=E.prototype.Rk=function(a,b,c,d,e){void 0===b&&(b=null);void 0===c&&(c=null);void 0===d&&(d=!1);e instanceof K||e instanceof L||(e=new L(P));Si(this);for(var g=this.cc.ao;g.next();){var h=g.value;h.visible&&h.Rk(a,b,c,d,e)}return e};
+E.prototype.MA=function(a,b,c,d,e,g){var h=new L(P);Si(this);for(var k=this.cc.ao;k.next();){var l=k.value;l.visible&&l.MA(a,b,c,d,h,e,g)}return h};E.prototype.findObjectsNear=E.prototype.Qn=function(a,b,c,d,e,g){void 0===c&&(c=null);void 0===d&&(d=null);void 0===e&&(e=!0);if(!1!==e&&!0!==e){if(e instanceof K||e instanceof L)g=e;e=!0}g instanceof K||g instanceof L||(g=new L(P));Si(this);for(var h=this.cc.ao;h.next();){var k=h.value;k.visible&&k.Qn(a,b,c,d,e,g)}return g};
+E.prototype.acceptEvent=function(a){var b=this.cd;this.cd=this.Tb;this.Tb=b;am(this,this,a,b,a instanceof MouseEvent);return b};
+function am(a,b,c,d,e){d.g=b;d.event=c;e?bm(a,c,d):(d.qe=b.Tb.qe,d.ha=b.Tb.ha);a=0;c.ctrlKey&&(a+=1);c.altKey&&(a+=2);c.shiftKey&&(a+=4);c.metaKey&&(a+=8);d.Kd=a;d.button=c.button;void 0===c.buttons||D.kJ||(d.buttons=c.buttons);D.Xk&&0===c.button&&c.ctrlKey&&(d.button=2);d.km=!1;d.up=!1;d.Oe=1;d.jm=0;d.Mc=!1;d.bubbles=!1;d.timestamp=Date.now();d.Au=!1;d.hh=c.target.ba?c.target.ba:null;d.We=null}
+function cm(a,b,c,d,e){d.g=a;bm(a,c,d);d.Kd=0;d.button=0;d.buttons=1;d.km=!0;d.up=!1;d.Oe=1;d.jm=0;d.Mc=!1;d.bubbles=!0;d.event=b;d.timestamp=Date.now();d.Au=e;d.hh=b.target.ba?b.target.ba:null;d.We=null;a.Yi=d.copy();Zh=null}
+function dm(a,b,c,d,e){var g=null;d.g=a;null!==c?((g=window.document.elementFromPoint(c.clientX,c.clientY))&&g.ba?g=g.ba:(c=b.changedTouches[0],g=a),d.hh=g,bm(a,c,d)):null!==a.cd?(d.ha=a.cd.ha,d.qe=a.cd.qe,d.hh=a.cd.hh):null!==a.Yi&&(d.ha=a.Yi.ha,d.qe=a.Yi.qe,d.hh=a.Yi.hh);d.Kd=0;d.button=0;d.buttons=1;d.km=!1;d.up=!1;d.Oe=1;d.jm=0;d.Mc=!1;d.bubbles=!1;d.event=b;d.timestamp=Date.now();d.Au=e;d.We=null}
+function ga(a,b,c){if(b.bubbles)return v&&v.JF&&D.trace("NOT handled "+c.type+" "+b.toString()),!0;v&&v.JF&&D.trace("handled "+c.type+" "+a.hb.name+" "+b.toString());void 0!==c.stopPropagation&&c.stopPropagation();(void 0===c.touches||2>c.touches.length)&&c.preventDefault();c.cancelBubble=!0;return!1}
+E.prototype.sJ=function(a){if(!this.ba.isEnabled)return!1;var b=this.ba.Tb;am(this.ba,this.ba,a,b,!1);b.key=String.fromCharCode(a.which);b.km=!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.ba.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?ga(this.ba,b,a):(a.cancelBubble=!0,a.preventDefault(),a.stopPropagation(),!1)};
-E.prototype.sJ=function(a){if(!this.ba.isEnabled)return!1;var b=this.ba.Tb;bm(this.ba,this.ba,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.ba.doKeyUp();
+E.prototype.tJ=function(a){if(!this.ba.isEnabled)return!1;var b=this.ba.Tb;am(this.ba,this.ba,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.ba.doKeyUp();
return ga(this.ba,b,a)};E.prototype.fp=function(a){var b=this.Mb;if(null===b)return new O(0,0);var c=this.Ob,d=this.Rb,b=b.getBoundingClientRect(),c=a.clientX-c/b.width*b.left;a=a.clientY-d/b.height*b.top;return null!==this.Ic?(a=new O(c,a),gb(a,this.Ic),a):new O(c,a)};
-function cm(a,b,c){var d=a.Mb,e=a.Ob,g=a.Rb,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.qe.n(h,k);null!==a.Ic?(b=D.Fb(h,k),a.Ic.Ci(b),c.ha.assign(b),D.A(b)):c.ha.n(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.oj[0])e=a.oj[c];else return;c=a.Mb;b=a.Ob;a=a.Rb;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.n(g,h)}E.prototype.invalidateDocumentBounds=E.prototype.zc=function(){this.mk||(this.mk=!0,this.Se(!0))};function ml(a){a.ge||Si(a);a.mk&&Zl(a,a.Kh())}
-E.prototype.redraw=E.prototype.Gq=function(){this.$c||this.ge||(this.qa(),fm(this),Ul(this),this.zc(),this.hg())};E.prototype.isUpdateRequested=function(){return this.Zf};E.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Xa,c=b.isEnabled;b.Hi();b.isEnabled=!1;bj(this);this.th=!1;b.isEnabled=c;null!==a&&D.setTimeout(a,1)};
-E.prototype.requestUpdate=E.prototype.Se=function(a){void 0===a&&(a=!1);if(!0!==this.Zf&&!(this.$c||!1===a&&this.ge)){this.Zf=!0;var b=this;requestAnimationFrame(function(){b.Zf&&b.hg()})}};E.prototype.maybeUpdate=E.prototype.hg=function(){if(!this.dp||this.Zf)this.dp&&(this.dp=!1),bj(this)};function gm(a,b){a.Xa.tf||a.$c||!a.Sm||Sl(a)||(b&&Si(a),Wl(a,!1))}
-function bj(a){if(!a.ge&&(a.Zf=!1,null!==a.Sb)){a.ge=!0;var b=a.Xa,c=a.Wz;if(!b.pp&&0!==c.length){for(var d=c.o,e=d.length,g=0;gb;b++){var c=a.Eg.j;if(null===c||0===a.Eg.count)break;a.Eg=new L(F);a.aC(c,a.Eg);v&&22===b&&D.trace("failure to validate parts")}a.og.each(function(a){a instanceof I&&0!==(a.Ca&65536)!==!1&&(a.Ca^=65536)})}}
-E.prototype.aC=function(a,b){for(a.reset();a.next();){var c=a.value;!c.oe()||c instanceof I||(c.vm()?(Fk(c,Infinity,Infinity),c.pc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof I&&c.isVisible()&&Im(this,c);for(a.reset();a.next();)c=a.value,c instanceof J&&c.isVisible()&&(c.vm()?(Fk(c,Infinity,Infinity),c.pc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof da&&c.isVisible()&&(c.vm()?(Fk(c,Infinity,Infinity),c.pc()):b.add(c))};
-function Im(a,b){for(var c=D.tb(),d=D.tb(),e=b.Nc;e.next();){var g=e.value;g.isVisible()&&(g instanceof I?(Jm(g)||Km(g)||Lm(g))&&Im(a,g):g instanceof J?g.aa===b||g.da===b?d.push(g):c.push(g):(Fk(g,Infinity,Infinity),g.pc()))}for(var e=c.length,h=0;hb.targetTouches.length)return;e=b.targetTouches[c]}else if(null!==a.oj[0])e=a.oj[c];else return;c=a.Mb;b=a.Ob;a=a.Rb;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.n(g,h)}E.prototype.invalidateDocumentBounds=E.prototype.zc=function(){this.nk||(this.nk=!0,this.Se(!0))};function ll(a){a.ge||Si(a);a.nk&&Yl(a,a.Lh())}
+E.prototype.redraw=E.prototype.Gq=function(){this.$c||this.ge||(this.qa(),em(this),Tl(this),this.zc(),this.ig())};E.prototype.isUpdateRequested=function(){return this.$f};E.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Xa,c=b.isEnabled;b.Hi();b.isEnabled=!1;bj(this);this.uh=!1;b.isEnabled=c;null!==a&&D.setTimeout(a,1)};
+E.prototype.requestUpdate=E.prototype.Se=function(a){void 0===a&&(a=!1);if(!0!==this.$f&&!(this.$c||!1===a&&this.ge)){this.$f=!0;var b=this;requestAnimationFrame(function(){b.$f&&b.ig()})}};E.prototype.maybeUpdate=E.prototype.ig=function(){if(!this.dp||this.$f)this.dp&&(this.dp=!1),bj(this)};function fm(a,b){a.Xa.uf||a.$c||!a.Sm||Rl(a)||(b&&Si(a),Vl(a,!1))}
+function bj(a){if(!a.ge&&(a.$f=!1,null!==a.Sb)){a.ge=!0;var b=a.Xa,c=a.Xz;if(!b.pp&&0!==c.length){for(var d=c.o,e=d.length,g=0;gb;b++){var c=a.Fg.j;if(null===c||0===a.Fg.count)break;a.Fg=new L(F);a.aC(c,a.Fg);v&&22===b&&D.trace("failure to validate parts")}a.pg.each(function(a){a instanceof I&&0!==(a.Ca&65536)!==!1&&(a.Ca^=65536)})}}
+E.prototype.aC=function(a,b){for(a.reset();a.next();){var c=a.value;!c.oe()||c instanceof I||(c.wm()?(Fk(c,Infinity,Infinity),c.qc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof I&&c.isVisible()&&Im(this,c);for(a.reset();a.next();)c=a.value,c instanceof J&&c.isVisible()&&(c.wm()?(Fk(c,Infinity,Infinity),c.qc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof da&&c.isVisible()&&(c.wm()?(Fk(c,Infinity,Infinity),c.qc()):b.add(c))};
+function Im(a,b){for(var c=D.tb(),d=D.tb(),e=b.Nc;e.next();){var g=e.value;g.isVisible()&&(g instanceof I?(Jm(g)||Km(g)||Lm(g))&&Im(a,g):g instanceof J?g.aa===b||g.da===b?d.push(g):c.push(g):(Fk(g,Infinity,Infinity),g.qc()))}for(var e=c.length,h=0;hy+1&&
-(N=Math.max((t-y)*c+a.Ob,N)),q+k+1p+1&&(k=Math.max((A-p)*c+a.Rb,k)),r+l+1y+1&&(N=Math.max((t-y)*c+a.Ob,N)),q+1p+1&&(k=Math.max((A-p)*c+W,k)),r+1y+1&&(l=a.position.x*c));if(a.gs)switch(a.Yz){case "negative":l=-(b.scrollWidth-l-b.clientWidth);break;case "reverse":l=b.scrollWidth-l-b.clientWidth}b.scrollLeft=l;a.WA&&a.ze&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.cs=!0);m=a.Ob;n=a.Rb;b.style.width=m+(a.yl?a.Rd:0)+
-"px";b.style.height=n+(a.lk?a.Rd:0)+"px";a.$z=!1;return d!==m||e!==n||a.Xa.wc?(p=a.ub,a.Pu(g,p,c,a.scale,h),!1):!0}
-E.prototype.add=E.prototype.add=function(a){D.l(a,F,E,"add:part");var b=a.g;if(b!==this){null!==b&&D.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.ar&&(a.Gl="Tool");var c=a.Kf,b=this.km(c);null===b&&(b=this.km(""));null===b&&D.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.sq(99999999,a,a.g===this),0<=c&&this.hd(dg,"parts",b,null,a,null,c),b.Uc||this.zc(),a.N(Sm),c=a.gy,null!==
+t.x),Math.abs(r.y-t.y)));gb(r,w);gb(t,w);m.push(new B(Math.min(r.x,t.x),Math.min(r.y,t.y),Math.abs(r.x-t.x),Math.abs(r.y-t.y)));this.Al.Fm(this)&&(h=0y+1&&
+(N=Math.max((t-y)*c+a.Ob,N)),q+k+1p+1&&(k=Math.max((A-p)*c+a.Rb,k)),r+l+1y+1&&(N=Math.max((t-y)*c+a.Ob,N)),q+1p+1&&(k=Math.max((A-p)*c+W,k)),r+1y+1&&(l=a.position.x*c));if(a.gs)switch(a.Zz){case "negative":l=-(b.scrollWidth-l-b.clientWidth);break;case "reverse":l=b.scrollWidth-l-b.clientWidth}b.scrollLeft=l;a.WA&&a.ze&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.cs=!0);m=a.Ob;n=a.Rb;b.style.width=m+(a.zl?a.Rd:0)+
+"px";b.style.height=n+(a.mk?a.Rd:0)+"px";a.aA=!1;return d!==m||e!==n||a.Xa.wc?(p=a.ub,a.Ru(g,p,c,a.scale,h),!1):!0}
+E.prototype.add=E.prototype.add=function(a){D.l(a,F,E,"add:part");var b=a.g;if(b!==this){null!==b&&D.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.ar&&(a.Hl="Tool");var c=a.Lf,b=this.lm(c);null===b&&(b=this.lm(""));null===b&&D.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.sq(99999999,a,a.g===this),0<=c&&this.hd(ng,"parts",b,null,a,null,c),b.Uc||this.zc(),a.N(Sm),c=a.hy,null!==
c&&c(a,null,b))}};
-E.prototype.sq=function(a){if(a instanceof G){if(this.Dp.add(a),a instanceof I){var b=a.Ra;null===b?this.Tl.add(a):b.en.add(a);b=a.Vb;null!==b&&(b.g=this)}}else a instanceof J?this.xp.add(a):a instanceof da||this.qb.add(a);var c=this;Tm(a,function(a){Um(c,a)});(a instanceof da||a instanceof I&&null!==a.Qb)&&a.K();b=a.data;null!==b&&(a instanceof da||(a instanceof J?this.ck.add(b,a):this.Si.add(b,a)),Tm(a,function(a){Vm(c,a)}));!0!==Km(a)&&!0!==Lm(a)||this.Eg.add(a);Wm(a,!0,this);Xm(a)?(a.$.F()&&this.qa(vl(a,
-a.$)),this.zc()):a.isVisible()&&a.$.F()&&this.qa(vl(a,a.$));this.Se()};
-E.prototype.sf=function(a){a.Yt();if(a instanceof G){if(this.Dp.remove(a),a instanceof I){var b=a.Ra;null===b?this.Tl.remove(a):b.en.remove(a);b=a.Vb;null!==b&&(b.g=null)}}else a instanceof J?this.xp.remove(a):a instanceof da||this.qb.remove(a);var c=this;Tm(a,function(a){Ym(c,a)});b=a.data;null!==b&&(a instanceof da||(a instanceof J?this.ck.remove(b):this.Si.remove(b)),Tm(a,function(a){Zm(c,a)}));this.Eg.remove(a);Xm(a)?(a.$.F()&&this.qa(vl(a,a.$)),this.zc()):a.isVisible()&&a.$.F()&&this.qa(vl(a,
-a.$));this.Se()};E.prototype.remove=E.prototype.remove=function(a){D.l(a,F,E,"remove:part");$m(this,a,!0)};function $m(a,b,c){var d=b.layer;null!==d&&d.g===a&&(b.hb=!1,b.Yg=!1,b.N(an),c&&b.On(),c=d.sf(-1,b,!1),0<=c&&a.hd(og,"parts",d,b,null,c,null),a=b.gy,null!==a&&a(b,d,null))}
-E.prototype.removeParts=E.prototype.zB=function(a,b){if(D.isArray(a))for(var c=D.cb(a),d=0;dd&&this.zc()};
-E.prototype.addLayerAfter=function(a,b){bn(this,a,b);a.Yc(this);var c=this.cc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.ve&&this.hd(og,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.zc()};
-E.prototype.removeLayer=function(a){D.l(a,Ug,E,"removeLayer:layer");a.g!==this&&D.k("Cannot remove a Layer from another Diagram: "+a+" of "+a.g);if(""!==a.name){var b=this.cc,c=b.indexOf(a);if(b.remove(a)){for(b=a.qb.copy().j;b.next();){var d=b.value,e=d.Kf;d.Kf=e!==a.name?e:""}null!==this.ve&&this.hd(og,"layers",this,a,null,c,null);this.qa();this.zc()}}};E.prototype.findLayer=E.prototype.km=function(a){for(var b=this.bo;b.next();){var c=b.value;if(c.name===a)return c}return null};
-E.prototype.addModelChangedListener=E.prototype.QH=function(a){D.h(a,"function",E,"addModelChangedListener:listener");null===this.wh&&(this.wh=new K("function"));this.wh.add(a);this.ga.An(a)};E.prototype.removeModelChangedListener=function(a){D.h(a,"function",E,"removeModelChangedListener:listener");null!==this.wh&&(this.wh.remove(a),0===this.wh.count&&(this.wh=null));this.ga.Su(a)};
-E.prototype.addChangedListener=E.prototype.An=function(a){D.h(a,"function",E,"addChangedListener:listener");null===this.Ni&&(this.Ni=new K("function"));this.Ni.add(a)};E.prototype.removeChangedListener=E.prototype.Su=function(a){D.h(a,"function",E,"removeChangedListener:listener");null!==this.Ni&&(this.Ni.remove(a),0===this.Ni.count&&(this.Ni=null))};
-E.prototype.tx=function(a){this.Eb||this.ra.HF(a);a.Jc!==cg&&(this.Ei=!0);if(null!==this.Ni){var b=this.Ni,c=b.length;if(1===c)b=b.ea(0),b(a);else if(0!==c)for(var d=b.mc(),e=0;ea.Ph&&(c=a.Ph);e=D.Fb(a.rb.x+h/b-h/c,a.rb.y+k/b-k/c);a.position=e;D.A(e);a.Bb=c;a.Pu(d,a.ub,b,c,!1);a.$c=!1;Wl(a,
-!1);c=a.Xa;c.wc&&ql(c,b,a.Bb);a.qa();fm(a)}}
-E.prototype.Pu=function(a,b,c,d,e){a.P(b)||(void 0===e&&(e=!1),e||fm(this),Ul(this),d=this.Vb,null===d||!d.ay||this.bm!==Rh||e||a.width===b.width&&a.height===b.height||d.N(),d=this.gb,!0===this.Um&&d instanceof Lh&&(this.U.ha=this.YB(this.U.qe),Jk(d,this)),this.$c||this.MF(a,b),im(this),this.Fh.scale=c,this.Fh.position.x=a.x,this.Fh.position.y=a.y,this.Fh.bounds.set(a),this.Fh.isScroll=e,this.Ja("ViewportBoundsChanged",this.Fh,a),this.dB&&this.links.each(function(a){a.Jj&&a.$.fg(b)&&a.gc()}))};
-function im(a,b){void 0===b&&(b=null);var c=a.Ad;if(null!==c&&c.visible){for(var d=D.Cm(),e=1,g=1,h=c.ya.o,k=h.length,l=0;ln||(dn(m.Jb)?g=g*n/We(g,n):e=e*n/We(e,n))}h=c.Qx;d.n(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=D.Of();g=a.ub;e.n(g.x,g.y,g.width,g.height);for(h=a.Ew.j;h.next();)g=h.value.ub,g.F()&&Pb(e,g.x,g.y,g.width,g.height);if(!e.F()){D.Kb(e);return}k=e.width;l=e.height;g=e.x;h=e.y;D.Kb(e)}c.width=k+2*d.width;c.height=
-l+2*d.height;e=D.O();fb(g,h,0,0,d.width,d.height,e);e.offset(-d.width,-d.height);D.Rk(d);c.Y.location=e;D.A(e)}}E.prototype.clearSelection=E.prototype.vx=function(){var a=0
+
The constructor creates a new GridLayout with default values for its properties, including setting Layout#isViewporSized to true. diff --git a/api/symbols/Group.html b/api/symbols/Group.html index 025dc3125..db1cbccdb 100644 --- a/api/symbols/Group.html +++ b/api/symbols/Group.html @@ -1111,7 +1111,7 @@
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
Constructor
- More...
+
The constructor creates an Overview that does not show any Diagram,
until you set Overview.observed.More...
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Panel.html b/api/symbols/Panel.html
index f5fb7845b..d4fc31dea 100644
--- a/api/symbols/Panel.html
+++ b/api/symbols/Panel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PanningTool.html b/api/symbols/PanningTool.html
index 3776de6af..f55f2733f 100644
--- a/api/symbols/PanningTool.html
+++ b/api/symbols/PanningTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Part.html b/api/symbols/Part.html
index bb064b20b..687a3ace3 100644
--- a/api/symbols/Part.html
+++ b/api/symbols/Part.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PathFigure.html b/api/symbols/PathFigure.html
index 46dee219b..88c107b77 100644
--- a/api/symbols/PathFigure.html
+++ b/api/symbols/PathFigure.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/PathSegment.html b/api/symbols/PathSegment.html
index 3e0b44a38..24cafaf59 100644
--- a/api/symbols/PathSegment.html
+++ b/api/symbols/PathSegment.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Picture.html b/api/symbols/Picture.html
index df35eae1f..78348db11 100644
--- a/api/symbols/Picture.html
+++ b/api/symbols/Picture.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Placeholder.html b/api/symbols/Placeholder.html
index b76c6f609..33f8f9950 100644
--- a/api/symbols/Placeholder.html
+++ b/api/symbols/Placeholder.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Point.html b/api/symbols/Point.html
index 01080f8cd..ac410049c 100644
--- a/api/symbols/Point.html
+++ b/api/symbols/Point.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Rect.html b/api/symbols/Rect.html
index 419392fcb..e2b8f1078 100644
--- a/api/symbols/Rect.html
+++ b/api/symbols/Rect.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RelinkingTool.html b/api/symbols/RelinkingTool.html
index 65dc3c58b..8c9a08ee8 100644
--- a/api/symbols/RelinkingTool.html
+++ b/api/symbols/RelinkingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ResizingTool.html b/api/symbols/ResizingTool.html
index 9f340f85a..f9b9d61b5 100644
--- a/api/symbols/ResizingTool.html
+++ b/api/symbols/ResizingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
@@ -1218,7 +1218,7 @@ Properties Summary
- Gets or sets the width and height multiples with which the user must resize.More...
The effective cell size is computed by first looking at the AdornedPart's Part.resizeCellSize.
If either or both of its width and height are NaN, it will use this property, cellSize
.
If either or both of this property's width and height are NaN, it will
consider the DraggingTool.gridSnapCellSize and the Diagram.grid's Panel.gridCellSize.
The default value is NaN x NaN.
Setting this property does not raise any events.
+ Gets or sets the width and height multiples with which the user must resize.More...
The effective cell size is computed by first looking at the Adornment.adornedPart's Part.resizeCellSize.
If either or both of its width and height are NaN, it will use this property, cellSize
.
If either or both of this property's width and height are NaN, it will
consider the DraggingTool.gridSnapCellSize and the Diagram.grid's Panel.gridCellSize.
The default value is NaN x NaN.
Setting this property does not raise any events.
diff --git a/api/symbols/RotatingTool.html b/api/symbols/RotatingTool.html
index 077eb07d6..b74d1b92d 100644
--- a/api/symbols/RotatingTool.html
+++ b/api/symbols/RotatingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/RowColumnDefinition.html b/api/symbols/RowColumnDefinition.html
index d592cdda4..92bd4a1a9 100644
--- a/api/symbols/RowColumnDefinition.html
+++ b/api/symbols/RowColumnDefinition.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Set.html b/api/symbols/Set.html
index cc34200b0..2890dfd58 100644
--- a/api/symbols/Set.html
+++ b/api/symbols/Set.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Shape.html b/api/symbols/Shape.html
index cc08069c9..c3afe400b 100644
--- a/api/symbols/Shape.html
+++ b/api/symbols/Shape.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Size.html b/api/symbols/Size.html
index 47ed38112..d04fb5620 100644
--- a/api/symbols/Size.html
+++ b/api/symbols/Size.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Spot.html b/api/symbols/Spot.html
index d2401becb..d42c186eb 100644
--- a/api/symbols/Spot.html
+++ b/api/symbols/Spot.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TextBlock.html b/api/symbols/TextBlock.html
index 3a2f72e84..2c2b1f5fa 100644
--- a/api/symbols/TextBlock.html
+++ b/api/symbols/TextBlock.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TextEditingTool.html b/api/symbols/TextEditingTool.html
index 0520670f3..539403cfd 100644
--- a/api/symbols/TextEditingTool.html
+++ b/api/symbols/TextEditingTool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Tool.html b/api/symbols/Tool.html
index ce77425d4..718708368 100644
--- a/api/symbols/Tool.html
+++ b/api/symbols/Tool.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/ToolManager.html b/api/symbols/ToolManager.html
index 9e6bbe014..b1b84e091 100644
--- a/api/symbols/ToolManager.html
+++ b/api/symbols/ToolManager.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/Transaction.html b/api/symbols/Transaction.html
index 6d1b458e1..7afc71007 100644
--- a/api/symbols/Transaction.html
+++ b/api/symbols/Transaction.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeEdge.html b/api/symbols/TreeEdge.html
index 3d055ccb3..7d1d85c8b 100644
--- a/api/symbols/TreeEdge.html
+++ b/api/symbols/TreeEdge.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeLayout.html b/api/symbols/TreeLayout.html
index 33ac843ab..94d6bc6b1 100644
--- a/api/symbols/TreeLayout.html
+++ b/api/symbols/TreeLayout.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeModel.html b/api/symbols/TreeModel.html
index 3bfd93ff3..13d41e132 100644
--- a/api/symbols/TreeModel.html
+++ b/api/symbols/TreeModel.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/TreeVertex.html b/api/symbols/TreeVertex.html
index bb15d23a1..c7f6ff9a2 100644
--- a/api/symbols/TreeVertex.html
+++ b/api/symbols/TreeVertex.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/api/symbols/UndoManager.html b/api/symbols/UndoManager.html
index 6087843d6..f78cb460d 100644
--- a/api/symbols/UndoManager.html
+++ b/api/symbols/UndoManager.html
@@ -1111,7 +1111,7 @@
- GoJS® Diagramming Components
version 1.7.11 for JavaScript/HTML
by Northwoods Software®
+ GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
diff --git a/assets/images/screenshots/NonRealtimeDragging.png b/assets/images/screenshots/NonRealtimeDragging.png
new file mode 100644
index 000000000..d8335c9e0
Binary files /dev/null and b/assets/images/screenshots/NonRealtimeDragging.png differ
diff --git a/doc/changelog.html b/doc/changelog.html
index fa15ae789..ba889995b 100644
--- a/doc/changelog.html
+++ b/doc/changelog.html
@@ -68,6 +68,25 @@ GoJS Change Log
}
+ Changes for 1.7.12
+
+
+
Changes for 1.7.11
diff --git a/learn/index.html b/learn/index.html
index 2bbd098ae..b55b42821 100644
--- a/learn/index.html
+++ b/learn/index.html
@@ -281,7 +281,7 @@ Styling Nodes
myDiagram.nodeTemplate =
- $(go.Node, "Vertical" // second argument of a Node/Panel can be a Panel type
+ $(go.Node, "Vertical", // second argument of a Node/Panel can be a Panel type
/* set Node properties here */
{ // the Node.location point will be at the center of each node
locationSpot: go.Spot.Center
diff --git a/package.json b/package.json
index 9897eaafd..a28720daf 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "gojs",
- "version": "1.7.11",
+ "version": "1.7.12",
"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",
@@ -24,9 +24,7 @@
"intro",
"learn",
"projects",
- "release/go.js",
- "release/go-debug.js",
- "release/go.d.ts",
+ "release",
"samples"
],
"main": "release/go.js",
diff --git a/release/go-debug.js b/release/go-debug.js
index 3cc82a36a..f081831f1 100644
--- a/release/go-debug.js
+++ b/release/go-debug.js
@@ -1,235 +1,235 @@
/*
- * GoJS v1.7.11 JavaScript Library for HTML Diagrams
+ * GoJS v1.7.12 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.11/doc/license.html.
+ * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.7.12/doc/license.html.
*/
(function(window) { var f,aa={};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});
(function(){for(var a=0,b=["ms","moz","webkit","o"],c=0;c=d.length)){var e=D.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.Fw&&g.Fw[d])continue}else if(D.Rx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},ux:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==
-typeof b&&"boolean"!==typeof b&&"function"!==typeof b)if(void 0!==D.Gd(b)){if(!v.Sw.contains(b))if(v.Sw.add(b),v.tw.add(v.OE(a,b)),b instanceof K||b instanceof L||b instanceof ma)for(var c=b.j;c.next();)v.ux(a+"["+c.key+"]",c.value);else for(c in b){var d=D.vb(b,c);if(void 0!==d&&null!==d&&D.Ta(d)&&d!==b.Fw){if(b instanceof na){if(d===b.gi)continue}else if(b instanceof x){if("data"===c||d===b.Nd)continue;if("itemArray"===c||d===b.bj)continue;if(b instanceof F&&d===b.Ll)continue}else if(!(b instanceof
-E))if(b instanceof oa){if("archetypeGroupData"===c||d===b.az)continue}else if(b instanceof ra){if("archetypeLinkData"===c||d===b.cz)continue;if("archetypeLabelNodeData"===c||d===b.bz)continue}else if(b instanceof ta){if("archetypeNodeData"===c||d===b.ql)continue}else if(b instanceof M){if("nodeDataArray"===c||d===b.we)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Fc)continue;if(d===b.xg)continue}else if(b instanceof va||b instanceof wa||b instanceof xa)continue;v.ux(a+"."+
-c,d)}}}else if(Array.isArray(b))for(c=0;c=a.length?a.push(c):a.splice(b,0,c):D.k("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Ug:function(a,
-b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):D.k("Cannot remove an object from an HTMLCollection or NodeList at "+b)},Ty:[],O:function(){var a=D.Ty.pop();return void 0===a?new O:a},Fb:function(a,b){var c=D.Ty.pop();if(void 0===c)return new O(a,b);c.x=a;c.y=b;return c},A:function(a){D.Ty.push(a)},lC:[],Cm:function(){var a=D.lC.pop();return void 0===a?new Ca:a},Rk:function(a){D.lC.push(a)},Uy:[],Of:function(){var a=D.Uy.pop();return void 0===a?new B:a},sg:function(a,b,c,d){var e=D.Uy.pop();
-if(void 0===e)return new B(a,b,c,d);e.x=a;e.y=b;e.width=c;e.height=d;return e},Kb:function(a){D.Uy.push(a)},mC:[],Pf:function(){var a=D.mC.pop();return void 0===a?new Da:a},He:function(a){D.mC.push(a)},Vy:null,v:function(){var a=D.Vy;return null!==a?(D.Vy=null,a):new Ea},u:function(a){a.reset();D.Vy=a},kC:[],tb:function(){var a=D.kC.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;D.kC.push(a)},Do:Object.freeze([]),Gm:1,uc:function(a){a.__gohashid=D.Gm++},qq:function(a){var b=a.__gohashid;
-void 0===b&&(b=D.Gm++,a.__gohashid=b);return b},Gd:function(a){return a.__gohashid},ja:function(a,b){b.hz=a;aa[a]=b},Sa:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},Ai:function(a){a.EH=!0},defineProperty:function(a,b,c,d,e){D.h(a,"function","Util.defineProperty:classfunc");D.h(b,"object","Util.defineProperty:propobj");D.h(c,"function","Util.defineProperty:getter");D.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}},GK:!1,w:function(a,b,c,d){D.h(a,"function","Util.defineReadOnlyProperty:classfunc");D.h(b,"object","Util.defineReadOnlyProperty:propobj");D.h(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var g=b[e];b={get:c,set:function(a){D.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}},ke:function(a,b){for(var c in b)b[c]=!0;a.prototype.Fw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?D.rf(a):null===a?"*":""},rf:function(a){if("function"===typeof a){if(a.hz)return a.hz;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,
-c).trim();if(""!==b)return a.hz=b}else if("object"===typeof a&&a.constructor)return D.rf(a.constructor);return typeof a},s:function(a,b,c){D.h(a,"function","Util.defineEnumValue:classfunc");D.h(b,"string","Util.defineEnumValue:name");D.h(c,"number","Util.defineEnumValue:num");c=new za(a,b,c);Object.freeze(c);a[b]=c;var d=a.lv;d instanceof ma||(d=new ma("string",za),a.lv=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){v&&D.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){v&&D.trace("property set error: "+d.toString())}},Zu:function(a,b){D.h(a,"object","Setting properties requires Objects as arguments");D.h(b,"object","Setting properties requires Objects as arguments");var c=a instanceof x,d=a instanceof E,e;for(e in b){""===
-e&&D.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;c=d.length)){var e=D.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.Hw&&g.Hw[d])continue}else if(D.Sx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},wx:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==
+typeof b&&"boolean"!==typeof b&&"function"!==typeof b)if(void 0!==D.Gd(b)){if(!v.Uw.contains(b))if(v.Uw.add(b),v.vw.add(v.OE(a,b)),b instanceof K||b instanceof L||b instanceof ma)for(var c=b.j;c.next();)v.wx(a+"["+c.key+"]",c.value);else for(c in b){var d=D.vb(b,c);if(void 0!==d&&null!==d&&D.Ta(d)&&d!==b.Hw){if(b instanceof na){if(d===b.of)continue}else if(b instanceof x){if("data"===c||d===b.Nd)continue;if("itemArray"===c||d===b.bj)continue;if(b instanceof F&&d===b.Ml)continue}else if(!(b instanceof
+E))if(b instanceof oa){if("archetypeGroupData"===c||d===b.bz)continue}else if(b instanceof ra){if("archetypeLinkData"===c||d===b.dz)continue;if("archetypeLabelNodeData"===c||d===b.cz)continue}else if(b instanceof ta){if("archetypeNodeData"===c||d===b.rl)continue}else if(b instanceof M){if("nodeDataArray"===c||d===b.we)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Fc)continue;if(d===b.yg)continue}else if(b instanceof va||b instanceof wa||b instanceof xa)continue;v.wx(a+"."+
+c,d)}}}else if(Array.isArray(b))for(c=0;c=a.length?a.push(c):a.splice(b,0,c):D.k("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Vg:function(a,
+b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):D.k("Cannot remove an object from an HTMLCollection or NodeList at "+b)},Uy:[],O:function(){var a=D.Uy.pop();return void 0===a?new O:a},Fb:function(a,b){var c=D.Uy.pop();if(void 0===c)return new O(a,b);c.x=a;c.y=b;return c},A:function(a){D.Uy.push(a)},lC:[],Dm:function(){var a=D.lC.pop();return void 0===a?new Ca:a},Sk:function(a){D.lC.push(a)},Vy:[],Pf:function(){var a=D.Vy.pop();return void 0===a?new B:a},tg:function(a,b,c,d){var e=D.Vy.pop();
+if(void 0===e)return new B(a,b,c,d);e.x=a;e.y=b;e.width=c;e.height=d;return e},Kb:function(a){D.Vy.push(a)},mC:[],Qf:function(){var a=D.mC.pop();return void 0===a?new Da:a},He:function(a){D.mC.push(a)},Wy:null,v:function(){var a=D.Wy;return null!==a?(D.Wy=null,a):new Ea},u:function(a){a.reset();D.Wy=a},kC:[],tb:function(){var a=D.kC.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;D.kC.push(a)},Do:Object.freeze([]),Hm:1,uc:function(a){a.__gohashid=D.Hm++},qq:function(a){var b=a.__gohashid;
+void 0===b&&(b=D.Hm++,a.__gohashid=b);return b},Gd:function(a){return a.__gohashid},ka:function(a,b){b.iz=a;aa[a]=b},Sa:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},Ai:function(a){a.FH=!0},defineProperty:function(a,b,c,d,e){D.h(a,"function","Util.defineProperty:classfunc");D.h(b,"object","Util.defineProperty:propobj");D.h(c,"function","Util.defineProperty:getter");D.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}},HK:!1,w:function(a,b,c,d){D.h(a,"function","Util.defineReadOnlyProperty:classfunc");D.h(b,"object","Util.defineReadOnlyProperty:propobj");D.h(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var g=b[e];b={get:c,set:function(a){D.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}},ke:function(a,b){for(var c in b)b[c]=!0;a.prototype.Hw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?D.sf(a):null===a?"*":""},sf:function(a){if("function"===typeof a){if(a.iz)return a.iz;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,
+c).trim();if(""!==b)return a.iz=b}else if("object"===typeof a&&a.constructor)return D.sf(a.constructor);return typeof a},s:function(a,b,c){D.h(a,"function","Util.defineEnumValue:classfunc");D.h(b,"string","Util.defineEnumValue:name");D.h(c,"number","Util.defineEnumValue:num");c=new za(a,b,c);Object.freeze(c);a[b]=c;var d=a.nv;d instanceof ma||(d=new ma("string",za),a.nv=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){v&&D.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){v&&D.trace("property set error: "+d.toString())}},av:function(a,b){D.h(a,"object","Setting properties requires Objects as arguments");D.h(b,"object","Setting properties requires Objects as arguments");var c=a instanceof x,d=a instanceof E,e;for(e in b){""===
+e&&D.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;cd;d++)b[D.Vg("7ca11abfd7330390")](D.Vg(c[d-1]),10,15*d+0);b[D.Vg("7ca11abfd022028846")]=D.Vg("39f046ebb36e4b");for(d=1;5>d;d++)b[D.Vg("7ca11abfd7330390")](D.Vg(c[d-
-1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])D.s=function(a,b){var c=new za(a,b,2);Object.freeze(c);a[b]=c;var d=a.lv;d instanceof ma||(d=new ma("string",za),a.lv=d);d.add(b,c);return c};return a}();function za(a,b,c){D.uc(this);this.vC=a;this.Xb=b;this.IH=c}D.ja("EnumValue",za);za.prototype.toString=function(){return D.rf(this.vC)+"."+this.Xb};D.w(za,{Ne:"classType"},function(){return this.vC});D.w(za,{name:"name"},function(){return this.Xb});D.w(za,{value:"value"},function(){return this.IH});
-var Ha;za.findName=Ha=function(a,b){if(void 0===b||null===b||""===b)return null;D.h(a,"function","findName:classfunc");D.h(b,"string","EnumValue.findName:name");var c=a.lv;return c instanceof ma?c.na(b):null};function ya(){this.uC=[]}ya.prototype.toString=function(){return this.uC.join("")};ya.prototype.add=function(a){""!==a&&this.uC.push(a)};function la(){}
-function Ia(a){void 0===a&&(a=42);this.seed=a;this.Py=48271;this.kv=2147483647;this.jC=this.kv/this.Py;this.qH=this.kv%this.Py;this.pH=1/this.kv;this.random()}Ia.prototype.random=function(){var a=this.seed%this.jC*this.Py-this.seed/this.jC*this.qH;this.seed=0d;d++)b[D.Wg("7ca11abfd7330390")](D.Wg(c[d-1]),10,15*d+0);b[D.Wg("7ca11abfd022028846")]=D.Wg("39f046ebb36e4b");for(d=1;5>d;d++)b[D.Wg("7ca11abfd7330390")](D.Wg(c[d-
+1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])D.s=function(a,b){var c=new za(a,b,2);Object.freeze(c);a[b]=c;var d=a.nv;d instanceof ma||(d=new ma("string",za),a.nv=d);d.add(b,c);return c};return a}();function za(a,b,c){D.uc(this);this.vC=a;this.Yb=b;this.JH=c}D.ka("EnumValue",za);za.prototype.toString=function(){return D.sf(this.vC)+"."+this.Yb};D.w(za,{Ne:"classType"},function(){return this.vC});D.w(za,{name:"name"},function(){return this.Yb});D.w(za,{value:"value"},function(){return this.JH});
+var Ha;za.findName=Ha=function(a,b){if(void 0===b||null===b||""===b)return null;D.h(a,"function","findName:classfunc");D.h(b,"string","EnumValue.findName:name");var c=a.nv;return c instanceof ma?c.na(b):null};function ya(){this.uC=[]}ya.prototype.toString=function(){return this.uC.join("")};ya.prototype.add=function(a){""!==a&&this.uC.push(a)};function la(){}
+function Ia(a){void 0===a&&(a=42);this.seed=a;this.Qy=48271;this.mv=2147483647;this.jC=this.mv/this.Qy;this.rH=this.mv%this.Qy;this.qH=1/this.mv;this.random()}Ia.prototype.random=function(){var a=this.seed%this.jC*this.Qy-this.seed/this.jC*this.rH;this.seed=0this.key)return!1;D.Va(a)}var a=a.o,b=a.length,c=++this.Dc,d=this.mi;if(null!==d)for(;cthis.key)return!1;D.Va(a)}var b=--this.Dc;if(0<=b)return this.key=b,this.value=a.o[b],!0;this.Rf();return!1};Pa.prototype.hasNext=function(){return this.next()};
-Pa.prototype.first=Pa.prototype.first=function(){var a=this.Ec;this.$a=a.G;var b=a.o;this.Dc=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};Pa.prototype.any=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.G!==c&&D.Va(b)}return!1};Pa.prototype.all=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.G!==c&&D.Va(b)}return!0};
-Pa.prototype.each=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--)a(d[e]),b.G!==c&&D.Va(b);return this};Pa.prototype.map=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=[],e=b.o,g=e.length;this.Dc=g;for(g-=1;0<=g;g--)d.push(a(e[g])),b.G!==c&&D.Va(b);a=new K;a.o=d;a.Rc();return a.j};
-Pa.prototype.filter=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=[],e=b.o,g=e.length;this.Dc=g;for(g-=1;0<=g;g--){var h=e[g];a(h)&&d.push(h);b.G!==c&&D.Va(b)}a=new K(b.ca);a.o=d;a.Rc();return a.j};Pa.prototype.concat=function(a){this.Ec.cj=null;return new Ma(this,a.j)};D.w(Pa,{count:"count"},function(){return this.Ec.o.length});Pa.prototype.Rf=function(){this.key=-1;this.value=null;this.$a=-1;this.Ec.cj=this};
+La.prototype.each=function(a){this.key=-1;a(this.value);return this};La.prototype.map=function(a){return new La(a(this.value))};La.prototype.filter=function(a){return a(this.value)?new La(this.value):Ka};La.prototype.concat=function(a){return new Ma(this,a.j)};D.w(La,{count:"count"},function(){return 1});La.prototype.Sf=function(){this.value=null};La.prototype.toString=function(){return"SingletonIterator("+this.value+")"};function Ma(a,b){this.El=a;this.Fl=b;this.ov=!1}D.ke(Ma,{key:!0,value:!0});
+D.w(Ma,{j:"iterator"},function(){return this});Ma.prototype.reset=Ma.prototype.reset=function(){this.El.reset();this.Fl.reset();this.ov=!1};Ma.prototype.next=Ma.prototype.next=function(){if(!this.ov){var a=this.El;if(a.next())return this.key=a.key,this.value=a.value,!0;this.ov=!0}return this.ov&&(a=this.Fl,a.next())?(this.key=a.key,this.value=a.value,!0):!1};Ma.prototype.hasNext=function(){return this.next()};
+Ma.prototype.first=Ma.prototype.first=function(){this.reset();return this.next()?this.value:null};Ma.prototype.any=function(a){return this.El.any(a)||this.Fl.any(a)?!0:!1};Ma.prototype.all=function(a){return this.El.all(a)&&this.Fl.all(a)?!0:!1};Ma.prototype.each=function(a){this.El.each(a);this.Fl.each(a);return this};Ma.prototype.map=function(a){return new Ma(this.El.map(a),this.Fl.map(a))};Ma.prototype.filter=function(a){return new Ma(this.El.filter(a),this.Fl.filter(a))};
+Ma.prototype.concat=function(a){return new Ma(this,a.j)};D.w(Ma,{count:"count"},function(){return this.El.count+this.Fl.count});Ma.prototype.Sf=function(){this.value=this.key=null};Ma.prototype.toString=function(){return"ConcatIterator()"};function Na(a){this.Ec=a;this.mi=null;a.Xb=null;this.$a=a.I;this.Dc=-1}D.ke(Na,{key:!0,value:!0});D.w(Na,{j:"iterator"},function(){return this});D.defineProperty(Na,{Eq:"predicate"},function(){return this.mi},function(a){this.mi=a});
+Na.prototype.reset=Na.prototype.reset=function(){var a=this.Ec;a.Xb=null;this.$a=a.I;this.Dc=-1};Na.prototype.next=Na.prototype.next=function(){var a=this.Ec;if(a.I!==this.$a){if(0>this.key)return!1;D.Va(a)}var a=a.o,b=a.length,c=++this.Dc,d=this.mi;if(null!==d)for(;cthis.key)return!1;D.Va(a)}var b=--this.Dc;if(0<=b)return this.key=b,this.value=a.o[b],!0;this.Sf();return!1};Pa.prototype.hasNext=function(){return this.next()};
+Pa.prototype.first=Pa.prototype.first=function(){var a=this.Ec;this.$a=a.I;var b=a.o;this.Dc=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};Pa.prototype.any=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.I!==c&&D.Va(b)}return!1};Pa.prototype.all=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.I!==c&&D.Va(b)}return!0};
+Pa.prototype.each=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--)a(d[e]),b.I!==c&&D.Va(b);return this};Pa.prototype.map=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=[],e=b.o,g=e.length;this.Dc=g;for(g-=1;0<=g;g--)d.push(a(e[g])),b.I!==c&&D.Va(b);a=new K;a.o=d;a.Rc();return a.j};
+Pa.prototype.filter=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=[],e=b.o,g=e.length;this.Dc=g;for(g-=1;0<=g;g--){var h=e[g];a(h)&&d.push(h);b.I!==c&&D.Va(b)}a=new K(b.ca);a.o=d;a.Rc();return a.j};Pa.prototype.concat=function(a){this.Ec.cj=null;return new Ma(this,a.j)};D.w(Pa,{count:"count"},function(){return this.Ec.o.length});Pa.prototype.Sf=function(){this.key=-1;this.value=null;this.$a=-1;this.Ec.cj=this};
Pa.prototype.toString=function(){return"ListIteratorBackwards("+this.Dc+"/"+this.Ec.count+")"};
-function K(a){D.uc(this);this.J=!1;this.o=[];this.G=0;this.cj=this.Wb=null;void 0===a||null===a?this.ca=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.ca=a:D.ua(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.ca=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:D.ua(a,"null, a primitive type name, or a class type",
-"List constructor: type")}D.ja("List",K);K.prototype.oh=function(a){null!==this.ca&&("string"===typeof this.ca?typeof a===this.ca&&null!==a||D.hc(a,this.ca):a instanceof this.ca||D.hc(a,this.ca))};K.prototype.Rc=function(){var a=this.G;a++;999999999a||a>=b.length)&&D.ua(a,"0 <= i < length",K,"elt:i");return b[a]};K.prototype.get=K.prototype.get=function(a){return this.ea(a)};K.prototype.setElt=K.prototype.rg=function(a,b){v&&(this.oh(b),D.p(a,K,"setElt:i"));var c=this.o;(0>a||a>=c.length)&&D.ua(a,"0 <= i < length",K,"setElt:i");this.J&&D.pa(this,a);c[a]=b};K.prototype.set=K.prototype.set=function(a,b){this.rg(a,b)};
-K.prototype.first=K.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};K.prototype.last=K.prototype.pe=function(){var a=this.o,b=a.length;return 0a&&D.ua(a,">= 0",K,"insertAt:i");this.J&&D.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Rc();return!0};
-K.prototype.remove=K.prototype["delete"]=K.prototype.remove=function(a){if(null===a)return!1;v&&this.oh(a);this.J&&D.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.Rc();return!0};K.prototype.removeAt=K.prototype.jd=function(a){v&&D.p(a,K,"removeAt:i");var b=this.o;(0>a||a>=b.length)&&D.ua(a,"0 <= i < length",K,"removeAt:i");this.J&&D.pa(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Rc()};
+function K(a){D.uc(this);this.J=!1;this.o=[];this.I=0;this.cj=this.Xb=null;void 0===a||null===a?this.ca=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.ca=a:D.ua(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.ca=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:D.ua(a,"null, a primitive type name, or a class type",
+"List constructor: type")}D.ka("List",K);K.prototype.ph=function(a){null!==this.ca&&("string"===typeof this.ca?typeof a===this.ca&&null!==a||D.ic(a,this.ca):a instanceof this.ca||D.ic(a,this.ca))};K.prototype.Rc=function(){var a=this.I;a++;999999999a||a>=b.length)&&D.ua(a,"0 <= i < length",K,"elt:i");return b[a]};K.prototype.get=K.prototype.get=function(a){return this.ea(a)};K.prototype.setElt=K.prototype.sg=function(a,b){v&&(this.ph(b),D.p(a,K,"setElt:i"));var c=this.o;(0>a||a>=c.length)&&D.ua(a,"0 <= i < length",K,"setElt:i");this.J&&D.pa(this,a);c[a]=b};K.prototype.set=K.prototype.set=function(a,b){this.sg(a,b)};
+K.prototype.first=K.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};K.prototype.last=K.prototype.pe=function(){var a=this.o,b=a.length;return 0a&&D.ua(a,">= 0",K,"insertAt:i");this.J&&D.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Rc();return!0};
+K.prototype.remove=K.prototype["delete"]=K.prototype.remove=function(a){if(null===a)return!1;v&&this.ph(a);this.J&&D.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.Rc();return!0};K.prototype.removeAt=K.prototype.jd=function(a){v&&D.p(a,K,"removeAt:i");var b=this.o;(0>a||a>=b.length)&&D.ua(a,"0 <= i < length",K,"removeAt:i");this.J&&D.pa(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Rc()};
K.prototype.removeRange=K.prototype.removeRange=function(a,b){v&&(D.p(a,K,"removeRange:from"),D.p(b,K,"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.J&&D.pa(this);for(var e=a,g=b+1;g=g)return this;(0>b||b>=e-1)&&D.ua(b,"0 <= from < length",K,"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 Ka;var a=this.Wb;return null!==a?(a.reset(),a):new Na(this)});
-D.w(K,{ao:"iteratorBackwards"},function(){if(0>=this.o.length)return Ka;var a=this.cj;return null!==a?(a.reset(),a):new Pa(this)});function Qa(a){this.oi=a;a.Wb=null;this.$a=a.G;this.bb=null}D.ke(Qa,{key:!0,value:!0});D.w(Qa,{j:"iterator"},function(){return this});Qa.prototype.reset=Qa.prototype.reset=function(){var a=this.oi;a.Wb=null;this.$a=a.G;this.bb=null};
-Qa.prototype.next=Qa.prototype.next=function(){var a=this.oi;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};Qa.prototype.hasNext=function(){return this.next()};Qa.prototype.first=Qa.prototype.first=function(){var a=this.oi;this.$a=a.G;a=a.Ka;if(null!==a){this.bb=a;var b=a.value;this.key=a.key;return this.value=b}return null};
-Qa.prototype.any=function(a){var b=this.oi;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d.value))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};Qa.prototype.all=function(a){var b=this.oi;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d.value))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};Qa.prototype.each=function(a){var b=this.oi;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d.value),b.G!==c&&D.Va(b),d=d.fb;return this};
-Qa.prototype.map=function(a){var b=this.oi;b.Wb=null;for(var c=new K,d=b.G,e=b.Ka;null!==e;)c.add(a(e.value)),b.G!==d&&D.Va(b),e=e.fb;return c.j};Qa.prototype.filter=function(a){var b=this.oi;b.Wb=null;for(var c=new K(b.ca),d=b.G,e=b.Ka;null!==e;){var g=e.value;a(g)&&c.add(g);b.G!==d&&D.Va(b);e=e.fb}return c.j};Qa.prototype.concat=function(a){this.oi.Wb=null;return new Ma(this,a.j)};D.w(Qa,{count:"count"},function(){return this.oi.yd});
-Qa.prototype.Rf=function(){this.value=this.key=null;this.$a=-1;this.oi.Wb=this};Qa.prototype.toString=function(){return null!==this.bb?"SetIterator@"+this.bb.value:"SetIterator"};
-function L(a){D.uc(this);this.J=!1;void 0===a||null===a?this.ca=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.ca=a:D.ua(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.ca=a===Object?"object":a===String?"string":a===Number?"number":a:D.ua(a,"null, a primitive type name, or a class type","Set constructor: type");this.zd={};this.yd=0;this.Wb=null;this.G=0;this.fi=this.Ka=null}D.ja("Set",L);
-L.prototype.oh=function(a){null!==this.ca&&("string"===typeof this.ca?typeof a===this.ca&&null!==a||D.hc(a,this.ca):a instanceof this.ca||D.hc(a,this.ca))};L.prototype.Rc=function(){var a=this.G;a++;999999999=this.yd)return Ka;var a=this.Wb;return null!==a?(a.reset(),a):new Qa(this)});function Sa(a){this.Ma=a;this.$a=a.G;this.bb=null}D.ke(Sa,{key:!0,value:!0});D.w(Sa,{j:"iterator"},function(){return this});Sa.prototype.reset=Sa.prototype.reset=function(){this.$a=this.Ma.G;this.bb=null};
-Sa.prototype.next=Sa.prototype.next=function(){var a=this.Ma;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.value=this.key=a=b.key,!0;this.Rf();return!1};Sa.prototype.hasNext=function(){return this.next()};Sa.prototype.first=Sa.prototype.first=function(){var a=this.Ma;this.$a=a.G;a=a.Ka;return null!==a?(this.bb=a,this.value=this.key=a=a.key):null};
-Sa.prototype.any=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d.key))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};Sa.prototype.all=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d.key))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};Sa.prototype.each=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d.key),b.G!==c&&D.Va(b),d=d.fb;return this};
-Sa.prototype.map=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e.key)),b.G!==c&&D.Va(b),e=e.fb;return d.j};Sa.prototype.filter=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=new K(b.af),e=b.Ka;null!==e;){var g=e.key;a(g)&&d.add(g);b.G!==c&&D.Va(b);e=e.fb}return d.j};Sa.prototype.concat=function(a){return new Ma(this,a.j)};D.w(Sa,{count:"count"},function(){return this.Ma.yd});Sa.prototype.Rf=function(){this.value=this.key=null;this.$a=-1};
-Sa.prototype.toString=function(){return null!==this.bb?"MapKeySetIterator@"+this.bb.value:"MapKeySetIterator"};function Ta(a){D.uc(this);this.J=!0;this.Ma=a}D.Sa(Ta,L);Ta.prototype.freeze=function(){return this};Ta.prototype.Ya=function(){return this};Ta.prototype.toString=function(){return"MapKeySet("+this.Ma.toString()+")"};Ta.prototype.add=Ta.prototype.add=function(){D.k("This Set is read-only: "+this.toString());return!1};
+g.sort(a),a=b;a=this.o.length)return Ka;var a=this.Xb;return null!==a?(a.reset(),a):new Na(this)});
+D.w(K,{ao:"iteratorBackwards"},function(){if(0>=this.o.length)return Ka;var a=this.cj;return null!==a?(a.reset(),a):new Pa(this)});function Qa(a){this.oi=a;a.Xb=null;this.$a=a.I;this.cb=null}D.ke(Qa,{key:!0,value:!0});D.w(Qa,{j:"iterator"},function(){return this});Qa.prototype.reset=Qa.prototype.reset=function(){var a=this.oi;a.Xb=null;this.$a=a.I;this.cb=null};
+Qa.prototype.next=Qa.prototype.next=function(){var a=this.oi;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.cb,b=null===b?a.Ka:b.gb;if(null!==b)return this.cb=b,this.value=b.value,this.key=b.key,!0;this.Sf();return!1};Qa.prototype.hasNext=function(){return this.next()};Qa.prototype.first=Qa.prototype.first=function(){var a=this.oi;this.$a=a.I;a=a.Ka;if(null!==a){this.cb=a;var b=a.value;this.key=a.key;return this.value=b}return null};
+Qa.prototype.any=function(a){var b=this.oi;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(a(d.value))return!0;b.I!==c&&D.Va(b);d=d.gb}return!1};Qa.prototype.all=function(a){var b=this.oi;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(!a(d.value))return!1;b.I!==c&&D.Va(b);d=d.gb}return!0};Qa.prototype.each=function(a){var b=this.oi;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;)a(d.value),b.I!==c&&D.Va(b),d=d.gb;return this};
+Qa.prototype.map=function(a){var b=this.oi;b.Xb=null;for(var c=new K,d=b.I,e=b.Ka;null!==e;)c.add(a(e.value)),b.I!==d&&D.Va(b),e=e.gb;return c.j};Qa.prototype.filter=function(a){var b=this.oi;b.Xb=null;for(var c=new K(b.ca),d=b.I,e=b.Ka;null!==e;){var g=e.value;a(g)&&c.add(g);b.I!==d&&D.Va(b);e=e.gb}return c.j};Qa.prototype.concat=function(a){this.oi.Xb=null;return new Ma(this,a.j)};D.w(Qa,{count:"count"},function(){return this.oi.yd});
+Qa.prototype.Sf=function(){this.value=this.key=null;this.$a=-1;this.oi.Xb=this};Qa.prototype.toString=function(){return null!==this.cb?"SetIterator@"+this.cb.value:"SetIterator"};
+function L(a){D.uc(this);this.J=!1;void 0===a||null===a?this.ca=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.ca=a:D.ua(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.ca=a===Object?"object":a===String?"string":a===Number?"number":a:D.ua(a,"null, a primitive type name, or a class type","Set constructor: type");this.zd={};this.yd=0;this.Xb=null;this.I=0;this.gi=this.Ka=null}D.ka("Set",L);
+L.prototype.ph=function(a){null!==this.ca&&("string"===typeof this.ca?typeof a===this.ca&&null!==a||D.ic(a,this.ca):a instanceof this.ca||D.ic(a,this.ca))};L.prototype.Rc=function(){var a=this.I;a++;999999999=this.yd)return Ka;var a=this.Xb;return null!==a?(a.reset(),a):new Qa(this)});function Sa(a){this.Ma=a;this.$a=a.I;this.cb=null}D.ke(Sa,{key:!0,value:!0});D.w(Sa,{j:"iterator"},function(){return this});Sa.prototype.reset=Sa.prototype.reset=function(){this.$a=this.Ma.I;this.cb=null};
+Sa.prototype.next=Sa.prototype.next=function(){var a=this.Ma;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.cb,b=null===b?a.Ka:b.gb;if(null!==b)return this.cb=b,this.value=this.key=a=b.key,!0;this.Sf();return!1};Sa.prototype.hasNext=function(){return this.next()};Sa.prototype.first=Sa.prototype.first=function(){var a=this.Ma;this.$a=a.I;a=a.Ka;return null!==a?(this.cb=a,this.value=this.key=a=a.key):null};
+Sa.prototype.any=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(a(d.key))return!0;b.I!==c&&D.Va(b);d=d.gb}return!1};Sa.prototype.all=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(!a(d.key))return!1;b.I!==c&&D.Va(b);d=d.gb}return!0};Sa.prototype.each=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=b.Ka;null!==d;)a(d.key),b.I!==c&&D.Va(b),d=d.gb;return this};
+Sa.prototype.map=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e.key)),b.I!==c&&D.Va(b),e=e.gb;return d.j};Sa.prototype.filter=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=new K(b.af),e=b.Ka;null!==e;){var g=e.key;a(g)&&d.add(g);b.I!==c&&D.Va(b);e=e.gb}return d.j};Sa.prototype.concat=function(a){return new Ma(this,a.j)};D.w(Sa,{count:"count"},function(){return this.Ma.yd});Sa.prototype.Sf=function(){this.value=this.key=null;this.$a=-1};
+Sa.prototype.toString=function(){return null!==this.cb?"MapKeySetIterator@"+this.cb.value:"MapKeySetIterator"};function Ta(a){D.uc(this);this.J=!0;this.Ma=a}D.Sa(Ta,L);Ta.prototype.freeze=function(){return this};Ta.prototype.Ya=function(){return this};Ta.prototype.toString=function(){return"MapKeySet("+this.Ma.toString()+")"};Ta.prototype.add=Ta.prototype.add=function(){D.k("This Set is read-only: "+this.toString());return!1};
Ta.prototype.set=Ta.prototype.set=function(){D.k("This Set is read-only: "+this.toString());return!1};Ta.prototype.contains=Ta.prototype.contains=function(a){return this.Ma.contains(a)};Ta.prototype.has=Ta.prototype.has=function(a){return this.contains(a)};Ta.prototype.remove=Ta.prototype["delete"]=Ta.prototype.remove=function(){D.k("This Set is read-only: "+this.toString());return!1};Ta.prototype.clear=Ta.prototype.clear=function(){D.k("This Set is read-only: "+this.toString())};
-Ta.prototype.first=Ta.prototype.first=function(){var a=this.Ma.Ka;return null!==a?a.key:null};Ta.prototype.any=function(a){for(var b=this.Ma.Ka;null!==b;){if(a(b.key))return!0;b=b.fb}return!1};Ta.prototype.all=function(a){for(var b=this.Ma.Ka;null!==b;){if(!a(b.key))return!1;b=b.fb}return!0};Ta.prototype.each=function(a){for(var b=this.Ma.Ka;null!==b;)a(b.key),b=b.fb;return this};Ta.prototype.map=function(a){for(var b=new L,c=this.Ma.Ka;null!==c;)b.add(a(c.key)),c=c.fb;return b};
-Ta.prototype.filter=function(a){for(var b=new L(this.Ma.af),c=this.Ma.Ka;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.fb}return b};Ta.prototype.concat=function(a){return this.eH().Sc(a)};Ta.prototype.copy=function(){return new Ta(this.Ma)};Ta.prototype.toSet=Ta.prototype.eH=function(){var a=new L(this.Ma.af),b=this.Ma.zd,c;for(c in b)a.add(b[c].key);return a};Ta.prototype.toArray=Ta.prototype.mc=function(){var a=this.Ma.zd,b=Array(this.Ma.yd),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};
-Ta.prototype.toList=function(){var a=new K(this.Ma.af),b=this.Ma.zd,c;for(c in b)a.add(b[c].key);return a};D.w(Ta,{count:"count"},function(){return this.Ma.yd});D.w(Ta,{size:"size"},function(){return this.Ma.yd});D.w(Ta,{j:"iterator"},function(){return 0>=this.Ma.yd?Ka:new Sa(this.Ma)});function Ya(a){this.Ma=a;a.dj=null;this.$a=a.G;this.bb=null}D.ke(Ya,{key:!0,value:!0});D.w(Ya,{j:"iterator"},function(){return this});
-Ya.prototype.reset=Ya.prototype.reset=function(){var a=this.Ma;a.dj=null;this.$a=a.G;this.bb=null};Ya.prototype.next=Ya.prototype.next=function(){var a=this.Ma;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};Ya.prototype.hasNext=function(){return this.next()};
-Ya.prototype.first=Ya.prototype.first=function(){var a=this.Ma;this.$a=a.G;a=a.Ka;if(null!==a){this.bb=a;var b=a.value;this.key=a.key;return this.value=b}return null};Ya.prototype.any=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d.value))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};Ya.prototype.all=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d.value))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};
-Ya.prototype.each=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d.value),b.G!==c&&D.Va(b),d=d.fb;return this};Ya.prototype.map=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e.value)),b.G!==c&&D.Va(b),e=e.fb;return d.j};Ya.prototype.filter=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=new K(b.af),e=b.Ka;null!==e;){var g=e.value;a(g)&&d.add(g);b.G!==c&&D.Va(b);e=e.fb}return d.j};
-Ya.prototype.concat=function(a){this.Ma.dj=null;return new Ma(this,a.j)};D.w(Ya,{count:"count"},function(){return this.Ma.yd});Ya.prototype.Rf=function(){this.value=this.key=null;this.$a=-1;this.Ma.dj=this};Ya.prototype.toString=function(){return null!==this.bb?"MapValueSetIterator@"+this.bb.value:"MapValueSetIterator"};function Ra(a,b){this.key=a;this.value=b;this.Gp=this.fb=null}D.ke(Ra,{key:!0,value:!0});Ra.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};
-function $a(a){this.Ma=a;a.Wb=null;this.$a=a.G;this.bb=null}D.ke($a,{key:!0,value:!0});D.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){var a=this.Ma;a.Wb=null;this.$a=a.G;this.bb=null};$a.prototype.next=$a.prototype.next=function(){var a=this.Ma;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.key=b.key,this.value=b.value,!0;this.Rf();return!1};$a.prototype.hasNext=function(){return this.next()};
-$a.prototype.first=$a.prototype.first=function(){var a=this.Ma;this.$a=a.G;a=a.Ka;return null!==a?(this.bb=a,this.key=a.key,this.value=a.value,a):null};$a.prototype.any=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};$a.prototype.all=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};
-$a.prototype.each=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d),b.G!==c&&D.Va(b),d=d.fb;return this};$a.prototype.map=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e)),b.G!==c&&D.Va(b),e=e.fb;return d.j};$a.prototype.filter=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)a(e)&&d.add(e),b.G!==c&&D.Va(b),e=e.fb;return d.j};
-$a.prototype.concat=function(a){this.Ma.Wb=null;return new Ma(this,a.j)};D.w($a,{count:"count"},function(){return this.Ma.yd});$a.prototype.Rf=function(){this.value=this.key=null;this.$a=-1;this.Ma.Wb=this};$a.prototype.toString=function(){return null!==this.bb?"MapIterator@"+this.bb:"MapIterator"};
+Ta.prototype.first=Ta.prototype.first=function(){var a=this.Ma.Ka;return null!==a?a.key:null};Ta.prototype.any=function(a){for(var b=this.Ma.Ka;null!==b;){if(a(b.key))return!0;b=b.gb}return!1};Ta.prototype.all=function(a){for(var b=this.Ma.Ka;null!==b;){if(!a(b.key))return!1;b=b.gb}return!0};Ta.prototype.each=function(a){for(var b=this.Ma.Ka;null!==b;)a(b.key),b=b.gb;return this};Ta.prototype.map=function(a){for(var b=new L,c=this.Ma.Ka;null!==c;)b.add(a(c.key)),c=c.gb;return b};
+Ta.prototype.filter=function(a){for(var b=new L(this.Ma.af),c=this.Ma.Ka;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.gb}return b};Ta.prototype.concat=function(a){return this.fH().Sc(a)};Ta.prototype.copy=function(){return new Ta(this.Ma)};Ta.prototype.toSet=Ta.prototype.fH=function(){var a=new L(this.Ma.af),b=this.Ma.zd,c;for(c in b)a.add(b[c].key);return a};Ta.prototype.toArray=Ta.prototype.nc=function(){var a=this.Ma.zd,b=Array(this.Ma.yd),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};
+Ta.prototype.toList=function(){var a=new K(this.Ma.af),b=this.Ma.zd,c;for(c in b)a.add(b[c].key);return a};D.w(Ta,{count:"count"},function(){return this.Ma.yd});D.w(Ta,{size:"size"},function(){return this.Ma.yd});D.w(Ta,{j:"iterator"},function(){return 0>=this.Ma.yd?Ka:new Sa(this.Ma)});function Ya(a){this.Ma=a;a.dj=null;this.$a=a.I;this.cb=null}D.ke(Ya,{key:!0,value:!0});D.w(Ya,{j:"iterator"},function(){return this});
+Ya.prototype.reset=Ya.prototype.reset=function(){var a=this.Ma;a.dj=null;this.$a=a.I;this.cb=null};Ya.prototype.next=Ya.prototype.next=function(){var a=this.Ma;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.cb,b=null===b?a.Ka:b.gb;if(null!==b)return this.cb=b,this.value=b.value,this.key=b.key,!0;this.Sf();return!1};Ya.prototype.hasNext=function(){return this.next()};
+Ya.prototype.first=Ya.prototype.first=function(){var a=this.Ma;this.$a=a.I;a=a.Ka;if(null!==a){this.cb=a;var b=a.value;this.key=a.key;return this.value=b}return null};Ya.prototype.any=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(a(d.value))return!0;b.I!==c&&D.Va(b);d=d.gb}return!1};Ya.prototype.all=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(!a(d.value))return!1;b.I!==c&&D.Va(b);d=d.gb}return!0};
+Ya.prototype.each=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;)a(d.value),b.I!==c&&D.Va(b),d=d.gb;return this};Ya.prototype.map=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e.value)),b.I!==c&&D.Va(b),e=e.gb;return d.j};Ya.prototype.filter=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=new K(b.af),e=b.Ka;null!==e;){var g=e.value;a(g)&&d.add(g);b.I!==c&&D.Va(b);e=e.gb}return d.j};
+Ya.prototype.concat=function(a){this.Ma.dj=null;return new Ma(this,a.j)};D.w(Ya,{count:"count"},function(){return this.Ma.yd});Ya.prototype.Sf=function(){this.value=this.key=null;this.$a=-1;this.Ma.dj=this};Ya.prototype.toString=function(){return null!==this.cb?"MapValueSetIterator@"+this.cb.value:"MapValueSetIterator"};function Ra(a,b){this.key=a;this.value=b;this.Gp=this.gb=null}D.ke(Ra,{key:!0,value:!0});Ra.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};
+function $a(a){this.Ma=a;a.Xb=null;this.$a=a.I;this.cb=null}D.ke($a,{key:!0,value:!0});D.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){var a=this.Ma;a.Xb=null;this.$a=a.I;this.cb=null};$a.prototype.next=$a.prototype.next=function(){var a=this.Ma;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.cb,b=null===b?a.Ka:b.gb;if(null!==b)return this.cb=b,this.key=b.key,this.value=b.value,!0;this.Sf();return!1};$a.prototype.hasNext=function(){return this.next()};
+$a.prototype.first=$a.prototype.first=function(){var a=this.Ma;this.$a=a.I;a=a.Ka;return null!==a?(this.cb=a,this.key=a.key,this.value=a.value,a):null};$a.prototype.any=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(a(d))return!0;b.I!==c&&D.Va(b);d=d.gb}return!1};$a.prototype.all=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(!a(d))return!1;b.I!==c&&D.Va(b);d=d.gb}return!0};
+$a.prototype.each=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;)a(d),b.I!==c&&D.Va(b),d=d.gb;return this};$a.prototype.map=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e)),b.I!==c&&D.Va(b),e=e.gb;return d.j};$a.prototype.filter=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=new K,e=b.Ka;null!==e;)a(e)&&d.add(e),b.I!==c&&D.Va(b),e=e.gb;return d.j};
+$a.prototype.concat=function(a){this.Ma.Xb=null;return new Ma(this,a.j)};D.w($a,{count:"count"},function(){return this.Ma.yd});$a.prototype.Sf=function(){this.value=this.key=null;this.$a=-1;this.Ma.Xb=this};$a.prototype.toString=function(){return null!==this.cb?"MapIterator@"+this.cb:"MapIterator"};
function ma(a,b){D.uc(this);this.J=!1;void 0===a||null===a?this.af=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.af=a:D.ua(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.af=a===Object?"object":a===String?"string":a===Number?"number":a:D.ua(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:D.ua(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:D.ua(b,"null, a primitive type name, or a class type","Map constructor: valtype");this.zd={};this.yd=0;this.dj=this.Wb=null;this.G=0;this.fi=this.Ka=null}D.ja("Map",ma);
-function bb(a,b){null!==a.af&&("string"===typeof a.af?typeof b===a.af&&null!==b||D.hc(b,a.af):b instanceof a.af||D.hc(b,a.af))}ma.prototype.Rc=function(){var a=this.G;a++;999999999=this.count)return Ka;var a=this.Wb;return null!==a?(a.reset(),a):new $a(this)});D.w(ma,{$F:"iteratorKeys"},function(){return 0>=this.count?Ka:new Sa(this)});D.w(ma,{aG:"iteratorValues"},function(){if(0>=this.count)return Ka;var a=this.dj;return null!==a?(a.reset(),a):new Ya(this)});function O(a,b){void 0===a?this.M=this.L=0:"number"===typeof a&&"number"===typeof b?(this.L=a,this.M=b):D.k("Invalid arguments to Point constructor: "+a+", "+b);this.J=!1}
-D.ja("Point",O);D.Ai(O);D.ke(O,{x:!0,y:!0});O.prototype.assign=function(a){this.L=a.L;this.M=a.M};O.prototype.setTo=O.prototype.n=function(a,b){v&&(D.h(a,"number",O,"setTo:x"),D.h(b,"number",O,"setTo:y"));this.L=a;this.M=b;return this};O.prototype.set=O.prototype.set=function(a){v&&D.l(a,O,O,"set:p");this.Qa();this.L=a.L;this.M=a.M;return this};O.prototype.copy=function(){var a=new O;a.L=this.L;a.M=this.M;return a};f=O.prototype;f.Na=function(){this.J=!0;Object.freeze(this);return this};
+ma.prototype.remove=ma.prototype["delete"]=ma.prototype.remove=function(a){if(null===a)return!1;v&&bb(this,a);this.J&&D.pa(this,a);var b=a;if(D.Ta(a)&&(b=D.Gd(a),void 0===b))return!1;a=this.zd[b];if(void 0===a)return!1;var c=a.gb,d=a.Gp;null!==c&&(c.Gp=d);null!==d&&(d.gb=c);this.Ka===a&&(this.Ka=c);this.gi===a&&(this.gi=d);delete this.zd[b];this.yd--;this.Rc();return!0};ma.prototype.clear=ma.prototype.clear=function(){this.J&&D.pa(this);this.zd={};this.yd=0;this.gi=this.Ka=null;this.Rc()};
+ma.prototype.copy=function(){var a=new ma(this.af,this.yi),b=this.zd,c;for(c in b){var d=b[c];a.add(d.key,d.value)}return a};ma.prototype.toArray=ma.prototype.nc=function(){var a=this.zd,b=Array(this.yd),c=0,d;for(d in a){var e=a[d];b[c]=new Ra(e.key,e.value);c++}return b};ma.prototype.toKeySet=ma.prototype.Yj=function(){return new Ta(this)};D.w(ma,{count:"count"},function(){return this.yd});D.w(ma,{size:"size"},function(){return this.yd});
+D.w(ma,{j:"iterator"},function(){if(0>=this.count)return Ka;var a=this.Xb;return null!==a?(a.reset(),a):new $a(this)});D.w(ma,{aG:"iteratorKeys"},function(){return 0>=this.count?Ka:new Sa(this)});D.w(ma,{bG:"iteratorValues"},function(){if(0>=this.count)return Ka;var a=this.dj;return null!==a?(a.reset(),a):new Ya(this)});function O(a,b){void 0===a?this.M=this.L=0:"number"===typeof a&&"number"===typeof b?(this.L=a,this.M=b):D.k("Invalid arguments to Point constructor: "+a+", "+b);this.J=!1}
+D.ka("Point",O);D.Ai(O);D.ke(O,{x:!0,y:!0});O.prototype.assign=function(a){this.L=a.L;this.M=a.M};O.prototype.setTo=O.prototype.n=function(a,b){v&&(D.h(a,"number",O,"setTo:x"),D.h(b,"number",O,"setTo:y"));this.L=a;this.M=b;return this};O.prototype.set=O.prototype.set=function(a){v&&D.l(a,O,O,"set:p");this.Qa();this.L=a.L;this.M=a.M;return this};O.prototype.copy=function(){var a=new O;a.L=this.L;a.M=this.M;return a};f=O.prototype;f.Na=function(){this.J=!0;Object.freeze(this);return this};
f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Point is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};
O.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 O(c,e)}return new O};O.stringify=function(a){v&&D.l(a,O);return a.x.toString()+" "+a.y.toString()};O.prototype.toString=function(){return"Point("+this.x+","+this.y+")"};O.prototype.equals=O.prototype.P=function(a){return a instanceof O?this.L===a.x&&this.M===a.y:!1};
-O.prototype.equalTo=O.prototype.Gx=function(a,b){return this.L===a&&this.M===b};O.prototype.equalsApprox=O.prototype.Tc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)};O.prototype.add=O.prototype.add=function(a){v&&D.l(a,O,O,"add:p");this.Qa();this.L+=a.x;this.M+=a.y;return this};O.prototype.subtract=O.prototype.wo=function(a){v&&D.l(a,O,O,"subtract:p");this.Qa();this.L-=a.x;this.M-=a.y;return this};
+O.prototype.equalTo=O.prototype.Ix=function(a,b){return this.L===a&&this.M===b};O.prototype.equalsApprox=O.prototype.Tc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)};O.prototype.add=O.prototype.add=function(a){v&&D.l(a,O,O,"add:p");this.Qa();this.L+=a.x;this.M+=a.y;return this};O.prototype.subtract=O.prototype.wo=function(a){v&&D.l(a,O,O,"subtract:p");this.Qa();this.L-=a.x;this.M-=a.y;return this};
O.prototype.offset=O.prototype.offset=function(a,b){v&&(D.p(a,O,"offset:dx"),D.p(b,O,"offset:dy"));this.Qa();this.L+=a;this.M+=b;return this};O.prototype.rotate=O.prototype.rotate=function(a){v&&D.p(a,O,"rotate:angle");this.Qa();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};
-O.prototype.scale=O.prototype.scale=function(a,b){v&&(D.p(a,O,"scale:sx"),D.p(b,O,"scale:sy"));this.L*=a;this.M*=b;return this};O.prototype.distanceSquaredPoint=O.prototype.Df=function(a){v&&D.l(a,O,O,"distanceSquaredPoint:p");var b=a.x-this.L;a=a.y-this.M;return b*b+a*a};O.prototype.distanceSquared=O.prototype.kq=function(a,b){v&&(D.p(a,O,"distanceSquared:px"),D.p(b,O,"distanceSquared:py"));var c=a-this.L,d=b-this.M;return c*c+d*d};
-O.prototype.normalize=O.prototype.normalize=function(){this.Qa();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}O.prototype.projectOntoLineSegment=function(a,b,c,d){v&&(D.p(a,O,"projectOntoLineSegment:px"),D.p(b,O,"projectOntoLineSegment:py"),D.p(c,O,"projectOntoLineSegment:qx"),D.p(d,O,"projectOntoLineSegment:qy"));eb(a,b,c,d,this.L,this.M,this);return this};
O.prototype.projectOntoLineSegmentPoint=function(a,b){v&&(D.l(a,O,O,"projectOntoLineSegmentPoint:p"),D.l(b,O,O,"projectOntoLineSegmentPoint:q"));eb(a.x,a.y,b.x,b.y,this.L,this.M,this);return this};O.prototype.snapToGrid=function(a,b,c,d){v&&(D.p(a,O,"snapToGrid:originx"),D.p(b,O,"snapToGrid:originy"),D.p(c,O,"snapToGrid:cellwidth"),D.p(d,O,"snapToGrid:cellheight"));fb(this.L,this.M,a,b,c,d,this);return this};
O.prototype.snapToGridPoint=function(a,b){v&&(D.l(a,O,O,"snapToGridPoint:p"),D.l(b,Ca,O,"snapToGridPoint:q"));fb(this.L,this.M,a.x,a.y,b.width,b.height,this);return this};O.prototype.setRectSpot=O.prototype.to=function(a,b){v&&(D.l(a,B,O,"setRectSpot:r"),D.l(b,R,O,"setRectSpot:spot"));this.Qa();this.L=a.x+b.x*a.width+b.offsetX;this.M=a.y+b.y*a.height+b.offsetY;return this};
-O.prototype.setSpot=O.prototype.av=function(a,b,c,d,e){v&&(D.p(a,O,"setSpot:x"),D.p(b,O,"setSpot:y"),D.p(c,O,"setSpot:w"),D.p(d,O,"setSpot:h"),(0>c||0>d)&&D.k("Point.setSpot:Width and height cannot be negative"),D.l(e,R,O,"setSpot:spot"));this.Qa();this.L=a+e.x*c+e.offsetX;this.M=b+e.y*d+e.offsetY;return this};O.prototype.transform=function(a){v&&D.l(a,Da,O,"transform:t");a.wb(this);return this};function gb(a,b){v&&D.l(b,Da,O,"transformInverted:t");b.Ci(a);return a}var ib;
+O.prototype.setSpot=O.prototype.cv=function(a,b,c,d,e){v&&(D.p(a,O,"setSpot:x"),D.p(b,O,"setSpot:y"),D.p(c,O,"setSpot:w"),D.p(d,O,"setSpot:h"),(0>c||0>d)&&D.k("Point.setSpot:Width and height cannot be negative"),D.l(e,R,O,"setSpot:spot"));this.Qa();this.L=a+e.x*c+e.offsetX;this.M=b+e.y*d+e.offsetY;return this};O.prototype.transform=function(a){v&&D.l(a,Da,O,"transform:t");a.wb(this);return this};function gb(a,b){v&&D.l(b,Da,O,"transformInverted:t");b.Ci(a);return a}var ib;
O.distanceLineSegmentSquared=ib=function(a,b,c,d,e,g){v&&(D.p(a,O,"distanceLineSegmentSquared:px"),D.p(b,O,"distanceLineSegmentSquared:py"),D.p(c,O,"distanceLineSegmentSquared:ax"),D.p(d,O,"distanceLineSegmentSquared:ay"),D.p(e,O,"distanceLineSegmentSquared:bx"),D.p(g,O,"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 jb;
O.distanceSquared=jb=function(a,b,c,d){v&&(D.p(a,O,"distanceSquared:px"),D.p(b,O,"distanceSquared:py"),D.p(c,O,"distanceSquared:qx"),D.p(d,O,"distanceSquared:qy"));a=c-a;b=d-b;return a*a+b*b};var rb;
O.direction=rb=function(a,b,c,d){v&&(D.p(a,O,"direction:px"),D.p(b,O,"direction:py"),D.p(c,O,"direction:qx"),D.p(d,O,"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};D.defineProperty(O,{x:"x"},function(){return this.L},function(a){this.Qa(a);v&&D.h(a,"number",O,"x");this.L=a});
-D.defineProperty(O,{y:"y"},function(){return this.M},function(a){this.Qa(a);v&&D.h(a,"number",O,"y");this.M=a});O.prototype.isReal=O.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)};function Ca(a,b){void 0===a?this.Ha=this.Ia=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.Ia=a,this.Ha=b):D.k("Invalid arguments to Size constructor: "+a+", "+b);this.J=!1}D.ja("Size",Ca);D.Ai(Ca);D.ke(Ca,{width:!0,height:!0});
+D.defineProperty(O,{y:"y"},function(){return this.M},function(a){this.Qa(a);v&&D.h(a,"number",O,"y");this.M=a});O.prototype.isReal=O.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)};function Ca(a,b){void 0===a?this.Ha=this.Ia=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.Ia=a,this.Ha=b):D.k("Invalid arguments to Size constructor: "+a+", "+b);this.J=!1}D.ka("Size",Ca);D.Ai(Ca);D.ke(Ca,{width:!0,height:!0});
Ca.prototype.assign=function(a){this.Ia=a.Ia;this.Ha=a.Ha};Ca.prototype.setTo=Ca.prototype.n=function(a,b){v&&(D.h(a,"number",Ca,"setTo:w"),D.h(b,"number",Ca,"setTo:h"),0>a&&D.ua(a,">= 0",Ca,"setTo:w"),0>b&&D.ua(b,">= 0",Ca,"setTo:h"));this.Ia=a;this.Ha=b;return this};Ca.prototype.set=Ca.prototype.set=function(a){v&&D.l(a,Ca,Ca,"set:s");this.Qa();this.Ia=a.Ia;this.Ha=a.Ha;return this};Ca.prototype.copy=function(){var a=new Ca;a.Ia=this.Ia;a.Ha=this.Ha;return a};f=Ca.prototype;
f.Na=function(){this.J=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Size is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};
Ca.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 Ca(c,e)}return new Ca};Ca.stringify=function(a){v&&D.l(a,Ca);return a.width.toString()+" "+a.height.toString()};Ca.prototype.toString=function(){return"Size("+this.width+","+this.height+")"};Ca.prototype.equals=Ca.prototype.P=function(a){return a instanceof Ca?this.Ia===a.width&&this.Ha===a.height:!1};
-Ca.prototype.equalTo=Ca.prototype.Gx=function(a,b){return this.Ia===a&&this.Ha===b};Ca.prototype.equalsApprox=Ca.prototype.Tc=function(a){return Q(this.Ia,a.width)&&Q(this.Ha,a.height)};D.defineProperty(Ca,{width:"width"},function(){return this.Ia},function(a){this.Qa(a);v&&D.h(a,"number",Ca,"width");0>a&&D.ua(a,">= 0",Ca,"width");this.Ia=a});
+Ca.prototype.equalTo=Ca.prototype.Ix=function(a,b){return this.Ia===a&&this.Ha===b};Ca.prototype.equalsApprox=Ca.prototype.Tc=function(a){return Q(this.Ia,a.width)&&Q(this.Ha,a.height)};D.defineProperty(Ca,{width:"width"},function(){return this.Ia},function(a){this.Qa(a);v&&D.h(a,"number",Ca,"width");0>a&&D.ua(a,">= 0",Ca,"width");this.Ia=a});
D.defineProperty(Ca,{height:"height"},function(){return this.Ha},function(a){this.Qa(a);v&&D.h(a,"number",Ca,"height");0>a&&D.ua(a,">= 0",Ca,"height");this.Ha=a});Ca.prototype.isReal=Ca.prototype.F=function(){return isFinite(this.width)&&isFinite(this.height)};
function B(a,b,c,d){void 0===a?this.Ha=this.Ia=this.M=this.L=0:a instanceof O?b instanceof O?(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.Ha=Math.abs(a.M-b.M)):b instanceof Ca?(this.L=a.L,this.M=a.M,this.Ia=b.Ia,this.Ha=b.Ha):D.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.Ha=d):D.k("Invalid arguments to Rect constructor: "+
-a+", "+b+", "+c+", "+d);this.J=!1}D.ja("Rect",B);D.Ai(B);D.ke(B,{x:!0,y:!0,width:!0,height:!0});B.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ha=a.Ha};function xb(a,b,c){a.Ia=b;a.Ha=c}B.prototype.setTo=B.prototype.n=function(a,b,c,d){v&&(D.h(a,"number",B,"setTo:x"),D.h(b,"number",B,"setTo:y"),D.h(c,"number",B,"setTo:w"),D.h(d,"number",B,"setTo:h"),0>c&&D.ua(c,">= 0",B,"setTo:w"),0>d&&D.ua(d,">= 0",B,"setTo:h"));this.L=a;this.M=b;this.Ia=c;this.Ha=d;return this};
-B.prototype.set=B.prototype.set=function(a){v&&D.l(a,B,B,"set:r");this.Qa();this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ha=a.Ha;return this};B.prototype.setPoint=B.prototype.fh=function(a){v&&D.l(a,O,B,"setPoint:p");this.Qa();this.L=a.L;this.M=a.M;return this};B.prototype.setSize=function(a){v&&D.l(a,Ca,B,"setSize:s");this.Qa();this.Ia=a.Ia;this.Ha=a.Ha;return this};B.prototype.copy=function(){var a=new B;a.L=this.L;a.M=this.M;a.Ia=this.Ia;a.Ha=this.Ha;return a};f=B.prototype;
+a+", "+b+", "+c+", "+d);this.J=!1}D.ka("Rect",B);D.Ai(B);D.ke(B,{x:!0,y:!0,width:!0,height:!0});B.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ha=a.Ha};function xb(a,b,c){a.Ia=b;a.Ha=c}B.prototype.setTo=B.prototype.n=function(a,b,c,d){v&&(D.h(a,"number",B,"setTo:x"),D.h(b,"number",B,"setTo:y"),D.h(c,"number",B,"setTo:w"),D.h(d,"number",B,"setTo:h"),0>c&&D.ua(c,">= 0",B,"setTo:w"),0>d&&D.ua(d,">= 0",B,"setTo:h"));this.L=a;this.M=b;this.Ia=c;this.Ha=d;return this};
+B.prototype.set=B.prototype.set=function(a){v&&D.l(a,B,B,"set:r");this.Qa();this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ha=a.Ha;return this};B.prototype.setPoint=B.prototype.gh=function(a){v&&D.l(a,O,B,"setPoint:p");this.Qa();this.L=a.L;this.M=a.M;return this};B.prototype.setSize=function(a){v&&D.l(a,Ca,B,"setSize:s");this.Qa();this.Ia=a.Ia;this.Ha=a.Ha;return this};B.prototype.copy=function(){var a=new B;a.L=this.L;a.M=this.M;a.Ia=this.Ia;a.Ha=this.Ha;return a};f=B.prototype;
f.Na=function(){this.J=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Rect is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};
B.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 B(c,e,g,h)}return new B};B.stringify=function(a){v&&D.l(a,B);return a.x.toString()+" "+a.y.toString()+" "+a.width.toString()+" "+a.height.toString()};
-B.prototype.toString=function(){return"Rect("+this.x+","+this.y+","+this.width+","+this.height+")"};B.prototype.equals=B.prototype.P=function(a){return a instanceof B?this.L===a.x&&this.M===a.y&&this.Ia===a.width&&this.Ha===a.height:!1};B.prototype.equalTo=B.prototype.Gx=function(a,b,c,d){return this.L===a&&this.M===b&&this.Ia===c&&this.Ha===d};B.prototype.equalsApprox=B.prototype.Tc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)&&Q(this.Ia,a.width)&&Q(this.Ha,a.height)};
-function yb(a,b){return zb(a.L,b.x)&&zb(a.M,b.y)&&zb(a.Ia,b.width)&&zb(a.Ha,b.height)}B.prototype.containsPoint=B.prototype.Oa=function(a){v&&D.l(a,O,B,"containsPoint:p");return this.L<=a.x&&this.L+this.Ia>=a.x&&this.M<=a.y&&this.M+this.Ha>=a.y};B.prototype.containsRect=B.prototype.Nk=function(a){v&&D.l(a,B,B,"containsRect:r");return this.L<=a.x&&a.x+a.width<=this.L+this.Ia&&this.M<=a.y&&a.y+a.height<=this.M+this.Ha};
+B.prototype.toString=function(){return"Rect("+this.x+","+this.y+","+this.width+","+this.height+")"};B.prototype.equals=B.prototype.P=function(a){return a instanceof B?this.L===a.x&&this.M===a.y&&this.Ia===a.width&&this.Ha===a.height:!1};B.prototype.equalTo=B.prototype.Ix=function(a,b,c,d){return this.L===a&&this.M===b&&this.Ia===c&&this.Ha===d};B.prototype.equalsApprox=B.prototype.Tc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)&&Q(this.Ia,a.width)&&Q(this.Ha,a.height)};
+function yb(a,b){return zb(a.L,b.x)&&zb(a.M,b.y)&&zb(a.Ia,b.width)&&zb(a.Ha,b.height)}B.prototype.containsPoint=B.prototype.Oa=function(a){v&&D.l(a,O,B,"containsPoint:p");return this.L<=a.x&&this.L+this.Ia>=a.x&&this.M<=a.y&&this.M+this.Ha>=a.y};B.prototype.containsRect=B.prototype.Ok=function(a){v&&D.l(a,B,B,"containsRect:r");return this.L<=a.x&&a.x+a.width<=this.L+this.Ia&&this.M<=a.y&&a.y+a.height<=this.M+this.Ha};
B.prototype.contains=B.prototype.contains=function(a,b,c,d){v?(D.p(a,B,"contains:x"),D.p(b,B,"contains:y"),void 0===c?c=0:D.p(c,B,"contains:w"),void 0===d?d=0:D.p(d,B,"contains:h"),(0>c||0>d)&&D.k("Rect.contains:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return this.L<=a&&a+c<=this.L+this.Ia&&this.M<=b&&b+d<=this.M+this.Ha};B.prototype.reset=function(){this.Qa();this.Ha=this.Ia=this.M=this.L=0};
-B.prototype.offset=B.prototype.offset=function(a,b){v&&(D.p(a,B,"offset:dx"),D.p(b,B,"offset:dy"));this.Qa();this.L+=a;this.M+=b;return this};B.prototype.inflate=B.prototype.Ff=function(a,b){v&&(D.p(a,B,"inflate:w"),D.p(b,B,"inflate:h"));return Db(this,b,a,b,a)};B.prototype.addMargin=B.prototype.kx=function(a){v&&D.l(a,Ib,B,"addMargin:m");return Db(this,a.top,a.right,a.bottom,a.left)};
-B.prototype.subtractMargin=B.prototype.sK=function(a){v&&D.l(a,Ib,B,"subtractMargin:m");return Db(this,-a.top,-a.right,-a.bottom,-a.left)};B.prototype.grow=function(a,b,c,d){v&&(D.p(a,B,"grow:t"),D.p(b,B,"grow:r"),D.p(c,B,"grow:b"),D.p(d,B,"grow:l"));return Db(this,a,b,c,d)};function Db(a,b,c,d,e){a.Qa();var g=a.Ia;c+e<=-g?(a.L+=g/2,a.Ia=0):(a.L-=e,a.Ia+=c+e);c=a.Ha;b+d<=-c?(a.M+=c/2,a.Ha=0):(a.M-=b,a.Ha+=b+d);return a}
-B.prototype.intersectRect=function(a){v&&D.l(a,B,B,"intersectRect:r");return Lb(this,a.x,a.y,a.width,a.height)};B.prototype.intersect=B.prototype.KF=function(a,b,c,d){v&&(D.p(a,B,"intersect:x"),D.p(b,B,"intersect:y"),D.p(c,B,"intersect:w"),D.p(d,B,"intersect:h"),(0>c||0>d)&&D.k("Rect.intersect:Width and height cannot be negative"));return Lb(this,a,b,c,d)};
-function Lb(a,b,c,d,e){a.Qa();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.Ha,c+e);a.L=g;a.M=h;a.Ia=Math.max(0,b-g);a.Ha=Math.max(0,c-h);return a}B.prototype.intersectsRect=B.prototype.fg=function(a){v&&D.l(a,B,B,"intersectsRect:r");return this.LF(a.x,a.y,a.width,a.height)};
-B.prototype.intersects=B.prototype.LF=function(a,b,c,d){v&&(D.p(a,B,"intersects:x"),D.p(b,B,"intersects:y"),D.p(a,B,"intersects:w"),D.p(b,B,"intersects:h"),(0>c||0>d)&&D.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.Ha;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.Ha;d=b.height+10+10;e=a.M;g=b.y-10;return e>d+g||g>c+e?!1:!0}B.prototype.unionPoint=B.prototype.Ji=function(a){v&&D.l(a,O,B,"unionPoint:p");return Pb(this,a.x,a.y,0,0)};B.prototype.unionRect=B.prototype.Wh=function(a){v&&D.l(a,B,B,"unionRect:r");return Pb(this,a.L,a.M,a.Ia,a.Ha)};
-B.prototype.union=B.prototype.jH=function(a,b,c,d){this.Qa();v?(D.p(a,B,"union:x"),D.p(b,B,"union:y"),void 0===c?c=0:D.p(c,B,"union:w"),void 0===d?d=0:D.p(d,B,"union:h"),(0>c||0>d)&&D.k("Rect.union:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return Pb(this,a,b,c,d)};function Pb(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.Ha,c+e);a.L=g;a.M=h;a.Ia=b-g;a.Ha=c-h;return a}
-B.prototype.setSpot=B.prototype.av=function(a,b,c){v&&(D.p(a,B,"setSpot:x"),D.p(b,B,"setSpot:y"),D.l(c,R,B,"setSpot:spot"));this.Qa();this.L=a-c.offsetX-c.x*this.Ia;this.M=b-c.offsetY-c.y*this.Ha;return this};var Qb;
+B.prototype.offset=B.prototype.offset=function(a,b){v&&(D.p(a,B,"offset:dx"),D.p(b,B,"offset:dy"));this.Qa();this.L+=a;this.M+=b;return this};B.prototype.inflate=B.prototype.Gf=function(a,b){v&&(D.p(a,B,"inflate:w"),D.p(b,B,"inflate:h"));return Db(this,b,a,b,a)};B.prototype.addMargin=B.prototype.mx=function(a){v&&D.l(a,Ib,B,"addMargin:m");return Db(this,a.top,a.right,a.bottom,a.left)};
+B.prototype.subtractMargin=B.prototype.tK=function(a){v&&D.l(a,Ib,B,"subtractMargin:m");return Db(this,-a.top,-a.right,-a.bottom,-a.left)};B.prototype.grow=function(a,b,c,d){v&&(D.p(a,B,"grow:t"),D.p(b,B,"grow:r"),D.p(c,B,"grow:b"),D.p(d,B,"grow:l"));return Db(this,a,b,c,d)};function Db(a,b,c,d,e){a.Qa();var g=a.Ia;c+e<=-g?(a.L+=g/2,a.Ia=0):(a.L-=e,a.Ia+=c+e);c=a.Ha;b+d<=-c?(a.M+=c/2,a.Ha=0):(a.M-=b,a.Ha+=b+d);return a}
+B.prototype.intersectRect=function(a){v&&D.l(a,B,B,"intersectRect:r");return Lb(this,a.x,a.y,a.width,a.height)};B.prototype.intersect=B.prototype.LF=function(a,b,c,d){v&&(D.p(a,B,"intersect:x"),D.p(b,B,"intersect:y"),D.p(c,B,"intersect:w"),D.p(d,B,"intersect:h"),(0>c||0>d)&&D.k("Rect.intersect:Width and height cannot be negative"));return Lb(this,a,b,c,d)};
+function Lb(a,b,c,d,e){a.Qa();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.Ha,c+e);a.L=g;a.M=h;a.Ia=Math.max(0,b-g);a.Ha=Math.max(0,c-h);return a}B.prototype.intersectsRect=B.prototype.gg=function(a){v&&D.l(a,B,B,"intersectsRect:r");return this.MF(a.x,a.y,a.width,a.height)};
+B.prototype.intersects=B.prototype.MF=function(a,b,c,d){v&&(D.p(a,B,"intersects:x"),D.p(b,B,"intersects:y"),D.p(a,B,"intersects:w"),D.p(b,B,"intersects:h"),(0>c||0>d)&&D.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.Ha;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.Ha;d=b.height+10+10;e=a.M;g=b.y-10;return e>d+g||g>c+e?!1:!0}B.prototype.unionPoint=B.prototype.Ji=function(a){v&&D.l(a,O,B,"unionPoint:p");return Pb(this,a.x,a.y,0,0)};B.prototype.unionRect=B.prototype.Xh=function(a){v&&D.l(a,B,B,"unionRect:r");return Pb(this,a.L,a.M,a.Ia,a.Ha)};
+B.prototype.union=B.prototype.kH=function(a,b,c,d){this.Qa();v?(D.p(a,B,"union:x"),D.p(b,B,"union:y"),void 0===c?c=0:D.p(c,B,"union:w"),void 0===d?d=0:D.p(d,B,"union:h"),(0>c||0>d)&&D.k("Rect.union:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return Pb(this,a,b,c,d)};function Pb(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.Ha,c+e);a.L=g;a.M=h;a.Ia=b-g;a.Ha=c-h;return a}
+B.prototype.setSpot=B.prototype.cv=function(a,b,c){v&&(D.p(a,B,"setSpot:x"),D.p(b,B,"setSpot:y"),D.l(c,R,B,"setSpot:spot"));this.Qa();this.L=a-c.offsetX-c.x*this.Ia;this.M=b-c.offsetY-c.y*this.Ha;return this};var Qb;
B.contains=Qb=function(a,b,c,d,e,g,h,k){v?(D.p(a,B,"contains:rx"),D.p(b,B,"contains:ry"),D.p(c,B,"contains:rw"),D.p(d,B,"contains:rh"),D.p(e,B,"contains:x"),D.p(g,B,"contains:y"),void 0===h?h=0:D.p(h,B,"contains:w"),void 0===k?k=0:D.p(k,B,"contains:h"),(0>c||0>d||0>h||0>k)&&D.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};
B.intersects=function(a,b,c,d,e,g,h,k){v&&(D.p(a,B,"intersects:rx"),D.p(b,B,"intersects:ry"),D.p(c,B,"intersects:rw"),D.p(d,B,"intersects:rh"),D.p(e,B,"intersects:x"),D.p(g,B,"intersects:y"),D.p(h,B,"intersects:w"),D.p(k,B,"intersects:h"),(0>c||0>d||0>h||0>k)&&D.k("Rect.intersects:Width and height cannot be negative"));c+=a;h+=e;if(a>h||e>c)return!1;a=d+b;k+=g;return b>k||g>a?!1:!0};D.defineProperty(B,{x:"x"},function(){return this.L},function(a){this.Qa(a);v&&D.h(a,"number",B,"x");this.L=a});
D.defineProperty(B,{y:"y"},function(){return this.M},function(a){this.Qa(a);v&&D.h(a,"number",B,"y");this.M=a});D.defineProperty(B,{width:"width"},function(){return this.Ia},function(a){this.Qa(a);v&&D.h(a,"number",B,"width");0>a&&D.ua(a,">= 0",B,"width");this.Ia=a});D.defineProperty(B,{height:"height"},function(){return this.Ha},function(a){this.Qa(a);v&&D.h(a,"number",B,"height");0>a&&D.ua(a,">= 0",B,"height");this.Ha=a});
D.defineProperty(B,{left:"left"},function(){return this.L},function(a){this.Qa(a);v&&D.h(a,"number",B,"left");this.L=a});D.defineProperty(B,{top:"top"},function(){return this.M},function(a){this.Qa(a);v&&D.h(a,"number",B,"top");this.M=a});D.defineProperty(B,{right:"right"},function(){return this.L+this.Ia},function(a){this.Qa(a);v&&D.p(a,B,"right");this.L+=a-(this.L+this.Ia)});
D.defineProperty(B,{bottom:"bottom"},function(){return this.M+this.Ha},function(a){this.Qa(a);v&&D.p(a,B,"top");this.M+=a-(this.M+this.Ha)});D.defineProperty(B,{position:"position"},function(){return new O(this.L,this.M)},function(a){this.Qa(a);v&&D.l(a,O,B,"position");this.L=a.x;this.M=a.y});D.defineProperty(B,{size:"size"},function(){return new Ca(this.Ia,this.Ha)},function(a){this.Qa(a);v&&D.l(a,Ca,B,"size");this.Ia=a.width;this.Ha=a.height});
-D.defineProperty(B,{cm:"center"},function(){return new O(this.L+this.Ia/2,this.M+this.Ha/2)},function(a){this.Qa(a);v&&D.l(a,O,B,"center");this.L=a.x-this.Ia/2;this.M=a.y-this.Ha/2});D.defineProperty(B,{oa:"centerX"},function(){return this.L+this.Ia/2},function(a){this.Qa(a);v&&D.p(a,B,"centerX");this.L=a-this.Ia/2});D.defineProperty(B,{va:"centerY"},function(){return this.M+this.Ha/2},function(a){this.Qa(a);v&&D.p(a,B,"centerY");this.M=a-this.Ha/2});
+D.defineProperty(B,{dm:"center"},function(){return new O(this.L+this.Ia/2,this.M+this.Ha/2)},function(a){this.Qa(a);v&&D.l(a,O,B,"center");this.L=a.x-this.Ia/2;this.M=a.y-this.Ha/2});D.defineProperty(B,{oa:"centerX"},function(){return this.L+this.Ia/2},function(a){this.Qa(a);v&&D.p(a,B,"centerX");this.L=a-this.Ia/2});D.defineProperty(B,{va:"centerY"},function(){return this.M+this.Ha/2},function(a){this.Qa(a);v&&D.p(a,B,"centerY");this.M=a-this.Ha/2});
B.prototype.isReal=B.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)};B.prototype.isEmpty=function(){return 0===this.width&&0===this.height};
-function Ib(a,b,c,d){void 0===a?this.uh=this.nh=this.Dh=this.Eh=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):D.k("Invalid arguments to Margin constructor: "+a+", "+b+", "+c+", "+d);this.J=!1}D.ja("Margin",Ib);D.Ai(Ib);D.ke(Ib,{top:!0,right:!0,bottom:!0,left:!0});Ib.prototype.assign=function(a){this.Eh=a.Eh;this.Dh=a.Dh;this.nh=a.nh;this.uh=a.uh};
-Ib.prototype.setTo=Ib.prototype.n=function(a,b,c,d){v&&(D.h(a,"number",Ib,"setTo:t"),D.h(b,"number",Ib,"setTo:r"),D.h(c,"number",Ib,"setTo:b"),D.h(d,"number",Ib,"setTo:l"));this.Qa();this.Eh=a;this.Dh=b;this.nh=c;this.uh=d;return this};Ib.prototype.set=Ib.prototype.set=function(a){v&&D.l(a,Ib,Ib,"assign:m");this.Qa();this.Eh=a.Eh;this.Dh=a.Dh;this.nh=a.nh;this.uh=a.uh;return this};Ib.prototype.copy=function(){var a=new Ib;a.Eh=this.Eh;a.Dh=this.Dh;a.nh=this.nh;a.uh=this.uh;return a};f=Ib.prototype;
+function Ib(a,b,c,d){void 0===a?this.vh=this.oh=this.Eh=this.Fh=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):D.k("Invalid arguments to Margin constructor: "+a+", "+b+", "+c+", "+d);this.J=!1}D.ka("Margin",Ib);D.Ai(Ib);D.ke(Ib,{top:!0,right:!0,bottom:!0,left:!0});Ib.prototype.assign=function(a){this.Fh=a.Fh;this.Eh=a.Eh;this.oh=a.oh;this.vh=a.vh};
+Ib.prototype.setTo=Ib.prototype.n=function(a,b,c,d){v&&(D.h(a,"number",Ib,"setTo:t"),D.h(b,"number",Ib,"setTo:r"),D.h(c,"number",Ib,"setTo:b"),D.h(d,"number",Ib,"setTo:l"));this.Qa();this.Fh=a;this.Eh=b;this.oh=c;this.vh=d;return this};Ib.prototype.set=Ib.prototype.set=function(a){v&&D.l(a,Ib,Ib,"assign:m");this.Qa();this.Fh=a.Fh;this.Eh=a.Eh;this.oh=a.oh;this.vh=a.vh;return this};Ib.prototype.copy=function(){var a=new Ib;a.Fh=this.Fh;a.Eh=this.Eh;a.oh=this.oh;a.vh=this.vh;return a};f=Ib.prototype;
f.Na=function(){this.J=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Margin is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};
Ib.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 Ib;for(var e=NaN;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));if(isNaN(e))return new Ib(c);for(var g=NaN;""===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));if(isNaN(g))return new Ib(c,e);for(var h=NaN;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return isNaN(h)?new Ib(c,e):new Ib(c,e,g,h)}return new Ib};
-Ib.stringify=function(a){v&&D.l(a,Ib);return a.top.toString()+" "+a.right.toString()+" "+a.bottom.toString()+" "+a.left.toString()};Ib.prototype.toString=function(){return"Margin("+this.top+","+this.right+","+this.bottom+","+this.left+")"};Ib.prototype.equals=Ib.prototype.P=function(a){return a instanceof Ib?this.Eh===a.top&&this.Dh===a.right&&this.nh===a.bottom&&this.uh===a.left:!1};Ib.prototype.equalTo=Ib.prototype.Gx=function(a,b,c,d){return this.Eh===a&&this.Dh===b&&this.nh===c&&this.uh===d};
-Ib.prototype.equalsApprox=Ib.prototype.Tc=function(a){return Q(this.Eh,a.top)&&Q(this.Dh,a.right)&&Q(this.nh,a.bottom)&&Q(this.uh,a.left)};D.defineProperty(Ib,{top:"top"},function(){return this.Eh},function(a){this.Qa(a);v&&D.p(a,Ib,"top");this.Eh=a});D.defineProperty(Ib,{right:"right"},function(){return this.Dh},function(a){this.Qa(a);v&&D.p(a,Ib,"right");this.Dh=a});D.defineProperty(Ib,{bottom:"bottom"},function(){return this.nh},function(a){this.Qa(a);v&&D.p(a,Ib,"bottom");this.nh=a});
-D.defineProperty(Ib,{left:"left"},function(){return this.uh},function(a){this.Qa(a);v&&D.p(a,Ib,"left");this.uh=a});Ib.prototype.isReal=Ib.prototype.F=function(){return isFinite(this.top)&&isFinite(this.right)&&isFinite(this.bottom)&&isFinite(this.left)};function Da(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0}D.Ai(Da);D.ke(Da,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});
+Ib.stringify=function(a){v&&D.l(a,Ib);return a.top.toString()+" "+a.right.toString()+" "+a.bottom.toString()+" "+a.left.toString()};Ib.prototype.toString=function(){return"Margin("+this.top+","+this.right+","+this.bottom+","+this.left+")"};Ib.prototype.equals=Ib.prototype.P=function(a){return a instanceof Ib?this.Fh===a.top&&this.Eh===a.right&&this.oh===a.bottom&&this.vh===a.left:!1};Ib.prototype.equalTo=Ib.prototype.Ix=function(a,b,c,d){return this.Fh===a&&this.Eh===b&&this.oh===c&&this.vh===d};
+Ib.prototype.equalsApprox=Ib.prototype.Tc=function(a){return Q(this.Fh,a.top)&&Q(this.Eh,a.right)&&Q(this.oh,a.bottom)&&Q(this.vh,a.left)};D.defineProperty(Ib,{top:"top"},function(){return this.Fh},function(a){this.Qa(a);v&&D.p(a,Ib,"top");this.Fh=a});D.defineProperty(Ib,{right:"right"},function(){return this.Eh},function(a){this.Qa(a);v&&D.p(a,Ib,"right");this.Eh=a});D.defineProperty(Ib,{bottom:"bottom"},function(){return this.oh},function(a){this.Qa(a);v&&D.p(a,Ib,"bottom");this.oh=a});
+D.defineProperty(Ib,{left:"left"},function(){return this.vh},function(a){this.Qa(a);v&&D.p(a,Ib,"left");this.vh=a});Ib.prototype.isReal=Ib.prototype.F=function(){return isFinite(this.top)&&isFinite(this.right)&&isFinite(this.bottom)&&isFinite(this.left)};function Da(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0}D.Ai(Da);D.ke(Da,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});
Da.prototype.set=Da.prototype.set=function(a){v&&D.l(a,Da,Da,"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};Da.prototype.copy=function(){var a=new Da;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};Da.prototype.toString=function(){return"Transform("+this.m11+","+this.m12+","+this.m21+","+this.m22+","+this.dx+","+this.dy+")"};
-Da.prototype.equals=Da.prototype.P=function(a){return a instanceof Da?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};Da.prototype.isIdentity=Da.prototype.xu=function(){return 1===this.m11&&0===this.m12&&0===this.m21&&1===this.m22&&0===this.dx&&0===this.dy};Da.prototype.reset=Da.prototype.reset=function(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0;return this};
+Da.prototype.equals=Da.prototype.P=function(a){return a instanceof Da?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};Da.prototype.isIdentity=Da.prototype.zu=function(){return 1===this.m11&&0===this.m12&&0===this.m21&&1===this.m22&&0===this.dx&&0===this.dy};Da.prototype.reset=Da.prototype.reset=function(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0;return this};
Da.prototype.multiply=Da.prototype.multiply=function(a){v&&D.l(a,Da,Da,"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};
Da.prototype.multiplyInverted=Da.prototype.pB=function(a){v&&D.l(a,Da,Da,"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};
-Da.prototype.invert=Da.prototype.Sx=function(){var a=1/(this.m11*this.m22-this.m12*this.m21),b=-this.m12*a,c=-this.m21*a,d=this.m11*a,e=a*(this.m21*this.dy-this.m22*this.dx),g=a*(this.m12*this.dx-this.m11*this.dy);this.m11=this.m22*a;this.m12=b;this.m21=c;this.m22=d;this.dx=e;this.dy=g;return this};
+Da.prototype.invert=Da.prototype.Tx=function(){var a=1/(this.m11*this.m22-this.m12*this.m21),b=-this.m12*a,c=-this.m21*a,d=this.m11*a,e=a*(this.m21*this.dy-this.m22*this.dx),g=a*(this.m12*this.dx-this.m11*this.dy);this.m11=this.m22*a;this.m12=b;this.m21=c;this.m22=d;this.dx=e;this.dy=g;return this};
Da.prototype.rotate=Da.prototype.rotate=function(a,b,c){v&&(D.p(a,Da,"rotate:angle"),D.p(b,Da,"rotate:rx"),D.p(c,Da,"rotate:ry"));360<=a?a-=360:0>a&&(a+=360);if(0===a)return this;this.translate(b,c);var d=0,e=0;90===a?(d=0,e=1):180===a?(d=-1,e=0):270===a?(d=0,e=-1):(e=a*Math.PI/180,d=Math.cos(e),e=Math.sin(e));a=this.m12*d+this.m22*e;var g=this.m11*-e+this.m21*d,h=this.m12*-e+this.m22*d;this.m11=this.m11*d+this.m21*e;this.m12=a;this.m21=g;this.m22=h;this.translate(-b,-c);return this};
Da.prototype.translate=Da.prototype.translate=function(a,b){v&&(D.p(a,Da,"translate:x"),D.p(b,Da,"translate:y"));this.dx+=this.m11*a+this.m21*b;this.dy+=this.m12*a+this.m22*b;return this};Da.prototype.scale=Da.prototype.scale=function(a,b){void 0===b&&(b=a);v&&(D.p(a,Da,"translate:sx"),D.p(b,Da,"translate:sy"));this.m11*=a;this.m12*=a;this.m21*=b;this.m22*=b;return this};
Da.prototype.transformPoint=Da.prototype.wb=function(a){v&&D.l(a,O,Da,"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};Da.prototype.invertedTransformPoint=Da.prototype.Ci=function(a){v&&D.l(a,O,Da,"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};
-Da.prototype.transformRect=Da.prototype.iH=function(a){v&&D.l(a,B,Da,"transformRect:rect");var b=a.L,c=a.M,d=b+a.Ia,e=c+a.Ha,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.Ha=q-h;return a};function R(a,b,c,d){void 0===a?this.Lg=this.Kg=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.J=!1}D.ja("Spot",R);D.Ai(R);D.ke(R,{x:!0,y:!0,offsetX:!0,offsetY:!0});R.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Kg=a.Kg;this.Lg=a.Lg};
-R.prototype.setTo=R.prototype.n=function(a,b,c,d){v&&(Rb(a,"setTo:x"),Rb(b,"setTo:y"),Vb(c,"setTo:offx"),Vb(d,"setTo:offy"));this.Qa();this.L=a;this.M=b;this.Kg=c;this.Lg=d;return this};R.prototype.set=R.prototype.set=function(a){v&&D.l(a,R,R,"set:s");this.Qa();this.L=a.L;this.M=a.M;this.Kg=a.Kg;this.Lg=a.Lg;return this};R.prototype.copy=function(){var a=new R;a.L=this.L;a.M=this.M;a.Kg=this.Kg;a.Lg=this.Lg;return a};f=R.prototype;f.Na=function(){this.J=!0;Object.freeze(this);return this};
-f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Spot is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};function Yb(a,b){a.L=NaN;a.M=NaN;a.Kg=b;return a}function Rb(a,b){(isNaN(a)||1a)&&D.ua(a,"0 <= "+b+" <= 1",R,b)}
+Da.prototype.transformRect=Da.prototype.jH=function(a){v&&D.l(a,B,Da,"transformRect:rect");var b=a.L,c=a.M,d=b+a.Ia,e=c+a.Ha,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.Ha=q-h;return a};function R(a,b,c,d){void 0===a?this.Mg=this.Lg=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.J=!1}D.ka("Spot",R);D.Ai(R);D.ke(R,{x:!0,y:!0,offsetX:!0,offsetY:!0});R.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Lg=a.Lg;this.Mg=a.Mg};
+R.prototype.setTo=R.prototype.n=function(a,b,c,d){v&&(Rb(a,"setTo:x"),Rb(b,"setTo:y"),Vb(c,"setTo:offx"),Vb(d,"setTo:offy"));this.Qa();this.L=a;this.M=b;this.Lg=c;this.Mg=d;return this};R.prototype.set=R.prototype.set=function(a){v&&D.l(a,R,R,"set:s");this.Qa();this.L=a.L;this.M=a.M;this.Lg=a.Lg;this.Mg=a.Mg;return this};R.prototype.copy=function(){var a=new R;a.L=this.L;a.M=this.M;a.Lg=this.Lg;a.Mg=this.Mg;return a};f=R.prototype;f.Na=function(){this.J=!0;Object.freeze(this);return this};
+f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Spot is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};function Yb(a,b){a.L=NaN;a.M=NaN;a.Lg=b;return a}function Rb(a,b){(isNaN(a)||1a)&&D.ua(a,"0 <= "+b+" <= 1",R,b)}
function Vb(a,b){(isNaN(a)||Infinity===a||-Infinity===a)&&D.ua(a,"real number, not NaN or Infinity",R,b)}var Zb;
-R.parse=Zb=function(a){if("string"===typeof a){a=a.trim();if("None"===a)return cc;if("TopLeft"===a)return dc;if("Top"===a||"TopCenter"===a||"MiddleTop"===a)return ec;if("TopRight"===a)return fc;if("Left"===a||"LeftCenter"===a||"MiddleLeft"===a)return gc;if("Center"===a)return hc;if("Right"===a||"RightCenter"===a||"MiddleRight"===a)return rc;if("BottomLeft"===a)return sc;if("Bottom"===a||"BottomCenter"===a||"MiddleBottom"===a)return tc;if("BottomRight"===a)return uc;if("TopSide"===a)return vc;if("LeftSide"===
+R.parse=Zb=function(a){if("string"===typeof a){a=a.trim();if("None"===a)return $b;if("TopLeft"===a)return dc;if("Top"===a||"TopCenter"===a||"MiddleTop"===a)return ec;if("TopRight"===a)return fc;if("Left"===a||"LeftCenter"===a||"MiddleLeft"===a)return gc;if("Center"===a)return hc;if("Right"===a||"RightCenter"===a||"MiddleRight"===a)return rc;if("BottomLeft"===a)return sc;if("Bottom"===a||"BottomCenter"===a||"MiddleBottom"===a)return tc;if("BottomRight"===a)return uc;if("TopSide"===a)return vc;if("LeftSide"===
a)return wc;if("RightSide"===a)return xc;if("BottomSide"===a)return Bc;if("TopBottomSides"===a)return Cc;if("LeftRightSides"===a)return Jc;if("TopLeftSides"===a)return Kc;if("TopRightSides"===a)return Lc;if("BottomLeftSides"===a)return Mc;if("BottomRightSides"===a)return Nc;if("NotTopSide"===a)return Oc;if("NotLeftSide"===a)return Pc;if("NotRightSide"===a)return Sc;if("NotBottomSide"===a)return Tc;if("AllSides"===a)return Uc;if("Default"===a)return Vc;a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;
var d=a[b++];void 0!==d&&0b.offset?1:-1});for(k=0;kb.offset?1:-1});for(k=0;k=2*Math.PI?(rd(a,b,c,d,e,e+Math.PI,h),rd(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 qd(a,b,c,d,e,g,h){var k=new jd;k.Zb=[b,c,d,e,g,h];b={};Ad(a,"g",b,k);k=a.addElement("g",b);a.Ef.push(k)}
-f.ib=function(){if(0!==this.shadowOffsetX||0!==this.shadowOffsetY||0!==this.shadowBlur){var a="SHADOW"+D.Gm++,b=this.addElement("filter",{id:a,x:"-100%",y:"-100%",width:"300%",height:"300%"},null),c,d,e,g,h;c=pd(this,"feGaussianBlur",{"in":"SourceAlpha",result:"blur",zM:this.shadowBlur/2});d=pd(this,"feFlood",{"in":"blur",result:"flood","flood-color":this.shadowColor});e=pd(this,"feComposite",{"in":"flood",in2:"blur",operator:"in",result:"comp"});g=pd(this,"feOffset",{"in":"comp",result:"offsetBlur",
-dx:this.shadowOffsetX,dy:this.shadowOffsetY});h=pd(this,"feMerge",{});h.appendChild(pd(this,"feMergeNode",{"in":"offsetBlur"}));h.appendChild(pd(this,"feMergeNode",{"in":"SourceGraphic"}));b.appendChild(c);b.appendChild(d);b.appendChild(e);b.appendChild(g);b.appendChild(h);0=2*Math.PI?(rd(a,b,c,d,e,e+Math.PI,h),rd(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 qd(a,b,c,d,e,g,h){var k=new jd;k.Zb=[b,c,d,e,g,h];b={};Ad(a,"g",b,k);k=a.addElement("g",b);a.Ff.push(k)}
+f.jb=function(){if(0!==this.shadowOffsetX||0!==this.shadowOffsetY||0!==this.shadowBlur){var a="SHADOW"+D.Hm++,b=this.addElement("filter",{id:a,x:"-100%",y:"-100%",width:"300%",height:"300%"},null),c,d,e,g,h;c=pd(this,"feGaussianBlur",{"in":"SourceAlpha",result:"blur",BM:this.shadowBlur/2});d=pd(this,"feFlood",{"in":"blur",result:"flood","flood-color":this.shadowColor});e=pd(this,"feComposite",{"in":"flood",in2:"blur",operator:"in",result:"comp"});g=pd(this,"feOffset",{"in":"comp",result:"offsetBlur",
+dx:this.shadowOffsetX,dy:this.shadowOffsetY});h=pd(this,"feMerge",{});h.appendChild(pd(this,"feMergeNode",{"in":"offsetBlur"}));h.appendChild(pd(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.or?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.or?this.clip():this.fill()};
-f.Wj=function(){this.or||this.stroke()};D.defineProperty(Dd,{cq:"clipInsteadOfFill"},function(){return this.or},function(a){this.or=a});f=Dd.prototype;f.NB=function(a,b,c){this.st=a;this.tt=b;this.Ng=c};f.uo=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};f.vo=function(){this.shadowOffsetX=this.st;this.shadowOffsetY=this.tt;this.shadowBlur=this.Ng};
-f.JA=function(a,b){var c=this.xa;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.EA=function(){var a=this.xa;void 0!==a.setLineDash?(a.setLineDash(D.Do),a.lineDashOffset=0):void 0!==a.webkitLineDash?(a.webkitLineDash=D.Do,a.webkitLineDashOffset=0):void 0!==a.mozDash&&(a.mozDash=null,a.mozDashOffset=0)};
-f.Be=function(a){a&&(this.ez="");this.dz=this.fz=""};
+f.transform=function(a,b,c,d,e,g){1===a&&0===b&&0===c&&1===d&&0===e&&0===g||this.xa.transform(a,b,c,d,e,g)};f.translate=function(a,b){this.xa.translate(a,b)};f.Xg=function(a){if(a instanceof Ba&&a.type===Ed){var b=a.No;a=a.kz;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.or?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.or?this.clip():this.fill()};
+f.Wj=function(){this.or||this.stroke()};D.defineProperty(Dd,{cq:"clipInsteadOfFill"},function(){return this.or},function(a){this.or=a});f=Dd.prototype;f.NB=function(a,b,c){this.st=a;this.tt=b;this.Og=c};f.uo=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};f.vo=function(){this.shadowOffsetX=this.st;this.shadowOffsetY=this.tt;this.shadowBlur=this.Og};
+f.KA=function(a,b){var c=this.xa;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.FA=function(){var a=this.xa;void 0!==a.setLineDash?(a.setLineDash(D.Do),a.lineDashOffset=0):void 0!==a.webkitLineDash?(a.webkitLineDash=D.Do,a.webkitLineDashOffset=0):void 0!==a.mozDash&&(a.mozDash=null,a.mozDashOffset=0)};
+f.Be=function(a){a&&(this.fz="");this.ez=this.gz=""};
var Fd=(Math.sqrt(2)-1)/3*4,Gd=(new O(0,0)).Na(),Hd=(new B(0,0,0,0)).Na(),Sd=(new Ib(0,0,0,0)).Na(),Td=(new Ib(2,2,2,2)).Na(),Ud=(new O(6,6)).Na(),Vd=(new O(-Infinity,-Infinity)).Na(),Wd=(new O(Infinity,Infinity)).Na(),Xd=(new Ca(0,0)).Na(),Yd=(new Ca(1,1)).Na(),Zd=(new Ca(6,6)).Na(),$d=(new Ca(8,8)).Na(),ae=(new Ca(10,10)).Na(),he=(new Ca(Infinity,Infinity)).Na(),ie=(new O(NaN,NaN)).Na(),je=(new Ca(NaN,NaN)).Na(),ke=(new B(NaN,NaN,NaN,NaN)).Na(),le=(new R(.156,.156)).Na(),me=(new R(.844,.844)).Na(),
ne=new la,oe=new la,pe=null;function qe(a){if(0>=a)return 0;var b=pe;if(null===b){for(var b=[],c=0;2E3>=c;c++)b[c]=Math.sqrt(c);pe=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=e&&(e=1E-6);var k=0,l=0,m=0,n=0;am-n)if(a-c>e||c-a>e){if(g=(d-b)/(c-a)*(g-a)+b,g-e<=h&&h<=g+e)return!0}else return!0;else if(b-d>e||d-b>e){if(h=(c-a)/(d-b)*(h-b)+a,h-e<=g&&g<=h+e)return!0}else return!0;return!1}
@@ -251,1207 +251,1207 @@ function Te(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.ma.toString()+" "+this.ka.toString()+"L"+this.H.toString()+" "+this.I.toString():"M"+this.ma.toFixed(a)+" "+this.ka.toFixed(a)+"L"+this.H.toFixed(a)+" "+this.I.toFixed(a);case rf:var b=new B(this.ma,this.ka,0,0);b.jH(this.H,this.I,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 sf:b=new B(this.ma,this.ka,0,0);b.jH(this.H,this.I,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 Ze:for(var b="",c=this.lc.o,d=c.length,e=0;e=u-1?!0:null!==l[m+1].match(/[A-Za-z]/)}function d(){m++;return l[m]}function e(){var a=new O(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 O(2*s.x-r.x,2*s.y-r.y)}void 0===b&&(b=!1);"string"!==typeof a&&D.hc(a,"string",Ye,"parse:str");a=a.replace(/,/gm," ");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,
+p*p)),n=l*p-n,a=Math.sqrt(n*n+a*a)):a=Math.abs(n-l);return a}function Ye(a){1a?"M"+this.la.toString()+" "+this.ja.toString()+"L"+this.G.toString()+" "+this.H.toString():"M"+this.la.toFixed(a)+" "+this.ja.toFixed(a)+"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);case rf:var b=new B(this.la,this.ja,0,0);b.kH(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 sf:b=new B(this.la,this.ja,0,0);b.kH(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 Ze:for(var b="",c=this.mc.o,d=c.length,e=0;e=u-1?!0:null!==l[m+1].match(/[A-Za-z]/)}function d(){m++;return l[m]}function e(){var a=new O(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 O(2*s.x-r.x,2*s.y-r.y)}void 0===b&&(b=!1);"string"!==typeof a&&D.ic(a,"string",Ye,"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 O(0,0),r=new O(0,0),s=new O(0,
0),u=l.length,t=D.v(),y=!1,w=!1,C=!0,A=null;!(m>=u-1);)if(p=n,n=d(),""!==n)switch(n.toUpperCase()){case "X":C=!0;w=y=!1;break;case "M":A=g();null===t.dc||!0===C?(T(t,A.x,A.y,y,!1,!w),C=!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 O((n===n.toLowerCase()?s.x:0)+parseFloat(d()),s.y),t.lineTo(s.x,s.y);break;case "V":for(;!c();)s=A=new O(s.x,(n===n.toLowerCase()?s.y:0)+parseFloat(d())),t.lineTo(s.x,s.y);
-break;case "C":for(;!c();){var N=e(),H=h(),A=g();V(t,N.x,N.y,H.x,H.y,A.x,A.y)}break;case "S":for(;!c();)N=k(),H=h(),A=g(),V(t,N.x,N.y,H.x,H.y,A.x,A.y);break;case "Q":for(;!c();)H=h(),A=g(),xf(t,H.x,H.y,A.x,A.y);break;case "T":for(;!c();)r=H=k(),A=g(),xf(t,H.x,H.y,A.x,A.y);break;case "B":for(;!c();){var A=parseFloat(d()),N=parseFloat(d()),H=parseFloat(d()),W=parseFloat(d()),fa=parseFloat(d()),S=fa,ba=!1;c()||(S=parseFloat(d()),c()||(ba=0!==parseFloat(d())));n===n.toLowerCase()&&(H+=s.x,W+=s.y);t.arcTo(A,
-N,H,W,fa,S,ba)}break;case "A":for(;!c();)N=Math.abs(parseFloat(d())),H=Math.abs(parseFloat(d())),W=parseFloat(d()),fa=!!parseFloat(d()),S=!!parseFloat(d()),A=g(),yf(t,N,H,W,fa,S,A.x,A.y);break;case "Z":A=t.q.lc.o[t.q.lc.length-1];X(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]/)?y=!0:zf(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]/)?w=!0:t.ib(!1)}q=t.q;D.u(t);if(b)for(t=q.lc.j;t.next();)A=t.value,A.wu=!0;return q};function Af(a,b){for(var c=a.length,d=D.O(),e=0;eh&&(h+=360),s.Le+=h);0>a&&(s.Le=180-s.Le,s.yf=-s.yf);0>d&&(s.Le=-s.Le,s.yf=-s.yf);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.H;k=s.I;s.H=h*
-a+k*c+e;s.I=h*b+k*d+g;0!==b&&(h=180*Math.atan2(b,a)/Math.PI,0>h&&(h+=360),s.Zj+=h);0>a&&(s.Zj=180-s.Zj,s.tm=!s.tm);0>d&&(s.Zj=-s.Zj,s.tm=!s.tm);s.radiusX*=Math.sqrt(a*a+c*c);s.radiusY*=Math.sqrt(b*b+d*d);break;default:D.k("Unknown Segment type: "+s.type)}}}}this.lb=!0;return this};
-Ye.prototype.Oa=function(a,b,c,d){var e=a.x,g=a.y,h=this.mb.x-20;a=a.y;for(var k=0,l=0,m=0,n=0,p=0,q=0,r=this.lc.o,s=r.length,u=0;u=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.n(k+(c[2*n+2]-k)*d,e+(c[2*n+3]-e)*d),b;h+=p}b.n(NaN,NaN);return b};
-Ye.prototype.getFractionForPoint=Ye.prototype.MI=function(a){if(this.type===qf){var b=this.ma,c=this.ka,d=this.H,e=this.I;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===rf){if(b=this.ma,c=this.ka,d=this.H,e=this.I,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.MA,h=this.Mx,k=this.Nx,l=D.O(),c=Infinity,b=d=0,g=e.length,n=m=0,p=0;pa?0:1h&&(h+=360),s.Le+=h);0>a&&(s.Le=180-s.Le,s.zf=-s.zf);0>d&&(s.Le=-s.Le,s.zf=-s.zf);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.Zj+=h);0>a&&(s.Zj=180-s.Zj,s.um=!s.um);0>d&&(s.Zj=-s.Zj,s.um=!s.um);s.radiusX*=Math.sqrt(a*a+c*c);s.radiusY*=Math.sqrt(b*b+d*d);break;default:D.k("Unknown Segment type: "+s.type)}}}}this.mb=!0;return this};
+Ye.prototype.Oa=function(a,b,c,d){var e=a.x,g=a.y,h=this.nb.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,u=0;u=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.n(k+(c[2*n+2]-k)*d,e+(c[2*n+3]-e)*d),b;h+=p}b.n(NaN,NaN);return b};
+Ye.prototype.getAngleAlongPath=Ye.prototype.xF=function(a){0>a?a=0:1=e)return b=b[h],b=180*Math.atan2(b[2*a+3]-b[2*a+1],b[2*a+2]-b[2*a])/Math.PI;g+=m}}return NaN};
+Ye.prototype.getFractionForPoint=Ye.prototype.NI=function(a){if(this.type===qf){var b=this.la,c=this.ja,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===rf){if(b=this.la,c=this.ja,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.Ox,h=this.ju,k=this.ku,l=D.O(),c=Infinity,b=d=0,g=e.length,n=m=0,p=0;pa?0:1a?"M"+this.ma.toString()+" "+this.ka.toString():"M"+this.ma.toFixed(a)+" "+this.ka.toFixed(a),c=this.Db.o,d=c.length,e=0;ea&&(a+=360),this.Pd=a,this.df=0,v&&D.p(d,Wf,"x1"),this.Ch=Math.max(d,0),v&&D.p(e,Wf,"y1"),this.Mg=Math.max(e,0),this.tp="boolean"===typeof h?!!h:!1,this.Lo=!!k):(v&&D.p(d,Wf,"x1"),this.Pd=d,v&&D.p(e,
-Wf,"y1"),this.df=e,v&&D.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Ch=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Mg=h):this.Mg=0,this.Lo=this.tp=!1);this.ei=!1;this.lb=!0;this.vg=null}D.ja("PathSegment",Wf);D.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.ca=this.ca;a.Ab=this.Ab;a.Ib=this.Ib;a.Pd=this.Pd;a.df=this.df;a.Ch=this.Ch;a.Mg=this.Mg;a.tp=this.tp;a.Lo=this.Lo;a.ei=this.ei;a.lb=this.lb;return a};
-Wf.prototype.equalsApprox=Wf.prototype.Tc=function(a){if(!(a instanceof Wf)||this.type!==a.type||this.Tx!==a.Tx)return!1;switch(this.type){case Cf:case uf:return Q(this.H,a.H)&&Q(this.I,a.I);case Df:return Q(this.H,a.H)&&Q(this.I,a.I)&&Q(this.Bc,a.Bc)&&Q(this.Xc,a.Xc)&&Q(this.Rh,a.Rh)&&Q(this.Sh,a.Sh);case Of:return Q(this.H,a.H)&&Q(this.I,a.I)&&Q(this.Bc,a.Bc)&&Q(this.Xc,a.Xc);case Pf:return Q(this.Le,a.Le)&&Q(this.yf,a.yf)&&Q(this.oa,a.oa)&&Q(this.va,a.va)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,
-a.radiusY);case Qf:return this.tm===a.tm&&this.Yx===a.Yx&&Q(this.Zj,a.Zj)&&Q(this.H,a.H)&&Q(this.I,a.I)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,a.radiusY);default:return!1}};Wf.prototype.oc=function(a){a.Ne===Wf?this.type=a:D.Xj(this,a)};
-Wf.prototype.toString=function(a){void 0===a&&(a=-1);var b="";switch(this.type){case Cf:b=0>a?"M"+this.H.toString()+" "+this.I.toString():"M"+this.H.toFixed(a)+" "+this.I.toFixed(a);break;case uf:b=0>a?"L"+this.H.toString()+" "+this.I.toString():"L"+this.H.toFixed(a)+" "+this.I.toFixed(a);break;case Df:b=0>a?"C"+this.Bc.toString()+" "+this.Xc.toString()+" "+this.Rh.toString()+" "+this.Sh.toString()+" "+this.H.toString()+" "+this.I.toString():"C"+this.Bc.toFixed(a)+" "+this.Xc.toFixed(a)+" "+this.Rh.toFixed(a)+
-" "+this.Sh.toFixed(a)+" "+this.H.toFixed(a)+" "+this.I.toFixed(a);break;case Of:b=0>a?"Q"+this.Bc.toString()+" "+this.Xc.toString()+" "+this.H.toString()+" "+this.I.toString():"Q"+this.Bc.toFixed(a)+" "+this.Xc.toFixed(a)+" "+this.H.toFixed(a)+" "+this.I.toFixed(a);break;case Pf:b=0>a?"B"+this.Le.toString()+" "+this.yf.toString()+" "+this.oa.toString()+" "+this.va.toString()+" "+this.radiusX:"B"+this.Le.toFixed(a)+" "+this.yf.toFixed(a)+" "+this.oa.toFixed(a)+" "+this.va.toFixed(a)+" "+this.radiusX;
-break;case Qf:b=0>a?"A"+this.radiusX.toString()+" "+this.radiusY.toString()+" "+this.Zj.toString()+" "+(this.Yx?1:0)+" "+(this.tm?1:0)+" "+this.H.toString()+" "+this.I.toString():"A"+this.radiusX.toFixed(a)+" "+this.radiusY.toFixed(a)+" "+this.Zj.toFixed(a)+" "+(this.Yx?1:0)+" "+(this.tm?1:0)+" "+this.H.toFixed(a)+" "+this.I.toFixed(a);break;default:b=this.type.toString()}return b+(this.ei?"z":"")};var Cf;Wf.Move=Cf=D.s(Wf,"Move",0);var uf;Wf.Line=uf=D.s(Wf,"Line",1);var Df;
-Wf.Bezier=Df=D.s(Wf,"Bezier",2);var Of;Wf.QuadraticBezier=Of=D.s(Wf,"QuadraticBezier",3);var Pf;Wf.Arc=Pf=D.s(Wf,"Arc",4);var Qf;Wf.SvgArc=Qf=D.s(Wf,"SvgArc",4);Wf.prototype.freeze=function(){this.J=!0;return this};Wf.prototype.Ya=function(){this.J=!1;return this};Wf.prototype.close=Wf.prototype.close=function(){this.ei=!0;return this};
-function Rf(a,b){if(null!==a.vg&&!1===b.lb)return a.vg;var c=a.radiusX,d=a.radiusY;void 0===d&&(d=c);if(0===c||0===d)return a.vg=[],a.vg;var e=a.Pd,g=a.df,h=Ve(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=Ve(b>g?b:g,n,n+h,!0);g=D.Pf();g.reset();g.translate(c,d);g.rotate(a.Pd,0,0);g.scale(l,r);Af(b,g);D.He(g);a.vg=b;return a.vg}
-D.defineProperty(Wf,{Tx:"isClosed"},function(){return this.ei},function(a){this.ei!==a&&(this.ei=a,this.lb=!0)});D.defineProperty(Wf,{type:"type"},function(){return this.ca},function(a){v&&D.Da(a,Wf,Wf,"type");this.J&&D.pa(this,a);this.ca=a;this.lb=!0});D.defineProperty(Wf,{H:"endX"},function(){return this.Ab},function(a){v&&D.p(a,Wf,"endX");this.J&&D.pa(this,a);this.Ab=a;this.lb=!0});
-D.defineProperty(Wf,{I:"endY"},function(){return this.Ib},function(a){v&&D.p(a,Wf,"endY");this.J&&D.pa(this,a);this.Ib=a;this.lb=!0});D.defineProperty(Wf,{Bc:"point1X"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"point1X");this.J&&D.pa(this,a);this.Pd=a;this.lb=!0});D.defineProperty(Wf,{Xc:"point1Y"},function(){return this.df},function(a){v&&D.p(a,Wf,"point1Y");this.J&&D.pa(this,a);this.df=a;this.lb=!0});
-D.defineProperty(Wf,{Rh:"point2X"},function(){return this.Ch},function(a){v&&D.p(a,Wf,"point2X");this.J&&D.pa(this,a);this.Ch=a;this.lb=!0});D.defineProperty(Wf,{Sh:"point2Y"},function(){return this.Mg},function(a){v&&D.p(a,Wf,"point2Y");this.J&&D.pa(this,a);this.Mg=a;this.lb=!0});D.defineProperty(Wf,{oa:"centerX"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"centerX");this.J&&D.pa(this,a);this.Pd=a;this.lb=!0});
-D.defineProperty(Wf,{va:"centerY"},function(){return this.df},function(a){v&&D.p(a,Wf,"centerY");this.J&&D.pa(this,a);this.df=a;this.lb=!0});D.defineProperty(Wf,{radiusX:"radiusX"},function(){return this.Ch},function(a){v&&D.p(a,Wf,"radiusX");0>a&&D.ua(a,">= zero",Wf,"radiusX");this.J&&D.pa(this,a);this.Ch=a;this.lb=!0});D.defineProperty(Wf,{radiusY:"radiusY"},function(){return this.Mg},function(a){v&&D.p(a,Wf,"radiusY");0>a&&D.ua(a,">= zero",Wf,"radiusY");this.J&&D.pa(this,a);this.Mg=a;this.lb=!0});
-D.defineProperty(Wf,{Le:"startAngle"},function(){return this.Ab},function(a){this.Ab!==a&&(this.J&&D.pa(this,a),v&&D.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Ab=a,this.lb=!0)});D.defineProperty(Wf,{yf:"sweepAngle"},function(){return this.Ib},function(a){v&&D.p(a,Wf,"sweepAngle");this.J&&D.pa(this,a);360a&&(a=-360);this.Ib=a;this.lb=!0});D.defineProperty(Wf,{tm:"isClockwiseArc"},function(){return this.Lo},function(a){this.J&&D.pa(this,a);this.Lo=a;this.lb=!0});
-D.defineProperty(Wf,{Yx:"isLargeArc"},function(){return this.tp},function(a){this.J&&D.pa(this,a);this.tp=a;this.lb=!0});D.defineProperty(Wf,{Zj:"xAxisRotation"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.J&&D.pa(this,a);this.Pd=a;this.lb=!0});
-function Yf(){this.ba=null;this.lA=(new O(0,0)).freeze();this.sz=(new O(0,0)).freeze();this.zv=this.ww=0;this.Av=1;this.kw="";this.ex=this.Ov=!1;this.Lv=this.Bv=0;this.ak=this.Wv=this.gw=!1;this.Rr=null;this.ax=0;this.Qg=this.$w=null}D.ja("InputEvent",Yf);
-Yf.prototype.copy=function(){var a=new Yf;a.ba=this.ba;a.lA.assign(this.qe);a.sz.assign(this.ha);a.ww=this.ww;a.zv=this.zv;a.Av=this.Av;a.kw=this.kw;a.Ov=this.Ov;a.ex=this.ex;a.Bv=this.Bv;a.Lv=this.Lv;a.gw=this.gw;a.Wv=this.Wv;a.ak=this.ak;a.Rr=this.Rr;a.ax=this.ax;a.$w=this.$w;a.Qg=this.Qg;return a};
-Yf.prototype.toString=function(){var a="^";0!==this.Kd&&(a+="M:"+this.Kd);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Oe&&(a+="C:"+this.Oe);0!==this.im&&(a+="D:"+this.im);this.Mc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};D.defineProperty(Yf,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});D.defineProperty(Yf,{qe:"viewPoint"},function(){return this.lA},function(a){D.l(a,O,Yf,"viewPoint");this.lA.assign(a)});
-D.defineProperty(Yf,{ha:"documentPoint"},function(){return this.sz},function(a){D.l(a,O,Yf,"documentPoint");this.sz.assign(a)});Yf.prototype.getMultiTouchViewPoint=Yf.prototype.Px=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.YB(b));return b};D.defineProperty(Yf,{Kd:"modifiers"},function(){return this.ww},function(a){this.ww=a});
-D.defineProperty(Yf,{button:"button"},function(){return this.zv},function(a){this.zv=a;if(null===this.event)switch(a){case 0:this.buttons=1;break;case 1:this.buttons=4;break;case 2:this.buttons=2}});D.defineProperty(Yf,{buttons:"buttons"},function(){return this.Av},function(a){this.Av=a});D.defineProperty(Yf,{key:"key"},function(){return this.kw},function(a){this.kw=a});D.defineProperty(Yf,{jm:"down"},function(){return this.Ov},function(a){this.Ov=a});
-D.defineProperty(Yf,{up:"up"},function(){return this.ex},function(a){this.ex=a});D.defineProperty(Yf,{Oe:"clickCount"},function(){return this.Bv},function(a){this.Bv=a});D.defineProperty(Yf,{im:"delta"},function(){return this.Lv},function(a){this.Lv=a});D.defineProperty(Yf,{yu:"isMultiTouch"},function(){return this.gw},function(a){this.gw=a});D.defineProperty(Yf,{Mc:"handled"},function(){return this.Wv},function(a){this.Wv=a});
-D.defineProperty(Yf,{bubbles:"bubbles"},function(){return this.ak},function(a){this.ak=a});D.defineProperty(Yf,{event:"event"},function(){return this.Rr},function(a){this.Rr=a});D.w(Yf,{Mj:"isTouchEvent"},function(){var a=window.TouchEvent;return a&&this.event instanceof a?!0:(a=window.PointerEvent)&&this.event instanceof a&&"touch"===this.event.pointerType});D.w(Yf,{Wk:"isMac"},function(){return D.Wk});D.defineProperty(Yf,{timestamp:"timestamp"},function(){return this.ax},function(a){this.ax=a});
-D.defineProperty(Yf,{gh:"targetDiagram"},function(){return this.$w},function(a){this.$w=a});D.defineProperty(Yf,{We:"targetObject"},function(){return this.Qg},function(a){this.Qg=a});D.defineProperty(Yf,{control:"control"},function(){return 0!==(this.Kd&1)},function(a){this.Kd=a?this.Kd|1:this.Kd&-2});D.defineProperty(Yf,{shift:"shift"},function(){return 0!==(this.Kd&4)},function(a){this.Kd=a?this.Kd|4:this.Kd&-5});
-D.defineProperty(Yf,{alt:"alt"},function(){return 0!==(this.Kd&2)},function(a){this.Kd=a?this.Kd|2:this.Kd&-3});D.defineProperty(Yf,{Hu:"meta"},function(){return 0!==(this.Kd&8)},function(a){this.Kd=a?this.Kd|8:this.Kd&-9});D.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});
-D.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});D.defineProperty(Yf,{ZL:"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.ba=null;this.Xb="";this.Gw=this.Yw=null;this.lr=!1}D.ja("DiagramEvent",$f);$f.prototype.copy=function(){var a=new $f;a.ba=this.ba;a.Xb=this.Xb;a.Yw=this.Yw;a.Gw=this.Gw;a.lr=this.lr;return a};$f.prototype.toString=function(){var a="*"+this.name;null!==this.PB&&(a+=":"+this.PB.toString());null!==this.uB&&(a+="("+this.uB.toString()+")");return a};D.defineProperty($f,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});
-D.defineProperty($f,{name:"name"},function(){return this.Xb},function(a){this.Xb=a});D.defineProperty($f,{PB:"subject"},function(){return this.Yw},function(a){this.Yw=a});D.defineProperty($f,{uB:"parameter"},function(){return this.Gw},function(a){this.Gw=a});D.defineProperty($f,{cancel:"cancel"},function(){return this.lr},function(a){this.lr!==a&&D.Pn("DiagramEvent.cancel","2.0");this.lr=a});function ag(){this.mr=bg;this.ln=this.vw="";this.Ls=this.Ms=this.Qs=this.Rs=this.Ps=this.ba=this.ve=null}
-D.ja("ChangedEvent",ag);var cg;ag.Transaction=cg=D.s(ag,"Transaction",-1);var bg;ag.Property=bg=D.s(ag,"Property",0);var dg;ag.Insert=dg=D.s(ag,"Insert",1);var og;ag.Remove=og=D.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ls=this.Ms=this.Qs=this.Rs=this.Ps=this.ba=this.ve=null};
-ag.prototype.copy=function(){var a=new ag;a.mr=this.mr;a.vw=this.vw;a.ln=this.ln;a.ve=this.ve;a.ba=this.ba;a.Ps=this.Ps;var b=this.Rs;a.Rs=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Qs;a.Qs=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Ms;a.Ms=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=D.Ta(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.oc=function(a){a.Ne===ag?this.Jc=a:D.Xj(this,a)};
-ag.prototype.toString=function(){var a="",a=this.Jc===cg?a+"* ":this.Jc===bg?a+(null!==this.ga?"!m":"!d"):a+((null!==this.ga?"!m":"!d")+this.Jc);this.propertyName&&"string"===typeof this.propertyName&&(a+=" "+this.propertyName);this.xf&&this.xf!==this.propertyName&&(a+=" "+this.xf);a+=": ";this.Jc===cg?null!==this.oldValue&&(a+=" "+this.oldValue):(null!==this.object&&(a+=ja(this.object)),null!==this.oldValue&&(a+=" old: "+ja(this.oldValue)),null!==this.Tj&&(a+=" "+this.Tj),null!==this.newValue&&
+D.defineProperty(Ye,{je:"defaultStretch"},function(){return this.Ui},function(a){v&&D.Da(a,P,Ye,"stretch");this.J&&D.pa(this,a);this.Ui=a});D.w(Ye,{nb:"bounds"},function(){this.Yx()&&(this.Oy(),this.Lh());return this.Ev});function $e(a,b,c,d){D.uc(this);this.J=!1;void 0===c&&(c=!0);this.Tm=c;void 0===d&&(d=!0);this.op=d;void 0!==a?(v&&D.p(a,$e,"sx"),this.xc=a):this.xc=0;void 0!==b?(v&&D.p(b,$e,"sy"),this.Hc=b):this.Hc=0;this.Kp=new K(Wf);this.Vw=this.Kp.I;this.mb=!0}D.ka("PathFigure",$e);D.Ai($e);
+$e.prototype.copy=function(){var a=new $e;a.Tm=this.Tm;a.op=this.op;a.xc=this.xc;a.Hc=this.Hc;for(var b=this.Kp.o,c=b.length,d=a.Kp,e=0;ea?"M"+this.la.toString()+" "+this.ja.toString():"M"+this.la.toFixed(a)+" "+this.ja.toFixed(a),c=this.Db.o,d=c.length,e=0;ea&&(a+=360),this.Pd=a,this.ef=0,v&&D.p(d,Wf,"x1"),this.Dh=Math.max(d,0),v&&D.p(e,Wf,"y1"),this.Ng=Math.max(e,0),this.tp="boolean"===typeof h?!!h:!1,this.Lo=!!k):(v&&D.p(d,Wf,"x1"),this.Pd=d,v&&D.p(e,
+Wf,"y1"),this.ef=e,v&&D.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Dh=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Ng=h):this.Ng=0,this.Lo=this.tp=!1);this.fi=!1;this.mb=!0;this.wg=null}D.ka("PathSegment",Wf);D.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.ca=this.ca;a.Ab=this.Ab;a.Ib=this.Ib;a.Pd=this.Pd;a.ef=this.ef;a.Dh=this.Dh;a.Ng=this.Ng;a.tp=this.tp;a.Lo=this.Lo;a.fi=this.fi;a.mb=this.mb;return a};
+Wf.prototype.equalsApprox=Wf.prototype.Tc=function(a){if(!(a instanceof Wf)||this.type!==a.type||this.Ux!==a.Ux)return!1;switch(this.type){case Cf:case uf:return Q(this.G,a.G)&&Q(this.H,a.H);case Df:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Bc,a.Bc)&&Q(this.Xc,a.Xc)&&Q(this.Sh,a.Sh)&&Q(this.Th,a.Th);case Of:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Bc,a.Bc)&&Q(this.Xc,a.Xc);case Pf:return Q(this.Le,a.Le)&&Q(this.zf,a.zf)&&Q(this.oa,a.oa)&&Q(this.va,a.va)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,
+a.radiusY);case Qf:return this.um===a.um&&this.Zx===a.Zx&&Q(this.Zj,a.Zj)&&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.Ne===Wf?this.type=a:D.Xj(this,a)};
+Wf.prototype.toString=function(a){void 0===a&&(a=-1);var b="";switch(this.type){case Cf:b=0>a?"M"+this.G.toString()+" "+this.H.toString():"M"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case uf:b=0>a?"L"+this.G.toString()+" "+this.H.toString():"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Df:b=0>a?"C"+this.Bc.toString()+" "+this.Xc.toString()+" "+this.Sh.toString()+" "+this.Th.toString()+" "+this.G.toString()+" "+this.H.toString():"C"+this.Bc.toFixed(a)+" "+this.Xc.toFixed(a)+" "+this.Sh.toFixed(a)+
+" "+this.Th.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Of:b=0>a?"Q"+this.Bc.toString()+" "+this.Xc.toString()+" "+this.G.toString()+" "+this.H.toString():"Q"+this.Bc.toFixed(a)+" "+this.Xc.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Pf:b=0>a?"B"+this.Le.toString()+" "+this.zf.toString()+" "+this.oa.toString()+" "+this.va.toString()+" "+this.radiusX:"B"+this.Le.toFixed(a)+" "+this.zf.toFixed(a)+" "+this.oa.toFixed(a)+" "+this.va.toFixed(a)+" "+this.radiusX;
+break;case Qf:b=0>a?"A"+this.radiusX.toString()+" "+this.radiusY.toString()+" "+this.Zj.toString()+" "+(this.Zx?1:0)+" "+(this.um?1:0)+" "+this.G.toString()+" "+this.H.toString():"A"+this.radiusX.toFixed(a)+" "+this.radiusY.toFixed(a)+" "+this.Zj.toFixed(a)+" "+(this.Zx?1:0)+" "+(this.um?1:0)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;default:b=this.type.toString()}return b+(this.fi?"z":"")};var Cf;Wf.Move=Cf=D.s(Wf,"Move",0);var uf;Wf.Line=uf=D.s(Wf,"Line",1);var Df;
+Wf.Bezier=Df=D.s(Wf,"Bezier",2);var Of;Wf.QuadraticBezier=Of=D.s(Wf,"QuadraticBezier",3);var Pf;Wf.Arc=Pf=D.s(Wf,"Arc",4);var Qf;Wf.SvgArc=Qf=D.s(Wf,"SvgArc",4);Wf.prototype.freeze=function(){this.J=!0;return this};Wf.prototype.Ya=function(){this.J=!1;return this};Wf.prototype.close=Wf.prototype.close=function(){this.fi=!0;return this};
+function Rf(a,b){if(null!==a.wg&&!1===b.mb)return a.wg;var c=a.radiusX,d=a.radiusY;void 0===d&&(d=c);if(0===c||0===d)return a.wg=[],a.wg;var e=a.Pd,g=a.ef,h=Ve(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=Ve(b>g?b:g,n,n+h,!0);g=D.Qf();g.reset();g.translate(c,d);g.rotate(a.Pd,0,0);g.scale(l,r);Af(b,g);D.He(g);a.wg=b;return a.wg}
+D.defineProperty(Wf,{Ux:"isClosed"},function(){return this.fi},function(a){this.fi!==a&&(this.fi=a,this.mb=!0)});D.defineProperty(Wf,{type:"type"},function(){return this.ca},function(a){v&&D.Da(a,Wf,Wf,"type");this.J&&D.pa(this,a);this.ca=a;this.mb=!0});D.defineProperty(Wf,{G:"endX"},function(){return this.Ab},function(a){v&&D.p(a,Wf,"endX");this.J&&D.pa(this,a);this.Ab=a;this.mb=!0});
+D.defineProperty(Wf,{H:"endY"},function(){return this.Ib},function(a){v&&D.p(a,Wf,"endY");this.J&&D.pa(this,a);this.Ib=a;this.mb=!0});D.defineProperty(Wf,{Bc:"point1X"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"point1X");this.J&&D.pa(this,a);this.Pd=a;this.mb=!0});D.defineProperty(Wf,{Xc:"point1Y"},function(){return this.ef},function(a){v&&D.p(a,Wf,"point1Y");this.J&&D.pa(this,a);this.ef=a;this.mb=!0});
+D.defineProperty(Wf,{Sh:"point2X"},function(){return this.Dh},function(a){v&&D.p(a,Wf,"point2X");this.J&&D.pa(this,a);this.Dh=a;this.mb=!0});D.defineProperty(Wf,{Th:"point2Y"},function(){return this.Ng},function(a){v&&D.p(a,Wf,"point2Y");this.J&&D.pa(this,a);this.Ng=a;this.mb=!0});D.defineProperty(Wf,{oa:"centerX"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"centerX");this.J&&D.pa(this,a);this.Pd=a;this.mb=!0});
+D.defineProperty(Wf,{va:"centerY"},function(){return this.ef},function(a){v&&D.p(a,Wf,"centerY");this.J&&D.pa(this,a);this.ef=a;this.mb=!0});D.defineProperty(Wf,{radiusX:"radiusX"},function(){return this.Dh},function(a){v&&D.p(a,Wf,"radiusX");0>a&&D.ua(a,">= zero",Wf,"radiusX");this.J&&D.pa(this,a);this.Dh=a;this.mb=!0});D.defineProperty(Wf,{radiusY:"radiusY"},function(){return this.Ng},function(a){v&&D.p(a,Wf,"radiusY");0>a&&D.ua(a,">= zero",Wf,"radiusY");this.J&&D.pa(this,a);this.Ng=a;this.mb=!0});
+D.defineProperty(Wf,{Le:"startAngle"},function(){return this.Ab},function(a){this.Ab!==a&&(this.J&&D.pa(this,a),v&&D.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Ab=a,this.mb=!0)});D.defineProperty(Wf,{zf:"sweepAngle"},function(){return this.Ib},function(a){v&&D.p(a,Wf,"sweepAngle");this.J&&D.pa(this,a);360a&&(a=-360);this.Ib=a;this.mb=!0});D.defineProperty(Wf,{um:"isClockwiseArc"},function(){return this.Lo},function(a){this.J&&D.pa(this,a);this.Lo=a;this.mb=!0});
+D.defineProperty(Wf,{Zx:"isLargeArc"},function(){return this.tp},function(a){this.J&&D.pa(this,a);this.tp=a;this.mb=!0});D.defineProperty(Wf,{Zj:"xAxisRotation"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.J&&D.pa(this,a);this.Pd=a;this.mb=!0});
+function Yf(){this.ba=null;this.mA=(new O(0,0)).freeze();this.uz=(new O(0,0)).freeze();this.Bv=this.yw=0;this.Cv=1;this.mw="";this.hx=this.Qv=!1;this.Nv=this.Dv=0;this.ak=this.Yv=this.iw=!1;this.Rr=null;this.ex=0;this.Rg=this.bx=null}D.ka("InputEvent",Yf);
+Yf.prototype.copy=function(){var a=new Yf;a.ba=this.ba;a.mA.assign(this.qe);a.uz.assign(this.ha);a.yw=this.yw;a.Bv=this.Bv;a.Cv=this.Cv;a.mw=this.mw;a.Qv=this.Qv;a.hx=this.hx;a.Dv=this.Dv;a.Nv=this.Nv;a.iw=this.iw;a.Yv=this.Yv;a.ak=this.ak;a.Rr=this.Rr;a.ex=this.ex;a.bx=this.bx;a.Rg=this.Rg;return a};
+Yf.prototype.toString=function(){var a="^";0!==this.Kd&&(a+="M:"+this.Kd);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Oe&&(a+="C:"+this.Oe);0!==this.jm&&(a+="D:"+this.jm);this.Mc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};D.defineProperty(Yf,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});D.defineProperty(Yf,{qe:"viewPoint"},function(){return this.mA},function(a){D.l(a,O,Yf,"viewPoint");this.mA.assign(a)});
+D.defineProperty(Yf,{ha:"documentPoint"},function(){return this.uz},function(a){D.l(a,O,Yf,"documentPoint");this.uz.assign(a)});Yf.prototype.getMultiTouchViewPoint=Yf.prototype.Qx=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.YB(b));return b};D.defineProperty(Yf,{Kd:"modifiers"},function(){return this.yw},function(a){this.yw=a});
+D.defineProperty(Yf,{button:"button"},function(){return this.Bv},function(a){this.Bv=a;if(null===this.event)switch(a){case 0:this.buttons=1;break;case 1:this.buttons=4;break;case 2:this.buttons=2}});D.defineProperty(Yf,{buttons:"buttons"},function(){return this.Cv},function(a){this.Cv=a});D.defineProperty(Yf,{key:"key"},function(){return this.mw},function(a){this.mw=a});D.defineProperty(Yf,{km:"down"},function(){return this.Qv},function(a){this.Qv=a});
+D.defineProperty(Yf,{up:"up"},function(){return this.hx},function(a){this.hx=a});D.defineProperty(Yf,{Oe:"clickCount"},function(){return this.Dv},function(a){this.Dv=a});D.defineProperty(Yf,{jm:"delta"},function(){return this.Nv},function(a){this.Nv=a});D.defineProperty(Yf,{Au:"isMultiTouch"},function(){return this.iw},function(a){this.iw=a});D.defineProperty(Yf,{Mc:"handled"},function(){return this.Yv},function(a){this.Yv=a});
+D.defineProperty(Yf,{bubbles:"bubbles"},function(){return this.ak},function(a){this.ak=a});D.defineProperty(Yf,{event:"event"},function(){return this.Rr},function(a){this.Rr=a});D.w(Yf,{Mj:"isTouchEvent"},function(){var a=window.TouchEvent;return a&&this.event instanceof a?!0:(a=window.PointerEvent)&&this.event instanceof a&&"touch"===this.event.pointerType});D.w(Yf,{Xk:"isMac"},function(){return D.Xk});D.defineProperty(Yf,{timestamp:"timestamp"},function(){return this.ex},function(a){this.ex=a});
+D.defineProperty(Yf,{hh:"targetDiagram"},function(){return this.bx},function(a){this.bx=a});D.defineProperty(Yf,{We:"targetObject"},function(){return this.Rg},function(a){this.Rg=a});D.defineProperty(Yf,{control:"control"},function(){return 0!==(this.Kd&1)},function(a){this.Kd=a?this.Kd|1:this.Kd&-2});D.defineProperty(Yf,{shift:"shift"},function(){return 0!==(this.Kd&4)},function(a){this.Kd=a?this.Kd|4:this.Kd&-5});
+D.defineProperty(Yf,{alt:"alt"},function(){return 0!==(this.Kd&2)},function(a){this.Kd=a?this.Kd|2:this.Kd&-3});D.defineProperty(Yf,{Ju:"meta"},function(){return 0!==(this.Kd&8)},function(a){this.Kd=a?this.Kd|8:this.Kd&-9});D.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});
+D.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});D.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.ba=null;this.Yb="";this.Iw=this.$w=null;this.lr=!1}D.ka("DiagramEvent",$f);$f.prototype.copy=function(){var a=new $f;a.ba=this.ba;a.Yb=this.Yb;a.$w=this.$w;a.Iw=this.Iw;a.lr=this.lr;return a};$f.prototype.toString=function(){var a="*"+this.name;null!==this.PB&&(a+=":"+this.PB.toString());null!==this.uB&&(a+="("+this.uB.toString()+")");return a};D.defineProperty($f,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});
+D.defineProperty($f,{name:"name"},function(){return this.Yb},function(a){this.Yb=a});D.defineProperty($f,{PB:"subject"},function(){return this.$w},function(a){this.$w=a});D.defineProperty($f,{uB:"parameter"},function(){return this.Iw},function(a){this.Iw=a});D.defineProperty($f,{cancel:"cancel"},function(){return this.lr},function(a){this.lr!==a&&D.Pn("DiagramEvent.cancel","2.0");this.lr=a});function ag(){this.mr=bg;this.ln=this.xw="";this.Ls=this.Ms=this.Qs=this.Rs=this.Ps=this.ba=this.ve=null}
+D.ka("ChangedEvent",ag);var cg;ag.Transaction=cg=D.s(ag,"Transaction",-1);var bg;ag.Property=bg=D.s(ag,"Property",0);var ng;ag.Insert=ng=D.s(ag,"Insert",1);var og;ag.Remove=og=D.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ls=this.Ms=this.Qs=this.Rs=this.Ps=this.ba=this.ve=null};
+ag.prototype.copy=function(){var a=new ag;a.mr=this.mr;a.xw=this.xw;a.ln=this.ln;a.ve=this.ve;a.ba=this.ba;a.Ps=this.Ps;var b=this.Rs;a.Rs=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Qs;a.Qs=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Ms;a.Ms=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=D.Ta(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.pc=function(a){a.Ne===ag?this.Jc=a:D.Xj(this,a)};
+ag.prototype.toString=function(){var a="",a=this.Jc===cg?a+"* ":this.Jc===bg?a+(null!==this.ga?"!m":"!d"):a+((null!==this.ga?"!m":"!d")+this.Jc);this.propertyName&&"string"===typeof this.propertyName&&(a+=" "+this.propertyName);this.yf&&this.yf!==this.propertyName&&(a+=" "+this.yf);a+=": ";this.Jc===cg?null!==this.oldValue&&(a+=" "+this.oldValue):(null!==this.object&&(a+=ja(this.object)),null!==this.oldValue&&(a+=" old: "+ja(this.oldValue)),null!==this.Tj&&(a+=" "+this.Tj),null!==this.newValue&&
(a+=" new: "+ja(this.newValue)),null!==this.Rj&&(a+=" "+this.Rj));return a};ag.prototype.getValue=ag.prototype.na=function(a){return a?this.oldValue:this.newValue};ag.prototype.getParam=function(a){return a?this.Tj:this.Rj};ag.prototype.canUndo=ag.prototype.canUndo=function(){return null!==this.ga||null!==this.g?!0:!1};ag.prototype.undo=ag.prototype.undo=function(){this.canUndo()&&(null!==this.ga?this.ga.Gn(this,!0):null!==this.g&&this.g.Gn(this,!0))};
ag.prototype.canRedo=ag.prototype.canRedo=function(){return null!==this.ga||null!==this.g?!0:!1};ag.prototype.redo=ag.prototype.redo=function(){this.canRedo()&&(null!==this.ga?this.ga.Gn(this,!1):null!==this.g&&this.g.Gn(this,!1))};D.defineProperty(ag,{ga:"model"},function(){return this.ve},function(a){this.ve=a});D.defineProperty(ag,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});
-D.defineProperty(ag,{Jc:"change"},function(){return this.mr},function(a){v&&D.Da(a,ag,ag,"change");this.mr=a});D.defineProperty(ag,{xf:"modelChange"},function(){return this.vw},function(a){v&&D.h(a,"string",ag,"modelChange");this.vw=a});D.defineProperty(ag,{propertyName:"propertyName"},function(){return this.ln},function(a){v&&"string"!==typeof a&&D.h(a,"function",ag,"propertyName");this.ln=a});
-D.w(ag,{YF:"isTransactionFinished"},function(){return this.mr===cg&&("CommittedTransaction"===this.ln||"FinishedUndo"===this.ln||"FinishedRedo"===this.ln)});D.defineProperty(ag,{object:"object"},function(){return this.Ps},function(a){this.Ps=a});D.defineProperty(ag,{oldValue:"oldValue"},function(){return this.Rs},function(a){this.Rs=a});D.defineProperty(ag,{Tj:"oldParam"},function(){return this.Qs},function(a){this.Qs=a});
+D.defineProperty(ag,{Jc:"change"},function(){return this.mr},function(a){v&&D.Da(a,ag,ag,"change");this.mr=a});D.defineProperty(ag,{yf:"modelChange"},function(){return this.xw},function(a){v&&D.h(a,"string",ag,"modelChange");this.xw=a});D.defineProperty(ag,{propertyName:"propertyName"},function(){return this.ln},function(a){v&&"string"!==typeof a&&D.h(a,"function",ag,"propertyName");this.ln=a});
+D.w(ag,{ZF:"isTransactionFinished"},function(){return this.mr===cg&&("CommittedTransaction"===this.ln||"FinishedUndo"===this.ln||"FinishedRedo"===this.ln)});D.defineProperty(ag,{object:"object"},function(){return this.Ps},function(a){this.Ps=a});D.defineProperty(ag,{oldValue:"oldValue"},function(){return this.Rs},function(a){this.Rs=a});D.defineProperty(ag,{Tj:"oldParam"},function(){return this.Qs},function(a){this.Qs=a});
D.defineProperty(ag,{newValue:"newValue"},function(){return this.Ms},function(a){this.Ms=a});D.defineProperty(ag,{Rj:"newParam"},function(){return this.Ls},function(a){this.Ls=a});
-function M(a){1g?b+("\\u000"+a.charCodeAt(d).toString(16)):32>g?b+("\\u00"+a.charCodeAt(d).toString(16)):8232===g?b+"\\u2028":8233===g?b+"\\u2029":b+e}return'"'+b+'"'};
-M.prototype.writeJsonValue=M.prototype.jv=function(a){return void 0===a?"undefined":null===a?"null":!0===a?"true":!1===a?"false":"string"===typeof a?this.quote(a):"number"===typeof a?Infinity===a?"9e9999":-Infinity===a?"-9e9999":isNaN(a)?'{"class":"NaN"}':a.toString():a instanceof Date?'{"class":"Date", "value":"'+a.toJSON()+'"}':a instanceof Number?this.jv(a.valueOf()):D.isArray(a)?ug(this,a):D.Ta(a)?rg(this,a):"function"===typeof a?"null":a.toString()};
-function ug(a,b,c){void 0===c&&(c=!1);var d=D.cb(b);if(0>=d)return"[]";var e=new ya;e.add("[ ");c&&1=d)return"[]";var e=new ya;e.add("[ ");c&&1d)return;D.Ug(a.we,d)}Xg(a,"nodeDataArray",og,"nodeDataArray",a,b,null,d,null);a.hv(b)}
-M.prototype.removeNodeDataCollection=function(a){if(D.isArray(a))for(var b=D.cb(a),c=0;cd)return;D.Vg(a.we,d)}Xg(a,"nodeDataArray",og,"nodeDataArray",a,b,null,d,null);a.jv(b)}
+M.prototype.removeNodeDataCollection=function(a){if(D.isArray(a))for(var b=D.eb(a),c=0;cb&&(b=D.cb(a));D.Ih(a,b,c);Xg(this,"",dg,"",a,null,c,null,b)};
-M.prototype.removeArrayItem=M.prototype.vG=function(a,b){void 0===b&&(b=-1);v&&(D.Wt(a,M,"removeArrayItem:arr"),D.p(b,M,"removeArrayItem:idx"));a===this.we&&D.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=D.cb(a)-1);var c=D.La(a,b);D.Ug(a,b);Xg(this,"",og,"",a,c,null,b,null)};D.defineProperty(M,{oo:"nodeCategoryProperty"},function(){return this.fn},function(a){var b=this.fn;b!==a&&(Yg(a,M,"nodeCategoryProperty"),this.fn=a,this.i("nodeCategoryProperty",b,a))});
+D.defineProperty(M,{SH:"afterCopyFunction"},function(){return this.cr},function(a){var b=this.cr;b!==a&&(null!==a&&D.h(a,"function",M,"afterCopyFunction"),this.cr=a,this.i("afterCopyFunction",b,a))});var hh=!1;
+M.prototype.setDataProperty=function(a,b,c){v&&(D.h(a,"object",M,"setDataProperty:data"),D.h(b,"string",M,"setDataProperty:propname"),""===b&&D.k("Model.setDataProperty: property name must not be an empty string when setting "+a+" to "+c));if(this.ie(a))if(b===this.Sj)this.Jy(a,c);else{if(b===this.oo){this.Hy(a,c);return}}else!hh&&a instanceof P&&(hh=!0,D.trace('Model.setDataProperty is modifying a GraphObject, "'+a.toString()+'"'),D.trace(" Is that really your intent?"));var d=D.vb(a,b);d!==c&&
+(D.Ua(a,b,c),this.vB(a,b,d,c))};M.prototype.addArrayItem=function(a,b){this.YA(a,-1,b)};M.prototype.insertArrayItem=M.prototype.YA=function(a,b,c){v&&(D.Wt(a,M,"insertArrayItem:arr"),D.p(b,M,"insertArrayItem:idx"));a===this.we&&D.k("Model.insertArrayItem or Model.addArrayItem should not be called on the Model.nodeDataArray");0>b&&(b=D.eb(a));D.Jh(a,b,c);Xg(this,"",ng,"",a,null,c,null,b)};
+M.prototype.removeArrayItem=M.prototype.wG=function(a,b){void 0===b&&(b=-1);v&&(D.Wt(a,M,"removeArrayItem:arr"),D.p(b,M,"removeArrayItem:idx"));a===this.we&&D.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=D.eb(a)-1);var c=D.La(a,b);D.Vg(a,b);Xg(this,"",og,"",a,c,null,b,null)};D.defineProperty(M,{oo:"nodeCategoryProperty"},function(){return this.fn},function(a){var b=this.fn;b!==a&&(Yg(a,M,"nodeCategoryProperty"),this.fn=a,this.i("nodeCategoryProperty",b,a))});
M.prototype.getCategoryForNodeData=M.prototype.QA=function(a){if(null===a)return"";var b=this.fn;if(""===b)return"";b=D.vb(a,b);if(void 0===b)return"";if("string"===typeof b)return b;D.k("getCategoryForNodeData found a non-string category for "+a+": "+b);return""};
-M.prototype.setCategoryForNodeData=M.prototype.Gy=function(a,b){D.h(b,"string",M,"setCategoryForNodeData:cat");if(null!==a){var c=this.fn;if(""!==c)if(this.ie(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"nodeCategory",bg,c,a,d,b))}else D.Ua(a,c,b)}};
-function Y(a,b){M.call(this);2D.am(d,a.newValue)&&D.Ih(d,c,a.newValue));return}}else if(a.Jc===
-og){c=a.Tj;if("linkDataArray"===a.xf){d=a.oldValue;D.Ta(d)&&"number"===typeof c&&(e=this.eg(d),b?(this.hi.add(d),D.La(this.bf,c)!==d&&D.Ih(this.bf,c,d),void 0!==e&&this.pd.add(e,d)):(this.hi.remove(d),D.La(this.bf,c)===d&&D.Ug(this.bf,c),void 0!==e&&this.pd.remove(e)));return}if("linkLabelKeys"===a.xf){d=this.Sk(a.object);D.isArray(d)&&"number"===typeof c&&(b?0>D.am(d,a.newValue)&&D.Ih(d,c,a.newValue):(c=D.am(d,a.newValue),0<=c&&D.Ug(d,c)));return}}M.prototype.Gn.call(this,a,b)};
-D.defineProperty(Y,{sA:"archetypeNodeData"},function(){return this.ql},function(a){var b=this.ql;b!==a&&(null!==a&&D.l(a,Object,Y,"archetypeNodeData"),this.ql=a,this.i("archetypeNodeData",b,a))});Y.prototype.ho=function(a){if(void 0!==a){var b=this.ql;if(null!==b){var c=this.Fe(a);null===c&&(c=this.copyNodeData(b),D.Ua(c,this.wk,a),this.Xl(c))}return a}};
-D.defineProperty(Y,{eo:"linkFromKeyProperty"},function(){return this.ii},function(a){var b=this.ii;b!==a&&(Yg(a,Y,"linkFromKeyProperty"),this.ii=a,this.i("linkFromKeyProperty",b,a))});Y.prototype.getFromKeyForLinkData=Y.prototype.qm=function(a){if(null!==a){var b=this.ii;if(""!==b&&(b=D.vb(a,b),void 0!==b)){if(Zg(b))return b;D.k("FromKey value for link data "+a+" is not a number or a string: "+b)}}};
-Y.prototype.setFromKeyForLinkData=Y.prototype.FB=function(a,b){null===b&&(b=void 0);void 0===b||Zg(b)||D.hc(b,"number or string",Y,"setFromKeyForLinkData:key");if(null!==a){var c=this.ii;if(""!==c)if(b=this.ho(b),this.Lh(a)){var d=D.vb(a,c);d!==b&&(dh(this,d,a),D.Ua(a,c,b),null===this.Fe(b)&&ch(this,b,a),Xg(this,"linkFromKey",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
-D.defineProperty(Y,{fo:"linkToKeyProperty"},function(){return this.ji},function(a){var b=this.ji;b!==a&&(Yg(a,Y,"linkToKeyProperty"),this.ji=a,this.i("linkToKeyProperty",b,a))});Y.prototype.getToKeyForLinkData=Y.prototype.rm=function(a){if(null!==a){var b=this.ji;if(""!==b&&(b=D.vb(a,b),void 0!==b)){if(Zg(b))return b;D.k("ToKey value for link data "+a+" is not a number or a string: "+b)}}};
-Y.prototype.setToKeyForLinkData=Y.prototype.LB=function(a,b){null===b&&(b=void 0);void 0===b||Zg(b)||D.hc(b,"number or string",Y,"setToKeyForLinkData:key");if(null!==a){var c=this.ji;if(""!==c)if(b=this.ho(b),this.Lh(a)){var d=D.vb(a,c);d!==b&&(dh(this,d,a),D.Ua(a,c,b),null===this.Fe(b)&&ch(this,b,a),Xg(this,"linkToKey",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
-D.defineProperty(Y,{Du:"linkFromPortIdProperty"},function(){return this.an},function(a){var b=this.an;b!==a&&(Yg(a,Y,"linkFromPortIdProperty"),a!==this.eo&&a!==this.fo||D.k("linkFromPortIdProperty name must not be the same as the GraphLinksModel.linkFromKeyProperty or linkToKeyProperty: "+a),this.an=a,this.i("linkFromPortIdProperty",b,a))});Y.prototype.getFromPortIdForLinkData=Y.prototype.NI=function(a){if(null===a)return"";var b=this.an;if(""===b)return"";a=D.vb(a,b);return void 0===a?"":a};
-Y.prototype.setFromPortIdForLinkData=Y.prototype.GB=function(a,b){D.h(b,"string",Y,"setFromPortIdForLinkData:portname");if(null!==a){var c=this.an;if(""!==c)if(this.Lh(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"linkFromPortId",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
-D.defineProperty(Y,{Fu:"linkToPortIdProperty"},function(){return this.bn},function(a){var b=this.bn;b!==a&&(Yg(a,Y,"linkToPortIdProperty"),a!==this.eo&&a!==this.fo||D.k("linkFromPortIdProperty name must not be the same as the GraphLinksModel.linkFromKeyProperty or linkToKeyProperty: "+a),this.bn=a,this.i("linkToPortIdProperty",b,a))});Y.prototype.getToPortIdForLinkData=Y.prototype.SI=function(a){if(null===a)return"";var b=this.bn;if(""===b)return"";a=D.vb(a,b);return void 0===a?"":a};
-Y.prototype.setToPortIdForLinkData=Y.prototype.MB=function(a,b){D.h(b,"string",Y,"setToPortIdForLinkData:portname");if(null!==a){var c=this.bn;if(""!==c)if(this.Lh(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"linkToPortId",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};D.defineProperty(Y,{Eu:"linkLabelKeysProperty"},function(){return this.Ig},function(a){var b=this.Ig;b!==a&&(Yg(a,Y,"linkLabelKeysProperty"),this.Ig=a,this.i("linkLabelKeysProperty",b,a))});
-Y.prototype.getLabelKeysForLinkData=Y.prototype.Sk=function(a){if(null===a)return D.Do;var b=this.Ig;if(""===b)return D.Do;a=D.vb(a,b);return void 0===a?D.Do:a};
-Y.prototype.setLabelKeysForLinkData=Y.prototype.TG=function(a,b){D.Wt(b,Y,"setLabelKeysForLinkData:arr");if(null!==a){var c=this.Ig;if(""!==c)if(this.Lh(a)){var d=D.vb(a,c);void 0===d&&(d=D.Do);if(d!==b){for(var e=D.cb(d),g=0;ge||(D.Ug(d,e),this.Lh(a)&&(dh(this,b,a),Xg(this,"linkLabelKeys",og,c,a,b,null,e,null)))}else void 0!==d&&D.k(c+" property is not an Array; cannot removeLabelKeyforLinkData: "+a)}}};
-D.defineProperty(Y,{Zg:"linkDataArray"},function(){return this.bf},function(a){var b=this.bf;if(b!==a){D.Wt(a,Y,"linkDataArray");this.pd.clear();for(var c=D.cb(a),d=0;dd)return;D.Ug(a.bf,d)}Xg(a,"linkDataArray",og,"linkDataArray",a,b,null,d,null);c=a.qm(b);dh(a,c,b);c=a.rm(b);dh(a,c,b);d=a.Sk(b);if(D.isArray(d))for(var e=D.cb(d),g=0;gD.bm(d,a.newValue)&&D.Jh(d,c,a.newValue));return}}else if(a.Jc===
+og){c=a.Tj;if("linkDataArray"===a.yf){d=a.oldValue;D.Ta(d)&&"number"===typeof c&&(e=this.fg(d),b?(this.hi.add(d),D.La(this.bf,c)!==d&&D.Jh(this.bf,c,d),void 0!==e&&this.pd.add(e,d)):(this.hi.remove(d),D.La(this.bf,c)===d&&D.Vg(this.bf,c),void 0!==e&&this.pd.remove(e)));return}if("linkLabelKeys"===a.yf){d=this.Tk(a.object);D.isArray(d)&&"number"===typeof c&&(b?0>D.bm(d,a.newValue)&&D.Jh(d,c,a.newValue):(c=D.bm(d,a.newValue),0<=c&&D.Vg(d,c)));return}}M.prototype.Gn.call(this,a,b)};
+D.defineProperty(Y,{tA:"archetypeNodeData"},function(){return this.rl},function(a){var b=this.rl;b!==a&&(null!==a&&D.l(a,Object,Y,"archetypeNodeData"),this.rl=a,this.i("archetypeNodeData",b,a))});Y.prototype.ho=function(a){if(void 0!==a){var b=this.rl;if(null!==b){var c=this.Fe(a);null===c&&(c=this.copyNodeData(b),D.Ua(c,this.xk,a),this.Yl(c))}return a}};
+D.defineProperty(Y,{eo:"linkFromKeyProperty"},function(){return this.ii},function(a){var b=this.ii;b!==a&&(Yg(a,Y,"linkFromKeyProperty"),this.ii=a,this.i("linkFromKeyProperty",b,a))});Y.prototype.getFromKeyForLinkData=Y.prototype.rm=function(a){if(null!==a){var b=this.ii;if(""!==b&&(b=D.vb(a,b),void 0!==b)){if(Zg(b))return b;D.k("FromKey value for link data "+a+" is not a number or a string: "+b)}}};
+Y.prototype.setFromKeyForLinkData=Y.prototype.FB=function(a,b){null===b&&(b=void 0);void 0===b||Zg(b)||D.ic(b,"number or string",Y,"setFromKeyForLinkData:key");if(null!==a){var c=this.ii;if(""!==c)if(b=this.ho(b),this.Mh(a)){var d=D.vb(a,c);d!==b&&(dh(this,d,a),D.Ua(a,c,b),null===this.Fe(b)&&ch(this,b,a),Xg(this,"linkFromKey",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
+D.defineProperty(Y,{fo:"linkToKeyProperty"},function(){return this.ji},function(a){var b=this.ji;b!==a&&(Yg(a,Y,"linkToKeyProperty"),this.ji=a,this.i("linkToKeyProperty",b,a))});Y.prototype.getToKeyForLinkData=Y.prototype.sm=function(a){if(null!==a){var b=this.ji;if(""!==b&&(b=D.vb(a,b),void 0!==b)){if(Zg(b))return b;D.k("ToKey value for link data "+a+" is not a number or a string: "+b)}}};
+Y.prototype.setToKeyForLinkData=Y.prototype.LB=function(a,b){null===b&&(b=void 0);void 0===b||Zg(b)||D.ic(b,"number or string",Y,"setToKeyForLinkData:key");if(null!==a){var c=this.ji;if(""!==c)if(b=this.ho(b),this.Mh(a)){var d=D.vb(a,c);d!==b&&(dh(this,d,a),D.Ua(a,c,b),null===this.Fe(b)&&ch(this,b,a),Xg(this,"linkToKey",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
+D.defineProperty(Y,{Fu:"linkFromPortIdProperty"},function(){return this.an},function(a){var b=this.an;b!==a&&(Yg(a,Y,"linkFromPortIdProperty"),a!==this.eo&&a!==this.fo||D.k("linkFromPortIdProperty name must not be the same as the GraphLinksModel.linkFromKeyProperty or linkToKeyProperty: "+a),this.an=a,this.i("linkFromPortIdProperty",b,a))});Y.prototype.getFromPortIdForLinkData=Y.prototype.OI=function(a){if(null===a)return"";var b=this.an;if(""===b)return"";a=D.vb(a,b);return void 0===a?"":a};
+Y.prototype.setFromPortIdForLinkData=Y.prototype.GB=function(a,b){D.h(b,"string",Y,"setFromPortIdForLinkData:portname");if(null!==a){var c=this.an;if(""!==c)if(this.Mh(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"linkFromPortId",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
+D.defineProperty(Y,{Hu:"linkToPortIdProperty"},function(){return this.bn},function(a){var b=this.bn;b!==a&&(Yg(a,Y,"linkToPortIdProperty"),a!==this.eo&&a!==this.fo||D.k("linkFromPortIdProperty name must not be the same as the GraphLinksModel.linkFromKeyProperty or linkToKeyProperty: "+a),this.bn=a,this.i("linkToPortIdProperty",b,a))});Y.prototype.getToPortIdForLinkData=Y.prototype.TI=function(a){if(null===a)return"";var b=this.bn;if(""===b)return"";a=D.vb(a,b);return void 0===a?"":a};
+Y.prototype.setToPortIdForLinkData=Y.prototype.MB=function(a,b){D.h(b,"string",Y,"setToPortIdForLinkData:portname");if(null!==a){var c=this.bn;if(""!==c)if(this.Mh(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"linkToPortId",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};D.defineProperty(Y,{Gu:"linkLabelKeysProperty"},function(){return this.Jg},function(a){var b=this.Jg;b!==a&&(Yg(a,Y,"linkLabelKeysProperty"),this.Jg=a,this.i("linkLabelKeysProperty",b,a))});
+Y.prototype.getLabelKeysForLinkData=Y.prototype.Tk=function(a){if(null===a)return D.Do;var b=this.Jg;if(""===b)return D.Do;a=D.vb(a,b);return void 0===a?D.Do:a};
+Y.prototype.setLabelKeysForLinkData=Y.prototype.UG=function(a,b){D.Wt(b,Y,"setLabelKeysForLinkData:arr");if(null!==a){var c=this.Jg;if(""!==c)if(this.Mh(a)){var d=D.vb(a,c);void 0===d&&(d=D.Do);if(d!==b){for(var e=D.eb(d),g=0;ge||(D.Vg(d,e),this.Mh(a)&&(dh(this,b,a),Xg(this,"linkLabelKeys",og,c,a,b,null,e,null)))}else void 0!==d&&D.k(c+" property is not an Array; cannot removeLabelKeyforLinkData: "+a)}}};
+D.defineProperty(Y,{$g:"linkDataArray"},function(){return this.bf},function(a){var b=this.bf;if(b!==a){D.Wt(a,Y,"linkDataArray");this.pd.clear();for(var c=D.eb(a),d=0;dd)return;D.Vg(a.bf,d)}Xg(a,"linkDataArray",og,"linkDataArray",a,b,null,d,null);c=a.rm(b);dh(a,c,b);c=a.sm(b);dh(a,c,b);d=a.Tk(b);if(D.isArray(d))for(var e=D.eb(d),g=0;ga.Vh&&D.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Vh;d&&b&&a.rd("CommittingTransaction",c,a.Cj);var e=0;if(0a.Hj;e--)g=d.ea(e),null!==g&&g.clear(),
-d.jd(e),a.Nz=!0;e=a.fG;0===e&&(e=1);0=e&&(g=d.ea(0),null!==g&&g.clear(),d.jd(0),a.sh--);d.add(b);a.sh++;d.freeze();g=b}a.rd("CommittedTransaction",c,g)}else{a.aj=!0;try{a.isEnabled&&null!==g&&(g.uu=!0,g.undo())}finally{a.rd("RolledBackTransaction",c,g),a.aj=!1}null!==g&&g.clear()}a.Kv=null;return!0}if(a.isEnabled&&!b&&null!==g){a=e;c=g.bg;for(b=c.count-1;b>=a;b--)d=c.ea(b),null!==d&&d.undo(),c.Ya(),c.jd(b);c.freeze()}return!1}
-pg.prototype.canUndo=pg.prototype.canUndo=function(){if(!this.isEnabled||0=this.Vh&&!this.Dz&&(a=a.g,null!==a&&!1===a.$n||D.trace("Change not within a transaction: "+c.toString()))}};
-pg.prototype.skipsEvent=function(a){if(null===a||0>a.Jc.value)return!0;a=a.object;if(a instanceof P){if(a=a.layer,null!==a&&a.Uc)return!0}else if(a instanceof Ug&&a.Uc)return!0;return!1};D.w(pg,{LJ:"models"},function(){return this.Sz.j});D.defineProperty(pg,{isEnabled:"isEnabled"},function(){return this.mf},function(a){this.mf=a});D.w(pg,{hH:"transactionToUndo"},function(){return 0<=this.Hj&&this.Hj<=this.history.count-1?this.history.ea(this.Hj):null});
-D.w(pg,{gH:"transactionToRedo"},function(){return this.Hja.Wh&&D.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Wh;d&&b&&a.rd("CommittingTransaction",c,a.Cj);var e=0;if(0a.Hj;e--)g=d.ea(e),null!==g&&g.clear(),
+d.jd(e),a.Oz=!0;e=a.gG;0===e&&(e=1);0=e&&(g=d.ea(0),null!==g&&g.clear(),d.jd(0),a.th--);d.add(b);a.th++;d.freeze();g=b}a.rd("CommittedTransaction",c,g)}else{a.aj=!0;try{a.isEnabled&&null!==g&&(g.wu=!0,g.undo())}finally{a.rd("RolledBackTransaction",c,g),a.aj=!1}null!==g&&g.clear()}a.Mv=null;return!0}if(a.isEnabled&&!b&&null!==g){a=e;c=g.cg;for(b=c.count-1;b>=a;b--)d=c.ea(b),null!==d&&d.undo(),c.Ya(),c.jd(b);c.freeze()}return!1}
+pg.prototype.canUndo=pg.prototype.canUndo=function(){if(!this.isEnabled||0=this.Wh&&!this.Ez&&(a=a.g,null!==a&&!1===a.$n||D.trace("Change not within a transaction: "+c.toString()))}};
+pg.prototype.skipsEvent=function(a){if(null===a||0>a.Jc.value)return!0;a=a.object;if(a instanceof P){if(a=a.layer,null!==a&&a.Uc)return!0}else if(a instanceof Ug&&a.Uc)return!0;return!1};D.w(pg,{MJ:"models"},function(){return this.Tz.j});D.defineProperty(pg,{isEnabled:"isEnabled"},function(){return this.nf},function(a){this.nf=a});D.w(pg,{iH:"transactionToUndo"},function(){return 0<=this.Hj&&this.Hj<=this.history.count-1?this.history.ea(this.Hj):null});
+D.w(pg,{hH:"transactionToRedo"},function(){return this.Hjb.Ph||(b.scale=a))};oa.prototype.canDecreaseZoom=function(a){void 0===a&&(a=1/this.Oy);D.p(a,oa,"canDecreaseZoom:factor");var b=this.g;if(null===b||b.bm!==Rh)return!1;a*=b.scale;return ab.Ph?!1:b.sx};
-oa.prototype.increaseZoom=function(a){void 0===a&&(a=this.Oy);D.p(a,oa,"increaseZoom:factor");var b=this.g;null!==b&&b.bm===Rh&&(a*=b.scale,ab.Ph||(b.scale=a))};oa.prototype.canIncreaseZoom=function(a){void 0===a&&(a=this.Oy);D.p(a,oa,"canIncreaseZoom:factor");var b=this.g;if(null===b||b.bm!==Rh)return!1;a*=b.scale;return ab.Ph?!1:b.sx};oa.prototype.resetZoom=function(a){void 0===a&&(a=this.Bx);D.p(a,oa,"resetZoom:newscale");var b=this.g;null===b||ab.Ph||(b.scale=a)};
-oa.prototype.canResetZoom=function(a){void 0===a&&(a=this.Bx);D.p(a,oa,"canResetZoom:newscale");var b=this.g;return null===b||ab.Ph?!1:b.sx};oa.prototype.zoomToFit=function(){var a=this.g;if(null!==a){var b=a.scale,c=a.position;b===this.oA&&!isNaN(this.Oz)&&a.dd.P(this.nA)?(a.scale=this.Oz,a.position=this.vD,this.oA=NaN,this.nA=Hd):(this.Oz=b,this.vD=c.copy(),a.zoomToFit(),this.oA=a.scale,this.nA=a.dd.copy())}};oa.prototype.canZoomToFit=function(){var a=this.g;return null===a?!1:a.sx};
-oa.prototype.scrollToPart=function(a){void 0===a&&(a=null);null!==a&&D.l(a,F,oa,"part");var b=this.g;if(null!==b){if(null===a){try{null!==this.rj&&(this.rj.next()?a=this.rj.value:this.rj=null)}catch(c){this.rj=null}null===a&&(0b.Qh||(b.scale=a))};oa.prototype.canDecreaseZoom=function(a){void 0===a&&(a=1/this.Py);D.p(a,oa,"canDecreaseZoom:factor");var b=this.g;if(null===b||b.cm!==Rh)return!1;a*=b.scale;return ab.Qh?!1:b.ux};
+oa.prototype.increaseZoom=function(a){void 0===a&&(a=this.Py);D.p(a,oa,"increaseZoom:factor");var b=this.g;null!==b&&b.cm===Rh&&(a*=b.scale,ab.Qh||(b.scale=a))};oa.prototype.canIncreaseZoom=function(a){void 0===a&&(a=this.Py);D.p(a,oa,"canIncreaseZoom:factor");var b=this.g;if(null===b||b.cm!==Rh)return!1;a*=b.scale;return ab.Qh?!1:b.ux};oa.prototype.resetZoom=function(a){void 0===a&&(a=this.Dx);D.p(a,oa,"resetZoom:newscale");var b=this.g;null===b||ab.Qh||(b.scale=a)};
+oa.prototype.canResetZoom=function(a){void 0===a&&(a=this.Dx);D.p(a,oa,"canResetZoom:newscale");var b=this.g;return null===b||ab.Qh?!1:b.ux};oa.prototype.zoomToFit=function(){var a=this.g;if(null!==a){var b=a.scale,c=a.position;b===this.pA&&!isNaN(this.Pz)&&a.dd.P(this.oA)?(a.scale=this.Pz,a.position=this.vD,this.pA=NaN,this.oA=Hd):(this.Pz=b,this.vD=c.copy(),a.zoomToFit(),this.pA=a.scale,this.oA=a.dd.copy())}};oa.prototype.canZoomToFit=function(){var a=this.g;return null===a?!1:a.ux};
+oa.prototype.scrollToPart=function(a){void 0===a&&(a=null);null!==a&&D.l(a,F,oa,"part");var b=this.g;if(null!==b){if(null===a){try{null!==this.rj&&(this.rj.next()?a=this.rj.value:this.rj=null)}catch(c){this.rj=null}null===a&&(0e||Math.abs(b.y-a.y)>d};D.w(Vg,{g:"diagram"},function(){return this.ba});D.defineProperty(Vg,{name:"name"},function(){return this.Xb},function(a){D.h(a,"string",Vg,"name");this.Xb=a});
-D.defineProperty(Vg,{isEnabled:"isEnabled"},function(){return this.mf},function(a){D.h(a,"boolean",Vg,"isEnabled");this.mf=a});D.defineProperty(Vg,{wa:"isActive"},function(){return this.iD},function(a){D.h(a,"boolean",Vg,"isActive");this.iD=a});D.defineProperty(Vg,{Qf:"transactionResult"},function(){return this.tE},function(a){null!==a&&D.h(a,"string",Vg,"transactionResult");this.tE=a});
-function Qh(){Vg.call(this);0e||Math.abs(b.y-a.y)>d};D.w(Vg,{g:"diagram"},function(){return this.ba});D.defineProperty(Vg,{name:"name"},function(){return this.Yb},function(a){D.h(a,"string",Vg,"name");this.Yb=a});
+D.defineProperty(Vg,{isEnabled:"isEnabled"},function(){return this.nf},function(a){D.h(a,"boolean",Vg,"isEnabled");this.nf=a});D.defineProperty(Vg,{wa:"isActive"},function(){return this.iD},function(a){D.h(a,"boolean",Vg,"isActive");this.iD=a});D.defineProperty(Vg,{Rf:"transactionResult"},function(){return this.tE},function(a){null!==a&&D.h(a,"string",Vg,"transactionResult");this.tE=a});
+function Qh(){Vg.call(this);0e&&(e=k),l>g&&(g=l))}}Infinity===c?b.n(0,0,0,0):b.n(c,d,e-c,g-d)}
-function Oi(a,b){if(null===a.jc){var c=a.g;if(!(null===c||b&&(c.nb||c.Gf))&&null!==a.fc){var d=c.ra;d.isEnabled&&d.UF?null!==d.Cj&&0c.ta)){var d=a.g;if(null!==d&&!d.nb){var e=a.pj;if(null!==e){var g=null,h=null;null===c.aa&&(g=Yi(a,c.m(0),!1),null!==g&&(h=g.Y));var k=null,l=null;null===c.da&&(k=Yi(a,c.m(c.ta-1),!0),null!==k&&(l=k.Y));e.isValidLink(h,g,l,k)?b?(c.gq=c.m(0),c.hq=c.m(c.ta-1),c.zm=!1,c.aa=h,null!==g&&(c.dg=g.ud),c.da=l,null!==k&&(c.jh=k.ud),c.Lc!==a.zw&&d.Ja("LinkRelinked",c,a.zw),c.kd!==a.Aw&&d.Ja("LinkRelinked",c,a.Aw)):Zi(e,h,g,l,k):Zi(e,null,null,null,null)}}}}
+function Oi(a,b){if(null===a.kc){var c=a.g;if(!(null===c||b&&(c.ob||c.Hf))&&null!==a.fc){var d=c.ra;d.isEnabled&&d.VF?null!==d.Cj&&0c.ta)){var d=a.g;if(null!==d&&!d.ob){var e=a.pj;if(null!==e){var g=null,h=null;null===c.aa&&(g=Yi(a,c.m(0),!1),null!==g&&(h=g.Y));var k=null,l=null;null===c.da&&(k=Yi(a,c.m(c.ta-1),!0),null!==k&&(l=k.Y));e.isValidLink(h,g,l,k)?b?(c.gq=c.m(0),c.hq=c.m(c.ta-1),c.Am=!1,c.aa=h,null!==g&&(c.eg=g.ud),c.da=l,null!==k&&(c.kh=k.ud),c.Lc!==a.Bw&&d.Ja("LinkRelinked",c,a.Bw),c.kd!==a.Cw&&d.Ja("LinkRelinked",c,a.Cw)):Zi(e,h,g,l,k):Zi(e,null,null,null,null)}}}}
Qh.prototype.doDragOver=function(){};
-function $i(a,b){var c=a.g;if(null!==c){a.Ej&&Vi(a,!0);Ei(a);var d=Wi(c,b,null,function(b){return!Ti(a,b)}),e=c.U;e.We=d;if(null!==d){e.Mc=!1;for(var g=d;null!==g;){var h=g.lB;if(null!==h&&(h(e,g),e.Mc))break;g=Xi(g)}}else g=c.lB,null!==g&&g(e);if(a.wa||null!==Zh){for(e=(a.jc||a.fc).j;e.next();)g=e.key,g instanceof G&&g.Hd.each(function(a){a.zm=!1});a.doDropOnto(b,d);if(a.wa||null!==Zh){d=D.Of();for(e=c.selection.j;e.next();)g=e.value,g instanceof G&&aj(c,g.getAvoidableRect(d));D.Kb(d)}}}}
-Qh.prototype.doDropOnto=function(){};Qh.prototype.doMouseMove=function(){if(this.wa){var a=this.g;if(null!==a&&null!==this.Nn&&null!==this.fc){var b=!1,c=!1;this.mayCopy()?(b=!0,a.kc="copy",Oi(this,!1),Yh(this,this.jc),Pi(this,this.jc,!1),Fi(this,this.jc)):this.mayMove()?(c=!0,a.kc="default",Ii(this),Pi(this,this.fc,!0)):this.mayDragOut()?(a.kc="no-drop",Oi(this,!1),Pi(this,this.jc,!1)):Ii(this);Ui(this,a.U.ha,c,b)}}};
-Qh.prototype.doMouseUp=function(){if(this.wa){var a=this.g;if(null!==a){var b=!1,c=this.mayCopy();c&&null!==this.jc?(Ii(this),Oi(this,!0),Yh(this,this.jc),Pi(this,this.jc,!1),Fi(this,this.jc),null!==this.jc&&a.OG(this.jc.Yj())):(b=!0,Ii(this),this.mayMove()&&(Pi(this,this.fc,!0),Ui(this,a.U.ha,!0,!1)));this.Lr=!0;$i(this,a.U.ha);if(this.wa){this.jc=null;if(b&&null!==this.fc)for(b=this.fc.j;b.next();){var d=b.key;d instanceof G&&(d=d.Ra,null===d||null===d.placeholder||this.fc.contains(d)||d.placeholder.K())}a.zc();
-Fi(this,this.fc);this.Qf=c?"Copy":"Move";a.Ja(c?"SelectionCopied":"SelectionMoved",a.selection)}this.stopTool()}}};Qh.prototype.mayCopy=function(){if(!this.PF)return!1;var a=this.g;if(null===a||a.nb||a.Gf||!a.Zp||!a.Kk||(D.Wk?!a.U.alt:!a.U.control))return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.oe()&&b.canCopy())return!0}return null!==this.sd&&this.Ej&&this.sd.canCopy()?!0:!1};
-Qh.prototype.mayDragOut=function(){if(!this.PF)return!1;var a=this.g;if(null===a||!a.Tt||!a.Kk||a.Zl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.oe()&&b.canCopy())return!0}return null!==this.sd&&this.Ej&&this.sd.canCopy()?!0:!1};Qh.prototype.mayMove=function(){var a=this.g;if(null===a||a.nb||!a.Zl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.oe()&&b.canMove())return!0}return null!==this.sd&&this.Ej&&this.sd.canMove()?!0:!1};var Gi=new K(Qh),Zh=null,$h=null;
-Qh.prototype.getDraggingSource=function(){return Zh};Qh.prototype.mayDragIn=function(){var a=this.g;if(null===a||!a.HE||a.nb||a.Gf||!a.Zp)return!1;var b=Zh;return null===b||null===b.g||b.g.ga.gm!==a.ga.gm?!1:!0};Qh.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.g;a.Xa.Hi();bj(a);a=Zh;null!==a&&null!==a.g&&(a.g.kc="copy")}};Qh.prototype.doSimulatedDragLeave=function(){var a=Zh;null!==a&&a.doSimulatedDragOut();this.doCancel()};
-Qh.prototype.doSimulatedDragOver=function(){var a=this.g;if(null!==a){var b=Zh;null!==b&&null!==b.fc&&this.mayDragIn()&&(a.kc="copy",cj(this,b.fc.Yj(),!1),Pi(this,this.jc,!1),Ui(this,a.U.ha,!1,!0))}};
-Qh.prototype.doSimulatedDrop=function(){var a=this.g;if(null!==a){var b=Zh;if(null!==b){var c=b.g;b.Lr=!0;Ii(this);this.mayDragIn()&&(this.ac("Drop"),cj(this,b.fc.Yj(),!0),Pi(this,this.jc,!1),null!==this.jc&&a.OG(this.jc.Yj()),$i(this,a.U.ha),a.zc(),b=a.selection,null!==this.jc?this.Qf="ExternalCopy":b=new L(F),this.jc=null,a.doFocus(),a.Ja("ExternalObjectsDropped",b,c),this.dl())}}};
-function cj(a,b,c){if(null===a.jc){var d=a.g;if(null!==d&&!d.nb&&!d.Gf){d.Eb=!c;d.ar=!c;a.cl=d.U.ha;c=d.fq(b,d,!0);var e=D.Of();Ni(b,e);var d=e.x+e.width/2,g=e.y+e.height/2;D.Kb(e);var e=a.Ww,h=new ma(F),k=D.O();for(b=b.j;b.next();){var l=b.value,m=c.na(l);l.oe()&&l.canCopy()?(l=l.location,k.n(e.x-(d-l.x),e.y-(g-l.y)),m.location=k,m.hf(),h.add(m,pi(k))):l instanceof J&&l.canCopy()&&(m.$k(e.x-d,e.y-g),h.add(m,pi()))}D.A(k);a.jc=h;Xh(a,h.Yj());null!==a.sd&&(c=a.sd,d=c.ro,c.$k(a.cl.x-(d.x+d.width/2),
-a.cl.y-(d.y+d.height/2)))}}}Qh.prototype.doSimulatedDragOut=function(){var a=this.g;null!==a&&(this.mayCopy()||this.mayMove()?a.kc="":a.kc="no-drop")};function Ci(a){this.point=a;this.UG=Gd}D.ja("DraggingInfo",Ci);function Qi(a,b,c){this.Wc=a;this.info=b;this.VI=c}
-function dj(){0=d&&(d=.1);for(var e=this,g=b.Qn(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.Y;if(k instanceof G){var l=h.eb(hc,D.O()),m=c.x-l.x,n=c.y-l.y;D.A(l);l=m*m+n*n;lc){if(null!==this.sc&&a===this.ah&&b===this.bh)return!0;var d=b.ud;null===d&&(d="");if(a.Jx(d).count>=c)return!1}return!0};
-dj.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.yq;if(null!==this.g&&this.g.gb===this&&(null!==a.layer&&!a.layer.Ut||!0!==b.cH))return!1;var c=b.xK;if(Infinity>c){if(null!==this.sc&&a===this.dh&&b===this.eh)return!0;var d=b.ud;null===d&&(d="");if(a.Xg(d).count>=c)return!1}return!0};dj.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.Y,d=b.Y;return null!==c&&c===d};
-dj.prototype.isLinked=function(a,b){if(null===a||null===b)return!1;var c=a.Y;if(!(c instanceof G))return!1;var d=a.ud;null===d&&(d="");var e=b.Y;if(!(e instanceof G))return!1;var g=b.ud;null===g&&(g="");for(e=e.Xg(g);e.next();)if(g=e.value,g.aa===c&&g.dg===d)return!0;return!1};
-dj.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.KI&&d.wK||!this.isInSameNode(b,d))&&(b.JI&&d.vK||!this.isLinked(b,d)))||null!==this.sc&&(null!==a&&this.isLabelDependentOnLink(a,this.sc)||null!==c&&this.isLabelDependentOnLink(c,this.sc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.sc))return!1;if(null!==a){var e=a.iy;if(null!==e&&!e(a,b,c,d,this.sc))return!1}if(null!==
-c&&(e=c.iy,null!==e&&!e(a,b,c,d,this.sc)))return!1;e=this.iy;return null!==e?e(a,b,c,d,this.sc):!0};dj.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Ac;if(null===c)return!1;if(c===b)return!0;var d=new L(G);d.add(a);return ej(this,c,b,d)};function ej(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.uf&&(d.add(e),ej(a,e.Ac,c,d)))return!0;b=b.da;return null!==b&&b.uf&&(d.add(b),ej(a,b.Ac,c,d))?!0:!1}
-dj.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.yq;var d=null!==this.g?this.g.DK:fj;if(d!==fj){if(d===gj){if(null!==c&&!c.Vc)return!0;for(d=b.Hd;d.next();){var e=d.value;if(e!==c&&e.Vc&&e.da===b)return!1}return!hj(this,a,b,c,!0)}if(d===ij){if(null!==c&&!c.Vc)return!0;for(d=a.Hd;d.next();)if(e=d.value,e!==c&&e.Vc&&e.aa===a)return!1;return!hj(this,a,b,c,!0)}if(d===jj)return a===b?a=!0:(d=new L(G),d.add(b),a=kj(this,d,a,b,c)),!a;if(d===lj)return!hj(this,
+D.defineProperty(dj,{bh:"originalFromNode"},function(){return this.MD},function(a){null!==a&&D.l(a,G,dj,"originalFromNode");this.MD=a});D.defineProperty(dj,{dh:"originalFromPort"},function(){return this.ND},function(a){null!==a&&D.l(a,P,dj,"originalFromPort");this.ND=a});D.defineProperty(dj,{eh:"originalToNode"},function(){return this.RD},function(a){null!==a&&D.l(a,G,dj,"originalToNode");this.RD=a});
+D.defineProperty(dj,{fh:"originalToPort"},function(){return this.SD},function(a){null!==a&&D.l(a,P,dj,"originalToPort");this.SD=a});D.defineProperty(dj,{Yd:"isForwards"},function(){return this.pD},function(a){D.h(a,"boolean",dj,"isForwards");this.pD=a});D.w(dj,{Ny:"validPortsCache"},function(){return this.IH});D.defineProperty(dj,{Of:"targetPort"},function(){return this.hE},function(a){null!==a&&D.l(a,P,dj,"targetPort");this.hE=a});
+dj.prototype.copyPortProperties=function(a,b,c,d,e){if(null!==a&&null!==b&&null!==c&&null!==d){d.Ea=b.$.size;e?(d.Hb=b.Hb,d.Em=b.Em):(d.Gb=b.Gb,d.pm=b.pm);c.Mf=hc;var g=D.O();c.location=b.fb(hc,g);D.A(g);d.angle=b.qm();null!==this.vy&&this.vy(a,b,c,d,e)}};dj.prototype.setNoTargetPortProperties=function(a,b,c){null!==b&&(b.Ea=Yd,b.Gb=$b,b.Hb=$b);null!==a&&null!==this.g&&(a.location=this.g.U.ha);null!==this.vy&&this.vy(null,null,a,b,c)};dj.prototype.doMouseDown=function(){this.wa&&this.doMouseMove()};
+dj.prototype.doMouseMove=function(){if(this.wa){var a=this.g;if(null!==a){this.Of=this.findTargetPort(this.Yd);if(null!==this.Of&&this.Of.Y instanceof G){var b=this.Of.Y;this.Yd?this.copyPortProperties(b,this.Of,this.be,this.yo,!0):this.copyPortProperties(b,this.Of,this.ae,this.xo,!1)}else this.Yd?this.setNoTargetPortProperties(this.be,this.yo,!0):this.setNoTargetPortProperties(this.ae,this.xo,!1);(a.ye||a.ze)&&a.GA(a.U.qe)}}};
+dj.prototype.findValidLinkablePort=function(a,b){if(null===a)return null;var c=a.Y;if(!(c instanceof G))return null;for(;null!==a;){var d=b?a.dH:a.vF;if(!0===d&&(null!==a.ud||a instanceof G)&&(b?this.isValidTo(c,a):this.isValidFrom(c,a)))return a;if(!1===d)break;a=a.Q}return null};
+dj.prototype.findTargetPort=function(a){var b=this.g,c=b.U.ha,d=this.tG;0>=d&&(d=.1);for(var e=this,g=b.Qn(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.Y;if(k instanceof G){var l=h.fb(hc,D.O()),m=c.x-l.x,n=c.y-l.y;D.A(l);l=m*m+n*n;lc){if(null!==this.sc&&a===this.bh&&b===this.dh)return!0;var d=b.ud;null===d&&(d="");if(a.Lx(d).count>=c)return!1}return!0};
+dj.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.yq;if(null!==this.g&&this.g.hb===this&&(null!==a.layer&&!a.layer.Ut||!0!==b.dH))return!1;var c=b.yK;if(Infinity>c){if(null!==this.sc&&a===this.eh&&b===this.fh)return!0;var d=b.ud;null===d&&(d="");if(a.Yg(d).count>=c)return!1}return!0};dj.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.Y,d=b.Y;return null!==c&&c===d};
+dj.prototype.isLinked=function(a,b){if(null===a||null===b)return!1;var c=a.Y;if(!(c instanceof G))return!1;var d=a.ud;null===d&&(d="");var e=b.Y;if(!(e instanceof G))return!1;var g=b.ud;null===g&&(g="");for(e=e.Yg(g);e.next();)if(g=e.value,g.aa===c&&g.eg===d)return!0;return!1};
+dj.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.LI&&d.xK||!this.isInSameNode(b,d))&&(b.KI&&d.wK||!this.isLinked(b,d)))||null!==this.sc&&(null!==a&&this.isLabelDependentOnLink(a,this.sc)||null!==c&&this.isLabelDependentOnLink(c,this.sc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.sc))return!1;if(null!==a){var e=a.jy;if(null!==e&&!e(a,b,c,d,this.sc))return!1}if(null!==
+c&&(e=c.jy,null!==e&&!e(a,b,c,d,this.sc)))return!1;e=this.jy;return null!==e?e(a,b,c,d,this.sc):!0};dj.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Ac;if(null===c)return!1;if(c===b)return!0;var d=new L(G);d.add(a);return ej(this,c,b,d)};function ej(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.vf&&(d.add(e),ej(a,e.Ac,c,d)))return!0;b=b.da;return null!==b&&b.vf&&(d.add(b),ej(a,b.Ac,c,d))?!0:!1}
+dj.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.yq;var d=null!==this.g?this.g.EK:fj;if(d!==fj){if(d===gj){if(null!==c&&!c.Vc)return!0;for(d=b.Hd;d.next();){var e=d.value;if(e!==c&&e.Vc&&e.da===b)return!1}return!hj(this,a,b,c,!0)}if(d===ij){if(null!==c&&!c.Vc)return!0;for(d=a.Hd;d.next();)if(e=d.value,e!==c&&e.Vc&&e.aa===a)return!1;return!hj(this,a,b,c,!0)}if(d===jj)return a===b?a=!0:(d=new L(G),d.add(b),a=kj(this,d,a,b,c)),!a;if(d===lj)return!hj(this,
a,b,c,!1);if(d===mj)return a===b?a=!0:(d=new L(G),d.add(b),a=nj(this,d,a,b,c)),!a}return!0};function hj(a,b,c,d,e){if(b===c)return!0;if(null===b||null===c)return!1;for(var g=b.Hd;g.next();){var h=g.value;if(h!==d&&(!e||h.Vc)&&h.da===b&&(h=h.aa,h!==b&&hj(a,h,c,d,e)))return!0}return!1}function kj(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.Hd;g.next();){var h=g.value;if(h!==e&&h.da===c&&(h=h.aa,h!==c&&kj(a,b,h,d,e)))return!0}return!1}
-function nj(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.Hd;g.next();){var h=g.value;if(h!==e){var k=h.aa,h=h.da,k=k===c?h:k;if(k!==c&&nj(a,b,k,d,e))return!0}}return!1}D.defineProperty(dj,{iy:"linkValidation"},function(){return this.Il},function(a){null!==a&&D.h(a,"function",dj,"linkValidation");this.Il=a});D.defineProperty(dj,{uy:"portTargeted"},function(){return this.VD},function(a){null!==a&&D.h(a,"function",dj,"portTargeted");this.VD=a});
-function ra(){0b.iu+1&&cb.iu+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?
-"ne-resize":"e-resize"}else if(a instanceof x)for(c=a.elements;c.next();)this.updateResizeHandles(c.value,b)};D.defineProperty(Uj,{qu:"handleArchetype"},function(){return this.xl},function(a){null!==a&&D.l(a,P,Uj,"handleArchetype");this.xl=a});D.w(Uj,{handle:"handle"},function(){return this.nc});D.defineProperty(Uj,{zb:"adornedObject"},function(){return this.Qc},function(a){null!==a&&D.l(a,P,Uj,"adornedObject");this.Qc=a});
-Uj.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.g;return null!==a&&!a.nb&&a.Vt&&a.U.left?null!==this.findToolHandleAt(a.Kc.ha,this.name):!1};
-Uj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.nc=this.findToolHandleAt(a.Kc.ha,this.name),null!==this.nc&&(this.Qc=this.nc.Y.zb,this.Ep.set(this.zb.eb(this.handle.alignment.nG())),this.QD.set(this.Qc.Y.location),this.LD.set(this.Qc.Ea),this.zz=this.computeCellSize(),this.Bz=this.computeMinSize(),this.Az=this.computeMaxSize(),a.jf=!0,this.HD=a.Xa.isEnabled,a.Xa.isEnabled=!1,this.ac(this.name),this.wa=!0))};
-Uj.prototype.doDeactivate=function(){var a=this.g;null!==a&&(this.dl(),this.Qc=this.nc=null,this.wa=a.jf=!1,a.Xa.isEnabled=this.HD)};Uj.prototype.doCancel=function(){null!==this.zb&&(this.zb.Ea=this.oG,this.zb.Y.location=this.SJ);this.stopTool()};Uj.prototype.doMouseMove=function(){var a=this.g;if(this.wa&&null!==a){var b=this.Bz,c=this.Az,d=this.zz,e=this.zb.xF(a.U.ha,D.O()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);a.hg();D.A(e)}};
-Uj.prototype.doMouseUp=function(){var a=this.g;if(this.wa&&null!==a){var b=this.Bz,c=this.Az,d=this.zz,e=this.zb.xF(a.U.ha,D.O()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);D.A(e);a.zc();this.Qf=this.name;a.Ja("PartResized",this.zb,this.oG)}this.stopTool()};
-Uj.prototype.resize=function(a){if(null!==this.g){var b=this.zb,c=b.Y;b.Ea=a.size;c.hf();a=this.zb.eb(this.handle.alignment.nG());c instanceof I?(a=c.position.copy().wo(a).add(this.Ep),c.move(a)):c.location=c.location.copy().wo(a).add(this.Ep)}};
+"ne-resize":"e-resize"}else if(a instanceof x)for(c=a.elements;c.next();)this.updateResizeHandles(c.value,b)};D.defineProperty(Uj,{su:"handleArchetype"},function(){return this.yl},function(a){null!==a&&D.l(a,P,Uj,"handleArchetype");this.yl=a});D.w(Uj,{handle:"handle"},function(){return this.oc});D.defineProperty(Uj,{zb:"adornedObject"},function(){return this.Qc},function(a){null!==a&&D.l(a,P,Uj,"adornedObject");this.Qc=a});
+Uj.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.g;return null!==a&&!a.ob&&a.Vt&&a.U.left?null!==this.findToolHandleAt(a.Kc.ha,this.name):!1};
+Uj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.oc=this.findToolHandleAt(a.Kc.ha,this.name),null!==this.oc&&(this.Qc=this.oc.Y.zb,this.Ep.set(this.zb.fb(this.handle.alignment.oG())),this.QD.set(this.Qc.Y.location),this.LD.set(this.Qc.Ea),this.Az=this.computeCellSize(),this.Cz=this.computeMinSize(),this.Bz=this.computeMaxSize(),a.kf=!0,this.HD=a.Xa.isEnabled,a.Xa.isEnabled=!1,this.ac(this.name),this.wa=!0))};
+Uj.prototype.doDeactivate=function(){var a=this.g;null!==a&&(this.el(),this.Qc=this.oc=null,this.wa=a.kf=!1,a.Xa.isEnabled=this.HD)};Uj.prototype.doCancel=function(){null!==this.zb&&(this.zb.Ea=this.pG,this.zb.Y.location=this.TJ);this.stopTool()};Uj.prototype.doMouseMove=function(){var a=this.g;if(this.wa&&null!==a){var b=this.Cz,c=this.Bz,d=this.Az,e=this.zb.yF(a.U.ha,D.O()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);a.ig();D.A(e)}};
+Uj.prototype.doMouseUp=function(){var a=this.g;if(this.wa&&null!==a){var b=this.Cz,c=this.Bz,d=this.Az,e=this.zb.yF(a.U.ha,D.O()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);D.A(e);a.zc();this.Rf=this.name;a.Ja("PartResized",this.zb,this.pG)}this.stopTool()};
+Uj.prototype.resize=function(a){if(null!==this.g){var b=this.zb,c=b.Y;b.Ea=a.size;c.jf();a=this.zb.fb(this.handle.alignment.oG());c instanceof I?(a=c.position.copy().wo(a).add(this.Ep),c.move(a)):c.location=c.location.copy().wo(a).add(this.Ep)}};
Uj.prototype.computeResize=function(a,b,c,d,e,g){b.Zd()&&(b=hc);var h=this.zb.Ga,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=D.O();fb(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)));D.A(q);return a};Uj.prototype.computeReshape=function(){var a=Xj;this.zb instanceof z&&(a=Yj(this.zb));return!(a===Zj||a===ak||null!==this.g&&this.g.U.shift)};Uj.prototype.computeMinSize=function(){var a=this.zb.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};
-Uj.prototype.computeMaxSize=function(){var a=this.zb.kf.copy(),b=this.kf;!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};D.defineProperty(bk,{oK:"snapAngleMultiple"},function(){return this.aE},function(a){D.h(a,"number",bk,"snapAngleMultiple");this.aE=a});
-D.defineProperty(bk,{nK:"snapAngleEpsilon"},function(){return this.$D},function(a){D.h(a,"number",bk,"snapAngleEpsilon");this.$D=a});D.w(bk,{gM:"originalAngle"},function(){return this.Bw});function dk(){Vg.call(this);0a.width&&(a.width=b.width);!isNaN(b.height)&&b.height>a.height&&(a.height=b.height);return a};
+Uj.prototype.computeMaxSize=function(){var a=this.zb.lf.copy(),b=this.lf;!isNaN(b.width)&&b.widtha&&(a+=360));var b=Math.min(Math.abs(this.pK),180),c=Math.min(Math.abs(this.oK),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};D.defineProperty(bk,{pK:"snapAngleMultiple"},function(){return this.aE},function(a){D.h(a,"number",bk,"snapAngleMultiple");this.aE=a});
+D.defineProperty(bk,{oK:"snapAngleEpsilon"},function(){return this.$D},function(a){D.h(a,"number",bk,"snapAngleEpsilon");this.$D=a});D.w(bk,{iM:"originalAngle"},function(){return this.Dw});function dk(){Vg.call(this);0e.right&&(c.x-=d.width+5);c.xe.bottom&&(c.y-=d.height+5);c.ye.right&&(c.x-=d.width+5);c.xe.bottom&&(c.y-=d.height+5);c.ya.U.Oe?!1:!0};ok.prototype.doStart=function(){this.wa||null===this.ih||this.doActivate()};
-ok.prototype.doActivate=function(){if(!this.wa){var a=this.g;if(null!==a){var b=this.ih;null===b&&(b=a.Ge(a.U.ha,function(a){return a instanceof na?a:null}));if(null!==b&&(this.ih=b,null!==b.Y)){this.wa=!0;this.$a=xk;var c=this.rI;null!==b.bH&&(c=b.bH);this.Ck=this.ih.copy();var d=new B(this.ih.eb(dc),this.ih.eb(uc));a.hK(d);if(c instanceof fk)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.Fy&&(c.select(),c.setSelectionRange(0,9999));a.Dj.appendChild(c)}this.Bj=c}}}};ok.prototype.doCancel=function(){null!==this.Nl&&this.Bj instanceof HTMLElement&&(this.Bj.style.border=this.Nl,this.Nl=null);this.stopTool()};ok.prototype.doMouseUp=function(){!this.wa&&this.canStart()&&this.doActivate()};ok.prototype.doMouseDown=function(){this.wa&&this.acceptText(tk)};
-ok.prototype.acceptText=function(a){switch(a){case tk:if(this.$a===Bk)this.Bj instanceof HTMLElement&&this.Bj.focus();else if(this.$a===xk||this.$a===Ak||this.$a===yk)this.$a=zk,Ek(this);break;case sk:case vk:case uk:if(vk===a&&!0===this.hA.Zx)break;if(this.$a===xk||this.$a===Ak||this.$a===yk)this.$a=zk,Ek(this)}};
-function Ek(a){var b=a.ih,c=a.g,d=a.Bj;if(null!==b&&null!==d){var e=b.text,g="";d instanceof fk?null!==d.bC&&(g=d.bC()):(g=d.value,g="function"===typeof g?g():g);a.isValidText(b,e,g)?(a.ac(a.name),a.$a=Bk,d instanceof fk?d.show(b,c,a):null!==a.Nl&&(d.style.border=a.Nl,a.Nl=null),a.Qf=a.name,b.text=g,null!==b.aH&&b.aH(b,e,g),null!==c&&c.Ja("TextEdited",b,e),a.dl(),a.stopTool(),null!==c&&c.doFocus()):(a.$a=Ak,null!==b.KA&&b.KA(a,e,g),d instanceof fk?d.show(b,c,a):(null===a.Nl&&(a.Nl=d.style.border,
-d.style.border="3px solid red"),"function"===typeof d.focus&&d.focus()))}}ok.prototype.doDeactivate=function(){var a=this.g;if(null!==a){this.$a=qk;this.ih=null;if(null!==this.Bj){var b=this.Bj;if(b instanceof fk)b.Xn(a,this);else{if("function"===typeof b.onDeactivate)b.onDeactivate();null!==b&&a.Dj.removeChild(b)}}this.wa=!1}};ok.prototype.doFocus=function(){v&&D.Pn("TextEditingTool.doFocus","2.0");Ck(this)};ok.prototype.doBlur=function(){v&&D.Pn("TextEditingTool.doBlur","2.0");Dk(this)};
-function Ck(a){if(null!==a.Bj){var b=a.nz;a.$a===xk&&(a.$a=yk);"function"===typeof b.select&&a.Fy&&(b.select(),b.setSelectionRange(0,9999))}}function Dk(a){if(null!==a.Bj){var b=a.nz;"function"===typeof b.focus&&b.focus();"function"===typeof b.select&&a.Fy&&(b.select(),b.setSelectionRange(0,9999))}}ok.prototype.isValidText=function(a,b,c){D.l(a,na,ok,"isValidText:textblock");var d=this.RB;if(null!==d&&!d(a,b,c))return!1;d=a.RB;return null===d||d(a,b,c)?!0:!1};
-D.defineProperty(ok,{RB:"textValidation"},function(){return this.Sl},function(a){null!==a&&D.h(a,"function",ok,"textValidation");this.Sl=a});D.defineProperty(ok,{iG:"minimumEditorScale"},function(){return this.BD},function(a){null!==a&&D.h(a,"number",ok,"minimumEditorScale");this.BD=a});D.defineProperty(ok,{Fy:"selectsTextOnActivate"},function(){return this.YD},function(a){null!==a&&D.h(a,"boolean",ok,"selectsTextOnActivate");this.YD=a});
-D.defineProperty(ok,{state:"state"},function(){return this.$a},function(a){this.$a!==a&&(D.Da(a,ok,ok,"starting"),this.$a=a)});ok.prototype.measureTemporaryTextBlock=ok.prototype.GJ=function(a){var b=this.Ck;b.text=a;Fk(b,this.ih.vp,Infinity);return b};function Lh(){Vg.call(this);this.name="ToolManager";this.xH=new K(Vg);this.yH=new K(Vg);this.zH=new K(Vg);this.fD=this.gD=850;this.VC=(new Ca(2,2)).Na();this.qE=5E3;this.FD=Wh;this.dD=Gk;this.Jv=this.JC=null;this.xn=-1}D.Sa(Lh,Vg);
-D.ja("ToolManager",Lh);var Wh;Lh.WheelScroll=Wh=D.s(Lh,"WheelScroll",0);var Vh;Lh.WheelZoom=Vh=D.s(Lh,"WheelZoom",1);Lh.WheelNone=D.s(Lh,"WheelNone",2);var Gk;Lh.GestureZoom=Gk=D.s(Lh,"GestureZoom",3);var Hk;Lh.GestureCancel=Hk=D.s(Lh,"GestureCancel",4);var Ik;Lh.GestureNone=Ik=D.s(Lh,"GestureNone",5);D.defineProperty(Lh,{Ku:"mouseWheelBehavior"},function(){return this.FD},function(a){D.Da(a,Lh,Lh,"mouseWheelBehavior");this.FD=a});
-D.defineProperty(Lh,{pq:"gestureBehavior"},function(){return this.dD},function(a){D.Da(a,Lh,Lh,"gestureBehavior");this.dD=a});Lh.prototype.initializeStandardTools=function(){this.JH=new ek;this.uG=new ai;this.yJ=new Cj;this.HG=new Uj;this.eK=new bk;this.eG=new ra;this.De=new Qh;this.vI=new mk;this.TJ=new nk;this.yA=new hk;this.QB=new ok;this.$H=new ta;this.aI=new dk};
-Lh.prototype.updateAdornments=function(a){var b=this.fm;if(b instanceof da&&this.Jv===a){var c=b.zb;(null!==a?c.Y===a:null===c)?this.showToolTip(b,c):this.hideToolTip()}};
-Lh.prototype.doMouseDown=function(){var a=this.g;if(null!==a){var b=a.U;b.Mj&&this.pq===Hk&&(b.bubbles=!1);if(b.yu){this.cancelWaitAfter();if(this.pq===Ik){b.bubbles=!0;return}if(this.pq===Hk)return;if(a.gb.canStartMultiTouch()){a.gb.standardPinchZoomStart();return}}var c=a.ra;c.uA&&0!==c.Vh&&D.trace("WARNING: In ToolManager.doMouseDown: UndoManager.transactionLevel is not zero");for(var c=this.lf.length,d=0;da.U.Oe?!1:!0};ok.prototype.doStart=function(){this.wa||null===this.jh||this.doActivate()};
+ok.prototype.doActivate=function(){if(!this.wa){var a=this.g;if(null!==a){var b=this.jh;null===b&&(b=a.Ge(a.U.ha,function(a){return a instanceof na?a:null}));if(null!==b&&(this.jh=b,null!==b.Y)){this.wa=!0;this.$a=xk;var c=this.sI;null!==b.cH&&(c=b.cH);this.Dk=this.jh.copy();var d=new B(this.jh.fb(dc),this.jh.fb(uc));a.iK(d);if(c instanceof fk)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.Gy&&(c.select(),c.setSelectionRange(0,9999));a.Dj.appendChild(c)}this.Bj=c}}}};ok.prototype.doCancel=function(){null!==this.Ol&&this.Bj instanceof HTMLElement&&(this.Bj.style.border=this.Ol,this.Ol=null);this.stopTool()};ok.prototype.doMouseUp=function(){!this.wa&&this.canStart()&&this.doActivate()};ok.prototype.doMouseDown=function(){this.wa&&this.acceptText(tk)};
+ok.prototype.acceptText=function(a){switch(a){case tk:if(this.$a===Bk)this.Bj instanceof HTMLElement&&this.Bj.focus();else if(this.$a===xk||this.$a===Ak||this.$a===yk)this.$a=zk,Ek(this);break;case sk:case vk:case uk:if(vk===a&&!0===this.iA.$x)break;if(this.$a===xk||this.$a===Ak||this.$a===yk)this.$a=zk,Ek(this)}};
+function Ek(a){var b=a.jh,c=a.g,d=a.Bj;if(null!==b&&null!==d){var e=b.text,g="";d instanceof fk?null!==d.bC&&(g=d.bC()):(g=d.value,g="function"===typeof g?g():g);a.isValidText(b,e,g)?(a.ac(a.name),a.$a=Bk,d instanceof fk?d.show(b,c,a):null!==a.Ol&&(d.style.border=a.Ol,a.Ol=null),a.Rf=a.name,b.text=g,null!==b.bH&&b.bH(b,e,g),null!==c&&c.Ja("TextEdited",b,e),a.el(),a.stopTool(),null!==c&&c.doFocus()):(a.$a=Ak,null!==b.LA&&b.LA(a,e,g),d instanceof fk?d.show(b,c,a):(null===a.Ol&&(a.Ol=d.style.border,
+d.style.border="3px solid red"),"function"===typeof d.focus&&d.focus()))}}ok.prototype.doDeactivate=function(){var a=this.g;if(null!==a){this.$a=qk;this.jh=null;if(null!==this.Bj){var b=this.Bj;if(b instanceof fk)b.Xn(a,this);else{if("function"===typeof b.onDeactivate)b.onDeactivate();null!==b&&a.Dj.removeChild(b)}}this.wa=!1}};ok.prototype.doFocus=function(){v&&D.Pn("TextEditingTool.doFocus","2.0");Ck(this)};ok.prototype.doBlur=function(){v&&D.Pn("TextEditingTool.doBlur","2.0");Dk(this)};
+function Ck(a){if(null!==a.Bj){var b=a.oz;a.$a===xk&&(a.$a=yk);"function"===typeof b.select&&a.Gy&&(b.select(),b.setSelectionRange(0,9999))}}function Dk(a){if(null!==a.Bj){var b=a.oz;"function"===typeof b.focus&&b.focus();"function"===typeof b.select&&a.Gy&&(b.select(),b.setSelectionRange(0,9999))}}ok.prototype.isValidText=function(a,b,c){D.l(a,na,ok,"isValidText:textblock");var d=this.RB;if(null!==d&&!d(a,b,c))return!1;d=a.RB;return null===d||d(a,b,c)?!0:!1};
+D.defineProperty(ok,{RB:"textValidation"},function(){return this.Tl},function(a){null!==a&&D.h(a,"function",ok,"textValidation");this.Tl=a});D.defineProperty(ok,{jG:"minimumEditorScale"},function(){return this.BD},function(a){null!==a&&D.h(a,"number",ok,"minimumEditorScale");this.BD=a});D.defineProperty(ok,{Gy:"selectsTextOnActivate"},function(){return this.YD},function(a){null!==a&&D.h(a,"boolean",ok,"selectsTextOnActivate");this.YD=a});
+D.defineProperty(ok,{state:"state"},function(){return this.$a},function(a){this.$a!==a&&(D.Da(a,ok,ok,"starting"),this.$a=a)});ok.prototype.measureTemporaryTextBlock=ok.prototype.HJ=function(a){var b=this.Dk;b.text=a;Fk(b,this.jh.vp,Infinity);return b};function Lh(){Vg.call(this);this.name="ToolManager";this.yH=new K(Vg);this.zH=new K(Vg);this.AH=new K(Vg);this.fD=this.gD=850;this.VC=(new Ca(2,2)).Na();this.qE=5E3;this.FD=Wh;this.dD=Rk;this.Lv=this.JC=null;this.xn=-1}D.Sa(Lh,Vg);
+D.ka("ToolManager",Lh);var Wh;Lh.WheelScroll=Wh=D.s(Lh,"WheelScroll",0);var Vh;Lh.WheelZoom=Vh=D.s(Lh,"WheelZoom",1);Lh.WheelNone=D.s(Lh,"WheelNone",2);var Rk;Lh.GestureZoom=Rk=D.s(Lh,"GestureZoom",3);var Sk;Lh.GestureCancel=Sk=D.s(Lh,"GestureCancel",4);var Tk;Lh.GestureNone=Tk=D.s(Lh,"GestureNone",5);D.defineProperty(Lh,{Mu:"mouseWheelBehavior"},function(){return this.FD},function(a){D.Da(a,Lh,Lh,"mouseWheelBehavior");this.FD=a});
+D.defineProperty(Lh,{pq:"gestureBehavior"},function(){return this.dD},function(a){D.Da(a,Lh,Lh,"gestureBehavior");this.dD=a});Lh.prototype.initializeStandardTools=function(){this.KH=new ek;this.vG=new ai;this.zJ=new Nj;this.IG=new Uj;this.fK=new bk;this.fG=new ra;this.De=new Qh;this.wI=new mk;this.UJ=new nk;this.zA=new hk;this.QB=new ok;this.aI=new ta;this.bI=new dk};
+Lh.prototype.updateAdornments=function(a){var b=this.gm;if(b instanceof da&&this.Lv===a){var c=b.zb;(null!==a?c.Y===a:null===c)?this.showToolTip(b,c):this.hideToolTip()}};
+Lh.prototype.doMouseDown=function(){var a=this.g;if(null!==a){var b=a.U;b.Mj&&this.pq===Sk&&(b.bubbles=!1);if(b.Au){this.cancelWaitAfter();if(this.pq===Tk){b.bubbles=!0;return}if(this.pq===Sk)return;if(a.hb.canStartMultiTouch()){a.hb.standardPinchZoomStart();return}}var c=a.ra;c.vA&&0!==c.Wh&&D.trace("WARNING: In ToolManager.doMouseDown: UndoManager.transactionLevel is not zero");for(var c=this.mf.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}D.w(gh,{cL:"animationReasons"},function(){return this.vv});
-gh.prototype.canStart=function(){return!0};gh.prototype.prepareAutomaticAnimation=gh.prototype.po=function(a){this.mf&&(this.ok||this.ba.$n)&&(this.vv.add(a),this.canStart(a)&&(this.nk&&this.Hi(),this.wc=!0))};function cl(a){if(a.mf&&(a.vv.clear(),a.wc))if(!a.Io)a.wc=!1;else if(0===a.Ho){var b=+new Date;a.Ho=b;requestAnimationFrame(function(){if(!1!==a.wc&&!a.nk&&a.Ho===b){var c=a.ba;c.Gj("temporaryPixelRatio")&&(c.Bk=1);dl(c);a.wc=!1;c.Ja("AnimationStarting");el(a,b)}})}}
-function fl(a,b,c,d,e,g){if(a.wc&&(v&&D.l(b,P,gh,"addPropToAnimation:obj"),!("position"===c&&d.P(e)||b instanceof F&&!b.NF))){var h=a.gn;if(h.contains(b)){var h=h.na(b),k=h.start,l=h.end;void 0===k[c]&&(k[c]=gl(d));h.yx&&void 0!==l[c]?h.eu[c]=gl(e):(g||(h.eu[c]=gl(e)),l[c]=gl(e));g&&0===c.indexOf("position:")&&b instanceof F&&(h.eu.location=gl(b.location))}else k=new la,l=new la,k[c]=gl(d),l[c]=gl(e),d=l,e=k.position,e instanceof O&&!e.F()&&a.vv.contains("Expand SubGraph")&&e.assign(d.position),k=
-new bl(k,l,g),g&&0===c.indexOf("position:")&&b instanceof F&&(k.eu.location=gl(b.location)),h.add(b,k);a.Io=!0}}function gl(a){return a instanceof O?a.copy():a instanceof Ca?a.copy():a}
-function el(a,b){var c;function d(){if(!1!==g.nk&&g.Ho===b){var a=+new Date,c=a>s?m:a-r;hl(g);il(g,e,q,h,c,m);g.Gv&&g.Gv();bj(e);jl(g);a>s?kl(g):requestAnimationFrame(d)}}void 0===c&&(c=new la);var e=a.ba;if(null!==e){a.nk=!0;var g=a,h=c.FL||a.KC,k=c.eM||null,l=c.fM||null,m=c.duration||a.wz,n=a.AH;for(c=a.gn.j;c.next();){var p=c.value.start.position;p instanceof O&&(p.F()||p.assign(n))}a.FC=h;a.Gv=k;a.Hv=l;a.EC=m;a.Iv=a.gn;var q=a.Iv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l=
-k["position:placeholder"],n=l.eb(dc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);hl(a);il(a,e,q,h,0,m);bj(a.ba);jl(a);var r=+new Date,s=r+m;g.Ho===b&&requestAnimationFrame(function(){d()})}}function hl(a){if(!a.pp){var b=a.ba;a.uE=b.Eb;a.sC=b.Ue;a.tC=b.cv;b.Eb=!0;b.Ue=!0;b.cv=!0;a.pp=!0}}function jl(a){var b=a.ba;b.Eb=a.uE;b.Ue=a.sC;b.cv=a.tC;a.pp=!1}
-function il(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!==ll[m])ll[m](h,l[m],k[m],d,e,g)}d=b.aB;b.aB=!0;m=a.KC;0!==a.Jr&&0!==a.Ir&&(c=a.Jr,b.Bb=m(e,c,a.Ir-c,g));null!==a.Hr&&null!==a.Gr&&(c=a.Hr,a=a.Gr,b.rb=new O(m(e,c.x,a.x-c.x,g),m(e,c.y,a.y-c.y,g)));b.aB=d}
-gh.prototype.stopAnimation=gh.prototype.Hi=function(){!0===this.wc&&(this.wc=!1,this.Io&&this.ba.Se());this.nk&&this.mf&&kl(this)};
-function kl(a){a.nk=!1;a.Io=!1;hl(a);for(var b=a.ba,c=a.FC,d=a.EC,e=a.Iv.j;e.next();){var g=e.key,h=e.value,k=h.start,l=h.end,m=h.eu,n;for(n in l)if(void 0!==ll[n]){var p=n;!h.yx||"position:node"!==p&&"position:placeholder"!==p||(p="position");ll[p](g,k[n],void 0!==m[n]?m[n]:h.yx?k[n]:l[n],c,d,d)}h.yx&&void 0!==m.location&&g instanceof F&&(g.location=m.location);h.xy&&g instanceof F&&g.Jd(!1)}for(c=a.ba.links;c.next();)d=c.value,null!==d.Jp&&(d.points=d.Jp,d.Jp=null);b.jy.clear();b.Bk=null;b.zc();
-b.qa();b.hg();ml(b);jl(a);a.Hv&&a.Hv();a.Ho=0;a.Iv=null;a.Hv=null;a.Gv=null;a.Hr=null;a.Gr=null;a.Jr=0;a.Ir=0;a.gn=new ma(P,bl);b.Ja("AnimationFinished");b.Se()}
-function nl(a,b,c){var d=b.$,e=c.$,g=null;c instanceof I&&(g=c.placeholder);null!==g?(d=g.eb(dc),d.x+=g.padding.left,d.y+=g.padding.top,fl(a,b,"position",d,b.position,!1)):fl(a,b,"position",new O(e.x+e.width/2-d.width/2,e.y+e.height/2-d.height/2),b.position,!1);fl(a,b,"scale",.01,b.scale,!1);if(b instanceof I)for(b=b.Nc;b.next();)g=b.value,g instanceof G&&nl(a,g,c)}
-function ol(a,b,c){if(b.isVisible()){var d=null;c instanceof I&&(d=c.placeholder);null!==d?fl(a,b,"position:placeholder",b.position,d,!0):fl(a,b,"position:node",b.position,c,!0);fl(a,b,"scale",b.scale,.01,!0);a.wc&&(d=a.gn,d.contains(b)&&(d.na(b).xy=!0));if(b instanceof I)for(b=b.Nc;b.next();)d=b.value,d instanceof G&&ol(a,d,c)}}function pl(a,b,c){a.wc&&(null===a.Hr&&b.F()&&null===a.Gr&&(a.Hr=b.copy()),a.Gr=c.copy(),a.Io=!0)}
-function ql(a,b,c){a.wc&&a.ba.$n&&(0===a.Jr&&0===a.Ir&&(a.Jr=b),a.Ir=c,a.Io=!0)}D.defineProperty(gh,{isEnabled:"isEnabled"},function(){return this.mf},function(a){D.h(a,"boolean",gh,"isEnabled");this.mf=a});D.defineProperty(gh,{duration:"duration"},function(){return this.wz},function(a){D.h(a,"number",gh,"duration");1>a&&D.ua(a,">= 1",gh,"duration");this.wz=a});D.w(gh,{tf:"isAnimating"},function(){return this.nk});D.w(gh,{pJ:"isTicking"},function(){return this.pp});
-D.defineProperty(gh,{VF:"isInitial"},function(){return this.ok},function(a){D.h(a,"boolean",gh,"isInitial");this.ok=a});function bl(a,b,c){this.start=a;this.end=b;this.eu=new la;this.yx=c;this.xy=!1}
-var ll={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.Jy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):a.position=new O(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.$,k=c.$;c=k.x+k.width/2-h.width/2;h=k.y+k.height/2-h.height/2;e!==g?a.Jy(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g)):a.position=new O(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.Jy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):
-a.position=new O(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 Ug(){0e.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}D.w(gh,{dL:"animationReasons"},function(){return this.xv});
+gh.prototype.canStart=function(){return!0};gh.prototype.prepareAutomaticAnimation=gh.prototype.po=function(a){this.nf&&(this.pk||this.ba.$n)&&(this.xv.add(a),this.canStart(a)&&(this.ok&&this.Hi(),this.wc=!0))};function bl(a){if(a.nf&&(a.xv.clear(),a.wc))if(!a.Io)a.wc=!1;else if(0===a.Ho){var b=+new Date;a.Ho=b;requestAnimationFrame(function(){if(!1!==a.wc&&!a.ok&&a.Ho===b){var c=a.ba;c.Gj("temporaryPixelRatio")&&(c.Ck=1);cl(c);a.wc=!1;c.Ja("AnimationStarting");dl(a,b)}})}}
+function el(a,b,c,d,e,g){if(a.wc&&(v&&D.l(b,P,gh,"addPropToAnimation:obj"),!("position"===c&&d.P(e)||b instanceof F&&!b.OF))){var h=a.gn;if(h.contains(b)){var h=h.na(b),k=h.start,l=h.end;void 0===k[c]&&(k[c]=fl(d));h.Ax&&void 0!==l[c]?h.eu[c]=fl(e):(g||(h.eu[c]=fl(e)),l[c]=fl(e));g&&0===c.indexOf("position:")&&b instanceof F&&(h.eu.location=fl(b.location))}else k=new la,l=new la,k[c]=fl(d),l[c]=fl(e),d=l,e=k.position,e instanceof O&&!e.F()&&a.xv.contains("Expand SubGraph")&&e.assign(d.position),k=
+new al(k,l,g),g&&0===c.indexOf("position:")&&b instanceof F&&(k.eu.location=fl(b.location)),h.add(b,k);a.Io=!0}}function fl(a){return a instanceof O?a.copy():a instanceof Ca?a.copy():a}
+function dl(a,b){var c;function d(){if(!1!==g.ok&&g.Ho===b){var a=+new Date,c=a>s?m:a-r;gl(g);hl(g,e,q,h,c,m);g.Iv&&g.Iv();bj(e);il(g);a>s?jl(g):requestAnimationFrame(d)}}void 0===c&&(c=new la);var e=a.ba;if(null!==e){a.ok=!0;var g=a,h=c.GL||a.KC,k=c.gM||null,l=c.hM||null,m=c.duration||a.xz,n=a.BH;for(c=a.gn.j;c.next();){var p=c.value.start.position;p instanceof O&&(p.F()||p.assign(n))}a.FC=h;a.Iv=k;a.Jv=l;a.EC=m;a.Kv=a.gn;var q=a.Kv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l=
+k["position:placeholder"],n=l.fb(dc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);gl(a);hl(a,e,q,h,0,m);bj(a.ba);il(a);var r=+new Date,s=r+m;g.Ho===b&&requestAnimationFrame(function(){d()})}}function gl(a){if(!a.pp){var b=a.ba;a.uE=b.Eb;a.sC=b.Ue;a.tC=b.ev;b.Eb=!0;b.Ue=!0;b.ev=!0;a.pp=!0}}function il(a){var b=a.ba;b.Eb=a.uE;b.Ue=a.sC;b.ev=a.tC;a.pp=!1}
+function hl(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!==kl[m])kl[m](h,l[m],k[m],d,e,g)}d=b.aB;b.aB=!0;m=a.KC;0!==a.Jr&&0!==a.Ir&&(c=a.Jr,b.Bb=m(e,c,a.Ir-c,g));null!==a.Hr&&null!==a.Gr&&(c=a.Hr,a=a.Gr,b.rb=new O(m(e,c.x,a.x-c.x,g),m(e,c.y,a.y-c.y,g)));b.aB=d}
+gh.prototype.stopAnimation=gh.prototype.Hi=function(){!0===this.wc&&(this.wc=!1,this.Io&&this.ba.Se());this.ok&&this.nf&&jl(this)};
+function jl(a){a.ok=!1;a.Io=!1;gl(a);for(var b=a.ba,c=a.FC,d=a.EC,e=a.Kv.j;e.next();){var g=e.key,h=e.value,k=h.start,l=h.end,m=h.eu,n;for(n in l)if(void 0!==kl[n]){var p=n;!h.Ax||"position:node"!==p&&"position:placeholder"!==p||(p="position");kl[p](g,k[n],void 0!==m[n]?m[n]:h.Ax?k[n]:l[n],c,d,d)}h.Ax&&void 0!==m.location&&g instanceof F&&(g.location=m.location);h.yy&&g instanceof F&&g.Jd(!1)}for(c=a.ba.links;c.next();)d=c.value,null!==d.Jp&&(d.points=d.Jp,d.Jp=null);b.ky.clear();b.Ck=null;b.zc();
+b.qa();b.ig();ll(b);il(a);a.Jv&&a.Jv();a.Ho=0;a.Kv=null;a.Jv=null;a.Iv=null;a.Hr=null;a.Gr=null;a.Jr=0;a.Ir=0;a.gn=new ma(P,al);b.Ja("AnimationFinished");b.Se()}
+function ml(a,b,c){var d=b.$,e=c.$,g=null;c instanceof I&&(g=c.placeholder);null!==g?(d=g.fb(dc),d.x+=g.padding.left,d.y+=g.padding.top,el(a,b,"position",d,b.position,!1)):el(a,b,"position",new O(e.x+e.width/2-d.width/2,e.y+e.height/2-d.height/2),b.position,!1);el(a,b,"scale",.01,b.scale,!1);if(b instanceof I)for(b=b.Nc;b.next();)g=b.value,g instanceof G&&ml(a,g,c)}
+function nl(a,b,c){if(b.isVisible()){var d=null;c instanceof I&&(d=c.placeholder);null!==d?el(a,b,"position:placeholder",b.position,d,!0):el(a,b,"position:node",b.position,c,!0);el(a,b,"scale",b.scale,.01,!0);a.wc&&(d=a.gn,d.contains(b)&&(d.na(b).yy=!0));if(b instanceof I)for(b=b.Nc;b.next();)d=b.value,d instanceof G&&nl(a,d,c)}}function ol(a,b,c){a.wc&&(null===a.Hr&&b.F()&&null===a.Gr&&(a.Hr=b.copy()),a.Gr=c.copy(),a.Io=!0)}
+function pl(a,b,c){a.wc&&a.ba.$n&&(0===a.Jr&&0===a.Ir&&(a.Jr=b),a.Ir=c,a.Io=!0)}D.defineProperty(gh,{isEnabled:"isEnabled"},function(){return this.nf},function(a){D.h(a,"boolean",gh,"isEnabled");this.nf=a});D.defineProperty(gh,{duration:"duration"},function(){return this.xz},function(a){D.h(a,"number",gh,"duration");1>a&&D.ua(a,">= 1",gh,"duration");this.xz=a});D.w(gh,{uf:"isAnimating"},function(){return this.ok});D.w(gh,{qJ:"isTicking"},function(){return this.pp});
+D.defineProperty(gh,{WF:"isInitial"},function(){return this.pk},function(a){D.h(a,"boolean",gh,"isInitial");this.pk=a});function al(a,b,c){this.start=a;this.end=b;this.eu=new la;this.Ax=c;this.yy=!1}
+var kl={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.Ky(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):a.position=new O(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.$,k=c.$;c=k.x+k.width/2-h.width/2;h=k.y+k.height/2-h.height/2;e!==g?a.Ky(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g)):a.position=new O(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.Ky(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):
+a.position=new O(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 Ug(){0=a)return b;for(var c=0,d=0,e=0,g=0,h=0,k=this.qb.j;k.next();){var l=k.value;l instanceof I?e++:l instanceof G?d++:l instanceof J?g++:l instanceof da?h++:c++}k="";0=d.count)a=d.count;else if(d.ea(a)===b)return-1;d.Xd(a,b);b.ru(c);d=this.g;null!==d&&(c?d.qa():d.sq(b));wl(this,a,b);return a};
-f.sf=function(a,b,c){if(!c&&b.layer!==this&&null!==b.layer)return b.layer.sf(a,b,c);var d=this.qb;if(0>a||a>=d.length){if(a=d.indexOf(b),0>a)return-1}else if(d.ea(a)!==b&&(a=d.indexOf(b),0>a))return-1;b.su(c);d.jd(a);d=this.g;null!==d&&(c?d.qa():d.sf(b));b.lw=null;return a};
-function wl(a,b,c){b=xl(a,b,c);if(c instanceof I&&null!==c&&isNaN(c.Co)){if(0!==c.Nc.count){for(var d=-1,e=a.qb.o,g=e.length,h=0;hd&&k.Ra===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.ea(g).Co;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.jd(b);a.Xd(g,c);return g}for(h=NaN;0<=--g&&(h=a.ea(g).Co,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.jd(b);a.Xd(k,c);return k}for(l=NaN;++ka||1parseInt(e[1],10)&&(D.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+
-D.vfo+". This license key will do nothing until you upgrade to GoJS 1.7 or later."),D.Dx.licenseKey=!0);this.Fl=1;this.Ym=0;this.wD=new O;this.sE=500;this.xv=new O;this.ut=null;this.Cl=!1;this.preventDefault=this.wy=this.qG=this.rG=this.pG=this.lo=this.$g=this.mo=this.jo=this.ko=this.dC=this.UB=this.VB=this.WB=this.Ql=this.ht=this.Pl=this.gt=null;this.GD=1;this.fw=!1;this.zl=new Kl;void 0!==a&&Ll(this,a);this.$c=!1}D.ja("Diagram",E);
-E.prototype.clear=E.prototype.clear=function(){var a=null;null!==this.Ad&&(a=this.Ad.Y);this.ga.clear();for(var b=this.cc.length,c=0;c=d.count)a=d.count;else if(d.ea(a)===b)return-1;d.Xd(a,b);b.tu(c);d=this.g;null!==d&&(c?d.qa():d.sq(b));vl(this,a,b);return a};
+f.tf=function(a,b,c){if(!c&&b.layer!==this&&null!==b.layer)return b.layer.tf(a,b,c);var d=this.qb;if(0>a||a>=d.length){if(a=d.indexOf(b),0>a)return-1}else if(d.ea(a)!==b&&(a=d.indexOf(b),0>a))return-1;b.uu(c);d.jd(a);d=this.g;null!==d&&(c?d.qa():d.tf(b));b.nw=null;return a};
+function vl(a,b,c){b=wl(a,b,c);if(c instanceof I&&null!==c&&isNaN(c.Co)){if(0!==c.Nc.count){for(var d=-1,e=a.qb.o,g=e.length,h=0;hd&&k.Ra===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.ea(g).Co;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.jd(b);a.Xd(g,c);return g}for(h=NaN;0<=--g&&(h=a.ea(g).Co,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.jd(b);a.Xd(k,c);return k}for(l=NaN;++ka||1parseInt(e[1],10)&&(D.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+
+D.vfo+". This license key will do nothing until you upgrade to GoJS 1.7 or later."),D.Fx.licenseKey=!0);this.Gl=1;this.Ym=0;this.wD=new O;this.sE=500;this.zv=new O;this.ut=null;this.Dl=!1;this.preventDefault=this.xy=this.rG=this.sG=this.qG=this.lo=this.ah=this.mo=this.jo=this.ko=this.dC=this.UB=this.VB=this.WB=this.Rl=this.ht=this.Ql=this.gt=null;this.GD=1;this.hw=!1;this.Al=new Jl;void 0!==a&&Kl(this,a);this.$c=!1}D.ka("Diagram",E);
+E.prototype.clear=E.prototype.clear=function(){var a=null;null!==this.Ad&&(a=this.Ad.Y);this.ga.clear();for(var b=this.cc.length,c=0;c=a)return b;for(var c=this.cc.j;c.next();)b+="\n "+c.value.toString(a-1);return b};E.fromDiv=function(a){var b=a;"string"===typeof a&&(b=window.document.getElementById(a));return b instanceof HTMLDivElement&&b.ba instanceof E?b.ba:null};
-D.defineProperty(E,{Dj:"div"},function(){return this.Sb},function(a){null!==a&&D.l(a,HTMLDivElement,E,"div");if(this.Sb!==a){zl=[];var b=this.Sb;null!==b?(b.ba=void 0,b.innerHTML="",null!==this.Mb&&(this.Mb.removeEventListener("touchstart",this.WB,!1),this.Mb.removeEventListener("touchmove",this.VB,!1),this.Mb.removeEventListener("touchend",this.UB,!1),this.Mb.Ud.ba=null),b=this.kb,null!==b&&(b.lf.each(function(a){a.cancelWaitAfter()}),b.jg.each(function(a){a.cancelWaitAfter()}),b.kg.each(function(a){a.cancelWaitAfter()})),
-b.cancelWaitAfter(),this.gb.doCancel(),this.od=this.Mb=null,window.removeEventListener("resize",this.dC,!1),window.removeEventListener("mousemove",this.ko,!0),window.removeEventListener("mousedown",this.jo,!0),window.removeEventListener("mouseup",this.mo,!0),window.removeEventListener("mousewheel",this.$g,!0),window.removeEventListener("DOMMouseScroll",this.$g,!0),window.removeEventListener("mouseout",this.lo,!0)):this.th=!1;this.Sb=null;if(null!==a){if(b=a.ba)b.Dj=null;Ll(this,a);this.Gq()}}});
-function Ol(a){var b=a.Mb;b.addEventListener("touchstart",a.WB,!1);b.addEventListener("touchmove",a.VB,!1);b.addEventListener("touchend",a.UB,!1);b.addEventListener("mousemove",a.ko,!1);b.addEventListener("mousedown",a.jo,!1);b.addEventListener("mouseup",a.mo,!1);b.addEventListener("mousewheel",a.$g,!1);b.addEventListener("DOMMouseScroll",a.$g,!1);b.addEventListener("mouseout",a.lo,!1);b.addEventListener("keydown",a.rJ,!1);b.addEventListener("keyup",a.sJ,!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.kb.pq===Hk&&b.preventDefault()},!1);b.addEventListener("pointerdown",a.pG,!1);b.addEventListener("pointermove",a.rG,!1);b.addEventListener("pointerleave",a.qG,!1);window.addEventListener("resize",a.dC,!1)}E.prototype.computePixelRatio=function(){return null!==this.Bk?this.Bk:this.GD};E.prototype.doMouseMove=function(){this.gb.doMouseMove()};
-E.prototype.doMouseDown=function(){this.gb.doMouseDown()};E.prototype.doMouseUp=function(){this.gb.doMouseUp()};E.prototype.doMouseWheel=function(){this.gb.doMouseWheel()};E.prototype.doKeyDown=function(){this.gb.doKeyDown()};E.prototype.doKeyUp=function(){this.gb.doKeyUp()};E.prototype.doFocus=function(){this.focus()};E.prototype.focus=E.prototype.focus=function(){this.Mb&&this.Mb.focus()};
-function dl(a){if(null!==a.Mb){var b=a.Sb;if(0!==b.clientWidth&&0!==b.clientHeight){var c=a.yl?a.Rd:0,d=a.lk?a.Rd:0,e=a.qd;a.qd=a.computePixelRatio();a.qd!==e&&(a.cs=!0,a.Se());if(b.clientWidth!==a.Ob+c||b.clientHeight!==a.Rb+d)a.Sm=!0,a.Me=!0,b=a.Vb,null!==b&&b.ay&&a.bm===Rh&&b.N(),a.ge||a.Se()}}}
-function Il(a){var b=new Ug;b.name="Background";a.Ot(b);b=new Ug;b.name="";a.Ot(b);b=new Ug;b.name="Foreground";a.Ot(b);b=new Ug;b.name="Adornment";b.Uc=!0;a.Ot(b);b=new Ug;b.name="Tool";b.Uc=!0;b.OF=!0;a.Ot(b);b=new Ug;b.name="Grid";b.Cf=!1;b.qg=!1;b.Uc=!0;a.OH(b,a.km("Background"))}
-function Pl(a){a.Ad=new x(Ql);a.Ad.name="GRID";var b=new z;b.Jb="LineH";b.stroke="lightgray";b.jb=.5;b.interval=1;a.Ad.add(b);b=new z;b.Jb="LineH";b.stroke="gray";b.jb=.5;b.interval=5;a.Ad.add(b);b=new z;b.Jb="LineH";b.stroke="gray";b.jb=1;b.interval=10;a.Ad.add(b);b=new z;b.Jb="LineV";b.stroke="lightgray";b.jb=.5;b.interval=1;a.Ad.add(b);b=new z;b.Jb="LineV";b.stroke="gray";b.jb=.5;b.interval=5;a.Ad.add(b);b=new z;b.Jb="LineV";b.stroke="gray";b.jb=1;b.interval=10;a.Ad.add(b);b=new F;b.add(a.Ad);
-b.Kf="Grid";b.Co=0;b.Wx=!1;b.NF=!1;b.qg=!1;b.ky="GRID";a.add(b);a.qb.remove(b);a.Ad.visible=!1}function Rl(){this.ba.isEnabled?this.ba.uI(this):Sl(this.ba)}function Tl(a){this.ba.isEnabled?(this.ba.$z=!0,this.ba.bA=a.target.scrollTop,this.ba.aA=a.target.scrollLeft):Sl(this.ba)}
-E.prototype.diagramScroll=E.prototype.uI=function(a){if(this.$z&&null!==this.Mb){this.Mw=!0;var b=this.dd,c=this.ub,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.gs)switch(this.Yz){case "negative":s=s+a.scrollWidth-a.clientWidth;break;case "reverse":s=a.scrollWidth-s-a.clientWidth}var u=s;el&&(this.position=s.n(-(this.Qw.scrollWidth-this.Ob)+u-this.Ob/r+k,this.position.y))),a.DH&&this.ze&&(bn&&(this.position=s.n(this.position.x,-(this.Qw.scrollHeight-this.Rb)+a.scrollTop-this.Rb/r+m))),D.A(s),Ul(this),this.Sm=this.Mw=!1,b=this.dd,c=this.ub,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.lt.style.width="1px"),h>=g&&b>=c&&m<=n&&(this.lt.style.height="1px"))}};E.prototype.computeBounds=E.prototype.Kh=function(){0c&&(e=c),ea.Ph&&(e=a.Ph),e):b===am?(e=l>k?(h-a.Rd)/d:(g-a.Rd)/e,e>c&&(e=c),ea.Ph&&(e=a.Ph),e):a.scale}E.prototype.zoomToFit=E.prototype.zoomToFit=function(){this.scale=Xl(this,$l)};
-E.prototype.zoomToRect=function(a,b){void 0===b&&(b=$l);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===$l||b===am)if(isNaN(c))e=this.ub.height*this.scale/d;else if(isNaN(d))e=this.ub.width*this.scale/c;else var e=this.Ob,g=this.Rb,e=b===am?g/d>e/c?(g-(this.lk?this.Rd:0))/d:(e-(this.yl?this.Rd:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new O(a.x,a.y)}};D.defineProperty(E,{aB:null},function(){return this.$c},function(a){this.$c=a});
-E.prototype.alignDocument=function(a,b){this.mk&&Zl(this,this.Kh());var c=this.dd,d=this.ub;this.position=new O(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 Yl(a,b,c,d,e,g,h){var k=b.x,l=b.y;if(h||a.CB===Al)g.fd()&&(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.LG,h=d-c.width,dc.left?k=c.left:kc.top?l=c.top:ll&&(this.position=s.n(-(this.Sw.scrollWidth-this.Ob)+u-this.Ob/r+k,this.position.y))),a.EH&&this.ze&&(bn&&(this.position=s.n(this.position.x,-(this.Sw.scrollHeight-this.Rb)+a.scrollTop-this.Rb/r+m))),D.A(s),Tl(this),this.Sm=this.Ow=!1,b=this.dd,c=this.ub,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.lt.style.width="1px"),h>=g&&b>=c&&m<=n&&(this.lt.style.height="1px"))}};E.prototype.computeBounds=E.prototype.Lh=function(){0c&&(e=c),ea.Qh&&(e=a.Qh),e):b===$l?(e=l>k?(h-a.Rd)/d:(g-a.Rd)/e,e>c&&(e=c),ea.Qh&&(e=a.Qh),e):a.scale}E.prototype.zoomToFit=E.prototype.zoomToFit=function(){this.scale=Wl(this,Zl)};
+E.prototype.zoomToRect=function(a,b){void 0===b&&(b=Zl);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Zl||b===$l)if(isNaN(c))e=this.ub.height*this.scale/d;else if(isNaN(d))e=this.ub.width*this.scale/c;else var e=this.Ob,g=this.Rb,e=b===$l?g/d>e/c?(g-(this.mk?this.Rd:0))/d:(e-(this.zl?this.Rd:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new O(a.x,a.y)}};D.defineProperty(E,{aB:null},function(){return this.$c},function(a){this.$c=a});
+E.prototype.alignDocument=function(a,b){this.nk&&Yl(this,this.Lh());var c=this.dd,d=this.ub;this.position=new O(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 Xl(a,b,c,d,e,g,h){var k=b.x,l=b.y;if(h||a.CB===zl)g.fd()&&(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.MG,h=d-c.width,dc.left?k=c.left:kc.top?l=c.top:lc.touches.length)&&c.preventDefault();c.cancelBubble=!0;return!1}
-E.prototype.rJ=function(a){if(!this.ba.isEnabled)return!1;var b=this.ba.Tb;bm(this.ba,this.ba,a,b,!1);b.key=String.fromCharCode(a.which);b.jm=!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=
+E.prototype.findObjectsAt=E.prototype.gu=function(a,b,c,d){void 0===b&&(b=null);void 0===c&&(c=null);d instanceof K||d instanceof L||(d=new L(P));Si(this);for(var e=this.cc.ao;e.next();){var g=e.value;g.visible&&g.gu(a,b,c,d)}return d};E.prototype.findObjectsIn=E.prototype.Rk=function(a,b,c,d,e){void 0===b&&(b=null);void 0===c&&(c=null);void 0===d&&(d=!1);e instanceof K||e instanceof L||(e=new L(P));Si(this);for(var g=this.cc.ao;g.next();){var h=g.value;h.visible&&h.Rk(a,b,c,d,e)}return e};
+E.prototype.MA=function(a,b,c,d,e,g){var h=new L(P);Si(this);for(var k=this.cc.ao;k.next();){var l=k.value;l.visible&&l.MA(a,b,c,d,h,e,g)}return h};E.prototype.findObjectsNear=E.prototype.Qn=function(a,b,c,d,e,g){void 0===c&&(c=null);void 0===d&&(d=null);void 0===e&&(e=!0);if(!1!==e&&!0!==e){if(e instanceof K||e instanceof L)g=e;e=!0}g instanceof K||g instanceof L||(g=new L(P));Si(this);for(var h=this.cc.ao;h.next();){var k=h.value;k.visible&&k.Qn(a,b,c,d,e,g)}return g};
+E.prototype.acceptEvent=function(a){var b=this.cd;this.cd=this.Tb;this.Tb=b;am(this,this,a,b,a instanceof MouseEvent);return b};
+function am(a,b,c,d,e){d.g=b;d.event=c;e?bm(a,c,d):(d.qe=b.Tb.qe,d.ha=b.Tb.ha);a=0;c.ctrlKey&&(a+=1);c.altKey&&(a+=2);c.shiftKey&&(a+=4);c.metaKey&&(a+=8);d.Kd=a;d.button=c.button;void 0===c.buttons||D.kJ||(d.buttons=c.buttons);D.Xk&&0===c.button&&c.ctrlKey&&(d.button=2);d.km=!1;d.up=!1;d.Oe=1;d.jm=0;d.Mc=!1;d.bubbles=!1;d.timestamp=Date.now();d.Au=!1;d.hh=c.target.ba?c.target.ba:null;d.We=null}
+function cm(a,b,c,d,e){d.g=a;bm(a,c,d);d.Kd=0;d.button=0;d.buttons=1;d.km=!0;d.up=!1;d.Oe=1;d.jm=0;d.Mc=!1;d.bubbles=!0;d.event=b;d.timestamp=Date.now();d.Au=e;d.hh=b.target.ba?b.target.ba:null;d.We=null;a.Yi=d.copy();Zh=null}
+function dm(a,b,c,d,e){var g=null;d.g=a;null!==c?((g=window.document.elementFromPoint(c.clientX,c.clientY))&&g.ba?g=g.ba:(c=b.changedTouches[0],g=a),d.hh=g,bm(a,c,d)):null!==a.cd?(d.ha=a.cd.ha,d.qe=a.cd.qe,d.hh=a.cd.hh):null!==a.Yi&&(d.ha=a.Yi.ha,d.qe=a.Yi.qe,d.hh=a.Yi.hh);d.Kd=0;d.button=0;d.buttons=1;d.km=!1;d.up=!1;d.Oe=1;d.jm=0;d.Mc=!1;d.bubbles=!1;d.event=b;d.timestamp=Date.now();d.Au=e;d.We=null}
+function ga(a,b,c){if(b.bubbles)return v&&v.JF&&D.trace("NOT handled "+c.type+" "+b.toString()),!0;v&&v.JF&&D.trace("handled "+c.type+" "+a.hb.name+" "+b.toString());void 0!==c.stopPropagation&&c.stopPropagation();(void 0===c.touches||2>c.touches.length)&&c.preventDefault();c.cancelBubble=!0;return!1}
+E.prototype.sJ=function(a){if(!this.ba.isEnabled)return!1;var b=this.ba.Tb;am(this.ba,this.ba,a,b,!1);b.key=String.fromCharCode(a.which);b.km=!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.ba.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?ga(this.ba,b,a):(a.cancelBubble=!0,a.preventDefault(),a.stopPropagation(),!1)};
-E.prototype.sJ=function(a){if(!this.ba.isEnabled)return!1;var b=this.ba.Tb;bm(this.ba,this.ba,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.ba.doKeyUp();
+E.prototype.tJ=function(a){if(!this.ba.isEnabled)return!1;var b=this.ba.Tb;am(this.ba,this.ba,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.ba.doKeyUp();
return ga(this.ba,b,a)};E.prototype.fp=function(a){var b=this.Mb;if(null===b)return new O(0,0);var c=this.Ob,d=this.Rb,b=b.getBoundingClientRect(),c=a.clientX-c/b.width*b.left;a=a.clientY-d/b.height*b.top;return null!==this.Ic?(a=new O(c,a),gb(a,this.Ic),a):new O(c,a)};
-function cm(a,b,c){var d=a.Mb,e=a.Ob,g=a.Rb,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.qe.n(h,k);null!==a.Ic?(b=D.Fb(h,k),a.Ic.Ci(b),c.ha.assign(b),D.A(b)):c.ha.n(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.oj[0])e=a.oj[c];else return;c=a.Mb;b=a.Ob;a=a.Rb;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.n(g,h)}E.prototype.invalidateDocumentBounds=E.prototype.zc=function(){this.mk||(this.mk=!0,this.Se(!0))};function ml(a){a.ge||Si(a);a.mk&&Zl(a,a.Kh())}
-E.prototype.redraw=E.prototype.Gq=function(){this.$c||this.ge||(this.qa(),fm(this),Ul(this),this.zc(),this.hg())};E.prototype.isUpdateRequested=function(){return this.Zf};E.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Xa,c=b.isEnabled;b.Hi();b.isEnabled=!1;bj(this);this.th=!1;b.isEnabled=c;null!==a&&D.setTimeout(a,1)};
-E.prototype.requestUpdate=E.prototype.Se=function(a){void 0===a&&(a=!1);if(!0!==this.Zf&&!(this.$c||!1===a&&this.ge)){this.Zf=!0;var b=this;requestAnimationFrame(function(){b.Zf&&b.hg()})}};E.prototype.maybeUpdate=E.prototype.hg=function(){if(!this.dp||this.Zf)this.dp&&(this.dp=!1),bj(this)};function gm(a,b){a.Xa.tf||a.$c||!a.Sm||Sl(a)||(b&&Si(a),Wl(a,!1))}
-function bj(a){if(!a.ge&&(a.Zf=!1,null!==a.Sb)){a.ge=!0;var b=a.Xa,c=a.Wz;if(!b.pp&&0!==c.length){for(var d=c.o,e=d.length,g=0;gb;b++){var c=a.Eg.j;if(null===c||0===a.Eg.count)break;a.Eg=new L(F);a.aC(c,a.Eg);v&&22===b&&D.trace("failure to validate parts")}a.og.each(function(a){a instanceof I&&0!==(a.Ca&65536)!==!1&&(a.Ca^=65536)})}}
-E.prototype.aC=function(a,b){for(a.reset();a.next();){var c=a.value;!c.oe()||c instanceof I||(c.vm()?(Fk(c,Infinity,Infinity),c.pc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof I&&c.isVisible()&&Im(this,c);for(a.reset();a.next();)c=a.value,c instanceof J&&c.isVisible()&&(c.vm()?(Fk(c,Infinity,Infinity),c.pc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof da&&c.isVisible()&&(c.vm()?(Fk(c,Infinity,Infinity),c.pc()):b.add(c))};
-function Im(a,b){for(var c=D.tb(),d=D.tb(),e=b.Nc;e.next();){var g=e.value;g.isVisible()&&(g instanceof I?(Jm(g)||Km(g)||Lm(g))&&Im(a,g):g instanceof J?g.aa===b||g.da===b?d.push(g):c.push(g):(Fk(g,Infinity,Infinity),g.pc()))}for(var e=c.length,h=0;hb.targetTouches.length)return;e=b.targetTouches[c]}else if(null!==a.oj[0])e=a.oj[c];else return;c=a.Mb;b=a.Ob;a=a.Rb;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.n(g,h)}E.prototype.invalidateDocumentBounds=E.prototype.zc=function(){this.nk||(this.nk=!0,this.Se(!0))};function ll(a){a.ge||Si(a);a.nk&&Yl(a,a.Lh())}
+E.prototype.redraw=E.prototype.Gq=function(){this.$c||this.ge||(this.qa(),em(this),Tl(this),this.zc(),this.ig())};E.prototype.isUpdateRequested=function(){return this.$f};E.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Xa,c=b.isEnabled;b.Hi();b.isEnabled=!1;bj(this);this.uh=!1;b.isEnabled=c;null!==a&&D.setTimeout(a,1)};
+E.prototype.requestUpdate=E.prototype.Se=function(a){void 0===a&&(a=!1);if(!0!==this.$f&&!(this.$c||!1===a&&this.ge)){this.$f=!0;var b=this;requestAnimationFrame(function(){b.$f&&b.ig()})}};E.prototype.maybeUpdate=E.prototype.ig=function(){if(!this.dp||this.$f)this.dp&&(this.dp=!1),bj(this)};function fm(a,b){a.Xa.uf||a.$c||!a.Sm||Rl(a)||(b&&Si(a),Vl(a,!1))}
+function bj(a){if(!a.ge&&(a.$f=!1,null!==a.Sb)){a.ge=!0;var b=a.Xa,c=a.Xz;if(!b.pp&&0!==c.length){for(var d=c.o,e=d.length,g=0;gb;b++){var c=a.Fg.j;if(null===c||0===a.Fg.count)break;a.Fg=new L(F);a.aC(c,a.Fg);v&&22===b&&D.trace("failure to validate parts")}a.pg.each(function(a){a instanceof I&&0!==(a.Ca&65536)!==!1&&(a.Ca^=65536)})}}
+E.prototype.aC=function(a,b){for(a.reset();a.next();){var c=a.value;!c.oe()||c instanceof I||(c.wm()?(Fk(c,Infinity,Infinity),c.qc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof I&&c.isVisible()&&Im(this,c);for(a.reset();a.next();)c=a.value,c instanceof J&&c.isVisible()&&(c.wm()?(Fk(c,Infinity,Infinity),c.qc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof da&&c.isVisible()&&(c.wm()?(Fk(c,Infinity,Infinity),c.qc()):b.add(c))};
+function Im(a,b){for(var c=D.tb(),d=D.tb(),e=b.Nc;e.next();){var g=e.value;g.isVisible()&&(g instanceof I?(Jm(g)||Km(g)||Lm(g))&&Im(a,g):g instanceof J?g.aa===b||g.da===b?d.push(g):c.push(g):(Fk(g,Infinity,Infinity),g.qc()))}for(var e=c.length,h=0;hy+1&&
-(N=Math.max((t-y)*c+a.Ob,N)),q+k+1p+1&&(k=Math.max((A-p)*c+a.Rb,k)),r+l+1y+1&&(N=Math.max((t-y)*c+a.Ob,N)),q+1p+1&&(k=Math.max((A-p)*c+W,k)),r+1y+1&&(l=a.position.x*c));if(a.gs)switch(a.Yz){case "negative":l=-(b.scrollWidth-l-b.clientWidth);break;case "reverse":l=b.scrollWidth-l-b.clientWidth}b.scrollLeft=l;a.WA&&a.ze&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.cs=!0);m=a.Ob;n=a.Rb;b.style.width=m+(a.yl?a.Rd:0)+
-"px";b.style.height=n+(a.lk?a.Rd:0)+"px";a.$z=!1;return d!==m||e!==n||a.Xa.wc?(p=a.ub,a.Pu(g,p,c,a.scale,h),!1):!0}
-E.prototype.add=E.prototype.add=function(a){D.l(a,F,E,"add:part");var b=a.g;if(b!==this){null!==b&&D.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.ar&&(a.Gl="Tool");var c=a.Kf,b=this.km(c);null===b&&(b=this.km(""));null===b&&D.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.sq(99999999,a,a.g===this),0<=c&&this.hd(dg,"parts",b,null,a,null,c),b.Uc||this.zc(),a.N(Sm),c=a.gy,null!==
+t.x),Math.abs(r.y-t.y)));gb(r,w);gb(t,w);m.push(new B(Math.min(r.x,t.x),Math.min(r.y,t.y),Math.abs(r.x-t.x),Math.abs(r.y-t.y)));this.Al.Fm(this)&&(h=0y+1&&
+(N=Math.max((t-y)*c+a.Ob,N)),q+k+1p+1&&(k=Math.max((A-p)*c+a.Rb,k)),r+l+1y+1&&(N=Math.max((t-y)*c+a.Ob,N)),q+1p+1&&(k=Math.max((A-p)*c+W,k)),r+1y+1&&(l=a.position.x*c));if(a.gs)switch(a.Zz){case "negative":l=-(b.scrollWidth-l-b.clientWidth);break;case "reverse":l=b.scrollWidth-l-b.clientWidth}b.scrollLeft=l;a.WA&&a.ze&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.cs=!0);m=a.Ob;n=a.Rb;b.style.width=m+(a.zl?a.Rd:0)+
+"px";b.style.height=n+(a.mk?a.Rd:0)+"px";a.aA=!1;return d!==m||e!==n||a.Xa.wc?(p=a.ub,a.Ru(g,p,c,a.scale,h),!1):!0}
+E.prototype.add=E.prototype.add=function(a){D.l(a,F,E,"add:part");var b=a.g;if(b!==this){null!==b&&D.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.ar&&(a.Hl="Tool");var c=a.Lf,b=this.lm(c);null===b&&(b=this.lm(""));null===b&&D.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.sq(99999999,a,a.g===this),0<=c&&this.hd(ng,"parts",b,null,a,null,c),b.Uc||this.zc(),a.N(Sm),c=a.hy,null!==
c&&c(a,null,b))}};
-E.prototype.sq=function(a){if(a instanceof G){if(this.Dp.add(a),a instanceof I){var b=a.Ra;null===b?this.Tl.add(a):b.en.add(a);b=a.Vb;null!==b&&(b.g=this)}}else a instanceof J?this.xp.add(a):a instanceof da||this.qb.add(a);var c=this;Tm(a,function(a){Um(c,a)});(a instanceof da||a instanceof I&&null!==a.Qb)&&a.K();b=a.data;null!==b&&(a instanceof da||(a instanceof J?this.ck.add(b,a):this.Si.add(b,a)),Tm(a,function(a){Vm(c,a)}));!0!==Km(a)&&!0!==Lm(a)||this.Eg.add(a);Wm(a,!0,this);Xm(a)?(a.$.F()&&this.qa(vl(a,
-a.$)),this.zc()):a.isVisible()&&a.$.F()&&this.qa(vl(a,a.$));this.Se()};
-E.prototype.sf=function(a){a.Yt();if(a instanceof G){if(this.Dp.remove(a),a instanceof I){var b=a.Ra;null===b?this.Tl.remove(a):b.en.remove(a);b=a.Vb;null!==b&&(b.g=null)}}else a instanceof J?this.xp.remove(a):a instanceof da||this.qb.remove(a);var c=this;Tm(a,function(a){Ym(c,a)});b=a.data;null!==b&&(a instanceof da||(a instanceof J?this.ck.remove(b):this.Si.remove(b)),Tm(a,function(a){Zm(c,a)}));this.Eg.remove(a);Xm(a)?(a.$.F()&&this.qa(vl(a,a.$)),this.zc()):a.isVisible()&&a.$.F()&&this.qa(vl(a,
-a.$));this.Se()};E.prototype.remove=E.prototype.remove=function(a){D.l(a,F,E,"remove:part");$m(this,a,!0)};function $m(a,b,c){var d=b.layer;null!==d&&d.g===a&&(b.hb=!1,b.Yg=!1,b.N(an),c&&b.On(),c=d.sf(-1,b,!1),0<=c&&a.hd(og,"parts",d,b,null,c,null),a=b.gy,null!==a&&a(b,d,null))}
-E.prototype.removeParts=E.prototype.zB=function(a,b){if(D.isArray(a))for(var c=D.cb(a),d=0;dd&&this.zc()};
-E.prototype.addLayerAfter=function(a,b){bn(this,a,b);a.Yc(this);var c=this.cc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.ve&&this.hd(og,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.zc()};
-E.prototype.removeLayer=function(a){D.l(a,Ug,E,"removeLayer:layer");a.g!==this&&D.k("Cannot remove a Layer from another Diagram: "+a+" of "+a.g);if(""!==a.name){var b=this.cc,c=b.indexOf(a);if(b.remove(a)){for(b=a.qb.copy().j;b.next();){var d=b.value,e=d.Kf;d.Kf=e!==a.name?e:""}null!==this.ve&&this.hd(og,"layers",this,a,null,c,null);this.qa();this.zc()}}};E.prototype.findLayer=E.prototype.km=function(a){for(var b=this.bo;b.next();){var c=b.value;if(c.name===a)return c}return null};
-E.prototype.addModelChangedListener=E.prototype.QH=function(a){D.h(a,"function",E,"addModelChangedListener:listener");null===this.wh&&(this.wh=new K("function"));this.wh.add(a);this.ga.An(a)};E.prototype.removeModelChangedListener=function(a){D.h(a,"function",E,"removeModelChangedListener:listener");null!==this.wh&&(this.wh.remove(a),0===this.wh.count&&(this.wh=null));this.ga.Su(a)};
-E.prototype.addChangedListener=E.prototype.An=function(a){D.h(a,"function",E,"addChangedListener:listener");null===this.Ni&&(this.Ni=new K("function"));this.Ni.add(a)};E.prototype.removeChangedListener=E.prototype.Su=function(a){D.h(a,"function",E,"removeChangedListener:listener");null!==this.Ni&&(this.Ni.remove(a),0===this.Ni.count&&(this.Ni=null))};
-E.prototype.tx=function(a){this.Eb||this.ra.HF(a);a.Jc!==cg&&(this.Ei=!0);if(null!==this.Ni){var b=this.Ni,c=b.length;if(1===c)b=b.ea(0),b(a);else if(0!==c)for(var d=b.mc(),e=0;ea.Ph&&(c=a.Ph);e=D.Fb(a.rb.x+h/b-h/c,a.rb.y+k/b-k/c);a.position=e;D.A(e);a.Bb=c;a.Pu(d,a.ub,b,c,!1);a.$c=!1;Wl(a,
-!1);c=a.Xa;c.wc&&ql(c,b,a.Bb);a.qa();fm(a)}}
-E.prototype.Pu=function(a,b,c,d,e){a.P(b)||(void 0===e&&(e=!1),e||fm(this),Ul(this),d=this.Vb,null===d||!d.ay||this.bm!==Rh||e||a.width===b.width&&a.height===b.height||d.N(),d=this.gb,!0===this.Um&&d instanceof Lh&&(this.U.ha=this.YB(this.U.qe),Jk(d,this)),this.$c||this.MF(a,b),im(this),this.Fh.scale=c,this.Fh.position.x=a.x,this.Fh.position.y=a.y,this.Fh.bounds.set(a),this.Fh.isScroll=e,this.Ja("ViewportBoundsChanged",this.Fh,a),this.dB&&this.links.each(function(a){a.Jj&&a.$.fg(b)&&a.gc()}))};
-function im(a,b){void 0===b&&(b=null);var c=a.Ad;if(null!==c&&c.visible){for(var d=D.Cm(),e=1,g=1,h=c.ya.o,k=h.length,l=0;ln||(dn(m.Jb)?g=g*n/We(g,n):e=e*n/We(e,n))}h=c.Qx;d.n(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=D.Of();g=a.ub;e.n(g.x,g.y,g.width,g.height);for(h=a.Ew.j;h.next();)g=h.value.ub,g.F()&&Pb(e,g.x,g.y,g.width,g.height);if(!e.F()){D.Kb(e);return}k=e.width;l=e.height;g=e.x;h=e.y;D.Kb(e)}c.width=k+2*d.width;c.height=
-l+2*d.height;e=D.O();fb(g,h,0,0,d.width,d.height,e);e.offset(-d.width,-d.height);D.Rk(d);c.Y.location=e;D.A(e)}}E.prototype.clearSelection=E.prototype.vx=function(){var a=0
More... +
The constructor creates an Overview that does not show any Diagram, until you set Overview.observed.More...
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
Properties Summary
- Gets or sets the width and height multiples with which the user must resize.More...
The effective cell size is computed by first looking at the AdornedPart's Part.resizeCellSize.
If either or both of its width and height are NaN, it will use this property, cellSize
.
If either or both of this property's width and height are NaN, it will
consider the DraggingTool.gridSnapCellSize and the Diagram.grid's Panel.gridCellSize.
The default value is NaN x NaN.
Setting this property does not raise any events.
+ Gets or sets the width and height multiples with which the user must resize.More...
The effective cell size is computed by first looking at the Adornment.adornedPart's Part.resizeCellSize.
If either or both of its width and height are NaN, it will use this property, cellSize
.
If either or both of this property's width and height are NaN, it will
consider the DraggingTool.gridSnapCellSize and the Diagram.grid's Panel.gridCellSize.
The default value is NaN x NaN.
Setting this property does not raise any events.
Gets or sets the width and height multiples with which the user must resize.More...
The effective cell size is computed by first looking at the AdornedPart's Part.resizeCellSize.
If either or both of its width and height are NaN, it will use this property, cellSize
.
If either or both of this property's width and height are NaN, it will
consider the DraggingTool.gridSnapCellSize and the Diagram.grid's Panel.gridCellSize.
The default value is NaN x NaN. Setting this property does not raise any events.
Gets or sets the width and height multiples with which the user must resize.More...
The effective cell size is computed by first looking at the Adornment.adornedPart's Part.resizeCellSize.
If either or both of its width and height are NaN, it will use this property, cellSize
.
If either or both of this property's width and height are NaN, it will
consider the DraggingTool.gridSnapCellSize and the Diagram.grid's Panel.gridCellSize.
The default value is NaN x NaN. Setting this property does not raise any events.
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
version 1.7.11 for JavaScript/HTML
by Northwoods Software® + GoJS® Diagramming Components
version 1.7.12 for JavaScript/HTML
by Northwoods Software®
GoJS Change Log
} +Changes for 1.7.12
+-
+
Changes for 1.7.11
Styling Nodes
myDiagram.nodeTemplate =
- $(go.Node, "Vertical" // second argument of a Node/Panel can be a Panel type
+ $(go.Node, "Vertical", // second argument of a Node/Panel can be a Panel type
/* set Node properties here */
{ // the Node.location point will be at the center of each node
locationSpot: go.Spot.Center
diff --git a/package.json b/package.json
index 9897eaafd..a28720daf 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "gojs",
- "version": "1.7.11",
+ "version": "1.7.12",
"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",
@@ -24,9 +24,7 @@
"intro",
"learn",
"projects",
- "release/go.js",
- "release/go-debug.js",
- "release/go.d.ts",
+ "release",
"samples"
],
"main": "release/go.js",
diff --git a/release/go-debug.js b/release/go-debug.js
index 3cc82a36a..f081831f1 100644
--- a/release/go-debug.js
+++ b/release/go-debug.js
@@ -1,235 +1,235 @@
/*
- * GoJS v1.7.11 JavaScript Library for HTML Diagrams
+ * GoJS v1.7.12 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.11/doc/license.html.
+ * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.7.12/doc/license.html.
*/
(function(window) { var f,aa={};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});
(function(){for(var a=0,b=["ms","moz","webkit","o"],c=0;c=d.length)){var e=D.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.Fw&&g.Fw[d])continue}else if(D.Rx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},ux:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==
-typeof b&&"boolean"!==typeof b&&"function"!==typeof b)if(void 0!==D.Gd(b)){if(!v.Sw.contains(b))if(v.Sw.add(b),v.tw.add(v.OE(a,b)),b instanceof K||b instanceof L||b instanceof ma)for(var c=b.j;c.next();)v.ux(a+"["+c.key+"]",c.value);else for(c in b){var d=D.vb(b,c);if(void 0!==d&&null!==d&&D.Ta(d)&&d!==b.Fw){if(b instanceof na){if(d===b.gi)continue}else if(b instanceof x){if("data"===c||d===b.Nd)continue;if("itemArray"===c||d===b.bj)continue;if(b instanceof F&&d===b.Ll)continue}else if(!(b instanceof
-E))if(b instanceof oa){if("archetypeGroupData"===c||d===b.az)continue}else if(b instanceof ra){if("archetypeLinkData"===c||d===b.cz)continue;if("archetypeLabelNodeData"===c||d===b.bz)continue}else if(b instanceof ta){if("archetypeNodeData"===c||d===b.ql)continue}else if(b instanceof M){if("nodeDataArray"===c||d===b.we)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Fc)continue;if(d===b.xg)continue}else if(b instanceof va||b instanceof wa||b instanceof xa)continue;v.ux(a+"."+
-c,d)}}}else if(Array.isArray(b))for(c=0;c=a.length?a.push(c):a.splice(b,0,c):D.k("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Ug:function(a,
-b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):D.k("Cannot remove an object from an HTMLCollection or NodeList at "+b)},Ty:[],O:function(){var a=D.Ty.pop();return void 0===a?new O:a},Fb:function(a,b){var c=D.Ty.pop();if(void 0===c)return new O(a,b);c.x=a;c.y=b;return c},A:function(a){D.Ty.push(a)},lC:[],Cm:function(){var a=D.lC.pop();return void 0===a?new Ca:a},Rk:function(a){D.lC.push(a)},Uy:[],Of:function(){var a=D.Uy.pop();return void 0===a?new B:a},sg:function(a,b,c,d){var e=D.Uy.pop();
-if(void 0===e)return new B(a,b,c,d);e.x=a;e.y=b;e.width=c;e.height=d;return e},Kb:function(a){D.Uy.push(a)},mC:[],Pf:function(){var a=D.mC.pop();return void 0===a?new Da:a},He:function(a){D.mC.push(a)},Vy:null,v:function(){var a=D.Vy;return null!==a?(D.Vy=null,a):new Ea},u:function(a){a.reset();D.Vy=a},kC:[],tb:function(){var a=D.kC.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;D.kC.push(a)},Do:Object.freeze([]),Gm:1,uc:function(a){a.__gohashid=D.Gm++},qq:function(a){var b=a.__gohashid;
-void 0===b&&(b=D.Gm++,a.__gohashid=b);return b},Gd:function(a){return a.__gohashid},ja:function(a,b){b.hz=a;aa[a]=b},Sa:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},Ai:function(a){a.EH=!0},defineProperty:function(a,b,c,d,e){D.h(a,"function","Util.defineProperty:classfunc");D.h(b,"object","Util.defineProperty:propobj");D.h(c,"function","Util.defineProperty:getter");D.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}},GK:!1,w:function(a,b,c,d){D.h(a,"function","Util.defineReadOnlyProperty:classfunc");D.h(b,"object","Util.defineReadOnlyProperty:propobj");D.h(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var g=b[e];b={get:c,set:function(a){D.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}},ke:function(a,b){for(var c in b)b[c]=!0;a.prototype.Fw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?D.rf(a):null===a?"*":""},rf:function(a){if("function"===typeof a){if(a.hz)return a.hz;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,
-c).trim();if(""!==b)return a.hz=b}else if("object"===typeof a&&a.constructor)return D.rf(a.constructor);return typeof a},s:function(a,b,c){D.h(a,"function","Util.defineEnumValue:classfunc");D.h(b,"string","Util.defineEnumValue:name");D.h(c,"number","Util.defineEnumValue:num");c=new za(a,b,c);Object.freeze(c);a[b]=c;var d=a.lv;d instanceof ma||(d=new ma("string",za),a.lv=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){v&&D.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){v&&D.trace("property set error: "+d.toString())}},Zu:function(a,b){D.h(a,"object","Setting properties requires Objects as arguments");D.h(b,"object","Setting properties requires Objects as arguments");var c=a instanceof x,d=a instanceof E,e;for(e in b){""===
-e&&D.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;c=d.length)){var e=D.vb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.Hw&&g.Hw[d])continue}else if(D.Sx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},wx:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&"string"!==
+typeof b&&"boolean"!==typeof b&&"function"!==typeof b)if(void 0!==D.Gd(b)){if(!v.Uw.contains(b))if(v.Uw.add(b),v.vw.add(v.OE(a,b)),b instanceof K||b instanceof L||b instanceof ma)for(var c=b.j;c.next();)v.wx(a+"["+c.key+"]",c.value);else for(c in b){var d=D.vb(b,c);if(void 0!==d&&null!==d&&D.Ta(d)&&d!==b.Hw){if(b instanceof na){if(d===b.of)continue}else if(b instanceof x){if("data"===c||d===b.Nd)continue;if("itemArray"===c||d===b.bj)continue;if(b instanceof F&&d===b.Ml)continue}else if(!(b instanceof
+E))if(b instanceof oa){if("archetypeGroupData"===c||d===b.bz)continue}else if(b instanceof ra){if("archetypeLinkData"===c||d===b.dz)continue;if("archetypeLabelNodeData"===c||d===b.cz)continue}else if(b instanceof ta){if("archetypeNodeData"===c||d===b.rl)continue}else if(b instanceof M){if("nodeDataArray"===c||d===b.we)continue;if("linkDataArray"===c||d===b.bf||d===b.hi)continue;if(d===b.Fc)continue;if(d===b.yg)continue}else if(b instanceof va||b instanceof wa||b instanceof xa)continue;v.wx(a+"."+
+c,d)}}}else if(Array.isArray(b))for(c=0;c=a.length?a.push(c):a.splice(b,0,c):D.k("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Vg:function(a,
+b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):D.k("Cannot remove an object from an HTMLCollection or NodeList at "+b)},Uy:[],O:function(){var a=D.Uy.pop();return void 0===a?new O:a},Fb:function(a,b){var c=D.Uy.pop();if(void 0===c)return new O(a,b);c.x=a;c.y=b;return c},A:function(a){D.Uy.push(a)},lC:[],Dm:function(){var a=D.lC.pop();return void 0===a?new Ca:a},Sk:function(a){D.lC.push(a)},Vy:[],Pf:function(){var a=D.Vy.pop();return void 0===a?new B:a},tg:function(a,b,c,d){var e=D.Vy.pop();
+if(void 0===e)return new B(a,b,c,d);e.x=a;e.y=b;e.width=c;e.height=d;return e},Kb:function(a){D.Vy.push(a)},mC:[],Qf:function(){var a=D.mC.pop();return void 0===a?new Da:a},He:function(a){D.mC.push(a)},Wy:null,v:function(){var a=D.Wy;return null!==a?(D.Wy=null,a):new Ea},u:function(a){a.reset();D.Wy=a},kC:[],tb:function(){var a=D.kC.pop();return void 0===a?[]:a},Ba:function(a){a.length=0;D.kC.push(a)},Do:Object.freeze([]),Hm:1,uc:function(a){a.__gohashid=D.Hm++},qq:function(a){var b=a.__gohashid;
+void 0===b&&(b=D.Hm++,a.__gohashid=b);return b},Gd:function(a){return a.__gohashid},ka:function(a,b){b.iz=a;aa[a]=b},Sa:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},Ai:function(a){a.FH=!0},defineProperty:function(a,b,c,d,e){D.h(a,"function","Util.defineProperty:classfunc");D.h(b,"object","Util.defineProperty:propobj");D.h(c,"function","Util.defineProperty:getter");D.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}},HK:!1,w:function(a,b,c,d){D.h(a,"function","Util.defineReadOnlyProperty:classfunc");D.h(b,"object","Util.defineReadOnlyProperty:propobj");D.h(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var g=b[e];b={get:c,set:function(a){D.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}},ke:function(a,b){for(var c in b)b[c]=!0;a.prototype.Hw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?D.sf(a):null===a?"*":""},sf:function(a){if("function"===typeof a){if(a.iz)return a.iz;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,
+c).trim();if(""!==b)return a.iz=b}else if("object"===typeof a&&a.constructor)return D.sf(a.constructor);return typeof a},s:function(a,b,c){D.h(a,"function","Util.defineEnumValue:classfunc");D.h(b,"string","Util.defineEnumValue:name");D.h(c,"number","Util.defineEnumValue:num");c=new za(a,b,c);Object.freeze(c);a[b]=c;var d=a.nv;d instanceof ma||(d=new ma("string",za),a.nv=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){v&&D.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){v&&D.trace("property set error: "+d.toString())}},av:function(a,b){D.h(a,"object","Setting properties requires Objects as arguments");D.h(b,"object","Setting properties requires Objects as arguments");var c=a instanceof x,d=a instanceof E,e;for(e in b){""===
+e&&D.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;cd;d++)b[D.Vg("7ca11abfd7330390")](D.Vg(c[d-1]),10,15*d+0);b[D.Vg("7ca11abfd022028846")]=D.Vg("39f046ebb36e4b");for(d=1;5>d;d++)b[D.Vg("7ca11abfd7330390")](D.Vg(c[d-
-1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])D.s=function(a,b){var c=new za(a,b,2);Object.freeze(c);a[b]=c;var d=a.lv;d instanceof ma||(d=new ma("string",za),a.lv=d);d.add(b,c);return c};return a}();function za(a,b,c){D.uc(this);this.vC=a;this.Xb=b;this.IH=c}D.ja("EnumValue",za);za.prototype.toString=function(){return D.rf(this.vC)+"."+this.Xb};D.w(za,{Ne:"classType"},function(){return this.vC});D.w(za,{name:"name"},function(){return this.Xb});D.w(za,{value:"value"},function(){return this.IH});
-var Ha;za.findName=Ha=function(a,b){if(void 0===b||null===b||""===b)return null;D.h(a,"function","findName:classfunc");D.h(b,"string","EnumValue.findName:name");var c=a.lv;return c instanceof ma?c.na(b):null};function ya(){this.uC=[]}ya.prototype.toString=function(){return this.uC.join("")};ya.prototype.add=function(a){""!==a&&this.uC.push(a)};function la(){}
-function Ia(a){void 0===a&&(a=42);this.seed=a;this.Py=48271;this.kv=2147483647;this.jC=this.kv/this.Py;this.qH=this.kv%this.Py;this.pH=1/this.kv;this.random()}Ia.prototype.random=function(){var a=this.seed%this.jC*this.Py-this.seed/this.jC*this.qH;this.seed=0d;d++)b[D.Wg("7ca11abfd7330390")](D.Wg(c[d-1]),10,15*d+0);b[D.Wg("7ca11abfd022028846")]=D.Wg("39f046ebb36e4b");for(d=1;5>d;d++)b[D.Wg("7ca11abfd7330390")](D.Wg(c[d-
+1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])D.s=function(a,b){var c=new za(a,b,2);Object.freeze(c);a[b]=c;var d=a.nv;d instanceof ma||(d=new ma("string",za),a.nv=d);d.add(b,c);return c};return a}();function za(a,b,c){D.uc(this);this.vC=a;this.Yb=b;this.JH=c}D.ka("EnumValue",za);za.prototype.toString=function(){return D.sf(this.vC)+"."+this.Yb};D.w(za,{Ne:"classType"},function(){return this.vC});D.w(za,{name:"name"},function(){return this.Yb});D.w(za,{value:"value"},function(){return this.JH});
+var Ha;za.findName=Ha=function(a,b){if(void 0===b||null===b||""===b)return null;D.h(a,"function","findName:classfunc");D.h(b,"string","EnumValue.findName:name");var c=a.nv;return c instanceof ma?c.na(b):null};function ya(){this.uC=[]}ya.prototype.toString=function(){return this.uC.join("")};ya.prototype.add=function(a){""!==a&&this.uC.push(a)};function la(){}
+function Ia(a){void 0===a&&(a=42);this.seed=a;this.Qy=48271;this.mv=2147483647;this.jC=this.mv/this.Qy;this.rH=this.mv%this.Qy;this.qH=1/this.mv;this.random()}Ia.prototype.random=function(){var a=this.seed%this.jC*this.Qy-this.seed/this.jC*this.rH;this.seed=0this.key)return!1;D.Va(a)}var a=a.o,b=a.length,c=++this.Dc,d=this.mi;if(null!==d)for(;cthis.key)return!1;D.Va(a)}var b=--this.Dc;if(0<=b)return this.key=b,this.value=a.o[b],!0;this.Rf();return!1};Pa.prototype.hasNext=function(){return this.next()};
-Pa.prototype.first=Pa.prototype.first=function(){var a=this.Ec;this.$a=a.G;var b=a.o;this.Dc=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};Pa.prototype.any=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.G!==c&&D.Va(b)}return!1};Pa.prototype.all=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.G!==c&&D.Va(b)}return!0};
-Pa.prototype.each=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--)a(d[e]),b.G!==c&&D.Va(b);return this};Pa.prototype.map=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=[],e=b.o,g=e.length;this.Dc=g;for(g-=1;0<=g;g--)d.push(a(e[g])),b.G!==c&&D.Va(b);a=new K;a.o=d;a.Rc();return a.j};
-Pa.prototype.filter=function(a){var b=this.Ec;b.cj=null;var c=b.G,d=[],e=b.o,g=e.length;this.Dc=g;for(g-=1;0<=g;g--){var h=e[g];a(h)&&d.push(h);b.G!==c&&D.Va(b)}a=new K(b.ca);a.o=d;a.Rc();return a.j};Pa.prototype.concat=function(a){this.Ec.cj=null;return new Ma(this,a.j)};D.w(Pa,{count:"count"},function(){return this.Ec.o.length});Pa.prototype.Rf=function(){this.key=-1;this.value=null;this.$a=-1;this.Ec.cj=this};
+La.prototype.each=function(a){this.key=-1;a(this.value);return this};La.prototype.map=function(a){return new La(a(this.value))};La.prototype.filter=function(a){return a(this.value)?new La(this.value):Ka};La.prototype.concat=function(a){return new Ma(this,a.j)};D.w(La,{count:"count"},function(){return 1});La.prototype.Sf=function(){this.value=null};La.prototype.toString=function(){return"SingletonIterator("+this.value+")"};function Ma(a,b){this.El=a;this.Fl=b;this.ov=!1}D.ke(Ma,{key:!0,value:!0});
+D.w(Ma,{j:"iterator"},function(){return this});Ma.prototype.reset=Ma.prototype.reset=function(){this.El.reset();this.Fl.reset();this.ov=!1};Ma.prototype.next=Ma.prototype.next=function(){if(!this.ov){var a=this.El;if(a.next())return this.key=a.key,this.value=a.value,!0;this.ov=!0}return this.ov&&(a=this.Fl,a.next())?(this.key=a.key,this.value=a.value,!0):!1};Ma.prototype.hasNext=function(){return this.next()};
+Ma.prototype.first=Ma.prototype.first=function(){this.reset();return this.next()?this.value:null};Ma.prototype.any=function(a){return this.El.any(a)||this.Fl.any(a)?!0:!1};Ma.prototype.all=function(a){return this.El.all(a)&&this.Fl.all(a)?!0:!1};Ma.prototype.each=function(a){this.El.each(a);this.Fl.each(a);return this};Ma.prototype.map=function(a){return new Ma(this.El.map(a),this.Fl.map(a))};Ma.prototype.filter=function(a){return new Ma(this.El.filter(a),this.Fl.filter(a))};
+Ma.prototype.concat=function(a){return new Ma(this,a.j)};D.w(Ma,{count:"count"},function(){return this.El.count+this.Fl.count});Ma.prototype.Sf=function(){this.value=this.key=null};Ma.prototype.toString=function(){return"ConcatIterator()"};function Na(a){this.Ec=a;this.mi=null;a.Xb=null;this.$a=a.I;this.Dc=-1}D.ke(Na,{key:!0,value:!0});D.w(Na,{j:"iterator"},function(){return this});D.defineProperty(Na,{Eq:"predicate"},function(){return this.mi},function(a){this.mi=a});
+Na.prototype.reset=Na.prototype.reset=function(){var a=this.Ec;a.Xb=null;this.$a=a.I;this.Dc=-1};Na.prototype.next=Na.prototype.next=function(){var a=this.Ec;if(a.I!==this.$a){if(0>this.key)return!1;D.Va(a)}var a=a.o,b=a.length,c=++this.Dc,d=this.mi;if(null!==d)for(;cthis.key)return!1;D.Va(a)}var b=--this.Dc;if(0<=b)return this.key=b,this.value=a.o[b],!0;this.Sf();return!1};Pa.prototype.hasNext=function(){return this.next()};
+Pa.prototype.first=Pa.prototype.first=function(){var a=this.Ec;this.$a=a.I;var b=a.o;this.Dc=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};Pa.prototype.any=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.I!==c&&D.Va(b)}return!1};Pa.prototype.all=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.I!==c&&D.Va(b)}return!0};
+Pa.prototype.each=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=b.o,e=d.length;this.Dc=e;for(e-=1;0<=e;e--)a(d[e]),b.I!==c&&D.Va(b);return this};Pa.prototype.map=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=[],e=b.o,g=e.length;this.Dc=g;for(g-=1;0<=g;g--)d.push(a(e[g])),b.I!==c&&D.Va(b);a=new K;a.o=d;a.Rc();return a.j};
+Pa.prototype.filter=function(a){var b=this.Ec;b.cj=null;var c=b.I,d=[],e=b.o,g=e.length;this.Dc=g;for(g-=1;0<=g;g--){var h=e[g];a(h)&&d.push(h);b.I!==c&&D.Va(b)}a=new K(b.ca);a.o=d;a.Rc();return a.j};Pa.prototype.concat=function(a){this.Ec.cj=null;return new Ma(this,a.j)};D.w(Pa,{count:"count"},function(){return this.Ec.o.length});Pa.prototype.Sf=function(){this.key=-1;this.value=null;this.$a=-1;this.Ec.cj=this};
Pa.prototype.toString=function(){return"ListIteratorBackwards("+this.Dc+"/"+this.Ec.count+")"};
-function K(a){D.uc(this);this.J=!1;this.o=[];this.G=0;this.cj=this.Wb=null;void 0===a||null===a?this.ca=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.ca=a:D.ua(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.ca=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:D.ua(a,"null, a primitive type name, or a class type",
-"List constructor: type")}D.ja("List",K);K.prototype.oh=function(a){null!==this.ca&&("string"===typeof this.ca?typeof a===this.ca&&null!==a||D.hc(a,this.ca):a instanceof this.ca||D.hc(a,this.ca))};K.prototype.Rc=function(){var a=this.G;a++;999999999a||a>=b.length)&&D.ua(a,"0 <= i < length",K,"elt:i");return b[a]};K.prototype.get=K.prototype.get=function(a){return this.ea(a)};K.prototype.setElt=K.prototype.rg=function(a,b){v&&(this.oh(b),D.p(a,K,"setElt:i"));var c=this.o;(0>a||a>=c.length)&&D.ua(a,"0 <= i < length",K,"setElt:i");this.J&&D.pa(this,a);c[a]=b};K.prototype.set=K.prototype.set=function(a,b){this.rg(a,b)};
-K.prototype.first=K.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};K.prototype.last=K.prototype.pe=function(){var a=this.o,b=a.length;return 0a&&D.ua(a,">= 0",K,"insertAt:i");this.J&&D.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Rc();return!0};
-K.prototype.remove=K.prototype["delete"]=K.prototype.remove=function(a){if(null===a)return!1;v&&this.oh(a);this.J&&D.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.Rc();return!0};K.prototype.removeAt=K.prototype.jd=function(a){v&&D.p(a,K,"removeAt:i");var b=this.o;(0>a||a>=b.length)&&D.ua(a,"0 <= i < length",K,"removeAt:i");this.J&&D.pa(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Rc()};
+function K(a){D.uc(this);this.J=!1;this.o=[];this.I=0;this.cj=this.Xb=null;void 0===a||null===a?this.ca=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.ca=a:D.ua(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.ca=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:D.ua(a,"null, a primitive type name, or a class type",
+"List constructor: type")}D.ka("List",K);K.prototype.ph=function(a){null!==this.ca&&("string"===typeof this.ca?typeof a===this.ca&&null!==a||D.ic(a,this.ca):a instanceof this.ca||D.ic(a,this.ca))};K.prototype.Rc=function(){var a=this.I;a++;999999999a||a>=b.length)&&D.ua(a,"0 <= i < length",K,"elt:i");return b[a]};K.prototype.get=K.prototype.get=function(a){return this.ea(a)};K.prototype.setElt=K.prototype.sg=function(a,b){v&&(this.ph(b),D.p(a,K,"setElt:i"));var c=this.o;(0>a||a>=c.length)&&D.ua(a,"0 <= i < length",K,"setElt:i");this.J&&D.pa(this,a);c[a]=b};K.prototype.set=K.prototype.set=function(a,b){this.sg(a,b)};
+K.prototype.first=K.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};K.prototype.last=K.prototype.pe=function(){var a=this.o,b=a.length;return 0a&&D.ua(a,">= 0",K,"insertAt:i");this.J&&D.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Rc();return!0};
+K.prototype.remove=K.prototype["delete"]=K.prototype.remove=function(a){if(null===a)return!1;v&&this.ph(a);this.J&&D.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.Rc();return!0};K.prototype.removeAt=K.prototype.jd=function(a){v&&D.p(a,K,"removeAt:i");var b=this.o;(0>a||a>=b.length)&&D.ua(a,"0 <= i < length",K,"removeAt:i");this.J&&D.pa(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Rc()};
K.prototype.removeRange=K.prototype.removeRange=function(a,b){v&&(D.p(a,K,"removeRange:from"),D.p(b,K,"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.J&&D.pa(this);for(var e=a,g=b+1;g=g)return this;(0>b||b>=e-1)&&D.ua(b,"0 <= from < length",K,"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 Ka;var a=this.Wb;return null!==a?(a.reset(),a):new Na(this)});
-D.w(K,{ao:"iteratorBackwards"},function(){if(0>=this.o.length)return Ka;var a=this.cj;return null!==a?(a.reset(),a):new Pa(this)});function Qa(a){this.oi=a;a.Wb=null;this.$a=a.G;this.bb=null}D.ke(Qa,{key:!0,value:!0});D.w(Qa,{j:"iterator"},function(){return this});Qa.prototype.reset=Qa.prototype.reset=function(){var a=this.oi;a.Wb=null;this.$a=a.G;this.bb=null};
-Qa.prototype.next=Qa.prototype.next=function(){var a=this.oi;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};Qa.prototype.hasNext=function(){return this.next()};Qa.prototype.first=Qa.prototype.first=function(){var a=this.oi;this.$a=a.G;a=a.Ka;if(null!==a){this.bb=a;var b=a.value;this.key=a.key;return this.value=b}return null};
-Qa.prototype.any=function(a){var b=this.oi;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d.value))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};Qa.prototype.all=function(a){var b=this.oi;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d.value))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};Qa.prototype.each=function(a){var b=this.oi;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d.value),b.G!==c&&D.Va(b),d=d.fb;return this};
-Qa.prototype.map=function(a){var b=this.oi;b.Wb=null;for(var c=new K,d=b.G,e=b.Ka;null!==e;)c.add(a(e.value)),b.G!==d&&D.Va(b),e=e.fb;return c.j};Qa.prototype.filter=function(a){var b=this.oi;b.Wb=null;for(var c=new K(b.ca),d=b.G,e=b.Ka;null!==e;){var g=e.value;a(g)&&c.add(g);b.G!==d&&D.Va(b);e=e.fb}return c.j};Qa.prototype.concat=function(a){this.oi.Wb=null;return new Ma(this,a.j)};D.w(Qa,{count:"count"},function(){return this.oi.yd});
-Qa.prototype.Rf=function(){this.value=this.key=null;this.$a=-1;this.oi.Wb=this};Qa.prototype.toString=function(){return null!==this.bb?"SetIterator@"+this.bb.value:"SetIterator"};
-function L(a){D.uc(this);this.J=!1;void 0===a||null===a?this.ca=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.ca=a:D.ua(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.ca=a===Object?"object":a===String?"string":a===Number?"number":a:D.ua(a,"null, a primitive type name, or a class type","Set constructor: type");this.zd={};this.yd=0;this.Wb=null;this.G=0;this.fi=this.Ka=null}D.ja("Set",L);
-L.prototype.oh=function(a){null!==this.ca&&("string"===typeof this.ca?typeof a===this.ca&&null!==a||D.hc(a,this.ca):a instanceof this.ca||D.hc(a,this.ca))};L.prototype.Rc=function(){var a=this.G;a++;999999999=this.yd)return Ka;var a=this.Wb;return null!==a?(a.reset(),a):new Qa(this)});function Sa(a){this.Ma=a;this.$a=a.G;this.bb=null}D.ke(Sa,{key:!0,value:!0});D.w(Sa,{j:"iterator"},function(){return this});Sa.prototype.reset=Sa.prototype.reset=function(){this.$a=this.Ma.G;this.bb=null};
-Sa.prototype.next=Sa.prototype.next=function(){var a=this.Ma;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.value=this.key=a=b.key,!0;this.Rf();return!1};Sa.prototype.hasNext=function(){return this.next()};Sa.prototype.first=Sa.prototype.first=function(){var a=this.Ma;this.$a=a.G;a=a.Ka;return null!==a?(this.bb=a,this.value=this.key=a=a.key):null};
-Sa.prototype.any=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d.key))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};Sa.prototype.all=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d.key))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};Sa.prototype.each=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d.key),b.G!==c&&D.Va(b),d=d.fb;return this};
-Sa.prototype.map=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e.key)),b.G!==c&&D.Va(b),e=e.fb;return d.j};Sa.prototype.filter=function(a){var b=this.Ma,c=b.G;this.bb=null;for(var d=new K(b.af),e=b.Ka;null!==e;){var g=e.key;a(g)&&d.add(g);b.G!==c&&D.Va(b);e=e.fb}return d.j};Sa.prototype.concat=function(a){return new Ma(this,a.j)};D.w(Sa,{count:"count"},function(){return this.Ma.yd});Sa.prototype.Rf=function(){this.value=this.key=null;this.$a=-1};
-Sa.prototype.toString=function(){return null!==this.bb?"MapKeySetIterator@"+this.bb.value:"MapKeySetIterator"};function Ta(a){D.uc(this);this.J=!0;this.Ma=a}D.Sa(Ta,L);Ta.prototype.freeze=function(){return this};Ta.prototype.Ya=function(){return this};Ta.prototype.toString=function(){return"MapKeySet("+this.Ma.toString()+")"};Ta.prototype.add=Ta.prototype.add=function(){D.k("This Set is read-only: "+this.toString());return!1};
+g.sort(a),a=b;a=this.o.length)return Ka;var a=this.Xb;return null!==a?(a.reset(),a):new Na(this)});
+D.w(K,{ao:"iteratorBackwards"},function(){if(0>=this.o.length)return Ka;var a=this.cj;return null!==a?(a.reset(),a):new Pa(this)});function Qa(a){this.oi=a;a.Xb=null;this.$a=a.I;this.cb=null}D.ke(Qa,{key:!0,value:!0});D.w(Qa,{j:"iterator"},function(){return this});Qa.prototype.reset=Qa.prototype.reset=function(){var a=this.oi;a.Xb=null;this.$a=a.I;this.cb=null};
+Qa.prototype.next=Qa.prototype.next=function(){var a=this.oi;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.cb,b=null===b?a.Ka:b.gb;if(null!==b)return this.cb=b,this.value=b.value,this.key=b.key,!0;this.Sf();return!1};Qa.prototype.hasNext=function(){return this.next()};Qa.prototype.first=Qa.prototype.first=function(){var a=this.oi;this.$a=a.I;a=a.Ka;if(null!==a){this.cb=a;var b=a.value;this.key=a.key;return this.value=b}return null};
+Qa.prototype.any=function(a){var b=this.oi;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(a(d.value))return!0;b.I!==c&&D.Va(b);d=d.gb}return!1};Qa.prototype.all=function(a){var b=this.oi;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(!a(d.value))return!1;b.I!==c&&D.Va(b);d=d.gb}return!0};Qa.prototype.each=function(a){var b=this.oi;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;)a(d.value),b.I!==c&&D.Va(b),d=d.gb;return this};
+Qa.prototype.map=function(a){var b=this.oi;b.Xb=null;for(var c=new K,d=b.I,e=b.Ka;null!==e;)c.add(a(e.value)),b.I!==d&&D.Va(b),e=e.gb;return c.j};Qa.prototype.filter=function(a){var b=this.oi;b.Xb=null;for(var c=new K(b.ca),d=b.I,e=b.Ka;null!==e;){var g=e.value;a(g)&&c.add(g);b.I!==d&&D.Va(b);e=e.gb}return c.j};Qa.prototype.concat=function(a){this.oi.Xb=null;return new Ma(this,a.j)};D.w(Qa,{count:"count"},function(){return this.oi.yd});
+Qa.prototype.Sf=function(){this.value=this.key=null;this.$a=-1;this.oi.Xb=this};Qa.prototype.toString=function(){return null!==this.cb?"SetIterator@"+this.cb.value:"SetIterator"};
+function L(a){D.uc(this);this.J=!1;void 0===a||null===a?this.ca=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.ca=a:D.ua(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.ca=a===Object?"object":a===String?"string":a===Number?"number":a:D.ua(a,"null, a primitive type name, or a class type","Set constructor: type");this.zd={};this.yd=0;this.Xb=null;this.I=0;this.gi=this.Ka=null}D.ka("Set",L);
+L.prototype.ph=function(a){null!==this.ca&&("string"===typeof this.ca?typeof a===this.ca&&null!==a||D.ic(a,this.ca):a instanceof this.ca||D.ic(a,this.ca))};L.prototype.Rc=function(){var a=this.I;a++;999999999=this.yd)return Ka;var a=this.Xb;return null!==a?(a.reset(),a):new Qa(this)});function Sa(a){this.Ma=a;this.$a=a.I;this.cb=null}D.ke(Sa,{key:!0,value:!0});D.w(Sa,{j:"iterator"},function(){return this});Sa.prototype.reset=Sa.prototype.reset=function(){this.$a=this.Ma.I;this.cb=null};
+Sa.prototype.next=Sa.prototype.next=function(){var a=this.Ma;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.cb,b=null===b?a.Ka:b.gb;if(null!==b)return this.cb=b,this.value=this.key=a=b.key,!0;this.Sf();return!1};Sa.prototype.hasNext=function(){return this.next()};Sa.prototype.first=Sa.prototype.first=function(){var a=this.Ma;this.$a=a.I;a=a.Ka;return null!==a?(this.cb=a,this.value=this.key=a=a.key):null};
+Sa.prototype.any=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(a(d.key))return!0;b.I!==c&&D.Va(b);d=d.gb}return!1};Sa.prototype.all=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(!a(d.key))return!1;b.I!==c&&D.Va(b);d=d.gb}return!0};Sa.prototype.each=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=b.Ka;null!==d;)a(d.key),b.I!==c&&D.Va(b),d=d.gb;return this};
+Sa.prototype.map=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e.key)),b.I!==c&&D.Va(b),e=e.gb;return d.j};Sa.prototype.filter=function(a){var b=this.Ma,c=b.I;this.cb=null;for(var d=new K(b.af),e=b.Ka;null!==e;){var g=e.key;a(g)&&d.add(g);b.I!==c&&D.Va(b);e=e.gb}return d.j};Sa.prototype.concat=function(a){return new Ma(this,a.j)};D.w(Sa,{count:"count"},function(){return this.Ma.yd});Sa.prototype.Sf=function(){this.value=this.key=null;this.$a=-1};
+Sa.prototype.toString=function(){return null!==this.cb?"MapKeySetIterator@"+this.cb.value:"MapKeySetIterator"};function Ta(a){D.uc(this);this.J=!0;this.Ma=a}D.Sa(Ta,L);Ta.prototype.freeze=function(){return this};Ta.prototype.Ya=function(){return this};Ta.prototype.toString=function(){return"MapKeySet("+this.Ma.toString()+")"};Ta.prototype.add=Ta.prototype.add=function(){D.k("This Set is read-only: "+this.toString());return!1};
Ta.prototype.set=Ta.prototype.set=function(){D.k("This Set is read-only: "+this.toString());return!1};Ta.prototype.contains=Ta.prototype.contains=function(a){return this.Ma.contains(a)};Ta.prototype.has=Ta.prototype.has=function(a){return this.contains(a)};Ta.prototype.remove=Ta.prototype["delete"]=Ta.prototype.remove=function(){D.k("This Set is read-only: "+this.toString());return!1};Ta.prototype.clear=Ta.prototype.clear=function(){D.k("This Set is read-only: "+this.toString())};
-Ta.prototype.first=Ta.prototype.first=function(){var a=this.Ma.Ka;return null!==a?a.key:null};Ta.prototype.any=function(a){for(var b=this.Ma.Ka;null!==b;){if(a(b.key))return!0;b=b.fb}return!1};Ta.prototype.all=function(a){for(var b=this.Ma.Ka;null!==b;){if(!a(b.key))return!1;b=b.fb}return!0};Ta.prototype.each=function(a){for(var b=this.Ma.Ka;null!==b;)a(b.key),b=b.fb;return this};Ta.prototype.map=function(a){for(var b=new L,c=this.Ma.Ka;null!==c;)b.add(a(c.key)),c=c.fb;return b};
-Ta.prototype.filter=function(a){for(var b=new L(this.Ma.af),c=this.Ma.Ka;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.fb}return b};Ta.prototype.concat=function(a){return this.eH().Sc(a)};Ta.prototype.copy=function(){return new Ta(this.Ma)};Ta.prototype.toSet=Ta.prototype.eH=function(){var a=new L(this.Ma.af),b=this.Ma.zd,c;for(c in b)a.add(b[c].key);return a};Ta.prototype.toArray=Ta.prototype.mc=function(){var a=this.Ma.zd,b=Array(this.Ma.yd),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};
-Ta.prototype.toList=function(){var a=new K(this.Ma.af),b=this.Ma.zd,c;for(c in b)a.add(b[c].key);return a};D.w(Ta,{count:"count"},function(){return this.Ma.yd});D.w(Ta,{size:"size"},function(){return this.Ma.yd});D.w(Ta,{j:"iterator"},function(){return 0>=this.Ma.yd?Ka:new Sa(this.Ma)});function Ya(a){this.Ma=a;a.dj=null;this.$a=a.G;this.bb=null}D.ke(Ya,{key:!0,value:!0});D.w(Ya,{j:"iterator"},function(){return this});
-Ya.prototype.reset=Ya.prototype.reset=function(){var a=this.Ma;a.dj=null;this.$a=a.G;this.bb=null};Ya.prototype.next=Ya.prototype.next=function(){var a=this.Ma;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.value=b.value,this.key=b.key,!0;this.Rf();return!1};Ya.prototype.hasNext=function(){return this.next()};
-Ya.prototype.first=Ya.prototype.first=function(){var a=this.Ma;this.$a=a.G;a=a.Ka;if(null!==a){this.bb=a;var b=a.value;this.key=a.key;return this.value=b}return null};Ya.prototype.any=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d.value))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};Ya.prototype.all=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d.value))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};
-Ya.prototype.each=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d.value),b.G!==c&&D.Va(b),d=d.fb;return this};Ya.prototype.map=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e.value)),b.G!==c&&D.Va(b),e=e.fb;return d.j};Ya.prototype.filter=function(a){var b=this.Ma;b.dj=null;var c=b.G;this.bb=null;for(var d=new K(b.af),e=b.Ka;null!==e;){var g=e.value;a(g)&&d.add(g);b.G!==c&&D.Va(b);e=e.fb}return d.j};
-Ya.prototype.concat=function(a){this.Ma.dj=null;return new Ma(this,a.j)};D.w(Ya,{count:"count"},function(){return this.Ma.yd});Ya.prototype.Rf=function(){this.value=this.key=null;this.$a=-1;this.Ma.dj=this};Ya.prototype.toString=function(){return null!==this.bb?"MapValueSetIterator@"+this.bb.value:"MapValueSetIterator"};function Ra(a,b){this.key=a;this.value=b;this.Gp=this.fb=null}D.ke(Ra,{key:!0,value:!0});Ra.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};
-function $a(a){this.Ma=a;a.Wb=null;this.$a=a.G;this.bb=null}D.ke($a,{key:!0,value:!0});D.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){var a=this.Ma;a.Wb=null;this.$a=a.G;this.bb=null};$a.prototype.next=$a.prototype.next=function(){var a=this.Ma;if(a.G!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.bb,b=null===b?a.Ka:b.fb;if(null!==b)return this.bb=b,this.key=b.key,this.value=b.value,!0;this.Rf();return!1};$a.prototype.hasNext=function(){return this.next()};
-$a.prototype.first=$a.prototype.first=function(){var a=this.Ma;this.$a=a.G;a=a.Ka;return null!==a?(this.bb=a,this.key=a.key,this.value=a.value,a):null};$a.prototype.any=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(a(d))return!0;b.G!==c&&D.Va(b);d=d.fb}return!1};$a.prototype.all=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;){if(!a(d))return!1;b.G!==c&&D.Va(b);d=d.fb}return!0};
-$a.prototype.each=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=b.Ka;null!==d;)a(d),b.G!==c&&D.Va(b),d=d.fb;return this};$a.prototype.map=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e)),b.G!==c&&D.Va(b),e=e.fb;return d.j};$a.prototype.filter=function(a){var b=this.Ma;b.Wb=null;var c=b.G;this.bb=null;for(var d=new K,e=b.Ka;null!==e;)a(e)&&d.add(e),b.G!==c&&D.Va(b),e=e.fb;return d.j};
-$a.prototype.concat=function(a){this.Ma.Wb=null;return new Ma(this,a.j)};D.w($a,{count:"count"},function(){return this.Ma.yd});$a.prototype.Rf=function(){this.value=this.key=null;this.$a=-1;this.Ma.Wb=this};$a.prototype.toString=function(){return null!==this.bb?"MapIterator@"+this.bb:"MapIterator"};
+Ta.prototype.first=Ta.prototype.first=function(){var a=this.Ma.Ka;return null!==a?a.key:null};Ta.prototype.any=function(a){for(var b=this.Ma.Ka;null!==b;){if(a(b.key))return!0;b=b.gb}return!1};Ta.prototype.all=function(a){for(var b=this.Ma.Ka;null!==b;){if(!a(b.key))return!1;b=b.gb}return!0};Ta.prototype.each=function(a){for(var b=this.Ma.Ka;null!==b;)a(b.key),b=b.gb;return this};Ta.prototype.map=function(a){for(var b=new L,c=this.Ma.Ka;null!==c;)b.add(a(c.key)),c=c.gb;return b};
+Ta.prototype.filter=function(a){for(var b=new L(this.Ma.af),c=this.Ma.Ka;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.gb}return b};Ta.prototype.concat=function(a){return this.fH().Sc(a)};Ta.prototype.copy=function(){return new Ta(this.Ma)};Ta.prototype.toSet=Ta.prototype.fH=function(){var a=new L(this.Ma.af),b=this.Ma.zd,c;for(c in b)a.add(b[c].key);return a};Ta.prototype.toArray=Ta.prototype.nc=function(){var a=this.Ma.zd,b=Array(this.Ma.yd),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};
+Ta.prototype.toList=function(){var a=new K(this.Ma.af),b=this.Ma.zd,c;for(c in b)a.add(b[c].key);return a};D.w(Ta,{count:"count"},function(){return this.Ma.yd});D.w(Ta,{size:"size"},function(){return this.Ma.yd});D.w(Ta,{j:"iterator"},function(){return 0>=this.Ma.yd?Ka:new Sa(this.Ma)});function Ya(a){this.Ma=a;a.dj=null;this.$a=a.I;this.cb=null}D.ke(Ya,{key:!0,value:!0});D.w(Ya,{j:"iterator"},function(){return this});
+Ya.prototype.reset=Ya.prototype.reset=function(){var a=this.Ma;a.dj=null;this.$a=a.I;this.cb=null};Ya.prototype.next=Ya.prototype.next=function(){var a=this.Ma;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.cb,b=null===b?a.Ka:b.gb;if(null!==b)return this.cb=b,this.value=b.value,this.key=b.key,!0;this.Sf();return!1};Ya.prototype.hasNext=function(){return this.next()};
+Ya.prototype.first=Ya.prototype.first=function(){var a=this.Ma;this.$a=a.I;a=a.Ka;if(null!==a){this.cb=a;var b=a.value;this.key=a.key;return this.value=b}return null};Ya.prototype.any=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(a(d.value))return!0;b.I!==c&&D.Va(b);d=d.gb}return!1};Ya.prototype.all=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(!a(d.value))return!1;b.I!==c&&D.Va(b);d=d.gb}return!0};
+Ya.prototype.each=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;)a(d.value),b.I!==c&&D.Va(b),d=d.gb;return this};Ya.prototype.map=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e.value)),b.I!==c&&D.Va(b),e=e.gb;return d.j};Ya.prototype.filter=function(a){var b=this.Ma;b.dj=null;var c=b.I;this.cb=null;for(var d=new K(b.af),e=b.Ka;null!==e;){var g=e.value;a(g)&&d.add(g);b.I!==c&&D.Va(b);e=e.gb}return d.j};
+Ya.prototype.concat=function(a){this.Ma.dj=null;return new Ma(this,a.j)};D.w(Ya,{count:"count"},function(){return this.Ma.yd});Ya.prototype.Sf=function(){this.value=this.key=null;this.$a=-1;this.Ma.dj=this};Ya.prototype.toString=function(){return null!==this.cb?"MapValueSetIterator@"+this.cb.value:"MapValueSetIterator"};function Ra(a,b){this.key=a;this.value=b;this.Gp=this.gb=null}D.ke(Ra,{key:!0,value:!0});Ra.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};
+function $a(a){this.Ma=a;a.Xb=null;this.$a=a.I;this.cb=null}D.ke($a,{key:!0,value:!0});D.w($a,{j:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){var a=this.Ma;a.Xb=null;this.$a=a.I;this.cb=null};$a.prototype.next=$a.prototype.next=function(){var a=this.Ma;if(a.I!==this.$a){if(null===this.key)return!1;D.Va(a)}var b=this.cb,b=null===b?a.Ka:b.gb;if(null!==b)return this.cb=b,this.key=b.key,this.value=b.value,!0;this.Sf();return!1};$a.prototype.hasNext=function(){return this.next()};
+$a.prototype.first=$a.prototype.first=function(){var a=this.Ma;this.$a=a.I;a=a.Ka;return null!==a?(this.cb=a,this.key=a.key,this.value=a.value,a):null};$a.prototype.any=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(a(d))return!0;b.I!==c&&D.Va(b);d=d.gb}return!1};$a.prototype.all=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;){if(!a(d))return!1;b.I!==c&&D.Va(b);d=d.gb}return!0};
+$a.prototype.each=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=b.Ka;null!==d;)a(d),b.I!==c&&D.Va(b),d=d.gb;return this};$a.prototype.map=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=new K,e=b.Ka;null!==e;)d.add(a(e)),b.I!==c&&D.Va(b),e=e.gb;return d.j};$a.prototype.filter=function(a){var b=this.Ma;b.Xb=null;var c=b.I;this.cb=null;for(var d=new K,e=b.Ka;null!==e;)a(e)&&d.add(e),b.I!==c&&D.Va(b),e=e.gb;return d.j};
+$a.prototype.concat=function(a){this.Ma.Xb=null;return new Ma(this,a.j)};D.w($a,{count:"count"},function(){return this.Ma.yd});$a.prototype.Sf=function(){this.value=this.key=null;this.$a=-1;this.Ma.Xb=this};$a.prototype.toString=function(){return null!==this.cb?"MapIterator@"+this.cb:"MapIterator"};
function ma(a,b){D.uc(this);this.J=!1;void 0===a||null===a?this.af=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.af=a:D.ua(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.af=a===Object?"object":a===String?"string":a===Number?"number":a:D.ua(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:D.ua(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:D.ua(b,"null, a primitive type name, or a class type","Map constructor: valtype");this.zd={};this.yd=0;this.dj=this.Wb=null;this.G=0;this.fi=this.Ka=null}D.ja("Map",ma);
-function bb(a,b){null!==a.af&&("string"===typeof a.af?typeof b===a.af&&null!==b||D.hc(b,a.af):b instanceof a.af||D.hc(b,a.af))}ma.prototype.Rc=function(){var a=this.G;a++;999999999=this.count)return Ka;var a=this.Wb;return null!==a?(a.reset(),a):new $a(this)});D.w(ma,{$F:"iteratorKeys"},function(){return 0>=this.count?Ka:new Sa(this)});D.w(ma,{aG:"iteratorValues"},function(){if(0>=this.count)return Ka;var a=this.dj;return null!==a?(a.reset(),a):new Ya(this)});function O(a,b){void 0===a?this.M=this.L=0:"number"===typeof a&&"number"===typeof b?(this.L=a,this.M=b):D.k("Invalid arguments to Point constructor: "+a+", "+b);this.J=!1}
-D.ja("Point",O);D.Ai(O);D.ke(O,{x:!0,y:!0});O.prototype.assign=function(a){this.L=a.L;this.M=a.M};O.prototype.setTo=O.prototype.n=function(a,b){v&&(D.h(a,"number",O,"setTo:x"),D.h(b,"number",O,"setTo:y"));this.L=a;this.M=b;return this};O.prototype.set=O.prototype.set=function(a){v&&D.l(a,O,O,"set:p");this.Qa();this.L=a.L;this.M=a.M;return this};O.prototype.copy=function(){var a=new O;a.L=this.L;a.M=this.M;return a};f=O.prototype;f.Na=function(){this.J=!0;Object.freeze(this);return this};
+ma.prototype.remove=ma.prototype["delete"]=ma.prototype.remove=function(a){if(null===a)return!1;v&&bb(this,a);this.J&&D.pa(this,a);var b=a;if(D.Ta(a)&&(b=D.Gd(a),void 0===b))return!1;a=this.zd[b];if(void 0===a)return!1;var c=a.gb,d=a.Gp;null!==c&&(c.Gp=d);null!==d&&(d.gb=c);this.Ka===a&&(this.Ka=c);this.gi===a&&(this.gi=d);delete this.zd[b];this.yd--;this.Rc();return!0};ma.prototype.clear=ma.prototype.clear=function(){this.J&&D.pa(this);this.zd={};this.yd=0;this.gi=this.Ka=null;this.Rc()};
+ma.prototype.copy=function(){var a=new ma(this.af,this.yi),b=this.zd,c;for(c in b){var d=b[c];a.add(d.key,d.value)}return a};ma.prototype.toArray=ma.prototype.nc=function(){var a=this.zd,b=Array(this.yd),c=0,d;for(d in a){var e=a[d];b[c]=new Ra(e.key,e.value);c++}return b};ma.prototype.toKeySet=ma.prototype.Yj=function(){return new Ta(this)};D.w(ma,{count:"count"},function(){return this.yd});D.w(ma,{size:"size"},function(){return this.yd});
+D.w(ma,{j:"iterator"},function(){if(0>=this.count)return Ka;var a=this.Xb;return null!==a?(a.reset(),a):new $a(this)});D.w(ma,{aG:"iteratorKeys"},function(){return 0>=this.count?Ka:new Sa(this)});D.w(ma,{bG:"iteratorValues"},function(){if(0>=this.count)return Ka;var a=this.dj;return null!==a?(a.reset(),a):new Ya(this)});function O(a,b){void 0===a?this.M=this.L=0:"number"===typeof a&&"number"===typeof b?(this.L=a,this.M=b):D.k("Invalid arguments to Point constructor: "+a+", "+b);this.J=!1}
+D.ka("Point",O);D.Ai(O);D.ke(O,{x:!0,y:!0});O.prototype.assign=function(a){this.L=a.L;this.M=a.M};O.prototype.setTo=O.prototype.n=function(a,b){v&&(D.h(a,"number",O,"setTo:x"),D.h(b,"number",O,"setTo:y"));this.L=a;this.M=b;return this};O.prototype.set=O.prototype.set=function(a){v&&D.l(a,O,O,"set:p");this.Qa();this.L=a.L;this.M=a.M;return this};O.prototype.copy=function(){var a=new O;a.L=this.L;a.M=this.M;return a};f=O.prototype;f.Na=function(){this.J=!0;Object.freeze(this);return this};
f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Point is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};
O.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 O(c,e)}return new O};O.stringify=function(a){v&&D.l(a,O);return a.x.toString()+" "+a.y.toString()};O.prototype.toString=function(){return"Point("+this.x+","+this.y+")"};O.prototype.equals=O.prototype.P=function(a){return a instanceof O?this.L===a.x&&this.M===a.y:!1};
-O.prototype.equalTo=O.prototype.Gx=function(a,b){return this.L===a&&this.M===b};O.prototype.equalsApprox=O.prototype.Tc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)};O.prototype.add=O.prototype.add=function(a){v&&D.l(a,O,O,"add:p");this.Qa();this.L+=a.x;this.M+=a.y;return this};O.prototype.subtract=O.prototype.wo=function(a){v&&D.l(a,O,O,"subtract:p");this.Qa();this.L-=a.x;this.M-=a.y;return this};
+O.prototype.equalTo=O.prototype.Ix=function(a,b){return this.L===a&&this.M===b};O.prototype.equalsApprox=O.prototype.Tc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)};O.prototype.add=O.prototype.add=function(a){v&&D.l(a,O,O,"add:p");this.Qa();this.L+=a.x;this.M+=a.y;return this};O.prototype.subtract=O.prototype.wo=function(a){v&&D.l(a,O,O,"subtract:p");this.Qa();this.L-=a.x;this.M-=a.y;return this};
O.prototype.offset=O.prototype.offset=function(a,b){v&&(D.p(a,O,"offset:dx"),D.p(b,O,"offset:dy"));this.Qa();this.L+=a;this.M+=b;return this};O.prototype.rotate=O.prototype.rotate=function(a){v&&D.p(a,O,"rotate:angle");this.Qa();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};
-O.prototype.scale=O.prototype.scale=function(a,b){v&&(D.p(a,O,"scale:sx"),D.p(b,O,"scale:sy"));this.L*=a;this.M*=b;return this};O.prototype.distanceSquaredPoint=O.prototype.Df=function(a){v&&D.l(a,O,O,"distanceSquaredPoint:p");var b=a.x-this.L;a=a.y-this.M;return b*b+a*a};O.prototype.distanceSquared=O.prototype.kq=function(a,b){v&&(D.p(a,O,"distanceSquared:px"),D.p(b,O,"distanceSquared:py"));var c=a-this.L,d=b-this.M;return c*c+d*d};
-O.prototype.normalize=O.prototype.normalize=function(){this.Qa();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}O.prototype.projectOntoLineSegment=function(a,b,c,d){v&&(D.p(a,O,"projectOntoLineSegment:px"),D.p(b,O,"projectOntoLineSegment:py"),D.p(c,O,"projectOntoLineSegment:qx"),D.p(d,O,"projectOntoLineSegment:qy"));eb(a,b,c,d,this.L,this.M,this);return this};
O.prototype.projectOntoLineSegmentPoint=function(a,b){v&&(D.l(a,O,O,"projectOntoLineSegmentPoint:p"),D.l(b,O,O,"projectOntoLineSegmentPoint:q"));eb(a.x,a.y,b.x,b.y,this.L,this.M,this);return this};O.prototype.snapToGrid=function(a,b,c,d){v&&(D.p(a,O,"snapToGrid:originx"),D.p(b,O,"snapToGrid:originy"),D.p(c,O,"snapToGrid:cellwidth"),D.p(d,O,"snapToGrid:cellheight"));fb(this.L,this.M,a,b,c,d,this);return this};
O.prototype.snapToGridPoint=function(a,b){v&&(D.l(a,O,O,"snapToGridPoint:p"),D.l(b,Ca,O,"snapToGridPoint:q"));fb(this.L,this.M,a.x,a.y,b.width,b.height,this);return this};O.prototype.setRectSpot=O.prototype.to=function(a,b){v&&(D.l(a,B,O,"setRectSpot:r"),D.l(b,R,O,"setRectSpot:spot"));this.Qa();this.L=a.x+b.x*a.width+b.offsetX;this.M=a.y+b.y*a.height+b.offsetY;return this};
-O.prototype.setSpot=O.prototype.av=function(a,b,c,d,e){v&&(D.p(a,O,"setSpot:x"),D.p(b,O,"setSpot:y"),D.p(c,O,"setSpot:w"),D.p(d,O,"setSpot:h"),(0>c||0>d)&&D.k("Point.setSpot:Width and height cannot be negative"),D.l(e,R,O,"setSpot:spot"));this.Qa();this.L=a+e.x*c+e.offsetX;this.M=b+e.y*d+e.offsetY;return this};O.prototype.transform=function(a){v&&D.l(a,Da,O,"transform:t");a.wb(this);return this};function gb(a,b){v&&D.l(b,Da,O,"transformInverted:t");b.Ci(a);return a}var ib;
+O.prototype.setSpot=O.prototype.cv=function(a,b,c,d,e){v&&(D.p(a,O,"setSpot:x"),D.p(b,O,"setSpot:y"),D.p(c,O,"setSpot:w"),D.p(d,O,"setSpot:h"),(0>c||0>d)&&D.k("Point.setSpot:Width and height cannot be negative"),D.l(e,R,O,"setSpot:spot"));this.Qa();this.L=a+e.x*c+e.offsetX;this.M=b+e.y*d+e.offsetY;return this};O.prototype.transform=function(a){v&&D.l(a,Da,O,"transform:t");a.wb(this);return this};function gb(a,b){v&&D.l(b,Da,O,"transformInverted:t");b.Ci(a);return a}var ib;
O.distanceLineSegmentSquared=ib=function(a,b,c,d,e,g){v&&(D.p(a,O,"distanceLineSegmentSquared:px"),D.p(b,O,"distanceLineSegmentSquared:py"),D.p(c,O,"distanceLineSegmentSquared:ax"),D.p(d,O,"distanceLineSegmentSquared:ay"),D.p(e,O,"distanceLineSegmentSquared:bx"),D.p(g,O,"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 jb;
O.distanceSquared=jb=function(a,b,c,d){v&&(D.p(a,O,"distanceSquared:px"),D.p(b,O,"distanceSquared:py"),D.p(c,O,"distanceSquared:qx"),D.p(d,O,"distanceSquared:qy"));a=c-a;b=d-b;return a*a+b*b};var rb;
O.direction=rb=function(a,b,c,d){v&&(D.p(a,O,"direction:px"),D.p(b,O,"direction:py"),D.p(c,O,"direction:qx"),D.p(d,O,"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};D.defineProperty(O,{x:"x"},function(){return this.L},function(a){this.Qa(a);v&&D.h(a,"number",O,"x");this.L=a});
-D.defineProperty(O,{y:"y"},function(){return this.M},function(a){this.Qa(a);v&&D.h(a,"number",O,"y");this.M=a});O.prototype.isReal=O.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)};function Ca(a,b){void 0===a?this.Ha=this.Ia=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.Ia=a,this.Ha=b):D.k("Invalid arguments to Size constructor: "+a+", "+b);this.J=!1}D.ja("Size",Ca);D.Ai(Ca);D.ke(Ca,{width:!0,height:!0});
+D.defineProperty(O,{y:"y"},function(){return this.M},function(a){this.Qa(a);v&&D.h(a,"number",O,"y");this.M=a});O.prototype.isReal=O.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)};function Ca(a,b){void 0===a?this.Ha=this.Ia=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.Ia=a,this.Ha=b):D.k("Invalid arguments to Size constructor: "+a+", "+b);this.J=!1}D.ka("Size",Ca);D.Ai(Ca);D.ke(Ca,{width:!0,height:!0});
Ca.prototype.assign=function(a){this.Ia=a.Ia;this.Ha=a.Ha};Ca.prototype.setTo=Ca.prototype.n=function(a,b){v&&(D.h(a,"number",Ca,"setTo:w"),D.h(b,"number",Ca,"setTo:h"),0>a&&D.ua(a,">= 0",Ca,"setTo:w"),0>b&&D.ua(b,">= 0",Ca,"setTo:h"));this.Ia=a;this.Ha=b;return this};Ca.prototype.set=Ca.prototype.set=function(a){v&&D.l(a,Ca,Ca,"set:s");this.Qa();this.Ia=a.Ia;this.Ha=a.Ha;return this};Ca.prototype.copy=function(){var a=new Ca;a.Ia=this.Ia;a.Ha=this.Ha;return a};f=Ca.prototype;
f.Na=function(){this.J=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Size is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};
Ca.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 Ca(c,e)}return new Ca};Ca.stringify=function(a){v&&D.l(a,Ca);return a.width.toString()+" "+a.height.toString()};Ca.prototype.toString=function(){return"Size("+this.width+","+this.height+")"};Ca.prototype.equals=Ca.prototype.P=function(a){return a instanceof Ca?this.Ia===a.width&&this.Ha===a.height:!1};
-Ca.prototype.equalTo=Ca.prototype.Gx=function(a,b){return this.Ia===a&&this.Ha===b};Ca.prototype.equalsApprox=Ca.prototype.Tc=function(a){return Q(this.Ia,a.width)&&Q(this.Ha,a.height)};D.defineProperty(Ca,{width:"width"},function(){return this.Ia},function(a){this.Qa(a);v&&D.h(a,"number",Ca,"width");0>a&&D.ua(a,">= 0",Ca,"width");this.Ia=a});
+Ca.prototype.equalTo=Ca.prototype.Ix=function(a,b){return this.Ia===a&&this.Ha===b};Ca.prototype.equalsApprox=Ca.prototype.Tc=function(a){return Q(this.Ia,a.width)&&Q(this.Ha,a.height)};D.defineProperty(Ca,{width:"width"},function(){return this.Ia},function(a){this.Qa(a);v&&D.h(a,"number",Ca,"width");0>a&&D.ua(a,">= 0",Ca,"width");this.Ia=a});
D.defineProperty(Ca,{height:"height"},function(){return this.Ha},function(a){this.Qa(a);v&&D.h(a,"number",Ca,"height");0>a&&D.ua(a,">= 0",Ca,"height");this.Ha=a});Ca.prototype.isReal=Ca.prototype.F=function(){return isFinite(this.width)&&isFinite(this.height)};
function B(a,b,c,d){void 0===a?this.Ha=this.Ia=this.M=this.L=0:a instanceof O?b instanceof O?(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.Ha=Math.abs(a.M-b.M)):b instanceof Ca?(this.L=a.L,this.M=a.M,this.Ia=b.Ia,this.Ha=b.Ha):D.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.Ha=d):D.k("Invalid arguments to Rect constructor: "+
-a+", "+b+", "+c+", "+d);this.J=!1}D.ja("Rect",B);D.Ai(B);D.ke(B,{x:!0,y:!0,width:!0,height:!0});B.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ha=a.Ha};function xb(a,b,c){a.Ia=b;a.Ha=c}B.prototype.setTo=B.prototype.n=function(a,b,c,d){v&&(D.h(a,"number",B,"setTo:x"),D.h(b,"number",B,"setTo:y"),D.h(c,"number",B,"setTo:w"),D.h(d,"number",B,"setTo:h"),0>c&&D.ua(c,">= 0",B,"setTo:w"),0>d&&D.ua(d,">= 0",B,"setTo:h"));this.L=a;this.M=b;this.Ia=c;this.Ha=d;return this};
-B.prototype.set=B.prototype.set=function(a){v&&D.l(a,B,B,"set:r");this.Qa();this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ha=a.Ha;return this};B.prototype.setPoint=B.prototype.fh=function(a){v&&D.l(a,O,B,"setPoint:p");this.Qa();this.L=a.L;this.M=a.M;return this};B.prototype.setSize=function(a){v&&D.l(a,Ca,B,"setSize:s");this.Qa();this.Ia=a.Ia;this.Ha=a.Ha;return this};B.prototype.copy=function(){var a=new B;a.L=this.L;a.M=this.M;a.Ia=this.Ia;a.Ha=this.Ha;return a};f=B.prototype;
+a+", "+b+", "+c+", "+d);this.J=!1}D.ka("Rect",B);D.Ai(B);D.ke(B,{x:!0,y:!0,width:!0,height:!0});B.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ha=a.Ha};function xb(a,b,c){a.Ia=b;a.Ha=c}B.prototype.setTo=B.prototype.n=function(a,b,c,d){v&&(D.h(a,"number",B,"setTo:x"),D.h(b,"number",B,"setTo:y"),D.h(c,"number",B,"setTo:w"),D.h(d,"number",B,"setTo:h"),0>c&&D.ua(c,">= 0",B,"setTo:w"),0>d&&D.ua(d,">= 0",B,"setTo:h"));this.L=a;this.M=b;this.Ia=c;this.Ha=d;return this};
+B.prototype.set=B.prototype.set=function(a){v&&D.l(a,B,B,"set:r");this.Qa();this.L=a.L;this.M=a.M;this.Ia=a.Ia;this.Ha=a.Ha;return this};B.prototype.setPoint=B.prototype.gh=function(a){v&&D.l(a,O,B,"setPoint:p");this.Qa();this.L=a.L;this.M=a.M;return this};B.prototype.setSize=function(a){v&&D.l(a,Ca,B,"setSize:s");this.Qa();this.Ia=a.Ia;this.Ha=a.Ha;return this};B.prototype.copy=function(){var a=new B;a.L=this.L;a.M=this.M;a.Ia=this.Ia;a.Ha=this.Ha;return a};f=B.prototype;
f.Na=function(){this.J=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Rect is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};
B.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 B(c,e,g,h)}return new B};B.stringify=function(a){v&&D.l(a,B);return a.x.toString()+" "+a.y.toString()+" "+a.width.toString()+" "+a.height.toString()};
-B.prototype.toString=function(){return"Rect("+this.x+","+this.y+","+this.width+","+this.height+")"};B.prototype.equals=B.prototype.P=function(a){return a instanceof B?this.L===a.x&&this.M===a.y&&this.Ia===a.width&&this.Ha===a.height:!1};B.prototype.equalTo=B.prototype.Gx=function(a,b,c,d){return this.L===a&&this.M===b&&this.Ia===c&&this.Ha===d};B.prototype.equalsApprox=B.prototype.Tc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)&&Q(this.Ia,a.width)&&Q(this.Ha,a.height)};
-function yb(a,b){return zb(a.L,b.x)&&zb(a.M,b.y)&&zb(a.Ia,b.width)&&zb(a.Ha,b.height)}B.prototype.containsPoint=B.prototype.Oa=function(a){v&&D.l(a,O,B,"containsPoint:p");return this.L<=a.x&&this.L+this.Ia>=a.x&&this.M<=a.y&&this.M+this.Ha>=a.y};B.prototype.containsRect=B.prototype.Nk=function(a){v&&D.l(a,B,B,"containsRect:r");return this.L<=a.x&&a.x+a.width<=this.L+this.Ia&&this.M<=a.y&&a.y+a.height<=this.M+this.Ha};
+B.prototype.toString=function(){return"Rect("+this.x+","+this.y+","+this.width+","+this.height+")"};B.prototype.equals=B.prototype.P=function(a){return a instanceof B?this.L===a.x&&this.M===a.y&&this.Ia===a.width&&this.Ha===a.height:!1};B.prototype.equalTo=B.prototype.Ix=function(a,b,c,d){return this.L===a&&this.M===b&&this.Ia===c&&this.Ha===d};B.prototype.equalsApprox=B.prototype.Tc=function(a){return Q(this.L,a.x)&&Q(this.M,a.y)&&Q(this.Ia,a.width)&&Q(this.Ha,a.height)};
+function yb(a,b){return zb(a.L,b.x)&&zb(a.M,b.y)&&zb(a.Ia,b.width)&&zb(a.Ha,b.height)}B.prototype.containsPoint=B.prototype.Oa=function(a){v&&D.l(a,O,B,"containsPoint:p");return this.L<=a.x&&this.L+this.Ia>=a.x&&this.M<=a.y&&this.M+this.Ha>=a.y};B.prototype.containsRect=B.prototype.Ok=function(a){v&&D.l(a,B,B,"containsRect:r");return this.L<=a.x&&a.x+a.width<=this.L+this.Ia&&this.M<=a.y&&a.y+a.height<=this.M+this.Ha};
B.prototype.contains=B.prototype.contains=function(a,b,c,d){v?(D.p(a,B,"contains:x"),D.p(b,B,"contains:y"),void 0===c?c=0:D.p(c,B,"contains:w"),void 0===d?d=0:D.p(d,B,"contains:h"),(0>c||0>d)&&D.k("Rect.contains:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return this.L<=a&&a+c<=this.L+this.Ia&&this.M<=b&&b+d<=this.M+this.Ha};B.prototype.reset=function(){this.Qa();this.Ha=this.Ia=this.M=this.L=0};
-B.prototype.offset=B.prototype.offset=function(a,b){v&&(D.p(a,B,"offset:dx"),D.p(b,B,"offset:dy"));this.Qa();this.L+=a;this.M+=b;return this};B.prototype.inflate=B.prototype.Ff=function(a,b){v&&(D.p(a,B,"inflate:w"),D.p(b,B,"inflate:h"));return Db(this,b,a,b,a)};B.prototype.addMargin=B.prototype.kx=function(a){v&&D.l(a,Ib,B,"addMargin:m");return Db(this,a.top,a.right,a.bottom,a.left)};
-B.prototype.subtractMargin=B.prototype.sK=function(a){v&&D.l(a,Ib,B,"subtractMargin:m");return Db(this,-a.top,-a.right,-a.bottom,-a.left)};B.prototype.grow=function(a,b,c,d){v&&(D.p(a,B,"grow:t"),D.p(b,B,"grow:r"),D.p(c,B,"grow:b"),D.p(d,B,"grow:l"));return Db(this,a,b,c,d)};function Db(a,b,c,d,e){a.Qa();var g=a.Ia;c+e<=-g?(a.L+=g/2,a.Ia=0):(a.L-=e,a.Ia+=c+e);c=a.Ha;b+d<=-c?(a.M+=c/2,a.Ha=0):(a.M-=b,a.Ha+=b+d);return a}
-B.prototype.intersectRect=function(a){v&&D.l(a,B,B,"intersectRect:r");return Lb(this,a.x,a.y,a.width,a.height)};B.prototype.intersect=B.prototype.KF=function(a,b,c,d){v&&(D.p(a,B,"intersect:x"),D.p(b,B,"intersect:y"),D.p(c,B,"intersect:w"),D.p(d,B,"intersect:h"),(0>c||0>d)&&D.k("Rect.intersect:Width and height cannot be negative"));return Lb(this,a,b,c,d)};
-function Lb(a,b,c,d,e){a.Qa();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.Ha,c+e);a.L=g;a.M=h;a.Ia=Math.max(0,b-g);a.Ha=Math.max(0,c-h);return a}B.prototype.intersectsRect=B.prototype.fg=function(a){v&&D.l(a,B,B,"intersectsRect:r");return this.LF(a.x,a.y,a.width,a.height)};
-B.prototype.intersects=B.prototype.LF=function(a,b,c,d){v&&(D.p(a,B,"intersects:x"),D.p(b,B,"intersects:y"),D.p(a,B,"intersects:w"),D.p(b,B,"intersects:h"),(0>c||0>d)&&D.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.Ha;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.Ha;d=b.height+10+10;e=a.M;g=b.y-10;return e>d+g||g>c+e?!1:!0}B.prototype.unionPoint=B.prototype.Ji=function(a){v&&D.l(a,O,B,"unionPoint:p");return Pb(this,a.x,a.y,0,0)};B.prototype.unionRect=B.prototype.Wh=function(a){v&&D.l(a,B,B,"unionRect:r");return Pb(this,a.L,a.M,a.Ia,a.Ha)};
-B.prototype.union=B.prototype.jH=function(a,b,c,d){this.Qa();v?(D.p(a,B,"union:x"),D.p(b,B,"union:y"),void 0===c?c=0:D.p(c,B,"union:w"),void 0===d?d=0:D.p(d,B,"union:h"),(0>c||0>d)&&D.k("Rect.union:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return Pb(this,a,b,c,d)};function Pb(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.Ha,c+e);a.L=g;a.M=h;a.Ia=b-g;a.Ha=c-h;return a}
-B.prototype.setSpot=B.prototype.av=function(a,b,c){v&&(D.p(a,B,"setSpot:x"),D.p(b,B,"setSpot:y"),D.l(c,R,B,"setSpot:spot"));this.Qa();this.L=a-c.offsetX-c.x*this.Ia;this.M=b-c.offsetY-c.y*this.Ha;return this};var Qb;
+B.prototype.offset=B.prototype.offset=function(a,b){v&&(D.p(a,B,"offset:dx"),D.p(b,B,"offset:dy"));this.Qa();this.L+=a;this.M+=b;return this};B.prototype.inflate=B.prototype.Gf=function(a,b){v&&(D.p(a,B,"inflate:w"),D.p(b,B,"inflate:h"));return Db(this,b,a,b,a)};B.prototype.addMargin=B.prototype.mx=function(a){v&&D.l(a,Ib,B,"addMargin:m");return Db(this,a.top,a.right,a.bottom,a.left)};
+B.prototype.subtractMargin=B.prototype.tK=function(a){v&&D.l(a,Ib,B,"subtractMargin:m");return Db(this,-a.top,-a.right,-a.bottom,-a.left)};B.prototype.grow=function(a,b,c,d){v&&(D.p(a,B,"grow:t"),D.p(b,B,"grow:r"),D.p(c,B,"grow:b"),D.p(d,B,"grow:l"));return Db(this,a,b,c,d)};function Db(a,b,c,d,e){a.Qa();var g=a.Ia;c+e<=-g?(a.L+=g/2,a.Ia=0):(a.L-=e,a.Ia+=c+e);c=a.Ha;b+d<=-c?(a.M+=c/2,a.Ha=0):(a.M-=b,a.Ha+=b+d);return a}
+B.prototype.intersectRect=function(a){v&&D.l(a,B,B,"intersectRect:r");return Lb(this,a.x,a.y,a.width,a.height)};B.prototype.intersect=B.prototype.LF=function(a,b,c,d){v&&(D.p(a,B,"intersect:x"),D.p(b,B,"intersect:y"),D.p(c,B,"intersect:w"),D.p(d,B,"intersect:h"),(0>c||0>d)&&D.k("Rect.intersect:Width and height cannot be negative"));return Lb(this,a,b,c,d)};
+function Lb(a,b,c,d,e){a.Qa();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.Ha,c+e);a.L=g;a.M=h;a.Ia=Math.max(0,b-g);a.Ha=Math.max(0,c-h);return a}B.prototype.intersectsRect=B.prototype.gg=function(a){v&&D.l(a,B,B,"intersectsRect:r");return this.MF(a.x,a.y,a.width,a.height)};
+B.prototype.intersects=B.prototype.MF=function(a,b,c,d){v&&(D.p(a,B,"intersects:x"),D.p(b,B,"intersects:y"),D.p(a,B,"intersects:w"),D.p(b,B,"intersects:h"),(0>c||0>d)&&D.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.Ha;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.Ha;d=b.height+10+10;e=a.M;g=b.y-10;return e>d+g||g>c+e?!1:!0}B.prototype.unionPoint=B.prototype.Ji=function(a){v&&D.l(a,O,B,"unionPoint:p");return Pb(this,a.x,a.y,0,0)};B.prototype.unionRect=B.prototype.Xh=function(a){v&&D.l(a,B,B,"unionRect:r");return Pb(this,a.L,a.M,a.Ia,a.Ha)};
+B.prototype.union=B.prototype.kH=function(a,b,c,d){this.Qa();v?(D.p(a,B,"union:x"),D.p(b,B,"union:y"),void 0===c?c=0:D.p(c,B,"union:w"),void 0===d?d=0:D.p(d,B,"union:h"),(0>c||0>d)&&D.k("Rect.union:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return Pb(this,a,b,c,d)};function Pb(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.Ha,c+e);a.L=g;a.M=h;a.Ia=b-g;a.Ha=c-h;return a}
+B.prototype.setSpot=B.prototype.cv=function(a,b,c){v&&(D.p(a,B,"setSpot:x"),D.p(b,B,"setSpot:y"),D.l(c,R,B,"setSpot:spot"));this.Qa();this.L=a-c.offsetX-c.x*this.Ia;this.M=b-c.offsetY-c.y*this.Ha;return this};var Qb;
B.contains=Qb=function(a,b,c,d,e,g,h,k){v?(D.p(a,B,"contains:rx"),D.p(b,B,"contains:ry"),D.p(c,B,"contains:rw"),D.p(d,B,"contains:rh"),D.p(e,B,"contains:x"),D.p(g,B,"contains:y"),void 0===h?h=0:D.p(h,B,"contains:w"),void 0===k?k=0:D.p(k,B,"contains:h"),(0>c||0>d||0>h||0>k)&&D.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};
B.intersects=function(a,b,c,d,e,g,h,k){v&&(D.p(a,B,"intersects:rx"),D.p(b,B,"intersects:ry"),D.p(c,B,"intersects:rw"),D.p(d,B,"intersects:rh"),D.p(e,B,"intersects:x"),D.p(g,B,"intersects:y"),D.p(h,B,"intersects:w"),D.p(k,B,"intersects:h"),(0>c||0>d||0>h||0>k)&&D.k("Rect.intersects:Width and height cannot be negative"));c+=a;h+=e;if(a>h||e>c)return!1;a=d+b;k+=g;return b>k||g>a?!1:!0};D.defineProperty(B,{x:"x"},function(){return this.L},function(a){this.Qa(a);v&&D.h(a,"number",B,"x");this.L=a});
D.defineProperty(B,{y:"y"},function(){return this.M},function(a){this.Qa(a);v&&D.h(a,"number",B,"y");this.M=a});D.defineProperty(B,{width:"width"},function(){return this.Ia},function(a){this.Qa(a);v&&D.h(a,"number",B,"width");0>a&&D.ua(a,">= 0",B,"width");this.Ia=a});D.defineProperty(B,{height:"height"},function(){return this.Ha},function(a){this.Qa(a);v&&D.h(a,"number",B,"height");0>a&&D.ua(a,">= 0",B,"height");this.Ha=a});
D.defineProperty(B,{left:"left"},function(){return this.L},function(a){this.Qa(a);v&&D.h(a,"number",B,"left");this.L=a});D.defineProperty(B,{top:"top"},function(){return this.M},function(a){this.Qa(a);v&&D.h(a,"number",B,"top");this.M=a});D.defineProperty(B,{right:"right"},function(){return this.L+this.Ia},function(a){this.Qa(a);v&&D.p(a,B,"right");this.L+=a-(this.L+this.Ia)});
D.defineProperty(B,{bottom:"bottom"},function(){return this.M+this.Ha},function(a){this.Qa(a);v&&D.p(a,B,"top");this.M+=a-(this.M+this.Ha)});D.defineProperty(B,{position:"position"},function(){return new O(this.L,this.M)},function(a){this.Qa(a);v&&D.l(a,O,B,"position");this.L=a.x;this.M=a.y});D.defineProperty(B,{size:"size"},function(){return new Ca(this.Ia,this.Ha)},function(a){this.Qa(a);v&&D.l(a,Ca,B,"size");this.Ia=a.width;this.Ha=a.height});
-D.defineProperty(B,{cm:"center"},function(){return new O(this.L+this.Ia/2,this.M+this.Ha/2)},function(a){this.Qa(a);v&&D.l(a,O,B,"center");this.L=a.x-this.Ia/2;this.M=a.y-this.Ha/2});D.defineProperty(B,{oa:"centerX"},function(){return this.L+this.Ia/2},function(a){this.Qa(a);v&&D.p(a,B,"centerX");this.L=a-this.Ia/2});D.defineProperty(B,{va:"centerY"},function(){return this.M+this.Ha/2},function(a){this.Qa(a);v&&D.p(a,B,"centerY");this.M=a-this.Ha/2});
+D.defineProperty(B,{dm:"center"},function(){return new O(this.L+this.Ia/2,this.M+this.Ha/2)},function(a){this.Qa(a);v&&D.l(a,O,B,"center");this.L=a.x-this.Ia/2;this.M=a.y-this.Ha/2});D.defineProperty(B,{oa:"centerX"},function(){return this.L+this.Ia/2},function(a){this.Qa(a);v&&D.p(a,B,"centerX");this.L=a-this.Ia/2});D.defineProperty(B,{va:"centerY"},function(){return this.M+this.Ha/2},function(a){this.Qa(a);v&&D.p(a,B,"centerY");this.M=a-this.Ha/2});
B.prototype.isReal=B.prototype.F=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)};B.prototype.isEmpty=function(){return 0===this.width&&0===this.height};
-function Ib(a,b,c,d){void 0===a?this.uh=this.nh=this.Dh=this.Eh=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):D.k("Invalid arguments to Margin constructor: "+a+", "+b+", "+c+", "+d);this.J=!1}D.ja("Margin",Ib);D.Ai(Ib);D.ke(Ib,{top:!0,right:!0,bottom:!0,left:!0});Ib.prototype.assign=function(a){this.Eh=a.Eh;this.Dh=a.Dh;this.nh=a.nh;this.uh=a.uh};
-Ib.prototype.setTo=Ib.prototype.n=function(a,b,c,d){v&&(D.h(a,"number",Ib,"setTo:t"),D.h(b,"number",Ib,"setTo:r"),D.h(c,"number",Ib,"setTo:b"),D.h(d,"number",Ib,"setTo:l"));this.Qa();this.Eh=a;this.Dh=b;this.nh=c;this.uh=d;return this};Ib.prototype.set=Ib.prototype.set=function(a){v&&D.l(a,Ib,Ib,"assign:m");this.Qa();this.Eh=a.Eh;this.Dh=a.Dh;this.nh=a.nh;this.uh=a.uh;return this};Ib.prototype.copy=function(){var a=new Ib;a.Eh=this.Eh;a.Dh=this.Dh;a.nh=this.nh;a.uh=this.uh;return a};f=Ib.prototype;
+function Ib(a,b,c,d){void 0===a?this.vh=this.oh=this.Eh=this.Fh=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):D.k("Invalid arguments to Margin constructor: "+a+", "+b+", "+c+", "+d);this.J=!1}D.ka("Margin",Ib);D.Ai(Ib);D.ke(Ib,{top:!0,right:!0,bottom:!0,left:!0});Ib.prototype.assign=function(a){this.Fh=a.Fh;this.Eh=a.Eh;this.oh=a.oh;this.vh=a.vh};
+Ib.prototype.setTo=Ib.prototype.n=function(a,b,c,d){v&&(D.h(a,"number",Ib,"setTo:t"),D.h(b,"number",Ib,"setTo:r"),D.h(c,"number",Ib,"setTo:b"),D.h(d,"number",Ib,"setTo:l"));this.Qa();this.Fh=a;this.Eh=b;this.oh=c;this.vh=d;return this};Ib.prototype.set=Ib.prototype.set=function(a){v&&D.l(a,Ib,Ib,"assign:m");this.Qa();this.Fh=a.Fh;this.Eh=a.Eh;this.oh=a.oh;this.vh=a.vh;return this};Ib.prototype.copy=function(){var a=new Ib;a.Fh=this.Fh;a.Eh=this.Eh;a.oh=this.oh;a.vh=this.vh;return a};f=Ib.prototype;
f.Na=function(){this.J=!0;Object.freeze(this);return this};f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Margin is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};
Ib.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 Ib;for(var e=NaN;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));if(isNaN(e))return new Ib(c);for(var g=NaN;""===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));if(isNaN(g))return new Ib(c,e);for(var h=NaN;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return isNaN(h)?new Ib(c,e):new Ib(c,e,g,h)}return new Ib};
-Ib.stringify=function(a){v&&D.l(a,Ib);return a.top.toString()+" "+a.right.toString()+" "+a.bottom.toString()+" "+a.left.toString()};Ib.prototype.toString=function(){return"Margin("+this.top+","+this.right+","+this.bottom+","+this.left+")"};Ib.prototype.equals=Ib.prototype.P=function(a){return a instanceof Ib?this.Eh===a.top&&this.Dh===a.right&&this.nh===a.bottom&&this.uh===a.left:!1};Ib.prototype.equalTo=Ib.prototype.Gx=function(a,b,c,d){return this.Eh===a&&this.Dh===b&&this.nh===c&&this.uh===d};
-Ib.prototype.equalsApprox=Ib.prototype.Tc=function(a){return Q(this.Eh,a.top)&&Q(this.Dh,a.right)&&Q(this.nh,a.bottom)&&Q(this.uh,a.left)};D.defineProperty(Ib,{top:"top"},function(){return this.Eh},function(a){this.Qa(a);v&&D.p(a,Ib,"top");this.Eh=a});D.defineProperty(Ib,{right:"right"},function(){return this.Dh},function(a){this.Qa(a);v&&D.p(a,Ib,"right");this.Dh=a});D.defineProperty(Ib,{bottom:"bottom"},function(){return this.nh},function(a){this.Qa(a);v&&D.p(a,Ib,"bottom");this.nh=a});
-D.defineProperty(Ib,{left:"left"},function(){return this.uh},function(a){this.Qa(a);v&&D.p(a,Ib,"left");this.uh=a});Ib.prototype.isReal=Ib.prototype.F=function(){return isFinite(this.top)&&isFinite(this.right)&&isFinite(this.bottom)&&isFinite(this.left)};function Da(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0}D.Ai(Da);D.ke(Da,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});
+Ib.stringify=function(a){v&&D.l(a,Ib);return a.top.toString()+" "+a.right.toString()+" "+a.bottom.toString()+" "+a.left.toString()};Ib.prototype.toString=function(){return"Margin("+this.top+","+this.right+","+this.bottom+","+this.left+")"};Ib.prototype.equals=Ib.prototype.P=function(a){return a instanceof Ib?this.Fh===a.top&&this.Eh===a.right&&this.oh===a.bottom&&this.vh===a.left:!1};Ib.prototype.equalTo=Ib.prototype.Ix=function(a,b,c,d){return this.Fh===a&&this.Eh===b&&this.oh===c&&this.vh===d};
+Ib.prototype.equalsApprox=Ib.prototype.Tc=function(a){return Q(this.Fh,a.top)&&Q(this.Eh,a.right)&&Q(this.oh,a.bottom)&&Q(this.vh,a.left)};D.defineProperty(Ib,{top:"top"},function(){return this.Fh},function(a){this.Qa(a);v&&D.p(a,Ib,"top");this.Fh=a});D.defineProperty(Ib,{right:"right"},function(){return this.Eh},function(a){this.Qa(a);v&&D.p(a,Ib,"right");this.Eh=a});D.defineProperty(Ib,{bottom:"bottom"},function(){return this.oh},function(a){this.Qa(a);v&&D.p(a,Ib,"bottom");this.oh=a});
+D.defineProperty(Ib,{left:"left"},function(){return this.vh},function(a){this.Qa(a);v&&D.p(a,Ib,"left");this.vh=a});Ib.prototype.isReal=Ib.prototype.F=function(){return isFinite(this.top)&&isFinite(this.right)&&isFinite(this.bottom)&&isFinite(this.left)};function Da(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0}D.Ai(Da);D.ke(Da,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});
Da.prototype.set=Da.prototype.set=function(a){v&&D.l(a,Da,Da,"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};Da.prototype.copy=function(){var a=new Da;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};Da.prototype.toString=function(){return"Transform("+this.m11+","+this.m12+","+this.m21+","+this.m22+","+this.dx+","+this.dy+")"};
-Da.prototype.equals=Da.prototype.P=function(a){return a instanceof Da?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};Da.prototype.isIdentity=Da.prototype.xu=function(){return 1===this.m11&&0===this.m12&&0===this.m21&&1===this.m22&&0===this.dx&&0===this.dy};Da.prototype.reset=Da.prototype.reset=function(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0;return this};
+Da.prototype.equals=Da.prototype.P=function(a){return a instanceof Da?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};Da.prototype.isIdentity=Da.prototype.zu=function(){return 1===this.m11&&0===this.m12&&0===this.m21&&1===this.m22&&0===this.dx&&0===this.dy};Da.prototype.reset=Da.prototype.reset=function(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0;return this};
Da.prototype.multiply=Da.prototype.multiply=function(a){v&&D.l(a,Da,Da,"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};
Da.prototype.multiplyInverted=Da.prototype.pB=function(a){v&&D.l(a,Da,Da,"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};
-Da.prototype.invert=Da.prototype.Sx=function(){var a=1/(this.m11*this.m22-this.m12*this.m21),b=-this.m12*a,c=-this.m21*a,d=this.m11*a,e=a*(this.m21*this.dy-this.m22*this.dx),g=a*(this.m12*this.dx-this.m11*this.dy);this.m11=this.m22*a;this.m12=b;this.m21=c;this.m22=d;this.dx=e;this.dy=g;return this};
+Da.prototype.invert=Da.prototype.Tx=function(){var a=1/(this.m11*this.m22-this.m12*this.m21),b=-this.m12*a,c=-this.m21*a,d=this.m11*a,e=a*(this.m21*this.dy-this.m22*this.dx),g=a*(this.m12*this.dx-this.m11*this.dy);this.m11=this.m22*a;this.m12=b;this.m21=c;this.m22=d;this.dx=e;this.dy=g;return this};
Da.prototype.rotate=Da.prototype.rotate=function(a,b,c){v&&(D.p(a,Da,"rotate:angle"),D.p(b,Da,"rotate:rx"),D.p(c,Da,"rotate:ry"));360<=a?a-=360:0>a&&(a+=360);if(0===a)return this;this.translate(b,c);var d=0,e=0;90===a?(d=0,e=1):180===a?(d=-1,e=0):270===a?(d=0,e=-1):(e=a*Math.PI/180,d=Math.cos(e),e=Math.sin(e));a=this.m12*d+this.m22*e;var g=this.m11*-e+this.m21*d,h=this.m12*-e+this.m22*d;this.m11=this.m11*d+this.m21*e;this.m12=a;this.m21=g;this.m22=h;this.translate(-b,-c);return this};
Da.prototype.translate=Da.prototype.translate=function(a,b){v&&(D.p(a,Da,"translate:x"),D.p(b,Da,"translate:y"));this.dx+=this.m11*a+this.m21*b;this.dy+=this.m12*a+this.m22*b;return this};Da.prototype.scale=Da.prototype.scale=function(a,b){void 0===b&&(b=a);v&&(D.p(a,Da,"translate:sx"),D.p(b,Da,"translate:sy"));this.m11*=a;this.m12*=a;this.m21*=b;this.m22*=b;return this};
Da.prototype.transformPoint=Da.prototype.wb=function(a){v&&D.l(a,O,Da,"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};Da.prototype.invertedTransformPoint=Da.prototype.Ci=function(a){v&&D.l(a,O,Da,"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};
-Da.prototype.transformRect=Da.prototype.iH=function(a){v&&D.l(a,B,Da,"transformRect:rect");var b=a.L,c=a.M,d=b+a.Ia,e=c+a.Ha,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.Ha=q-h;return a};function R(a,b,c,d){void 0===a?this.Lg=this.Kg=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.J=!1}D.ja("Spot",R);D.Ai(R);D.ke(R,{x:!0,y:!0,offsetX:!0,offsetY:!0});R.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Kg=a.Kg;this.Lg=a.Lg};
-R.prototype.setTo=R.prototype.n=function(a,b,c,d){v&&(Rb(a,"setTo:x"),Rb(b,"setTo:y"),Vb(c,"setTo:offx"),Vb(d,"setTo:offy"));this.Qa();this.L=a;this.M=b;this.Kg=c;this.Lg=d;return this};R.prototype.set=R.prototype.set=function(a){v&&D.l(a,R,R,"set:s");this.Qa();this.L=a.L;this.M=a.M;this.Kg=a.Kg;this.Lg=a.Lg;return this};R.prototype.copy=function(){var a=new R;a.L=this.L;a.M=this.M;a.Kg=this.Kg;a.Lg=this.Lg;return a};f=R.prototype;f.Na=function(){this.J=!0;Object.freeze(this);return this};
-f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Spot is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};function Yb(a,b){a.L=NaN;a.M=NaN;a.Kg=b;return a}function Rb(a,b){(isNaN(a)||1a)&&D.ua(a,"0 <= "+b+" <= 1",R,b)}
+Da.prototype.transformRect=Da.prototype.jH=function(a){v&&D.l(a,B,Da,"transformRect:rect");var b=a.L,c=a.M,d=b+a.Ia,e=c+a.Ha,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.Ha=q-h;return a};function R(a,b,c,d){void 0===a?this.Mg=this.Lg=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.J=!1}D.ka("Spot",R);D.Ai(R);D.ke(R,{x:!0,y:!0,offsetX:!0,offsetY:!0});R.prototype.assign=function(a){this.L=a.L;this.M=a.M;this.Lg=a.Lg;this.Mg=a.Mg};
+R.prototype.setTo=R.prototype.n=function(a,b,c,d){v&&(Rb(a,"setTo:x"),Rb(b,"setTo:y"),Vb(c,"setTo:offx"),Vb(d,"setTo:offy"));this.Qa();this.L=a;this.M=b;this.Lg=c;this.Mg=d;return this};R.prototype.set=R.prototype.set=function(a){v&&D.l(a,R,R,"set:s");this.Qa();this.L=a.L;this.M=a.M;this.Lg=a.Lg;this.Mg=a.Mg;return this};R.prototype.copy=function(){var a=new R;a.L=this.L;a.M=this.M;a.Lg=this.Lg;a.Mg=this.Mg;return a};f=R.prototype;f.Na=function(){this.J=!0;Object.freeze(this);return this};
+f.V=function(){return Object.isFrozen(this)?this:this.copy().freeze()};f.freeze=function(){this.J=!0;return this};f.Ya=function(){Object.isFrozen(this)&&D.k("cannot thaw constant: "+this);this.J=!1;return this};f.Qa=function(a){if(this.J){var b="The Spot is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);D.k(b)}};function Yb(a,b){a.L=NaN;a.M=NaN;a.Lg=b;return a}function Rb(a,b){(isNaN(a)||1a)&&D.ua(a,"0 <= "+b+" <= 1",R,b)}
function Vb(a,b){(isNaN(a)||Infinity===a||-Infinity===a)&&D.ua(a,"real number, not NaN or Infinity",R,b)}var Zb;
-R.parse=Zb=function(a){if("string"===typeof a){a=a.trim();if("None"===a)return cc;if("TopLeft"===a)return dc;if("Top"===a||"TopCenter"===a||"MiddleTop"===a)return ec;if("TopRight"===a)return fc;if("Left"===a||"LeftCenter"===a||"MiddleLeft"===a)return gc;if("Center"===a)return hc;if("Right"===a||"RightCenter"===a||"MiddleRight"===a)return rc;if("BottomLeft"===a)return sc;if("Bottom"===a||"BottomCenter"===a||"MiddleBottom"===a)return tc;if("BottomRight"===a)return uc;if("TopSide"===a)return vc;if("LeftSide"===
+R.parse=Zb=function(a){if("string"===typeof a){a=a.trim();if("None"===a)return $b;if("TopLeft"===a)return dc;if("Top"===a||"TopCenter"===a||"MiddleTop"===a)return ec;if("TopRight"===a)return fc;if("Left"===a||"LeftCenter"===a||"MiddleLeft"===a)return gc;if("Center"===a)return hc;if("Right"===a||"RightCenter"===a||"MiddleRight"===a)return rc;if("BottomLeft"===a)return sc;if("Bottom"===a||"BottomCenter"===a||"MiddleBottom"===a)return tc;if("BottomRight"===a)return uc;if("TopSide"===a)return vc;if("LeftSide"===
a)return wc;if("RightSide"===a)return xc;if("BottomSide"===a)return Bc;if("TopBottomSides"===a)return Cc;if("LeftRightSides"===a)return Jc;if("TopLeftSides"===a)return Kc;if("TopRightSides"===a)return Lc;if("BottomLeftSides"===a)return Mc;if("BottomRightSides"===a)return Nc;if("NotTopSide"===a)return Oc;if("NotLeftSide"===a)return Pc;if("NotRightSide"===a)return Sc;if("NotBottomSide"===a)return Tc;if("AllSides"===a)return Uc;if("Default"===a)return Vc;a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;
var d=a[b++];void 0!==d&&0b.offset?1:-1});for(k=0;kb.offset?1:-1});for(k=0;k=2*Math.PI?(rd(a,b,c,d,e,e+Math.PI,h),rd(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 qd(a,b,c,d,e,g,h){var k=new jd;k.Zb=[b,c,d,e,g,h];b={};Ad(a,"g",b,k);k=a.addElement("g",b);a.Ef.push(k)}
-f.ib=function(){if(0!==this.shadowOffsetX||0!==this.shadowOffsetY||0!==this.shadowBlur){var a="SHADOW"+D.Gm++,b=this.addElement("filter",{id:a,x:"-100%",y:"-100%",width:"300%",height:"300%"},null),c,d,e,g,h;c=pd(this,"feGaussianBlur",{"in":"SourceAlpha",result:"blur",zM:this.shadowBlur/2});d=pd(this,"feFlood",{"in":"blur",result:"flood","flood-color":this.shadowColor});e=pd(this,"feComposite",{"in":"flood",in2:"blur",operator:"in",result:"comp"});g=pd(this,"feOffset",{"in":"comp",result:"offsetBlur",
-dx:this.shadowOffsetX,dy:this.shadowOffsetY});h=pd(this,"feMerge",{});h.appendChild(pd(this,"feMergeNode",{"in":"offsetBlur"}));h.appendChild(pd(this,"feMergeNode",{"in":"SourceGraphic"}));b.appendChild(c);b.appendChild(d);b.appendChild(e);b.appendChild(g);b.appendChild(h);0=2*Math.PI?(rd(a,b,c,d,e,e+Math.PI,h),rd(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 qd(a,b,c,d,e,g,h){var k=new jd;k.Zb=[b,c,d,e,g,h];b={};Ad(a,"g",b,k);k=a.addElement("g",b);a.Ff.push(k)}
+f.jb=function(){if(0!==this.shadowOffsetX||0!==this.shadowOffsetY||0!==this.shadowBlur){var a="SHADOW"+D.Hm++,b=this.addElement("filter",{id:a,x:"-100%",y:"-100%",width:"300%",height:"300%"},null),c,d,e,g,h;c=pd(this,"feGaussianBlur",{"in":"SourceAlpha",result:"blur",BM:this.shadowBlur/2});d=pd(this,"feFlood",{"in":"blur",result:"flood","flood-color":this.shadowColor});e=pd(this,"feComposite",{"in":"flood",in2:"blur",operator:"in",result:"comp"});g=pd(this,"feOffset",{"in":"comp",result:"offsetBlur",
+dx:this.shadowOffsetX,dy:this.shadowOffsetY});h=pd(this,"feMerge",{});h.appendChild(pd(this,"feMergeNode",{"in":"offsetBlur"}));h.appendChild(pd(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.or?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.or?this.clip():this.fill()};
-f.Wj=function(){this.or||this.stroke()};D.defineProperty(Dd,{cq:"clipInsteadOfFill"},function(){return this.or},function(a){this.or=a});f=Dd.prototype;f.NB=function(a,b,c){this.st=a;this.tt=b;this.Ng=c};f.uo=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};f.vo=function(){this.shadowOffsetX=this.st;this.shadowOffsetY=this.tt;this.shadowBlur=this.Ng};
-f.JA=function(a,b){var c=this.xa;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.EA=function(){var a=this.xa;void 0!==a.setLineDash?(a.setLineDash(D.Do),a.lineDashOffset=0):void 0!==a.webkitLineDash?(a.webkitLineDash=D.Do,a.webkitLineDashOffset=0):void 0!==a.mozDash&&(a.mozDash=null,a.mozDashOffset=0)};
-f.Be=function(a){a&&(this.ez="");this.dz=this.fz=""};
+f.transform=function(a,b,c,d,e,g){1===a&&0===b&&0===c&&1===d&&0===e&&0===g||this.xa.transform(a,b,c,d,e,g)};f.translate=function(a,b){this.xa.translate(a,b)};f.Xg=function(a){if(a instanceof Ba&&a.type===Ed){var b=a.No;a=a.kz;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.or?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.or?this.clip():this.fill()};
+f.Wj=function(){this.or||this.stroke()};D.defineProperty(Dd,{cq:"clipInsteadOfFill"},function(){return this.or},function(a){this.or=a});f=Dd.prototype;f.NB=function(a,b,c){this.st=a;this.tt=b;this.Og=c};f.uo=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};f.vo=function(){this.shadowOffsetX=this.st;this.shadowOffsetY=this.tt;this.shadowBlur=this.Og};
+f.KA=function(a,b){var c=this.xa;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.FA=function(){var a=this.xa;void 0!==a.setLineDash?(a.setLineDash(D.Do),a.lineDashOffset=0):void 0!==a.webkitLineDash?(a.webkitLineDash=D.Do,a.webkitLineDashOffset=0):void 0!==a.mozDash&&(a.mozDash=null,a.mozDashOffset=0)};
+f.Be=function(a){a&&(this.fz="");this.ez=this.gz=""};
var Fd=(Math.sqrt(2)-1)/3*4,Gd=(new O(0,0)).Na(),Hd=(new B(0,0,0,0)).Na(),Sd=(new Ib(0,0,0,0)).Na(),Td=(new Ib(2,2,2,2)).Na(),Ud=(new O(6,6)).Na(),Vd=(new O(-Infinity,-Infinity)).Na(),Wd=(new O(Infinity,Infinity)).Na(),Xd=(new Ca(0,0)).Na(),Yd=(new Ca(1,1)).Na(),Zd=(new Ca(6,6)).Na(),$d=(new Ca(8,8)).Na(),ae=(new Ca(10,10)).Na(),he=(new Ca(Infinity,Infinity)).Na(),ie=(new O(NaN,NaN)).Na(),je=(new Ca(NaN,NaN)).Na(),ke=(new B(NaN,NaN,NaN,NaN)).Na(),le=(new R(.156,.156)).Na(),me=(new R(.844,.844)).Na(),
ne=new la,oe=new la,pe=null;function qe(a){if(0>=a)return 0;var b=pe;if(null===b){for(var b=[],c=0;2E3>=c;c++)b[c]=Math.sqrt(c);pe=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=e&&(e=1E-6);var k=0,l=0,m=0,n=0;am-n)if(a-c>e||c-a>e){if(g=(d-b)/(c-a)*(g-a)+b,g-e<=h&&h<=g+e)return!0}else return!0;else if(b-d>e||d-b>e){if(h=(c-a)/(d-b)*(h-b)+a,h-e<=g&&g<=h+e)return!0}else return!0;return!1}
@@ -251,1207 +251,1207 @@ function Te(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.ma.toString()+" "+this.ka.toString()+"L"+this.H.toString()+" "+this.I.toString():"M"+this.ma.toFixed(a)+" "+this.ka.toFixed(a)+"L"+this.H.toFixed(a)+" "+this.I.toFixed(a);case rf:var b=new B(this.ma,this.ka,0,0);b.jH(this.H,this.I,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 sf:b=new B(this.ma,this.ka,0,0);b.jH(this.H,this.I,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 Ze:for(var b="",c=this.lc.o,d=c.length,e=0;e=u-1?!0:null!==l[m+1].match(/[A-Za-z]/)}function d(){m++;return l[m]}function e(){var a=new O(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 O(2*s.x-r.x,2*s.y-r.y)}void 0===b&&(b=!1);"string"!==typeof a&&D.hc(a,"string",Ye,"parse:str");a=a.replace(/,/gm," ");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,
+p*p)),n=l*p-n,a=Math.sqrt(n*n+a*a)):a=Math.abs(n-l);return a}function Ye(a){1a?"M"+this.la.toString()+" "+this.ja.toString()+"L"+this.G.toString()+" "+this.H.toString():"M"+this.la.toFixed(a)+" "+this.ja.toFixed(a)+"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);case rf:var b=new B(this.la,this.ja,0,0);b.kH(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 sf:b=new B(this.la,this.ja,0,0);b.kH(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 Ze:for(var b="",c=this.mc.o,d=c.length,e=0;e=u-1?!0:null!==l[m+1].match(/[A-Za-z]/)}function d(){m++;return l[m]}function e(){var a=new O(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 O(2*s.x-r.x,2*s.y-r.y)}void 0===b&&(b=!1);"string"!==typeof a&&D.ic(a,"string",Ye,"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 O(0,0),r=new O(0,0),s=new O(0,
0),u=l.length,t=D.v(),y=!1,w=!1,C=!0,A=null;!(m>=u-1);)if(p=n,n=d(),""!==n)switch(n.toUpperCase()){case "X":C=!0;w=y=!1;break;case "M":A=g();null===t.dc||!0===C?(T(t,A.x,A.y,y,!1,!w),C=!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 O((n===n.toLowerCase()?s.x:0)+parseFloat(d()),s.y),t.lineTo(s.x,s.y);break;case "V":for(;!c();)s=A=new O(s.x,(n===n.toLowerCase()?s.y:0)+parseFloat(d())),t.lineTo(s.x,s.y);
-break;case "C":for(;!c();){var N=e(),H=h(),A=g();V(t,N.x,N.y,H.x,H.y,A.x,A.y)}break;case "S":for(;!c();)N=k(),H=h(),A=g(),V(t,N.x,N.y,H.x,H.y,A.x,A.y);break;case "Q":for(;!c();)H=h(),A=g(),xf(t,H.x,H.y,A.x,A.y);break;case "T":for(;!c();)r=H=k(),A=g(),xf(t,H.x,H.y,A.x,A.y);break;case "B":for(;!c();){var A=parseFloat(d()),N=parseFloat(d()),H=parseFloat(d()),W=parseFloat(d()),fa=parseFloat(d()),S=fa,ba=!1;c()||(S=parseFloat(d()),c()||(ba=0!==parseFloat(d())));n===n.toLowerCase()&&(H+=s.x,W+=s.y);t.arcTo(A,
-N,H,W,fa,S,ba)}break;case "A":for(;!c();)N=Math.abs(parseFloat(d())),H=Math.abs(parseFloat(d())),W=parseFloat(d()),fa=!!parseFloat(d()),S=!!parseFloat(d()),A=g(),yf(t,N,H,W,fa,S,A.x,A.y);break;case "Z":A=t.q.lc.o[t.q.lc.length-1];X(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]/)?y=!0:zf(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]/)?w=!0:t.ib(!1)}q=t.q;D.u(t);if(b)for(t=q.lc.j;t.next();)A=t.value,A.wu=!0;return q};function Af(a,b){for(var c=a.length,d=D.O(),e=0;eh&&(h+=360),s.Le+=h);0>a&&(s.Le=180-s.Le,s.yf=-s.yf);0>d&&(s.Le=-s.Le,s.yf=-s.yf);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.H;k=s.I;s.H=h*
-a+k*c+e;s.I=h*b+k*d+g;0!==b&&(h=180*Math.atan2(b,a)/Math.PI,0>h&&(h+=360),s.Zj+=h);0>a&&(s.Zj=180-s.Zj,s.tm=!s.tm);0>d&&(s.Zj=-s.Zj,s.tm=!s.tm);s.radiusX*=Math.sqrt(a*a+c*c);s.radiusY*=Math.sqrt(b*b+d*d);break;default:D.k("Unknown Segment type: "+s.type)}}}}this.lb=!0;return this};
-Ye.prototype.Oa=function(a,b,c,d){var e=a.x,g=a.y,h=this.mb.x-20;a=a.y;for(var k=0,l=0,m=0,n=0,p=0,q=0,r=this.lc.o,s=r.length,u=0;u=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.n(k+(c[2*n+2]-k)*d,e+(c[2*n+3]-e)*d),b;h+=p}b.n(NaN,NaN);return b};
-Ye.prototype.getFractionForPoint=Ye.prototype.MI=function(a){if(this.type===qf){var b=this.ma,c=this.ka,d=this.H,e=this.I;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===rf){if(b=this.ma,c=this.ka,d=this.H,e=this.I,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.MA,h=this.Mx,k=this.Nx,l=D.O(),c=Infinity,b=d=0,g=e.length,n=m=0,p=0;pa?0:1h&&(h+=360),s.Le+=h);0>a&&(s.Le=180-s.Le,s.zf=-s.zf);0>d&&(s.Le=-s.Le,s.zf=-s.zf);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.Zj+=h);0>a&&(s.Zj=180-s.Zj,s.um=!s.um);0>d&&(s.Zj=-s.Zj,s.um=!s.um);s.radiusX*=Math.sqrt(a*a+c*c);s.radiusY*=Math.sqrt(b*b+d*d);break;default:D.k("Unknown Segment type: "+s.type)}}}}this.mb=!0;return this};
+Ye.prototype.Oa=function(a,b,c,d){var e=a.x,g=a.y,h=this.nb.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,u=0;u=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.n(k+(c[2*n+2]-k)*d,e+(c[2*n+3]-e)*d),b;h+=p}b.n(NaN,NaN);return b};
+Ye.prototype.getAngleAlongPath=Ye.prototype.xF=function(a){0>a?a=0:1=e)return b=b[h],b=180*Math.atan2(b[2*a+3]-b[2*a+1],b[2*a+2]-b[2*a])/Math.PI;g+=m}}return NaN};
+Ye.prototype.getFractionForPoint=Ye.prototype.NI=function(a){if(this.type===qf){var b=this.la,c=this.ja,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===rf){if(b=this.la,c=this.ja,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.Ox,h=this.ju,k=this.ku,l=D.O(),c=Infinity,b=d=0,g=e.length,n=m=0,p=0;pa?0:1a?"M"+this.ma.toString()+" "+this.ka.toString():"M"+this.ma.toFixed(a)+" "+this.ka.toFixed(a),c=this.Db.o,d=c.length,e=0;ea&&(a+=360),this.Pd=a,this.df=0,v&&D.p(d,Wf,"x1"),this.Ch=Math.max(d,0),v&&D.p(e,Wf,"y1"),this.Mg=Math.max(e,0),this.tp="boolean"===typeof h?!!h:!1,this.Lo=!!k):(v&&D.p(d,Wf,"x1"),this.Pd=d,v&&D.p(e,
-Wf,"y1"),this.df=e,v&&D.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Ch=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Mg=h):this.Mg=0,this.Lo=this.tp=!1);this.ei=!1;this.lb=!0;this.vg=null}D.ja("PathSegment",Wf);D.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.ca=this.ca;a.Ab=this.Ab;a.Ib=this.Ib;a.Pd=this.Pd;a.df=this.df;a.Ch=this.Ch;a.Mg=this.Mg;a.tp=this.tp;a.Lo=this.Lo;a.ei=this.ei;a.lb=this.lb;return a};
-Wf.prototype.equalsApprox=Wf.prototype.Tc=function(a){if(!(a instanceof Wf)||this.type!==a.type||this.Tx!==a.Tx)return!1;switch(this.type){case Cf:case uf:return Q(this.H,a.H)&&Q(this.I,a.I);case Df:return Q(this.H,a.H)&&Q(this.I,a.I)&&Q(this.Bc,a.Bc)&&Q(this.Xc,a.Xc)&&Q(this.Rh,a.Rh)&&Q(this.Sh,a.Sh);case Of:return Q(this.H,a.H)&&Q(this.I,a.I)&&Q(this.Bc,a.Bc)&&Q(this.Xc,a.Xc);case Pf:return Q(this.Le,a.Le)&&Q(this.yf,a.yf)&&Q(this.oa,a.oa)&&Q(this.va,a.va)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,
-a.radiusY);case Qf:return this.tm===a.tm&&this.Yx===a.Yx&&Q(this.Zj,a.Zj)&&Q(this.H,a.H)&&Q(this.I,a.I)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,a.radiusY);default:return!1}};Wf.prototype.oc=function(a){a.Ne===Wf?this.type=a:D.Xj(this,a)};
-Wf.prototype.toString=function(a){void 0===a&&(a=-1);var b="";switch(this.type){case Cf:b=0>a?"M"+this.H.toString()+" "+this.I.toString():"M"+this.H.toFixed(a)+" "+this.I.toFixed(a);break;case uf:b=0>a?"L"+this.H.toString()+" "+this.I.toString():"L"+this.H.toFixed(a)+" "+this.I.toFixed(a);break;case Df:b=0>a?"C"+this.Bc.toString()+" "+this.Xc.toString()+" "+this.Rh.toString()+" "+this.Sh.toString()+" "+this.H.toString()+" "+this.I.toString():"C"+this.Bc.toFixed(a)+" "+this.Xc.toFixed(a)+" "+this.Rh.toFixed(a)+
-" "+this.Sh.toFixed(a)+" "+this.H.toFixed(a)+" "+this.I.toFixed(a);break;case Of:b=0>a?"Q"+this.Bc.toString()+" "+this.Xc.toString()+" "+this.H.toString()+" "+this.I.toString():"Q"+this.Bc.toFixed(a)+" "+this.Xc.toFixed(a)+" "+this.H.toFixed(a)+" "+this.I.toFixed(a);break;case Pf:b=0>a?"B"+this.Le.toString()+" "+this.yf.toString()+" "+this.oa.toString()+" "+this.va.toString()+" "+this.radiusX:"B"+this.Le.toFixed(a)+" "+this.yf.toFixed(a)+" "+this.oa.toFixed(a)+" "+this.va.toFixed(a)+" "+this.radiusX;
-break;case Qf:b=0>a?"A"+this.radiusX.toString()+" "+this.radiusY.toString()+" "+this.Zj.toString()+" "+(this.Yx?1:0)+" "+(this.tm?1:0)+" "+this.H.toString()+" "+this.I.toString():"A"+this.radiusX.toFixed(a)+" "+this.radiusY.toFixed(a)+" "+this.Zj.toFixed(a)+" "+(this.Yx?1:0)+" "+(this.tm?1:0)+" "+this.H.toFixed(a)+" "+this.I.toFixed(a);break;default:b=this.type.toString()}return b+(this.ei?"z":"")};var Cf;Wf.Move=Cf=D.s(Wf,"Move",0);var uf;Wf.Line=uf=D.s(Wf,"Line",1);var Df;
-Wf.Bezier=Df=D.s(Wf,"Bezier",2);var Of;Wf.QuadraticBezier=Of=D.s(Wf,"QuadraticBezier",3);var Pf;Wf.Arc=Pf=D.s(Wf,"Arc",4);var Qf;Wf.SvgArc=Qf=D.s(Wf,"SvgArc",4);Wf.prototype.freeze=function(){this.J=!0;return this};Wf.prototype.Ya=function(){this.J=!1;return this};Wf.prototype.close=Wf.prototype.close=function(){this.ei=!0;return this};
-function Rf(a,b){if(null!==a.vg&&!1===b.lb)return a.vg;var c=a.radiusX,d=a.radiusY;void 0===d&&(d=c);if(0===c||0===d)return a.vg=[],a.vg;var e=a.Pd,g=a.df,h=Ve(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=Ve(b>g?b:g,n,n+h,!0);g=D.Pf();g.reset();g.translate(c,d);g.rotate(a.Pd,0,0);g.scale(l,r);Af(b,g);D.He(g);a.vg=b;return a.vg}
-D.defineProperty(Wf,{Tx:"isClosed"},function(){return this.ei},function(a){this.ei!==a&&(this.ei=a,this.lb=!0)});D.defineProperty(Wf,{type:"type"},function(){return this.ca},function(a){v&&D.Da(a,Wf,Wf,"type");this.J&&D.pa(this,a);this.ca=a;this.lb=!0});D.defineProperty(Wf,{H:"endX"},function(){return this.Ab},function(a){v&&D.p(a,Wf,"endX");this.J&&D.pa(this,a);this.Ab=a;this.lb=!0});
-D.defineProperty(Wf,{I:"endY"},function(){return this.Ib},function(a){v&&D.p(a,Wf,"endY");this.J&&D.pa(this,a);this.Ib=a;this.lb=!0});D.defineProperty(Wf,{Bc:"point1X"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"point1X");this.J&&D.pa(this,a);this.Pd=a;this.lb=!0});D.defineProperty(Wf,{Xc:"point1Y"},function(){return this.df},function(a){v&&D.p(a,Wf,"point1Y");this.J&&D.pa(this,a);this.df=a;this.lb=!0});
-D.defineProperty(Wf,{Rh:"point2X"},function(){return this.Ch},function(a){v&&D.p(a,Wf,"point2X");this.J&&D.pa(this,a);this.Ch=a;this.lb=!0});D.defineProperty(Wf,{Sh:"point2Y"},function(){return this.Mg},function(a){v&&D.p(a,Wf,"point2Y");this.J&&D.pa(this,a);this.Mg=a;this.lb=!0});D.defineProperty(Wf,{oa:"centerX"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"centerX");this.J&&D.pa(this,a);this.Pd=a;this.lb=!0});
-D.defineProperty(Wf,{va:"centerY"},function(){return this.df},function(a){v&&D.p(a,Wf,"centerY");this.J&&D.pa(this,a);this.df=a;this.lb=!0});D.defineProperty(Wf,{radiusX:"radiusX"},function(){return this.Ch},function(a){v&&D.p(a,Wf,"radiusX");0>a&&D.ua(a,">= zero",Wf,"radiusX");this.J&&D.pa(this,a);this.Ch=a;this.lb=!0});D.defineProperty(Wf,{radiusY:"radiusY"},function(){return this.Mg},function(a){v&&D.p(a,Wf,"radiusY");0>a&&D.ua(a,">= zero",Wf,"radiusY");this.J&&D.pa(this,a);this.Mg=a;this.lb=!0});
-D.defineProperty(Wf,{Le:"startAngle"},function(){return this.Ab},function(a){this.Ab!==a&&(this.J&&D.pa(this,a),v&&D.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Ab=a,this.lb=!0)});D.defineProperty(Wf,{yf:"sweepAngle"},function(){return this.Ib},function(a){v&&D.p(a,Wf,"sweepAngle");this.J&&D.pa(this,a);360a&&(a=-360);this.Ib=a;this.lb=!0});D.defineProperty(Wf,{tm:"isClockwiseArc"},function(){return this.Lo},function(a){this.J&&D.pa(this,a);this.Lo=a;this.lb=!0});
-D.defineProperty(Wf,{Yx:"isLargeArc"},function(){return this.tp},function(a){this.J&&D.pa(this,a);this.tp=a;this.lb=!0});D.defineProperty(Wf,{Zj:"xAxisRotation"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.J&&D.pa(this,a);this.Pd=a;this.lb=!0});
-function Yf(){this.ba=null;this.lA=(new O(0,0)).freeze();this.sz=(new O(0,0)).freeze();this.zv=this.ww=0;this.Av=1;this.kw="";this.ex=this.Ov=!1;this.Lv=this.Bv=0;this.ak=this.Wv=this.gw=!1;this.Rr=null;this.ax=0;this.Qg=this.$w=null}D.ja("InputEvent",Yf);
-Yf.prototype.copy=function(){var a=new Yf;a.ba=this.ba;a.lA.assign(this.qe);a.sz.assign(this.ha);a.ww=this.ww;a.zv=this.zv;a.Av=this.Av;a.kw=this.kw;a.Ov=this.Ov;a.ex=this.ex;a.Bv=this.Bv;a.Lv=this.Lv;a.gw=this.gw;a.Wv=this.Wv;a.ak=this.ak;a.Rr=this.Rr;a.ax=this.ax;a.$w=this.$w;a.Qg=this.Qg;return a};
-Yf.prototype.toString=function(){var a="^";0!==this.Kd&&(a+="M:"+this.Kd);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Oe&&(a+="C:"+this.Oe);0!==this.im&&(a+="D:"+this.im);this.Mc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};D.defineProperty(Yf,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});D.defineProperty(Yf,{qe:"viewPoint"},function(){return this.lA},function(a){D.l(a,O,Yf,"viewPoint");this.lA.assign(a)});
-D.defineProperty(Yf,{ha:"documentPoint"},function(){return this.sz},function(a){D.l(a,O,Yf,"documentPoint");this.sz.assign(a)});Yf.prototype.getMultiTouchViewPoint=Yf.prototype.Px=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.YB(b));return b};D.defineProperty(Yf,{Kd:"modifiers"},function(){return this.ww},function(a){this.ww=a});
-D.defineProperty(Yf,{button:"button"},function(){return this.zv},function(a){this.zv=a;if(null===this.event)switch(a){case 0:this.buttons=1;break;case 1:this.buttons=4;break;case 2:this.buttons=2}});D.defineProperty(Yf,{buttons:"buttons"},function(){return this.Av},function(a){this.Av=a});D.defineProperty(Yf,{key:"key"},function(){return this.kw},function(a){this.kw=a});D.defineProperty(Yf,{jm:"down"},function(){return this.Ov},function(a){this.Ov=a});
-D.defineProperty(Yf,{up:"up"},function(){return this.ex},function(a){this.ex=a});D.defineProperty(Yf,{Oe:"clickCount"},function(){return this.Bv},function(a){this.Bv=a});D.defineProperty(Yf,{im:"delta"},function(){return this.Lv},function(a){this.Lv=a});D.defineProperty(Yf,{yu:"isMultiTouch"},function(){return this.gw},function(a){this.gw=a});D.defineProperty(Yf,{Mc:"handled"},function(){return this.Wv},function(a){this.Wv=a});
-D.defineProperty(Yf,{bubbles:"bubbles"},function(){return this.ak},function(a){this.ak=a});D.defineProperty(Yf,{event:"event"},function(){return this.Rr},function(a){this.Rr=a});D.w(Yf,{Mj:"isTouchEvent"},function(){var a=window.TouchEvent;return a&&this.event instanceof a?!0:(a=window.PointerEvent)&&this.event instanceof a&&"touch"===this.event.pointerType});D.w(Yf,{Wk:"isMac"},function(){return D.Wk});D.defineProperty(Yf,{timestamp:"timestamp"},function(){return this.ax},function(a){this.ax=a});
-D.defineProperty(Yf,{gh:"targetDiagram"},function(){return this.$w},function(a){this.$w=a});D.defineProperty(Yf,{We:"targetObject"},function(){return this.Qg},function(a){this.Qg=a});D.defineProperty(Yf,{control:"control"},function(){return 0!==(this.Kd&1)},function(a){this.Kd=a?this.Kd|1:this.Kd&-2});D.defineProperty(Yf,{shift:"shift"},function(){return 0!==(this.Kd&4)},function(a){this.Kd=a?this.Kd|4:this.Kd&-5});
-D.defineProperty(Yf,{alt:"alt"},function(){return 0!==(this.Kd&2)},function(a){this.Kd=a?this.Kd|2:this.Kd&-3});D.defineProperty(Yf,{Hu:"meta"},function(){return 0!==(this.Kd&8)},function(a){this.Kd=a?this.Kd|8:this.Kd&-9});D.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});
-D.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});D.defineProperty(Yf,{ZL:"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.ba=null;this.Xb="";this.Gw=this.Yw=null;this.lr=!1}D.ja("DiagramEvent",$f);$f.prototype.copy=function(){var a=new $f;a.ba=this.ba;a.Xb=this.Xb;a.Yw=this.Yw;a.Gw=this.Gw;a.lr=this.lr;return a};$f.prototype.toString=function(){var a="*"+this.name;null!==this.PB&&(a+=":"+this.PB.toString());null!==this.uB&&(a+="("+this.uB.toString()+")");return a};D.defineProperty($f,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});
-D.defineProperty($f,{name:"name"},function(){return this.Xb},function(a){this.Xb=a});D.defineProperty($f,{PB:"subject"},function(){return this.Yw},function(a){this.Yw=a});D.defineProperty($f,{uB:"parameter"},function(){return this.Gw},function(a){this.Gw=a});D.defineProperty($f,{cancel:"cancel"},function(){return this.lr},function(a){this.lr!==a&&D.Pn("DiagramEvent.cancel","2.0");this.lr=a});function ag(){this.mr=bg;this.ln=this.vw="";this.Ls=this.Ms=this.Qs=this.Rs=this.Ps=this.ba=this.ve=null}
-D.ja("ChangedEvent",ag);var cg;ag.Transaction=cg=D.s(ag,"Transaction",-1);var bg;ag.Property=bg=D.s(ag,"Property",0);var dg;ag.Insert=dg=D.s(ag,"Insert",1);var og;ag.Remove=og=D.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ls=this.Ms=this.Qs=this.Rs=this.Ps=this.ba=this.ve=null};
-ag.prototype.copy=function(){var a=new ag;a.mr=this.mr;a.vw=this.vw;a.ln=this.ln;a.ve=this.ve;a.ba=this.ba;a.Ps=this.Ps;var b=this.Rs;a.Rs=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Qs;a.Qs=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Ms;a.Ms=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=D.Ta(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.oc=function(a){a.Ne===ag?this.Jc=a:D.Xj(this,a)};
-ag.prototype.toString=function(){var a="",a=this.Jc===cg?a+"* ":this.Jc===bg?a+(null!==this.ga?"!m":"!d"):a+((null!==this.ga?"!m":"!d")+this.Jc);this.propertyName&&"string"===typeof this.propertyName&&(a+=" "+this.propertyName);this.xf&&this.xf!==this.propertyName&&(a+=" "+this.xf);a+=": ";this.Jc===cg?null!==this.oldValue&&(a+=" "+this.oldValue):(null!==this.object&&(a+=ja(this.object)),null!==this.oldValue&&(a+=" old: "+ja(this.oldValue)),null!==this.Tj&&(a+=" "+this.Tj),null!==this.newValue&&
+D.defineProperty(Ye,{je:"defaultStretch"},function(){return this.Ui},function(a){v&&D.Da(a,P,Ye,"stretch");this.J&&D.pa(this,a);this.Ui=a});D.w(Ye,{nb:"bounds"},function(){this.Yx()&&(this.Oy(),this.Lh());return this.Ev});function $e(a,b,c,d){D.uc(this);this.J=!1;void 0===c&&(c=!0);this.Tm=c;void 0===d&&(d=!0);this.op=d;void 0!==a?(v&&D.p(a,$e,"sx"),this.xc=a):this.xc=0;void 0!==b?(v&&D.p(b,$e,"sy"),this.Hc=b):this.Hc=0;this.Kp=new K(Wf);this.Vw=this.Kp.I;this.mb=!0}D.ka("PathFigure",$e);D.Ai($e);
+$e.prototype.copy=function(){var a=new $e;a.Tm=this.Tm;a.op=this.op;a.xc=this.xc;a.Hc=this.Hc;for(var b=this.Kp.o,c=b.length,d=a.Kp,e=0;ea?"M"+this.la.toString()+" "+this.ja.toString():"M"+this.la.toFixed(a)+" "+this.ja.toFixed(a),c=this.Db.o,d=c.length,e=0;ea&&(a+=360),this.Pd=a,this.ef=0,v&&D.p(d,Wf,"x1"),this.Dh=Math.max(d,0),v&&D.p(e,Wf,"y1"),this.Ng=Math.max(e,0),this.tp="boolean"===typeof h?!!h:!1,this.Lo=!!k):(v&&D.p(d,Wf,"x1"),this.Pd=d,v&&D.p(e,
+Wf,"y1"),this.ef=e,v&&D.p(g,Wf,"x2"),a===Pf&&(g=Math.max(g,0)),this.Dh=g,"number"===typeof h?(a===Pf&&(h=Math.max(h,0)),this.Ng=h):this.Ng=0,this.Lo=this.tp=!1);this.fi=!1;this.mb=!0;this.wg=null}D.ka("PathSegment",Wf);D.Ai(Wf);Wf.prototype.copy=function(){var a=new Wf;a.ca=this.ca;a.Ab=this.Ab;a.Ib=this.Ib;a.Pd=this.Pd;a.ef=this.ef;a.Dh=this.Dh;a.Ng=this.Ng;a.tp=this.tp;a.Lo=this.Lo;a.fi=this.fi;a.mb=this.mb;return a};
+Wf.prototype.equalsApprox=Wf.prototype.Tc=function(a){if(!(a instanceof Wf)||this.type!==a.type||this.Ux!==a.Ux)return!1;switch(this.type){case Cf:case uf:return Q(this.G,a.G)&&Q(this.H,a.H);case Df:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Bc,a.Bc)&&Q(this.Xc,a.Xc)&&Q(this.Sh,a.Sh)&&Q(this.Th,a.Th);case Of:return Q(this.G,a.G)&&Q(this.H,a.H)&&Q(this.Bc,a.Bc)&&Q(this.Xc,a.Xc);case Pf:return Q(this.Le,a.Le)&&Q(this.zf,a.zf)&&Q(this.oa,a.oa)&&Q(this.va,a.va)&&Q(this.radiusX,a.radiusX)&&Q(this.radiusY,
+a.radiusY);case Qf:return this.um===a.um&&this.Zx===a.Zx&&Q(this.Zj,a.Zj)&&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.Ne===Wf?this.type=a:D.Xj(this,a)};
+Wf.prototype.toString=function(a){void 0===a&&(a=-1);var b="";switch(this.type){case Cf:b=0>a?"M"+this.G.toString()+" "+this.H.toString():"M"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case uf:b=0>a?"L"+this.G.toString()+" "+this.H.toString():"L"+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Df:b=0>a?"C"+this.Bc.toString()+" "+this.Xc.toString()+" "+this.Sh.toString()+" "+this.Th.toString()+" "+this.G.toString()+" "+this.H.toString():"C"+this.Bc.toFixed(a)+" "+this.Xc.toFixed(a)+" "+this.Sh.toFixed(a)+
+" "+this.Th.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Of:b=0>a?"Q"+this.Bc.toString()+" "+this.Xc.toString()+" "+this.G.toString()+" "+this.H.toString():"Q"+this.Bc.toFixed(a)+" "+this.Xc.toFixed(a)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;case Pf:b=0>a?"B"+this.Le.toString()+" "+this.zf.toString()+" "+this.oa.toString()+" "+this.va.toString()+" "+this.radiusX:"B"+this.Le.toFixed(a)+" "+this.zf.toFixed(a)+" "+this.oa.toFixed(a)+" "+this.va.toFixed(a)+" "+this.radiusX;
+break;case Qf:b=0>a?"A"+this.radiusX.toString()+" "+this.radiusY.toString()+" "+this.Zj.toString()+" "+(this.Zx?1:0)+" "+(this.um?1:0)+" "+this.G.toString()+" "+this.H.toString():"A"+this.radiusX.toFixed(a)+" "+this.radiusY.toFixed(a)+" "+this.Zj.toFixed(a)+" "+(this.Zx?1:0)+" "+(this.um?1:0)+" "+this.G.toFixed(a)+" "+this.H.toFixed(a);break;default:b=this.type.toString()}return b+(this.fi?"z":"")};var Cf;Wf.Move=Cf=D.s(Wf,"Move",0);var uf;Wf.Line=uf=D.s(Wf,"Line",1);var Df;
+Wf.Bezier=Df=D.s(Wf,"Bezier",2);var Of;Wf.QuadraticBezier=Of=D.s(Wf,"QuadraticBezier",3);var Pf;Wf.Arc=Pf=D.s(Wf,"Arc",4);var Qf;Wf.SvgArc=Qf=D.s(Wf,"SvgArc",4);Wf.prototype.freeze=function(){this.J=!0;return this};Wf.prototype.Ya=function(){this.J=!1;return this};Wf.prototype.close=Wf.prototype.close=function(){this.fi=!0;return this};
+function Rf(a,b){if(null!==a.wg&&!1===b.mb)return a.wg;var c=a.radiusX,d=a.radiusY;void 0===d&&(d=c);if(0===c||0===d)return a.wg=[],a.wg;var e=a.Pd,g=a.ef,h=Ve(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=Ve(b>g?b:g,n,n+h,!0);g=D.Qf();g.reset();g.translate(c,d);g.rotate(a.Pd,0,0);g.scale(l,r);Af(b,g);D.He(g);a.wg=b;return a.wg}
+D.defineProperty(Wf,{Ux:"isClosed"},function(){return this.fi},function(a){this.fi!==a&&(this.fi=a,this.mb=!0)});D.defineProperty(Wf,{type:"type"},function(){return this.ca},function(a){v&&D.Da(a,Wf,Wf,"type");this.J&&D.pa(this,a);this.ca=a;this.mb=!0});D.defineProperty(Wf,{G:"endX"},function(){return this.Ab},function(a){v&&D.p(a,Wf,"endX");this.J&&D.pa(this,a);this.Ab=a;this.mb=!0});
+D.defineProperty(Wf,{H:"endY"},function(){return this.Ib},function(a){v&&D.p(a,Wf,"endY");this.J&&D.pa(this,a);this.Ib=a;this.mb=!0});D.defineProperty(Wf,{Bc:"point1X"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"point1X");this.J&&D.pa(this,a);this.Pd=a;this.mb=!0});D.defineProperty(Wf,{Xc:"point1Y"},function(){return this.ef},function(a){v&&D.p(a,Wf,"point1Y");this.J&&D.pa(this,a);this.ef=a;this.mb=!0});
+D.defineProperty(Wf,{Sh:"point2X"},function(){return this.Dh},function(a){v&&D.p(a,Wf,"point2X");this.J&&D.pa(this,a);this.Dh=a;this.mb=!0});D.defineProperty(Wf,{Th:"point2Y"},function(){return this.Ng},function(a){v&&D.p(a,Wf,"point2Y");this.J&&D.pa(this,a);this.Ng=a;this.mb=!0});D.defineProperty(Wf,{oa:"centerX"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"centerX");this.J&&D.pa(this,a);this.Pd=a;this.mb=!0});
+D.defineProperty(Wf,{va:"centerY"},function(){return this.ef},function(a){v&&D.p(a,Wf,"centerY");this.J&&D.pa(this,a);this.ef=a;this.mb=!0});D.defineProperty(Wf,{radiusX:"radiusX"},function(){return this.Dh},function(a){v&&D.p(a,Wf,"radiusX");0>a&&D.ua(a,">= zero",Wf,"radiusX");this.J&&D.pa(this,a);this.Dh=a;this.mb=!0});D.defineProperty(Wf,{radiusY:"radiusY"},function(){return this.Ng},function(a){v&&D.p(a,Wf,"radiusY");0>a&&D.ua(a,">= zero",Wf,"radiusY");this.J&&D.pa(this,a);this.Ng=a;this.mb=!0});
+D.defineProperty(Wf,{Le:"startAngle"},function(){return this.Ab},function(a){this.Ab!==a&&(this.J&&D.pa(this,a),v&&D.p(a,Wf,"startAngle"),a%=360,0>a&&(a+=360),this.Ab=a,this.mb=!0)});D.defineProperty(Wf,{zf:"sweepAngle"},function(){return this.Ib},function(a){v&&D.p(a,Wf,"sweepAngle");this.J&&D.pa(this,a);360a&&(a=-360);this.Ib=a;this.mb=!0});D.defineProperty(Wf,{um:"isClockwiseArc"},function(){return this.Lo},function(a){this.J&&D.pa(this,a);this.Lo=a;this.mb=!0});
+D.defineProperty(Wf,{Zx:"isLargeArc"},function(){return this.tp},function(a){this.J&&D.pa(this,a);this.tp=a;this.mb=!0});D.defineProperty(Wf,{Zj:"xAxisRotation"},function(){return this.Pd},function(a){v&&D.p(a,Wf,"xAxisRotation");a%=360;0>a&&(a+=360);this.J&&D.pa(this,a);this.Pd=a;this.mb=!0});
+function Yf(){this.ba=null;this.mA=(new O(0,0)).freeze();this.uz=(new O(0,0)).freeze();this.Bv=this.yw=0;this.Cv=1;this.mw="";this.hx=this.Qv=!1;this.Nv=this.Dv=0;this.ak=this.Yv=this.iw=!1;this.Rr=null;this.ex=0;this.Rg=this.bx=null}D.ka("InputEvent",Yf);
+Yf.prototype.copy=function(){var a=new Yf;a.ba=this.ba;a.mA.assign(this.qe);a.uz.assign(this.ha);a.yw=this.yw;a.Bv=this.Bv;a.Cv=this.Cv;a.mw=this.mw;a.Qv=this.Qv;a.hx=this.hx;a.Dv=this.Dv;a.Nv=this.Nv;a.iw=this.iw;a.Yv=this.Yv;a.ak=this.ak;a.Rr=this.Rr;a.ex=this.ex;a.bx=this.bx;a.Rg=this.Rg;return a};
+Yf.prototype.toString=function(){var a="^";0!==this.Kd&&(a+="M:"+this.Kd);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Oe&&(a+="C:"+this.Oe);0!==this.jm&&(a+="D:"+this.jm);this.Mc&&(a+="h");this.bubbles&&(a+="b");null!==this.ha&&(a+="@"+this.ha.toString());return a};D.defineProperty(Yf,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});D.defineProperty(Yf,{qe:"viewPoint"},function(){return this.mA},function(a){D.l(a,O,Yf,"viewPoint");this.mA.assign(a)});
+D.defineProperty(Yf,{ha:"documentPoint"},function(){return this.uz},function(a){D.l(a,O,Yf,"documentPoint");this.uz.assign(a)});Yf.prototype.getMultiTouchViewPoint=Yf.prototype.Qx=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.YB(b));return b};D.defineProperty(Yf,{Kd:"modifiers"},function(){return this.yw},function(a){this.yw=a});
+D.defineProperty(Yf,{button:"button"},function(){return this.Bv},function(a){this.Bv=a;if(null===this.event)switch(a){case 0:this.buttons=1;break;case 1:this.buttons=4;break;case 2:this.buttons=2}});D.defineProperty(Yf,{buttons:"buttons"},function(){return this.Cv},function(a){this.Cv=a});D.defineProperty(Yf,{key:"key"},function(){return this.mw},function(a){this.mw=a});D.defineProperty(Yf,{km:"down"},function(){return this.Qv},function(a){this.Qv=a});
+D.defineProperty(Yf,{up:"up"},function(){return this.hx},function(a){this.hx=a});D.defineProperty(Yf,{Oe:"clickCount"},function(){return this.Dv},function(a){this.Dv=a});D.defineProperty(Yf,{jm:"delta"},function(){return this.Nv},function(a){this.Nv=a});D.defineProperty(Yf,{Au:"isMultiTouch"},function(){return this.iw},function(a){this.iw=a});D.defineProperty(Yf,{Mc:"handled"},function(){return this.Yv},function(a){this.Yv=a});
+D.defineProperty(Yf,{bubbles:"bubbles"},function(){return this.ak},function(a){this.ak=a});D.defineProperty(Yf,{event:"event"},function(){return this.Rr},function(a){this.Rr=a});D.w(Yf,{Mj:"isTouchEvent"},function(){var a=window.TouchEvent;return a&&this.event instanceof a?!0:(a=window.PointerEvent)&&this.event instanceof a&&"touch"===this.event.pointerType});D.w(Yf,{Xk:"isMac"},function(){return D.Xk});D.defineProperty(Yf,{timestamp:"timestamp"},function(){return this.ex},function(a){this.ex=a});
+D.defineProperty(Yf,{hh:"targetDiagram"},function(){return this.bx},function(a){this.bx=a});D.defineProperty(Yf,{We:"targetObject"},function(){return this.Rg},function(a){this.Rg=a});D.defineProperty(Yf,{control:"control"},function(){return 0!==(this.Kd&1)},function(a){this.Kd=a?this.Kd|1:this.Kd&-2});D.defineProperty(Yf,{shift:"shift"},function(){return 0!==(this.Kd&4)},function(a){this.Kd=a?this.Kd|4:this.Kd&-5});
+D.defineProperty(Yf,{alt:"alt"},function(){return 0!==(this.Kd&2)},function(a){this.Kd=a?this.Kd|2:this.Kd&-3});D.defineProperty(Yf,{Ju:"meta"},function(){return 0!==(this.Kd&8)},function(a){this.Kd=a?this.Kd|8:this.Kd&-9});D.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});
+D.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});D.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.ba=null;this.Yb="";this.Iw=this.$w=null;this.lr=!1}D.ka("DiagramEvent",$f);$f.prototype.copy=function(){var a=new $f;a.ba=this.ba;a.Yb=this.Yb;a.$w=this.$w;a.Iw=this.Iw;a.lr=this.lr;return a};$f.prototype.toString=function(){var a="*"+this.name;null!==this.PB&&(a+=":"+this.PB.toString());null!==this.uB&&(a+="("+this.uB.toString()+")");return a};D.defineProperty($f,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});
+D.defineProperty($f,{name:"name"},function(){return this.Yb},function(a){this.Yb=a});D.defineProperty($f,{PB:"subject"},function(){return this.$w},function(a){this.$w=a});D.defineProperty($f,{uB:"parameter"},function(){return this.Iw},function(a){this.Iw=a});D.defineProperty($f,{cancel:"cancel"},function(){return this.lr},function(a){this.lr!==a&&D.Pn("DiagramEvent.cancel","2.0");this.lr=a});function ag(){this.mr=bg;this.ln=this.xw="";this.Ls=this.Ms=this.Qs=this.Rs=this.Ps=this.ba=this.ve=null}
+D.ka("ChangedEvent",ag);var cg;ag.Transaction=cg=D.s(ag,"Transaction",-1);var bg;ag.Property=bg=D.s(ag,"Property",0);var ng;ag.Insert=ng=D.s(ag,"Insert",1);var og;ag.Remove=og=D.s(ag,"Remove",2);ag.prototype.clear=ag.prototype.clear=function(){this.Ls=this.Ms=this.Qs=this.Rs=this.Ps=this.ba=this.ve=null};
+ag.prototype.copy=function(){var a=new ag;a.mr=this.mr;a.xw=this.xw;a.ln=this.ln;a.ve=this.ve;a.ba=this.ba;a.Ps=this.Ps;var b=this.Rs;a.Rs=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Qs;a.Qs=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Ms;a.Ms=D.Ta(b)&&"function"===typeof b.V?b.V():b;b=this.Ls;a.Ls=D.Ta(b)&&"function"===typeof b.V?b.V():b;return a};ag.prototype.pc=function(a){a.Ne===ag?this.Jc=a:D.Xj(this,a)};
+ag.prototype.toString=function(){var a="",a=this.Jc===cg?a+"* ":this.Jc===bg?a+(null!==this.ga?"!m":"!d"):a+((null!==this.ga?"!m":"!d")+this.Jc);this.propertyName&&"string"===typeof this.propertyName&&(a+=" "+this.propertyName);this.yf&&this.yf!==this.propertyName&&(a+=" "+this.yf);a+=": ";this.Jc===cg?null!==this.oldValue&&(a+=" "+this.oldValue):(null!==this.object&&(a+=ja(this.object)),null!==this.oldValue&&(a+=" old: "+ja(this.oldValue)),null!==this.Tj&&(a+=" "+this.Tj),null!==this.newValue&&
(a+=" new: "+ja(this.newValue)),null!==this.Rj&&(a+=" "+this.Rj));return a};ag.prototype.getValue=ag.prototype.na=function(a){return a?this.oldValue:this.newValue};ag.prototype.getParam=function(a){return a?this.Tj:this.Rj};ag.prototype.canUndo=ag.prototype.canUndo=function(){return null!==this.ga||null!==this.g?!0:!1};ag.prototype.undo=ag.prototype.undo=function(){this.canUndo()&&(null!==this.ga?this.ga.Gn(this,!0):null!==this.g&&this.g.Gn(this,!0))};
ag.prototype.canRedo=ag.prototype.canRedo=function(){return null!==this.ga||null!==this.g?!0:!1};ag.prototype.redo=ag.prototype.redo=function(){this.canRedo()&&(null!==this.ga?this.ga.Gn(this,!1):null!==this.g&&this.g.Gn(this,!1))};D.defineProperty(ag,{ga:"model"},function(){return this.ve},function(a){this.ve=a});D.defineProperty(ag,{g:"diagram"},function(){return this.ba},function(a){this.ba=a});
-D.defineProperty(ag,{Jc:"change"},function(){return this.mr},function(a){v&&D.Da(a,ag,ag,"change");this.mr=a});D.defineProperty(ag,{xf:"modelChange"},function(){return this.vw},function(a){v&&D.h(a,"string",ag,"modelChange");this.vw=a});D.defineProperty(ag,{propertyName:"propertyName"},function(){return this.ln},function(a){v&&"string"!==typeof a&&D.h(a,"function",ag,"propertyName");this.ln=a});
-D.w(ag,{YF:"isTransactionFinished"},function(){return this.mr===cg&&("CommittedTransaction"===this.ln||"FinishedUndo"===this.ln||"FinishedRedo"===this.ln)});D.defineProperty(ag,{object:"object"},function(){return this.Ps},function(a){this.Ps=a});D.defineProperty(ag,{oldValue:"oldValue"},function(){return this.Rs},function(a){this.Rs=a});D.defineProperty(ag,{Tj:"oldParam"},function(){return this.Qs},function(a){this.Qs=a});
+D.defineProperty(ag,{Jc:"change"},function(){return this.mr},function(a){v&&D.Da(a,ag,ag,"change");this.mr=a});D.defineProperty(ag,{yf:"modelChange"},function(){return this.xw},function(a){v&&D.h(a,"string",ag,"modelChange");this.xw=a});D.defineProperty(ag,{propertyName:"propertyName"},function(){return this.ln},function(a){v&&"string"!==typeof a&&D.h(a,"function",ag,"propertyName");this.ln=a});
+D.w(ag,{ZF:"isTransactionFinished"},function(){return this.mr===cg&&("CommittedTransaction"===this.ln||"FinishedUndo"===this.ln||"FinishedRedo"===this.ln)});D.defineProperty(ag,{object:"object"},function(){return this.Ps},function(a){this.Ps=a});D.defineProperty(ag,{oldValue:"oldValue"},function(){return this.Rs},function(a){this.Rs=a});D.defineProperty(ag,{Tj:"oldParam"},function(){return this.Qs},function(a){this.Qs=a});
D.defineProperty(ag,{newValue:"newValue"},function(){return this.Ms},function(a){this.Ms=a});D.defineProperty(ag,{Rj:"newParam"},function(){return this.Ls},function(a){this.Ls=a});
-function M(a){1g?b+("\\u000"+a.charCodeAt(d).toString(16)):32>g?b+("\\u00"+a.charCodeAt(d).toString(16)):8232===g?b+"\\u2028":8233===g?b+"\\u2029":b+e}return'"'+b+'"'};
-M.prototype.writeJsonValue=M.prototype.jv=function(a){return void 0===a?"undefined":null===a?"null":!0===a?"true":!1===a?"false":"string"===typeof a?this.quote(a):"number"===typeof a?Infinity===a?"9e9999":-Infinity===a?"-9e9999":isNaN(a)?'{"class":"NaN"}':a.toString():a instanceof Date?'{"class":"Date", "value":"'+a.toJSON()+'"}':a instanceof Number?this.jv(a.valueOf()):D.isArray(a)?ug(this,a):D.Ta(a)?rg(this,a):"function"===typeof a?"null":a.toString()};
-function ug(a,b,c){void 0===c&&(c=!1);var d=D.cb(b);if(0>=d)return"[]";var e=new ya;e.add("[ ");c&&1=d)return"[]";var e=new ya;e.add("[ ");c&&1d)return;D.Ug(a.we,d)}Xg(a,"nodeDataArray",og,"nodeDataArray",a,b,null,d,null);a.hv(b)}
-M.prototype.removeNodeDataCollection=function(a){if(D.isArray(a))for(var b=D.cb(a),c=0;cd)return;D.Vg(a.we,d)}Xg(a,"nodeDataArray",og,"nodeDataArray",a,b,null,d,null);a.jv(b)}
+M.prototype.removeNodeDataCollection=function(a){if(D.isArray(a))for(var b=D.eb(a),c=0;cb&&(b=D.cb(a));D.Ih(a,b,c);Xg(this,"",dg,"",a,null,c,null,b)};
-M.prototype.removeArrayItem=M.prototype.vG=function(a,b){void 0===b&&(b=-1);v&&(D.Wt(a,M,"removeArrayItem:arr"),D.p(b,M,"removeArrayItem:idx"));a===this.we&&D.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=D.cb(a)-1);var c=D.La(a,b);D.Ug(a,b);Xg(this,"",og,"",a,c,null,b,null)};D.defineProperty(M,{oo:"nodeCategoryProperty"},function(){return this.fn},function(a){var b=this.fn;b!==a&&(Yg(a,M,"nodeCategoryProperty"),this.fn=a,this.i("nodeCategoryProperty",b,a))});
+D.defineProperty(M,{SH:"afterCopyFunction"},function(){return this.cr},function(a){var b=this.cr;b!==a&&(null!==a&&D.h(a,"function",M,"afterCopyFunction"),this.cr=a,this.i("afterCopyFunction",b,a))});var hh=!1;
+M.prototype.setDataProperty=function(a,b,c){v&&(D.h(a,"object",M,"setDataProperty:data"),D.h(b,"string",M,"setDataProperty:propname"),""===b&&D.k("Model.setDataProperty: property name must not be an empty string when setting "+a+" to "+c));if(this.ie(a))if(b===this.Sj)this.Jy(a,c);else{if(b===this.oo){this.Hy(a,c);return}}else!hh&&a instanceof P&&(hh=!0,D.trace('Model.setDataProperty is modifying a GraphObject, "'+a.toString()+'"'),D.trace(" Is that really your intent?"));var d=D.vb(a,b);d!==c&&
+(D.Ua(a,b,c),this.vB(a,b,d,c))};M.prototype.addArrayItem=function(a,b){this.YA(a,-1,b)};M.prototype.insertArrayItem=M.prototype.YA=function(a,b,c){v&&(D.Wt(a,M,"insertArrayItem:arr"),D.p(b,M,"insertArrayItem:idx"));a===this.we&&D.k("Model.insertArrayItem or Model.addArrayItem should not be called on the Model.nodeDataArray");0>b&&(b=D.eb(a));D.Jh(a,b,c);Xg(this,"",ng,"",a,null,c,null,b)};
+M.prototype.removeArrayItem=M.prototype.wG=function(a,b){void 0===b&&(b=-1);v&&(D.Wt(a,M,"removeArrayItem:arr"),D.p(b,M,"removeArrayItem:idx"));a===this.we&&D.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=D.eb(a)-1);var c=D.La(a,b);D.Vg(a,b);Xg(this,"",og,"",a,c,null,b,null)};D.defineProperty(M,{oo:"nodeCategoryProperty"},function(){return this.fn},function(a){var b=this.fn;b!==a&&(Yg(a,M,"nodeCategoryProperty"),this.fn=a,this.i("nodeCategoryProperty",b,a))});
M.prototype.getCategoryForNodeData=M.prototype.QA=function(a){if(null===a)return"";var b=this.fn;if(""===b)return"";b=D.vb(a,b);if(void 0===b)return"";if("string"===typeof b)return b;D.k("getCategoryForNodeData found a non-string category for "+a+": "+b);return""};
-M.prototype.setCategoryForNodeData=M.prototype.Gy=function(a,b){D.h(b,"string",M,"setCategoryForNodeData:cat");if(null!==a){var c=this.fn;if(""!==c)if(this.ie(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"nodeCategory",bg,c,a,d,b))}else D.Ua(a,c,b)}};
-function Y(a,b){M.call(this);2D.am(d,a.newValue)&&D.Ih(d,c,a.newValue));return}}else if(a.Jc===
-og){c=a.Tj;if("linkDataArray"===a.xf){d=a.oldValue;D.Ta(d)&&"number"===typeof c&&(e=this.eg(d),b?(this.hi.add(d),D.La(this.bf,c)!==d&&D.Ih(this.bf,c,d),void 0!==e&&this.pd.add(e,d)):(this.hi.remove(d),D.La(this.bf,c)===d&&D.Ug(this.bf,c),void 0!==e&&this.pd.remove(e)));return}if("linkLabelKeys"===a.xf){d=this.Sk(a.object);D.isArray(d)&&"number"===typeof c&&(b?0>D.am(d,a.newValue)&&D.Ih(d,c,a.newValue):(c=D.am(d,a.newValue),0<=c&&D.Ug(d,c)));return}}M.prototype.Gn.call(this,a,b)};
-D.defineProperty(Y,{sA:"archetypeNodeData"},function(){return this.ql},function(a){var b=this.ql;b!==a&&(null!==a&&D.l(a,Object,Y,"archetypeNodeData"),this.ql=a,this.i("archetypeNodeData",b,a))});Y.prototype.ho=function(a){if(void 0!==a){var b=this.ql;if(null!==b){var c=this.Fe(a);null===c&&(c=this.copyNodeData(b),D.Ua(c,this.wk,a),this.Xl(c))}return a}};
-D.defineProperty(Y,{eo:"linkFromKeyProperty"},function(){return this.ii},function(a){var b=this.ii;b!==a&&(Yg(a,Y,"linkFromKeyProperty"),this.ii=a,this.i("linkFromKeyProperty",b,a))});Y.prototype.getFromKeyForLinkData=Y.prototype.qm=function(a){if(null!==a){var b=this.ii;if(""!==b&&(b=D.vb(a,b),void 0!==b)){if(Zg(b))return b;D.k("FromKey value for link data "+a+" is not a number or a string: "+b)}}};
-Y.prototype.setFromKeyForLinkData=Y.prototype.FB=function(a,b){null===b&&(b=void 0);void 0===b||Zg(b)||D.hc(b,"number or string",Y,"setFromKeyForLinkData:key");if(null!==a){var c=this.ii;if(""!==c)if(b=this.ho(b),this.Lh(a)){var d=D.vb(a,c);d!==b&&(dh(this,d,a),D.Ua(a,c,b),null===this.Fe(b)&&ch(this,b,a),Xg(this,"linkFromKey",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
-D.defineProperty(Y,{fo:"linkToKeyProperty"},function(){return this.ji},function(a){var b=this.ji;b!==a&&(Yg(a,Y,"linkToKeyProperty"),this.ji=a,this.i("linkToKeyProperty",b,a))});Y.prototype.getToKeyForLinkData=Y.prototype.rm=function(a){if(null!==a){var b=this.ji;if(""!==b&&(b=D.vb(a,b),void 0!==b)){if(Zg(b))return b;D.k("ToKey value for link data "+a+" is not a number or a string: "+b)}}};
-Y.prototype.setToKeyForLinkData=Y.prototype.LB=function(a,b){null===b&&(b=void 0);void 0===b||Zg(b)||D.hc(b,"number or string",Y,"setToKeyForLinkData:key");if(null!==a){var c=this.ji;if(""!==c)if(b=this.ho(b),this.Lh(a)){var d=D.vb(a,c);d!==b&&(dh(this,d,a),D.Ua(a,c,b),null===this.Fe(b)&&ch(this,b,a),Xg(this,"linkToKey",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
-D.defineProperty(Y,{Du:"linkFromPortIdProperty"},function(){return this.an},function(a){var b=this.an;b!==a&&(Yg(a,Y,"linkFromPortIdProperty"),a!==this.eo&&a!==this.fo||D.k("linkFromPortIdProperty name must not be the same as the GraphLinksModel.linkFromKeyProperty or linkToKeyProperty: "+a),this.an=a,this.i("linkFromPortIdProperty",b,a))});Y.prototype.getFromPortIdForLinkData=Y.prototype.NI=function(a){if(null===a)return"";var b=this.an;if(""===b)return"";a=D.vb(a,b);return void 0===a?"":a};
-Y.prototype.setFromPortIdForLinkData=Y.prototype.GB=function(a,b){D.h(b,"string",Y,"setFromPortIdForLinkData:portname");if(null!==a){var c=this.an;if(""!==c)if(this.Lh(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"linkFromPortId",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
-D.defineProperty(Y,{Fu:"linkToPortIdProperty"},function(){return this.bn},function(a){var b=this.bn;b!==a&&(Yg(a,Y,"linkToPortIdProperty"),a!==this.eo&&a!==this.fo||D.k("linkFromPortIdProperty name must not be the same as the GraphLinksModel.linkFromKeyProperty or linkToKeyProperty: "+a),this.bn=a,this.i("linkToPortIdProperty",b,a))});Y.prototype.getToPortIdForLinkData=Y.prototype.SI=function(a){if(null===a)return"";var b=this.bn;if(""===b)return"";a=D.vb(a,b);return void 0===a?"":a};
-Y.prototype.setToPortIdForLinkData=Y.prototype.MB=function(a,b){D.h(b,"string",Y,"setToPortIdForLinkData:portname");if(null!==a){var c=this.bn;if(""!==c)if(this.Lh(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"linkToPortId",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};D.defineProperty(Y,{Eu:"linkLabelKeysProperty"},function(){return this.Ig},function(a){var b=this.Ig;b!==a&&(Yg(a,Y,"linkLabelKeysProperty"),this.Ig=a,this.i("linkLabelKeysProperty",b,a))});
-Y.prototype.getLabelKeysForLinkData=Y.prototype.Sk=function(a){if(null===a)return D.Do;var b=this.Ig;if(""===b)return D.Do;a=D.vb(a,b);return void 0===a?D.Do:a};
-Y.prototype.setLabelKeysForLinkData=Y.prototype.TG=function(a,b){D.Wt(b,Y,"setLabelKeysForLinkData:arr");if(null!==a){var c=this.Ig;if(""!==c)if(this.Lh(a)){var d=D.vb(a,c);void 0===d&&(d=D.Do);if(d!==b){for(var e=D.cb(d),g=0;ge||(D.Ug(d,e),this.Lh(a)&&(dh(this,b,a),Xg(this,"linkLabelKeys",og,c,a,b,null,e,null)))}else void 0!==d&&D.k(c+" property is not an Array; cannot removeLabelKeyforLinkData: "+a)}}};
-D.defineProperty(Y,{Zg:"linkDataArray"},function(){return this.bf},function(a){var b=this.bf;if(b!==a){D.Wt(a,Y,"linkDataArray");this.pd.clear();for(var c=D.cb(a),d=0;dd)return;D.Ug(a.bf,d)}Xg(a,"linkDataArray",og,"linkDataArray",a,b,null,d,null);c=a.qm(b);dh(a,c,b);c=a.rm(b);dh(a,c,b);d=a.Sk(b);if(D.isArray(d))for(var e=D.cb(d),g=0;gD.bm(d,a.newValue)&&D.Jh(d,c,a.newValue));return}}else if(a.Jc===
+og){c=a.Tj;if("linkDataArray"===a.yf){d=a.oldValue;D.Ta(d)&&"number"===typeof c&&(e=this.fg(d),b?(this.hi.add(d),D.La(this.bf,c)!==d&&D.Jh(this.bf,c,d),void 0!==e&&this.pd.add(e,d)):(this.hi.remove(d),D.La(this.bf,c)===d&&D.Vg(this.bf,c),void 0!==e&&this.pd.remove(e)));return}if("linkLabelKeys"===a.yf){d=this.Tk(a.object);D.isArray(d)&&"number"===typeof c&&(b?0>D.bm(d,a.newValue)&&D.Jh(d,c,a.newValue):(c=D.bm(d,a.newValue),0<=c&&D.Vg(d,c)));return}}M.prototype.Gn.call(this,a,b)};
+D.defineProperty(Y,{tA:"archetypeNodeData"},function(){return this.rl},function(a){var b=this.rl;b!==a&&(null!==a&&D.l(a,Object,Y,"archetypeNodeData"),this.rl=a,this.i("archetypeNodeData",b,a))});Y.prototype.ho=function(a){if(void 0!==a){var b=this.rl;if(null!==b){var c=this.Fe(a);null===c&&(c=this.copyNodeData(b),D.Ua(c,this.xk,a),this.Yl(c))}return a}};
+D.defineProperty(Y,{eo:"linkFromKeyProperty"},function(){return this.ii},function(a){var b=this.ii;b!==a&&(Yg(a,Y,"linkFromKeyProperty"),this.ii=a,this.i("linkFromKeyProperty",b,a))});Y.prototype.getFromKeyForLinkData=Y.prototype.rm=function(a){if(null!==a){var b=this.ii;if(""!==b&&(b=D.vb(a,b),void 0!==b)){if(Zg(b))return b;D.k("FromKey value for link data "+a+" is not a number or a string: "+b)}}};
+Y.prototype.setFromKeyForLinkData=Y.prototype.FB=function(a,b){null===b&&(b=void 0);void 0===b||Zg(b)||D.ic(b,"number or string",Y,"setFromKeyForLinkData:key");if(null!==a){var c=this.ii;if(""!==c)if(b=this.ho(b),this.Mh(a)){var d=D.vb(a,c);d!==b&&(dh(this,d,a),D.Ua(a,c,b),null===this.Fe(b)&&ch(this,b,a),Xg(this,"linkFromKey",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
+D.defineProperty(Y,{fo:"linkToKeyProperty"},function(){return this.ji},function(a){var b=this.ji;b!==a&&(Yg(a,Y,"linkToKeyProperty"),this.ji=a,this.i("linkToKeyProperty",b,a))});Y.prototype.getToKeyForLinkData=Y.prototype.sm=function(a){if(null!==a){var b=this.ji;if(""!==b&&(b=D.vb(a,b),void 0!==b)){if(Zg(b))return b;D.k("ToKey value for link data "+a+" is not a number or a string: "+b)}}};
+Y.prototype.setToKeyForLinkData=Y.prototype.LB=function(a,b){null===b&&(b=void 0);void 0===b||Zg(b)||D.ic(b,"number or string",Y,"setToKeyForLinkData:key");if(null!==a){var c=this.ji;if(""!==c)if(b=this.ho(b),this.Mh(a)){var d=D.vb(a,c);d!==b&&(dh(this,d,a),D.Ua(a,c,b),null===this.Fe(b)&&ch(this,b,a),Xg(this,"linkToKey",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
+D.defineProperty(Y,{Fu:"linkFromPortIdProperty"},function(){return this.an},function(a){var b=this.an;b!==a&&(Yg(a,Y,"linkFromPortIdProperty"),a!==this.eo&&a!==this.fo||D.k("linkFromPortIdProperty name must not be the same as the GraphLinksModel.linkFromKeyProperty or linkToKeyProperty: "+a),this.an=a,this.i("linkFromPortIdProperty",b,a))});Y.prototype.getFromPortIdForLinkData=Y.prototype.OI=function(a){if(null===a)return"";var b=this.an;if(""===b)return"";a=D.vb(a,b);return void 0===a?"":a};
+Y.prototype.setFromPortIdForLinkData=Y.prototype.GB=function(a,b){D.h(b,"string",Y,"setFromPortIdForLinkData:portname");if(null!==a){var c=this.an;if(""!==c)if(this.Mh(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"linkFromPortId",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};
+D.defineProperty(Y,{Hu:"linkToPortIdProperty"},function(){return this.bn},function(a){var b=this.bn;b!==a&&(Yg(a,Y,"linkToPortIdProperty"),a!==this.eo&&a!==this.fo||D.k("linkFromPortIdProperty name must not be the same as the GraphLinksModel.linkFromKeyProperty or linkToKeyProperty: "+a),this.bn=a,this.i("linkToPortIdProperty",b,a))});Y.prototype.getToPortIdForLinkData=Y.prototype.TI=function(a){if(null===a)return"";var b=this.bn;if(""===b)return"";a=D.vb(a,b);return void 0===a?"":a};
+Y.prototype.setToPortIdForLinkData=Y.prototype.MB=function(a,b){D.h(b,"string",Y,"setToPortIdForLinkData:portname");if(null!==a){var c=this.bn;if(""!==c)if(this.Mh(a)){var d=D.vb(a,c);void 0===d&&(d="");d!==b&&(D.Ua(a,c,b),Xg(this,"linkToPortId",bg,c,a,d,b),"string"===typeof c&&this.Nb(a,c))}else D.Ua(a,c,b)}};D.defineProperty(Y,{Gu:"linkLabelKeysProperty"},function(){return this.Jg},function(a){var b=this.Jg;b!==a&&(Yg(a,Y,"linkLabelKeysProperty"),this.Jg=a,this.i("linkLabelKeysProperty",b,a))});
+Y.prototype.getLabelKeysForLinkData=Y.prototype.Tk=function(a){if(null===a)return D.Do;var b=this.Jg;if(""===b)return D.Do;a=D.vb(a,b);return void 0===a?D.Do:a};
+Y.prototype.setLabelKeysForLinkData=Y.prototype.UG=function(a,b){D.Wt(b,Y,"setLabelKeysForLinkData:arr");if(null!==a){var c=this.Jg;if(""!==c)if(this.Mh(a)){var d=D.vb(a,c);void 0===d&&(d=D.Do);if(d!==b){for(var e=D.eb(d),g=0;ge||(D.Vg(d,e),this.Mh(a)&&(dh(this,b,a),Xg(this,"linkLabelKeys",og,c,a,b,null,e,null)))}else void 0!==d&&D.k(c+" property is not an Array; cannot removeLabelKeyforLinkData: "+a)}}};
+D.defineProperty(Y,{$g:"linkDataArray"},function(){return this.bf},function(a){var b=this.bf;if(b!==a){D.Wt(a,Y,"linkDataArray");this.pd.clear();for(var c=D.eb(a),d=0;dd)return;D.Vg(a.bf,d)}Xg(a,"linkDataArray",og,"linkDataArray",a,b,null,d,null);c=a.rm(b);dh(a,c,b);c=a.sm(b);dh(a,c,b);d=a.Tk(b);if(D.isArray(d))for(var e=D.eb(d),g=0;ga.Vh&&D.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Vh;d&&b&&a.rd("CommittingTransaction",c,a.Cj);var e=0;if(0a.Hj;e--)g=d.ea(e),null!==g&&g.clear(),
-d.jd(e),a.Nz=!0;e=a.fG;0===e&&(e=1);0=e&&(g=d.ea(0),null!==g&&g.clear(),d.jd(0),a.sh--);d.add(b);a.sh++;d.freeze();g=b}a.rd("CommittedTransaction",c,g)}else{a.aj=!0;try{a.isEnabled&&null!==g&&(g.uu=!0,g.undo())}finally{a.rd("RolledBackTransaction",c,g),a.aj=!1}null!==g&&g.clear()}a.Kv=null;return!0}if(a.isEnabled&&!b&&null!==g){a=e;c=g.bg;for(b=c.count-1;b>=a;b--)d=c.ea(b),null!==d&&d.undo(),c.Ya(),c.jd(b);c.freeze()}return!1}
-pg.prototype.canUndo=pg.prototype.canUndo=function(){if(!this.isEnabled||0=this.Vh&&!this.Dz&&(a=a.g,null!==a&&!1===a.$n||D.trace("Change not within a transaction: "+c.toString()))}};
-pg.prototype.skipsEvent=function(a){if(null===a||0>a.Jc.value)return!0;a=a.object;if(a instanceof P){if(a=a.layer,null!==a&&a.Uc)return!0}else if(a instanceof Ug&&a.Uc)return!0;return!1};D.w(pg,{LJ:"models"},function(){return this.Sz.j});D.defineProperty(pg,{isEnabled:"isEnabled"},function(){return this.mf},function(a){this.mf=a});D.w(pg,{hH:"transactionToUndo"},function(){return 0<=this.Hj&&this.Hj<=this.history.count-1?this.history.ea(this.Hj):null});
-D.w(pg,{gH:"transactionToRedo"},function(){return this.Hja.Wh&&D.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Wh;d&&b&&a.rd("CommittingTransaction",c,a.Cj);var e=0;if(0a.Hj;e--)g=d.ea(e),null!==g&&g.clear(),
+d.jd(e),a.Oz=!0;e=a.gG;0===e&&(e=1);0=e&&(g=d.ea(0),null!==g&&g.clear(),d.jd(0),a.th--);d.add(b);a.th++;d.freeze();g=b}a.rd("CommittedTransaction",c,g)}else{a.aj=!0;try{a.isEnabled&&null!==g&&(g.wu=!0,g.undo())}finally{a.rd("RolledBackTransaction",c,g),a.aj=!1}null!==g&&g.clear()}a.Mv=null;return!0}if(a.isEnabled&&!b&&null!==g){a=e;c=g.cg;for(b=c.count-1;b>=a;b--)d=c.ea(b),null!==d&&d.undo(),c.Ya(),c.jd(b);c.freeze()}return!1}
+pg.prototype.canUndo=pg.prototype.canUndo=function(){if(!this.isEnabled||0=this.Wh&&!this.Ez&&(a=a.g,null!==a&&!1===a.$n||D.trace("Change not within a transaction: "+c.toString()))}};
+pg.prototype.skipsEvent=function(a){if(null===a||0>a.Jc.value)return!0;a=a.object;if(a instanceof P){if(a=a.layer,null!==a&&a.Uc)return!0}else if(a instanceof Ug&&a.Uc)return!0;return!1};D.w(pg,{MJ:"models"},function(){return this.Tz.j});D.defineProperty(pg,{isEnabled:"isEnabled"},function(){return this.nf},function(a){this.nf=a});D.w(pg,{iH:"transactionToUndo"},function(){return 0<=this.Hj&&this.Hj<=this.history.count-1?this.history.ea(this.Hj):null});
+D.w(pg,{hH:"transactionToRedo"},function(){return this.Hjb.Ph||(b.scale=a))};oa.prototype.canDecreaseZoom=function(a){void 0===a&&(a=1/this.Oy);D.p(a,oa,"canDecreaseZoom:factor");var b=this.g;if(null===b||b.bm!==Rh)return!1;a*=b.scale;return ab.Ph?!1:b.sx};
-oa.prototype.increaseZoom=function(a){void 0===a&&(a=this.Oy);D.p(a,oa,"increaseZoom:factor");var b=this.g;null!==b&&b.bm===Rh&&(a*=b.scale,ab.Ph||(b.scale=a))};oa.prototype.canIncreaseZoom=function(a){void 0===a&&(a=this.Oy);D.p(a,oa,"canIncreaseZoom:factor");var b=this.g;if(null===b||b.bm!==Rh)return!1;a*=b.scale;return ab.Ph?!1:b.sx};oa.prototype.resetZoom=function(a){void 0===a&&(a=this.Bx);D.p(a,oa,"resetZoom:newscale");var b=this.g;null===b||ab.Ph||(b.scale=a)};
-oa.prototype.canResetZoom=function(a){void 0===a&&(a=this.Bx);D.p(a,oa,"canResetZoom:newscale");var b=this.g;return null===b||ab.Ph?!1:b.sx};oa.prototype.zoomToFit=function(){var a=this.g;if(null!==a){var b=a.scale,c=a.position;b===this.oA&&!isNaN(this.Oz)&&a.dd.P(this.nA)?(a.scale=this.Oz,a.position=this.vD,this.oA=NaN,this.nA=Hd):(this.Oz=b,this.vD=c.copy(),a.zoomToFit(),this.oA=a.scale,this.nA=a.dd.copy())}};oa.prototype.canZoomToFit=function(){var a=this.g;return null===a?!1:a.sx};
-oa.prototype.scrollToPart=function(a){void 0===a&&(a=null);null!==a&&D.l(a,F,oa,"part");var b=this.g;if(null!==b){if(null===a){try{null!==this.rj&&(this.rj.next()?a=this.rj.value:this.rj=null)}catch(c){this.rj=null}null===a&&(0b.Qh||(b.scale=a))};oa.prototype.canDecreaseZoom=function(a){void 0===a&&(a=1/this.Py);D.p(a,oa,"canDecreaseZoom:factor");var b=this.g;if(null===b||b.cm!==Rh)return!1;a*=b.scale;return ab.Qh?!1:b.ux};
+oa.prototype.increaseZoom=function(a){void 0===a&&(a=this.Py);D.p(a,oa,"increaseZoom:factor");var b=this.g;null!==b&&b.cm===Rh&&(a*=b.scale,ab.Qh||(b.scale=a))};oa.prototype.canIncreaseZoom=function(a){void 0===a&&(a=this.Py);D.p(a,oa,"canIncreaseZoom:factor");var b=this.g;if(null===b||b.cm!==Rh)return!1;a*=b.scale;return ab.Qh?!1:b.ux};oa.prototype.resetZoom=function(a){void 0===a&&(a=this.Dx);D.p(a,oa,"resetZoom:newscale");var b=this.g;null===b||ab.Qh||(b.scale=a)};
+oa.prototype.canResetZoom=function(a){void 0===a&&(a=this.Dx);D.p(a,oa,"canResetZoom:newscale");var b=this.g;return null===b||ab.Qh?!1:b.ux};oa.prototype.zoomToFit=function(){var a=this.g;if(null!==a){var b=a.scale,c=a.position;b===this.pA&&!isNaN(this.Pz)&&a.dd.P(this.oA)?(a.scale=this.Pz,a.position=this.vD,this.pA=NaN,this.oA=Hd):(this.Pz=b,this.vD=c.copy(),a.zoomToFit(),this.pA=a.scale,this.oA=a.dd.copy())}};oa.prototype.canZoomToFit=function(){var a=this.g;return null===a?!1:a.ux};
+oa.prototype.scrollToPart=function(a){void 0===a&&(a=null);null!==a&&D.l(a,F,oa,"part");var b=this.g;if(null!==b){if(null===a){try{null!==this.rj&&(this.rj.next()?a=this.rj.value:this.rj=null)}catch(c){this.rj=null}null===a&&(0e||Math.abs(b.y-a.y)>d};D.w(Vg,{g:"diagram"},function(){return this.ba});D.defineProperty(Vg,{name:"name"},function(){return this.Xb},function(a){D.h(a,"string",Vg,"name");this.Xb=a});
-D.defineProperty(Vg,{isEnabled:"isEnabled"},function(){return this.mf},function(a){D.h(a,"boolean",Vg,"isEnabled");this.mf=a});D.defineProperty(Vg,{wa:"isActive"},function(){return this.iD},function(a){D.h(a,"boolean",Vg,"isActive");this.iD=a});D.defineProperty(Vg,{Qf:"transactionResult"},function(){return this.tE},function(a){null!==a&&D.h(a,"string",Vg,"transactionResult");this.tE=a});
-function Qh(){Vg.call(this);0e||Math.abs(b.y-a.y)>d};D.w(Vg,{g:"diagram"},function(){return this.ba});D.defineProperty(Vg,{name:"name"},function(){return this.Yb},function(a){D.h(a,"string",Vg,"name");this.Yb=a});
+D.defineProperty(Vg,{isEnabled:"isEnabled"},function(){return this.nf},function(a){D.h(a,"boolean",Vg,"isEnabled");this.nf=a});D.defineProperty(Vg,{wa:"isActive"},function(){return this.iD},function(a){D.h(a,"boolean",Vg,"isActive");this.iD=a});D.defineProperty(Vg,{Rf:"transactionResult"},function(){return this.tE},function(a){null!==a&&D.h(a,"string",Vg,"transactionResult");this.tE=a});
+function Qh(){Vg.call(this);0e&&(e=k),l>g&&(g=l))}}Infinity===c?b.n(0,0,0,0):b.n(c,d,e-c,g-d)}
-function Oi(a,b){if(null===a.jc){var c=a.g;if(!(null===c||b&&(c.nb||c.Gf))&&null!==a.fc){var d=c.ra;d.isEnabled&&d.UF?null!==d.Cj&&0c.ta)){var d=a.g;if(null!==d&&!d.nb){var e=a.pj;if(null!==e){var g=null,h=null;null===c.aa&&(g=Yi(a,c.m(0),!1),null!==g&&(h=g.Y));var k=null,l=null;null===c.da&&(k=Yi(a,c.m(c.ta-1),!0),null!==k&&(l=k.Y));e.isValidLink(h,g,l,k)?b?(c.gq=c.m(0),c.hq=c.m(c.ta-1),c.zm=!1,c.aa=h,null!==g&&(c.dg=g.ud),c.da=l,null!==k&&(c.jh=k.ud),c.Lc!==a.zw&&d.Ja("LinkRelinked",c,a.zw),c.kd!==a.Aw&&d.Ja("LinkRelinked",c,a.Aw)):Zi(e,h,g,l,k):Zi(e,null,null,null,null)}}}}
+function Oi(a,b){if(null===a.kc){var c=a.g;if(!(null===c||b&&(c.ob||c.Hf))&&null!==a.fc){var d=c.ra;d.isEnabled&&d.VF?null!==d.Cj&&0c.ta)){var d=a.g;if(null!==d&&!d.ob){var e=a.pj;if(null!==e){var g=null,h=null;null===c.aa&&(g=Yi(a,c.m(0),!1),null!==g&&(h=g.Y));var k=null,l=null;null===c.da&&(k=Yi(a,c.m(c.ta-1),!0),null!==k&&(l=k.Y));e.isValidLink(h,g,l,k)?b?(c.gq=c.m(0),c.hq=c.m(c.ta-1),c.Am=!1,c.aa=h,null!==g&&(c.eg=g.ud),c.da=l,null!==k&&(c.kh=k.ud),c.Lc!==a.Bw&&d.Ja("LinkRelinked",c,a.Bw),c.kd!==a.Cw&&d.Ja("LinkRelinked",c,a.Cw)):Zi(e,h,g,l,k):Zi(e,null,null,null,null)}}}}
Qh.prototype.doDragOver=function(){};
-function $i(a,b){var c=a.g;if(null!==c){a.Ej&&Vi(a,!0);Ei(a);var d=Wi(c,b,null,function(b){return!Ti(a,b)}),e=c.U;e.We=d;if(null!==d){e.Mc=!1;for(var g=d;null!==g;){var h=g.lB;if(null!==h&&(h(e,g),e.Mc))break;g=Xi(g)}}else g=c.lB,null!==g&&g(e);if(a.wa||null!==Zh){for(e=(a.jc||a.fc).j;e.next();)g=e.key,g instanceof G&&g.Hd.each(function(a){a.zm=!1});a.doDropOnto(b,d);if(a.wa||null!==Zh){d=D.Of();for(e=c.selection.j;e.next();)g=e.value,g instanceof G&&aj(c,g.getAvoidableRect(d));D.Kb(d)}}}}
-Qh.prototype.doDropOnto=function(){};Qh.prototype.doMouseMove=function(){if(this.wa){var a=this.g;if(null!==a&&null!==this.Nn&&null!==this.fc){var b=!1,c=!1;this.mayCopy()?(b=!0,a.kc="copy",Oi(this,!1),Yh(this,this.jc),Pi(this,this.jc,!1),Fi(this,this.jc)):this.mayMove()?(c=!0,a.kc="default",Ii(this),Pi(this,this.fc,!0)):this.mayDragOut()?(a.kc="no-drop",Oi(this,!1),Pi(this,this.jc,!1)):Ii(this);Ui(this,a.U.ha,c,b)}}};
-Qh.prototype.doMouseUp=function(){if(this.wa){var a=this.g;if(null!==a){var b=!1,c=this.mayCopy();c&&null!==this.jc?(Ii(this),Oi(this,!0),Yh(this,this.jc),Pi(this,this.jc,!1),Fi(this,this.jc),null!==this.jc&&a.OG(this.jc.Yj())):(b=!0,Ii(this),this.mayMove()&&(Pi(this,this.fc,!0),Ui(this,a.U.ha,!0,!1)));this.Lr=!0;$i(this,a.U.ha);if(this.wa){this.jc=null;if(b&&null!==this.fc)for(b=this.fc.j;b.next();){var d=b.key;d instanceof G&&(d=d.Ra,null===d||null===d.placeholder||this.fc.contains(d)||d.placeholder.K())}a.zc();
-Fi(this,this.fc);this.Qf=c?"Copy":"Move";a.Ja(c?"SelectionCopied":"SelectionMoved",a.selection)}this.stopTool()}}};Qh.prototype.mayCopy=function(){if(!this.PF)return!1;var a=this.g;if(null===a||a.nb||a.Gf||!a.Zp||!a.Kk||(D.Wk?!a.U.alt:!a.U.control))return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.oe()&&b.canCopy())return!0}return null!==this.sd&&this.Ej&&this.sd.canCopy()?!0:!1};
-Qh.prototype.mayDragOut=function(){if(!this.PF)return!1;var a=this.g;if(null===a||!a.Tt||!a.Kk||a.Zl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.oe()&&b.canCopy())return!0}return null!==this.sd&&this.Ej&&this.sd.canCopy()?!0:!1};Qh.prototype.mayMove=function(){var a=this.g;if(null===a||a.nb||!a.Zl)return!1;for(a=a.selection.j;a.next();){var b=a.value;if(b.oe()&&b.canMove())return!0}return null!==this.sd&&this.Ej&&this.sd.canMove()?!0:!1};var Gi=new K(Qh),Zh=null,$h=null;
-Qh.prototype.getDraggingSource=function(){return Zh};Qh.prototype.mayDragIn=function(){var a=this.g;if(null===a||!a.HE||a.nb||a.Gf||!a.Zp)return!1;var b=Zh;return null===b||null===b.g||b.g.ga.gm!==a.ga.gm?!1:!0};Qh.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.g;a.Xa.Hi();bj(a);a=Zh;null!==a&&null!==a.g&&(a.g.kc="copy")}};Qh.prototype.doSimulatedDragLeave=function(){var a=Zh;null!==a&&a.doSimulatedDragOut();this.doCancel()};
-Qh.prototype.doSimulatedDragOver=function(){var a=this.g;if(null!==a){var b=Zh;null!==b&&null!==b.fc&&this.mayDragIn()&&(a.kc="copy",cj(this,b.fc.Yj(),!1),Pi(this,this.jc,!1),Ui(this,a.U.ha,!1,!0))}};
-Qh.prototype.doSimulatedDrop=function(){var a=this.g;if(null!==a){var b=Zh;if(null!==b){var c=b.g;b.Lr=!0;Ii(this);this.mayDragIn()&&(this.ac("Drop"),cj(this,b.fc.Yj(),!0),Pi(this,this.jc,!1),null!==this.jc&&a.OG(this.jc.Yj()),$i(this,a.U.ha),a.zc(),b=a.selection,null!==this.jc?this.Qf="ExternalCopy":b=new L(F),this.jc=null,a.doFocus(),a.Ja("ExternalObjectsDropped",b,c),this.dl())}}};
-function cj(a,b,c){if(null===a.jc){var d=a.g;if(null!==d&&!d.nb&&!d.Gf){d.Eb=!c;d.ar=!c;a.cl=d.U.ha;c=d.fq(b,d,!0);var e=D.Of();Ni(b,e);var d=e.x+e.width/2,g=e.y+e.height/2;D.Kb(e);var e=a.Ww,h=new ma(F),k=D.O();for(b=b.j;b.next();){var l=b.value,m=c.na(l);l.oe()&&l.canCopy()?(l=l.location,k.n(e.x-(d-l.x),e.y-(g-l.y)),m.location=k,m.hf(),h.add(m,pi(k))):l instanceof J&&l.canCopy()&&(m.$k(e.x-d,e.y-g),h.add(m,pi()))}D.A(k);a.jc=h;Xh(a,h.Yj());null!==a.sd&&(c=a.sd,d=c.ro,c.$k(a.cl.x-(d.x+d.width/2),
-a.cl.y-(d.y+d.height/2)))}}}Qh.prototype.doSimulatedDragOut=function(){var a=this.g;null!==a&&(this.mayCopy()||this.mayMove()?a.kc="":a.kc="no-drop")};function Ci(a){this.point=a;this.UG=Gd}D.ja("DraggingInfo",Ci);function Qi(a,b,c){this.Wc=a;this.info=b;this.VI=c}
-function dj(){0=d&&(d=.1);for(var e=this,g=b.Qn(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.Y;if(k instanceof G){var l=h.eb(hc,D.O()),m=c.x-l.x,n=c.y-l.y;D.A(l);l=m*m+n*n;lc){if(null!==this.sc&&a===this.ah&&b===this.bh)return!0;var d=b.ud;null===d&&(d="");if(a.Jx(d).count>=c)return!1}return!0};
-dj.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.yq;if(null!==this.g&&this.g.gb===this&&(null!==a.layer&&!a.layer.Ut||!0!==b.cH))return!1;var c=b.xK;if(Infinity>c){if(null!==this.sc&&a===this.dh&&b===this.eh)return!0;var d=b.ud;null===d&&(d="");if(a.Xg(d).count>=c)return!1}return!0};dj.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.Y,d=b.Y;return null!==c&&c===d};
-dj.prototype.isLinked=function(a,b){if(null===a||null===b)return!1;var c=a.Y;if(!(c instanceof G))return!1;var d=a.ud;null===d&&(d="");var e=b.Y;if(!(e instanceof G))return!1;var g=b.ud;null===g&&(g="");for(e=e.Xg(g);e.next();)if(g=e.value,g.aa===c&&g.dg===d)return!0;return!1};
-dj.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.KI&&d.wK||!this.isInSameNode(b,d))&&(b.JI&&d.vK||!this.isLinked(b,d)))||null!==this.sc&&(null!==a&&this.isLabelDependentOnLink(a,this.sc)||null!==c&&this.isLabelDependentOnLink(c,this.sc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.sc))return!1;if(null!==a){var e=a.iy;if(null!==e&&!e(a,b,c,d,this.sc))return!1}if(null!==
-c&&(e=c.iy,null!==e&&!e(a,b,c,d,this.sc)))return!1;e=this.iy;return null!==e?e(a,b,c,d,this.sc):!0};dj.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Ac;if(null===c)return!1;if(c===b)return!0;var d=new L(G);d.add(a);return ej(this,c,b,d)};function ej(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.uf&&(d.add(e),ej(a,e.Ac,c,d)))return!0;b=b.da;return null!==b&&b.uf&&(d.add(b),ej(a,b.Ac,c,d))?!0:!1}
-dj.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.yq;var d=null!==this.g?this.g.DK:fj;if(d!==fj){if(d===gj){if(null!==c&&!c.Vc)return!0;for(d=b.Hd;d.next();){var e=d.value;if(e!==c&&e.Vc&&e.da===b)return!1}return!hj(this,a,b,c,!0)}if(d===ij){if(null!==c&&!c.Vc)return!0;for(d=a.Hd;d.next();)if(e=d.value,e!==c&&e.Vc&&e.aa===a)return!1;return!hj(this,a,b,c,!0)}if(d===jj)return a===b?a=!0:(d=new L(G),d.add(b),a=kj(this,d,a,b,c)),!a;if(d===lj)return!hj(this,
+D.defineProperty(dj,{bh:"originalFromNode"},function(){return this.MD},function(a){null!==a&&D.l(a,G,dj,"originalFromNode");this.MD=a});D.defineProperty(dj,{dh:"originalFromPort"},function(){return this.ND},function(a){null!==a&&D.l(a,P,dj,"originalFromPort");this.ND=a});D.defineProperty(dj,{eh:"originalToNode"},function(){return this.RD},function(a){null!==a&&D.l(a,G,dj,"originalToNode");this.RD=a});
+D.defineProperty(dj,{fh:"originalToPort"},function(){return this.SD},function(a){null!==a&&D.l(a,P,dj,"originalToPort");this.SD=a});D.defineProperty(dj,{Yd:"isForwards"},function(){return this.pD},function(a){D.h(a,"boolean",dj,"isForwards");this.pD=a});D.w(dj,{Ny:"validPortsCache"},function(){return this.IH});D.defineProperty(dj,{Of:"targetPort"},function(){return this.hE},function(a){null!==a&&D.l(a,P,dj,"targetPort");this.hE=a});
+dj.prototype.copyPortProperties=function(a,b,c,d,e){if(null!==a&&null!==b&&null!==c&&null!==d){d.Ea=b.$.size;e?(d.Hb=b.Hb,d.Em=b.Em):(d.Gb=b.Gb,d.pm=b.pm);c.Mf=hc;var g=D.O();c.location=b.fb(hc,g);D.A(g);d.angle=b.qm();null!==this.vy&&this.vy(a,b,c,d,e)}};dj.prototype.setNoTargetPortProperties=function(a,b,c){null!==b&&(b.Ea=Yd,b.Gb=$b,b.Hb=$b);null!==a&&null!==this.g&&(a.location=this.g.U.ha);null!==this.vy&&this.vy(null,null,a,b,c)};dj.prototype.doMouseDown=function(){this.wa&&this.doMouseMove()};
+dj.prototype.doMouseMove=function(){if(this.wa){var a=this.g;if(null!==a){this.Of=this.findTargetPort(this.Yd);if(null!==this.Of&&this.Of.Y instanceof G){var b=this.Of.Y;this.Yd?this.copyPortProperties(b,this.Of,this.be,this.yo,!0):this.copyPortProperties(b,this.Of,this.ae,this.xo,!1)}else this.Yd?this.setNoTargetPortProperties(this.be,this.yo,!0):this.setNoTargetPortProperties(this.ae,this.xo,!1);(a.ye||a.ze)&&a.GA(a.U.qe)}}};
+dj.prototype.findValidLinkablePort=function(a,b){if(null===a)return null;var c=a.Y;if(!(c instanceof G))return null;for(;null!==a;){var d=b?a.dH:a.vF;if(!0===d&&(null!==a.ud||a instanceof G)&&(b?this.isValidTo(c,a):this.isValidFrom(c,a)))return a;if(!1===d)break;a=a.Q}return null};
+dj.prototype.findTargetPort=function(a){var b=this.g,c=b.U.ha,d=this.tG;0>=d&&(d=.1);for(var e=this,g=b.Qn(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.Y;if(k instanceof G){var l=h.fb(hc,D.O()),m=c.x-l.x,n=c.y-l.y;D.A(l);l=m*m+n*n;lc){if(null!==this.sc&&a===this.bh&&b===this.dh)return!0;var d=b.ud;null===d&&(d="");if(a.Lx(d).count>=c)return!1}return!0};
+dj.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.yq;if(null!==this.g&&this.g.hb===this&&(null!==a.layer&&!a.layer.Ut||!0!==b.dH))return!1;var c=b.yK;if(Infinity>c){if(null!==this.sc&&a===this.eh&&b===this.fh)return!0;var d=b.ud;null===d&&(d="");if(a.Yg(d).count>=c)return!1}return!0};dj.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.Y,d=b.Y;return null!==c&&c===d};
+dj.prototype.isLinked=function(a,b){if(null===a||null===b)return!1;var c=a.Y;if(!(c instanceof G))return!1;var d=a.ud;null===d&&(d="");var e=b.Y;if(!(e instanceof G))return!1;var g=b.ud;null===g&&(g="");for(e=e.Yg(g);e.next();)if(g=e.value,g.aa===c&&g.eg===d)return!0;return!1};
+dj.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.LI&&d.xK||!this.isInSameNode(b,d))&&(b.KI&&d.wK||!this.isLinked(b,d)))||null!==this.sc&&(null!==a&&this.isLabelDependentOnLink(a,this.sc)||null!==c&&this.isLabelDependentOnLink(c,this.sc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.sc))return!1;if(null!==a){var e=a.jy;if(null!==e&&!e(a,b,c,d,this.sc))return!1}if(null!==
+c&&(e=c.jy,null!==e&&!e(a,b,c,d,this.sc)))return!1;e=this.jy;return null!==e?e(a,b,c,d,this.sc):!0};dj.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Ac;if(null===c)return!1;if(c===b)return!0;var d=new L(G);d.add(a);return ej(this,c,b,d)};function ej(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.vf&&(d.add(e),ej(a,e.Ac,c,d)))return!0;b=b.da;return null!==b&&b.vf&&(d.add(b),ej(a,b.Ac,c,d))?!0:!1}
+dj.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.yq;var d=null!==this.g?this.g.EK:fj;if(d!==fj){if(d===gj){if(null!==c&&!c.Vc)return!0;for(d=b.Hd;d.next();){var e=d.value;if(e!==c&&e.Vc&&e.da===b)return!1}return!hj(this,a,b,c,!0)}if(d===ij){if(null!==c&&!c.Vc)return!0;for(d=a.Hd;d.next();)if(e=d.value,e!==c&&e.Vc&&e.aa===a)return!1;return!hj(this,a,b,c,!0)}if(d===jj)return a===b?a=!0:(d=new L(G),d.add(b),a=kj(this,d,a,b,c)),!a;if(d===lj)return!hj(this,
a,b,c,!1);if(d===mj)return a===b?a=!0:(d=new L(G),d.add(b),a=nj(this,d,a,b,c)),!a}return!0};function hj(a,b,c,d,e){if(b===c)return!0;if(null===b||null===c)return!1;for(var g=b.Hd;g.next();){var h=g.value;if(h!==d&&(!e||h.Vc)&&h.da===b&&(h=h.aa,h!==b&&hj(a,h,c,d,e)))return!0}return!1}function kj(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.Hd;g.next();){var h=g.value;if(h!==e&&h.da===c&&(h=h.aa,h!==c&&kj(a,b,h,d,e)))return!0}return!1}
-function nj(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.Hd;g.next();){var h=g.value;if(h!==e){var k=h.aa,h=h.da,k=k===c?h:k;if(k!==c&&nj(a,b,k,d,e))return!0}}return!1}D.defineProperty(dj,{iy:"linkValidation"},function(){return this.Il},function(a){null!==a&&D.h(a,"function",dj,"linkValidation");this.Il=a});D.defineProperty(dj,{uy:"portTargeted"},function(){return this.VD},function(a){null!==a&&D.h(a,"function",dj,"portTargeted");this.VD=a});
-function ra(){0b.iu+1&&cb.iu+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?
-"ne-resize":"e-resize"}else if(a instanceof x)for(c=a.elements;c.next();)this.updateResizeHandles(c.value,b)};D.defineProperty(Uj,{qu:"handleArchetype"},function(){return this.xl},function(a){null!==a&&D.l(a,P,Uj,"handleArchetype");this.xl=a});D.w(Uj,{handle:"handle"},function(){return this.nc});D.defineProperty(Uj,{zb:"adornedObject"},function(){return this.Qc},function(a){null!==a&&D.l(a,P,Uj,"adornedObject");this.Qc=a});
-Uj.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.g;return null!==a&&!a.nb&&a.Vt&&a.U.left?null!==this.findToolHandleAt(a.Kc.ha,this.name):!1};
-Uj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.nc=this.findToolHandleAt(a.Kc.ha,this.name),null!==this.nc&&(this.Qc=this.nc.Y.zb,this.Ep.set(this.zb.eb(this.handle.alignment.nG())),this.QD.set(this.Qc.Y.location),this.LD.set(this.Qc.Ea),this.zz=this.computeCellSize(),this.Bz=this.computeMinSize(),this.Az=this.computeMaxSize(),a.jf=!0,this.HD=a.Xa.isEnabled,a.Xa.isEnabled=!1,this.ac(this.name),this.wa=!0))};
-Uj.prototype.doDeactivate=function(){var a=this.g;null!==a&&(this.dl(),this.Qc=this.nc=null,this.wa=a.jf=!1,a.Xa.isEnabled=this.HD)};Uj.prototype.doCancel=function(){null!==this.zb&&(this.zb.Ea=this.oG,this.zb.Y.location=this.SJ);this.stopTool()};Uj.prototype.doMouseMove=function(){var a=this.g;if(this.wa&&null!==a){var b=this.Bz,c=this.Az,d=this.zz,e=this.zb.xF(a.U.ha,D.O()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);a.hg();D.A(e)}};
-Uj.prototype.doMouseUp=function(){var a=this.g;if(this.wa&&null!==a){var b=this.Bz,c=this.Az,d=this.zz,e=this.zb.xF(a.U.ha,D.O()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);D.A(e);a.zc();this.Qf=this.name;a.Ja("PartResized",this.zb,this.oG)}this.stopTool()};
-Uj.prototype.resize=function(a){if(null!==this.g){var b=this.zb,c=b.Y;b.Ea=a.size;c.hf();a=this.zb.eb(this.handle.alignment.nG());c instanceof I?(a=c.position.copy().wo(a).add(this.Ep),c.move(a)):c.location=c.location.copy().wo(a).add(this.Ep)}};
+"ne-resize":"e-resize"}else if(a instanceof x)for(c=a.elements;c.next();)this.updateResizeHandles(c.value,b)};D.defineProperty(Uj,{su:"handleArchetype"},function(){return this.yl},function(a){null!==a&&D.l(a,P,Uj,"handleArchetype");this.yl=a});D.w(Uj,{handle:"handle"},function(){return this.oc});D.defineProperty(Uj,{zb:"adornedObject"},function(){return this.Qc},function(a){null!==a&&D.l(a,P,Uj,"adornedObject");this.Qc=a});
+Uj.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.g;return null!==a&&!a.ob&&a.Vt&&a.U.left?null!==this.findToolHandleAt(a.Kc.ha,this.name):!1};
+Uj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.oc=this.findToolHandleAt(a.Kc.ha,this.name),null!==this.oc&&(this.Qc=this.oc.Y.zb,this.Ep.set(this.zb.fb(this.handle.alignment.oG())),this.QD.set(this.Qc.Y.location),this.LD.set(this.Qc.Ea),this.Az=this.computeCellSize(),this.Cz=this.computeMinSize(),this.Bz=this.computeMaxSize(),a.kf=!0,this.HD=a.Xa.isEnabled,a.Xa.isEnabled=!1,this.ac(this.name),this.wa=!0))};
+Uj.prototype.doDeactivate=function(){var a=this.g;null!==a&&(this.el(),this.Qc=this.oc=null,this.wa=a.kf=!1,a.Xa.isEnabled=this.HD)};Uj.prototype.doCancel=function(){null!==this.zb&&(this.zb.Ea=this.pG,this.zb.Y.location=this.TJ);this.stopTool()};Uj.prototype.doMouseMove=function(){var a=this.g;if(this.wa&&null!==a){var b=this.Cz,c=this.Bz,d=this.Az,e=this.zb.yF(a.U.ha,D.O()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);a.ig();D.A(e)}};
+Uj.prototype.doMouseUp=function(){var a=this.g;if(this.wa&&null!==a){var b=this.Cz,c=this.Bz,d=this.Az,e=this.zb.yF(a.U.ha,D.O()),g=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,g);this.resize(b);D.A(e);a.zc();this.Rf=this.name;a.Ja("PartResized",this.zb,this.pG)}this.stopTool()};
+Uj.prototype.resize=function(a){if(null!==this.g){var b=this.zb,c=b.Y;b.Ea=a.size;c.jf();a=this.zb.fb(this.handle.alignment.oG());c instanceof I?(a=c.position.copy().wo(a).add(this.Ep),c.move(a)):c.location=c.location.copy().wo(a).add(this.Ep)}};
Uj.prototype.computeResize=function(a,b,c,d,e,g){b.Zd()&&(b=hc);var h=this.zb.Ga,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=D.O();fb(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)));D.A(q);return a};Uj.prototype.computeReshape=function(){var a=Xj;this.zb instanceof z&&(a=Yj(this.zb));return!(a===Zj||a===ak||null!==this.g&&this.g.U.shift)};Uj.prototype.computeMinSize=function(){var a=this.zb.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};
-Uj.prototype.computeMaxSize=function(){var a=this.zb.kf.copy(),b=this.kf;!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};D.defineProperty(bk,{oK:"snapAngleMultiple"},function(){return this.aE},function(a){D.h(a,"number",bk,"snapAngleMultiple");this.aE=a});
-D.defineProperty(bk,{nK:"snapAngleEpsilon"},function(){return this.$D},function(a){D.h(a,"number",bk,"snapAngleEpsilon");this.$D=a});D.w(bk,{gM:"originalAngle"},function(){return this.Bw});function dk(){Vg.call(this);0a.width&&(a.width=b.width);!isNaN(b.height)&&b.height>a.height&&(a.height=b.height);return a};
+Uj.prototype.computeMaxSize=function(){var a=this.zb.lf.copy(),b=this.lf;!isNaN(b.width)&&b.widtha&&(a+=360));var b=Math.min(Math.abs(this.pK),180),c=Math.min(Math.abs(this.oK),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};D.defineProperty(bk,{pK:"snapAngleMultiple"},function(){return this.aE},function(a){D.h(a,"number",bk,"snapAngleMultiple");this.aE=a});
+D.defineProperty(bk,{oK:"snapAngleEpsilon"},function(){return this.$D},function(a){D.h(a,"number",bk,"snapAngleEpsilon");this.$D=a});D.w(bk,{iM:"originalAngle"},function(){return this.Dw});function dk(){Vg.call(this);0e.right&&(c.x-=d.width+5);c.xe.bottom&&(c.y-=d.height+5);c.ye.right&&(c.x-=d.width+5);c.xe.bottom&&(c.y-=d.height+5);c.ya.U.Oe?!1:!0};ok.prototype.doStart=function(){this.wa||null===this.ih||this.doActivate()};
-ok.prototype.doActivate=function(){if(!this.wa){var a=this.g;if(null!==a){var b=this.ih;null===b&&(b=a.Ge(a.U.ha,function(a){return a instanceof na?a:null}));if(null!==b&&(this.ih=b,null!==b.Y)){this.wa=!0;this.$a=xk;var c=this.rI;null!==b.bH&&(c=b.bH);this.Ck=this.ih.copy();var d=new B(this.ih.eb(dc),this.ih.eb(uc));a.hK(d);if(c instanceof fk)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.Fy&&(c.select(),c.setSelectionRange(0,9999));a.Dj.appendChild(c)}this.Bj=c}}}};ok.prototype.doCancel=function(){null!==this.Nl&&this.Bj instanceof HTMLElement&&(this.Bj.style.border=this.Nl,this.Nl=null);this.stopTool()};ok.prototype.doMouseUp=function(){!this.wa&&this.canStart()&&this.doActivate()};ok.prototype.doMouseDown=function(){this.wa&&this.acceptText(tk)};
-ok.prototype.acceptText=function(a){switch(a){case tk:if(this.$a===Bk)this.Bj instanceof HTMLElement&&this.Bj.focus();else if(this.$a===xk||this.$a===Ak||this.$a===yk)this.$a=zk,Ek(this);break;case sk:case vk:case uk:if(vk===a&&!0===this.hA.Zx)break;if(this.$a===xk||this.$a===Ak||this.$a===yk)this.$a=zk,Ek(this)}};
-function Ek(a){var b=a.ih,c=a.g,d=a.Bj;if(null!==b&&null!==d){var e=b.text,g="";d instanceof fk?null!==d.bC&&(g=d.bC()):(g=d.value,g="function"===typeof g?g():g);a.isValidText(b,e,g)?(a.ac(a.name),a.$a=Bk,d instanceof fk?d.show(b,c,a):null!==a.Nl&&(d.style.border=a.Nl,a.Nl=null),a.Qf=a.name,b.text=g,null!==b.aH&&b.aH(b,e,g),null!==c&&c.Ja("TextEdited",b,e),a.dl(),a.stopTool(),null!==c&&c.doFocus()):(a.$a=Ak,null!==b.KA&&b.KA(a,e,g),d instanceof fk?d.show(b,c,a):(null===a.Nl&&(a.Nl=d.style.border,
-d.style.border="3px solid red"),"function"===typeof d.focus&&d.focus()))}}ok.prototype.doDeactivate=function(){var a=this.g;if(null!==a){this.$a=qk;this.ih=null;if(null!==this.Bj){var b=this.Bj;if(b instanceof fk)b.Xn(a,this);else{if("function"===typeof b.onDeactivate)b.onDeactivate();null!==b&&a.Dj.removeChild(b)}}this.wa=!1}};ok.prototype.doFocus=function(){v&&D.Pn("TextEditingTool.doFocus","2.0");Ck(this)};ok.prototype.doBlur=function(){v&&D.Pn("TextEditingTool.doBlur","2.0");Dk(this)};
-function Ck(a){if(null!==a.Bj){var b=a.nz;a.$a===xk&&(a.$a=yk);"function"===typeof b.select&&a.Fy&&(b.select(),b.setSelectionRange(0,9999))}}function Dk(a){if(null!==a.Bj){var b=a.nz;"function"===typeof b.focus&&b.focus();"function"===typeof b.select&&a.Fy&&(b.select(),b.setSelectionRange(0,9999))}}ok.prototype.isValidText=function(a,b,c){D.l(a,na,ok,"isValidText:textblock");var d=this.RB;if(null!==d&&!d(a,b,c))return!1;d=a.RB;return null===d||d(a,b,c)?!0:!1};
-D.defineProperty(ok,{RB:"textValidation"},function(){return this.Sl},function(a){null!==a&&D.h(a,"function",ok,"textValidation");this.Sl=a});D.defineProperty(ok,{iG:"minimumEditorScale"},function(){return this.BD},function(a){null!==a&&D.h(a,"number",ok,"minimumEditorScale");this.BD=a});D.defineProperty(ok,{Fy:"selectsTextOnActivate"},function(){return this.YD},function(a){null!==a&&D.h(a,"boolean",ok,"selectsTextOnActivate");this.YD=a});
-D.defineProperty(ok,{state:"state"},function(){return this.$a},function(a){this.$a!==a&&(D.Da(a,ok,ok,"starting"),this.$a=a)});ok.prototype.measureTemporaryTextBlock=ok.prototype.GJ=function(a){var b=this.Ck;b.text=a;Fk(b,this.ih.vp,Infinity);return b};function Lh(){Vg.call(this);this.name="ToolManager";this.xH=new K(Vg);this.yH=new K(Vg);this.zH=new K(Vg);this.fD=this.gD=850;this.VC=(new Ca(2,2)).Na();this.qE=5E3;this.FD=Wh;this.dD=Gk;this.Jv=this.JC=null;this.xn=-1}D.Sa(Lh,Vg);
-D.ja("ToolManager",Lh);var Wh;Lh.WheelScroll=Wh=D.s(Lh,"WheelScroll",0);var Vh;Lh.WheelZoom=Vh=D.s(Lh,"WheelZoom",1);Lh.WheelNone=D.s(Lh,"WheelNone",2);var Gk;Lh.GestureZoom=Gk=D.s(Lh,"GestureZoom",3);var Hk;Lh.GestureCancel=Hk=D.s(Lh,"GestureCancel",4);var Ik;Lh.GestureNone=Ik=D.s(Lh,"GestureNone",5);D.defineProperty(Lh,{Ku:"mouseWheelBehavior"},function(){return this.FD},function(a){D.Da(a,Lh,Lh,"mouseWheelBehavior");this.FD=a});
-D.defineProperty(Lh,{pq:"gestureBehavior"},function(){return this.dD},function(a){D.Da(a,Lh,Lh,"gestureBehavior");this.dD=a});Lh.prototype.initializeStandardTools=function(){this.JH=new ek;this.uG=new ai;this.yJ=new Cj;this.HG=new Uj;this.eK=new bk;this.eG=new ra;this.De=new Qh;this.vI=new mk;this.TJ=new nk;this.yA=new hk;this.QB=new ok;this.$H=new ta;this.aI=new dk};
-Lh.prototype.updateAdornments=function(a){var b=this.fm;if(b instanceof da&&this.Jv===a){var c=b.zb;(null!==a?c.Y===a:null===c)?this.showToolTip(b,c):this.hideToolTip()}};
-Lh.prototype.doMouseDown=function(){var a=this.g;if(null!==a){var b=a.U;b.Mj&&this.pq===Hk&&(b.bubbles=!1);if(b.yu){this.cancelWaitAfter();if(this.pq===Ik){b.bubbles=!0;return}if(this.pq===Hk)return;if(a.gb.canStartMultiTouch()){a.gb.standardPinchZoomStart();return}}var c=a.ra;c.uA&&0!==c.Vh&&D.trace("WARNING: In ToolManager.doMouseDown: UndoManager.transactionLevel is not zero");for(var c=this.lf.length,d=0;da.U.Oe?!1:!0};ok.prototype.doStart=function(){this.wa||null===this.jh||this.doActivate()};
+ok.prototype.doActivate=function(){if(!this.wa){var a=this.g;if(null!==a){var b=this.jh;null===b&&(b=a.Ge(a.U.ha,function(a){return a instanceof na?a:null}));if(null!==b&&(this.jh=b,null!==b.Y)){this.wa=!0;this.$a=xk;var c=this.sI;null!==b.cH&&(c=b.cH);this.Dk=this.jh.copy();var d=new B(this.jh.fb(dc),this.jh.fb(uc));a.iK(d);if(c instanceof fk)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.Gy&&(c.select(),c.setSelectionRange(0,9999));a.Dj.appendChild(c)}this.Bj=c}}}};ok.prototype.doCancel=function(){null!==this.Ol&&this.Bj instanceof HTMLElement&&(this.Bj.style.border=this.Ol,this.Ol=null);this.stopTool()};ok.prototype.doMouseUp=function(){!this.wa&&this.canStart()&&this.doActivate()};ok.prototype.doMouseDown=function(){this.wa&&this.acceptText(tk)};
+ok.prototype.acceptText=function(a){switch(a){case tk:if(this.$a===Bk)this.Bj instanceof HTMLElement&&this.Bj.focus();else if(this.$a===xk||this.$a===Ak||this.$a===yk)this.$a=zk,Ek(this);break;case sk:case vk:case uk:if(vk===a&&!0===this.iA.$x)break;if(this.$a===xk||this.$a===Ak||this.$a===yk)this.$a=zk,Ek(this)}};
+function Ek(a){var b=a.jh,c=a.g,d=a.Bj;if(null!==b&&null!==d){var e=b.text,g="";d instanceof fk?null!==d.bC&&(g=d.bC()):(g=d.value,g="function"===typeof g?g():g);a.isValidText(b,e,g)?(a.ac(a.name),a.$a=Bk,d instanceof fk?d.show(b,c,a):null!==a.Ol&&(d.style.border=a.Ol,a.Ol=null),a.Rf=a.name,b.text=g,null!==b.bH&&b.bH(b,e,g),null!==c&&c.Ja("TextEdited",b,e),a.el(),a.stopTool(),null!==c&&c.doFocus()):(a.$a=Ak,null!==b.LA&&b.LA(a,e,g),d instanceof fk?d.show(b,c,a):(null===a.Ol&&(a.Ol=d.style.border,
+d.style.border="3px solid red"),"function"===typeof d.focus&&d.focus()))}}ok.prototype.doDeactivate=function(){var a=this.g;if(null!==a){this.$a=qk;this.jh=null;if(null!==this.Bj){var b=this.Bj;if(b instanceof fk)b.Xn(a,this);else{if("function"===typeof b.onDeactivate)b.onDeactivate();null!==b&&a.Dj.removeChild(b)}}this.wa=!1}};ok.prototype.doFocus=function(){v&&D.Pn("TextEditingTool.doFocus","2.0");Ck(this)};ok.prototype.doBlur=function(){v&&D.Pn("TextEditingTool.doBlur","2.0");Dk(this)};
+function Ck(a){if(null!==a.Bj){var b=a.oz;a.$a===xk&&(a.$a=yk);"function"===typeof b.select&&a.Gy&&(b.select(),b.setSelectionRange(0,9999))}}function Dk(a){if(null!==a.Bj){var b=a.oz;"function"===typeof b.focus&&b.focus();"function"===typeof b.select&&a.Gy&&(b.select(),b.setSelectionRange(0,9999))}}ok.prototype.isValidText=function(a,b,c){D.l(a,na,ok,"isValidText:textblock");var d=this.RB;if(null!==d&&!d(a,b,c))return!1;d=a.RB;return null===d||d(a,b,c)?!0:!1};
+D.defineProperty(ok,{RB:"textValidation"},function(){return this.Tl},function(a){null!==a&&D.h(a,"function",ok,"textValidation");this.Tl=a});D.defineProperty(ok,{jG:"minimumEditorScale"},function(){return this.BD},function(a){null!==a&&D.h(a,"number",ok,"minimumEditorScale");this.BD=a});D.defineProperty(ok,{Gy:"selectsTextOnActivate"},function(){return this.YD},function(a){null!==a&&D.h(a,"boolean",ok,"selectsTextOnActivate");this.YD=a});
+D.defineProperty(ok,{state:"state"},function(){return this.$a},function(a){this.$a!==a&&(D.Da(a,ok,ok,"starting"),this.$a=a)});ok.prototype.measureTemporaryTextBlock=ok.prototype.HJ=function(a){var b=this.Dk;b.text=a;Fk(b,this.jh.vp,Infinity);return b};function Lh(){Vg.call(this);this.name="ToolManager";this.yH=new K(Vg);this.zH=new K(Vg);this.AH=new K(Vg);this.fD=this.gD=850;this.VC=(new Ca(2,2)).Na();this.qE=5E3;this.FD=Wh;this.dD=Rk;this.Lv=this.JC=null;this.xn=-1}D.Sa(Lh,Vg);
+D.ka("ToolManager",Lh);var Wh;Lh.WheelScroll=Wh=D.s(Lh,"WheelScroll",0);var Vh;Lh.WheelZoom=Vh=D.s(Lh,"WheelZoom",1);Lh.WheelNone=D.s(Lh,"WheelNone",2);var Rk;Lh.GestureZoom=Rk=D.s(Lh,"GestureZoom",3);var Sk;Lh.GestureCancel=Sk=D.s(Lh,"GestureCancel",4);var Tk;Lh.GestureNone=Tk=D.s(Lh,"GestureNone",5);D.defineProperty(Lh,{Mu:"mouseWheelBehavior"},function(){return this.FD},function(a){D.Da(a,Lh,Lh,"mouseWheelBehavior");this.FD=a});
+D.defineProperty(Lh,{pq:"gestureBehavior"},function(){return this.dD},function(a){D.Da(a,Lh,Lh,"gestureBehavior");this.dD=a});Lh.prototype.initializeStandardTools=function(){this.KH=new ek;this.vG=new ai;this.zJ=new Nj;this.IG=new Uj;this.fK=new bk;this.fG=new ra;this.De=new Qh;this.wI=new mk;this.UJ=new nk;this.zA=new hk;this.QB=new ok;this.aI=new ta;this.bI=new dk};
+Lh.prototype.updateAdornments=function(a){var b=this.gm;if(b instanceof da&&this.Lv===a){var c=b.zb;(null!==a?c.Y===a:null===c)?this.showToolTip(b,c):this.hideToolTip()}};
+Lh.prototype.doMouseDown=function(){var a=this.g;if(null!==a){var b=a.U;b.Mj&&this.pq===Sk&&(b.bubbles=!1);if(b.Au){this.cancelWaitAfter();if(this.pq===Tk){b.bubbles=!0;return}if(this.pq===Sk)return;if(a.hb.canStartMultiTouch()){a.hb.standardPinchZoomStart();return}}var c=a.ra;c.vA&&0!==c.Wh&&D.trace("WARNING: In ToolManager.doMouseDown: UndoManager.transactionLevel is not zero");for(var c=this.mf.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}D.w(gh,{cL:"animationReasons"},function(){return this.vv});
-gh.prototype.canStart=function(){return!0};gh.prototype.prepareAutomaticAnimation=gh.prototype.po=function(a){this.mf&&(this.ok||this.ba.$n)&&(this.vv.add(a),this.canStart(a)&&(this.nk&&this.Hi(),this.wc=!0))};function cl(a){if(a.mf&&(a.vv.clear(),a.wc))if(!a.Io)a.wc=!1;else if(0===a.Ho){var b=+new Date;a.Ho=b;requestAnimationFrame(function(){if(!1!==a.wc&&!a.nk&&a.Ho===b){var c=a.ba;c.Gj("temporaryPixelRatio")&&(c.Bk=1);dl(c);a.wc=!1;c.Ja("AnimationStarting");el(a,b)}})}}
-function fl(a,b,c,d,e,g){if(a.wc&&(v&&D.l(b,P,gh,"addPropToAnimation:obj"),!("position"===c&&d.P(e)||b instanceof F&&!b.NF))){var h=a.gn;if(h.contains(b)){var h=h.na(b),k=h.start,l=h.end;void 0===k[c]&&(k[c]=gl(d));h.yx&&void 0!==l[c]?h.eu[c]=gl(e):(g||(h.eu[c]=gl(e)),l[c]=gl(e));g&&0===c.indexOf("position:")&&b instanceof F&&(h.eu.location=gl(b.location))}else k=new la,l=new la,k[c]=gl(d),l[c]=gl(e),d=l,e=k.position,e instanceof O&&!e.F()&&a.vv.contains("Expand SubGraph")&&e.assign(d.position),k=
-new bl(k,l,g),g&&0===c.indexOf("position:")&&b instanceof F&&(k.eu.location=gl(b.location)),h.add(b,k);a.Io=!0}}function gl(a){return a instanceof O?a.copy():a instanceof Ca?a.copy():a}
-function el(a,b){var c;function d(){if(!1!==g.nk&&g.Ho===b){var a=+new Date,c=a>s?m:a-r;hl(g);il(g,e,q,h,c,m);g.Gv&&g.Gv();bj(e);jl(g);a>s?kl(g):requestAnimationFrame(d)}}void 0===c&&(c=new la);var e=a.ba;if(null!==e){a.nk=!0;var g=a,h=c.FL||a.KC,k=c.eM||null,l=c.fM||null,m=c.duration||a.wz,n=a.AH;for(c=a.gn.j;c.next();){var p=c.value.start.position;p instanceof O&&(p.F()||p.assign(n))}a.FC=h;a.Gv=k;a.Hv=l;a.EC=m;a.Iv=a.gn;var q=a.Iv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l=
-k["position:placeholder"],n=l.eb(dc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);hl(a);il(a,e,q,h,0,m);bj(a.ba);jl(a);var r=+new Date,s=r+m;g.Ho===b&&requestAnimationFrame(function(){d()})}}function hl(a){if(!a.pp){var b=a.ba;a.uE=b.Eb;a.sC=b.Ue;a.tC=b.cv;b.Eb=!0;b.Ue=!0;b.cv=!0;a.pp=!0}}function jl(a){var b=a.ba;b.Eb=a.uE;b.Ue=a.sC;b.cv=a.tC;a.pp=!1}
-function il(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!==ll[m])ll[m](h,l[m],k[m],d,e,g)}d=b.aB;b.aB=!0;m=a.KC;0!==a.Jr&&0!==a.Ir&&(c=a.Jr,b.Bb=m(e,c,a.Ir-c,g));null!==a.Hr&&null!==a.Gr&&(c=a.Hr,a=a.Gr,b.rb=new O(m(e,c.x,a.x-c.x,g),m(e,c.y,a.y-c.y,g)));b.aB=d}
-gh.prototype.stopAnimation=gh.prototype.Hi=function(){!0===this.wc&&(this.wc=!1,this.Io&&this.ba.Se());this.nk&&this.mf&&kl(this)};
-function kl(a){a.nk=!1;a.Io=!1;hl(a);for(var b=a.ba,c=a.FC,d=a.EC,e=a.Iv.j;e.next();){var g=e.key,h=e.value,k=h.start,l=h.end,m=h.eu,n;for(n in l)if(void 0!==ll[n]){var p=n;!h.yx||"position:node"!==p&&"position:placeholder"!==p||(p="position");ll[p](g,k[n],void 0!==m[n]?m[n]:h.yx?k[n]:l[n],c,d,d)}h.yx&&void 0!==m.location&&g instanceof F&&(g.location=m.location);h.xy&&g instanceof F&&g.Jd(!1)}for(c=a.ba.links;c.next();)d=c.value,null!==d.Jp&&(d.points=d.Jp,d.Jp=null);b.jy.clear();b.Bk=null;b.zc();
-b.qa();b.hg();ml(b);jl(a);a.Hv&&a.Hv();a.Ho=0;a.Iv=null;a.Hv=null;a.Gv=null;a.Hr=null;a.Gr=null;a.Jr=0;a.Ir=0;a.gn=new ma(P,bl);b.Ja("AnimationFinished");b.Se()}
-function nl(a,b,c){var d=b.$,e=c.$,g=null;c instanceof I&&(g=c.placeholder);null!==g?(d=g.eb(dc),d.x+=g.padding.left,d.y+=g.padding.top,fl(a,b,"position",d,b.position,!1)):fl(a,b,"position",new O(e.x+e.width/2-d.width/2,e.y+e.height/2-d.height/2),b.position,!1);fl(a,b,"scale",.01,b.scale,!1);if(b instanceof I)for(b=b.Nc;b.next();)g=b.value,g instanceof G&&nl(a,g,c)}
-function ol(a,b,c){if(b.isVisible()){var d=null;c instanceof I&&(d=c.placeholder);null!==d?fl(a,b,"position:placeholder",b.position,d,!0):fl(a,b,"position:node",b.position,c,!0);fl(a,b,"scale",b.scale,.01,!0);a.wc&&(d=a.gn,d.contains(b)&&(d.na(b).xy=!0));if(b instanceof I)for(b=b.Nc;b.next();)d=b.value,d instanceof G&&ol(a,d,c)}}function pl(a,b,c){a.wc&&(null===a.Hr&&b.F()&&null===a.Gr&&(a.Hr=b.copy()),a.Gr=c.copy(),a.Io=!0)}
-function ql(a,b,c){a.wc&&a.ba.$n&&(0===a.Jr&&0===a.Ir&&(a.Jr=b),a.Ir=c,a.Io=!0)}D.defineProperty(gh,{isEnabled:"isEnabled"},function(){return this.mf},function(a){D.h(a,"boolean",gh,"isEnabled");this.mf=a});D.defineProperty(gh,{duration:"duration"},function(){return this.wz},function(a){D.h(a,"number",gh,"duration");1>a&&D.ua(a,">= 1",gh,"duration");this.wz=a});D.w(gh,{tf:"isAnimating"},function(){return this.nk});D.w(gh,{pJ:"isTicking"},function(){return this.pp});
-D.defineProperty(gh,{VF:"isInitial"},function(){return this.ok},function(a){D.h(a,"boolean",gh,"isInitial");this.ok=a});function bl(a,b,c){this.start=a;this.end=b;this.eu=new la;this.yx=c;this.xy=!1}
-var ll={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.Jy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):a.position=new O(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.$,k=c.$;c=k.x+k.width/2-h.width/2;h=k.y+k.height/2-h.height/2;e!==g?a.Jy(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g)):a.position=new O(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.Jy(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):
-a.position=new O(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 Ug(){0e.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}D.w(gh,{dL:"animationReasons"},function(){return this.xv});
+gh.prototype.canStart=function(){return!0};gh.prototype.prepareAutomaticAnimation=gh.prototype.po=function(a){this.nf&&(this.pk||this.ba.$n)&&(this.xv.add(a),this.canStart(a)&&(this.ok&&this.Hi(),this.wc=!0))};function bl(a){if(a.nf&&(a.xv.clear(),a.wc))if(!a.Io)a.wc=!1;else if(0===a.Ho){var b=+new Date;a.Ho=b;requestAnimationFrame(function(){if(!1!==a.wc&&!a.ok&&a.Ho===b){var c=a.ba;c.Gj("temporaryPixelRatio")&&(c.Ck=1);cl(c);a.wc=!1;c.Ja("AnimationStarting");dl(a,b)}})}}
+function el(a,b,c,d,e,g){if(a.wc&&(v&&D.l(b,P,gh,"addPropToAnimation:obj"),!("position"===c&&d.P(e)||b instanceof F&&!b.OF))){var h=a.gn;if(h.contains(b)){var h=h.na(b),k=h.start,l=h.end;void 0===k[c]&&(k[c]=fl(d));h.Ax&&void 0!==l[c]?h.eu[c]=fl(e):(g||(h.eu[c]=fl(e)),l[c]=fl(e));g&&0===c.indexOf("position:")&&b instanceof F&&(h.eu.location=fl(b.location))}else k=new la,l=new la,k[c]=fl(d),l[c]=fl(e),d=l,e=k.position,e instanceof O&&!e.F()&&a.xv.contains("Expand SubGraph")&&e.assign(d.position),k=
+new al(k,l,g),g&&0===c.indexOf("position:")&&b instanceof F&&(k.eu.location=fl(b.location)),h.add(b,k);a.Io=!0}}function fl(a){return a instanceof O?a.copy():a instanceof Ca?a.copy():a}
+function dl(a,b){var c;function d(){if(!1!==g.ok&&g.Ho===b){var a=+new Date,c=a>s?m:a-r;gl(g);hl(g,e,q,h,c,m);g.Iv&&g.Iv();bj(e);il(g);a>s?jl(g):requestAnimationFrame(d)}}void 0===c&&(c=new la);var e=a.ba;if(null!==e){a.ok=!0;var g=a,h=c.GL||a.KC,k=c.gM||null,l=c.hM||null,m=c.duration||a.xz,n=a.BH;for(c=a.gn.j;c.next();){var p=c.value.start.position;p instanceof O&&(p.F()||p.assign(n))}a.FC=h;a.Iv=k;a.Jv=l;a.EC=m;a.Kv=a.gn;var q=a.Kv;for(c=q.j;c.next();)k=c.value.end,k["position:placeholder"]&&(l=
+k["position:placeholder"],n=l.fb(dc),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);gl(a);hl(a,e,q,h,0,m);bj(a.ba);il(a);var r=+new Date,s=r+m;g.Ho===b&&requestAnimationFrame(function(){d()})}}function gl(a){if(!a.pp){var b=a.ba;a.uE=b.Eb;a.sC=b.Ue;a.tC=b.ev;b.Eb=!0;b.Ue=!0;b.ev=!0;a.pp=!0}}function il(a){var b=a.ba;b.Eb=a.uE;b.Ue=a.sC;b.ev=a.tC;a.pp=!1}
+function hl(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!==kl[m])kl[m](h,l[m],k[m],d,e,g)}d=b.aB;b.aB=!0;m=a.KC;0!==a.Jr&&0!==a.Ir&&(c=a.Jr,b.Bb=m(e,c,a.Ir-c,g));null!==a.Hr&&null!==a.Gr&&(c=a.Hr,a=a.Gr,b.rb=new O(m(e,c.x,a.x-c.x,g),m(e,c.y,a.y-c.y,g)));b.aB=d}
+gh.prototype.stopAnimation=gh.prototype.Hi=function(){!0===this.wc&&(this.wc=!1,this.Io&&this.ba.Se());this.ok&&this.nf&&jl(this)};
+function jl(a){a.ok=!1;a.Io=!1;gl(a);for(var b=a.ba,c=a.FC,d=a.EC,e=a.Kv.j;e.next();){var g=e.key,h=e.value,k=h.start,l=h.end,m=h.eu,n;for(n in l)if(void 0!==kl[n]){var p=n;!h.Ax||"position:node"!==p&&"position:placeholder"!==p||(p="position");kl[p](g,k[n],void 0!==m[n]?m[n]:h.Ax?k[n]:l[n],c,d,d)}h.Ax&&void 0!==m.location&&g instanceof F&&(g.location=m.location);h.yy&&g instanceof F&&g.Jd(!1)}for(c=a.ba.links;c.next();)d=c.value,null!==d.Jp&&(d.points=d.Jp,d.Jp=null);b.ky.clear();b.Ck=null;b.zc();
+b.qa();b.ig();ll(b);il(a);a.Jv&&a.Jv();a.Ho=0;a.Kv=null;a.Jv=null;a.Iv=null;a.Hr=null;a.Gr=null;a.Jr=0;a.Ir=0;a.gn=new ma(P,al);b.Ja("AnimationFinished");b.Se()}
+function ml(a,b,c){var d=b.$,e=c.$,g=null;c instanceof I&&(g=c.placeholder);null!==g?(d=g.fb(dc),d.x+=g.padding.left,d.y+=g.padding.top,el(a,b,"position",d,b.position,!1)):el(a,b,"position",new O(e.x+e.width/2-d.width/2,e.y+e.height/2-d.height/2),b.position,!1);el(a,b,"scale",.01,b.scale,!1);if(b instanceof I)for(b=b.Nc;b.next();)g=b.value,g instanceof G&&ml(a,g,c)}
+function nl(a,b,c){if(b.isVisible()){var d=null;c instanceof I&&(d=c.placeholder);null!==d?el(a,b,"position:placeholder",b.position,d,!0):el(a,b,"position:node",b.position,c,!0);el(a,b,"scale",b.scale,.01,!0);a.wc&&(d=a.gn,d.contains(b)&&(d.na(b).yy=!0));if(b instanceof I)for(b=b.Nc;b.next();)d=b.value,d instanceof G&&nl(a,d,c)}}function ol(a,b,c){a.wc&&(null===a.Hr&&b.F()&&null===a.Gr&&(a.Hr=b.copy()),a.Gr=c.copy(),a.Io=!0)}
+function pl(a,b,c){a.wc&&a.ba.$n&&(0===a.Jr&&0===a.Ir&&(a.Jr=b),a.Ir=c,a.Io=!0)}D.defineProperty(gh,{isEnabled:"isEnabled"},function(){return this.nf},function(a){D.h(a,"boolean",gh,"isEnabled");this.nf=a});D.defineProperty(gh,{duration:"duration"},function(){return this.xz},function(a){D.h(a,"number",gh,"duration");1>a&&D.ua(a,">= 1",gh,"duration");this.xz=a});D.w(gh,{uf:"isAnimating"},function(){return this.ok});D.w(gh,{qJ:"isTicking"},function(){return this.pp});
+D.defineProperty(gh,{WF:"isInitial"},function(){return this.pk},function(a){D.h(a,"boolean",gh,"isInitial");this.pk=a});function al(a,b,c){this.start=a;this.end=b;this.eu=new la;this.Ax=c;this.yy=!1}
+var kl={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.Ky(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):a.position=new O(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.$,k=c.$;c=k.x+k.width/2-h.width/2;h=k.y+k.height/2-h.height/2;e!==g?a.Ky(d(e,b.x,c-b.x,g),d(e,b.y,h-b.y,g)):a.position=new O(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.Ky(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):
+a.position=new O(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 Ug(){0=a)return b;for(var c=0,d=0,e=0,g=0,h=0,k=this.qb.j;k.next();){var l=k.value;l instanceof I?e++:l instanceof G?d++:l instanceof J?g++:l instanceof da?h++:c++}k="";0=d.count)a=d.count;else if(d.ea(a)===b)return-1;d.Xd(a,b);b.ru(c);d=this.g;null!==d&&(c?d.qa():d.sq(b));wl(this,a,b);return a};
-f.sf=function(a,b,c){if(!c&&b.layer!==this&&null!==b.layer)return b.layer.sf(a,b,c);var d=this.qb;if(0>a||a>=d.length){if(a=d.indexOf(b),0>a)return-1}else if(d.ea(a)!==b&&(a=d.indexOf(b),0>a))return-1;b.su(c);d.jd(a);d=this.g;null!==d&&(c?d.qa():d.sf(b));b.lw=null;return a};
-function wl(a,b,c){b=xl(a,b,c);if(c instanceof I&&null!==c&&isNaN(c.Co)){if(0!==c.Nc.count){for(var d=-1,e=a.qb.o,g=e.length,h=0;hd&&k.Ra===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.ea(g).Co;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.jd(b);a.Xd(g,c);return g}for(h=NaN;0<=--g&&(h=a.ea(g).Co,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.jd(b);a.Xd(k,c);return k}for(l=NaN;++ka||1parseInt(e[1],10)&&(D.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+
-D.vfo+". This license key will do nothing until you upgrade to GoJS 1.7 or later."),D.Dx.licenseKey=!0);this.Fl=1;this.Ym=0;this.wD=new O;this.sE=500;this.xv=new O;this.ut=null;this.Cl=!1;this.preventDefault=this.wy=this.qG=this.rG=this.pG=this.lo=this.$g=this.mo=this.jo=this.ko=this.dC=this.UB=this.VB=this.WB=this.Ql=this.ht=this.Pl=this.gt=null;this.GD=1;this.fw=!1;this.zl=new Kl;void 0!==a&&Ll(this,a);this.$c=!1}D.ja("Diagram",E);
-E.prototype.clear=E.prototype.clear=function(){var a=null;null!==this.Ad&&(a=this.Ad.Y);this.ga.clear();for(var b=this.cc.length,c=0;c=d.count)a=d.count;else if(d.ea(a)===b)return-1;d.Xd(a,b);b.tu(c);d=this.g;null!==d&&(c?d.qa():d.sq(b));vl(this,a,b);return a};
+f.tf=function(a,b,c){if(!c&&b.layer!==this&&null!==b.layer)return b.layer.tf(a,b,c);var d=this.qb;if(0>a||a>=d.length){if(a=d.indexOf(b),0>a)return-1}else if(d.ea(a)!==b&&(a=d.indexOf(b),0>a))return-1;b.uu(c);d.jd(a);d=this.g;null!==d&&(c?d.qa():d.tf(b));b.nw=null;return a};
+function vl(a,b,c){b=wl(a,b,c);if(c instanceof I&&null!==c&&isNaN(c.Co)){if(0!==c.Nc.count){for(var d=-1,e=a.qb.o,g=e.length,h=0;hd&&k.Ra===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.ea(g).Co;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.jd(b);a.Xd(g,c);return g}for(h=NaN;0<=--g&&(h=a.ea(g).Co,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.jd(b);a.Xd(k,c);return k}for(l=NaN;++ka||1parseInt(e[1],10)&&(D.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+
+D.vfo+". This license key will do nothing until you upgrade to GoJS 1.7 or later."),D.Fx.licenseKey=!0);this.Gl=1;this.Ym=0;this.wD=new O;this.sE=500;this.zv=new O;this.ut=null;this.Dl=!1;this.preventDefault=this.xy=this.rG=this.sG=this.qG=this.lo=this.ah=this.mo=this.jo=this.ko=this.dC=this.UB=this.VB=this.WB=this.Rl=this.ht=this.Ql=this.gt=null;this.GD=1;this.hw=!1;this.Al=new Jl;void 0!==a&&Kl(this,a);this.$c=!1}D.ka("Diagram",E);
+E.prototype.clear=E.prototype.clear=function(){var a=null;null!==this.Ad&&(a=this.Ad.Y);this.ga.clear();for(var b=this.cc.length,c=0;c=a)return b;for(var c=this.cc.j;c.next();)b+="\n "+c.value.toString(a-1);return b};E.fromDiv=function(a){var b=a;"string"===typeof a&&(b=window.document.getElementById(a));return b instanceof HTMLDivElement&&b.ba instanceof E?b.ba:null};
-D.defineProperty(E,{Dj:"div"},function(){return this.Sb},function(a){null!==a&&D.l(a,HTMLDivElement,E,"div");if(this.Sb!==a){zl=[];var b=this.Sb;null!==b?(b.ba=void 0,b.innerHTML="",null!==this.Mb&&(this.Mb.removeEventListener("touchstart",this.WB,!1),this.Mb.removeEventListener("touchmove",this.VB,!1),this.Mb.removeEventListener("touchend",this.UB,!1),this.Mb.Ud.ba=null),b=this.kb,null!==b&&(b.lf.each(function(a){a.cancelWaitAfter()}),b.jg.each(function(a){a.cancelWaitAfter()}),b.kg.each(function(a){a.cancelWaitAfter()})),
-b.cancelWaitAfter(),this.gb.doCancel(),this.od=this.Mb=null,window.removeEventListener("resize",this.dC,!1),window.removeEventListener("mousemove",this.ko,!0),window.removeEventListener("mousedown",this.jo,!0),window.removeEventListener("mouseup",this.mo,!0),window.removeEventListener("mousewheel",this.$g,!0),window.removeEventListener("DOMMouseScroll",this.$g,!0),window.removeEventListener("mouseout",this.lo,!0)):this.th=!1;this.Sb=null;if(null!==a){if(b=a.ba)b.Dj=null;Ll(this,a);this.Gq()}}});
-function Ol(a){var b=a.Mb;b.addEventListener("touchstart",a.WB,!1);b.addEventListener("touchmove",a.VB,!1);b.addEventListener("touchend",a.UB,!1);b.addEventListener("mousemove",a.ko,!1);b.addEventListener("mousedown",a.jo,!1);b.addEventListener("mouseup",a.mo,!1);b.addEventListener("mousewheel",a.$g,!1);b.addEventListener("DOMMouseScroll",a.$g,!1);b.addEventListener("mouseout",a.lo,!1);b.addEventListener("keydown",a.rJ,!1);b.addEventListener("keyup",a.sJ,!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.kb.pq===Hk&&b.preventDefault()},!1);b.addEventListener("pointerdown",a.pG,!1);b.addEventListener("pointermove",a.rG,!1);b.addEventListener("pointerleave",a.qG,!1);window.addEventListener("resize",a.dC,!1)}E.prototype.computePixelRatio=function(){return null!==this.Bk?this.Bk:this.GD};E.prototype.doMouseMove=function(){this.gb.doMouseMove()};
-E.prototype.doMouseDown=function(){this.gb.doMouseDown()};E.prototype.doMouseUp=function(){this.gb.doMouseUp()};E.prototype.doMouseWheel=function(){this.gb.doMouseWheel()};E.prototype.doKeyDown=function(){this.gb.doKeyDown()};E.prototype.doKeyUp=function(){this.gb.doKeyUp()};E.prototype.doFocus=function(){this.focus()};E.prototype.focus=E.prototype.focus=function(){this.Mb&&this.Mb.focus()};
-function dl(a){if(null!==a.Mb){var b=a.Sb;if(0!==b.clientWidth&&0!==b.clientHeight){var c=a.yl?a.Rd:0,d=a.lk?a.Rd:0,e=a.qd;a.qd=a.computePixelRatio();a.qd!==e&&(a.cs=!0,a.Se());if(b.clientWidth!==a.Ob+c||b.clientHeight!==a.Rb+d)a.Sm=!0,a.Me=!0,b=a.Vb,null!==b&&b.ay&&a.bm===Rh&&b.N(),a.ge||a.Se()}}}
-function Il(a){var b=new Ug;b.name="Background";a.Ot(b);b=new Ug;b.name="";a.Ot(b);b=new Ug;b.name="Foreground";a.Ot(b);b=new Ug;b.name="Adornment";b.Uc=!0;a.Ot(b);b=new Ug;b.name="Tool";b.Uc=!0;b.OF=!0;a.Ot(b);b=new Ug;b.name="Grid";b.Cf=!1;b.qg=!1;b.Uc=!0;a.OH(b,a.km("Background"))}
-function Pl(a){a.Ad=new x(Ql);a.Ad.name="GRID";var b=new z;b.Jb="LineH";b.stroke="lightgray";b.jb=.5;b.interval=1;a.Ad.add(b);b=new z;b.Jb="LineH";b.stroke="gray";b.jb=.5;b.interval=5;a.Ad.add(b);b=new z;b.Jb="LineH";b.stroke="gray";b.jb=1;b.interval=10;a.Ad.add(b);b=new z;b.Jb="LineV";b.stroke="lightgray";b.jb=.5;b.interval=1;a.Ad.add(b);b=new z;b.Jb="LineV";b.stroke="gray";b.jb=.5;b.interval=5;a.Ad.add(b);b=new z;b.Jb="LineV";b.stroke="gray";b.jb=1;b.interval=10;a.Ad.add(b);b=new F;b.add(a.Ad);
-b.Kf="Grid";b.Co=0;b.Wx=!1;b.NF=!1;b.qg=!1;b.ky="GRID";a.add(b);a.qb.remove(b);a.Ad.visible=!1}function Rl(){this.ba.isEnabled?this.ba.uI(this):Sl(this.ba)}function Tl(a){this.ba.isEnabled?(this.ba.$z=!0,this.ba.bA=a.target.scrollTop,this.ba.aA=a.target.scrollLeft):Sl(this.ba)}
-E.prototype.diagramScroll=E.prototype.uI=function(a){if(this.$z&&null!==this.Mb){this.Mw=!0;var b=this.dd,c=this.ub,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.gs)switch(this.Yz){case "negative":s=s+a.scrollWidth-a.clientWidth;break;case "reverse":s=a.scrollWidth-s-a.clientWidth}var u=s;el&&(this.position=s.n(-(this.Qw.scrollWidth-this.Ob)+u-this.Ob/r+k,this.position.y))),a.DH&&this.ze&&(bn&&(this.position=s.n(this.position.x,-(this.Qw.scrollHeight-this.Rb)+a.scrollTop-this.Rb/r+m))),D.A(s),Ul(this),this.Sm=this.Mw=!1,b=this.dd,c=this.ub,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.lt.style.width="1px"),h>=g&&b>=c&&m<=n&&(this.lt.style.height="1px"))}};E.prototype.computeBounds=E.prototype.Kh=function(){0c&&(e=c),ea.Ph&&(e=a.Ph),e):b===am?(e=l>k?(h-a.Rd)/d:(g-a.Rd)/e,e>c&&(e=c),ea.Ph&&(e=a.Ph),e):a.scale}E.prototype.zoomToFit=E.prototype.zoomToFit=function(){this.scale=Xl(this,$l)};
-E.prototype.zoomToRect=function(a,b){void 0===b&&(b=$l);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===$l||b===am)if(isNaN(c))e=this.ub.height*this.scale/d;else if(isNaN(d))e=this.ub.width*this.scale/c;else var e=this.Ob,g=this.Rb,e=b===am?g/d>e/c?(g-(this.lk?this.Rd:0))/d:(e-(this.yl?this.Rd:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new O(a.x,a.y)}};D.defineProperty(E,{aB:null},function(){return this.$c},function(a){this.$c=a});
-E.prototype.alignDocument=function(a,b){this.mk&&Zl(this,this.Kh());var c=this.dd,d=this.ub;this.position=new O(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 Yl(a,b,c,d,e,g,h){var k=b.x,l=b.y;if(h||a.CB===Al)g.fd()&&(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.LG,h=d-c.width,dc.left?k=c.left:kc.top?l=c.top:ll&&(this.position=s.n(-(this.Sw.scrollWidth-this.Ob)+u-this.Ob/r+k,this.position.y))),a.EH&&this.ze&&(bn&&(this.position=s.n(this.position.x,-(this.Sw.scrollHeight-this.Rb)+a.scrollTop-this.Rb/r+m))),D.A(s),Tl(this),this.Sm=this.Ow=!1,b=this.dd,c=this.ub,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.lt.style.width="1px"),h>=g&&b>=c&&m<=n&&(this.lt.style.height="1px"))}};E.prototype.computeBounds=E.prototype.Lh=function(){0c&&(e=c),ea.Qh&&(e=a.Qh),e):b===$l?(e=l>k?(h-a.Rd)/d:(g-a.Rd)/e,e>c&&(e=c),ea.Qh&&(e=a.Qh),e):a.scale}E.prototype.zoomToFit=E.prototype.zoomToFit=function(){this.scale=Wl(this,Zl)};
+E.prototype.zoomToRect=function(a,b){void 0===b&&(b=Zl);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Zl||b===$l)if(isNaN(c))e=this.ub.height*this.scale/d;else if(isNaN(d))e=this.ub.width*this.scale/c;else var e=this.Ob,g=this.Rb,e=b===$l?g/d>e/c?(g-(this.mk?this.Rd:0))/d:(e-(this.zl?this.Rd:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new O(a.x,a.y)}};D.defineProperty(E,{aB:null},function(){return this.$c},function(a){this.$c=a});
+E.prototype.alignDocument=function(a,b){this.nk&&Yl(this,this.Lh());var c=this.dd,d=this.ub;this.position=new O(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 Xl(a,b,c,d,e,g,h){var k=b.x,l=b.y;if(h||a.CB===zl)g.fd()&&(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.MG,h=d-c.width,dc.left?k=c.left:kc.top?l=c.top:lc.touches.length)&&c.preventDefault();c.cancelBubble=!0;return!1}
-E.prototype.rJ=function(a){if(!this.ba.isEnabled)return!1;var b=this.ba.Tb;bm(this.ba,this.ba,a,b,!1);b.key=String.fromCharCode(a.which);b.jm=!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=
+E.prototype.findObjectsAt=E.prototype.gu=function(a,b,c,d){void 0===b&&(b=null);void 0===c&&(c=null);d instanceof K||d instanceof L||(d=new L(P));Si(this);for(var e=this.cc.ao;e.next();){var g=e.value;g.visible&&g.gu(a,b,c,d)}return d};E.prototype.findObjectsIn=E.prototype.Rk=function(a,b,c,d,e){void 0===b&&(b=null);void 0===c&&(c=null);void 0===d&&(d=!1);e instanceof K||e instanceof L||(e=new L(P));Si(this);for(var g=this.cc.ao;g.next();){var h=g.value;h.visible&&h.Rk(a,b,c,d,e)}return e};
+E.prototype.MA=function(a,b,c,d,e,g){var h=new L(P);Si(this);for(var k=this.cc.ao;k.next();){var l=k.value;l.visible&&l.MA(a,b,c,d,h,e,g)}return h};E.prototype.findObjectsNear=E.prototype.Qn=function(a,b,c,d,e,g){void 0===c&&(c=null);void 0===d&&(d=null);void 0===e&&(e=!0);if(!1!==e&&!0!==e){if(e instanceof K||e instanceof L)g=e;e=!0}g instanceof K||g instanceof L||(g=new L(P));Si(this);for(var h=this.cc.ao;h.next();){var k=h.value;k.visible&&k.Qn(a,b,c,d,e,g)}return g};
+E.prototype.acceptEvent=function(a){var b=this.cd;this.cd=this.Tb;this.Tb=b;am(this,this,a,b,a instanceof MouseEvent);return b};
+function am(a,b,c,d,e){d.g=b;d.event=c;e?bm(a,c,d):(d.qe=b.Tb.qe,d.ha=b.Tb.ha);a=0;c.ctrlKey&&(a+=1);c.altKey&&(a+=2);c.shiftKey&&(a+=4);c.metaKey&&(a+=8);d.Kd=a;d.button=c.button;void 0===c.buttons||D.kJ||(d.buttons=c.buttons);D.Xk&&0===c.button&&c.ctrlKey&&(d.button=2);d.km=!1;d.up=!1;d.Oe=1;d.jm=0;d.Mc=!1;d.bubbles=!1;d.timestamp=Date.now();d.Au=!1;d.hh=c.target.ba?c.target.ba:null;d.We=null}
+function cm(a,b,c,d,e){d.g=a;bm(a,c,d);d.Kd=0;d.button=0;d.buttons=1;d.km=!0;d.up=!1;d.Oe=1;d.jm=0;d.Mc=!1;d.bubbles=!0;d.event=b;d.timestamp=Date.now();d.Au=e;d.hh=b.target.ba?b.target.ba:null;d.We=null;a.Yi=d.copy();Zh=null}
+function dm(a,b,c,d,e){var g=null;d.g=a;null!==c?((g=window.document.elementFromPoint(c.clientX,c.clientY))&&g.ba?g=g.ba:(c=b.changedTouches[0],g=a),d.hh=g,bm(a,c,d)):null!==a.cd?(d.ha=a.cd.ha,d.qe=a.cd.qe,d.hh=a.cd.hh):null!==a.Yi&&(d.ha=a.Yi.ha,d.qe=a.Yi.qe,d.hh=a.Yi.hh);d.Kd=0;d.button=0;d.buttons=1;d.km=!1;d.up=!1;d.Oe=1;d.jm=0;d.Mc=!1;d.bubbles=!1;d.event=b;d.timestamp=Date.now();d.Au=e;d.We=null}
+function ga(a,b,c){if(b.bubbles)return v&&v.JF&&D.trace("NOT handled "+c.type+" "+b.toString()),!0;v&&v.JF&&D.trace("handled "+c.type+" "+a.hb.name+" "+b.toString());void 0!==c.stopPropagation&&c.stopPropagation();(void 0===c.touches||2>c.touches.length)&&c.preventDefault();c.cancelBubble=!0;return!1}
+E.prototype.sJ=function(a){if(!this.ba.isEnabled)return!1;var b=this.ba.Tb;am(this.ba,this.ba,a,b,!1);b.key=String.fromCharCode(a.which);b.km=!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.ba.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?ga(this.ba,b,a):(a.cancelBubble=!0,a.preventDefault(),a.stopPropagation(),!1)};
-E.prototype.sJ=function(a){if(!this.ba.isEnabled)return!1;var b=this.ba.Tb;bm(this.ba,this.ba,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.ba.doKeyUp();
+E.prototype.tJ=function(a){if(!this.ba.isEnabled)return!1;var b=this.ba.Tb;am(this.ba,this.ba,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.ba.doKeyUp();
return ga(this.ba,b,a)};E.prototype.fp=function(a){var b=this.Mb;if(null===b)return new O(0,0);var c=this.Ob,d=this.Rb,b=b.getBoundingClientRect(),c=a.clientX-c/b.width*b.left;a=a.clientY-d/b.height*b.top;return null!==this.Ic?(a=new O(c,a),gb(a,this.Ic),a):new O(c,a)};
-function cm(a,b,c){var d=a.Mb,e=a.Ob,g=a.Rb,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.qe.n(h,k);null!==a.Ic?(b=D.Fb(h,k),a.Ic.Ci(b),c.ha.assign(b),D.A(b)):c.ha.n(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.oj[0])e=a.oj[c];else return;c=a.Mb;b=a.Ob;a=a.Rb;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.n(g,h)}E.prototype.invalidateDocumentBounds=E.prototype.zc=function(){this.mk||(this.mk=!0,this.Se(!0))};function ml(a){a.ge||Si(a);a.mk&&Zl(a,a.Kh())}
-E.prototype.redraw=E.prototype.Gq=function(){this.$c||this.ge||(this.qa(),fm(this),Ul(this),this.zc(),this.hg())};E.prototype.isUpdateRequested=function(){return this.Zf};E.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Xa,c=b.isEnabled;b.Hi();b.isEnabled=!1;bj(this);this.th=!1;b.isEnabled=c;null!==a&&D.setTimeout(a,1)};
-E.prototype.requestUpdate=E.prototype.Se=function(a){void 0===a&&(a=!1);if(!0!==this.Zf&&!(this.$c||!1===a&&this.ge)){this.Zf=!0;var b=this;requestAnimationFrame(function(){b.Zf&&b.hg()})}};E.prototype.maybeUpdate=E.prototype.hg=function(){if(!this.dp||this.Zf)this.dp&&(this.dp=!1),bj(this)};function gm(a,b){a.Xa.tf||a.$c||!a.Sm||Sl(a)||(b&&Si(a),Wl(a,!1))}
-function bj(a){if(!a.ge&&(a.Zf=!1,null!==a.Sb)){a.ge=!0;var b=a.Xa,c=a.Wz;if(!b.pp&&0!==c.length){for(var d=c.o,e=d.length,g=0;gb;b++){var c=a.Eg.j;if(null===c||0===a.Eg.count)break;a.Eg=new L(F);a.aC(c,a.Eg);v&&22===b&&D.trace("failure to validate parts")}a.og.each(function(a){a instanceof I&&0!==(a.Ca&65536)!==!1&&(a.Ca^=65536)})}}
-E.prototype.aC=function(a,b){for(a.reset();a.next();){var c=a.value;!c.oe()||c instanceof I||(c.vm()?(Fk(c,Infinity,Infinity),c.pc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof I&&c.isVisible()&&Im(this,c);for(a.reset();a.next();)c=a.value,c instanceof J&&c.isVisible()&&(c.vm()?(Fk(c,Infinity,Infinity),c.pc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof da&&c.isVisible()&&(c.vm()?(Fk(c,Infinity,Infinity),c.pc()):b.add(c))};
-function Im(a,b){for(var c=D.tb(),d=D.tb(),e=b.Nc;e.next();){var g=e.value;g.isVisible()&&(g instanceof I?(Jm(g)||Km(g)||Lm(g))&&Im(a,g):g instanceof J?g.aa===b||g.da===b?d.push(g):c.push(g):(Fk(g,Infinity,Infinity),g.pc()))}for(var e=c.length,h=0;hb.targetTouches.length)return;e=b.targetTouches[c]}else if(null!==a.oj[0])e=a.oj[c];else return;c=a.Mb;b=a.Ob;a=a.Rb;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.n(g,h)}E.prototype.invalidateDocumentBounds=E.prototype.zc=function(){this.nk||(this.nk=!0,this.Se(!0))};function ll(a){a.ge||Si(a);a.nk&&Yl(a,a.Lh())}
+E.prototype.redraw=E.prototype.Gq=function(){this.$c||this.ge||(this.qa(),em(this),Tl(this),this.zc(),this.ig())};E.prototype.isUpdateRequested=function(){return this.$f};E.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Xa,c=b.isEnabled;b.Hi();b.isEnabled=!1;bj(this);this.uh=!1;b.isEnabled=c;null!==a&&D.setTimeout(a,1)};
+E.prototype.requestUpdate=E.prototype.Se=function(a){void 0===a&&(a=!1);if(!0!==this.$f&&!(this.$c||!1===a&&this.ge)){this.$f=!0;var b=this;requestAnimationFrame(function(){b.$f&&b.ig()})}};E.prototype.maybeUpdate=E.prototype.ig=function(){if(!this.dp||this.$f)this.dp&&(this.dp=!1),bj(this)};function fm(a,b){a.Xa.uf||a.$c||!a.Sm||Rl(a)||(b&&Si(a),Vl(a,!1))}
+function bj(a){if(!a.ge&&(a.$f=!1,null!==a.Sb)){a.ge=!0;var b=a.Xa,c=a.Xz;if(!b.pp&&0!==c.length){for(var d=c.o,e=d.length,g=0;gb;b++){var c=a.Fg.j;if(null===c||0===a.Fg.count)break;a.Fg=new L(F);a.aC(c,a.Fg);v&&22===b&&D.trace("failure to validate parts")}a.pg.each(function(a){a instanceof I&&0!==(a.Ca&65536)!==!1&&(a.Ca^=65536)})}}
+E.prototype.aC=function(a,b){for(a.reset();a.next();){var c=a.value;!c.oe()||c instanceof I||(c.wm()?(Fk(c,Infinity,Infinity),c.qc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof I&&c.isVisible()&&Im(this,c);for(a.reset();a.next();)c=a.value,c instanceof J&&c.isVisible()&&(c.wm()?(Fk(c,Infinity,Infinity),c.qc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof da&&c.isVisible()&&(c.wm()?(Fk(c,Infinity,Infinity),c.qc()):b.add(c))};
+function Im(a,b){for(var c=D.tb(),d=D.tb(),e=b.Nc;e.next();){var g=e.value;g.isVisible()&&(g instanceof I?(Jm(g)||Km(g)||Lm(g))&&Im(a,g):g instanceof J?g.aa===b||g.da===b?d.push(g):c.push(g):(Fk(g,Infinity,Infinity),g.qc()))}for(var e=c.length,h=0;hy+1&&
-(N=Math.max((t-y)*c+a.Ob,N)),q+k+1p+1&&(k=Math.max((A-p)*c+a.Rb,k)),r+l+1y+1&&(N=Math.max((t-y)*c+a.Ob,N)),q+1p+1&&(k=Math.max((A-p)*c+W,k)),r+1y+1&&(l=a.position.x*c));if(a.gs)switch(a.Yz){case "negative":l=-(b.scrollWidth-l-b.clientWidth);break;case "reverse":l=b.scrollWidth-l-b.clientWidth}b.scrollLeft=l;a.WA&&a.ze&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.cs=!0);m=a.Ob;n=a.Rb;b.style.width=m+(a.yl?a.Rd:0)+
-"px";b.style.height=n+(a.lk?a.Rd:0)+"px";a.$z=!1;return d!==m||e!==n||a.Xa.wc?(p=a.ub,a.Pu(g,p,c,a.scale,h),!1):!0}
-E.prototype.add=E.prototype.add=function(a){D.l(a,F,E,"add:part");var b=a.g;if(b!==this){null!==b&&D.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.ar&&(a.Gl="Tool");var c=a.Kf,b=this.km(c);null===b&&(b=this.km(""));null===b&&D.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.sq(99999999,a,a.g===this),0<=c&&this.hd(dg,"parts",b,null,a,null,c),b.Uc||this.zc(),a.N(Sm),c=a.gy,null!==
+t.x),Math.abs(r.y-t.y)));gb(r,w);gb(t,w);m.push(new B(Math.min(r.x,t.x),Math.min(r.y,t.y),Math.abs(r.x-t.x),Math.abs(r.y-t.y)));this.Al.Fm(this)&&(h=0y+1&&
+(N=Math.max((t-y)*c+a.Ob,N)),q+k+1p+1&&(k=Math.max((A-p)*c+a.Rb,k)),r+l+1y+1&&(N=Math.max((t-y)*c+a.Ob,N)),q+1p+1&&(k=Math.max((A-p)*c+W,k)),r+1y+1&&(l=a.position.x*c));if(a.gs)switch(a.Zz){case "negative":l=-(b.scrollWidth-l-b.clientWidth);break;case "reverse":l=b.scrollWidth-l-b.clientWidth}b.scrollLeft=l;a.WA&&a.ze&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.cs=!0);m=a.Ob;n=a.Rb;b.style.width=m+(a.zl?a.Rd:0)+
+"px";b.style.height=n+(a.mk?a.Rd:0)+"px";a.aA=!1;return d!==m||e!==n||a.Xa.wc?(p=a.ub,a.Ru(g,p,c,a.scale,h),!1):!0}
+E.prototype.add=E.prototype.add=function(a){D.l(a,F,E,"add:part");var b=a.g;if(b!==this){null!==b&&D.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.ar&&(a.Hl="Tool");var c=a.Lf,b=this.lm(c);null===b&&(b=this.lm(""));null===b&&D.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.sq(99999999,a,a.g===this),0<=c&&this.hd(ng,"parts",b,null,a,null,c),b.Uc||this.zc(),a.N(Sm),c=a.hy,null!==
c&&c(a,null,b))}};
-E.prototype.sq=function(a){if(a instanceof G){if(this.Dp.add(a),a instanceof I){var b=a.Ra;null===b?this.Tl.add(a):b.en.add(a);b=a.Vb;null!==b&&(b.g=this)}}else a instanceof J?this.xp.add(a):a instanceof da||this.qb.add(a);var c=this;Tm(a,function(a){Um(c,a)});(a instanceof da||a instanceof I&&null!==a.Qb)&&a.K();b=a.data;null!==b&&(a instanceof da||(a instanceof J?this.ck.add(b,a):this.Si.add(b,a)),Tm(a,function(a){Vm(c,a)}));!0!==Km(a)&&!0!==Lm(a)||this.Eg.add(a);Wm(a,!0,this);Xm(a)?(a.$.F()&&this.qa(vl(a,
-a.$)),this.zc()):a.isVisible()&&a.$.F()&&this.qa(vl(a,a.$));this.Se()};
-E.prototype.sf=function(a){a.Yt();if(a instanceof G){if(this.Dp.remove(a),a instanceof I){var b=a.Ra;null===b?this.Tl.remove(a):b.en.remove(a);b=a.Vb;null!==b&&(b.g=null)}}else a instanceof J?this.xp.remove(a):a instanceof da||this.qb.remove(a);var c=this;Tm(a,function(a){Ym(c,a)});b=a.data;null!==b&&(a instanceof da||(a instanceof J?this.ck.remove(b):this.Si.remove(b)),Tm(a,function(a){Zm(c,a)}));this.Eg.remove(a);Xm(a)?(a.$.F()&&this.qa(vl(a,a.$)),this.zc()):a.isVisible()&&a.$.F()&&this.qa(vl(a,
-a.$));this.Se()};E.prototype.remove=E.prototype.remove=function(a){D.l(a,F,E,"remove:part");$m(this,a,!0)};function $m(a,b,c){var d=b.layer;null!==d&&d.g===a&&(b.hb=!1,b.Yg=!1,b.N(an),c&&b.On(),c=d.sf(-1,b,!1),0<=c&&a.hd(og,"parts",d,b,null,c,null),a=b.gy,null!==a&&a(b,d,null))}
-E.prototype.removeParts=E.prototype.zB=function(a,b){if(D.isArray(a))for(var c=D.cb(a),d=0;dd&&this.zc()};
-E.prototype.addLayerAfter=function(a,b){bn(this,a,b);a.Yc(this);var c=this.cc,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.ve&&this.hd(og,"layers",this,a,null,d,null));for(var e=c.count,g=0;gd&&this.zc()};
-E.prototype.removeLayer=function(a){D.l(a,Ug,E,"removeLayer:layer");a.g!==this&&D.k("Cannot remove a Layer from another Diagram: "+a+" of "+a.g);if(""!==a.name){var b=this.cc,c=b.indexOf(a);if(b.remove(a)){for(b=a.qb.copy().j;b.next();){var d=b.value,e=d.Kf;d.Kf=e!==a.name?e:""}null!==this.ve&&this.hd(og,"layers",this,a,null,c,null);this.qa();this.zc()}}};E.prototype.findLayer=E.prototype.km=function(a){for(var b=this.bo;b.next();){var c=b.value;if(c.name===a)return c}return null};
-E.prototype.addModelChangedListener=E.prototype.QH=function(a){D.h(a,"function",E,"addModelChangedListener:listener");null===this.wh&&(this.wh=new K("function"));this.wh.add(a);this.ga.An(a)};E.prototype.removeModelChangedListener=function(a){D.h(a,"function",E,"removeModelChangedListener:listener");null!==this.wh&&(this.wh.remove(a),0===this.wh.count&&(this.wh=null));this.ga.Su(a)};
-E.prototype.addChangedListener=E.prototype.An=function(a){D.h(a,"function",E,"addChangedListener:listener");null===this.Ni&&(this.Ni=new K("function"));this.Ni.add(a)};E.prototype.removeChangedListener=E.prototype.Su=function(a){D.h(a,"function",E,"removeChangedListener:listener");null!==this.Ni&&(this.Ni.remove(a),0===this.Ni.count&&(this.Ni=null))};
-E.prototype.tx=function(a){this.Eb||this.ra.HF(a);a.Jc!==cg&&(this.Ei=!0);if(null!==this.Ni){var b=this.Ni,c=b.length;if(1===c)b=b.ea(0),b(a);else if(0!==c)for(var d=b.mc(),e=0;ea.Ph&&(c=a.Ph);e=D.Fb(a.rb.x+h/b-h/c,a.rb.y+k/b-k/c);a.position=e;D.A(e);a.Bb=c;a.Pu(d,a.ub,b,c,!1);a.$c=!1;Wl(a,
-!1);c=a.Xa;c.wc&&ql(c,b,a.Bb);a.qa();fm(a)}}
-E.prototype.Pu=function(a,b,c,d,e){a.P(b)||(void 0===e&&(e=!1),e||fm(this),Ul(this),d=this.Vb,null===d||!d.ay||this.bm!==Rh||e||a.width===b.width&&a.height===b.height||d.N(),d=this.gb,!0===this.Um&&d instanceof Lh&&(this.U.ha=this.YB(this.U.qe),Jk(d,this)),this.$c||this.MF(a,b),im(this),this.Fh.scale=c,this.Fh.position.x=a.x,this.Fh.position.y=a.y,this.Fh.bounds.set(a),this.Fh.isScroll=e,this.Ja("ViewportBoundsChanged",this.Fh,a),this.dB&&this.links.each(function(a){a.Jj&&a.$.fg(b)&&a.gc()}))};
-function im(a,b){void 0===b&&(b=null);var c=a.Ad;if(null!==c&&c.visible){for(var d=D.Cm(),e=1,g=1,h=c.ya.o,k=h.length,l=0;ln||(dn(m.Jb)?g=g*n/We(g,n):e=e*n/We(e,n))}h=c.Qx;d.n(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=D.Of();g=a.ub;e.n(g.x,g.y,g.width,g.height);for(h=a.Ew.j;h.next();)g=h.value.ub,g.F()&&Pb(e,g.x,g.y,g.width,g.height);if(!e.F()){D.Kb(e);return}k=e.width;l=e.height;g=e.x;h=e.y;D.Kb(e)}c.width=k+2*d.width;c.height=
-l+2*d.height;e=D.O();fb(g,h,0,0,d.width,d.height,e);e.offset(-d.width,-d.height);D.Rk(d);c.Y.location=e;D.A(e)}}E.prototype.clearSelection=E.prototype.vx=function(){var a=0