From 1619658864483bca49bb3cf75d9944e5b6a3bf8a Mon Sep 17 00:00:00 2001 From: Niharika Singh Date: Tue, 21 Feb 2017 14:26:13 -0500 Subject: [PATCH 1/4] save button has local and remote options --- .gitignore | 1 + gojs.py | 37 +-- static/css/index.css | 22 +- static/css/index.css.map | 2 +- static/css/index.scss | 26 +- static/js/indexJs.js | 302 ++++++++++------------- templates/{error_card.html => card.html} | 0 templates/index.html | 21 +- templates/index2.html | 55 ----- templates/test_card.html | 28 --- 10 files changed, 222 insertions(+), 272 deletions(-) create mode 100644 .gitignore rename templates/{error_card.html => card.html} (100%) delete mode 100644 templates/index2.html delete mode 100644 templates/test_card.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..149b80c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +JSONtemp diff --git a/gojs.py b/gojs.py index 2c70233..da20e5f 100644 --- a/gojs.py +++ b/gojs.py @@ -1,28 +1,33 @@ from flask import Flask, render_template, request -import ast +import ast, json app = Flask(__name__) +currModel = {} +tempNo = 0 + +with open('templates/datum.html') as data_file: + currModel = json.load(data_file) @app.route('/') def hello_world(): - # with open('/static/tmp/test.txt', 'r') as myfile: - # stable = myfile.read() - - # return render_template('index.html', passin=stable) - return render_template('index.html') + return render_template('index.html',currModel=json.dumps(currModel)) - -@app.route('/postdata/', methods = ['GET', 'POST']) +@app.route('/savecurrmodel', methods = ['GET','POST']) def postdata(): - print "post" - x = request.form['posted_data'] - # card_dictionary = ast.literal_eval(request.form['posted_data']) - # print card_dictionary['loc'] - # print card_dictionary - # print x - # print render_template('test_card.html') - return render_template('test_card.html') + currModel = json.loads(request.args.get("payload")) + global tempNo + with open('JSONtemp/temp'+str(tempNo)+'.txt', 'w') as write_file: + json.dump(currModel, write_file, indent=4, sort_keys=True) + tempNo += 1 + return "OK" + +@app.errorhandler(500) +def handle_bad_request(e): + print e +@app.errorhandler(400) +def handle_bad_request(e): + print e if __name__ == '__main__': app.run() diff --git a/static/css/index.css b/static/css/index.css index a633fb5..3cef5d1 100644 --- a/static/css/index.css +++ b/static/css/index.css @@ -139,7 +139,7 @@ body { -moz-box-shadow: none; box-shadow: none; margin-left: 10px; - min-width: 75px; } + min-width: 100px; } .diagramEditButton:hover { background-color: #bac5c6; } @@ -151,4 +151,24 @@ body { .diagramEditButton:disabled:hover { background-color: #f4f4f1; } +.ddButtonWrapper { + display: inline-block; + position: relative; } + +.ddButton { + position: absolute; + display: none; + cursor: pointer; + margin: 0px; } + .ddButton li { + padding: 2px 6px 2px 6px; + border-bottom: 0px; } + .ddButton li:last-child { + border-bottom: 1px solid #1e1e1e; } + +.ddButton.show { + display: block; + z-index: 1; + top: 25px; } + /*# sourceMappingURL=index.css.map */ diff --git a/static/css/index.css.map b/static/css/index.css.map index 729be1a..3b76769 100644 --- a/static/css/index.css.map +++ b/static/css/index.css.map @@ -1,6 +1,6 @@ { "version": 3, -"mappings": "AASkB,cAAc;AACb,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEjC,IAAK;EACH,MAAM,EAAE,IAAI;;AAEd,IAAK;EACH,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,IAAI;EAChB,MAAM,EAAE,CAAC;EACT,UAAU,EAtBA,OAAO;;AAyBnB,OAAQ;EACN,MAAM,EAAE,IAAI;;AAGd,aAAc;EACZ,KAAK,EAAC,IAAI;EACV,MAAM,EAAC,KAAK;;AAGd,oBAAqB;EACnB,YAAY,EAAC,eAAe;EAC5B,YAAY,EAAE,KAAK;EACnB,YAAY,EAzCR,OAAO;EA0CX,cAAc,EAAE,MAAM;EACtB,cAAc,EAAE,IAAI;EACpB,MAAM,EAAE,IAAI;;AAGd,iBAAkB;EAChB,KAAK,EAAC,GAAG;EACT,MAAM,EAAC,kBAAkB;EACzB,OAAO,EAAE,YAAY;EACrB,KAAK,EAAC,KAAK;EACX,QAAQ,EAAE,MAAM;EAChB,gBAAgB,EAAE,KAAK;EACvB,KAAK,EAAC,KAAK;EACX,OAAO,EAAC,GAAG;;AAGb,QAAS;EACP,KAAK,EAAC,GAAG;EACT,OAAO,EAAC,YAAY;EACpB,UAAU,EAAE,MAAM;EAClB,cAAc,EAAE,GAAG;EAEnB,0BAAkB;IAChB,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,MAAM;IAClB,KAAK,EAhED,OAAO;IAiEX,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,MAAM;EAGpB,6BAAqB;IACnB,OAAO,EAAC,IAAI;IACZ,WAAW,EAAC,IAAI;IAChB,YAAY,EAAE,IAAI;EAGpB,0BAAkB;IAChB,KAAK,EA/EH,OAAO;IAgFT,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,MAAM;IACjB,MAAM,EAAC,IAAI;IACX,MAAM,EAAE,OAAO;EAGjB,2BAAmB;IACjB,KAAK,EAjFC,OAAO;IAkFb,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,MAAM;IACjB,aAAa,EAAE,iBAAkB;IACjC,OAAO,EAAE,IAAI;EAGf,2BAAmB;IACjB,QAAQ,EAAE,MAAM;EAGlB,2BAAmB;IACjB,OAAO,EAAE,YAAY;IACrB,KAAK,EAAE,GAAG;EAGZ,yBAAiB;IACf,KAAK,EA3FC,OAAO;IA4Fb,OAAO,EAAE,YAAY;IACrB,QAAQ,EAAC,QAAQ;IACjB,KAAK,EAAE,IAAI;EAGb,+BAAuB;IACrB,KAAK,EAzGC,OAAO;IA0Gb,MAAM,EAAE,OAAO;;AAInB,mBAAoB;EAClB,aAAa,EAAC,IAAI;EAClB,WAAW,EAAC,MAAM;EAClB,MAAM,EAAE,MAAM;EACd,KAAK,EAAE,EAAE;EACT,OAAO,EAAE,YAAY;;AAGvB,WAAY;EACV,MAAM,EAAE,OAAO;EACf,QAAQ,EAAE,QAAQ;EAClB,UAAU,EAAE,WAAW;EACvB,UAAU,EAAE,CAAC;EACb,OAAO,EAAE,CAAC;EACV,UAAU,EAAE,OAAO;EACnB,OAAO,EAAE,YAAY;;AAGvB,aAAc;EACZ,OAAO,EAAE,IAAI;;AAGf,qBAAsB;EACpB,OAAO,EAAE,YAAY;;AAGvB,kBAAmB;EACjB,WAAW,EAAE,GAAG;EAChB,YAAY,EAAE,GAAG;EACjB,SAAS,EAAE,IAAI;EACf,QAAQ,EAAE,MAAM;EAChB,OAAO,EAAE,YAAY;EACrB,cAAc,EAAE,SAAS;;AAG3B,gBAAiB;EACf,gBAAgB,EAlJR,OAAO;EAmJf,aAAa,EAAE,eAAe;EAC9B,KAAK,EAAE,KAAK;EACZ,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,YAAY,EAAE,GAAG;EACjB,aAAa,EAAE,GAAG;EAClB,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,SAAS;EACzB,MAAM,EAAE,IAAI;EACZ,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,MAAM;EACf,aAAa,EAAE,GAAG;;AAGpB,4CAA6C;EAC3C,gBAAgB,EApKN,OAAO;EAqKjB,KAAK,EAzKD,OAAO;EA0KX,UAAU,EAAE,MAAM;EAClB,cAAc,EAAE,MAAM;EACtB,cAAc,EAAE,SAAS;EACzB,MAAM,EAAE,iBAAc;EACtB,kBAAkB,EAAE,IAAI;EACzB,eAAe,EAAE,IAAI;EACrB,UAAU,EAAE,IAAI;EACf,WAAW,EAAE,IAAI;EACjB,SAAS,EAAE,IAAI;;AAGjB,wBAAyB;EACvB,gBAAgB,EAnLV,OAAO;;AAsLf,2BAA4B;EAC1B,KAAK,EAvLC,OAAO;EAwLb,MAAM,EAAE,iBAAgB;;AAG1B,iCAAkC;EAChC,gBAAgB,EA3LN,OAAO", +"mappings": "AASkB,cAAc;AACb,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEjC,IAAK;EACH,MAAM,EAAE,IAAI;;AAEd,IAAK;EACH,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,IAAI;EAChB,MAAM,EAAE,CAAC;EACT,UAAU,EAtBA,OAAO;;AAyBnB,OAAQ;EACN,MAAM,EAAE,IAAI;;AAGd,aAAc;EACZ,KAAK,EAAC,IAAI;EACV,MAAM,EAAC,KAAK;;AAGd,oBAAqB;EACnB,YAAY,EAAC,eAAe;EAC5B,YAAY,EAAE,KAAK;EACnB,YAAY,EAzCR,OAAO;EA0CX,cAAc,EAAE,MAAM;EACtB,cAAc,EAAE,IAAI;EACpB,MAAM,EAAE,IAAI;;AAGd,iBAAkB;EAChB,KAAK,EAAC,GAAG;EACT,MAAM,EAAC,kBAAkB;EACzB,OAAO,EAAE,YAAY;EACrB,KAAK,EAAC,KAAK;EACX,QAAQ,EAAE,MAAM;EAChB,gBAAgB,EAAE,KAAK;EACvB,KAAK,EAAC,KAAK;EACX,OAAO,EAAC,GAAG;;AAGb,QAAS;EACP,KAAK,EAAC,GAAG;EACT,OAAO,EAAC,YAAY;EACpB,UAAU,EAAE,MAAM;EAClB,cAAc,EAAE,GAAG;EAEnB,0BAAkB;IAChB,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,MAAM;IAClB,KAAK,EAhED,OAAO;IAiEX,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,MAAM;EAGpB,6BAAqB;IACnB,OAAO,EAAC,IAAI;IACZ,WAAW,EAAC,IAAI;IAChB,YAAY,EAAE,IAAI;EAGpB,0BAAkB;IAChB,KAAK,EA/EH,OAAO;IAgFT,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,MAAM;IACjB,MAAM,EAAC,IAAI;IACX,MAAM,EAAE,OAAO;EAGjB,2BAAmB;IACjB,KAAK,EAjFC,OAAO;IAkFb,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,MAAM;IACjB,aAAa,EAAE,iBAAkB;IACjC,OAAO,EAAE,IAAI;EAGf,2BAAmB;IACjB,QAAQ,EAAE,MAAM;EAGlB,2BAAmB;IACjB,OAAO,EAAE,YAAY;IACrB,KAAK,EAAE,GAAG;EAGZ,yBAAiB;IACf,KAAK,EA3FC,OAAO;IA4Fb,OAAO,EAAE,YAAY;IACrB,QAAQ,EAAC,QAAQ;IACjB,KAAK,EAAE,IAAI;EAGb,+BAAuB;IACrB,KAAK,EAzGC,OAAO;IA0Gb,MAAM,EAAE,OAAO;;AAInB,mBAAoB;EAClB,aAAa,EAAC,IAAI;EAClB,WAAW,EAAC,MAAM;EAClB,MAAM,EAAE,MAAM;EACd,KAAK,EAAE,EAAE;EACT,OAAO,EAAE,YAAY;;AAGvB,WAAY;EACV,MAAM,EAAE,OAAO;EACf,QAAQ,EAAE,QAAQ;EAClB,UAAU,EAAE,WAAW;EACvB,UAAU,EAAE,CAAC;EACb,OAAO,EAAE,CAAC;EACV,UAAU,EAAE,OAAO;EACnB,OAAO,EAAE,YAAY;;AAGvB,aAAc;EACZ,OAAO,EAAE,IAAI;;AAGf,qBAAsB;EACpB,OAAO,EAAE,YAAY;;AAGvB,kBAAmB;EACjB,WAAW,EAAE,GAAG;EAChB,YAAY,EAAE,GAAG;EACjB,SAAS,EAAE,IAAI;EACf,QAAQ,EAAE,MAAM;EAChB,OAAO,EAAE,YAAY;EACrB,cAAc,EAAE,SAAS;;AAG3B,gBAAiB;EACf,gBAAgB,EAlJR,OAAO;EAmJf,aAAa,EAAE,eAAe;EAC9B,KAAK,EAAE,KAAK;EACZ,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,YAAY,EAAE,GAAG;EACjB,aAAa,EAAE,GAAG;EAClB,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,SAAS;EACzB,MAAM,EAAE,IAAI;EACZ,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,MAAM;EACf,aAAa,EAAE,GAAG;;AAGpB,4CAA6C;EAC3C,gBAAgB,EApKN,OAAO;EAqKjB,KAAK,EAzKD,OAAO;EA0KX,UAAU,EAAE,MAAM;EAClB,cAAc,EAAE,MAAM;EACtB,cAAc,EAAE,SAAS;EACzB,MAAM,EAAE,iBAAc;EACtB,kBAAkB,EAAE,IAAI;EACzB,eAAe,EAAE,IAAI;EACrB,UAAU,EAAE,IAAI;EACf,WAAW,EAAE,IAAI;EACjB,SAAS,EAAE,KAAK;;AAGlB,wBAAyB;EACvB,gBAAgB,EAnLV,OAAO;;AAsLf,2BAA4B;EAC1B,KAAK,EAvLC,OAAO;EAwLb,MAAM,EAAE,iBAAgB;;AAG1B,iCAAkC;EAChC,gBAAgB,EA3LN,OAAO;;AA8LnB,gBAAiB;EACf,OAAO,EAAE,YAAY;EACrB,QAAQ,EAAC,QAAQ;;AAGnB,SAAU;EACR,QAAQ,EAAC,QAAQ;EACjB,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,OAAO;EACf,MAAM,EAAE,GAAG;EACX,YAAG;IACD,OAAO,EAAE,eAAe;IACxB,aAAa,EAAE,GAAG;EAEpB,uBAAc;IACZ,aAAa,EAAE,iBAAc;;AAGjC,cAAe;EACb,OAAO,EAAC,KAAK;EACb,OAAO,EAAC,CAAC;EACT,GAAG,EAAC,IAAI", "sources": ["index.scss"], "names": [], "file": "index.css" diff --git a/static/css/index.scss b/static/css/index.scss index 8e32c42..dba186b 100644 --- a/static/css/index.scss +++ b/static/css/index.scss @@ -177,7 +177,7 @@ body { -moz-box-shadow: none; box-shadow: none; margin-left: 10px; - min-width: 75px; + min-width: 100px; } .diagramEditButton:hover { @@ -192,3 +192,27 @@ body { .diagramEditButton:disabled:hover { background-color: $parchment; } + +.ddButtonWrapper { + display: inline-block; + position:relative; +} + +.ddButton { + position:absolute; + display: none; + cursor: pointer; + margin: 0px; + li { + padding: 2px 6px 2px 6px; + border-bottom: 0px; + } + li:last-child { + border-bottom: 1px solid $ink; + } +} +.ddButton.show { + display:block; + z-index:1; + top:25px; +} diff --git a/static/js/indexJs.js b/static/js/indexJs.js index ebe9ec1..00d60ca 100644 --- a/static/js/indexJs.js +++ b/static/js/indexJs.js @@ -1,101 +1,95 @@ $(function(){ + //disable buttons because nodes are not yet visible $('.js-addQuestionButton').attr("disabled", true); $('.js-removeQuestionButton').attr("disabled", true); + $('.js-saveButton').attr("disabled", true); - var GO = go.GraphObject.make; //for conciseness in defining node templates +//************************* +//INITIALIZE GRAPH +//************************* + //create GOJS window + var GO = go.GraphObject.make; var currentKeyID = null; var currentNodeData = null; myDiagram = - GO(go.Diagram, "myDiagramDiv", //Diagram refers to its DIV HTML element by id + GO(go.Diagram, "myDiagramDiv", { allowCopy: false, initialContentAlignment: go.Spot.Left, layout: GO(go.LayeredDigraphLayout, { - setsPortSpots: true, // Links already know their fromSpot and toSpot + setsPortSpots: true, columnSpacing: 5, isInitial: false, isOngoing: false }), validCycle: go.Diagram.CycleNotDirected, "undoManager.isEnabled": true - }); - go.Diagram.inherit(DragLinkingTool, go.DraggingTool); - myDiagram.toolManager.draggingTool = new DragLinkingTool(); - myDiagram.addDiagramListener("LayoutCompleted", function(e) { - myDiagram.nodes.each(function(node) { - if (node.category === "Recycle") { - console.log('Node Recycled.'); - return; - } - node.minLocation = new go.Point(node.location.x, -Infinity); - }); - }); - - myDiagram.addDiagramListener('ObjectSingleClicked', function(e) { - $('.js-previewNoCard').css("display", "none"); - var myElement = document.querySelector(".js-previewContainer"); - myElement.style.display = "inline-block"; - var part = e.subject.part; - if (!(part instanceof go.Node)) return; - $(".js-editTitleText").text(part.data.name); - editButtons(part.data.rightArray); - var iconText = (part.data.card_icon == null) ? "face" : part.data.card_icon; - $("#selectedIcon").text(iconText); - var placeholderText = (part.data.card_subtext == null) ? "Answer here" : part.data.card_subtext; - $(".js-editAnswerType").attr("placeholder", placeholderText); - currentKeyID = part.data.key; - currentNodeData = myDiagram.model.findNodeDataForKey(currentKeyID); - if (part.data.rightArray.length <= 1) $('.js-removeAnswerButton').attr("disabled", true); - else $('.js-removeAnswerButton').attr("disabled", false); - $('.js-addQuestionButton').attr("disabled", false); - $('.js-removeQuestionButton').attr("disabled", false); - }); + }); - myDiagram.addDiagramListener('InitialLayoutCompleted', function(e) { - layout(); - }); + go.Diagram.inherit(DragLinkingTool, go.DraggingTool); + myDiagram.toolManager.draggingTool = new DragLinkingTool(); - // when the document is modified, add a "*" to the title and enable the "Save" button - myDiagram.addDiagramListener("Modified", function(e) { - var button = document.getElementById("SaveButton"); - if (button) button.disabled = !myDiagram.isModified; - var idx = document.title.indexOf("*"); - if (myDiagram.isModified) { - if (idx < 0) document.title += "*"; - } else { - if (idx >= 0) document.title = document.title.substr(0, idx); + myDiagram.addDiagramListener("LayoutCompleted", function(e) { + myDiagram.nodes.each(function(node) { + if (node.category === "Recycle") { + console.log('Node Recycled.'); + return; } + node.minLocation = new go.Point(node.location.x, -Infinity); }); - // To simplify this code we define a function for creating a context menu button: - function makeButton(text, action, visiblePredicate) { - return GO("ContextMenuButton", - GO(go.TextBlock, text), - { click: action }, - // don't bother with binding GraphObject.visible if there's no predicate - visiblePredicate ? new go.Binding("visible", "", visiblePredicate).ofObject() : {}); + }); + + myDiagram.addDiagramListener('ObjectSingleClicked', function(e) { + //no card shown in preview window + $('.js-previewNoCard').css("display", "none"); + var myElement = document.querySelector(".js-previewContainer"); + myElement.style.display = "inline-block"; + var part = e.subject.part; + if (!(part instanceof go.Node)) return; + //if current object clicked is a node, update preview card + $(".js-editTitleText").text(part.data.name); + editButtons(part.data.rightArray); + var iconText = (part.data.card_icon == null) ? "face" : part.data.card_icon; + $("#selectedIcon").text(iconText); + var placeholderText = "Text Field"; + $(".js-editAnswerType").attr("placeholder", placeholderText); + currentKeyID = part.data.key; + currentNodeData = myDiagram.model.findNodeDataForKey(currentKeyID); + //update add/remove buttons based on current node + if (part.data.rightArray.length <= 1) $('.js-removeAnswerButton').attr("disabled", true); + else $('.js-removeAnswerButton').attr("disabled", false); + $('.js-addQuestionButton').attr("disabled", false); + $('.js-removeQuestionButton').attr("disabled", false); + }); + + myDiagram.addDiagramListener('InitialLayoutCompleted', function(e) { + layout(); + }); + + //enable save button if diagram has changed + myDiagram.addDiagramListener("Modified", function(e) { + if (myDiagram.isModified) { + $('.js-saveButton').attr("disabled", false); } + else { + $('.js-saveButton').attr("disabled", true); + } + }); - /*var nodeMenu = // context menu for each Node - GO(go.Adornment, "Vertical", - makeButton("Delete", - function(e, obj) { - e.diagram.commandHandler.deleteSelection(); - layout(); - }), - makeButton("Add Answer", - function (e, obj) { - addRightPort(); - }) - );*/ + function makeButton(text, action, visiblePredicate) { + return GO("ContextMenuButton", + GO(go.TextBlock, text), + { click: action }, + visiblePredicate ? new go.Binding("visible", "", visiblePredicate).ofObject() : {}); + } var portSize = new go.Size(100, 40); var smallsize = new go.Size(10, 10); - // the node template - // includes a panel on each side with an itemArray of panels containing ports + //Node template includes a panel on each side with an itemArray of panels containing ports myDiagram.nodeTemplate = GO(go.Node, "Auto", @@ -105,13 +99,10 @@ $(function(){ }, GO(go.Shape, { fill: "white", stroke: "black", strokeWidth: 2 }), GO(go.Panel, "Table", { - //, - //contextMenu: nodeMenu }, new go.Binding("location", "loc", go.Point.parse).makeTwoWay(go.Point.stringify), - - // the body + //Main panel GO(go.Panel, "Auto", { row: 1, column: 1, @@ -133,22 +124,19 @@ $(function(){ editable: false }, new go.Binding("text", "name").makeTwoWay()) - ), // end Auto Panel body - // the Panel holding the left port elements, which are themselves Panels, - // created for each item in the itemArray, bound to data.leftArray - + ), + //left ports GO(go.Panel, "Vertical", new go.Binding("itemArray", "leftArray"), { row: 1, column: 0, itemTemplate: GO(go.Panel, - { _side: "left", // internal property to make it easier to tell which side it's on + { _side: "left", fromSpot: go.Spot.Left, toSpot: go.Spot.Left, fromLinkable: true, toLinkable: true, - cursor: "pointer"//, - //contextMenu: portMenu + cursor: "pointer" }, new go.Binding("portId", "portId"), GO(go.Shape, "Circle", @@ -157,11 +145,9 @@ $(function(){ desiredSize: smallsize, margin: new go.Margin(1,0,1,2) }, new go.Binding("fill", "portColor")) - )} // end itemTemplate - ), // end Vertical Panel - - // the Panel holding the right port elements, which are themselves Panels, - // created for each item in the itemArray, bound to data.rightArray + )} + ), + //right ports GO(go.Panel, "Vertical", new go.Binding("itemArray", "rightArray"), { row: 1, column: 2, @@ -172,8 +158,7 @@ $(function(){ toSpot: go.Spot.Right, fromLinkable: true, toLinkable: true, - cursor: "pointer"//, - //contextMenu: portMenu + cursor: "pointer" }, new go.Binding("portId", "portId"), GO(go.Shape, "Rectangle", @@ -190,10 +175,11 @@ $(function(){ editable: false }, new go.Binding("text", "name").makeTwoWay()) - )} // end itemTemplate - ) // end Vertical Panel -)); // end Node + )} + ) +)); + //new node has this default data myDiagram.toolManager.clickCreatingTool.archetypeNodeData = { name: "Enter question here.", leftArray: [ {"portColor":"black", "portId":"left0", 'name':'connect'} ], @@ -202,23 +188,13 @@ $(function(){ bottomArray: [], }; - /*myDiagram.contextMenu = - GO(go.Adornment, "Vertical", - makeButton("Paste", - function(e, obj) { e.diagram.commandHandler.pasteSelection(e.diagram.lastInput.documentPoint); }, - function(o) { return o.diagram.commandHandler.canPasteSelection(); }), - makeButton("Undo", - function(e, obj) { e.diagram.commandHandler.undo(); }, - function(o) { return o.diagram.commandHandler.canUndo(); }), - makeButton("Redo", - function(e, obj) { e.diagram.commandHandler.redo(); }, - function(o) { return o.diagram.commandHandler.canRedo(); }) - );*/ // load the diagram from JSON data load(); - // This custom-routing Link class tries to separate parallel links from each other. - // This assumes that ports are lined up in a row/column on a side of the node. + function load() { + myDiagram.model = go.Model.fromJson(document.getElementById("mySavedModel").value); + } + function CustomLink() { go.Link.call(this); }; @@ -242,20 +218,14 @@ $(function(){ // create a new port data object var newportdata = { portId: name, - //{# portColor: go.Brush.randomColor()#} portColor: 'lightblue', name:'NEXT' - - // if you add port data properties here, you should copy them in copyPortData above }; - // and add it to the Array of port data myDiagram.model.insertArrayItem(arr, -1, newportdata); } }); myDiagram.commitTransaction("addPort"); } - // Remove the clicked port from the node. - // Links to the port will be redrawn to the node's shape. function DragLinkingTool() { go.DraggingTool.call(this); @@ -265,7 +235,6 @@ $(function(){ this.gridSnapOrigin = new go.Point(5.5, 0); } - // Handle dragging a link specially -- by starting the RelinkingTool on that Link /** @override */ DragLinkingTool.prototype.doActivate = function() { @@ -285,10 +254,7 @@ $(function(){ } else { go.DraggingTool.prototype.doActivate.call(this); } - - - }; - // end DragLinkingTool + }; // end DragLinkingTool function layout() { myDiagram.layoutDiagram(true); @@ -296,7 +262,6 @@ $(function(){ }); } - // Change the color of the clicked port. function changeColor(port) { myDiagram.startTransaction("colorPort"); var data = port.data; @@ -304,53 +269,12 @@ $(function(){ myDiagram.commitTransaction("colorPort"); } - var textFile = null; - - function makeTextFile (text) { - var data = new Blob([text], {type: 'application/json'}); - if (textFile !== null) { - window.URL.revokeObjectURL(textFile); - } - textFile = window.URL.createObjectURL(data); - // returns a URL you can use as a href - return textFile; - }; - - // Save the model to / load it from JSON text shown on the page itself, not in a database. - function save() { - document.getElementById("mySavedModel").value = myDiagram.model.toJson(); - myDiagram.isModified = false; - var create = document.getElementById('create'), - textbox = document.getElementById('textbox'); - - var link = document.createElement('a'); - link.setAttribute('download', 'Template.json'); - link.href = makeTextFile($("#mySavedModel").val()); - document.body.appendChild(link); - - // wait for the link to be added to the document - window.requestAnimationFrame(function () { - var event = new MouseEvent('click'); - link.dispatchEvent(event); - document.body.removeChild(link); - }); - - } - - function load() { - myDiagram.model = go.Model.fromJson(document.getElementById("mySavedModel").value); - // When copying a node, we need to copy the data that the node is bound to. - // This JavaScript object includes properties for the node as a whole, and - // four properties that are Arrays holding data for each port. - // Those arrays and port data objects need to be copied too. - // Thus Model.copiesArrays and Model.copiesArrayObjects both need to be true. - // Link data includes the names of the to- and from- ports; - // so the GraphLinksModel needs to set these property names: - // linkFromPortIdProperty and linkToPortIdProperty. - } +//************************* +//EDIT CARD PROPERTIES +//************************* + //edit title field on the card var editTitleField = false; - $('.js-editTitleText').on('click', function(e){ $(this).hide(); $(this).siblings('.js-editTitleField').show(); @@ -378,6 +302,7 @@ $(function(){ } }); + //edit icon on the card var editIconField = false; $('.js-editIconOptions').hover(function(e) { $('.js-editIconIcon').css("color", "#D16103"); //$saffron @@ -418,6 +343,7 @@ $(function(){ } }); + //edit button text var editButtonField = false; $('.js-buttonWrapper').on("click", ".js-editButtonIcon", function(e){ @@ -451,18 +377,17 @@ $(function(){ } }); - function addRightPort() { - - } - + //fix layout of graph $('.js-layoutButton').click(function(e) { layout(); }); + //load premade template $('.js-loadButton').click(function(e) { - load(); + $(".js-loadButton~.ddButton").toggleClass("show"); }); + //add rightport to current node $('.js-addAnswerButton').click(function(e) { addPort("right"); layout(); @@ -470,6 +395,7 @@ $(function(){ editButtons(currentRightArray); }); + //remove rightport from current node $('.js-removeAnswerButton').click(function(e) { myDiagram.startTransaction("removePort"); myDiagram.selection.each(function(node) { @@ -487,12 +413,14 @@ $(function(){ else $('.js-removeAnswerButton').attr("disabled", false); }); + //add another node to graph $('.js-addQuestionButton').click(function(e) { var currP = myDiagram.position; var p = new go.Point(150+currP.x,50+currP.y); myDiagram.toolManager.clickCreatingTool.insertPart(p); }); + //remove another node from graph $('.js-removeQuestionButton').click(function(e) { myDiagram.startTransaction("removeQuestion"); var removeNodeArr = [] @@ -507,10 +435,52 @@ $(function(){ layout(); }); + //show save options to user $('.js-saveButton').click(function(e) { - save(); + $(".js-saveButton~.ddButton").toggleClass("show"); + document.getElementById("mySavedModel").value = myDiagram.model.toJson(); + }); + + //download JSON file to local computer + var textFile = null; + function makeTextFile (text) { + var data = new Blob([text], {type: 'application/json'}); + if (textFile !== null) { + window.URL.revokeObjectURL(textFile); + } + textFile = window.URL.createObjectURL(data); + // returns a URL you can use as a href + return textFile; + }; + $('.js-saveLocalButton').click(function (e) { + var link = document.createElement('a'); + link.setAttribute('download', 'Template.json'); + link.href = makeTextFile($("#mySavedModel").val()); + document.body.appendChild(link); + // wait for the link to be added to the document + window.requestAnimationFrame(function () { + var event = new MouseEvent('click'); + link.dispatchEvent(event); + document.body.removeChild(link); + }); + }); + + //save current graph to server + $('.js-saveRemoteButton').click(function (e) { + $.ajax({ + url: '/savecurrmodel', + type: 'GET', + dataType: 'json', + data: { + payload: $("#mySavedModel").val(), + data: 'json' + } + }); + myDiagram.isModified = false; + $(".js-saveButton~.ddButton").toggleClass("show"); }); + //update buttons shown on the preview card function editButtons(rightArray) { var buttonStr = ""; $(".js-buttonWrapper").empty(); diff --git a/templates/error_card.html b/templates/card.html similarity index 100% rename from templates/error_card.html rename to templates/card.html diff --git a/templates/index.html b/templates/index.html index 1122853..e6ccce0 100644 --- a/templates/index.html +++ b/templates/index.html @@ -25,14 +25,27 @@ - - +
+ + +
+
+ + +
Click on a card above to edit it here.
- {% include 'error_card.html' %} + {% include 'card.html' %}
@@ -41,7 +54,7 @@
diff --git a/templates/index2.html b/templates/index2.html deleted file mode 100644 index c1b3fc8..0000000 --- a/templates/index2.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - Admin Page - - - - - -{# #} -{# #} -{# #} -{# #} - - - - -{# #} - - - - - - - - - -
- Developing Justice at Harvard Law School -
- -
- -

- -
- - - - - -
- - - - - -
- - - - - diff --git a/templates/test_card.html b/templates/test_card.html deleted file mode 100644 index 6b2ed41..0000000 --- a/templates/test_card.html +++ /dev/null @@ -1,28 +0,0 @@ -
-
-
- - -

Hello, what is your name?

- - -
- world - - - -
- - -
- - -
-
-
-
\ No newline at end of file From 97883efccb344e434da3cc766aeef0b979e8c6ad Mon Sep 17 00:00:00 2001 From: Niharika Singh Date: Tue, 21 Feb 2017 16:29:52 -0500 Subject: [PATCH 2/4] input types working --- gojs.py | 2 +- static/css/index.css | 26 +++++++++++++++---- static/css/index.css.map | 2 +- static/css/index.scss | 25 ++++++++++++++---- static/js/indexJs.js | 39 ++++++++++++++++++++++++---- templates/card.html | 6 ++++- templates/datum.html | 56 ---------------------------------------- templates/datum.json | 20 ++++++++++++++ 8 files changed, 102 insertions(+), 74 deletions(-) delete mode 100644 templates/datum.html create mode 100644 templates/datum.json diff --git a/gojs.py b/gojs.py index da20e5f..d3c8a28 100644 --- a/gojs.py +++ b/gojs.py @@ -5,7 +5,7 @@ currModel = {} tempNo = 0 -with open('templates/datum.html') as data_file: +with open('templates/datum.json') as data_file: currModel = json.load(data_file) @app.route('/') diff --git a/static/css/index.css b/static/css/index.css index 3cef5d1..21aaf4c 100644 --- a/static/css/index.css +++ b/static/css/index.css @@ -71,9 +71,6 @@ body { display: none; } #preview input[type="text"] { overflow: scroll; } - #preview .js-editAnswerType { - display: inline-block; - width: 90%; } #preview .js-editIconIcon { color: #9E9E9E; display: inline-block; @@ -97,13 +94,15 @@ body { box-shadow: 0; opacity: 0; transition: .5s all; - display: inline-block; } + display: inline-block; + z-index: 20; } #mySavedModel { display: none; } .js-editButtonWrapper { - display: inline-block; } + display: inline-block; + z-index: 0; } .js-editButtonIcon { margin-left: 5px; @@ -171,4 +170,21 @@ body { z-index: 1; top: 25px; } +.js-editAnswerType { + -webkit-border-radius: 2px; + -webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1); + -webkit-padding-end: 20px; + -webkit-padding-start: 2px; + -webkit-user-select: none; + border: 1px solid #AAA; + color: #555; + font-size: inherit; + margin: 20px; + overflow: hidden; + padding: 5px 10px; + text-overflow: ellipsis; + white-space: nowrap; + width: 80%; + display: inline-block; } + /*# sourceMappingURL=index.css.map */ diff --git a/static/css/index.css.map b/static/css/index.css.map index 3b76769..b4fc0d0 100644 --- a/static/css/index.css.map +++ b/static/css/index.css.map @@ -1,6 +1,6 @@ { "version": 3, -"mappings": "AASkB,cAAc;AACb,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEjC,IAAK;EACH,MAAM,EAAE,IAAI;;AAEd,IAAK;EACH,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,IAAI;EAChB,MAAM,EAAE,CAAC;EACT,UAAU,EAtBA,OAAO;;AAyBnB,OAAQ;EACN,MAAM,EAAE,IAAI;;AAGd,aAAc;EACZ,KAAK,EAAC,IAAI;EACV,MAAM,EAAC,KAAK;;AAGd,oBAAqB;EACnB,YAAY,EAAC,eAAe;EAC5B,YAAY,EAAE,KAAK;EACnB,YAAY,EAzCR,OAAO;EA0CX,cAAc,EAAE,MAAM;EACtB,cAAc,EAAE,IAAI;EACpB,MAAM,EAAE,IAAI;;AAGd,iBAAkB;EAChB,KAAK,EAAC,GAAG;EACT,MAAM,EAAC,kBAAkB;EACzB,OAAO,EAAE,YAAY;EACrB,KAAK,EAAC,KAAK;EACX,QAAQ,EAAE,MAAM;EAChB,gBAAgB,EAAE,KAAK;EACvB,KAAK,EAAC,KAAK;EACX,OAAO,EAAC,GAAG;;AAGb,QAAS;EACP,KAAK,EAAC,GAAG;EACT,OAAO,EAAC,YAAY;EACpB,UAAU,EAAE,MAAM;EAClB,cAAc,EAAE,GAAG;EAEnB,0BAAkB;IAChB,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,MAAM;IAClB,KAAK,EAhED,OAAO;IAiEX,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,MAAM;EAGpB,6BAAqB;IACnB,OAAO,EAAC,IAAI;IACZ,WAAW,EAAC,IAAI;IAChB,YAAY,EAAE,IAAI;EAGpB,0BAAkB;IAChB,KAAK,EA/EH,OAAO;IAgFT,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,MAAM;IACjB,MAAM,EAAC,IAAI;IACX,MAAM,EAAE,OAAO;EAGjB,2BAAmB;IACjB,KAAK,EAjFC,OAAO;IAkFb,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,MAAM;IACjB,aAAa,EAAE,iBAAkB;IACjC,OAAO,EAAE,IAAI;EAGf,2BAAmB;IACjB,QAAQ,EAAE,MAAM;EAGlB,2BAAmB;IACjB,OAAO,EAAE,YAAY;IACrB,KAAK,EAAE,GAAG;EAGZ,yBAAiB;IACf,KAAK,EA3FC,OAAO;IA4Fb,OAAO,EAAE,YAAY;IACrB,QAAQ,EAAC,QAAQ;IACjB,KAAK,EAAE,IAAI;EAGb,+BAAuB;IACrB,KAAK,EAzGC,OAAO;IA0Gb,MAAM,EAAE,OAAO;;AAInB,mBAAoB;EAClB,aAAa,EAAC,IAAI;EAClB,WAAW,EAAC,MAAM;EAClB,MAAM,EAAE,MAAM;EACd,KAAK,EAAE,EAAE;EACT,OAAO,EAAE,YAAY;;AAGvB,WAAY;EACV,MAAM,EAAE,OAAO;EACf,QAAQ,EAAE,QAAQ;EAClB,UAAU,EAAE,WAAW;EACvB,UAAU,EAAE,CAAC;EACb,OAAO,EAAE,CAAC;EACV,UAAU,EAAE,OAAO;EACnB,OAAO,EAAE,YAAY;;AAGvB,aAAc;EACZ,OAAO,EAAE,IAAI;;AAGf,qBAAsB;EACpB,OAAO,EAAE,YAAY;;AAGvB,kBAAmB;EACjB,WAAW,EAAE,GAAG;EAChB,YAAY,EAAE,GAAG;EACjB,SAAS,EAAE,IAAI;EACf,QAAQ,EAAE,MAAM;EAChB,OAAO,EAAE,YAAY;EACrB,cAAc,EAAE,SAAS;;AAG3B,gBAAiB;EACf,gBAAgB,EAlJR,OAAO;EAmJf,aAAa,EAAE,eAAe;EAC9B,KAAK,EAAE,KAAK;EACZ,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,YAAY,EAAE,GAAG;EACjB,aAAa,EAAE,GAAG;EAClB,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,SAAS;EACzB,MAAM,EAAE,IAAI;EACZ,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,MAAM;EACf,aAAa,EAAE,GAAG;;AAGpB,4CAA6C;EAC3C,gBAAgB,EApKN,OAAO;EAqKjB,KAAK,EAzKD,OAAO;EA0KX,UAAU,EAAE,MAAM;EAClB,cAAc,EAAE,MAAM;EACtB,cAAc,EAAE,SAAS;EACzB,MAAM,EAAE,iBAAc;EACtB,kBAAkB,EAAE,IAAI;EACzB,eAAe,EAAE,IAAI;EACrB,UAAU,EAAE,IAAI;EACf,WAAW,EAAE,IAAI;EACjB,SAAS,EAAE,KAAK;;AAGlB,wBAAyB;EACvB,gBAAgB,EAnLV,OAAO;;AAsLf,2BAA4B;EAC1B,KAAK,EAvLC,OAAO;EAwLb,MAAM,EAAE,iBAAgB;;AAG1B,iCAAkC;EAChC,gBAAgB,EA3LN,OAAO;;AA8LnB,gBAAiB;EACf,OAAO,EAAE,YAAY;EACrB,QAAQ,EAAC,QAAQ;;AAGnB,SAAU;EACR,QAAQ,EAAC,QAAQ;EACjB,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,OAAO;EACf,MAAM,EAAE,GAAG;EACX,YAAG;IACD,OAAO,EAAE,eAAe;IACxB,aAAa,EAAE,GAAG;EAEpB,uBAAc;IACZ,aAAa,EAAE,iBAAc;;AAGjC,cAAe;EACb,OAAO,EAAC,KAAK;EACb,OAAO,EAAC,CAAC;EACT,GAAG,EAAC,IAAI", +"mappings": "AASkB,cAAc;AACb,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEjC,IAAK;EACH,MAAM,EAAE,IAAI;;AAEd,IAAK;EACH,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,IAAI;EAChB,MAAM,EAAE,CAAC;EACT,UAAU,EAtBA,OAAO;;AAyBnB,OAAQ;EACN,MAAM,EAAE,IAAI;;AAGd,aAAc;EACZ,KAAK,EAAC,IAAI;EACV,MAAM,EAAC,KAAK;;AAGd,oBAAqB;EACnB,YAAY,EAAC,eAAe;EAC5B,YAAY,EAAE,KAAK;EACnB,YAAY,EAzCR,OAAO;EA0CX,cAAc,EAAE,MAAM;EACtB,cAAc,EAAE,IAAI;EACpB,MAAM,EAAE,IAAI;;AAGd,iBAAkB;EAChB,KAAK,EAAC,GAAG;EACT,MAAM,EAAC,kBAAkB;EACzB,OAAO,EAAE,YAAY;EACrB,KAAK,EAAC,KAAK;EACX,QAAQ,EAAE,MAAM;EAChB,gBAAgB,EAAE,KAAK;EACvB,KAAK,EAAC,KAAK;EACX,OAAO,EAAC,GAAG;;AAGb,QAAS;EACP,KAAK,EAAC,GAAG;EACT,OAAO,EAAC,YAAY;EACpB,UAAU,EAAE,MAAM;EAClB,cAAc,EAAE,GAAG;EAEnB,0BAAkB;IAChB,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,MAAM;IAClB,KAAK,EAhED,OAAO;IAiEX,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,MAAM;EAGpB,6BAAqB;IACnB,OAAO,EAAC,IAAI;IACZ,WAAW,EAAC,IAAI;IAChB,YAAY,EAAE,IAAI;EAGpB,0BAAkB;IAChB,KAAK,EA/EH,OAAO;IAgFT,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,MAAM;IACjB,MAAM,EAAC,IAAI;IACX,MAAM,EAAE,OAAO;EAGjB,2BAAmB;IACjB,KAAK,EAjFC,OAAO;IAkFb,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,MAAM;IACjB,aAAa,EAAE,iBAAkB;IACjC,OAAO,EAAE,IAAI;EAGf,2BAAmB;IACjB,QAAQ,EAAE,MAAM;EAGlB,yBAAiB;IACf,KAAK,EAtFC,OAAO;IAuFb,OAAO,EAAE,YAAY;IACrB,QAAQ,EAAC,QAAQ;IACjB,KAAK,EAAE,IAAI;EAGb,+BAAuB;IACrB,KAAK,EApGC,OAAO;IAqGb,MAAM,EAAE,OAAO;;AAInB,mBAAoB;EAClB,aAAa,EAAC,IAAI;EAClB,WAAW,EAAC,MAAM;EAClB,MAAM,EAAE,MAAM;EACd,KAAK,EAAE,EAAE;EACT,OAAO,EAAE,YAAY;;AAGvB,WAAY;EACV,MAAM,EAAE,OAAO;EACf,QAAQ,EAAE,QAAQ;EAClB,UAAU,EAAE,WAAW;EACvB,UAAU,EAAE,CAAC;EACb,OAAO,EAAE,CAAC;EACV,UAAU,EAAE,OAAO;EACnB,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,EAAE;;AAGb,aAAc;EACZ,OAAO,EAAE,IAAI;;AAGf,qBAAsB;EACpB,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,CAAC;;AAGZ,kBAAmB;EACjB,WAAW,EAAE,GAAG;EAChB,YAAY,EAAE,GAAG;EACjB,SAAS,EAAE,IAAI;EACf,QAAQ,EAAE,MAAM;EAChB,OAAO,EAAE,YAAY;EACrB,cAAc,EAAE,SAAS;;AAG3B,gBAAiB;EACf,gBAAgB,EA/IR,OAAO;EAgJf,aAAa,EAAE,eAAe;EAC9B,KAAK,EAAE,KAAK;EACZ,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,YAAY,EAAE,GAAG;EACjB,aAAa,EAAE,GAAG;EAClB,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,SAAS;EACzB,MAAM,EAAE,IAAI;EACZ,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,MAAM;EACf,aAAa,EAAE,GAAG;;AAGpB,4CAA6C;EAC3C,gBAAgB,EAjKN,OAAO;EAkKjB,KAAK,EAtKD,OAAO;EAuKX,UAAU,EAAE,MAAM;EAClB,cAAc,EAAE,MAAM;EACtB,cAAc,EAAE,SAAS;EACzB,MAAM,EAAE,iBAAc;EACtB,kBAAkB,EAAE,IAAI;EACzB,eAAe,EAAE,IAAI;EACrB,UAAU,EAAE,IAAI;EACf,WAAW,EAAE,IAAI;EACjB,SAAS,EAAE,KAAK;;AAGlB,wBAAyB;EACvB,gBAAgB,EAhLV,OAAO;;AAmLf,2BAA4B;EAC1B,KAAK,EApLC,OAAO;EAqLb,MAAM,EAAE,iBAAgB;;AAG1B,iCAAkC;EAChC,gBAAgB,EAxLN,OAAO;;AA2LnB,gBAAiB;EACf,OAAO,EAAE,YAAY;EACrB,QAAQ,EAAC,QAAQ;;AAGnB,SAAU;EACR,QAAQ,EAAC,QAAQ;EACjB,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,OAAO;EACf,MAAM,EAAE,GAAG;EACX,YAAG;IACD,OAAO,EAAE,eAAe;IACxB,aAAa,EAAE,GAAG;EAEpB,uBAAc;IACZ,aAAa,EAAE,iBAAc;;AAGjC,cAAe;EACb,OAAO,EAAC,KAAK;EACb,OAAO,EAAC,CAAC;EACT,GAAG,EAAC,IAAI;;AAGV,kBAAmB;EACjB,qBAAqB,EAAE,GAAG;EAC1B,kBAAkB,EAAE,8BAA8B;EAClD,mBAAmB,EAAE,IAAI;EACzB,qBAAqB,EAAE,GAAG;EAC1B,mBAAmB,EAAE,IAAI;EACzB,MAAM,EAAE,cAAc;EACtB,KAAK,EAAE,IAAI;EACX,SAAS,EAAE,OAAO;EAClB,MAAM,EAAE,IAAI;EACZ,QAAQ,EAAE,MAAM;EAChB,OAAO,EAAE,QAAQ;EACjB,aAAa,EAAE,QAAQ;EACvB,WAAW,EAAE,MAAM;EACnB,KAAK,EAAE,GAAG;EACV,OAAO,EAAE,YAAY", "sources": ["index.scss"], "names": [], "file": "index.css" diff --git a/static/css/index.scss b/static/css/index.scss index dba186b..5177689 100644 --- a/static/css/index.scss +++ b/static/css/index.scss @@ -97,11 +97,6 @@ body { overflow: scroll; } - .js-editAnswerType { - display: inline-block; - width: 90%; - } - .js-editIconIcon { color: $grey500; display: inline-block; @@ -131,6 +126,7 @@ body { opacity: 0; transition: .5s all; display: inline-block; + z-index: 20; } #mySavedModel { @@ -139,6 +135,7 @@ body { .js-editButtonWrapper { display: inline-block; + z-index: 0; } .js-editButtonIcon { @@ -216,3 +213,21 @@ body { z-index:1; top:25px; } + +.js-editAnswerType { + -webkit-border-radius: 2px; + -webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1); + -webkit-padding-end: 20px; + -webkit-padding-start: 2px; + -webkit-user-select: none; + border: 1px solid #AAA; + color: #555; + font-size: inherit; + margin: 20px; + overflow: hidden; + padding: 5px 10px; + text-overflow: ellipsis; + white-space: nowrap; + width: 80%; + display: inline-block; +} diff --git a/static/js/indexJs.js b/static/js/indexJs.js index 00d60ca..2bbd316 100644 --- a/static/js/indexJs.js +++ b/static/js/indexJs.js @@ -1,10 +1,14 @@ $(function(){ //disable buttons because nodes are not yet visible - $('.js-addQuestionButton').attr("disabled", true); + $('.js-addAnswerButton').attr("disabled", true); + $('.js-removeAnswerButton').attr("disabled", true); $('.js-removeQuestionButton').attr("disabled", true); $('.js-saveButton').attr("disabled", true); + //build list of possible select options + var selectOptions = ["textfield", "fileupload", "none"]; + //************************* //INITIALIZE GRAPH //************************* @@ -54,8 +58,9 @@ $(function(){ editButtons(part.data.rightArray); var iconText = (part.data.card_icon == null) ? "face" : part.data.card_icon; $("#selectedIcon").text(iconText); - var placeholderText = "Text Field"; - $(".js-editAnswerType").attr("placeholder", placeholderText); + var answerType = part.data.answerType; + if ($.inArray(answerType, selectOptions) == -1) answerType = "none"; + $(".js-editAnswerType").val(answerType).prop('selected', true); currentKeyID = part.data.key; currentNodeData = myDiagram.model.findNodeDataForKey(currentKeyID); //update add/remove buttons based on current node @@ -73,6 +78,7 @@ $(function(){ myDiagram.addDiagramListener("Modified", function(e) { if (myDiagram.isModified) { $('.js-saveButton').attr("disabled", false); + myDiagram.isModified = false; } else { $('.js-saveButton').attr("disabled", true); @@ -181,7 +187,7 @@ $(function(){ //new node has this default data myDiagram.toolManager.clickCreatingTool.archetypeNodeData = { - name: "Enter question here.", + name: "Question", leftArray: [ {"portColor":"black", "portId":"left0", 'name':'connect'} ], rightArray: [ {"portColor":"lightblue", "portId":"right0", 'name':'NEXT'} ], topArray: [], @@ -286,6 +292,7 @@ $(function(){ $('.js-editTitleField').focusout(function(e){ if (editTitleField == true) { + myDiagram.startTransaction("editTitleField"); var editedText = ($('.js-editTitleField').val().length == 0) ? "Enter question here." : $('.js-editTitleField').val(); $('.js-editTitleField').val(""); $(this).hide(); @@ -293,6 +300,8 @@ $(function(){ $(this).siblings('.js-editTitleText').html(editedText); editTitleField = false; if (currentNodeData !== null) myDiagram.model.setDataProperty(currentNodeData, "name", editedText); + myDiagram.isModified = true; + myDiagram.commitTransaction("editTitleField"); } }); @@ -327,6 +336,7 @@ $(function(){ editIconField = true; } else { + myDiagram.startTransaction("editIconOptions"); $('.iconOption').each(function(i) { $(this).css("opacity", 0); var translatestr = "translate(0px,0px)"; @@ -340,6 +350,8 @@ $(function(){ $('#selectedIcon').text(selectedIcon); e.target.innerText = currentIcon; if (currentNodeData !== null) myDiagram.model.setDataProperty(currentNodeData, "card_icon", selectedIcon); + myDiagram.isModified = true; + myDiagram.commitTransaction("editIconOptions"); } }); @@ -357,6 +369,7 @@ $(function(){ $('.js-buttonWrapper').on("focusout", function(e){ if (editButtonField == true) { + myDiagram.startTransaction("editButtonWrapper"); var editedText = $(e.target).val(); editedText = editedText.toUpperCase() $(e.target).val(""); @@ -367,6 +380,8 @@ $(function(){ editButtonField = false; var i = $('.js-editButtonField').index($(e.target)); if (currentNodeData !== null) myDiagram.model.setDataProperty(currentNodeData.rightArray[i], "name", editedText); //currentNodeData.rightArray[i].name = editedText; + myDiagram.isModified = true; + myDiagram.commitTransaction("editButtonWrapper"); } layout(); }); @@ -385,6 +400,9 @@ $(function(){ //load premade template $('.js-loadButton').click(function(e) { $(".js-loadButton~.ddButton").toggleClass("show"); + myDiagram.startTransaction("loadTemplate"); + myDiagram.isModified = true; + myDiagram.commitTransaction("loadTemplate"); }); //add rightport to current node @@ -417,7 +435,7 @@ $(function(){ $('.js-addQuestionButton').click(function(e) { var currP = myDiagram.position; var p = new go.Point(150+currP.x,50+currP.y); - myDiagram.toolManager.clickCreatingTool.insertPart(p); + var newPart = myDiagram.toolManager.clickCreatingTool.insertPart(p); }); //remove another node from graph @@ -467,6 +485,8 @@ $(function(){ //save current graph to server $('.js-saveRemoteButton').click(function (e) { + myDiagram.startTransaction("save"); + $.ajax({ url: '/savecurrmodel', type: 'GET', @@ -478,6 +498,7 @@ $(function(){ }); myDiagram.isModified = false; $(".js-saveButton~.ddButton").toggleClass("show"); + myDiagram.commitTransaction("save"); }); //update buttons shown on the preview card @@ -492,4 +513,12 @@ $(function(){ $(".js-buttonWrapper").html(buttonStr); } + //if answertype select box changes + $(".js-editAnswerType").change(function (e) { + myDiagram.startTransaction("editAnswerType"); + if (currentNodeData !== null) myDiagram.model.setDataProperty(currentNodeData, "answerType", $(".js-editAnswerType option").filter(":selected").val()); + myDiagram.isModified = true; + myDiagram.commitTransaction("editAnswerType"); + }); + }); diff --git a/templates/card.html b/templates/card.html index 4d94953..d7460da 100644 --- a/templates/card.html +++ b/templates/card.html @@ -17,7 +17,11 @@

Hello, what is your name?attach_file
attach_money
- +
diff --git a/templates/datum.html b/templates/datum.html deleted file mode 100644 index ff874b7..0000000 --- a/templates/datum.html +++ /dev/null @@ -1,56 +0,0 @@ -{ "class": "go.GraphLinksModel", - "copiesArrays": true, - "copiesArrayObjects": true, - "linkFromPortIdProperty": "fromPort", - "linkToPortIdProperty": "toPort", - "nodeDataArray": [ -{"key":1, "group":"g1", "name":"What is your name?", "choice1":true, "loc":"105.53320312499999 303.66328124999995", "leftArray":[], "rightArray":[ {"portColor":"lightblue", "portId":"right0", "name":"YES"},{"portId":"right1", "portColor":"lightblue", "name":"No"} ], "first_button":"", "type":"", "KEY_NAME":"", "LOGIC":"", "VALIDATION":"", "Action":"", "ICON_ATTRIBUTE":"", "card_auto_populate":"", "card_text":"", "card_subtext":"student name", "card_id":"", "card_pattern":"", "card_type":"", "card_buttons":"", "card_class":"", "card_icon":"face", "card_helptext":"", "goto_key":"", "SubText":"", "newproprties":"", "Comments":"", "flag":true}, -{"key":2, "group":"g2", "name":"Who is the president of the united states", "loc":"2662.4013671875027 143.66328124999995", "leftArray":[ {"portColor":"#cc585c", "portId":"left1"} ], "rightArray":[ {"portId":"right0", "portColor":"lightblue", "name":"asdfadsf"},{"portId":"right1", "portColor":"lightblue", "name":"asdfadsf"},{"portId":"right2", "portColor":"lightblue", "name":"asdfas"},{"portId":"right3", "portColor":"lightblue", "name":"adsfas"} ]}, -{"key":4, "group":"g3", "name":"Question asdfadsfasdf\nasdfasdfads", "loc":"3146.0351562499995 68.66328125000001", "leftArray":[ {"portColor":"#491389", "portId":"left0"} ], "rightArray":[ {"portColor":"lightblue", "portId":"right0", "name":"YES"},{"portColor":"lightblue", "portId":"right1", "name":"NO"} ]}, -{"name":"Did you serve in Vietnam?", "leftArray":[ {"portId":"left0", "portColor":"#a0ae91", "name":"Question asdfasdf\n"} ], "rightArray":[ {"portId":"right0", "portColor":"lightblue", "name":"YES"},{"portId":"right1", "portColor":"lightblue", "name":"NO"} ], "topArray":[], "bottomArray":[], "key":-5, "loc":"3190.535156249999 194.99999999999991"}, -{"name":"Question asdasdf", "leftArray":[ {"portId":"left0", "portColor":"#f2d4fc"} ], "rightArray":[ {"portId":"right0", "portColor":"lightblue", "name":"YES"},{"portId":"right1", "portColor":"lightblue", "name":"NO"} ], "topArray":[], "bottomArray":[], "key":-6, "loc":"4110.6064453125 145"}, -{"name":"Question asdfasfd\n", "leftArray":[ {"portId":"left0", "portColor":"#d3e8f9"} ], "rightArray":[ {"portId":"right0", "portColor":"lightblue", "name":"YES"} ], "topArray":[], "bottomArray":[], "key":-7, "loc":"3792.0170898437495 109.99999999999999"}, -{"name":"Question \nasdfasdf\n", "leftArray":[ {"portId":"left0", "portColor":"#93b0c2"} ], "rightArray":[ {"portId":"right0", "portColor":"lightblue", "name":"YES"},{"portId":"right1", "portColor":"lightblue", "name":"NO"} ], "topArray":[], "bottomArray":[], "key":-8, "loc":"3507.4501953124986 125.00000000000001"}, -{"name":"What state do you live in?","group":"", "leftArray":[ {"portColor":"black", "portId":"left1"} ], "rightArray":[ {"portId":"right0", "portColor":"lightblue", "name":"Yes"},{"portId":"right1", "portColor":"lightblue", "name":"No"},{"portId":"right2", "portColor":"lightblue", "name":"Maybe"} ], "topArray":[], "bottomArray":[], "key":-9, "loc":"470.12255859375 390", "first_button":"", "type":"", "KEY_NAME":"", "LOGIC":"", "VALIDATION":"", "Action":"", "ICON_ATTRIBUTE":"", "card_auto_populate":"", "card_text":"", "card_subtext":"state name", "card_id":"", "card_pattern":"", "card_type":"", "card_buttons":"", "card_class":"", "card_icon":"language", "card_helptext":"", "goto_key":"", "SubText":"", "newproprties":"", "Comments":"", "flag":true}, -{"name":"What branch of the military did you serve?", "leftArray":[ {"portColor":"black", "portId":"left1"} ], "rightArray":[ {"portId":"right0", "portColor":"lightblue", "name":"adsfdasf"} ], "topArray":[], "bottomArray":[], "key":-10, "loc":"2706.9013671874995 270.00000000000006"}, -{"name":"Where is Van Gogh from?", "group":"", "leftArray":[ {"portColor":"black", "portId":"left0", "name":"connect"} ], "rightArray":[ {"portColor":"lightblue", "portId":"right0", "name":"YES"},{"portId":"right1", "portColor":"lightblue", "name":"NO"} ], "topArray":[], "bottomArray":[], "key":-11, "loc":"855.55712890625 400", "first_button":"", "type":"", "KEY_NAME":"", "LOGIC":"", "VALIDATION":"", "Action":"", "ICON_ATTRIBUTE":"", "card_auto_populate":"", "card_text":"", "card_subtext":"obligatory subtext", "card_id":"", "card_pattern":"", "card_type":"", "card_buttons":"", "card_class":"", "card_icon":"face", "card_helptext":"", "goto_key":"", "SubText":"", "newproprties":"", "Comments":"", "flag":true}, -{"name":"Question:", "leftArray":[ {"portColor":"black", "portId":"left0", "name":"connect"} ], "rightArray":[ {"portColor":"lightblue", "portId":"right0", "name":"Next"} ], "topArray":[], "bottomArray":[], "key":-12, "loc":"1176.4580078124998 329.99999999999994"}, -{"name":"Question:", "leftArray":[ {"portColor":"black", "portId":"left0", "name":"connect"} ], "rightArray":[ {"portColor":"lightblue", "portId":"right0", "name":"Next"},{"portId":"right1", "portColor":"lightblue", "name":"No"} ], "topArray":[], "bottomArray":[], "key":-13, "loc":"1429.5029296875011 279.99999999999994"}, -{"name":"What is your gross income?", "leftArray":[ {"portColor":"black", "portId":"left0", "name":"connect"} ], "rightArray":[ {"portColor":"lightblue", "portId":"right0", "name":"Next"} ], "topArray":[], "bottomArray":[], "key":-14, "loc":"1755.0664062499995 229.99999999999994"}, -{"name":"Are you a veteran or a dependent?", "leftArray":[ {"portColor":"black", "portId":"left0", "name":"connect"} ], "rightArray":[ {"portColor":"lightblue", "portId":"right0", "name":"Next"} ], "topArray":[], "bottomArray":[], "key":-15, "loc":"2181.20751953125 235.00000000000003"}, -{"name":"Question:", "leftArray":[ {"portColor":"black", "portId":"left0", "name":"connect"} ], "rightArray":[ {"portColor":"lightblue", "portId":"right0", "name":"Next"} ], "topArray":[], "bottomArray":[], "key":-16, "loc":"1176.4580078124998 449.9999999999999"}, -{"name":"END", "leftArray":[ {"portColor":"black", "portId":"left0", "name":"connect"} ], "rightArray":[], "topArray":[], "bottomArray":[], "key":-17, "loc":"4375.65283203125 145"}, -{"name":"Question:", "leftArray":[ {"portColor":"black", "portId":"left0", "name":"connect"} ], "rightArray":[ {"portColor":"lightblue", "portId":"right0", "name":"Next"},{"portId":"right1", "portColor":"lightblue", "name":"Next"},{"portId":"right2", "portColor":"lightblue", "name":"Next"} ], "topArray":[], "bottomArray":[], "key":-20, "loc":"1176.4580078124998 230.0000000000001"} - ], - "linkDataArray": [ -{"from":4, "to":-8, "fromPort":"right1", "toPort":"left0", "points":[2243.8720703125,71,2253.8720703125,71,2253.8720703125,71,2253.8720703125,80,2274.8720703125,80,2288.8720703125,80]}, -{"from":4, "to":-7, "fromPort":"right0", "toPort":"left0", "points":[2243.8720703125,29,2261.8720703125,29,2266.3720703125,29,2266.3720703125,30,2506.90625,30,2520.90625,30]}, -{"from":-8, "to":-7, "fromPort":"right0", "toPort":"left0", "points":[2475.90625,59,2489.90625,59,2492,59,2492,30,2510.90625,30,2520.90625,30]}, -{"from":-7, "to":-6, "fromPort":"right0", "toPort":"left0", "points":[2764.75390625,30,2774.75390625,30,2774.75390625,30,2774.75390625,100,2795.75390625,100,2809.75390625,100]}, -{"from":-8, "to":-6, "fromPort":"right1", "toPort":"left0", "points":[2475.90625,101,2497.90625,101,2498.40625,101,2498.40625,100,2799.75390625,100,2809.75390625,100]}, -{"from":-5, "to":-6, "fromPort":"right0", "toPort":"left0", "points":[2227.14111328125,134,2241.14111328125,134,2266.3720703125,134,2266.3720703125,135,2787.25390625,135,2787.25390625,100,2799.75390625,100,2809.75390625,100]}, -{"from":-5, "to":-8, "fromPort":"right1", "toPort":"left0", "points":[2227.14111328125,176,2249.14111328125,176,2252,176,2252,80,2278.8720703125,80,2288.8720703125,80]}, -{"from":-9, "to":-10, "fromPort":"right0", "toPort":"left1", "points":[478.771484375,113,504.771484375,113,504.771484375,113,504.771484375,115,1680.890625,115,1680.890625,140,1706.5146484375,140,1720.5146484375,140]}, -{"from":-10, "to":-5, "fromPort":"right0", "toPort":"left0", "points":[1911.4384765625,140,1921.4384765625,140,1964.865966796875,140,1964.865966796875,155,1976.29345703125,155,1990.29345703125,155]}, -{"from":2, "to":4, "fromPort":"right0", "toPort":"left0", "points":[1928.5625,39,1946.5625,39,1948,39,1948,50,1959.5625,50,1973.5625,50]}, -{"from":1, "to":-9, "fromPort":"right1", "toPort":"left1", "points":[242.84765625,111,252.84765625,111,279.34765625,111,279.34765625,155,273.84765625,155,287.84765625,155]}, -{"from":-9, "to":-11, "fromPort":"right1", "toPort":"left0", "points":[478.771484375,155,500.771484375,155,500.771484375,155,500.771484375,150,513.771484375,150,523.771484375,150]}, -{"from":-11, "to":-12, "fromPort":"right0", "toPort":"left0", "points":[714.6953125,150,724.6953125,150,751.1953125,150,751.1953125,180,745.6953125,180,759.6953125,180]}, -{"from":-12, "to":-13, "fromPort":"right0", "toPort":"left0", "points":[950.619140625,180,960.619140625,180,989.119140625,180,989.119140625,180,985.619140625,180,995.619140625,180]}, -{"from":-13, "to":-14, "fromPort":"right0", "toPort":"left0", "points":[1186.54296875,180,1196.54296875,180,1196.54296875,180,1196.54296875,180,1221.54296875,180,1231.54296875,180]}, -{"from":-14, "to":-15, "fromPort":"right0", "toPort":"left0", "points":[1422.466796875,180,1432.466796875,180,1460.966796875,180,1460.966796875,180,1457.466796875,180,1467.466796875,180]}, -{"from":-15, "to":-10, "fromPort":"right0", "toPort":"left1", "points":[1658.390625,180,1672.390625,180,1707.45263671875,180,1707.45263671875,140,1710.5146484375,140,1720.5146484375,140]}, -{"from":-9, "to":-16, "fromPort":"right2", "toPort":"left0", "points":[478.771484375,197,488.771484375,197,515.271484375,197,515.271484375,215,509.771484375,215,523.771484375,215]}, -{"from":2, "to":-5, "fromPort":"right1", "toPort":"left0", "points":[1928.5625,81,1938.5625,81,1940,81,1940,155,1976.29345703125,155,1990.29345703125,155]}, -{"from":-6, "to":-17, "fromPort":"right0", "toPort":"left0", "points":[3049.7119140625,79,3067.7119140625,79,3068,79,3068,100,3080.7119140625,100,3094.7119140625,100]}, -{"from":-6, "to":-17, "fromPort":"right1", "toPort":"left0", "points":[3049.7119140625,121,3071.7119140625,121,3071.7119140625,121,3071.7119140625,100,3084.7119140625,100,3094.7119140625,100]}, -{"from":2, "to":-8, "fromPort":"right2", "toPort":"left0"}, -{"from":2, "to":-7, "fromPort":"right3", "toPort":"left0"}, -{"from":-16, "to":-13, "fromPort":"right0", "toPort":"left0"}, -{"from":-13, "to":-15, "fromPort":"right1", "toPort":"left0"}, -{"from":-11, "to":-16, "fromPort":"right1", "toPort":"left0"}, -{"from":1, "to":-20, "fromPort":"right0", "toPort":"left0"}, -{"from":-20, "to":-13, "fromPort":"right2", "toPort":"left0"}, -{"from":-20, "to":-14, "fromPort":"right1", "toPort":"left0"}, -{"from":-20, "to":2, "fromPort":"right0", "toPort":"left1"} - ]} diff --git a/templates/datum.json b/templates/datum.json new file mode 100644 index 0000000..f7e97de --- /dev/null +++ b/templates/datum.json @@ -0,0 +1,20 @@ +{ "class": "go.GraphLinksModel", + "copiesArrays": true, + "copiesArrayObjects": true, + "linkFromPortIdProperty": "fromPort", + "linkToPortIdProperty": "toPort", + "nodeDataArray": [ +{"loc":"4375.65283203125 145", "name":"END", "leftArray":[ {"portId":"left0", "name":"connect", "portColor":"black"} ], "topArray":[], "bottomArray":[], "key":-17, "rightArray":[]}, +{"name":"What is your name?", "leftArray":[ {"portColor":"black", "portId":"left0", "name":"connect"} ], "rightArray":[ {"portColor":"lightblue", "portId":"right0", "name":"NEXT"} ], "topArray":[], "bottomArray":[], "key":-2, "answerType":"textfield"}, +{"name":"What is your address?", "leftArray":[ {"portColor":"black", "portId":"left0", "name":"connect"} ], "rightArray":[ {"portColor":"lightblue", "portId":"right0", "name":"NEXT"} ], "topArray":[], "bottomArray":[], "key":-3, "answerType":"textfield"}, +{"name":"What is your phone number?", "leftArray":[ {"portColor":"black", "portId":"left0", "name":"connect"} ], "rightArray":[ {"portColor":"lightblue", "portId":"right0", "name":"NEXT"} ], "topArray":[], "bottomArray":[], "key":-4, "answerType":"textfield"}, +{"name":"Do you know what type of legal help you need?", "leftArray":[ {"portColor":"black", "portId":"left0", "name":"connect"} ], "rightArray":[ {"portColor":"lightblue", "portId":"right0", "name":"YES"},{"portId":"right1", "portColor":"lightblue", "name":"NO"} ], "topArray":[], "bottomArray":[], "key":-5}, +{"name":"What is your e-mail address?", "leftArray":[ {"portColor":"black", "portId":"left0", "name":"connect"} ], "rightArray":[ {"portColor":"lightblue", "portId":"right0", "name":"NEXT"} ], "topArray":[], "bottomArray":[], "key":-6, "answerType":"textfield"} + ], + "linkDataArray": [ +{"from":-2, "to":-3, "fromPort":"right0", "toPort":"left0"}, +{"from":-3, "to":-4, "fromPort":"right0", "toPort":"left0"}, +{"from":-4, "to":-6, "fromPort":"right0", "toPort":"left0"}, +{"from":-6, "to":-5, "fromPort":"right0", "toPort":"left0"}, +{"from":-5, "to":-17, "fromPort":"right0", "toPort":"left0"} + ]} From 5cecb4b4f214a9023c6d8b719e3ae593b0e6099c Mon Sep 17 00:00:00 2001 From: Niharika Singh Date: Sat, 4 Mar 2017 19:41:12 -0500 Subject: [PATCH 3/4] loading works --- gojs.py | 15 + static/css/index.css | 14 +- static/css/index.css.map | 2 +- static/css/index.scss | 16 +- static/js/go.js | 3968 ++++++++++++++++++----------------- static/js/indexJs.js | 54 +- tempNo.txt | 1 + templates/ContactInfo.json | 20 + templates/Demographics.json | 50 + templates/End.json | 15 + templates/datum.json | 14 +- templates/index.html | 10 +- 12 files changed, 2203 insertions(+), 1976 deletions(-) create mode 100644 tempNo.txt create mode 100644 templates/ContactInfo.json create mode 100644 templates/Demographics.json create mode 100644 templates/End.json diff --git a/gojs.py b/gojs.py index d3c8a28..682659d 100644 --- a/gojs.py +++ b/gojs.py @@ -16,11 +16,26 @@ def hello_world(): def postdata(): currModel = json.loads(request.args.get("payload")) global tempNo + with open("tempNo.txt", "r") as tempNoFile: + tempNo = int(tempNoFile.readlines()[0]) with open('JSONtemp/temp'+str(tempNo)+'.txt', 'w') as write_file: json.dump(currModel, write_file, indent=4, sort_keys=True) tempNo += 1 + with open("tempNo.txt", "w") as tempNoFile: + tempNoFile.write(str(tempNo)) return "OK" +@app.route('/loadtemplate', methods = ['GET']) +def loadtemplate(): + print "******bp1" + loadFileName = request.args.get("payload") + print "******bp2 " + loadFileName + loadTemplate = {} + with open("templates/" + loadFileName) as loadFile: + loadTemplate = loadFile.readlines() + print "******bp3 " + " ".join(loadTemplate) + return " ".join(loadTemplate), 200 + @app.errorhandler(500) def handle_bad_request(e): print e diff --git a/static/css/index.css b/static/css/index.css index 21aaf4c..05240c1 100644 --- a/static/css/index.css +++ b/static/css/index.css @@ -107,6 +107,7 @@ body { .js-editButtonIcon { margin-left: 5px; margin-right: 5px; + margin-bottom: 10px; min-width: 50px; overflow: scroll; display: inline-block; @@ -119,7 +120,7 @@ body { max-width: 75px; margin-left: 5px; margin-right: 5px; - margin-bottom: 0px; + margin-bottom: 10px; display: none; text-transform: uppercase; height: 54px; @@ -187,4 +188,15 @@ body { width: 80%; display: inline-block; } +.zoom { + position: absolute; + top: 5px; + left: 5px; + z-index: 999; } + .zoom .diagramEditButton { + display: block; + min-width: 30px; + margin-bottom: 2px; + margin-left: 0px; } + /*# sourceMappingURL=index.css.map */ diff --git a/static/css/index.css.map b/static/css/index.css.map index b4fc0d0..0542790 100644 --- a/static/css/index.css.map +++ b/static/css/index.css.map @@ -1,6 +1,6 @@ { "version": 3, -"mappings": "AASkB,cAAc;AACb,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEjC,IAAK;EACH,MAAM,EAAE,IAAI;;AAEd,IAAK;EACH,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,IAAI;EAChB,MAAM,EAAE,CAAC;EACT,UAAU,EAtBA,OAAO;;AAyBnB,OAAQ;EACN,MAAM,EAAE,IAAI;;AAGd,aAAc;EACZ,KAAK,EAAC,IAAI;EACV,MAAM,EAAC,KAAK;;AAGd,oBAAqB;EACnB,YAAY,EAAC,eAAe;EAC5B,YAAY,EAAE,KAAK;EACnB,YAAY,EAzCR,OAAO;EA0CX,cAAc,EAAE,MAAM;EACtB,cAAc,EAAE,IAAI;EACpB,MAAM,EAAE,IAAI;;AAGd,iBAAkB;EAChB,KAAK,EAAC,GAAG;EACT,MAAM,EAAC,kBAAkB;EACzB,OAAO,EAAE,YAAY;EACrB,KAAK,EAAC,KAAK;EACX,QAAQ,EAAE,MAAM;EAChB,gBAAgB,EAAE,KAAK;EACvB,KAAK,EAAC,KAAK;EACX,OAAO,EAAC,GAAG;;AAGb,QAAS;EACP,KAAK,EAAC,GAAG;EACT,OAAO,EAAC,YAAY;EACpB,UAAU,EAAE,MAAM;EAClB,cAAc,EAAE,GAAG;EAEnB,0BAAkB;IAChB,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,MAAM;IAClB,KAAK,EAhED,OAAO;IAiEX,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,MAAM;EAGpB,6BAAqB;IACnB,OAAO,EAAC,IAAI;IACZ,WAAW,EAAC,IAAI;IAChB,YAAY,EAAE,IAAI;EAGpB,0BAAkB;IAChB,KAAK,EA/EH,OAAO;IAgFT,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,MAAM;IACjB,MAAM,EAAC,IAAI;IACX,MAAM,EAAE,OAAO;EAGjB,2BAAmB;IACjB,KAAK,EAjFC,OAAO;IAkFb,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,MAAM;IACjB,aAAa,EAAE,iBAAkB;IACjC,OAAO,EAAE,IAAI;EAGf,2BAAmB;IACjB,QAAQ,EAAE,MAAM;EAGlB,yBAAiB;IACf,KAAK,EAtFC,OAAO;IAuFb,OAAO,EAAE,YAAY;IACrB,QAAQ,EAAC,QAAQ;IACjB,KAAK,EAAE,IAAI;EAGb,+BAAuB;IACrB,KAAK,EApGC,OAAO;IAqGb,MAAM,EAAE,OAAO;;AAInB,mBAAoB;EAClB,aAAa,EAAC,IAAI;EAClB,WAAW,EAAC,MAAM;EAClB,MAAM,EAAE,MAAM;EACd,KAAK,EAAE,EAAE;EACT,OAAO,EAAE,YAAY;;AAGvB,WAAY;EACV,MAAM,EAAE,OAAO;EACf,QAAQ,EAAE,QAAQ;EAClB,UAAU,EAAE,WAAW;EACvB,UAAU,EAAE,CAAC;EACb,OAAO,EAAE,CAAC;EACV,UAAU,EAAE,OAAO;EACnB,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,EAAE;;AAGb,aAAc;EACZ,OAAO,EAAE,IAAI;;AAGf,qBAAsB;EACpB,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,CAAC;;AAGZ,kBAAmB;EACjB,WAAW,EAAE,GAAG;EAChB,YAAY,EAAE,GAAG;EACjB,SAAS,EAAE,IAAI;EACf,QAAQ,EAAE,MAAM;EAChB,OAAO,EAAE,YAAY;EACrB,cAAc,EAAE,SAAS;;AAG3B,gBAAiB;EACf,gBAAgB,EA/IR,OAAO;EAgJf,aAAa,EAAE,eAAe;EAC9B,KAAK,EAAE,KAAK;EACZ,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,YAAY,EAAE,GAAG;EACjB,aAAa,EAAE,GAAG;EAClB,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,SAAS;EACzB,MAAM,EAAE,IAAI;EACZ,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,MAAM;EACf,aAAa,EAAE,GAAG;;AAGpB,4CAA6C;EAC3C,gBAAgB,EAjKN,OAAO;EAkKjB,KAAK,EAtKD,OAAO;EAuKX,UAAU,EAAE,MAAM;EAClB,cAAc,EAAE,MAAM;EACtB,cAAc,EAAE,SAAS;EACzB,MAAM,EAAE,iBAAc;EACtB,kBAAkB,EAAE,IAAI;EACzB,eAAe,EAAE,IAAI;EACrB,UAAU,EAAE,IAAI;EACf,WAAW,EAAE,IAAI;EACjB,SAAS,EAAE,KAAK;;AAGlB,wBAAyB;EACvB,gBAAgB,EAhLV,OAAO;;AAmLf,2BAA4B;EAC1B,KAAK,EApLC,OAAO;EAqLb,MAAM,EAAE,iBAAgB;;AAG1B,iCAAkC;EAChC,gBAAgB,EAxLN,OAAO;;AA2LnB,gBAAiB;EACf,OAAO,EAAE,YAAY;EACrB,QAAQ,EAAC,QAAQ;;AAGnB,SAAU;EACR,QAAQ,EAAC,QAAQ;EACjB,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,OAAO;EACf,MAAM,EAAE,GAAG;EACX,YAAG;IACD,OAAO,EAAE,eAAe;IACxB,aAAa,EAAE,GAAG;EAEpB,uBAAc;IACZ,aAAa,EAAE,iBAAc;;AAGjC,cAAe;EACb,OAAO,EAAC,KAAK;EACb,OAAO,EAAC,CAAC;EACT,GAAG,EAAC,IAAI;;AAGV,kBAAmB;EACjB,qBAAqB,EAAE,GAAG;EAC1B,kBAAkB,EAAE,8BAA8B;EAClD,mBAAmB,EAAE,IAAI;EACzB,qBAAqB,EAAE,GAAG;EAC1B,mBAAmB,EAAE,IAAI;EACzB,MAAM,EAAE,cAAc;EACtB,KAAK,EAAE,IAAI;EACX,SAAS,EAAE,OAAO;EAClB,MAAM,EAAE,IAAI;EACZ,QAAQ,EAAE,MAAM;EAChB,OAAO,EAAE,QAAQ;EACjB,aAAa,EAAE,QAAQ;EACvB,WAAW,EAAE,MAAM;EACnB,KAAK,EAAE,GAAG;EACV,OAAO,EAAE,YAAY", +"mappings": "AASkB,cAAc;AACb,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEjC,IAAK;EACH,MAAM,EAAE,IAAI;;AAEd,IAAK;EACH,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,IAAI;EAChB,MAAM,EAAE,CAAC;EACT,UAAU,EAtBA,OAAO;;AAyBnB,OAAQ;EACN,MAAM,EAAE,IAAI;;AAGd,aAAc;EACZ,KAAK,EAAC,IAAI;EACV,MAAM,EAAC,KAAK;;AAGd,oBAAqB;EACnB,YAAY,EAAC,eAAe;EAC5B,YAAY,EAAE,KAAK;EACnB,YAAY,EAzCR,OAAO;EA0CX,cAAc,EAAE,MAAM;EACtB,cAAc,EAAE,IAAI;EACpB,MAAM,EAAE,IAAI;;AAGd,iBAAkB;EAChB,KAAK,EAAC,GAAG;EACT,MAAM,EAAC,kBAAkB;EACzB,OAAO,EAAE,YAAY;EACrB,KAAK,EAAC,KAAK;EACX,QAAQ,EAAE,MAAM;EAChB,gBAAgB,EAAE,KAAK;EACvB,KAAK,EAAC,KAAK;EACX,OAAO,EAAC,GAAG;;AAGb,QAAS;EACP,KAAK,EAAC,GAAG;EACT,OAAO,EAAC,YAAY;EACpB,UAAU,EAAE,MAAM;EAClB,cAAc,EAAE,GAAG;EAEnB,0BAAkB;IAChB,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,MAAM;IAClB,KAAK,EAhED,OAAO;IAiEX,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,MAAM;EAGpB,6BAAqB;IACnB,OAAO,EAAC,IAAI;IACZ,WAAW,EAAC,IAAI;IAChB,YAAY,EAAE,IAAI;EAGpB,0BAAkB;IAChB,KAAK,EA/EH,OAAO;IAgFT,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,MAAM;IACjB,MAAM,EAAC,IAAI;IACX,MAAM,EAAE,OAAO;EAGjB,2BAAmB;IACjB,KAAK,EAjFC,OAAO;IAkFb,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,MAAM;IACjB,aAAa,EAAE,iBAAkB;IACjC,OAAO,EAAE,IAAI;EAGf,2BAAmB;IACjB,QAAQ,EAAE,MAAM;EAGlB,yBAAiB;IACf,KAAK,EAtFC,OAAO;IAuFb,OAAO,EAAE,YAAY;IACrB,QAAQ,EAAC,QAAQ;IACjB,KAAK,EAAE,IAAI;EAGb,+BAAuB;IACrB,KAAK,EApGC,OAAO;IAqGb,MAAM,EAAE,OAAO;;AAInB,mBAAoB;EAClB,aAAa,EAAC,IAAI;EAClB,WAAW,EAAC,MAAM;EAClB,MAAM,EAAE,MAAM;EACd,KAAK,EAAE,EAAE;EACT,OAAO,EAAE,YAAY;;AAGvB,WAAY;EACV,MAAM,EAAE,OAAO;EACf,QAAQ,EAAE,QAAQ;EAClB,UAAU,EAAE,WAAW;EACvB,UAAU,EAAE,CAAC;EACb,OAAO,EAAE,CAAC;EACV,UAAU,EAAE,OAAO;EACnB,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,EAAE;;AAGb,aAAc;EACZ,OAAO,EAAE,IAAI;;AAGf,qBAAsB;EACpB,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,CAAC;;AAGZ,kBAAmB;EACjB,WAAW,EAAE,GAAG;EAChB,YAAY,EAAE,GAAG;EACjB,aAAa,EAAE,IAAI;EACnB,SAAS,EAAE,IAAI;EACf,QAAQ,EAAE,MAAM;EAChB,OAAO,EAAE,YAAY;EACrB,cAAc,EAAE,SAAS;;AAG3B,gBAAiB;EACf,gBAAgB,EAhJR,OAAO;EAiJf,aAAa,EAAE,eAAe;EAC9B,KAAK,EAAE,KAAK;EACZ,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,YAAY,EAAE,GAAG;EACjB,aAAa,EAAE,IAAI;EACnB,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,SAAS;EACzB,MAAM,EAAE,IAAI;EACZ,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,MAAM;EACf,aAAa,EAAE,GAAG;;AAGpB,4CAA6C;EAC3C,gBAAgB,EAlKN,OAAO;EAmKjB,KAAK,EAvKD,OAAO;EAwKX,UAAU,EAAE,MAAM;EAClB,cAAc,EAAE,MAAM;EACtB,cAAc,EAAE,SAAS;EACzB,MAAM,EAAE,iBAAc;EACtB,kBAAkB,EAAE,IAAI;EACzB,eAAe,EAAE,IAAI;EACrB,UAAU,EAAE,IAAI;EACf,WAAW,EAAE,IAAI;EACjB,SAAS,EAAE,KAAK;;AAGlB,wBAAyB;EACvB,gBAAgB,EAjLV,OAAO;;AAoLf,2BAA4B;EAC1B,KAAK,EArLC,OAAO;EAsLb,MAAM,EAAE,iBAAgB;;AAG1B,iCAAkC;EAChC,gBAAgB,EAzLN,OAAO;;AA4LnB,gBAAiB;EACf,OAAO,EAAE,YAAY;EACrB,QAAQ,EAAC,QAAQ;;AAGnB,SAAU;EACR,QAAQ,EAAC,QAAQ;EACjB,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,OAAO;EACf,MAAM,EAAE,GAAG;EACX,YAAG;IACD,OAAO,EAAE,eAAe;IACxB,aAAa,EAAE,GAAG;EAEpB,uBAAc;IACZ,aAAa,EAAE,iBAAc;;AAGjC,cAAe;EACb,OAAO,EAAC,KAAK;EACb,OAAO,EAAC,CAAC;EACT,GAAG,EAAC,IAAI;;AAGV,kBAAmB;EACjB,qBAAqB,EAAE,GAAG;EAC1B,kBAAkB,EAAE,8BAA8B;EAClD,mBAAmB,EAAE,IAAI;EACzB,qBAAqB,EAAE,GAAG;EAC1B,mBAAmB,EAAE,IAAI;EACzB,MAAM,EAAE,cAAc;EACtB,KAAK,EAAE,IAAI;EACX,SAAS,EAAE,OAAO;EAClB,MAAM,EAAE,IAAI;EACZ,QAAQ,EAAE,MAAM;EAChB,OAAO,EAAE,QAAQ;EACjB,aAAa,EAAE,QAAQ;EACvB,WAAW,EAAE,MAAM;EACnB,KAAK,EAAE,GAAG;EACV,OAAO,EAAE,YAAY;;AAGvB,KAAM;EACJ,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,GAAG;EACR,IAAI,EAAE,GAAG;EACT,OAAO,EAAE,GAAG;EACZ,wBAAmB;IACjB,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,GAAG;IAClB,WAAW,EAAE,GAAG", "sources": ["index.scss"], "names": [], "file": "index.css" diff --git a/static/css/index.scss b/static/css/index.scss index 5177689..c96ca2f 100644 --- a/static/css/index.scss +++ b/static/css/index.scss @@ -141,6 +141,7 @@ body { .js-editButtonIcon { margin-left: 5px; margin-right: 5px; + margin-bottom: 10px; min-width: 50px; overflow: scroll; display: inline-block; @@ -154,7 +155,7 @@ body { max-width: 75px; margin-left: 5px; margin-right: 5px; - margin-bottom: 0px; + margin-bottom: 10px; display: none; text-transform: uppercase; height: 54px; @@ -231,3 +232,16 @@ body { width: 80%; display: inline-block; } + +.zoom { + position: absolute; + top: 5px; + left: 5px; + z-index: 999; + .diagramEditButton { + display: block; + min-width: 30px; + margin-bottom: 2px; + margin-left: 0px; + } +} diff --git a/static/js/go.js b/static/js/go.js index 6fec0e9..0cdb906 100755 --- a/static/js/go.js +++ b/static/js/go.js @@ -1,1409 +1,1469 @@ /* - * GoJS v1.6.22 JavaScript Library for HTML Diagrams + * GoJS v1.7.2 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-2016 by Northwoods Software Corporation. All Rights Reserved. - * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.6.22/doc/license.html. + * Copyright (C) 1998-2017 by Northwoods Software Corporation. All Rights Reserved. + * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.7.2/doc/license.html. */ -(function(window) { var g,ea={};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(window) { var g,da={};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 f.apply(a,e.concat(d.call(arguments)))}function c(){}var d=Array.prototype.slice,e=d.call(arguments,1),f=this;c.prototype=this.prototype;b.prototype=new c;return b}); (function(){for(var a=0,b=["ms","moz","webkit","o"],c=0;c=a.length?a.push(c):a.splice(b,0,c):v.k("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Uh:function(a,b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):v.k("Cannot remove an object from an HTMLCollection or NodeList at "+b)},Bx:[],L:function(){var a=v.Bx.pop();return void 0===a?new z:a},Mb:function(a,b){var c=v.Bx.pop();if(void 0===c)return new z(a,b);c.x=a;c.y=b;return c},v:function(a){v.Bx.push(a)}, -KA:[],Fl:function(){var a=v.KA.pop();return void 0===a?new ia:a},$j:function(a){v.KA.push(a)},Cx:[],ag:function(){var a=v.Cx.pop();return void 0===a?new A:a},hk:function(a,b,c,d){var e=v.Cx.pop();if(void 0===e)return new A(a,b,c,d);e.x=a;e.y=b;e.width=c;e.height=d;return e},Vb:function(a){v.Cx.push(a)},LA:[],rh:function(){var a=v.LA.pop();return void 0===a?new ja:a},$e:function(a){v.LA.push(a)},Dx:null,s:function(){var a=v.Dx;return null!==a?(v.Dx=null,a):new ma},q:function(a){a.reset();v.Dx=a},JA:[], -jb:function(){var a=v.JA.pop();return void 0===a?[]:a},sa:function(a){a.length=0;v.JA.push(a)},hj:Object.freeze([]),Jl:1,dc:function(a){a.__gohashid=v.Jl++},ot:function(a){var b=a.__gohashid;void 0===b&&(b=v.Jl++,a.__gohashid=b);return b},ld:function(a){return a.__gohashid},ea:function(a,b){b.Mx=a;ea[a]=b},Ja:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},Vh:function(a){a.QF=!0},defineProperty:function(a,b,c,d,e){v.j(a,"function","Util.defineProperty:classfunc"); -v.j(b,"object","Util.defineProperty:propobj");v.j(c,"function","Util.defineProperty:getter");v.j(d,"function","Util.defineProperty:setter");for(var f in b){b=b[f];c={get:c,set:d,enumerable:!0};if(void 0!==e)for(var h in e)c[h]=e[h];Object.defineProperty(a.prototype,f,c);e=Object.getOwnPropertyDescriptor(a.prototype,f);b&&e&&Object.defineProperty(a.prototype,b,e);break}},WI:!1,u:function(a,b,c,d){v.j(a,"function","Util.defineReadOnlyProperty:classfunc");v.j(b,"object","Util.defineReadOnlyProperty:propobj"); -v.j(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var f=b[e];b={get:c,set:function(a){v.k('The property "'+f+'" 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);f&&d&&Object.defineProperty(a.prototype,f,d);break}},Kd:function(a,b){for(var c in b)b[c]=!0;a.prototype.MF=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"=== -typeof a?v.af(a):null===a?"*":""},af:function(a){if("function"===typeof a){if(a.Mx)return a.Mx;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,c).trim();if(""!==b)return a.Mx=b}else if("object"===typeof a&&a.constructor)return v.af(a.constructor);return typeof a},p:function(a,b,c){v.j(a,"function","Util.defineEnumValue:classfunc");v.j(b,"string","Util.defineEnumValue:name");v.j(c,"number","Util.defineEnumValue:num");c=new fa(a,b,c);Object.freeze(c);a[b]=c;var d=a.ku;d instanceof -na||(d=new na("string",fa),a.ku=d);d.add(b,c);return c},qb: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){}return c},Ka: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){}},Xt:function(a,b){v.j(a,"object","Setting properties requires Objects as arguments");v.j(b,"object","Setting properties requires Objects as arguments"); -var c=a instanceof D,d=a instanceof E,e;for(e in b){""===e&&v.k("Setting properties requires non-empty property names");var f=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,f="",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[v.ug("7ca11abfd7330390")](v.ug(c[d-1]),10,15*d+0);b[v.ug("7ca11abfd022028846")]=v.ug("39f046ebb36e4b");for(d=1;5>d;d++)b[v.ug("7ca11abfd7330390")](v.ug(c[d- -1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])v.p=function(a,b){var c=new fa(a,b,2);Object.freeze(c);a[b]=c;var d=a.ku;d instanceof na||(d=new na("string",fa),a.ku=d);d.add(b,c);return c};return a}();function fa(a,b,c){v.dc(this);this.ZA=a;this.Ob=b;this.VF=c}v.ea("EnumValue",fa);fa.prototype.toString=function(){return v.af(this.ZA)+"."+this.Ob};v.u(fa,{qe:"classType"},function(){return this.ZA});v.u(fa,{name:"name"},function(){return this.Ob});v.u(fa,{value:"value"},function(){return this.VF}); -var ra;fa.findName=ra=function(a,b){if(void 0===b||null===b||""===b)return null;v.j(a,"function","findName:classfunc");v.j(b,"string","EnumValue.findName:name");var c=a.ku;return c instanceof na?c.ja(b):null};function sa(){this.XA=[]}sa.prototype.toString=function(){return this.XA.join("")};sa.prototype.add=function(a){""!==a&&this.XA.push(a)};function ta(){} -function va(a){void 0===a&&(a=42);this.seed=a;this.xx=48271;this.ju=2147483647;this.IA=this.ju/this.xx;this.yF=this.ju%this.xx;this.xF=1/this.ju;this.random()}va.prototype.random=function(){var a=this.seed%this.IA*this.xx-this.seed/this.IA*this.yF;this.seed=0this.key)return!1;v.La(a)}var a=a.n,b=a.length,c=++this.Oc,d=this.Ih;if(null!==d)for(;cthis.key)return!1;v.La(a)}var b=--this.Oc;if(0<=b)return this.key=b,this.value=a.n[b],!0;this.Cf();return!1};Ba.prototype.first=Ba.prototype.first=function(){var a=this.tc;this.eb=a.F;var b=a.n;this.Oc=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null}; -Ba.prototype.any=function(a){var b=this.tc;b.wj=null;var c=b.F,d=b.n,e=d.length;this.Oc=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.F!==c&&v.La(b)}return!1};Ba.prototype.all=function(a){var b=this.tc;b.wj=null;var c=b.F,d=b.n,e=d.length;this.Oc=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.F!==c&&v.La(b)}return!0};Ba.prototype.each=function(a){var b=this.tc;b.wj=null;var c=b.F,d=b.n,e=d.length;this.Oc=e;for(e-=1;0<=e;e--)a(d[e]),b.F!==c&&v.La(b);return this}; -Ba.prototype.map=function(a){var b=this.tc;b.wj=null;var c=b.F,d=[],e=b.n,f=e.length;this.Oc=f;for(f-=1;0<=f;f--)d.push(a(e[f])),b.F!==c&&v.La(b);a=new I;a.n=d;a.Bc();return a.i};Ba.prototype.filter=function(a){var b=this.tc;b.wj=null;var c=b.F,d=[],e=b.n,f=e.length;this.Oc=f;for(f-=1;0<=f;f--){var h=e[f];a(h)&&d.push(h);b.F!==c&&v.La(b)}a=new I(b.ia);a.n=d;a.Bc();return a.i};Ba.prototype.concat=function(a){this.tc.wj=null;return new za(this,a.i)};v.u(Ba,{count:"count"},function(){return this.tc.n.length}); -Ba.prototype.Cf=function(){this.key=-1;this.value=null;this.eb=-1;this.tc.wj=this};Ba.prototype.toString=function(){return"ListIteratorBackwards("+this.Oc+"/"+this.tc.count+")"}; -function I(a){v.dc(this);this.D=!1;this.n=[];this.F=0;this.wj=this.Xb=null;void 0===a||null===a?this.ia=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.ia=a:v.va(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.ia=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:v.va(a,"null, a primitive type name, or a class type", -"List constructor: type")}v.ea("List",I);I.prototype.Bc=function(){var a=this.F;a++;999999999a||a>=b.length)&&v.va(a,"0 <= i < length",I,"elt:i");return b[a]};I.prototype.setElt=I.prototype.set=I.prototype.Ig=function(a,b){var c=this.n;(0>a||a>=c.length)&&v.va(a,"0 <= i < length",I,"setElt:i");this.D&&v.ka(this,a);c[a]=b};I.prototype.first=I.prototype.first=function(){var a=this.n;return 0===a.length?null:a[0]}; -I.prototype.last=I.prototype.Qd=function(){var a=this.n,b=a.length;return 0a&&v.va(a,">= 0",I,"insertAt:i");this.D&&v.ka(this,a);var c=this.n;a>=c.length?c.push(b):c.splice(a,0,b);this.Bc();return!0};I.prototype.remove=I.prototype["delete"]=I.prototype.remove=function(a){if(null===a)return!1;this.D&&v.ka(this,a);var b=this.n;a=b.indexOf(a);if(-1===a)return!1;a===b.length-1?b.pop():b.splice(a,1);this.Bc();return!0}; -I.prototype.removeAt=I.prototype.Vc=function(a){var b=this.n;(0>a||a>=b.length)&&v.va(a,"0 <= i < length",I,"removeAt:i");this.D&&v.ka(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Bc()};I.prototype.removeRange=I.prototype.removeRange=function(a,b){var c=this.n;(0>a||a>=c.length)&&v.va(a,"0 <= from < length",I,"elt:from");(0>b||b>=c.length)&&v.va(b,"0 <= to < length",I,"elt:to");this.D&&v.ka(this,a);var d=c.slice((b||a)+1||c.length);c.length=0>a?c.length+a:a;c.push.apply(c,d);this.Bc()}; -I.prototype.copy=function(){var a=new I(this.ia),b=this.n;0=f)return this;(0>b||b>=e-1)&&v.va(b,"0 <= from < length",I,"sortRange:from");if(2===f)return c=d[b],e=d[b+1],0=e)d.sort(a);else for(f=d.slice(0,c),f.sort(a),a=0;a=e)for(f=d.slice(b),f.sort(a),a=b;a=this.n.length)return xa;var a=this.Xb;return null!==a?(a.reset(),a):new Aa(this)}); -v.u(I,{Rm:"iteratorBackwards"},function(){if(0>=this.n.length)return xa;var a=this.wj;return null!==a?(a.reset(),a):new Ba(this)});function Da(a){this.Kh=a;this.reset()}v.Kd(Da,{key:!0,value:!0});v.u(Da,{i:"iterator"},function(){return this});Da.prototype.reset=Da.prototype.reset=function(){var a=this.Kh;a.Xb=null;this.eb=a.F;this.cb=null}; -Da.prototype.next=Da.prototype.hasNext=Da.prototype.next=function(){var a=this.Kh;if(a.F!==this.eb){if(null===this.key)return!1;v.La(a)}var b=this.cb,b=null===b?a.Da:b.Ua;if(null!==b)return this.cb=b,this.value=b.value,this.key=b.key,!0;this.Cf();return!1};Da.prototype.first=Da.prototype.first=function(){var a=this.Kh;this.eb=a.F;a=a.Da;if(null!==a){this.cb=a;var b=a.value;this.key=a.key;return this.value=b}return null}; -Da.prototype.any=function(a){var b=this.Kh;b.Xb=null;var c=b.F;this.cb=null;for(var d=b.Da;null!==d;){if(a(d.value))return!0;b.F!==c&&v.La(b);d=d.Ua}return!1};Da.prototype.all=function(a){var b=this.Kh;b.Xb=null;var c=b.F;this.cb=null;for(var d=b.Da;null!==d;){if(!a(d.value))return!1;b.F!==c&&v.La(b);d=d.Ua}return!0};Da.prototype.each=function(a){var b=this.Kh;b.Xb=null;var c=b.F;this.cb=null;for(var d=b.Da;null!==d;)a(d.value),b.F!==c&&v.La(b),d=d.Ua;return this}; -Da.prototype.map=function(a){var b=this.Kh;b.Xb=null;for(var c=new I,d=b.F,e=b.Da;null!==e;)c.add(a(e.value)),b.F!==d&&v.La(b),e=e.Ua;return c.i};Da.prototype.filter=function(a){var b=this.Kh;b.Xb=null;for(var c=new I(b.ia),d=b.F,e=b.Da;null!==e;){var f=e.value;a(f)&&c.add(f);b.F!==d&&v.La(b);e=e.Ua}return c.i};Da.prototype.concat=function(a){this.Kh.Xb=null;return new za(this,a.i)};v.u(Da,{count:"count"},function(){return this.Kh.fd}); -Da.prototype.Cf=function(){this.value=this.key=null;this.eb=-1;this.Kh.Xb=this};Da.prototype.toString=function(){return null!==this.cb?"SetIterator@"+this.cb.value:"SetIterator"}; -function J(a){v.dc(this);this.D=!1;void 0===a||null===a?this.ia=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.ia=a:v.va(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.ia=a===Object?"object":a===String?"string":a===Number?"number":a:v.va(a,"null, a primitive type name, or a class type","Set constructor: type");this.gd={};this.fd=0;this.Xb=null;this.F=0;this.Fh=this.Da=null}v.ea("Set",J); -J.prototype.Bc=function(){var a=this.F;a++;999999999=this.fd)return xa;var a=this.Xb;return null!==a?(a.reset(),a):new Da(this)});function Ha(a){this.Ga=a;this.reset()}v.Kd(Ha,{key:!0,value:!0});v.u(Ha,{i:"iterator"},function(){return this});Ha.prototype.reset=Ha.prototype.reset=function(){this.eb=this.Ga.F;this.cb=null}; -Ha.prototype.next=Ha.prototype.hasNext=Ha.prototype.next=function(){var a=this.Ga;if(a.F!==this.eb){if(null===this.key)return!1;v.La(a)}var b=this.cb,b=null===b?a.Da:b.Ua;if(null!==b)return this.cb=b,this.value=this.key=a=b.key,!0;this.Cf();return!1};Ha.prototype.first=Ha.prototype.first=function(){var a=this.Ga;this.eb=a.F;a=a.Da;return null!==a?(this.cb=a,this.value=this.key=a=a.key):null}; -Ha.prototype.any=function(a){var b=this.Ga,c=b.F;this.cb=null;for(var d=b.Da;null!==d;){if(a(d.key))return!0;b.F!==c&&v.La(b);d=d.Ua}return!1};Ha.prototype.all=function(a){var b=this.Ga,c=b.F;this.cb=null;for(var d=b.Da;null!==d;){if(!a(d.key))return!1;b.F!==c&&v.La(b);d=d.Ua}return!0};Ha.prototype.each=function(a){var b=this.Ga,c=b.F;this.cb=null;for(var d=b.Da;null!==d;)a(d.key),b.F!==c&&v.La(b),d=d.Ua;return this}; -Ha.prototype.map=function(a){var b=this.Ga,c=b.F;this.cb=null;for(var d=new I,e=b.Da;null!==e;)d.add(a(e.key)),b.F!==c&&v.La(b),e=e.Ua;return d.i};Ha.prototype.filter=function(a){var b=this.Ga,c=b.F;this.cb=null;for(var d=new I(b.vi),e=b.Da;null!==e;){var f=e.key;a(f)&&d.add(f);b.F!==c&&v.La(b);e=e.Ua}return d.i};Ha.prototype.concat=function(a){return new za(this,a.i)};v.u(Ha,{count:"count"},function(){return this.Ga.fd});Ha.prototype.Cf=function(){this.value=this.key=null;this.eb=-1}; -Ha.prototype.toString=function(){return null!==this.cb?"MapKeySetIterator@"+this.cb.value:"MapKeySetIterator"};function Ja(a){v.dc(this);this.D=!0;this.Ga=a}v.Ja(Ja,J);Ja.prototype.freeze=function(){return this};Ja.prototype.Oa=function(){return this};Ja.prototype.toString=function(){return"MapKeySet("+this.Ga.toString()+")"};Ja.prototype.add=Ja.prototype.set=Ja.prototype.add=function(){v.k("This Set is read-only: "+this.toString());return!1}; -Ja.prototype.contains=Ja.prototype.has=Ja.prototype.contains=function(a){return this.Ga.contains(a)};Ja.prototype.remove=Ja.prototype["delete"]=Ja.prototype.remove=function(){v.k("This Set is read-only: "+this.toString());return!1};Ja.prototype.clear=Ja.prototype.clear=function(){v.k("This Set is read-only: "+this.toString())};Ja.prototype.first=Ja.prototype.first=function(){var a=this.Ga.Da;return null!==a?a.key:null}; -Ja.prototype.any=function(a){for(var b=this.Ga.Da;null!==b;){if(a(b.key))return!0;b=b.Ua}return!1};Ja.prototype.all=function(a){for(var b=this.Ga.Da;null!==b;){if(!a(b.key))return!1;b=b.Ua}return!0};Ja.prototype.each=function(a){for(var b=this.Ga.Da;null!==b;)a(b.key),b=b.Ua;return this};Ja.prototype.map=function(a){for(var b=new J,c=this.Ga.Da;null!==c;)b.add(a(c.key)),c=c.Ua;return b}; -Ja.prototype.filter=function(a){for(var b=new J(this.Ga.vi),c=this.Ga.Da;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.Ua}return b};Ja.prototype.concat=function(a){return this.hF().Tc(a)};Ja.prototype.copy=function(){return new Ja(this.Ga)};Ja.prototype.toSet=Ja.prototype.hF=function(){var a=new J(this.Ga.vi),b=this.Ga.gd,c;for(c in b)a.add(b[c].key);return a};Ja.prototype.toArray=Ja.prototype.cc=function(){var a=this.Ga.gd,b=Array(this.Ga.fd),c=0,d;for(d in a)b[c]=a[d].key,c++;return b}; -Ja.prototype.toList=function(){var a=new I(this.ia),b=this.Ga.gd,c;for(c in b)a.add(b[c].key);return a};v.u(Ja,{count:"count"},function(){return this.Ga.fd});v.u(Ja,{size:"size"},function(){return this.Ga.fd});v.u(Ja,{i:"iterator"},function(){return 0>=this.Ga.fd?xa:new Ha(this.Ga)});function La(a){this.Ga=a;this.reset()}v.Kd(La,{key:!0,value:!0});v.u(La,{i:"iterator"},function(){return this});La.prototype.reset=La.prototype.reset=function(){var a=this.Ga;a.xj=null;this.eb=a.F;this.cb=null}; -La.prototype.next=La.prototype.hasNext=La.prototype.next=function(){var a=this.Ga;if(a.F!==this.eb){if(null===this.key)return!1;v.La(a)}var b=this.cb,b=null===b?a.Da:b.Ua;if(null!==b)return this.cb=b,this.value=b.value,this.key=b.key,!0;this.Cf();return!1};La.prototype.first=La.prototype.first=function(){var a=this.Ga;this.eb=a.F;a=a.Da;if(null!==a){this.cb=a;var b=a.value;this.key=a.key;return this.value=b}return null}; -La.prototype.any=function(a){var b=this.Ga;b.xj=null;var c=b.F;this.cb=null;for(var d=b.Da;null!==d;){if(a(d.value))return!0;b.F!==c&&v.La(b);d=d.Ua}return!1};La.prototype.all=function(a){var b=this.Ga;b.xj=null;var c=b.F;this.cb=null;for(var d=b.Da;null!==d;){if(!a(d.value))return!1;b.F!==c&&v.La(b);d=d.Ua}return!0};La.prototype.each=function(a){var b=this.Ga;b.xj=null;var c=b.F;this.cb=null;for(var d=b.Da;null!==d;)a(d.value),b.F!==c&&v.La(b),d=d.Ua;return this}; -La.prototype.map=function(a){var b=this.Ga;b.xj=null;var c=b.F;this.cb=null;for(var d=new I,e=b.Da;null!==e;)d.add(a(e.value)),b.F!==c&&v.La(b),e=e.Ua;return d.i};La.prototype.filter=function(a){var b=this.Ga;b.xj=null;var c=b.F;this.cb=null;for(var d=new I(b.vi),e=b.Da;null!==e;){var f=e.value;a(f)&&d.add(f);b.F!==c&&v.La(b);e=e.Ua}return d.i};La.prototype.concat=function(a){this.Ga.xj=null;return new za(this,a.i)};v.u(La,{count:"count"},function(){return this.Ga.fd}); -La.prototype.Cf=function(){this.value=this.key=null;this.eb=-1;this.Ga.xj=this};La.prototype.toString=function(){return null!==this.cb?"MapValueSetIterator@"+this.cb.value:"MapValueSetIterator"};function Ea(a,b){this.key=a;this.value=b;this.lo=this.Ua=null}v.Kd(Ea,{key:!0,value:!0});Ea.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};function Ma(a){this.Ga=a;this.reset()}v.Kd(Ma,{key:!0,value:!0});v.u(Ma,{i:"iterator"},function(){return this}); -Ma.prototype.reset=Ma.prototype.reset=function(){var a=this.Ga;a.Xb=null;this.eb=a.F;this.cb=null};Ma.prototype.next=Ma.prototype.hasNext=Ma.prototype.next=function(){var a=this.Ga;if(a.F!==this.eb){if(null===this.key)return!1;v.La(a)}var b=this.cb,b=null===b?a.Da:b.Ua;if(null!==b)return this.cb=b,this.key=b.key,this.value=b.value,!0;this.Cf();return!1}; -Ma.prototype.first=Ma.prototype.first=function(){var a=this.Ga;this.eb=a.F;a=a.Da;return null!==a?(this.cb=a,this.key=a.key,this.value=a.value,a):null};Ma.prototype.any=function(a){var b=this.Ga;b.Xb=null;var c=b.F;this.cb=null;for(var d=b.Da;null!==d;){if(a(d))return!0;b.F!==c&&v.La(b);d=d.Ua}return!1};Ma.prototype.all=function(a){var b=this.Ga;b.Xb=null;var c=b.F;this.cb=null;for(var d=b.Da;null!==d;){if(!a(d))return!1;b.F!==c&&v.La(b);d=d.Ua}return!0}; -Ma.prototype.each=function(a){var b=this.Ga;b.Xb=null;var c=b.F;this.cb=null;for(var d=b.Da;null!==d;)a(d),b.F!==c&&v.La(b),d=d.Ua;return this};Ma.prototype.map=function(a){var b=this.Ga;b.Xb=null;var c=b.F;this.cb=null;for(var d=new I,e=b.Da;null!==e;)d.add(a(e)),b.F!==c&&v.La(b),e=e.Ua;return d.i};Ma.prototype.filter=function(a){var b=this.Ga;b.Xb=null;var c=b.F;this.cb=null;for(var d=new I,e=b.Da;null!==e;)a(e)&&d.add(e),b.F!==c&&v.La(b),e=e.Ua;return d.i}; -Ma.prototype.concat=function(a){this.Ga.Xb=null;return new za(this,a.i)};v.u(Ma,{count:"count"},function(){return this.Ga.fd});Ma.prototype.Cf=function(){this.value=this.key=null;this.eb=-1;this.Ga.Xb=this};Ma.prototype.toString=function(){return null!==this.cb?"MapIterator@"+this.cb:"MapIterator"}; -function na(a,b){v.dc(this);this.D=!1;void 0===a||null===a?this.vi=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.vi=a:v.va(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.vi=a===Object?"object":a===String?"string":a===Number?"number":a:v.va(a,"null, a primitive type name, or a class type","Map constructor: keytype");void 0===b||null===b?this.Hs=null:"string"===typeof b?"object"===b||"string"===b||"boolean"===b||"number"=== -b||"function"===b?this.Hs=b:v.va(b,"the string 'object', 'number', 'string', 'boolean', or 'function'","Map constructor: valtype"):"function"===typeof b?this.Hs=b===Object?"object":b===String?"string":b===Number?"number":b===Boolean?"boolean":b===Function?"function":b:v.va(b,"null, a primitive type name, or a class type","Map constructor: valtype");this.gd={};this.fd=0;this.xj=this.Xb=null;this.F=0;this.Fh=this.Da=null}v.ea("Map",na); -na.prototype.Bc=function(){var a=this.F;a++;999999999=this.count)return xa;var a=this.Xb;return null!==a?(a.reset(),a):new Ma(this)});v.u(na,{nE:"iteratorKeys"},function(){return 0>=this.count?xa:new Ha(this)});v.u(na,{oE:"iteratorValues"},function(){if(0>=this.count)return xa;var a=this.xj;return null!==a?(a.reset(),a):new La(this)});function z(a,b){void 0===a?this.y=this.x=0:(this.x=a,this.y=b);this.D=!1}v.ea("Point",z);v.Vh(z);v.Kd(z,{x:!0,y:!0});z.prototype.assign=function(a){this.x=a.x;this.y=a.y}; -z.prototype.setTo=z.prototype.m=function(a,b){this.x=a;this.y=b;return this};z.prototype.set=z.prototype.set=function(a){this.Cb();this.x=a.x;this.y=a.y;return this};z.prototype.copy=function(){var a=new z;a.x=this.x;a.y=this.y;return a};g=z.prototype;g.Ea=function(){this.D=!0;Object.freeze(this);return this};g.S=function(){return Object.isFrozen(this)?this:this.copy().freeze()};g.freeze=function(){this.D=!0;return this}; -g.Oa=function(){Object.isFrozen(this)&&v.k("cannot thaw constant: "+this);this.D=!1;return this};g.Cb=function(a){if(this.D){var b="The Point is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);v.k(b)}};z.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 z(c,e)}return new z}; -z.stringify=function(a){return a instanceof z?a.x.toString()+" "+a.y.toString():a.toString()};z.prototype.toString=function(){return"Point("+this.x+","+this.y+")"};z.prototype.equals=z.prototype.K=function(a){return a instanceof z?this.x===a.x&&this.y===a.y:!1};z.prototype.equalTo=z.prototype.yw=function(a,b){return this.x===a&&this.y===b};z.prototype.equalsApprox=z.prototype.Fc=function(a){return K(this.x,a.x)&&K(this.y,a.y)}; -z.prototype.add=z.prototype.add=function(a){this.Cb();this.x+=a.x;this.y+=a.y;return this};z.prototype.subtract=z.prototype.du=function(a){this.Cb();this.x-=a.x;this.y-=a.y;return this};z.prototype.offset=z.prototype.offset=function(a,b){this.Cb();this.x+=a;this.y+=b;return this}; -z.prototype.rotate=z.prototype.rotate=function(a){this.Cb();if(0===a)return this;var b=this.x,c=this.y;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.x=d*b-e*c;this.y=e*b+d*c;return this};z.prototype.scale=z.prototype.scale=function(a,b){this.x*=a;this.y*=b;return this}; -z.prototype.distanceSquaredPoint=z.prototype.rf=function(a){var b=a.x-this.x;a=a.y-this.y;return b*b+a*a};z.prototype.distanceSquared=z.prototype.Ro=function(a,b){var c=a-this.x,d=b-this.y;return c*c+d*d};z.prototype.normalize=z.prototype.normalize=function(){this.Cb();var a=this.x,b=this.y,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}z.prototype.projectOntoLineSegment=function(a,b,c,d){Oa(a,b,c,d,this.x,this.y,this);return this};z.prototype.projectOntoLineSegmentPoint=function(a,b){Oa(a.x,a.y,b.x,b.y,this.x,this.y,this);return this}; -z.prototype.snapToGrid=function(a,b,c,d){Pa(this.x,this.y,a,b,c,d,this);return this};z.prototype.snapToGridPoint=function(a,b){Pa(this.x,this.y,a.x,a.y,b.width,b.height,this);return this};z.prototype.setRectSpot=z.prototype.Yt=function(a,b){this.Cb();this.x=a.x+b.x*a.width+b.offsetX;this.y=a.y+b.y*a.height+b.offsetY;return this};z.prototype.setSpot=z.prototype.$t=function(a,b,c,d,e){this.Cb();this.x=a+e.x*c+e.offsetX;this.y=b+e.y*d+e.offsetY;return this}; -z.prototype.transform=function(a){a.ub(this);return this};function Qa(a,b){b.Xh(a);return a}var Sa;z.distanceLineSegmentSquared=Sa=function(a,b,c,d,e,f){var h=e-c,k=f-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=f-b,Math.min(c*c+d*d,h*h+k*k);a=h*d-k*c;return a*a/l};var Ta;z.distanceSquared=Ta=function(a,b,c,d){a=c-a;b=d-b;return a*a+b*b};var Va; -z.direction=Va=function(a,b,c,d){a=c-a;b=d-b;if(0===a)return 0b?270:0;if(0===b)return 0a?d=0>b?d+180:180-d:0>b&&(d=360-d);return d};z.prototype.isReal=z.prototype.G=function(){return isFinite(this.x)&&isFinite(this.y)};function ia(a,b){void 0===a?this.height=this.width=0:(this.width=a,this.height=b);this.D=!1}v.ea("Size",ia);v.Vh(ia);v.Kd(ia,{width:!0,height:!0}); -ia.prototype.assign=function(a){this.width=a.width;this.height=a.height};ia.prototype.setTo=ia.prototype.m=function(a,b){this.width=a;this.height=b;return this};ia.prototype.set=ia.prototype.set=function(a){this.Cb();this.width=a.width;this.height=a.height;return this};ia.prototype.copy=function(){var a=new ia;a.width=this.width;a.height=this.height;return a};g=ia.prototype;g.Ea=function(){this.D=!0;Object.freeze(this);return this};g.S=function(){return Object.isFrozen(this)?this:this.copy().freeze()}; -g.freeze=function(){this.D=!0;return this};g.Oa=function(){Object.isFrozen(this)&&v.k("cannot thaw constant: "+this);this.D=!1;return this};g.Cb=function(a){if(this.D){var b="The Size is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);v.k(b)}};ia.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 ia(c,e)}return new ia}; -ia.stringify=function(a){return a instanceof ia?a.width.toString()+" "+a.height.toString():a.toString()};ia.prototype.toString=function(){return"Size("+this.width+","+this.height+")"};ia.prototype.equals=ia.prototype.K=function(a){return a instanceof ia?this.width===a.width&&this.height===a.height:!1};ia.prototype.equalTo=ia.prototype.yw=function(a,b){return this.width===a&&this.height===b};ia.prototype.equalsApprox=ia.prototype.Fc=function(a){return K(this.width,a.width)&&K(this.height,a.height)}; -ia.prototype.isReal=ia.prototype.G=function(){return isFinite(this.width)&&isFinite(this.height)}; -function A(a,b,c,d){void 0===a?this.height=this.width=this.y=this.x=0:a instanceof z?b instanceof z?(this.x=Math.min(a.x,b.x),this.y=Math.min(a.y,b.y),this.width=Math.abs(a.x-b.x),this.height=Math.abs(a.y-b.y)):b instanceof ia?(this.x=a.x,this.y=a.y,this.width=b.width,this.height=b.height):v.k("Incorrect arguments supplied to Rect constructor"):(this.x=a,this.y=b,this.width=c,this.height=d);this.D=!1}v.ea("Rect",A);v.Vh(A);v.Kd(A,{x:!0,y:!0,width:!0,height:!0}); -A.prototype.assign=function(a){this.x=a.x;this.y=a.y;this.width=a.width;this.height=a.height};function Wa(a,b,c){a.width=b;a.height=c}A.prototype.setTo=A.prototype.m=function(a,b,c,d){this.x=a;this.y=b;this.width=c;this.height=d;return this};A.prototype.set=A.prototype.set=function(a){this.Cb();this.x=a.x;this.y=a.y;this.width=a.width;this.height=a.height;return this};A.prototype.setPoint=A.prototype.zf=function(a){this.Cb();this.x=a.x;this.y=a.y;return this}; -A.prototype.setSize=function(a){this.Cb();this.width=a.width;this.height=a.height;return this};A.prototype.copy=function(){var a=new A;a.x=this.x;a.y=this.y;a.width=this.width;a.height=this.height;return a};g=A.prototype;g.Ea=function(){this.D=!0;Object.freeze(this);return this};g.S=function(){return Object.isFrozen(this)?this:this.copy().freeze()};g.freeze=function(){this.D=!0;return this};g.Oa=function(){Object.isFrozen(this)&&v.k("cannot thaw constant: "+this);this.D=!1;return this}; -g.Cb=function(a){if(this.D){var b="The Rect is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);v.k(b)}};A.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 f=0;""===a[b];)b++;(d=a[b++])&&(f=parseFloat(d));for(var h=0;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return new A(c,e,f,h)}return new A}; -A.stringify=function(a){return a instanceof A?a.x.toString()+" "+a.y.toString()+" "+a.width.toString()+" "+a.height.toString():a.toString()};A.prototype.toString=function(){return"Rect("+this.x+","+this.y+","+this.width+","+this.height+")"};A.prototype.equals=A.prototype.K=function(a){return a instanceof A?this.x===a.x&&this.y===a.y&&this.width===a.width&&this.height===a.height:!1};A.prototype.equalTo=A.prototype.yw=function(a,b,c,d){return this.x===a&&this.y===b&&this.width===c&&this.height===d}; -A.prototype.equalsApprox=A.prototype.Fc=function(a){return K(this.x,a.x)&&K(this.y,a.y)&&K(this.width,a.width)&&K(this.height,a.height)};A.prototype.containsPoint=A.prototype.Fa=function(a){return this.x<=a.x&&this.x+this.width>=a.x&&this.y<=a.y&&this.y+this.height>=a.y};A.prototype.containsRect=A.prototype.Xj=function(a){return this.x<=a.x&&a.x+a.width<=this.x+this.width&&this.y<=a.y&&a.y+a.height<=this.y+this.height}; -A.prototype.contains=A.prototype.contains=function(a,b,c,d){void 0===c&&(c=0);void 0===d&&(d=0);return this.x<=a&&a+c<=this.x+this.width&&this.y<=b&&b+d<=this.y+this.height};A.prototype.reset=function(){this.Cb();this.height=this.width=this.y=this.x=0};A.prototype.offset=A.prototype.offset=function(a,b){this.Cb();this.x+=a;this.y+=b;return this};A.prototype.inflate=A.prototype.Qf=function(a,b){return Xa(this,b,a,b,a)}; -A.prototype.addMargin=A.prototype.fw=function(a){return Xa(this,a.top,a.right,a.bottom,a.left)};A.prototype.subtractMargin=A.prototype.FI=function(a){return Xa(this,-a.top,-a.right,-a.bottom,-a.left)};A.prototype.grow=function(a,b,c,d){return Xa(this,a,b,c,d)};function Xa(a,b,c,d,e){a.Cb();var f=a.width;c+e<=-f?(a.x+=f/2,a.width=0):(a.x-=e,a.width+=c+e);c=a.height;b+d<=-c?(a.y+=c/2,a.height=0):(a.y-=b,a.height+=b+d);return a}A.prototype.intersectRect=function(a){return Ya(this,a.x,a.y,a.width,a.height)}; -A.prototype.intersect=function(a,b,c,d){return Ya(this,a,b,c,d)};function Ya(a,b,c,d,e){a.Cb();var f=Math.max(a.x,b),h=Math.max(a.y,c);b=Math.min(a.x+a.width,b+d);c=Math.min(a.y+a.height,c+e);a.x=f;a.y=h;a.width=Math.max(0,b-f);a.height=Math.max(0,c-h);return a}A.prototype.intersectsRect=A.prototype.yg=function(a){return this.YD(a.x,a.y,a.width,a.height)}; -A.prototype.intersects=A.prototype.YD=function(a,b,c,d){var e=this.width,f=this.x;if(Infinity!==e&&Infinity!==c&&(e+=f,c+=a,isNaN(c)||isNaN(e)||f>c||a>e))return!1;a=this.height;c=this.y;return Infinity!==a&&Infinity!==d&&(a+=c,d+=b,isNaN(d)||isNaN(a)||c>d||b>a)?!1:!0};function Za(a,b){var c=a.width,d=b.width+10+10,e=a.x,f=b.x-10;if(e>d+f||f>c+e)return!1;c=a.height;d=b.height+10+10;e=a.y;f=b.y-10;return e>d+f||f>c+e?!1:!0}A.prototype.unionPoint=A.prototype.fj=function(a){return $a(this,a.x,a.y,0,0)}; -A.prototype.unionRect=A.prototype.bi=function(a){return $a(this,a.x,a.y,a.width,a.height)};A.prototype.union=A.prototype.qF=function(a,b,c,d){this.Cb();void 0===c&&(c=0);void 0===d&&(d=0);return $a(this,a,b,c,d)};function $a(a,b,c,d,e){var f=Math.min(a.x,b),h=Math.min(a.y,c);b=Math.max(a.x+a.width,b+d);c=Math.max(a.y+a.height,c+e);a.x=f;a.y=h;a.width=b-f;a.height=c-h;return a} -A.prototype.setSpot=A.prototype.$t=function(a,b,c){this.Cb();this.x=a-c.offsetX-c.x*this.width;this.y=b-c.offsetY-c.y*this.height;return this};var ab;A.contains=ab=function(a,b,c,d,e,f,h,k){void 0===h&&(h=0);void 0===k&&(k=0);return a<=e&&e+h<=a+c&&b<=f&&f+k<=b+d};A.intersects=function(a,b,c,d,e,f,h,k){c+=a;h+=e;if(a>h||e>c)return!1;a=d+b;k+=f;return b>k||f>a?!1:!0};v.defineProperty(A,{left:"left"},function(){return this.x},function(a){this.Cb(a);this.x=a}); -v.defineProperty(A,{top:"top"},function(){return this.y},function(a){this.Cb(a);this.y=a});v.defineProperty(A,{right:"right"},function(){return this.x+this.width},function(a){this.Cb(a);this.x+=a-(this.x+this.width)});v.defineProperty(A,{bottom:"bottom"},function(){return this.y+this.height},function(a){this.Cb(a);this.y+=a-(this.y+this.height)});v.defineProperty(A,{position:"position"},function(){return new z(this.x,this.y)},function(a){this.Cb(a);this.x=a.x;this.y=a.y}); -v.defineProperty(A,{size:"size"},function(){return new ia(this.width,this.height)},function(a){this.Cb(a);this.width=a.width;this.height=a.height});v.defineProperty(A,{dl:"center"},function(){return new z(this.x+this.width/2,this.y+this.height/2)},function(a){this.Cb(a);this.x=a.x-this.width/2;this.y=a.y-this.height/2});v.defineProperty(A,{na:"centerX"},function(){return this.x+this.width/2},function(a){this.Cb(a);this.x=a-this.width/2}); -v.defineProperty(A,{ua:"centerY"},function(){return this.y+this.height/2},function(a){this.Cb(a);this.y=a-this.height/2});A.prototype.isReal=A.prototype.G=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)};A.prototype.isEmpty=function(){return 0===this.width&&0===this.height}; -function cb(a,b,c,d){void 0===a?this.left=this.bottom=this.right=this.top=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):v.k("Invalid arguments to Margin constructor");this.D=!1}v.ea("Margin",cb);v.Vh(cb);v.Kd(cb,{top:!0,right:!0,bottom:!0,left:!0});cb.prototype.assign=function(a){this.top=a.top;this.right=a.right;this.bottom=a.bottom;this.left=a.left}; -cb.prototype.setTo=cb.prototype.m=function(a,b,c,d){this.Cb();this.top=a;this.right=b;this.bottom=c;this.left=d;return this};cb.prototype.set=cb.prototype.set=function(a){this.Cb();this.top=a.top;this.right=a.right;this.bottom=a.bottom;this.left=a.left;return this};cb.prototype.copy=function(){var a=new cb;a.top=this.top;a.right=this.right;a.bottom=this.bottom;a.left=this.left;return a};g=cb.prototype;g.Ea=function(){this.D=!0;Object.freeze(this);return this}; -g.S=function(){return Object.isFrozen(this)?this:this.copy().freeze()};g.freeze=function(){this.D=!0;return this};g.Oa=function(){Object.isFrozen(this)&&v.k("cannot thaw constant: "+this);this.D=!1;return this};g.Cb=function(a){if(this.D){var b="The Margin is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);v.k(b)}}; -cb.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 cb;for(var e=NaN;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));if(isNaN(e))return new cb(c);for(var f=NaN;""===a[b];)b++;(d=a[b++])&&(f=parseFloat(d));if(isNaN(f))return new cb(c,e);for(var h=NaN;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return isNaN(h)?new cb(c,e):new cb(c,e,f,h)}return new cb}; -cb.stringify=function(a){return a instanceof cb?a.top.toString()+" "+a.right.toString()+" "+a.bottom.toString()+" "+a.left.toString():a.toString()};cb.prototype.toString=function(){return"Margin("+this.top+","+this.right+","+this.bottom+","+this.left+")"};cb.prototype.equals=cb.prototype.K=function(a){return a instanceof cb?this.top===a.top&&this.right===a.right&&this.bottom===a.bottom&&this.left===a.left:!1}; -cb.prototype.equalTo=cb.prototype.yw=function(a,b,c,d){return this.top===a&&this.right===b&&this.bottom===c&&this.left===d};cb.prototype.equalsApprox=cb.prototype.Fc=function(a){return K(this.top,a.top)&&K(this.right,a.right)&&K(this.bottom,a.bottom)&&K(this.left,a.left)};cb.prototype.isReal=cb.prototype.G=function(){return isFinite(this.top)&&isFinite(this.right)&&isFinite(this.bottom)&&isFinite(this.left)};function ja(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0}v.Vh(ja); -v.Kd(ja,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});ja.prototype.set=ja.prototype.set=function(a){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};ja.prototype.copy=function(){var a=new ja;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};ja.prototype.toString=function(){return"Transform("+this.m11+","+this.m12+","+this.m21+","+this.m22+","+this.dx+","+this.dy+")"}; -ja.prototype.equals=ja.prototype.K=function(a){return a instanceof ja?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};ja.prototype.isIdentity=ja.prototype.vt=function(){return 1===this.m11&&0===this.m12&&0===this.m21&&1===this.m22&&0===this.dx&&0===this.dy};ja.prototype.reset=ja.prototype.reset=function(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0;return this}; +function(a){window.clearTimeout(a)})})();da.Debug=null; +var v={md:1,Tc:2,bd:4,ad:8,Dn:void 0!==window.navigator&&0=a.length?a.push(c):a.splice(b,0,c):v.k("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Eg:function(a,b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1): +v.k("Cannot remove an object from an HTMLCollection or NodeList at "+b)},ly:[],K:function(){var a=v.ly.pop();return void 0===a?new y:a},xb:function(a,b){var c=v.ly.pop();if(void 0===c)return new y(a,b);c.x=a;c.y=b;return c},v:function(a){v.ly.push(a)},xB:[],gm:function(){var a=v.xB.pop();return void 0===a?new ia:a},yk:function(a){v.xB.push(a)},my:[],Ef:function(){var a=v.my.pop();return void 0===a?new B:a},Ug:function(a,b,c,d){var e=v.my.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},Gb:function(a){v.my.push(a)},yB:[],Ff:function(){var a=v.yB.pop();return void 0===a?new ja:a},we:function(a){v.yB.push(a)},ny:null,s:function(){var a=v.ny;return null!==a?(v.ny=null,a):new ka},q:function(a){a.reset();v.ny=a},wB:[],lb:function(){var a=v.wB.pop();return void 0===a?[]:a},wa:function(a){a.length=0;v.wB.push(a)},Jk:Object.freeze([]),km:1,pc:function(a){a.__gohashid=v.km++},Up:function(a){var b=a.__gohashid;void 0===b&&(b=v.km++,a.__gohashid=b);return b},Kd:function(a){return a.__gohashid}, +ga:function(a,b){b.xy=a;da[a]=b},Ma:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},ii:function(a){a.MG=!0},defineProperty:function(a,b,c,d,e){v.j(a,"function","Util.defineProperty:classfunc");v.j(b,"object","Util.defineProperty:propobj");v.j(c,"function","Util.defineProperty:getter");v.j(d,"function","Util.defineProperty:setter");for(var f in b){b=b[f];c={get:c,set:d,enumerable:!0};if(void 0!==e)for(var h in e)c[h]=e[h];Object.defineProperty(a.prototype, +f,c);e=Object.getOwnPropertyDescriptor(a.prototype,f);b&&e&&Object.defineProperty(a.prototype,b,e);break}},YJ:!1,u:function(a,b,c,d){v.j(a,"function","Util.defineReadOnlyProperty:classfunc");v.j(b,"object","Util.defineReadOnlyProperty:propobj");v.j(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var f=b[e];b={get:c,set:function(a){v.k('The property "'+f+'" 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);f&&d&&Object.defineProperty(a.prototype,f,d);break}},ae:function(a,b){for(var c in b)b[c]=!0;a.prototype.IG=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===typeof a?v.lf(a):null===a?"*":""},lf:function(a){if("function"===typeof a){if(a.xy)return a.xy;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,c).trim();if(""!==b)return a.xy=b}else if("object"===typeof a&&a.constructor)return v.lf(a.constructor); +return typeof a},p:function(a,b,c){v.j(a,"function","Util.defineEnumValue:classfunc");v.j(b,"string","Util.defineEnumValue:name");v.j(c,"number","Util.defineEnumValue:num");c=new ea(a,b,c);Object.freeze(c);a[b]=c;var d=a.Nu;d instanceof la||(d=new la("string",ea),a.Nu=d);d.add(b,c);return c},sb: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){}return c},Na: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){}},Bu:function(a,b){v.j(a,"object","Setting properties requires Objects as arguments");v.j(b,"object","Setting properties requires Objects as arguments");var c=a instanceof D,d=a instanceof E,e;for(e in b){""===e&&v.k("Setting properties requires non-empty property names");var f=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,f="",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[v.Fg("7ca11abfd7330390")](v.Fg(c[d-1]),10,15*d+0);b[v.Fg("7ca11abfd022028846")]=v.Fg("39f046ebb36e4b");for(d=1;5>d;d++)b[v.Fg("7ca11abfd7330390")](v.Fg(c[d- +1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])v.p=function(a,b){var c=new ea(a,b,2);Object.freeze(c);a[b]=c;var d=a.Nu;d instanceof la||(d=new la("string",ea),a.Nu=d);d.add(b,c);return c};return a}();function ea(a,b,c){v.pc(this);this.MB=a;this.Qb=b;this.RG=c}v.ga("EnumValue",ea);ea.prototype.toString=function(){return v.lf(this.MB)+"."+this.Qb};v.u(ea,{Ge:"classType"},function(){return this.MB});v.u(ea,{name:"name"},function(){return this.Qb});v.u(ea,{value:"value"},function(){return this.RG}); +var qa;ea.findName=qa=function(a,b){if(void 0===b||null===b||""===b)return null;v.j(a,"function","findName:classfunc");v.j(b,"string","EnumValue.findName:name");var c=a.Nu;return c instanceof la?c.na(b):null};function sa(){this.KB=[]}sa.prototype.toString=function(){return this.KB.join("")};sa.prototype.add=function(a){""!==a&&this.KB.push(a)};function ua(){} +function va(a){void 0===a&&(a=42);this.seed=a;this.hy=48271;this.Mu=2147483647;this.vB=this.Mu/this.hy;this.uG=this.Mu%this.hy;this.tG=1/this.Mu;this.random()}va.prototype.random=function(){var a=this.seed%this.vB*this.hy-this.seed/this.vB*this.uG;this.seed=0this.key)return!1;v.Oa(a)}var a=a.n,b=a.length,c=++this.Uc,d=this.Vh;if(null!==d)for(;cthis.key)return!1;v.Oa(a)}var b=--this.Uc;if(0<=b)return this.key=b,this.value=a.n[b],!0;this.Hf();return!1};Ba.prototype.first=Ba.prototype.first=function(){var a=this.wc;this.ib=a.G;var b=a.n;this.Uc=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null}; +Ba.prototype.any=function(a){var b=this.wc;b.Wj=null;var c=b.G,d=b.n,e=d.length;this.Uc=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.G!==c&&v.Oa(b)}return!1};Ba.prototype.all=function(a){var b=this.wc;b.Wj=null;var c=b.G,d=b.n,e=d.length;this.Uc=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.G!==c&&v.Oa(b)}return!0};Ba.prototype.each=function(a){var b=this.wc;b.Wj=null;var c=b.G,d=b.n,e=d.length;this.Uc=e;for(e-=1;0<=e;e--)a(d[e]),b.G!==c&&v.Oa(b);return this}; +Ba.prototype.map=function(a){var b=this.wc;b.Wj=null;var c=b.G,d=[],e=b.n,f=e.length;this.Uc=f;for(f-=1;0<=f;f--)d.push(a(e[f])),b.G!==c&&v.Oa(b);a=new I;a.n=d;a.Hc();return a.i};Ba.prototype.filter=function(a){var b=this.wc;b.Wj=null;var c=b.G,d=[],e=b.n,f=e.length;this.Uc=f;for(f-=1;0<=f;f--){var h=e[f];a(h)&&d.push(h);b.G!==c&&v.Oa(b)}a=new I(b.ka);a.n=d;a.Hc();return a.i};Ba.prototype.concat=function(a){this.wc.Wj=null;return new za(this,a.i)};v.u(Ba,{count:"count"},function(){return this.wc.n.length}); +Ba.prototype.Hf=function(){this.key=-1;this.value=null;this.ib=-1;this.wc.Wj=this};Ba.prototype.toString=function(){return"ListIteratorBackwards("+this.Uc+"/"+this.wc.count+")"}; +function I(a){v.pc(this);this.Q=!1;this.n=[];this.G=0;this.Wj=this.$b=null;void 0===a||null===a?this.ka=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.ka=a:v.Fa(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.ka=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:v.Fa(a,"null, a primitive type name, or a class type", +"List constructor: type")}v.ga("List",I);I.prototype.Hc=function(){var a=this.G;a++;999999999a||a>=b.length)&&v.Fa(a,"0 <= i < length",I,"elt:i");return b[a]};I.prototype.setElt=I.prototype.set=I.prototype.Rg=function(a,b){var c=this.n;(0>a||a>=c.length)&&v.Fa(a,"0 <= i < length",I,"setElt:i");this.Q&&v.ma(this,a);c[a]=b};I.prototype.first=I.prototype.first=function(){var a=this.n;return 0===a.length?null:a[0]}; +I.prototype.last=I.prototype.fe=function(){var a=this.n,b=a.length;return 0a&&v.Fa(a,">= 0",I,"insertAt:i");this.Q&&v.ma(this,a);var c=this.n;a>=c.length?c.push(b):c.splice(a,0,b);this.Hc();return!0};I.prototype.remove=I.prototype["delete"]=I.prototype.remove=function(a){if(null===a)return!1;this.Q&&v.ma(this,a);var b=this.n;a=b.indexOf(a);if(-1===a)return!1;a===b.length-1?b.pop():b.splice(a,1);this.Hc();return!0}; +I.prototype.removeAt=I.prototype.$c=function(a){var b=this.n;(0>a||a>=b.length)&&v.Fa(a,"0 <= i < length",I,"removeAt:i");this.Q&&v.ma(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Hc()};I.prototype.removeRange=I.prototype.removeRange=function(a,b){var c=this.n,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.Q&&v.ma(this);for(var e=a,f=b+1;f=f)return this;(0>b||b>=e-1)&&v.Fa(b,"0 <= from < length",I,"sortRange:from");if(2===f)return c=d[b],e=d[b+1],0=e)d.sort(a);else for(f=d.slice(0,c),f.sort(a),a=0;a=e)for(f=d.slice(b),f.sort(a),a=b;a=this.n.length)return xa;var a=this.$b;return null!==a?(a.reset(),a):new Aa(this)}); +v.u(I,{Gn:"iteratorBackwards"},function(){if(0>=this.n.length)return xa;var a=this.Wj;return null!==a?(a.reset(),a):new Ba(this)});function Ca(a){this.Xh=a;this.reset()}v.ae(Ca,{key:!0,value:!0});v.u(Ca,{i:"iterator"},function(){return this});Ca.prototype.reset=Ca.prototype.reset=function(){var a=this.Xh;a.$b=null;this.ib=a.G;this.hb=null}; +Ca.prototype.next=Ca.prototype.hasNext=Ca.prototype.next=function(){var a=this.Xh;if(a.G!==this.ib){if(null===this.key)return!1;v.Oa(a)}var b=this.hb,b=null===b?a.Da:b.Wa;if(null!==b)return this.hb=b,this.value=b.value,this.key=b.key,!0;this.Hf();return!1};Ca.prototype.first=Ca.prototype.first=function(){var a=this.Xh;this.ib=a.G;a=a.Da;if(null!==a){this.hb=a;var b=a.value;this.key=a.key;return this.value=b}return null}; +Ca.prototype.any=function(a){var b=this.Xh;b.$b=null;var c=b.G;this.hb=null;for(var d=b.Da;null!==d;){if(a(d.value))return!0;b.G!==c&&v.Oa(b);d=d.Wa}return!1};Ca.prototype.all=function(a){var b=this.Xh;b.$b=null;var c=b.G;this.hb=null;for(var d=b.Da;null!==d;){if(!a(d.value))return!1;b.G!==c&&v.Oa(b);d=d.Wa}return!0};Ca.prototype.each=function(a){var b=this.Xh;b.$b=null;var c=b.G;this.hb=null;for(var d=b.Da;null!==d;)a(d.value),b.G!==c&&v.Oa(b),d=d.Wa;return this}; +Ca.prototype.map=function(a){var b=this.Xh;b.$b=null;for(var c=new I,d=b.G,e=b.Da;null!==e;)c.add(a(e.value)),b.G!==d&&v.Oa(b),e=e.Wa;return c.i};Ca.prototype.filter=function(a){var b=this.Xh;b.$b=null;for(var c=new I(b.ka),d=b.G,e=b.Da;null!==e;){var f=e.value;a(f)&&c.add(f);b.G!==d&&v.Oa(b);e=e.Wa}return c.i};Ca.prototype.concat=function(a){this.Xh.$b=null;return new za(this,a.i)};v.u(Ca,{count:"count"},function(){return this.Xh.od}); +Ca.prototype.Hf=function(){this.value=this.key=null;this.ib=-1;this.Xh.$b=this};Ca.prototype.toString=function(){return null!==this.hb?"SetIterator@"+this.hb.value:"SetIterator"}; +function J(a){v.pc(this);this.Q=!1;void 0===a||null===a?this.ka=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.ka=a:v.Fa(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.ka=a===Object?"object":a===String?"string":a===Number?"number":a:v.Fa(a,"null, a primitive type name, or a class type","Set constructor: type");this.pd={};this.od=0;this.$b=null;this.G=0;this.Qh=this.Da=null}v.ga("Set",J); +J.prototype.Hc=function(){var a=this.G;a++;999999999=this.od)return xa;var a=this.$b;return null!==a?(a.reset(),a):new Ca(this)});function Ea(a){this.Ia=a;this.reset()}v.ae(Ea,{key:!0,value:!0});v.u(Ea,{i:"iterator"},function(){return this});Ea.prototype.reset=Ea.prototype.reset=function(){this.ib=this.Ia.G;this.hb=null}; +Ea.prototype.next=Ea.prototype.hasNext=Ea.prototype.next=function(){var a=this.Ia;if(a.G!==this.ib){if(null===this.key)return!1;v.Oa(a)}var b=this.hb,b=null===b?a.Da:b.Wa;if(null!==b)return this.hb=b,this.value=this.key=a=b.key,!0;this.Hf();return!1};Ea.prototype.first=Ea.prototype.first=function(){var a=this.Ia;this.ib=a.G;a=a.Da;return null!==a?(this.hb=a,this.value=this.key=a=a.key):null}; +Ea.prototype.any=function(a){var b=this.Ia,c=b.G;this.hb=null;for(var d=b.Da;null!==d;){if(a(d.key))return!0;b.G!==c&&v.Oa(b);d=d.Wa}return!1};Ea.prototype.all=function(a){var b=this.Ia,c=b.G;this.hb=null;for(var d=b.Da;null!==d;){if(!a(d.key))return!1;b.G!==c&&v.Oa(b);d=d.Wa}return!0};Ea.prototype.each=function(a){var b=this.Ia,c=b.G;this.hb=null;for(var d=b.Da;null!==d;)a(d.key),b.G!==c&&v.Oa(b),d=d.Wa;return this}; +Ea.prototype.map=function(a){var b=this.Ia,c=b.G;this.hb=null;for(var d=new I,e=b.Da;null!==e;)d.add(a(e.key)),b.G!==c&&v.Oa(b),e=e.Wa;return d.i};Ea.prototype.filter=function(a){var b=this.Ia,c=b.G;this.hb=null;for(var d=new I(b.Ki),e=b.Da;null!==e;){var f=e.key;a(f)&&d.add(f);b.G!==c&&v.Oa(b);e=e.Wa}return d.i};Ea.prototype.concat=function(a){return new za(this,a.i)};v.u(Ea,{count:"count"},function(){return this.Ia.od});Ea.prototype.Hf=function(){this.value=this.key=null;this.ib=-1}; +Ea.prototype.toString=function(){return null!==this.hb?"MapKeySetIterator@"+this.hb.value:"MapKeySetIterator"};function Fa(a){v.pc(this);this.Q=!0;this.Ia=a}v.Ma(Fa,J);Fa.prototype.freeze=function(){return this};Fa.prototype.Ra=function(){return this};Fa.prototype.toString=function(){return"MapKeySet("+this.Ia.toString()+")"};Fa.prototype.add=Fa.prototype.set=Fa.prototype.add=function(){v.k("This Set is read-only: "+this.toString());return!1}; +Fa.prototype.contains=Fa.prototype.has=Fa.prototype.contains=function(a){return this.Ia.contains(a)};Fa.prototype.remove=Fa.prototype["delete"]=Fa.prototype.remove=function(){v.k("This Set is read-only: "+this.toString());return!1};Fa.prototype.clear=Fa.prototype.clear=function(){v.k("This Set is read-only: "+this.toString())};Fa.prototype.first=Fa.prototype.first=function(){var a=this.Ia.Da;return null!==a?a.key:null}; +Fa.prototype.any=function(a){for(var b=this.Ia.Da;null!==b;){if(a(b.key))return!0;b=b.Wa}return!1};Fa.prototype.all=function(a){for(var b=this.Ia.Da;null!==b;){if(!a(b.key))return!1;b=b.Wa}return!0};Fa.prototype.each=function(a){for(var b=this.Ia.Da;null!==b;)a(b.key),b=b.Wa;return this};Fa.prototype.map=function(a){for(var b=new J,c=this.Ia.Da;null!==c;)b.add(a(c.key)),c=c.Wa;return b}; +Fa.prototype.filter=function(a){for(var b=new J(this.Ia.Ki),c=this.Ia.Da;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.Wa}return b};Fa.prototype.concat=function(a){return this.eG().Kc(a)};Fa.prototype.copy=function(){return new Fa(this.Ia)};Fa.prototype.toSet=Fa.prototype.eG=function(){var a=new J(this.Ia.Ki),b=this.Ia.pd,c;for(c in b)a.add(b[c].key);return a};Fa.prototype.toArray=Fa.prototype.fc=function(){var a=this.Ia.pd,b=Array(this.Ia.od),c=0,d;for(d in a)b[c]=a[d].key,c++;return b}; +Fa.prototype.toList=function(){var a=new I(this.ka),b=this.Ia.pd,c;for(c in b)a.add(b[c].key);return a};v.u(Fa,{count:"count"},function(){return this.Ia.od});v.u(Fa,{size:"size"},function(){return this.Ia.od});v.u(Fa,{i:"iterator"},function(){return 0>=this.Ia.od?xa:new Ea(this.Ia)});function Ha(a){this.Ia=a;this.reset()}v.ae(Ha,{key:!0,value:!0});v.u(Ha,{i:"iterator"},function(){return this});Ha.prototype.reset=Ha.prototype.reset=function(){var a=this.Ia;a.Xj=null;this.ib=a.G;this.hb=null}; +Ha.prototype.next=Ha.prototype.hasNext=Ha.prototype.next=function(){var a=this.Ia;if(a.G!==this.ib){if(null===this.key)return!1;v.Oa(a)}var b=this.hb,b=null===b?a.Da:b.Wa;if(null!==b)return this.hb=b,this.value=b.value,this.key=b.key,!0;this.Hf();return!1};Ha.prototype.first=Ha.prototype.first=function(){var a=this.Ia;this.ib=a.G;a=a.Da;if(null!==a){this.hb=a;var b=a.value;this.key=a.key;return this.value=b}return null}; +Ha.prototype.any=function(a){var b=this.Ia;b.Xj=null;var c=b.G;this.hb=null;for(var d=b.Da;null!==d;){if(a(d.value))return!0;b.G!==c&&v.Oa(b);d=d.Wa}return!1};Ha.prototype.all=function(a){var b=this.Ia;b.Xj=null;var c=b.G;this.hb=null;for(var d=b.Da;null!==d;){if(!a(d.value))return!1;b.G!==c&&v.Oa(b);d=d.Wa}return!0};Ha.prototype.each=function(a){var b=this.Ia;b.Xj=null;var c=b.G;this.hb=null;for(var d=b.Da;null!==d;)a(d.value),b.G!==c&&v.Oa(b),d=d.Wa;return this}; +Ha.prototype.map=function(a){var b=this.Ia;b.Xj=null;var c=b.G;this.hb=null;for(var d=new I,e=b.Da;null!==e;)d.add(a(e.value)),b.G!==c&&v.Oa(b),e=e.Wa;return d.i};Ha.prototype.filter=function(a){var b=this.Ia;b.Xj=null;var c=b.G;this.hb=null;for(var d=new I(b.Ki),e=b.Da;null!==e;){var f=e.value;a(f)&&d.add(f);b.G!==c&&v.Oa(b);e=e.Wa}return d.i};Ha.prototype.concat=function(a){this.Ia.Xj=null;return new za(this,a.i)};v.u(Ha,{count:"count"},function(){return this.Ia.od}); +Ha.prototype.Hf=function(){this.value=this.key=null;this.ib=-1;this.Ia.Xj=this};Ha.prototype.toString=function(){return null!==this.hb?"MapValueSetIterator@"+this.hb.value:"MapValueSetIterator"};function Da(a,b){this.key=a;this.value=b;this.ep=this.Wa=null}v.ae(Da,{key:!0,value:!0});Da.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};function Ka(a){this.Ia=a;this.reset()}v.ae(Ka,{key:!0,value:!0});v.u(Ka,{i:"iterator"},function(){return this}); +Ka.prototype.reset=Ka.prototype.reset=function(){var a=this.Ia;a.$b=null;this.ib=a.G;this.hb=null};Ka.prototype.next=Ka.prototype.hasNext=Ka.prototype.next=function(){var a=this.Ia;if(a.G!==this.ib){if(null===this.key)return!1;v.Oa(a)}var b=this.hb,b=null===b?a.Da:b.Wa;if(null!==b)return this.hb=b,this.key=b.key,this.value=b.value,!0;this.Hf();return!1}; +Ka.prototype.first=Ka.prototype.first=function(){var a=this.Ia;this.ib=a.G;a=a.Da;return null!==a?(this.hb=a,this.key=a.key,this.value=a.value,a):null};Ka.prototype.any=function(a){var b=this.Ia;b.$b=null;var c=b.G;this.hb=null;for(var d=b.Da;null!==d;){if(a(d))return!0;b.G!==c&&v.Oa(b);d=d.Wa}return!1};Ka.prototype.all=function(a){var b=this.Ia;b.$b=null;var c=b.G;this.hb=null;for(var d=b.Da;null!==d;){if(!a(d))return!1;b.G!==c&&v.Oa(b);d=d.Wa}return!0}; +Ka.prototype.each=function(a){var b=this.Ia;b.$b=null;var c=b.G;this.hb=null;for(var d=b.Da;null!==d;)a(d),b.G!==c&&v.Oa(b),d=d.Wa;return this};Ka.prototype.map=function(a){var b=this.Ia;b.$b=null;var c=b.G;this.hb=null;for(var d=new I,e=b.Da;null!==e;)d.add(a(e)),b.G!==c&&v.Oa(b),e=e.Wa;return d.i};Ka.prototype.filter=function(a){var b=this.Ia;b.$b=null;var c=b.G;this.hb=null;for(var d=new I,e=b.Da;null!==e;)a(e)&&d.add(e),b.G!==c&&v.Oa(b),e=e.Wa;return d.i}; +Ka.prototype.concat=function(a){this.Ia.$b=null;return new za(this,a.i)};v.u(Ka,{count:"count"},function(){return this.Ia.od});Ka.prototype.Hf=function(){this.value=this.key=null;this.ib=-1;this.Ia.$b=this};Ka.prototype.toString=function(){return null!==this.hb?"MapIterator@"+this.hb:"MapIterator"}; +function la(a,b){v.pc(this);this.Q=!1;void 0===a||null===a?this.Ki=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.Ki=a:v.Fa(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.Ki=a===Object?"object":a===String?"string":a===Number?"number":a:v.Fa(a,"null, a primitive type name, or a class type","Map constructor: keytype");void 0===b||null===b?this.lt=null:"string"===typeof b?"object"===b||"string"===b||"boolean"===b||"number"=== +b||"function"===b?this.lt=b:v.Fa(b,"the string 'object', 'number', 'string', 'boolean', or 'function'","Map constructor: valtype"):"function"===typeof b?this.lt=b===Object?"object":b===String?"string":b===Number?"number":b===Boolean?"boolean":b===Function?"function":b:v.Fa(b,"null, a primitive type name, or a class type","Map constructor: valtype");this.pd={};this.od=0;this.Xj=this.$b=null;this.G=0;this.Qh=this.Da=null}v.ga("Map",la); +la.prototype.Hc=function(){var a=this.G;a++;999999999=this.count)return xa;var a=this.$b;return null!==a?(a.reset(),a):new Ka(this)});v.u(la,{hF:"iteratorKeys"},function(){return 0>=this.count?xa:new Ea(this)});v.u(la,{iF:"iteratorValues"},function(){if(0>=this.count)return xa;var a=this.Xj;return null!==a?(a.reset(),a):new Ha(this)});function y(a,b){void 0===a?this.y=this.x=0:(this.x=a,this.y=b)}v.ga("Point",y);v.ii(y);v.ae(y,{x:!0,y:!0});y.prototype.assign=function(a){this.x=a.x;this.y=a.y}; +y.prototype.setTo=y.prototype.l=function(a,b){this.x=a;this.y=b;return this};y.prototype.set=y.prototype.set=function(a){this.x=a.x;this.y=a.y;return this};y.prototype.copy=function(){var a=new y;a.x=this.x;a.y=this.y;return a};y.prototype.Ga=function(){Object.freeze(this);return this};y.prototype.S=function(){return Object.isFrozen(this)?this:this.copy().freeze()};y.prototype.freeze=function(){return this};y.prototype.Ra=function(){Object.isFrozen(this)&&v.k("cannot thaw constant: "+this);return this}; +y.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 y(c,e)}return new y};y.stringify=function(a){return a instanceof y?a.x.toString()+" "+a.y.toString():a.toString()};y.prototype.toString=function(){return"Point("+this.x+","+this.y+")"};y.prototype.equals=y.prototype.L=function(a){return a instanceof y?this.x===a.x&&this.y===a.y:!1}; +y.prototype.equalTo=y.prototype.Zw=function(a,b){return this.x===a&&this.y===b};y.prototype.equalsApprox=y.prototype.Lc=function(a){return K(this.x,a.x)&&K(this.y,a.y)};y.prototype.add=y.prototype.add=function(a){this.x+=a.x;this.y+=a.y;return this};y.prototype.subtract=y.prototype.Vn=function(a){this.x-=a.x;this.y-=a.y;return this};y.prototype.offset=y.prototype.offset=function(a,b){this.x+=a;this.y+=b;return this}; +y.prototype.rotate=y.prototype.rotate=function(a){if(0===a)return this;var b=this.x,c=this.y;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.x=d*b-e*c;this.y=e*b+d*c;return this};y.prototype.scale=y.prototype.scale=function(a,b){this.x*=a;this.y*=b;return this};y.prototype.distanceSquaredPoint=y.prototype.wf=function(a){var b=a.x-this.x;a=a.y-this.y;return b*b+a*a}; +y.prototype.distanceSquared=y.prototype.Op=function(a,b){var c=a-this.x,d=b-this.y;return c*c+d*d};y.prototype.normalize=y.prototype.normalize=function(){var a=this.x,b=this.y,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}y.prototype.projectOntoLineSegment=function(a,b,c,d){Oa(a,b,c,d,this.x,this.y,this);return this};y.prototype.projectOntoLineSegmentPoint=function(a,b){Oa(a.x,a.y,b.x,b.y,this.x,this.y,this);return this};y.prototype.snapToGrid=function(a,b,c,d){Pa(this.x,this.y,a,b,c,d,this);return this}; +y.prototype.snapToGridPoint=function(a,b){Pa(this.x,this.y,a.x,a.y,b.width,b.height,this);return this};y.prototype.setRectSpot=y.prototype.Sn=function(a,b){this.x=a.x+b.x*a.width+b.offsetX;this.y=a.y+b.y*a.height+b.offsetY;return this};y.prototype.setSpot=y.prototype.Du=function(a,b,c,d,e){this.x=a+e.x*c+e.offsetX;this.y=b+e.y*d+e.offsetY;return this};y.prototype.transform=function(a){a.ob(this);return this};function Ra(a,b){b.ki(a);return a}var Sa; +y.distanceLineSegmentSquared=Sa=function(a,b,c,d,e,f){var h=e-c,k=f-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=f-b,Math.min(c*c+d*d,h*h+k*k);a=h*d-k*c;return a*a/l};var Ta;y.distanceSquared=Ta=function(a,b,c,d){a=c-a;b=d-b;return a*a+b*b};var Va;y.direction=Va=function(a,b,c,d){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}; +y.prototype.isReal=y.prototype.H=function(){return isFinite(this.x)&&isFinite(this.y)};function ia(a,b){void 0===a?this.height=this.width=0:(this.width=a,this.height=b)}v.ga("Size",ia);v.ii(ia);v.ae(ia,{width:!0,height:!0});ia.prototype.assign=function(a){this.width=a.width;this.height=a.height};ia.prototype.setTo=ia.prototype.l=function(a,b){this.width=a;this.height=b;return this};ia.prototype.set=ia.prototype.set=function(a){this.width=a.width;this.height=a.height;return this}; +ia.prototype.copy=function(){var a=new ia;a.width=this.width;a.height=this.height;return a};ia.prototype.Ga=function(){Object.freeze(this);return this};ia.prototype.S=function(){return Object.isFrozen(this)?this:this.copy().freeze()};ia.prototype.freeze=function(){return this};ia.prototype.Ra=function(){Object.isFrozen(this)&&v.k("cannot thaw constant: "+this);return this}; +ia.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 ia(c,e)}return new ia};ia.stringify=function(a){return a instanceof ia?a.width.toString()+" "+a.height.toString():a.toString()};ia.prototype.toString=function(){return"Size("+this.width+","+this.height+")"}; +ia.prototype.equals=ia.prototype.L=function(a){return a instanceof ia?this.width===a.width&&this.height===a.height:!1};ia.prototype.equalTo=ia.prototype.Zw=function(a,b){return this.width===a&&this.height===b};ia.prototype.equalsApprox=ia.prototype.Lc=function(a){return K(this.width,a.width)&&K(this.height,a.height)};ia.prototype.isReal=ia.prototype.H=function(){return isFinite(this.width)&&isFinite(this.height)}; +function B(a,b,c,d){void 0===a?this.height=this.width=this.y=this.x=0:a instanceof y?b instanceof y?(this.x=Math.min(a.x,b.x),this.y=Math.min(a.y,b.y),this.width=Math.abs(a.x-b.x),this.height=Math.abs(a.y-b.y)):b instanceof ia?(this.x=a.x,this.y=a.y,this.width=b.width,this.height=b.height):v.k("Incorrect arguments supplied to Rect constructor"):(this.x=a,this.y=b,this.width=c,this.height=d)}v.ga("Rect",B);v.ii(B);v.ae(B,{x:!0,y:!0,width:!0,height:!0}); +B.prototype.assign=function(a){this.x=a.x;this.y=a.y;this.width=a.width;this.height=a.height};function Wa(a,b,c){a.width=b;a.height=c}B.prototype.setTo=B.prototype.l=function(a,b,c,d){this.x=a;this.y=b;this.width=c;this.height=d;return this};B.prototype.set=B.prototype.set=function(a){this.x=a.x;this.y=a.y;this.width=a.width;this.height=a.height;return this};B.prototype.setPoint=B.prototype.Sg=function(a){this.x=a.x;this.y=a.y;return this}; +B.prototype.setSize=function(a){this.width=a.width;this.height=a.height;return this};B.prototype.copy=function(){var a=new B;a.x=this.x;a.y=this.y;a.width=this.width;a.height=this.height;return a};B.prototype.Ga=function(){Object.freeze(this);return this};B.prototype.S=function(){return Object.isFrozen(this)?this:this.copy().freeze()};B.prototype.freeze=function(){return this};B.prototype.Ra=function(){Object.isFrozen(this)&&v.k("cannot thaw constant: "+this);return this}; +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 f=0;""===a[b];)b++;(d=a[b++])&&(f=parseFloat(d));for(var h=0;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return new B(c,e,f,h)}return new B};B.stringify=function(a){return a instanceof B?a.x.toString()+" "+a.y.toString()+" "+a.width.toString()+" "+a.height.toString():a.toString()}; +B.prototype.toString=function(){return"Rect("+this.x+","+this.y+","+this.width+","+this.height+")"};B.prototype.equals=B.prototype.L=function(a){return a instanceof B?this.x===a.x&&this.y===a.y&&this.width===a.width&&this.height===a.height:!1};B.prototype.equalTo=B.prototype.Zw=function(a,b,c,d){return this.x===a&&this.y===b&&this.width===c&&this.height===d};B.prototype.equalsApprox=B.prototype.Lc=function(a){return K(this.x,a.x)&&K(this.y,a.y)&&K(this.width,a.width)&&K(this.height,a.height)}; +function Xa(a,b){return $a(a.x,b.x)&&$a(a.y,b.y)&&$a(a.width,b.width)&&$a(a.height,b.height)}B.prototype.containsPoint=B.prototype.Ha=function(a){return this.x<=a.x&&this.x+this.width>=a.x&&this.y<=a.y&&this.y+this.height>=a.y};B.prototype.containsRect=B.prototype.tk=function(a){return this.x<=a.x&&a.x+a.width<=this.x+this.width&&this.y<=a.y&&a.y+a.height<=this.y+this.height}; +B.prototype.contains=B.prototype.contains=function(a,b,c,d){void 0===c&&(c=0);void 0===d&&(d=0);return this.x<=a&&a+c<=this.x+this.width&&this.y<=b&&b+d<=this.y+this.height};B.prototype.reset=function(){this.height=this.width=this.y=this.x=0};B.prototype.offset=B.prototype.offset=function(a,b){this.x+=a;this.y+=b;return this};B.prototype.inflate=B.prototype.Tf=function(a,b){return db(this,b,a,b,a)};B.prototype.addMargin=B.prototype.Fw=function(a){return db(this,a.top,a.right,a.bottom,a.left)}; +B.prototype.subtractMargin=B.prototype.HJ=function(a){return db(this,-a.top,-a.right,-a.bottom,-a.left)};B.prototype.grow=function(a,b,c,d){return db(this,a,b,c,d)};function db(a,b,c,d,e){var f=a.width;c+e<=-f?(a.x+=f/2,a.width=0):(a.x-=e,a.width+=c+e);c=a.height;b+d<=-c?(a.y+=c/2,a.height=0):(a.y-=b,a.height+=b+d);return a}B.prototype.intersectRect=function(a){return eb(this,a.x,a.y,a.width,a.height)};B.prototype.intersect=B.prototype.SE=function(a,b,c,d){return eb(this,a,b,c,d)}; +function eb(a,b,c,d,e){var f=Math.max(a.x,b),h=Math.max(a.y,c);b=Math.min(a.x+a.width,b+d);c=Math.min(a.y+a.height,c+e);a.x=f;a.y=h;a.width=Math.max(0,b-f);a.height=Math.max(0,c-h);return a}B.prototype.intersectsRect=B.prototype.Jg=function(a){return this.TE(a.x,a.y,a.width,a.height)}; +B.prototype.intersects=B.prototype.TE=function(a,b,c,d){var e=this.width,f=this.x;if(Infinity!==e&&Infinity!==c&&(e+=f,c+=a,isNaN(c)||isNaN(e)||f>c||a>e))return!1;a=this.height;c=this.y;return Infinity!==a&&Infinity!==d&&(a+=c,d+=b,isNaN(d)||isNaN(a)||c>d||b>a)?!1:!0};function gb(a,b){var c=a.width,d=b.width+10+10,e=a.x,f=b.x-10;if(e>d+f||f>c+e)return!1;c=a.height;d=b.height+10+10;e=a.y;f=b.y-10;return e>d+f||f>c+e?!1:!0}B.prototype.unionPoint=B.prototype.qi=function(a){return kb(this,a.x,a.y,0,0)}; +B.prototype.unionRect=B.prototype.Gh=function(a){return kb(this,a.x,a.y,a.width,a.height)};B.prototype.union=B.prototype.mG=function(a,b,c,d){void 0===c&&(c=0);void 0===d&&(d=0);return kb(this,a,b,c,d)};function kb(a,b,c,d,e){var f=Math.min(a.x,b),h=Math.min(a.y,c);b=Math.max(a.x+a.width,b+d);c=Math.max(a.y+a.height,c+e);a.x=f;a.y=h;a.width=b-f;a.height=c-h;return a}B.prototype.setSpot=B.prototype.Du=function(a,b,c){this.x=a-c.offsetX-c.x*this.width;this.y=b-c.offsetY-c.y*this.height;return this}; +var lb;B.contains=lb=function(a,b,c,d,e,f,h,k){void 0===h&&(h=0);void 0===k&&(k=0);return a<=e&&e+h<=a+c&&b<=f&&f+k<=b+d};B.intersects=function(a,b,c,d,e,f,h,k){c+=a;h+=e;if(a>h||e>c)return!1;a=d+b;k+=f;return b>k||f>a?!1:!0};v.defineProperty(B,{left:"left"},function(){return this.x},function(a){this.x=a});v.defineProperty(B,{top:"top"},function(){return this.y},function(a){this.y=a});v.defineProperty(B,{right:"right"},function(){return this.x+this.width},function(a){this.x+=a-(this.x+this.width)}); +v.defineProperty(B,{bottom:"bottom"},function(){return this.y+this.height},function(a){this.y+=a-(this.y+this.height)});v.defineProperty(B,{position:"position"},function(){return new y(this.x,this.y)},function(a){this.x=a.x;this.y=a.y});v.defineProperty(B,{size:"size"},function(){return new ia(this.width,this.height)},function(a){this.width=a.width;this.height=a.height}); +v.defineProperty(B,{El:"center"},function(){return new y(this.x+this.width/2,this.y+this.height/2)},function(a){this.x=a.x-this.width/2;this.y=a.y-this.height/2});v.defineProperty(B,{la:"centerX"},function(){return this.x+this.width/2},function(a){this.x=a-this.width/2});v.defineProperty(B,{sa:"centerY"},function(){return this.y+this.height/2},function(a){this.y=a-this.height/2});B.prototype.isReal=B.prototype.H=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 mb(a,b,c,d){void 0===a?this.left=this.bottom=this.right=this.top=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):v.k("Invalid arguments to Margin constructor")}v.ga("Margin",mb);v.ii(mb);v.ae(mb,{top:!0,right:!0,bottom:!0,left:!0}); +mb.prototype.assign=function(a){this.top=a.top;this.right=a.right;this.bottom=a.bottom;this.left=a.left};mb.prototype.setTo=mb.prototype.l=function(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d;return this};mb.prototype.set=mb.prototype.set=function(a){this.top=a.top;this.right=a.right;this.bottom=a.bottom;this.left=a.left;return this};mb.prototype.copy=function(){var a=new mb;a.top=this.top;a.right=this.right;a.bottom=this.bottom;a.left=this.left;return a}; +mb.prototype.Ga=function(){Object.freeze(this);return this};mb.prototype.S=function(){return Object.isFrozen(this)?this:this.copy().freeze()};mb.prototype.freeze=function(){return this};mb.prototype.Ra=function(){Object.isFrozen(this)&&v.k("cannot thaw constant: "+this);return this}; +mb.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 mb;for(var e=NaN;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));if(isNaN(e))return new mb(c);for(var f=NaN;""===a[b];)b++;(d=a[b++])&&(f=parseFloat(d));if(isNaN(f))return new mb(c,e);for(var h=NaN;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return isNaN(h)?new mb(c,e):new mb(c,e,f,h)}return new mb}; +mb.stringify=function(a){return a instanceof mb?a.top.toString()+" "+a.right.toString()+" "+a.bottom.toString()+" "+a.left.toString():a.toString()};mb.prototype.toString=function(){return"Margin("+this.top+","+this.right+","+this.bottom+","+this.left+")"};mb.prototype.equals=mb.prototype.L=function(a){return a instanceof mb?this.top===a.top&&this.right===a.right&&this.bottom===a.bottom&&this.left===a.left:!1}; +mb.prototype.equalTo=mb.prototype.Zw=function(a,b,c,d){return this.top===a&&this.right===b&&this.bottom===c&&this.left===d};mb.prototype.equalsApprox=mb.prototype.Lc=function(a){return K(this.top,a.top)&&K(this.right,a.right)&&K(this.bottom,a.bottom)&&K(this.left,a.left)};mb.prototype.isReal=mb.prototype.H=function(){return isFinite(this.top)&&isFinite(this.right)&&isFinite(this.bottom)&&isFinite(this.left)};function ja(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0}v.ii(ja); +v.ae(ja,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});ja.prototype.set=ja.prototype.set=function(a){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};ja.prototype.copy=function(){var a=new ja;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};ja.prototype.toString=function(){return"Transform("+this.m11+","+this.m12+","+this.m21+","+this.m22+","+this.dx+","+this.dy+")"}; +ja.prototype.equals=ja.prototype.L=function(a){return a instanceof ja?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};ja.prototype.isIdentity=ja.prototype.$t=function(){return 1===this.m11&&0===this.m12&&0===this.m21&&1===this.m22&&0===this.dx&&0===this.dy};ja.prototype.reset=ja.prototype.reset=function(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0;return this}; ja.prototype.multiply=ja.prototype.multiply=function(a){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,f=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=f;return this}; -ja.prototype.multiplyInverted=ja.prototype.wE=function(a){var b=1/(a.m11*a.m22-a.m12*a.m21),c=a.m22*b,d=-a.m12*b,e=-a.m21*b,f=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*f;e=this.m12*e+this.m22*f;f=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=f;this.dy=h;return this}; -ja.prototype.invert=ja.prototype.Cz=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),f=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=f;return this}; +ja.prototype.multiplyInverted=ja.prototype.qF=function(a){var b=1/(a.m11*a.m22-a.m12*a.m21),c=a.m22*b,d=-a.m12*b,e=-a.m21*b,f=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*f;e=this.m12*e+this.m22*f;f=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=f;this.dy=h;return this}; +ja.prototype.invert=ja.prototype.mx=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),f=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=f;return this}; ja.prototype.rotate=ja.prototype.rotate=function(a,b,c){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 f=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=f;this.m22=h;this.translate(-b,-c);return this}; -ja.prototype.translate=ja.prototype.translate=function(a,b){this.dx+=this.m11*a+this.m21*b;this.dy+=this.m12*a+this.m22*b;return this};ja.prototype.scale=ja.prototype.scale=function(a,b){void 0===b&&(b=a);this.m11*=a;this.m12*=a;this.m21*=b;this.m22*=b;return this};ja.prototype.transformPoint=ja.prototype.ub=function(a){var b=a.x,c=a.y;a.x=b*this.m11+c*this.m21+this.dx;a.y=b*this.m12+c*this.m22+this.dy;return a}; -ja.prototype.invertedTransformPoint=ja.prototype.Xh=function(a){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),f=a.x,h=a.y;a.x=f*this.m22*b+h*-this.m21*b+b*(this.m21*this.dy-this.m22*this.dx);a.y=f*c+h*d+e;return a}; -ja.prototype.transformRect=ja.prototype.oF=function(a){var b=a.x,c=a.y,d=b+a.width,e=c+a.height,f=this.m11,h=this.m12,k=this.m21,l=this.m22,m=this.dx,n=this.dy,p=b*f+c*k+m,q=b*h+c*l+n,r=d*f+c*k+m,c=d*h+c*l+n,s=b*f+e*k+m,b=b*h+e*l+n,f=d*f+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,f),e=Math.max(e,f),h=Math.min(h,d),q=Math.max(q,d);a.x=p;a.y=h;a.width=e-p;a.height=q-h;return a}; -function L(a,b,c,d){void 0===a?this.offsetY=this.offsetX=this.y=this.x=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.D=!1}v.ea("Spot",L);v.Vh(L);v.Kd(L,{x:!0,y:!0,offsetX:!0,offsetY:!0});L.prototype.assign=function(a){this.x=a.x;this.y=a.y;this.offsetX=a.offsetX;this.offsetY=a.offsetY};L.prototype.setTo=L.prototype.m=function(a,b,c,d){this.Cb();this.x=a;this.y=b;this.offsetX=c;this.offsetY=d;return this}; -L.prototype.set=L.prototype.set=function(a){this.Cb();this.x=a.x;this.y=a.y;this.offsetX=a.offsetX;this.offsetY=a.offsetY;return this};L.prototype.copy=function(){var a=new L;a.x=this.x;a.y=this.y;a.offsetX=this.offsetX;a.offsetY=this.offsetY;return a};g=L.prototype;g.Ea=function(){this.D=!0;Object.freeze(this);return this};g.S=function(){return Object.isFrozen(this)?this:this.copy().freeze()};g.freeze=function(){this.D=!0;return this}; -g.Oa=function(){Object.isFrozen(this)&&v.k("cannot thaw constant: "+this);this.D=!1;return this};g.Cb=function(a){if(this.D){var b="The Spot is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);v.k(b)}};function db(a,b){a.x=NaN;a.y=NaN;a.offsetX=b;return a}var gb; -L.parse=gb=function(a){if("string"===typeof a){a=a.trim();if("None"===a)return qb;if("TopLeft"===a)return rb;if("Top"===a||"TopCenter"===a||"MiddleTop"===a)return sb;if("TopRight"===a)return tb;if("Left"===a||"LeftCenter"===a||"MiddleLeft"===a)return ub;if("Center"===a)return zb;if("Right"===a||"RightCenter"===a||"MiddleRight"===a)return Ab;if("BottomLeft"===a)return Cb;if("Bottom"===a||"BottomCenter"===a||"MiddleBottom"===a)return Db;if("BottomRight"===a)return Eb;if("TopSide"===a)return Fb;if("LeftSide"=== -a)return Gb;if("RightSide"===a)return Nb;if("BottomSide"===a)return Ob;if("TopBottomSides"===a)return Pb;if("LeftRightSides"===a)return Tb;if("TopLeftSides"===a)return Ub;if("TopRightSides"===a)return Vb;if("BottomLeftSides"===a)return Zb;if("BottomRightSides"===a)return $b;if("NotTopSide"===a)return ac;if("NotLeftSide"===a)return bc;if("NotRightSide"===a)return cc;if("NotBottomSide"===a)return dc;if("AllSides"===a)return ec;if("Default"===a)return fc;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;k=2*Math.PI?(Fc(a,b,c,d,e,e+Math.PI,h),Fc(a,b,c,d,e+Math.PI,e+2*Math.PI,h),a.path.push(["M",l,f])):(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,f]))}}function Ec(a,b,c,d,e,f,h){var k=new Ac;k.ff=[b,c,d,e,f,h];b={};Oc(a,"g",b,k);k=a.addElement("g",b);a.tf.push(k)} -g.Ya=function(){if(0!==this.shadowOffsetX||0!==this.shadowOffsetY||0!==this.shadowBlur){var a="SHADOW"+v.Jl++,b=this.addElement("filter",{id:a,x:"-100%",y:"-100%",width:"300%",height:"300%"},null),c,d,e,f,h;c=Dc(this,"feGaussianBlur",{"in":"SourceAlpha",result:"blur",GK:this.shadowBlur/2});d=Dc(this,"feFlood",{"in":"blur",result:"flood","flood-color":this.shadowColor});e=Dc(this,"feComposite",{"in":"flood",in2:"blur",operator:"in",result:"comp"});f=Dc(this,"feOffset",{"in":"comp",result:"offsetBlur", -dx:this.shadowOffsetX,dy:this.shadowOffsetY});h=Dc(this,"feMerge",{});h.appendChild(Dc(this,"feMergeNode",{"in":"offsetBlur"}));h.appendChild(Dc(this,"feMergeNode",{"in":"SourceGraphic"}));b.appendChild(c);b.appendChild(d);b.appendChild(e);b.appendChild(f);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.pn?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.pn?this.clip():this.fill()};g.dj=function(){this.pn||this.stroke()};v.defineProperty(Sc,{pw:"clipInsteadOfFill"},function(){return this.pn},function(a){this.pn=a});g=Sc.prototype; -g.qA=function(a,b,c){this.ns=a;this.os=b;this.og=c};g.$m=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};g.an=function(){this.shadowOffsetX=this.ns;this.shadowOffsetY=this.os;this.shadowBlur=this.og};g.pz=function(a,b){var c=this.wa;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}; -g.nz=function(){var a=this.wa;void 0!==a.setLineDash?(a.setLineDash(v.hj),a.lineDashOffset=0):void 0!==a.webkitLineDash?(a.webkitLineDash=v.hj,a.webkitLineDashOffset=0):void 0!==a.mozDash&&(a.mozDash=null,a.mozDashOffset=0)};function Zc(a,b){b&&(a.Kx="");a.Lx="";a.Jx=""} -var $c=(Math.sqrt(2)-1)/3*4,ad=(new z(0,0)).Ea(),bd=(new A(0,0,0,0)).Ea(),cd=(new cb(0,0,0,0)).Ea(),ld=(new cb(2,2,2,2)).Ea(),md=(new z(6,6)).Ea(),nd=(new z(-Infinity,-Infinity)).Ea(),od=(new z(Infinity,Infinity)).Ea(),pd=(new ia(0,0)).Ea(),qd=(new ia(1,1)).Ea(),rd=(new ia(6,6)).Ea(),sd=(new ia(8,8)).Ea(),td=(new ia(10,10)).Ea(),Cd=(new ia(Infinity,Infinity)).Ea(),Dd=(new z(NaN,NaN)).Ea(),Ed=(new ia(NaN,NaN)).Ea(),Fd=(new A(NaN,NaN,NaN,NaN)).Ea(),Gd=(new L(.156,.156)).Ea(),Hd=(new L(.844,.844)).Ea(), -Id=new ta,Jd=new ta,Kd=null;function Ld(a){if(0>=a)return 0;var b=Kd;if(null===b){for(var b=[],c=0;2E3>=c;c++)b[c]=Math.sqrt(c);Kd=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 K(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(f=(d-b)/(c-a)*(f-a)+b,f-e<=h&&h<=f+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<=f&&f<=h+e)return!0}else return!0;return!1} -function Xd(a,b,c,d,e,f,h,k,l,m,n,p){if(Md(a,b,h,k,p,c,d)&&Md(a,b,h,k,p,e,f))return Md(a,b,h,k,p,m,n);var q=(a+c)/2,r=(b+d)/2,s=(c+e)/2,t=(d+f)/2;e=(e+h)/2;f=(f+k)/2;d=(q+s)/2;c=(r+t)/2;var s=(s+e)/2,t=(t+f)/2,u=(d+s)/2,x=(c+t)/2;return Xd(a,b,q,r,d,c,u,x,l,m,n,p)||Xd(u,x,s,t,e,f,h,k,l,m,n,p)} -function Yd(a,b,c,d,e,f,h,k,l,m){if(Md(a,b,h,k,l,c,d)&&Md(a,b,h,k,l,e,f))$a(m,a,b,0,0),$a(m,h,k,0,0);else{var n=(a+c)/2,p=(b+d)/2,q=(c+e)/2,r=(d+f)/2;e=(e+h)/2;f=(f+k)/2;d=(n+q)/2;c=(p+r)/2;var q=(q+e)/2,r=(r+f)/2,s=(d+q)/2,t=(c+r)/2;Yd(a,b,n,p,d,c,s,t,l,m);Yd(s,t,q,r,e,f,h,k,l,m)}} -function Zd(a,b,c,d,e,f,h,k,l,m){if(Md(a,b,h,k,l,c,d)&&Md(a,b,h,k,l,e,f))0===m.length&&(m.push(a),m.push(b)),m.push(h),m.push(k);else{var n=(a+c)/2,p=(b+d)/2,q=(c+e)/2,r=(d+f)/2;e=(e+h)/2;f=(f+k)/2;d=(n+q)/2;c=(p+r)/2;var q=(q+e)/2,r=(r+f)/2,s=(d+q)/2,t=(c+r)/2;Zd(a,b,n,p,d,c,s,t,l,m);Zd(s,t,q,r,e,f,h,k,l,m)}} -function $d(a,b,c,d,e,f,h,k,l,m,n,p,q,r){var s=1-l;a=a*s+c*l;b=b*s+d*l;c=c*s+e*l;d=d*s+f*l;e=e*s+h*l;f=f*s+k*l;k=a*s+c*l;h=b*s+d*l;c=c*s+e*l;d=d*s+f*l;m.x=a;m.y=b;n.x=k;n.y=h;p.x=k*s+c*l;p.y=h*s+d*l;q.x=c;q.y=d;r.x=e;r.y=f}function ae(a,b,c,d,e,f,h,k,l,m){if(Md(a,b,e,f,m,c,d))return Md(a,b,e,f,m,k,l);var n=(a+c)/2,p=(b+d)/2;c=(c+e)/2;d=(d+f)/2;var q=(n+c)/2,r=(p+d)/2;return ae(a,b,n,p,q,r,h,k,l,m)||ae(q,r,c,d,e,f,h,k,l,m)} -function be(a,b,c,d,e,f,h,k){if(Md(a,b,e,f,h,c,d))$a(k,a,b,0,0),$a(k,e,f,0,0);else{var l=(a+c)/2,m=(b+d)/2;c=(c+e)/2;d=(d+f)/2;var n=(l+c)/2,p=(m+d)/2;be(a,b,l,m,n,p,h,k);be(n,p,c,d,e,f,h,k)}}function ce(a,b,c,d,e,f,h,k){if(Md(a,b,e,f,h,c,d))0===k.length&&(k.push(a),k.push(b)),k.push(e),k.push(f);else{var l=(a+c)/2,m=(b+d)/2;c=(c+e)/2;d=(d+f)/2;var n=(l+c)/2,p=(m+d)/2;ce(a,b,l,m,n,p,h,k);ce(n,p,c,d,e,f,h,k)}} -function de(a,b,c,d,e,f,h,k,l,m,n,p,q,r){0>=q&&(q=1E-6);if(Md(a,b,h,k,q,c,d)&&Md(a,b,h,k,q,e,f)){var s=(a-h)*(m-p)-(b-k)*(l-n);if(0===s)return!1;q=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/s;s=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/s;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(h=l=0,bh)return!1}else if(ah)return!1;r.x=q;r.y=s;return!0}var s=(a+c)/2,t=(b+d)/2;c=(c+e)/2;d=(d+f)/2;e=(e+h)/2;f=(f+k)/2;var u=(s+c)/2,x=(t+d)/2;c=(c+e)/2;d=(d+f)/2;var w=(u+c)/2,y=(x+d)/2, -B=(n-l)*(n-l)+(p-m)*(p-m),H=!1;de(a,b,s,t,u,x,w,y,l,m,n,p,q,r)&&(b=(r.x-l)*(r.x-l)+(r.y-m)*(r.y-m),b=q&&(q=1E-6);if(Md(a,b,h,k,q,c,d)&&Md(a,b,h,k,q,e,f)){q=(a-h)*(m-p)-(b-k)*(l-n);if(0===q)return r;var s=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/q,t=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/q;if(s>=n)return r;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(a=l=0,ba)return r}else if(aa)return r;0q&&r--}else{var s=(a+c)/2,t=(b+d)/2,u=(c+e)/2,x=(d+f)/2;e=(e+h)/2;f=(f+k)/2;d=(s+u)/2;c=(t+x)/2;var u=(u+e)/2,x=(x+f)/2, -w=(d+u)/2,y=(c+x)/2,r=r+ee(a,b,s,t,d,c,w,y,l,m,n,p,q),r=r+ee(w,y,u,x,e,f,h,k,l,m,n,p,q)}return r} -function Oa(a,b,c,d,e,f,h){if(Hc(a,c)){var k=0;c=0;bc)return h.x=a,h.y=c,!1;h.x=a;h.y=d;return!0}if(Hc(b,d)){ac)return h.x=c,h.y=b,!1;h.x=d;h.y=b;return!0}k=((a-e)*(a-c)+(b-f)*(b-d))/((c-a)*(c-a)+(d-b)*(d-b));if(-5E-6>k)return h.x=a,h.y=b,!1;if(1.000005c)return l.x=a,l.y=c,!1;l.x=a;l.y=f;return!0}h=(d-b)/(c-a);if(Hc(k,h))return Oa(a,b,c,d,e,f,l),!1;e=(h*a-k*e+f-b)/(h-k);if(Hc(h,0)){ac)return l.x=c,l.y=b,!1;l.x=e;l.y=b;return!0}f= -h*(e-a)+b;return Oa(a,b,c,d,e,f,l)}function ge(a,b,c,d,e,f,h,k,l){var m=1E21,n=a,p=b;if(fe(a,b,a,d,e,f,h,k,l)){var q=(l.x-e)*(l.x-e)+(l.y-f)*(l.y-f);qm} -function he(a,b,c,d,e,f,h,k,l){c=a-c;var m=e-h,n=h=0;0===c||0===m?0===c?(k=(f-k)/m,h=a,n=k*h+(f-k*e)):(d=(b-d)/c,h=e,n=d*h+(b-d*a)):(d=(b-d)/c,k=(f-k)/m,a=b-d*a,h=(f-k*e-a)/(d-k),n=d*h+a);l.m(h,n);return l} -function oe(a,b,c){var d=b.x,e=b.y,f=c.x,h=c.y,k=a.left,l=a.right,m=a.top,n=a.bottom;return d===f?(f=a=0,e=m):e===h?(d=k):a.Fa(b)||a.Fa(c)||pe(k,m,l,m,d,e,f,h)||pe(l,m,l,n,d,e,f,h)||pe(l,n,k,n,d,e,f,h)||pe(k,n,k,m,d,e,f,h)?!0:!1}function pe(a,b,c,d,e,f,h,k){return 0>=qe(a,b,c,d,e,f)*qe(a,b,c,d,h,k)&&0>=qe(e,f,h,k,a,b)*qe(e,f,h,k,c,d)} -function qe(a,b,c,d,e,f){c-=a;d-=b;a=e-a;b=f-b;f=a*d-b*c;0===f&&(f=a*c+b*d,0f&&(f=0)));return 0>f?-1:0a&&(a+=360);360<=a&&(a-=360);return a} -function se(a,b,c,d){var e=Math.PI;d||(b*=e/180,c*=e/180);d=bc,f=0>d,h=0,k=h=0;af;++f){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.Aa.toString()+" "+this.xa.toString()+"L"+this.I.toString()+" "+this.J.toString():"M"+this.Aa.toFixed(a)+" "+this.xa.toFixed(a)+"L"+this.I.toFixed(a)+" "+this.J.toFixed(a);case Je:var b=new A(this.Aa,this.xa,0,0);b.qF(this.I,this.J,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 Ke:b=new A(this.Aa,this.xa,0,0);b.qF(this.I,this.J,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 Fe:for(var b="",c=this.Ub.n,d=c.length,e=0;e=t-1?!0:null!==l[m+1].match(/[A-Za-z]/)}function d(){m++;return l[m]}function e(){var a=new z(parseFloat(d()),parseFloat(d()));n===n.toLowerCase()&&(a.x=s.x+a.x,a.y=s.y+a.y);return a}function f(){return s=e()}function h(){return r=e()}function k(){return"c"!==p.toLowerCase()&&"s"!==p.toLowerCase()?s:new z(2*s.x-r.x,2*s.y-r.y)}void 0===b&&(b=!1);"string"!==typeof a&&v.Cd(a,"string",ve,"parse:str");a=a.replace(/,/gm," ");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm, -"$1 $2");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,"$1 $2");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([^\s])/gm,"$1 $2");a=a.replace(/([^\s])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,"$1 $2");a=a.replace(/([0-9])([+\-])/gm,"$1 $2");a=a.replace(/(\.[0-9]*)(\.)/gm,"$1 $2");a=a.replace(/([Aa](\s+[0-9]+){3})\s+([01])\s*([01])/gm,"$1 $3 $4 ");a=a.replace(/[\s\r\t\n]+/gm," ");a=a.replace(/^\s+|\s+$/g,"");for(var l=a.split(" "),m=-1,n="",p="",q=new z(0,0),r=new z(0,0),s=new z(0, -0),t=l.length,u=v.s(),x=!1,w=!1,y=!0;!(m>=t-1);)if(p=n,n=d(),""!==n)switch(n.toUpperCase()){case "X":y=!0;w=x=!1;break;case "M":var B=f();null===u.Rb||!0===y?(N(u,B.x,B.y,x,!1,!w),y=!1):u.moveTo(B.x,B.y);for(q=s;!c();)B=f(),u.lineTo(B.x,B.y);break;case "L":for(;!c();)B=f(),u.lineTo(B.x,B.y);break;case "H":for(;!c();)s=B=new z((n===n.toLowerCase()?s.x:0)+parseFloat(d()),s.y),u.lineTo(s.x,s.y);break;case "V":for(;!c();)s=B=new z(s.x,(n===n.toLowerCase()?s.y:0)+parseFloat(d())),u.lineTo(s.x,s.y);break; -case "C":for(;!c();){var H=e(),C=h(),B=f();O(u,H.x,H.y,C.x,C.y,B.x,B.y)}break;case "S":for(;!c();)H=k(),C=h(),B=f(),O(u,H.x,H.y,C.x,C.y,B.x,B.y);break;case "Q":for(;!c();)C=h(),B=f(),af(u,C.x,C.y,B.x,B.y);break;case "T":for(;!c();)r=C=k(),B=f(),af(u,C.x,C.y,B.x,B.y);break;case "B":for(;!c();){var B=parseFloat(d()),H=parseFloat(d()),C=parseFloat(d()),T=parseFloat(d()),ba=parseFloat(d()),U=ba,M=!1;c()||(U=parseFloat(d()),c()||(M=0!==parseFloat(d())));n===n.toLowerCase()&&(C+=s.x,T+=s.y);u.arcTo(B,H, -C,T,ba,U,M)}break;case "A":for(;!c();)H=Math.abs(parseFloat(d())),C=Math.abs(parseFloat(d())),T=parseFloat(d()),ba=!!parseFloat(d()),U=!!parseFloat(d()),B=f(),bf(u,H,C,T,ba,U,B.x,B.y);break;case "Z":B=u.o.Ub.n[u.o.Ub.length-1];P(u);s=q;break;case "F":B="";for(H=1;l[m+H];)if(null!==l[m+H].match(/[Uu]/))H++;else if(null===l[m+H].match(/[A-Za-z]/))H++;else{B=l[m+H];break}B.match(/[Mm]/)?x=!0:cf(u);break;case "U":B="";for(H=1;l[m+H];)if(null!==l[m+H].match(/[Ff]/))H++;else if(null===l[m+H].match(/[A-Za-z]/))H++; -else{B=l[m+H];break}B.match(/[Mm]/)?w=!0:u.Ya(!1)}q=u.o;v.q(u);if(b)for(u=q.Ub.i;u.next();)B=u.value,B.ut=!0;return q};function df(a,b){for(var c=a.length,d=v.L(),e=0;eh&&(h+=360),s.xe+=h);0>a&&(s.xe=180-s.xe,s.Af=-s.Af);0>d&&(s.xe=-s.xe,s.Af=-s.Af);s.radiusX*=Math.sqrt(a*a+c*c);void 0!==s.radiusY&&(s.radiusY*=Math.sqrt(b*b+d*d));break;case kf:h=s.I;k=s.J;s.I=h* -a+k*c+e;s.J=h*b+k*d+f;0!==b&&(h=180*Math.atan2(b,a)/Math.PI,0>h&&(h+=360),s.gj+=h);0>a&&(s.gj=180-s.gj,s.tl=!s.tl);0>d&&(s.gj=-s.gj,s.tl=!s.tl);s.radiusX*=Math.sqrt(a*a+c*c);s.radiusY*=Math.sqrt(b*b+d*d);break;default:v.k("Unknown Segment type: "+s.type)}}}}this.$a=!0;return this}; -ve.prototype.Fa=function(a,b,c,d){var e=a.x,f=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.Ub.n,s=r.length,t=0;t=a)return 0;if((e>h?e-h:h-e)<(f>k?f-k:k-f)){if(e=a=0,fe)return 0}else if(ee)return 0;return 0a||1a)return n=(a-q)/p,v.sa(c),new z(b+(e-b)*n,d+(f-d)*n);q+=p}b=e;d=f}v.sa(c);return null};v.defineProperty(ve,{type:"type"},function(){return this.ia},function(a){this.ia!==a&&(this.D&&v.ka(this,a),this.ia=a,this.$a=!0)});v.defineProperty(ve,{Aa:"startX"},function(){return this.vc},function(a){this.vc!==a&&(this.D&&v.ka(this,a),this.vc=a,this.$a=!0)}); -v.defineProperty(ve,{xa:"startY"},function(){return this.Cc},function(a){this.Cc!==a&&(this.D&&v.ka(this,a),this.Cc=a,this.$a=!0)});v.defineProperty(ve,{I:"endX"},function(){return this.vb},function(a){this.vb!==a&&(this.D&&v.ka(this,a),this.vb=a,this.$a=!0)});v.defineProperty(ve,{J:"endY"},function(){return this.Bb},function(a){this.Bb!==a&&(this.D&&v.ka(this,a),this.Bb=a,this.$a=!0)}); -v.defineProperty(ve,{Ub:"figures"},function(){return this.mj},function(a){this.mj!==a&&(this.D&&v.ka(this,a),this.mj=a,this.$a=!0)});ve.prototype.add=ve.prototype.add=function(a){this.mj.add(a);return this};ve.prototype.setSpots=function(a,b,c,d,e,f,h,k){this.D&&v.ka(this);this.Oh=(new L(a,b,e,f)).freeze();this.Ph=(new L(c,d,h,k)).freeze();return this};v.defineProperty(ve,{B:"spot1"},function(){return this.Oh},function(a){this.D&&v.ka(this,a);this.Oh=a.S()}); -v.defineProperty(ve,{C:"spot2"},function(){return this.Ph},function(a){this.D&&v.ka(this,a);this.Ph=a.S()});v.defineProperty(ve,{Jd:"defaultStretch"},function(){return this.ni},function(a){this.D&&v.ka(this,a);this.ni=a});v.u(ve,{mb:"bounds"},function(){this.Gz()&&(this.BA(),this.ah());return this.Cu});function Ge(a,b,c,d){v.dc(this);this.D=!1;void 0===c&&(c=!0);this.Sl=c;void 0===d&&(d=!0);this.Tn=d;this.vc=void 0!==a?a:0;this.Cc=void 0!==b?b:0;this.po=new I(wf);this.Rv=this.po.F;this.$a=!0} -v.ea("PathFigure",Ge);v.Vh(Ge);Ge.prototype.copy=function(){var a=new Ge;a.Sl=this.Sl;a.Tn=this.Tn;a.vc=this.vc;a.Cc=this.Cc;for(var b=this.po.n,c=b.length,d=a.po,e=0;ea?"M"+this.Aa.toString()+" "+this.xa.toString():"M"+this.Aa.toFixed(a)+" "+this.xa.toFixed(a),c=this.sb.n,d=c.length,e=0;ea&&(a+=360),this.sd=a,this.Fe=0,this.Yg=Math.max(d,0),this.ng=Math.max(e,0),this.Yn="boolean"===typeof h?!!h:!1,this.qn=!!k):(this.sd=d,this.Fe=e,a===jf&&(f=Math.max(f,0)),this.Yg=f,"number"===typeof h?(a===jf&&(h=Math.max(h,0)),this.ng=h):this.ng=0,this.qn=this.Yn=!1);this.Eh=!1;this.$a= -!0;this.cg=null}v.ea("PathSegment",wf);v.Vh(wf);wf.prototype.copy=function(){var a=new wf;a.ia=this.ia;a.vb=this.vb;a.Bb=this.Bb;a.sd=this.sd;a.Fe=this.Fe;a.Yg=this.Yg;a.ng=this.ng;a.Yn=this.Yn;a.qn=this.qn;a.Eh=this.Eh;a.$a=this.$a;return a}; -wf.prototype.equalsApprox=wf.prototype.Fc=function(a){if(!(a instanceof wf)||this.type!==a.type||this.Hw!==a.Hw)return!1;switch(this.type){case ff:case Ye:return K(this.I,a.I)&&K(this.J,a.J);case gf:return K(this.I,a.I)&&K(this.J,a.J)&&K(this.rc,a.rc)&&K(this.Kc,a.Kc)&&K(this.mh,a.mh)&&K(this.nh,a.nh);case hf:return K(this.I,a.I)&&K(this.J,a.J)&&K(this.rc,a.rc)&&K(this.Kc,a.Kc);case jf:return K(this.xe,a.xe)&&K(this.Af,a.Af)&&K(this.na,a.na)&&K(this.ua,a.ua)&&K(this.radiusX,a.radiusX)&&K(this.radiusY, -a.radiusY);case kf:return this.tl===a.tl&&this.Kw===a.Kw&&K(this.gj,a.gj)&&K(this.I,a.I)&&K(this.J,a.J)&&K(this.radiusX,a.radiusX)&&K(this.radiusY,a.radiusY);default:return!1}}; -wf.prototype.toString=function(a){void 0===a&&(a=-1);var b="";switch(this.type){case ff:b=0>a?"M"+this.I.toString()+" "+this.J.toString():"M"+this.I.toFixed(a)+" "+this.J.toFixed(a);break;case Ye:b=0>a?"L"+this.I.toString()+" "+this.J.toString():"L"+this.I.toFixed(a)+" "+this.J.toFixed(a);break;case gf:b=0>a?"C"+this.rc.toString()+" "+this.Kc.toString()+" "+this.mh.toString()+" "+this.nh.toString()+" "+this.I.toString()+" "+this.J.toString():"C"+this.rc.toFixed(a)+" "+this.Kc.toFixed(a)+" "+this.mh.toFixed(a)+ -" "+this.nh.toFixed(a)+" "+this.I.toFixed(a)+" "+this.J.toFixed(a);break;case hf:b=0>a?"Q"+this.rc.toString()+" "+this.Kc.toString()+" "+this.I.toString()+" "+this.J.toString():"Q"+this.rc.toFixed(a)+" "+this.Kc.toFixed(a)+" "+this.I.toFixed(a)+" "+this.J.toFixed(a);break;case jf:b=0>a?"B"+this.xe.toString()+" "+this.Af.toString()+" "+this.na.toString()+" "+this.ua.toString()+" "+this.radiusX:"B"+this.xe.toFixed(a)+" "+this.Af.toFixed(a)+" "+this.na.toFixed(a)+" "+this.ua.toFixed(a)+" "+this.radiusX; -break;case kf:b=0>a?"A"+this.radiusX.toString()+" "+this.radiusY.toString()+" "+this.gj.toString()+" "+(this.Kw?1:0)+" "+(this.tl?1:0)+" "+this.I.toString()+" "+this.J.toString():"A"+this.radiusX.toFixed(a)+" "+this.radiusY.toFixed(a)+" "+this.gj.toFixed(a)+" "+(this.Kw?1:0)+" "+(this.tl?1:0)+" "+this.I.toFixed(a)+" "+this.J.toFixed(a);break;default:b=this.type.toString()}return b+(this.Eh?"z":"")};var ff;wf.Move=ff=v.p(wf,"Move",0);var Ye;wf.Line=Ye=v.p(wf,"Line",1);var gf; -wf.Bezier=gf=v.p(wf,"Bezier",2);var hf;wf.QuadraticBezier=hf=v.p(wf,"QuadraticBezier",3);var jf;wf.Arc=jf=v.p(wf,"Arc",4);var kf;wf.SvgArc=kf=v.p(wf,"SvgArc",4);wf.prototype.freeze=function(){this.D=!0;return this};wf.prototype.Oa=function(){this.D=!1;return this};wf.prototype.close=wf.prototype.close=function(){this.Eh=!0;return this}; -function lf(a,b){if(null!==a.cg&&!1===b.$a)return a.cg;var c=a.radiusX,d=a.radiusY;void 0===d&&(d=c);if(0===c||0===d)return a.cg=[],a.cg;var e=a.sd,f=a.Fe,h=se(c=r?h=Math.PI:1<=r&&(h=0);!l&&0h&&(h+=2*Math.PI);l=b>f?1:b/f;r=b>f?f/b:1;b=se(b>f?b:f,n,n+h,!0);f=v.rh();f.reset();f.translate(c,d);f.rotate(a.sd,0,0);f.scale(l,r);df(b,f);v.$e(f);a.cg=b;return a.cg} -v.defineProperty(wf,{Hw:"isClosed"},function(){return this.Eh},function(a){this.Eh!==a&&(this.Eh=a,this.$a=!0)});v.defineProperty(wf,{type:"type"},function(){return this.ia},function(a){this.D&&v.ka(this,a);this.ia=a;this.$a=!0});v.defineProperty(wf,{I:"endX"},function(){return this.vb},function(a){this.D&&v.ka(this,a);this.vb=a;this.$a=!0});v.defineProperty(wf,{J:"endY"},function(){return this.Bb},function(a){this.D&&v.ka(this,a);this.Bb=a;this.$a=!0}); -v.defineProperty(wf,{rc:"point1X"},function(){return this.sd},function(a){this.D&&v.ka(this,a);this.sd=a;this.$a=!0});v.defineProperty(wf,{Kc:"point1Y"},function(){return this.Fe},function(a){this.D&&v.ka(this,a);this.Fe=a;this.$a=!0});v.defineProperty(wf,{mh:"point2X"},function(){return this.Yg},function(a){this.D&&v.ka(this,a);this.Yg=a;this.$a=!0});v.defineProperty(wf,{nh:"point2Y"},function(){return this.ng},function(a){this.D&&v.ka(this,a);this.ng=a;this.$a=!0}); -v.defineProperty(wf,{na:"centerX"},function(){return this.sd},function(a){this.D&&v.ka(this,a);this.sd=a;this.$a=!0});v.defineProperty(wf,{ua:"centerY"},function(){return this.Fe},function(a){this.D&&v.ka(this,a);this.Fe=a;this.$a=!0});v.defineProperty(wf,{radiusX:"radiusX"},function(){return this.Yg},function(a){0>a&&v.va(a,">= zero",wf,"radiusX");this.D&&v.ka(this,a);this.Yg=a;this.$a=!0}); -v.defineProperty(wf,{radiusY:"radiusY"},function(){return this.ng},function(a){0>a&&v.va(a,">= zero",wf,"radiusY");this.D&&v.ka(this,a);this.ng=a;this.$a=!0});v.defineProperty(wf,{xe:"startAngle"},function(){return this.vb},function(a){this.vb!==a&&(this.D&&v.ka(this,a),a%=360,0>a&&(a+=360),this.vb=a,this.$a=!0)});v.defineProperty(wf,{Af:"sweepAngle"},function(){return this.Bb},function(a){this.D&&v.ka(this,a);360a&&(a=-360);this.Bb=a;this.$a=!0}); -v.defineProperty(wf,{tl:"isClockwiseArc"},function(){return this.qn},function(a){this.D&&v.ka(this,a);this.qn=a;this.$a=!0});v.defineProperty(wf,{Kw:"isLargeArc"},function(){return this.Yn},function(a){this.D&&v.ka(this,a);this.Yn=a;this.$a=!0});v.defineProperty(wf,{gj:"xAxisRotation"},function(){return this.sd},function(a){a%=360;0>a&&(a+=360);this.D&&v.ka(this,a);this.sd=a;this.$a=!0}); -function xf(){this.W=null;this.Ty=(new z(0,0)).freeze();this.Xx=(new z(0,0)).freeze();this.yu=this.uv=0;this.zu=1;this.jv="";this.aw=this.Pu=!1;this.Lu=this.Bu=0;this.ij=this.Xu=this.gv=!1;this.Dq=null;this.Zv=0;this.pg=this.Yv=null}v.ea("InputEvent",xf); -xf.prototype.copy=function(){var a=new xf;a.W=this.W;a.Ty.assign(this.jf);a.Xx.assign(this.ca);a.uv=this.uv;a.yu=this.yu;a.zu=this.zu;a.jv=this.jv;a.Pu=this.Pu;a.aw=this.aw;a.Bu=this.Bu;a.Lu=this.Lu;a.gv=this.gv;a.Xu=this.Xu;a.ij=this.ij;a.Dq=this.Dq;a.Zv=this.Zv;a.Yv=this.Yv;a.pg=this.pg;return a}; -xf.prototype.toString=function(){var a="^";0!==this.od&&(a+="M:"+this.od);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.Ge&&(a+="C:"+this.Ge);0!==this.il&&(a+="D:"+this.il);this.zc&&(a+="h");this.bubbles&&(a+="b");null!==this.ca&&(a+="@"+this.ca.toString());return a};v.defineProperty(xf,{g:"diagram"},function(){return this.W},function(a){this.W=a});v.defineProperty(xf,{jf:"viewPoint"},function(){return this.Ty},function(a){v.A(a,z,xf,"viewPoint");this.Ty.assign(a)}); -v.defineProperty(xf,{ca:"documentPoint"},function(){return this.Xx},function(a){v.A(a,z,xf,"documentPoint");this.Xx.assign(a)});v.defineProperty(xf,{od:"modifiers"},function(){return this.uv},function(a){this.uv=a});v.defineProperty(xf,{button:"button"},function(){return this.yu},function(a){this.yu=a;if(null===this.event)switch(a){case 0:this.buttons=1;break;case 1:this.buttons=4;break;case 2:this.buttons=2}}); -v.defineProperty(xf,{buttons:"buttons"},function(){return this.zu},function(a){this.zu=a});v.defineProperty(xf,{key:"key"},function(){return this.jv},function(a){this.jv=a});v.defineProperty(xf,{kl:"down"},function(){return this.Pu},function(a){this.Pu=a});v.defineProperty(xf,{up:"up"},function(){return this.aw},function(a){this.aw=a});v.defineProperty(xf,{Ge:"clickCount"},function(){return this.Bu},function(a){this.Bu=a}); -v.defineProperty(xf,{il:"delta"},function(){return this.Lu},function(a){this.Lu=a});v.defineProperty(xf,{wt:"isMultiTouch"},function(){return this.gv},function(a){this.gv=a});v.defineProperty(xf,{zc:"handled"},function(){return this.Xu},function(a){this.Xu=a});v.defineProperty(xf,{bubbles:"bubbles"},function(){return this.ij},function(a){this.ij=a});v.defineProperty(xf,{event:"event"},function(){return this.Dq},function(a){this.Dq=a}); -v.u(xf,{Xi:"isTouchEvent"},function(){var a=window.TouchEvent;return a&&this.event instanceof a?!0:(a=window.PointerEvent)&&this.event instanceof a&&"touch"===this.event.pointerType});v.u(xf,{bk:"isMac"},function(){return v.bk});v.defineProperty(xf,{timestamp:"timestamp"},function(){return this.Zv},function(a){this.Zv=a});v.defineProperty(xf,{Jg:"targetDiagram"},function(){return this.Yv},function(a){this.Yv=a}); -v.defineProperty(xf,{ye:"targetObject"},function(){return this.pg},function(a){this.pg=a});v.defineProperty(xf,{control:"control"},function(){return 0!==(this.od&1)},function(a){this.od=a?this.od|1:this.od&-2});v.defineProperty(xf,{shift:"shift"},function(){return 0!==(this.od&4)},function(a){this.od=a?this.od|4:this.od&-5});v.defineProperty(xf,{alt:"alt"},function(){return 0!==(this.od&2)},function(a){this.od=a?this.od|2:this.od&-3}); -v.defineProperty(xf,{Ft:"meta"},function(){return 0!==(this.od&8)},function(a){this.od=a?this.od|8:this.od&-9});v.defineProperty(xf,{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}); -v.defineProperty(xf,{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});v.defineProperty(xf,{iK:"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 yf(){this.W=null;this.Ob="";this.Dv=this.Wv=null;this.Au=!1}v.ea("DiagramEvent",yf);yf.prototype.copy=function(){var a=new yf;a.W=this.W;a.Ob=this.Ob;a.Wv=this.Wv;a.Dv=this.Dv;a.Au=this.Au;return a};yf.prototype.toString=function(){var a="*"+this.name;this.cancel&&(a+="x");null!==this.tA&&(a+=":"+this.tA.toString());null!==this.Zz&&(a+="("+this.Zz.toString()+")");return a};v.defineProperty(yf,{g:"diagram"},function(){return this.W},function(a){this.W=a}); -v.defineProperty(yf,{name:"name"},function(){return this.Ob},function(a){this.Ob=a});v.defineProperty(yf,{tA:"subject"},function(){return this.Wv},function(a){this.Wv=a});v.defineProperty(yf,{Zz:"parameter"},function(){return this.Dv},function(a){this.Dv=a});v.defineProperty(yf,{cancel:"cancel"},function(){return this.Au},function(a){this.Au=a});function zf(){this.aq=Af;this.jm=this.tv="";this.Br=this.Cr=this.Fr=this.Gr=this.Er=this.W=this.Vd=null}v.ea("ChangedEvent",zf);var Bf; -zf.Transaction=Bf=v.p(zf,"Transaction",-1);var Af;zf.Property=Af=v.p(zf,"Property",0);var Cf;zf.Insert=Cf=v.p(zf,"Insert",1);var Df;zf.Remove=Df=v.p(zf,"Remove",2);zf.prototype.clear=zf.prototype.clear=function(){this.Br=this.Cr=this.Fr=this.Gr=this.Er=this.W=this.Vd=null}; -zf.prototype.copy=function(){var a=new zf;a.aq=this.aq;a.tv=this.tv;a.jm=this.jm;a.Vd=this.Vd;a.W=this.W;a.Er=this.Er;var b=this.Gr;a.Gr=v.Ta(b)&&"function"===typeof b.S?b.S():b;b=this.Fr;a.Fr=v.Ta(b)&&"function"===typeof b.S?b.S():b;b=this.Cr;a.Cr=v.Ta(b)&&"function"===typeof b.S?b.S():b;b=this.Br;a.Br=v.Ta(b)&&"function"===typeof b.S?b.S():b;return a}; -zf.prototype.toString=function(){var a="",a=this.wc===Bf?a+"* ":this.wc===Af?a+(null!==this.ba?"!m":"!d"):a+((null!==this.ba?"!m":"!d")+this.wc);this.propertyName&&"string"===typeof this.propertyName&&(a+=" "+this.propertyName);this.hf&&this.hf!==this.propertyName&&(a+=" "+this.hf);a+=": ";this.wc===Bf?null!==this.oldValue&&(a+=" "+this.oldValue):(null!==this.object&&(a+=Ef(this.object)),null!==this.oldValue&&(a+=" old: "+Ef(this.oldValue)),null!==this.Cg&&(a+=" "+this.Cg),null!==this.newValue&& -(a+=" new: "+Ef(this.newValue)),null!==this.Ag&&(a+=" "+this.Ag));return a};zf.prototype.getValue=zf.prototype.ja=function(a){return a?this.oldValue:this.newValue};zf.prototype.getParam=function(a){return a?this.Cg:this.Ag};zf.prototype.canUndo=zf.prototype.canUndo=function(){return null!==this.ba||null!==this.g?!0:!1};zf.prototype.undo=zf.prototype.undo=function(){this.canUndo()&&(null!==this.ba?this.ba.Bm(this,!0):null!==this.g&&this.g.Bm(this,!0))}; -zf.prototype.canRedo=zf.prototype.canRedo=function(){return null!==this.ba||null!==this.g?!0:!1};zf.prototype.redo=zf.prototype.redo=function(){this.canRedo()&&(null!==this.ba?this.ba.Bm(this,!1):null!==this.g&&this.g.Bm(this,!1))};v.defineProperty(zf,{ba:"model"},function(){return this.Vd},function(a){this.Vd=a});v.defineProperty(zf,{g:"diagram"},function(){return this.W},function(a){this.W=a});v.defineProperty(zf,{wc:"change"},function(){return this.aq},function(a){this.aq=a}); -v.defineProperty(zf,{hf:"modelChange"},function(){return this.tv},function(a){this.tv=a});v.defineProperty(zf,{propertyName:"propertyName"},function(){return this.jm},function(a){this.jm=a});v.u(zf,{lE:"isTransactionFinished"},function(){return this.aq===Bf&&("CommittedTransaction"===this.jm||"FinishedUndo"===this.jm||"FinishedRedo"===this.jm)});v.defineProperty(zf,{object:"object"},function(){return this.Er},function(a){this.Er=a}); -v.defineProperty(zf,{oldValue:"oldValue"},function(){return this.Gr},function(a){this.Gr=a});v.defineProperty(zf,{Cg:"oldParam"},function(){return this.Fr},function(a){this.Fr=a});v.defineProperty(zf,{newValue:"newValue"},function(){return this.Cr},function(a){this.Cr=a});v.defineProperty(zf,{Ag:"newParam"},function(){return this.Br},function(a){this.Br=a}); -function F(a){1b.offset?1:-1});for(k=0;k=2*Math.PI?(Mc(a,b,c,d,e,e+Math.PI,h),Mc(a,b,c,d,e+Math.PI,e+2*Math.PI,h),a.path.push(["M",l,f])):(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,f]))}}function Lc(a,b,c,d,e,f,h){var k=new Dc;k.Sb=[b,c,d,e,f,h];b={};Oc(a,"g",b,k);k=a.addElement("g",b);a.yf.push(k)} +g.Za=function(){if(0!==this.shadowOffsetX||0!==this.shadowOffsetY||0!==this.shadowBlur){var a="SHADOW"+v.km++,b=this.addElement("filter",{id:a,x:"-100%",y:"-100%",width:"300%",height:"300%"},null),c,d,e,f,h;c=Kc(this,"feGaussianBlur",{"in":"SourceAlpha",result:"blur",JL:this.shadowBlur/2});d=Kc(this,"feFlood",{"in":"blur",result:"flood","flood-color":this.shadowColor});e=Kc(this,"feComposite",{"in":"flood",in2:"blur",operator:"in",result:"comp"});f=Kc(this,"feOffset",{"in":"comp",result:"offsetBlur", +dx:this.shadowOffsetX,dy:this.shadowOffsetY});h=Kc(this,"feMerge",{});h.appendChild(Kc(this,"feMergeNode",{"in":"offsetBlur"}));h.appendChild(Kc(this,"feMergeNode",{"in":"SourceGraphic"}));b.appendChild(c);b.appendChild(d);b.appendChild(e);b.appendChild(f);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.ko?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.ko?this.clip():this.fill()};g.yj=function(){this.ko||this.stroke()};v.defineProperty(Sc,{yt:"clipInsteadOfFill"},function(){return this.ko},function(a){this.ko=a});g=Sc.prototype; +g.dB=function(a,b,c){this.Ss=a;this.Ts=b;this.yg=c};g.Tn=function(){this.shadowBlur=this.shadowOffsetY=this.shadowOffsetX=0};g.Un=function(){this.shadowOffsetX=this.Ss;this.shadowOffsetY=this.Ts;this.shadowBlur=this.yg};g.Yz=function(a,b){var c=this.ya;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}; +g.Vz=function(){var a=this.ya;void 0!==a.setLineDash?(a.setLineDash(v.Jk),a.lineDashOffset=0):void 0!==a.webkitLineDash?(a.webkitLineDash=v.Jk,a.webkitLineDashOffset=0):void 0!==a.mozDash&&(a.mozDash=null,a.mozDashOffset=0)};function Yc(a,b){b&&(a.vy="");a.wy="";a.uy=""} +var Zc=(Math.sqrt(2)-1)/3*4,$c=(new y(0,0)).Ga(),ad=(new B(0,0,0,0)).Ga(),hd=(new mb(0,0,0,0)).Ga(),id=(new mb(2,2,2,2)).Ga(),jd=(new y(6,6)).Ga(),kd=(new y(-Infinity,-Infinity)).Ga(),ld=(new y(Infinity,Infinity)).Ga(),md=(new ia(0,0)).Ga(),nd=(new ia(1,1)).Ga(),ud=(new ia(6,6)).Ga(),vd=(new ia(8,8)).Ga(),wd=(new ia(10,10)).Ga(),xd=(new ia(Infinity,Infinity)).Ga(),yd=(new y(NaN,NaN)).Ga(),zd=(new ia(NaN,NaN)).Ga(),Jd=(new B(NaN,NaN,NaN,NaN)).Ga(),Kd=(new L(.156,.156)).Ga(),Ld=(new L(.844,.844)).Ga(), +Md=new ua,Nd=new ua,Od=null;function Pd(a){if(0>=a)return 0;var b=Od;if(null===b){for(var b=[],c=0;2E3>=c;c++)b[c]=Math.sqrt(c);Od=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 K(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(f=(d-b)/(c-a)*(f-a)+b,f-e<=h&&h<=f+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<=f&&f<=h+e)return!0}else return!0;return!1} +function Rd(a,b,c,d,e,f,h,k,l,m,n,p){if(Qd(a,b,h,k,p,c,d)&&Qd(a,b,h,k,p,e,f))return Qd(a,b,h,k,p,m,n);var q=(a+c)/2,r=(b+d)/2,s=(c+e)/2,u=(d+f)/2;e=(e+h)/2;f=(f+k)/2;d=(q+s)/2;c=(r+u)/2;var s=(s+e)/2,u=(u+f)/2,t=(d+s)/2,x=(c+u)/2;return Rd(a,b,q,r,d,c,t,x,l,m,n,p)||Rd(t,x,s,u,e,f,h,k,l,m,n,p)} +function Sd(a,b,c,d,e,f,h,k,l,m){if(Qd(a,b,h,k,l,c,d)&&Qd(a,b,h,k,l,e,f))kb(m,a,b,0,0),kb(m,h,k,0,0);else{var n=(a+c)/2,p=(b+d)/2,q=(c+e)/2,r=(d+f)/2;e=(e+h)/2;f=(f+k)/2;d=(n+q)/2;c=(p+r)/2;var q=(q+e)/2,r=(r+f)/2,s=(d+q)/2,u=(c+r)/2;Sd(a,b,n,p,d,c,s,u,l,m);Sd(s,u,q,r,e,f,h,k,l,m)}} +function Td(a,b,c,d,e,f,h,k,l,m){if(Qd(a,b,h,k,l,c,d)&&Qd(a,b,h,k,l,e,f))0===m.length&&(m.push(a),m.push(b)),m.push(h),m.push(k);else{var n=(a+c)/2,p=(b+d)/2,q=(c+e)/2,r=(d+f)/2;e=(e+h)/2;f=(f+k)/2;d=(n+q)/2;c=(p+r)/2;var q=(q+e)/2,r=(r+f)/2,s=(d+q)/2,u=(c+r)/2;Td(a,b,n,p,d,c,s,u,l,m);Td(s,u,q,r,e,f,h,k,l,m)}} +function de(a,b,c,d,e,f,h,k,l,m,n,p,q,r){var s=1-l;a=a*s+c*l;b=b*s+d*l;c=c*s+e*l;d=d*s+f*l;e=e*s+h*l;f=f*s+k*l;k=a*s+c*l;h=b*s+d*l;c=c*s+e*l;d=d*s+f*l;m.x=a;m.y=b;n.x=k;n.y=h;p.x=k*s+c*l;p.y=h*s+d*l;q.x=c;q.y=d;r.x=e;r.y=f}function ee(a,b,c,d,e,f,h,k,l,m){if(Qd(a,b,e,f,m,c,d))return Qd(a,b,e,f,m,k,l);var n=(a+c)/2,p=(b+d)/2;c=(c+e)/2;d=(d+f)/2;var q=(n+c)/2,r=(p+d)/2;return ee(a,b,n,p,q,r,h,k,l,m)||ee(q,r,c,d,e,f,h,k,l,m)} +function fe(a,b,c,d,e,f,h,k){if(Qd(a,b,e,f,h,c,d))kb(k,a,b,0,0),kb(k,e,f,0,0);else{var l=(a+c)/2,m=(b+d)/2;c=(c+e)/2;d=(d+f)/2;var n=(l+c)/2,p=(m+d)/2;fe(a,b,l,m,n,p,h,k);fe(n,p,c,d,e,f,h,k)}}function ge(a,b,c,d,e,f,h,k){if(Qd(a,b,e,f,h,c,d))0===k.length&&(k.push(a),k.push(b)),k.push(e),k.push(f);else{var l=(a+c)/2,m=(b+d)/2;c=(c+e)/2;d=(d+f)/2;var n=(l+c)/2,p=(m+d)/2;ge(a,b,l,m,n,p,h,k);ge(n,p,c,d,e,f,h,k)}} +function he(a,b,c,d,e,f,h,k,l,m,n,p,q,r){0>=q&&(q=1E-6);if(Qd(a,b,h,k,q,c,d)&&Qd(a,b,h,k,q,e,f)){var s=(a-h)*(m-p)-(b-k)*(l-n);if(0===s)return!1;q=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/s;s=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/s;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(h=l=0,bh)return!1}else if(ah)return!1;r.x=q;r.y=s;return!0}var s=(a+c)/2,u=(b+d)/2;c=(c+e)/2;d=(d+f)/2;e=(e+h)/2;f=(f+k)/2;var t=(s+c)/2,x=(u+d)/2;c=(c+e)/2;d=(d+f)/2;var w=(t+c)/2,z=(x+d)/2, +A=(n-l)*(n-l)+(p-m)*(p-m),H=!1;he(a,b,s,u,t,x,w,z,l,m,n,p,q,r)&&(b=(r.x-l)*(r.x-l)+(r.y-m)*(r.y-m),b=q&&(q=1E-6);if(Qd(a,b,h,k,q,c,d)&&Qd(a,b,h,k,q,e,f)){q=(a-h)*(m-p)-(b-k)*(l-n);if(0===q)return r;var s=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/q,u=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/q;if(s>=n)return r;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(a=l=0,ba)return r}else if(aa)return r;0q&&r--}else{var s=(a+c)/2,u=(b+d)/2,t=(c+e)/2,x=(d+f)/2;e=(e+h)/2;f=(f+k)/2;d=(s+t)/2;c=(u+x)/2;var t=(t+e)/2,x=(x+f)/2, +w=(d+t)/2,z=(c+x)/2,r=r+ie(a,b,s,u,d,c,w,z,l,m,n,p,q),r=r+ie(w,z,t,x,e,f,h,k,l,m,n,p,q)}return r} +function Oa(a,b,c,d,e,f,h){if($a(a,c)){var k=0;c=0;bc)return h.x=a,h.y=c,!1;h.x=a;h.y=d;return!0}if($a(b,d)){ac)return h.x=c,h.y=b,!1;h.x=d;h.y=b;return!0}k=((a-e)*(a-c)+(b-f)*(b-d))/((c-a)*(c-a)+(d-b)*(d-b));if(-5E-6>k)return h.x=a,h.y=b,!1;if(1.000005c)return l.x=a,l.y=c,!1;l.x=a;l.y=f;return!0}h=(d-b)/(c-a);if($a(k,h))return Oa(a,b,c,d,e,f,l),!1;e=(h*a-k*e+f-b)/(h-k);if($a(h,0)){ac)return l.x=c,l.y=b,!1;l.x=e;l.y=b;return!0}f= +h*(e-a)+b;return Oa(a,b,c,d,e,f,l)}function ke(a,b,c,d,e,f,h,k,l){var m=1E21,n=a,p=b;if(je(a,b,a,d,e,f,h,k,l)){var q=(l.x-e)*(l.x-e)+(l.y-f)*(l.y-f);qm} +function le(a,b,c,d,e,f,h,k,l){c=a-c;var m=e-h,n=h=0;0===c||0===m?0===c?(k=(f-k)/m,h=a,n=k*h+(f-k*e)):(d=(b-d)/c,h=e,n=d*h+(b-d*a)):(d=(b-d)/c,k=(f-k)/m,a=b-d*a,h=(f-k*e-a)/(d-k),n=d*h+a);l.l(h,n);return l} +function me(a,b,c){var d=b.x,e=b.y,f=c.x,h=c.y,k=a.left,l=a.right,m=a.top,n=a.bottom;return d===f?(f=a=0,e=m):e===h?(d=k):a.Ha(b)||a.Ha(c)||ne(k,m,l,m,d,e,f,h)||ne(l,m,l,n,d,e,f,h)||ne(l,n,k,n,d,e,f,h)||ne(k,n,k,m,d,e,f,h)?!0:!1}function ne(a,b,c,d,e,f,h,k){return 0>=te(a,b,c,d,e,f)*te(a,b,c,d,h,k)&&0>=te(e,f,h,k,a,b)*te(e,f,h,k,c,d)} +function te(a,b,c,d,e,f){c-=a;d-=b;a=e-a;b=f-b;f=a*d-b*c;0===f&&(f=a*c+b*d,0f&&(f=0)));return 0>f?-1:0a&&(a+=360);360<=a&&(a-=360);return a} +function ve(a,b,c,d){var e=Math.PI;d||(b*=e/180,c*=e/180);d=bc,f=0>d,h=0,k=h=0;af;++f){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.ja.toString()+" "+this.ha.toString()+"L"+this.C.toString()+" "+this.D.toString():"M"+this.ja.toFixed(a)+" "+this.ha.toFixed(a)+"L"+this.C.toFixed(a)+" "+this.D.toFixed(a);case De:var b=new B(this.ja,this.ha,0,0);b.mG(this.C,this.D,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 Ke:b=new B(this.ja,this.ha,0,0);b.mG(this.C,this.D,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.dc.n,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 y(parseFloat(d()),parseFloat(d()));n===n.toLowerCase()&&(a.x=s.x+a.x,a.y=s.y+a.y);return a}function f(){return s=e()}function h(){return r=e()}function k(){return"c"!==p.toLowerCase()&&"s"!==p.toLowerCase()?s:new y(2*s.x-r.x,2*s.y-r.y)}void 0===b&&(b=!1);"string"!==typeof a&&v.yd(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 y(0,0),r=new y(0,0),s=new y(0, +0),u=l.length,t=v.s(),x=!1,w=!1,z=!0;!(m>=u-1);)if(p=n,n=d(),""!==n)switch(n.toUpperCase()){case "X":z=!0;w=x=!1;break;case "M":var A=f();null===t.Ub||!0===z?(N(t,A.x,A.y,x,!1,!w),z=!1):t.moveTo(A.x,A.y);for(q=s;!c();)A=f(),t.lineTo(A.x,A.y);break;case "L":for(;!c();)A=f(),t.lineTo(A.x,A.y);break;case "H":for(;!c();)s=A=new y((n===n.toLowerCase()?s.x:0)+parseFloat(d()),s.y),t.lineTo(s.x,s.y);break;case "V":for(;!c();)s=A=new y(s.x,(n===n.toLowerCase()?s.y:0)+parseFloat(d())),t.lineTo(s.x,s.y);break; +case "C":for(;!c();){var H=e(),C=h(),A=f();O(t,H.x,H.y,C.x,C.y,A.x,A.y)}break;case "S":for(;!c();)H=k(),C=h(),A=f(),O(t,H.x,H.y,C.x,C.y,A.x,A.y);break;case "Q":for(;!c();)C=h(),A=f(),Pe(t,C.x,C.y,A.x,A.y);break;case "T":for(;!c();)r=C=k(),A=f(),Pe(t,C.x,C.y,A.x,A.y);break;case "B":for(;!c();){var A=parseFloat(d()),H=parseFloat(d()),C=parseFloat(d()),R=parseFloat(d()),ba=parseFloat(d()),U=ba,M=!1;c()||(U=parseFloat(d()),c()||(M=0!==parseFloat(d())));n===n.toLowerCase()&&(C+=s.x,R+=s.y);t.arcTo(A,H, +C,R,ba,U,M)}break;case "A":for(;!c();)H=Math.abs(parseFloat(d())),C=Math.abs(parseFloat(d())),R=parseFloat(d()),ba=!!parseFloat(d()),U=!!parseFloat(d()),A=f(),Qe(t,H,C,R,ba,U,A.x,A.y);break;case "Z":A=t.o.dc.n[t.o.dc.length-1];P(t);s=q;break;case "F":A="";for(H=1;l[m+H];)if(null!==l[m+H].match(/[Uu]/))H++;else if(null===l[m+H].match(/[A-Za-z]/))H++;else{A=l[m+H];break}A.match(/[Mm]/)?x=!0:Re(t);break;case "U":A="";for(H=1;l[m+H];)if(null!==l[m+H].match(/[Ff]/))H++;else if(null===l[m+H].match(/[A-Za-z]/))H++; +else{A=l[m+H];break}A.match(/[Mm]/)?w=!0:t.Za(!1)}q=t.o;v.q(t);if(b)for(t=q.dc.i;t.next();)A=t.value,A.Zt=!0;return q};function Se(a,b){for(var c=a.length,d=v.K(),e=0;eh&&(h+=360),s.Ae+=h);0>a&&(s.Ae=180-s.Ae,s.sf=-s.sf);0>d&&(s.Ae=-s.Ae,s.sf=-s.sf);s.radiusX*=Math.sqrt(a*a+c*c);void 0!==s.radiusY&&(s.radiusY*=Math.sqrt(b*b+d*d));break;case gf:h=s.C;k=s.D;s.C=h* +a+k*c+e;s.D=h*b+k*d+f;0!==b&&(h=180*Math.atan2(b,a)/Math.PI,0>h&&(h+=360),s.Cj+=h);0>a&&(s.Cj=180-s.Cj,s.Ul=!s.Ul);0>d&&(s.Cj=-s.Cj,s.Ul=!s.Ul);s.radiusX*=Math.sqrt(a*a+c*c);s.radiusY*=Math.sqrt(b*b+d*d);break;default:v.k("Unknown Segment type: "+s.type)}}}}this.ab=!0;return this}; +ye.prototype.Ha=function(a,b,c,d){var e=a.x,f=a.y,h=this.kb.x-20;a=a.y;for(var k=0,l=0,m=0,n=0,p=0,q=0,r=this.dc.n,s=r.length,u=0;u=a)return 0;if((e>h?e-h:h-e)<(f>k?f-k:k-f)){if(e=a=0,fe)return 0}else if(ee)return 0;return 0a?a=0:1=f)return d=(f-h)/p,c=c[k],k=c[2*n],e=c[2*n+1],b.l(k+(c[2*n+2]-k)*d,e+(c[2*n+3]-e)*d),b;h+=p}b.l(NaN,NaN);return b}; +ye.prototype.getFractionForPoint=ye.prototype.SH=function(a){if(this.type===Ce){var b=this.ja,c=this.ha,d=this.C,e=this.D;if(b!==d||c!==e){var f=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(f-b)/(k-h)):((f-b)*(f-b)+(a-c)*(a-c))/((d-b)*(d-b)+(e-c)*(e-c))}}else if(this.type===De){if(b=this.ja,c=this.ha,d=this.C,e=this.D,b!==d||c!==e){var h=d-b,k=e-c,l=2*h+2*k,f=a.x; +a=a.y;f=Math.min(Math.max(f,b),d);a=Math.min(Math.max(a,c),e);var b=Math.abs(f-b),d=Math.abs(f-d),c=Math.abs(a-c),e=Math.abs(a-e),m=Math.min(b,d,c,e);if(m===c)return f/l;if(m===d)return(h+a)/l;if(m===e)return(2*h+k-f)/l;if(m===b)return(2*h+2*k-a)/l}}else{for(var e=this.aA,h=this.hx,k=this.bA,l=v.K(),c=Infinity,b=d=0,f=e.length,n=m=0,p=0;pa?0:1a?"M"+this.ja.toString()+" "+this.ha.toString():"M"+this.ja.toFixed(a)+" "+this.ha.toFixed(a),c=this.vb.n,d=c.length,e=0;ea&&(a+=360),this.Dd=a,this.We=0,this.lh=Math.max(d,0),this.xg=Math.max(e,0),this.So="boolean"===typeof h?!!h:!1,this.lo=!!k):(this.Dd=d,this.We=e,a===ff&&(f=Math.max(f,0)),this.lh=f,"number"===typeof h?(a===ff&&(h=Math.max(h,0)),this.xg=h):this.xg=0,this.lo=this.So=!1);this.Ph=!1;this.ab= +!0;this.hg=null}v.ga("PathSegment",nf);v.ii(nf);nf.prototype.copy=function(){var a=new nf;a.ka=this.ka;a.yb=this.yb;a.Fb=this.Fb;a.Dd=this.Dd;a.We=this.We;a.lh=this.lh;a.xg=this.xg;a.So=this.So;a.lo=this.lo;a.Ph=this.Ph;a.ab=this.ab;return a}; +nf.prototype.equalsApprox=nf.prototype.Lc=function(a){if(!(a instanceof nf)||this.type!==a.type||this.ox!==a.ox)return!1;switch(this.type){case cf:case Me:return K(this.C,a.C)&&K(this.D,a.D);case df:return K(this.C,a.C)&&K(this.D,a.D)&&K(this.uc,a.uc)&&K(this.Rc,a.Rc)&&K(this.Ah,a.Ah)&&K(this.Bh,a.Bh);case ef:return K(this.C,a.C)&&K(this.D,a.D)&&K(this.uc,a.uc)&&K(this.Rc,a.Rc);case ff:return K(this.Ae,a.Ae)&&K(this.sf,a.sf)&&K(this.la,a.la)&&K(this.sa,a.sa)&&K(this.radiusX,a.radiusX)&&K(this.radiusY, +a.radiusY);case gf:return this.Ul===a.Ul&&this.tx===a.tx&&K(this.Cj,a.Cj)&&K(this.C,a.C)&&K(this.D,a.D)&&K(this.radiusX,a.radiusX)&&K(this.radiusY,a.radiusY);default:return!1}};nf.prototype.ic=function(a){a.Ge===nf?this.type=a:v.Aj(this,a)}; +nf.prototype.toString=function(a){void 0===a&&(a=-1);var b="";switch(this.type){case cf:b=0>a?"M"+this.C.toString()+" "+this.D.toString():"M"+this.C.toFixed(a)+" "+this.D.toFixed(a);break;case Me:b=0>a?"L"+this.C.toString()+" "+this.D.toString():"L"+this.C.toFixed(a)+" "+this.D.toFixed(a);break;case df:b=0>a?"C"+this.uc.toString()+" "+this.Rc.toString()+" "+this.Ah.toString()+" "+this.Bh.toString()+" "+this.C.toString()+" "+this.D.toString():"C"+this.uc.toFixed(a)+" "+this.Rc.toFixed(a)+" "+this.Ah.toFixed(a)+ +" "+this.Bh.toFixed(a)+" "+this.C.toFixed(a)+" "+this.D.toFixed(a);break;case ef:b=0>a?"Q"+this.uc.toString()+" "+this.Rc.toString()+" "+this.C.toString()+" "+this.D.toString():"Q"+this.uc.toFixed(a)+" "+this.Rc.toFixed(a)+" "+this.C.toFixed(a)+" "+this.D.toFixed(a);break;case ff:b=0>a?"B"+this.Ae.toString()+" "+this.sf.toString()+" "+this.la.toString()+" "+this.sa.toString()+" "+this.radiusX:"B"+this.Ae.toFixed(a)+" "+this.sf.toFixed(a)+" "+this.la.toFixed(a)+" "+this.sa.toFixed(a)+" "+this.radiusX; +break;case gf:b=0>a?"A"+this.radiusX.toString()+" "+this.radiusY.toString()+" "+this.Cj.toString()+" "+(this.tx?1:0)+" "+(this.Ul?1:0)+" "+this.C.toString()+" "+this.D.toString():"A"+this.radiusX.toFixed(a)+" "+this.radiusY.toFixed(a)+" "+this.Cj.toFixed(a)+" "+(this.tx?1:0)+" "+(this.Ul?1:0)+" "+this.C.toFixed(a)+" "+this.D.toFixed(a);break;default:b=this.type.toString()}return b+(this.Ph?"z":"")};var cf;nf.Move=cf=v.p(nf,"Move",0);var Me;nf.Line=Me=v.p(nf,"Line",1);var df; +nf.Bezier=df=v.p(nf,"Bezier",2);var ef;nf.QuadraticBezier=ef=v.p(nf,"QuadraticBezier",3);var ff;nf.Arc=ff=v.p(nf,"Arc",4);var gf;nf.SvgArc=gf=v.p(nf,"SvgArc",4);nf.prototype.freeze=function(){this.Q=!0;return this};nf.prototype.Ra=function(){this.Q=!1;return this};nf.prototype.close=nf.prototype.close=function(){this.Ph=!0;return this}; +function hf(a,b){if(null!==a.hg&&!1===b.ab)return a.hg;var c=a.radiusX,d=a.radiusY;void 0===d&&(d=c);if(0===c||0===d)return a.hg=[],a.hg;var e=a.Dd,f=a.We,h=ve(c=r?h=Math.PI:1<=r&&(h=0);!l&&0h&&(h+=2*Math.PI);l=b>f?1:b/f;r=b>f?f/b:1;b=ve(b>f?b:f,n,n+h,!0);f=v.Ff();f.reset();f.translate(c,d);f.rotate(a.Dd,0,0);f.scale(l,r);Se(b,f);v.we(f);a.hg=b;return a.hg} +v.defineProperty(nf,{ox:"isClosed"},function(){return this.Ph},function(a){this.Ph!==a&&(this.Ph=a,this.ab=!0)});v.defineProperty(nf,{type:"type"},function(){return this.ka},function(a){this.Q&&v.ma(this,a);this.ka=a;this.ab=!0});v.defineProperty(nf,{C:"endX"},function(){return this.yb},function(a){this.Q&&v.ma(this,a);this.yb=a;this.ab=!0});v.defineProperty(nf,{D:"endY"},function(){return this.Fb},function(a){this.Q&&v.ma(this,a);this.Fb=a;this.ab=!0}); +v.defineProperty(nf,{uc:"point1X"},function(){return this.Dd},function(a){this.Q&&v.ma(this,a);this.Dd=a;this.ab=!0});v.defineProperty(nf,{Rc:"point1Y"},function(){return this.We},function(a){this.Q&&v.ma(this,a);this.We=a;this.ab=!0});v.defineProperty(nf,{Ah:"point2X"},function(){return this.lh},function(a){this.Q&&v.ma(this,a);this.lh=a;this.ab=!0});v.defineProperty(nf,{Bh:"point2Y"},function(){return this.xg},function(a){this.Q&&v.ma(this,a);this.xg=a;this.ab=!0}); +v.defineProperty(nf,{la:"centerX"},function(){return this.Dd},function(a){this.Q&&v.ma(this,a);this.Dd=a;this.ab=!0});v.defineProperty(nf,{sa:"centerY"},function(){return this.We},function(a){this.Q&&v.ma(this,a);this.We=a;this.ab=!0});v.defineProperty(nf,{radiusX:"radiusX"},function(){return this.lh},function(a){0>a&&v.Fa(a,">= zero",nf,"radiusX");this.Q&&v.ma(this,a);this.lh=a;this.ab=!0}); +v.defineProperty(nf,{radiusY:"radiusY"},function(){return this.xg},function(a){0>a&&v.Fa(a,">= zero",nf,"radiusY");this.Q&&v.ma(this,a);this.xg=a;this.ab=!0});v.defineProperty(nf,{Ae:"startAngle"},function(){return this.yb},function(a){this.yb!==a&&(this.Q&&v.ma(this,a),a%=360,0>a&&(a+=360),this.yb=a,this.ab=!0)});v.defineProperty(nf,{sf:"sweepAngle"},function(){return this.Fb},function(a){this.Q&&v.ma(this,a);360a&&(a=-360);this.Fb=a;this.ab=!0}); +v.defineProperty(nf,{Ul:"isClockwiseArc"},function(){return this.lo},function(a){this.Q&&v.ma(this,a);this.lo=a;this.ab=!0});v.defineProperty(nf,{tx:"isLargeArc"},function(){return this.So},function(a){this.Q&&v.ma(this,a);this.So=a;this.ab=!0});v.defineProperty(nf,{Cj:"xAxisRotation"},function(){return this.Dd},function(a){a%=360;0>a&&(a+=360);this.Q&&v.ma(this,a);this.Dd=a;this.ab=!0}); +function pf(){this.Z=null;this.Bz=(new y(0,0)).freeze();this.Iy=(new y(0,0)).freeze();this.av=this.Vv=0;this.bv=1;this.Lv="";this.Aw=this.qv=!1;this.nv=this.cv=0;this.Ej=this.yv=this.Iv=!1;this.rr=null;this.yw=0;this.Ag=this.xw=null}v.ga("InputEvent",pf); +pf.prototype.copy=function(){var a=new pf;a.Z=this.Z;a.Bz.assign(this.ef);a.Iy.assign(this.da);a.Vv=this.Vv;a.av=this.av;a.bv=this.bv;a.Lv=this.Lv;a.qv=this.qv;a.Aw=this.Aw;a.cv=this.cv;a.nv=this.nv;a.Iv=this.Iv;a.yv=this.yv;a.Ej=this.Ej;a.rr=this.rr;a.yw=this.yw;a.xw=this.xw;a.Ag=this.Ag;return a}; +pf.prototype.toString=function(){var a="^";0!==this.wd&&(a+="M:"+this.wd);0!==this.button&&(a+="B:"+this.button);""!==this.key&&(a+="K:"+this.key);0!==this.He&&(a+="C:"+this.He);0!==this.Kl&&(a+="D:"+this.Kl);this.Cc&&(a+="h");this.bubbles&&(a+="b");null!==this.da&&(a+="@"+this.da.toString());return a};v.defineProperty(pf,{g:"diagram"},function(){return this.Z},function(a){this.Z=a});v.defineProperty(pf,{ef:"viewPoint"},function(){return this.Bz},function(a){v.F(a,y,pf,"viewPoint");this.Bz.assign(a)}); +v.defineProperty(pf,{da:"documentPoint"},function(){return this.Iy},function(a){v.F(a,y,pf,"documentPoint");this.Iy.assign(a)});pf.prototype.getMultiTouchViewPoint=pf.prototype.jx=function(a,b){var c=this.g;if(null===c)return b;qf(c,this.event,a,b);return b};pf.prototype.getMultiTouchDocumentPoint=function(a,b){var c=this.g;if(null===c)return b;qf(c,this.event,a,b);b.assign(c.kB(b));return b};v.defineProperty(pf,{wd:"modifiers"},function(){return this.Vv},function(a){this.Vv=a}); +v.defineProperty(pf,{button:"button"},function(){return this.av},function(a){this.av=a;if(null===this.event)switch(a){case 0:this.buttons=1;break;case 1:this.buttons=4;break;case 2:this.buttons=2}});v.defineProperty(pf,{buttons:"buttons"},function(){return this.bv},function(a){this.bv=a});v.defineProperty(pf,{key:"key"},function(){return this.Lv},function(a){this.Lv=a});v.defineProperty(pf,{Ll:"down"},function(){return this.qv},function(a){this.qv=a}); +v.defineProperty(pf,{up:"up"},function(){return this.Aw},function(a){this.Aw=a});v.defineProperty(pf,{He:"clickCount"},function(){return this.cv},function(a){this.cv=a});v.defineProperty(pf,{Kl:"delta"},function(){return this.nv},function(a){this.nv=a});v.defineProperty(pf,{au:"isMultiTouch"},function(){return this.Iv},function(a){this.Iv=a});v.defineProperty(pf,{Cc:"handled"},function(){return this.yv},function(a){this.yv=a}); +v.defineProperty(pf,{bubbles:"bubbles"},function(){return this.Ej},function(a){this.Ej=a});v.defineProperty(pf,{event:"event"},function(){return this.rr},function(a){this.rr=a});v.u(pf,{pj:"isTouchEvent"},function(){var a=window.TouchEvent;return a&&this.event instanceof a?!0:(a=window.PointerEvent)&&this.event instanceof a&&"touch"===this.event.pointerType});v.u(pf,{Dk:"isMac"},function(){return v.Dk});v.defineProperty(pf,{timestamp:"timestamp"},function(){return this.yw},function(a){this.yw=a}); +v.defineProperty(pf,{Tg:"targetDiagram"},function(){return this.xw},function(a){this.xw=a});v.defineProperty(pf,{Pe:"targetObject"},function(){return this.Ag},function(a){this.Ag=a});v.defineProperty(pf,{control:"control"},function(){return 0!==(this.wd&1)},function(a){this.wd=a?this.wd|1:this.wd&-2});v.defineProperty(pf,{shift:"shift"},function(){return 0!==(this.wd&4)},function(a){this.wd=a?this.wd|4:this.wd&-5}); +v.defineProperty(pf,{alt:"alt"},function(){return 0!==(this.wd&2)},function(a){this.wd=a?this.wd|2:this.wd&-3});v.defineProperty(pf,{iu:"meta"},function(){return 0!==(this.wd&8)},function(a){this.wd=a?this.wd|8:this.wd&-9});v.defineProperty(pf,{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}); +v.defineProperty(pf,{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});v.defineProperty(pf,{nL:"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 Jf(){this.Z=null;this.Qb="";this.cw=this.vw=null;this.Pq=!1}v.ga("DiagramEvent",Jf);Jf.prototype.copy=function(){var a=new Jf;a.Z=this.Z;a.Qb=this.Qb;a.vw=this.vw;a.cw=this.cw;a.Pq=this.Pq;return a};Jf.prototype.toString=function(){var a="*"+this.name;null!==this.fB&&(a+=":"+this.fB.toString());null!==this.JA&&(a+="("+this.JA.toString()+")");return a};v.defineProperty(Jf,{g:"diagram"},function(){return this.Z},function(a){this.Z=a}); +v.defineProperty(Jf,{name:"name"},function(){return this.Qb},function(a){this.Qb=a});v.defineProperty(Jf,{fB:"subject"},function(){return this.vw},function(a){this.vw=a});v.defineProperty(Jf,{JA:"parameter"},function(){return this.cw},function(a){this.cw=a});v.defineProperty(Jf,{cancel:"cancel"},function(){return this.Pq},function(a){this.Pq!==a&&v.Ct("DiagramEvent.cancel","2.0");this.Pq=a});function Kf(){this.Qq=Lf;this.Rm=this.Uv="";this.ns=this.os=this.rs=this.ss=this.qs=this.Z=this.me=null} +v.ga("ChangedEvent",Kf);var Mf;Kf.Transaction=Mf=v.p(Kf,"Transaction",-1);var Lf;Kf.Property=Lf=v.p(Kf,"Property",0);var Nf;Kf.Insert=Nf=v.p(Kf,"Insert",1);var Of;Kf.Remove=Of=v.p(Kf,"Remove",2);Kf.prototype.clear=Kf.prototype.clear=function(){this.ns=this.os=this.rs=this.ss=this.qs=this.Z=this.me=null}; +Kf.prototype.copy=function(){var a=new Kf;a.Qq=this.Qq;a.Uv=this.Uv;a.Rm=this.Rm;a.me=this.me;a.Z=this.Z;a.qs=this.qs;var b=this.ss;a.ss=v.Ta(b)&&"function"===typeof b.S?b.S():b;b=this.rs;a.rs=v.Ta(b)&&"function"===typeof b.S?b.S():b;b=this.os;a.os=v.Ta(b)&&"function"===typeof b.S?b.S():b;b=this.ns;a.ns=v.Ta(b)&&"function"===typeof b.S?b.S():b;return a};Kf.prototype.ic=function(a){a.Ge===Kf?this.zc=a:v.Aj(this,a)}; +Kf.prototype.toString=function(){var a="",a=this.zc===Mf?a+"* ":this.zc===Lf?a+(null!==this.ca?"!m":"!d"):a+((null!==this.ca?"!m":"!d")+this.zc);this.propertyName&&"string"===typeof this.propertyName&&(a+=" "+this.propertyName);this.rf&&this.rf!==this.propertyName&&(a+=" "+this.rf);a+=": ";this.zc===Mf?null!==this.oldValue&&(a+=" "+this.oldValue):(null!==this.object&&(a+=Pf(this.object)),null!==this.oldValue&&(a+=" old: "+Pf(this.oldValue)),null!==this.vj&&(a+=" "+this.vj),null!==this.newValue&& +(a+=" new: "+Pf(this.newValue)),null!==this.uj&&(a+=" "+this.uj));return a};Kf.prototype.getValue=Kf.prototype.na=function(a){return a?this.oldValue:this.newValue};Kf.prototype.getParam=function(a){return a?this.vj:this.uj};Kf.prototype.canUndo=Kf.prototype.canUndo=function(){return null!==this.ca||null!==this.g?!0:!1};Kf.prototype.undo=Kf.prototype.undo=function(){this.canUndo()&&(null!==this.ca?this.ca.ln(this,!0):null!==this.g&&this.g.ln(this,!0))}; +Kf.prototype.canRedo=Kf.prototype.canRedo=function(){return null!==this.ca||null!==this.g?!0:!1};Kf.prototype.redo=Kf.prototype.redo=function(){this.canRedo()&&(null!==this.ca?this.ca.ln(this,!1):null!==this.g&&this.g.ln(this,!1))};v.defineProperty(Kf,{ca:"model"},function(){return this.me},function(a){this.me=a});v.defineProperty(Kf,{g:"diagram"},function(){return this.Z},function(a){this.Z=a});v.defineProperty(Kf,{zc:"change"},function(){return this.Qq},function(a){this.Qq=a}); +v.defineProperty(Kf,{rf:"modelChange"},function(){return this.Uv},function(a){this.Uv=a});v.defineProperty(Kf,{propertyName:"propertyName"},function(){return this.Rm},function(a){this.Rm=a});v.u(Kf,{gF:"isTransactionFinished"},function(){return this.Qq===Mf&&("CommittedTransaction"===this.Rm||"FinishedUndo"===this.Rm||"FinishedRedo"===this.Rm)});v.defineProperty(Kf,{object:"object"},function(){return this.qs},function(a){this.qs=a}); +v.defineProperty(Kf,{oldValue:"oldValue"},function(){return this.ss},function(a){this.ss=a});v.defineProperty(Kf,{vj:"oldParam"},function(){return this.rs},function(a){this.rs=a});v.defineProperty(Kf,{newValue:"newValue"},function(){return this.os},function(a){this.os=a});v.defineProperty(Kf,{uj:"newParam"},function(){return this.ns},function(a){this.ns=a}); +function F(a){1f?b+("\\u000"+a.charCodeAt(d).toString(16)):32>f?b+("\\u00"+a.charCodeAt(d).toString(16)):8232===f?b+"\\u2028":8233===f?b+"\\u2029":b+e}return'"'+b+'"'}; -F.prototype.writeJsonValue=F.prototype.iu=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.iu(a.valueOf()):v.isArray(a)?Nf(this,a):v.Ta(a)?Hf(this,a):"function"===typeof a?"null":a.toString()}; -function Nf(a,b,c){void 0===c&&(c=!1);var d=v.Va(b);if(0>=d)return"[]";var e=new sa;e.add("[ ");c&&1e)return;v.Uh(a.If,e)}ag(a,"nodeDataArray",Df,"nodeDataArray",a,b,null,e,null);a.gu(b)}} -F.prototype.removeNodeDataCollection=function(a){if(v.isArray(a))for(var b=v.Va(a),c=0;cb&&(b=v.Va(a));v.Oi(a,b,c);ag(this,"",Cf,"",a,null,c,null,b)};F.prototype.removeArrayItem=function(a,b){void 0===b&&(b=-1);a===this.If&&v.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=v.Va(a)-1);var c=v.Qa(a,b);v.Uh(a,b);ag(this,"",Df,"",a,c,null,b,null)}; -v.defineProperty(F,{Vm:"nodeCategoryProperty"},function(){return this.em},function(a){var b=this.em;b!==a&&(mg(a,F,"nodeCategoryProperty"),this.em=a,this.h("nodeCategoryProperty",b,a))});F.prototype.getCategoryForNodeData=F.prototype.wz=function(a){if(null===a)return"";var b=this.em;if(""===b)return"";b=v.qb(a,b);if(void 0===b)return"";if("string"===typeof b)return b;v.k("getCategoryForNodeData found a non-string category for "+a+": "+b);return""}; -F.prototype.setCategoryForNodeData=F.prototype.kx=function(a,b){v.j(b,"string",F,"setCategoryForNodeData:cat");if(null!==a){var c=this.em;if(""!==c)if(this.Je(a)){var d=v.qb(a,c);void 0===d&&(d="");d!==b&&(v.Ka(a,c,b),ag(this,"nodeCategory",Af,c,a,d,b))}else v.Ka(a,c,b)}}; -function Q(a,b){2e||(v.Uh(d,e),this.bh(a)&&(sg(this,b,a),ag(this,"linkLabelKeys",Df,c,a,b,null)))}else void 0!==d&&v.k(c+" property is not an Array; cannot removeLabelKeyforLinkData: "+a)}}}; -v.defineProperty(Q,{zg:"linkDataArray"},function(){return this.Gf},function(a){var b=this.Gf;if(b!==a){v.cz(a,Q,"linkDataArray");this.Yc.clear();for(var c=v.Va(a),d=0;de)return;v.Uh(a.Gf,e)}ag(a,"linkDataArray",Df,"linkDataArray",a,b,null,e,null);c=a.pl(b);sg(a,c,b);c=a.ql(b);sg(a,c,b);d=a.ak(b);if(v.isArray(d))for(var e=v.Va(d),f=0;fa.th&&v.trace("Ending transaction without having started a transaction: "+c);var d=1===a.th;d&&b&&a.isEnabled&&a.$c("CommittingTransaction",c,a.Qi);var e=0;if(0a.Vi;e--)f=d.da(e),null!== -f&&f.clear(),d.Vc(e),a.vy=!0;e=a.sE;0===e&&(e=1);0=e&&(f=d.da(0),null!==f&&f.clear(),d.Vc(0),a.Pg--);d.add(b);a.Pg++;d.freeze();f=b}a.$c("CommittedTransaction",c,f)}else{a.ui=!0;try{a.isEnabled&&null!==f&&(f.tt=!0,f.undo())}finally{a.$c("RolledBackTransaction",c,f),a.ui=!1}null!==f&&f.clear()}a.Ku=null;return!0}if(a.isEnabled&&!b&&null!==f){a=e;c=f.Of;for(b=c.count-1;b>=a;b--)d=c.da(b),null!==d&&d.undo(),c.Oa(),c.Vc(b);c.freeze()}return!1} -Ff.prototype.canUndo=Ff.prototype.canUndo=function(){if(!this.isEnabled||0=this.th&&!this.iy&&(a=a.g,null!==a&&!1===a.Qm||v.trace("Change not within a transaction: "+c.toString()))}}; -Ff.prototype.skipsEvent=function(a){if(null===a||0>a.wc.value)return!0;a=a.object;if(a instanceof G){if(a=a.layer,null!==a&&a.Gc)return!0}else if(a instanceof Wf&&a.Gc)return!0;return!1};v.u(Ff,{RH:"models"},function(){return this.By.i});v.defineProperty(Ff,{isEnabled:"isEnabled"},function(){return this.Se},function(a){this.Se=a});v.u(Ff,{mF:"transactionToUndo"},function(){return 0<=this.Vi&&this.Vi<=this.history.count-1?this.history.da(this.Vi):null}); -v.u(Ff,{lF:"transactionToRedo"},function(){return this.Vi=d)return"[]";var e=new sa;e.add("[ ");c&&1d)return;v.Eg(a.Ee,d)}vg(a,"nodeDataArray",Of,"nodeDataArray",a,b,null,d,null);a.Ju(b)} +F.prototype.removeNodeDataCollection=function(a){if(v.isArray(a))for(var b=v.Xa(a),c=0;cb&&(b=v.Xa(a));v.ph(a,b,c);vg(this,"",Nf,"",a,null,c,null,b)};F.prototype.removeArrayItem=F.prototype.zF=function(a,b){void 0===b&&(b=-1);a===this.Ee&&v.k("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=v.Xa(a)-1);var c=v.Ea(a,b);v.Eg(a,b);vg(this,"",Of,"",a,c,null,b,null)}; +v.defineProperty(F,{Nn:"nodeCategoryProperty"},function(){return this.Mm},function(a){var b=this.Mm;b!==a&&(wg(a,F,"nodeCategoryProperty"),this.Mm=a,this.h("nodeCategoryProperty",b,a))});F.prototype.getCategoryForNodeData=F.prototype.fA=function(a){if(null===a)return"";var b=this.Mm;if(""===b)return"";b=v.sb(a,b);if(void 0===b)return"";if("string"===typeof b)return b;v.k("getCategoryForNodeData found a non-string category for "+a+": "+b);return""}; +F.prototype.setCategoryForNodeData=F.prototype.Vx=function(a,b){v.j(b,"string",F,"setCategoryForNodeData:cat");if(null!==a){var c=this.Mm;if(""!==c)if(this.Ie(a)){var d=v.sb(a,c);void 0===d&&(d="");d!==b&&(v.Na(a,c,b),vg(this,"nodeCategory",Lf,c,a,d,b))}else v.Na(a,c,b)}}; +function Q(a,b){2v.Cl(d,a.newValue)&&v.ph(d,c,a.newValue));return}}else if(a.zc=== +Of){c=a.vj;if("linkDataArray"===a.rf){d=a.oldValue;v.Ta(d)&&"number"===typeof c&&(e=this.Sf(d),b?(this.Ni.add(d),v.Ea(this.gf,c)!==d&&v.ph(this.gf,c,d),void 0!==e&&this.cd.add(e,d)):(this.Ni.remove(d),v.Ea(this.gf,c)===d&&v.Eg(this.gf,c),void 0!==e&&this.cd.remove(e)));return}if("linkLabelKeys"===a.rf){d=this.zk(a.object);v.isArray(d)&&"number"===typeof c&&(b?0>v.Cl(d,a.newValue)&&v.ph(d,c,a.newValue):(c=v.Cl(d,a.newValue),0<=c&&v.Eg(d,c)));return}}F.prototype.ln.call(this,a,b)}; +v.defineProperty(Q,{Iz:"archetypeNodeData"},function(){return this.nm},function(a){var b=this.nm;b!==a&&(null!==a&&v.F(a,Object,Q,"archetypeNodeData"),this.nm=a,this.h("archetypeNodeData",b,a))});Q.prototype.Ln=function(a){if(void 0!==a){var b=this.nm;if(null!==b){var c=this.ve(a);null===c&&(c=this.copyNodeData(b),v.Na(c,this.ck,a),this.yl(c))}return a}}; +v.defineProperty(Q,{In:"linkFromKeyProperty"},function(){return this.Rh},function(a){var b=this.Rh;b!==a&&(wg(a,Q,"linkFromKeyProperty"),this.Rh=a,this.h("linkFromKeyProperty",b,a))});Q.prototype.getFromKeyForLinkData=Q.prototype.Ql=function(a){if(null!==a){var b=this.Rh;if(""!==b&&(b=v.sb(a,b),void 0!==b)){if(xg(b))return b;v.k("FromKey value for link data "+a+" is not a number or a string: "+b)}}}; +Q.prototype.setFromKeyForLinkData=Q.prototype.WA=function(a,b){null===b&&(b=void 0);void 0===b||xg(b)||v.yd(b,"number or string",Q,"setFromKeyForLinkData:key");if(null!==a){var c=this.Rh;if(""!==c)if(b=this.Ln(b),this.sh(a)){var d=v.sb(a,c);d!==b&&(Wg(this,d,a),v.Na(a,c,b),null===this.ve(b)&&Vg(this,b,a),vg(this,"linkFromKey",Lf,c,a,d,b),"string"===typeof c&&this.Hb(a,c))}else v.Na(a,c,b)}}; +v.defineProperty(Q,{Jn:"linkToKeyProperty"},function(){return this.Sh},function(a){var b=this.Sh;b!==a&&(wg(a,Q,"linkToKeyProperty"),this.Sh=a,this.h("linkToKeyProperty",b,a))});Q.prototype.getToKeyForLinkData=Q.prototype.Rl=function(a){if(null!==a){var b=this.Sh;if(""!==b&&(b=v.sb(a,b),void 0!==b)){if(xg(b))return b;v.k("ToKey value for link data "+a+" is not a number or a string: "+b)}}}; +Q.prototype.setToKeyForLinkData=Q.prototype.bB=function(a,b){null===b&&(b=void 0);void 0===b||xg(b)||v.yd(b,"number or string",Q,"setToKeyForLinkData:key");if(null!==a){var c=this.Sh;if(""!==c)if(b=this.Ln(b),this.sh(a)){var d=v.sb(a,c);d!==b&&(Wg(this,d,a),v.Na(a,c,b),null===this.ve(b)&&Vg(this,b,a),vg(this,"linkToKey",Lf,c,a,d,b),"string"===typeof c&&this.Hb(a,c))}else v.Na(a,c,b)}}; +v.defineProperty(Q,{fu:"linkFromPortIdProperty"},function(){return this.Hm},function(a){var b=this.Hm;b!==a&&(wg(a,Q,"linkFromPortIdProperty"),a!==this.In&&a!==this.Jn||v.k("linkFromPortIdProperty name must not be the same as the GraphLinksModel.linkFromKeyProperty or linkToKeyProperty: "+a),this.Hm=a,this.h("linkFromPortIdProperty",b,a))});Q.prototype.getFromPortIdForLinkData=Q.prototype.TH=function(a){if(null===a)return"";var b=this.Hm;if(""===b)return"";a=v.sb(a,b);return void 0===a?"":a}; +Q.prototype.setFromPortIdForLinkData=Q.prototype.XA=function(a,b){v.j(b,"string",Q,"setFromPortIdForLinkData:portname");if(null!==a){var c=this.Hm;if(""!==c)if(this.sh(a)){var d=v.sb(a,c);void 0===d&&(d="");d!==b&&(v.Na(a,c,b),vg(this,"linkFromPortId",Lf,c,a,d,b),"string"===typeof c&&this.Hb(a,c))}else v.Na(a,c,b)}}; +v.defineProperty(Q,{hu:"linkToPortIdProperty"},function(){return this.Im},function(a){var b=this.Im;b!==a&&(wg(a,Q,"linkToPortIdProperty"),a!==this.In&&a!==this.Jn||v.k("linkFromPortIdProperty name must not be the same as the GraphLinksModel.linkFromKeyProperty or linkToKeyProperty: "+a),this.Im=a,this.h("linkToPortIdProperty",b,a))});Q.prototype.getToPortIdForLinkData=Q.prototype.XH=function(a){if(null===a)return"";var b=this.Im;if(""===b)return"";a=v.sb(a,b);return void 0===a?"":a}; +Q.prototype.setToPortIdForLinkData=Q.prototype.cB=function(a,b){v.j(b,"string",Q,"setToPortIdForLinkData:portname");if(null!==a){var c=this.Im;if(""!==c)if(this.sh(a)){var d=v.sb(a,c);void 0===d&&(d="");d!==b&&(v.Na(a,c,b),vg(this,"linkToPortId",Lf,c,a,d,b),"string"===typeof c&&this.Hb(a,c))}else v.Na(a,c,b)}};v.defineProperty(Q,{gu:"linkLabelKeysProperty"},function(){return this.tg},function(a){var b=this.tg;b!==a&&(wg(a,Q,"linkLabelKeysProperty"),this.tg=a,this.h("linkLabelKeysProperty",b,a))}); +Q.prototype.getLabelKeysForLinkData=Q.prototype.zk=function(a){if(null===a)return v.Jk;var b=this.tg;if(""===b)return v.Jk;a=v.sb(a,b);return void 0===a?v.Jk:a}; +Q.prototype.setLabelKeysForLinkData=Q.prototype.TF=function(a,b){v.Kz(b,Q,"setLabelKeysForLinkData:arr");if(null!==a){var c=this.tg;if(""!==c)if(this.sh(a)){var d=v.sb(a,c);void 0===d&&(d=v.Jk);if(d!==b){for(var e=v.Xa(d),f=0;fe||(v.Eg(d,e),this.sh(a)&&(Wg(this,b,a),vg(this,"linkLabelKeys",Of,c,a,b,null,e,null)))}else void 0!==d&&v.k(c+" property is not an Array; cannot removeLabelKeyforLinkData: "+a)}}}; +v.defineProperty(Q,{Lg:"linkDataArray"},function(){return this.gf},function(a){var b=this.gf;if(b!==a){v.Kz(a,Q,"linkDataArray");this.cd.clear();for(var c=v.Xa(a),d=0;dd)return;v.Eg(a.gf,d)}vg(a,"linkDataArray",Of,"linkDataArray",a,b,null,d,null);c=a.Ql(b);Wg(a,c,b);c=a.Rl(b);Wg(a,c,b);d=a.zk(b);if(v.isArray(d))for(var e=v.Xa(d),f=0;fa.Fh&&v.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Fh;d&&b&&a.ed("CommittingTransaction",c,a.hj);var e=0;if(0a.mj;e--)f=d.fa(e),null!==f&&f.clear(), +d.$c(e),a.cz=!0;e=a.mF;0===e&&(e=1);0=e&&(f=d.fa(0),null!==f&&f.clear(),d.$c(0),a.bh--);d.add(b);a.bh++;d.freeze();f=b}a.ed("CommittedTransaction",c,f)}else{a.Ji=!0;try{a.isEnabled&&null!==f&&(f.Xt=!0,f.undo())}finally{a.ed("RolledBackTransaction",c,f),a.Ji=!1}null!==f&&f.clear()}a.mv=null;return!0}if(a.isEnabled&&!b&&null!==f){a=e;c=f.Qf;for(b=c.count-1;b>=a;b--)d=c.fa(b),null!==d&&d.undo(),c.Ra(),c.$c(b);c.freeze()}return!1} +Qf.prototype.canUndo=Qf.prototype.canUndo=function(){if(!this.isEnabled||0=this.Fh&&!this.Sy&&(a=a.g,null!==a&&!1===a.Fn||v.trace("Change not within a transaction: "+c.toString()))}}; +Qf.prototype.skipsEvent=function(a){if(null===a||0>a.zc.value)return!0;a=a.object;if(a instanceof G){if(a=a.layer,null!==a&&a.Mc)return!0}else if(a instanceof qg&&a.Mc)return!0;return!1};v.u(Qf,{QI:"models"},function(){return this.iz.i});v.defineProperty(Qf,{isEnabled:"isEnabled"},function(){return this.ff},function(a){this.ff=a});v.u(Qf,{jG:"transactionToUndo"},function(){return 0<=this.mj&&this.mj<=this.history.count-1?this.history.fa(this.mj):null}); +v.u(Qf,{iG:"transactionToRedo"},function(){return this.mjb.ih||(b.scale=a))};Yf.prototype.canDecreaseZoom=function(a){void 0===a&&(a=1/this.wx);v.We(a,Yf,"canDecreaseZoom:factor");var b=this.g;if(null===b||b.cl!==$g)return!1;a*=b.scale;return ab.ih?!1:b.mw}; -Yf.prototype.increaseZoom=function(a){void 0===a&&(a=this.wx);v.We(a,Yf,"increaseZoom:factor");var b=this.g;null!==b&&b.cl===$g&&(a*=b.scale,ab.ih||(b.scale=a))};Yf.prototype.canIncreaseZoom=function(a){void 0===a&&(a=this.wx);v.We(a,Yf,"canIncreaseZoom:factor");var b=this.g;if(null===b||b.cl!==$g)return!1;a*=b.scale;return ab.ih?!1:b.mw};Yf.prototype.resetZoom=function(a){void 0===a&&(a=this.uw);v.We(a,Yf,"resetZoom:newscale");var b=this.g;null===b||ab.ih||(b.scale=a)}; -Yf.prototype.canResetZoom=function(a){void 0===a&&(a=this.uw);v.We(a,Yf,"canResetZoom:newscale");var b=this.g;return null===b||ab.ih?!1:b.mw};Yf.prototype.zoomToFit=function(){var a=this.g;if(null!==a){var b=a.scale,c=a.position;b===this.Wy&&!isNaN(this.wy)&&a.Zd.K(this.Vy)?(a.scale=this.wy,a.position=this.ZB,this.Wy=NaN,this.Vy=bd):(this.wy=b,this.ZB=c.copy(),a.zoomToFit(),this.Wy=a.scale,this.Vy=a.Zd.copy())}};Yf.prototype.canZoomToFit=function(){var a=this.g;return null===a?!1:a.mw}; -Yf.prototype.scrollToPart=function(a){void 0===a&&(a=null);null!==a&&v.A(a,R,Yf,"part");var b=this.g;if(null!==b){if(null===a){try{null!==this.Hi&&(this.Hi.next()?a=this.Hi.value:this.Hi=null)}catch(c){this.Hi=null}null===a&&(0b.targetTouches.length)return;c=b.targetTouches[0];d=b.targetTouches[1]}else if(null!==a.Jf[0])c=a.Jf[0],d=a.Jf[1];else return;this.doCancel();if(a.Yo("hasGestureZoom")){a.jy=!0;a.kC=a.scale;var e=dh(a),f=c,h=f.clientX-e.x,c=f.clientY-e.y,f=d,d=f.clientX-e.x,f=f.clientY-e.y;v.v(e);e=d-h;c=f-c;a.DC=Math.sqrt(e*e+c*c);b.preventDefault();b.cancelBubble=!0}}}; -Xf.prototype.standardPinchZoomMove=function(){var a=this.g;if(null!==a){var b=a.O.event;this.doCancel();var c=null,d=null;if(void 0!==b.targetTouches){if(2>b.targetTouches.length)return;c=b.targetTouches[0];d=b.targetTouches[1]}else if(null!==a.Jf[0])c=a.Jf[0],d=a.Jf[1];else return;if(a.Yo("hasGestureZoom")&&a.jy){var e=dh(a),f=c,c=f.clientX-e.x,h=f.clientY-e.y,f=d,d=f.clientX-e.x,f=f.clientY-e.y;v.v(e);var e=d-c,k=f-h,e=Math.sqrt(e*e+k*k)/a.DC,c=new z((Math.min(d,c)+Math.max(d,c))/2,(Math.min(f, -h)+Math.max(f,h))/2),h=a.kC*e,d=a.nb;h!==a.scale&&d.canResetZoom(h)&&(e=a.Il,a.Il=c,d.resetZoom(h),a.Il=e);b.preventDefault();b.cancelBubble=!0}}};Xf.prototype.doKeyDown=function(){var a=this.g;null!==a&&"Esc"===a.O.key&&this.doCancel()};Xf.prototype.doKeyUp=function(){};Xf.prototype.startTransaction=Xf.prototype.Qb=function(a){void 0===a&&(a=this.name);this.Bf=null;var b=this.g;return null===b?!1:b.Qb(a)}; -Xf.prototype.stopTransaction=Xf.prototype.gk=function(){var a=this.g;return null===a?!1:null===this.Bf?a.zp():a.wd(this.Bf)}; -Xf.prototype.standardMouseSelect=function(){var a=this.g;if(null!==a&&a.of){var b=a.O,c=a.ht(b.ca,!1);if(null!==c)if(v.bk?b.Ft:b.control){a.Ba("ChangingSelection");for(b=c;null!==b&&!b.canSelect();)b=b.Sa;null!==b&&(b.hb=!b.hb);a.Ba("ChangedSelection")}else if(b.shift){if(!c.hb){a.Ba("ChangingSelection");for(b=c;null!==b&&!b.canSelect();)b=b.Sa;null!==b&&(b.hb=!0);a.Ba("ChangedSelection")}}else{if(!c.hb){for(b=c;null!==b&&!b.canSelect();)b=b.Sa;null!==b&&a.select(b)}}else!b.left||(v.bk?b.Ft:b.control)|| -b.shift||a.ow()}};Xf.prototype.standardMouseClick=function(a,b){void 0===a&&(a=null);void 0===b&&(b=function(a){return!a.layer.Gc});var c=this.g;if(null===c)return!1;var d=c.O,e=c.re(d.ca,a,b);d.ye=e;eh(e,d,c);return d.zc}; -function eh(a,b,c){b.zc=!1;var d=0;b.left?d=1===b.Ge?1:2===b.Ge?2:1:b.right&&1===b.Ge&&(d=3);var e="";if(null!==a){switch(d){case 1:e="ObjectSingleClicked";break;case 2:e="ObjectDoubleClicked";break;case 3:e="ObjectContextClicked"}0!==d&&c.Ba(e,a)}else{switch(d){case 1:e="BackgroundSingleClicked";break;case 2:e="BackgroundDoubleClicked";break;case 3:e="BackgroundContextClicked"}0!==d&&c.Ba(e)}if(null!==a)for(;null!==a;){c=null;switch(d){case 1:c=a.click;break;case 2:c=a.at?a.at:a.click;break;case 3:c= -a.fz}if(null!==c&&(c(b,a),b.zc))break;a=a.R}else{a=null;switch(d){case 1:a=c.click;break;case 2:a=c.at?c.at:c.click;break;case 3:a=c.fz}null!==a&&a(b)}} -Xf.prototype.standardMouseOver=function(){var a=this.g;if(null!==a){var b=a.O;if(null!==b.g&&!0!==a.Na.pc){var c=a.tb;a.tb=!0;var d=a.re(b.ca,null,null);b.ye=d;var e=!1;if(d!==a.wn){var f=a.wn,h=f;a.wn=d;this.doCurrentObjectChanged(f,d);for(b.zc=!1;null!==f;){var k=f.Ht;if(null!==k){if(d===f)break;if(null!==d&&d.ul(f))break;k(b,f,d);e=!0;if(b.zc)break}f=f.R}f=h;for(b.zc=!1;null!==d;){k=d.Gt;if(null!==k){if(f===d)break;if(null!==f&&f.ul(d))break;k(b,d,f);e=!0;if(b.zc)break}d=d.R}d=a.wn}if(null!==d){f= -d;for(k="";null!==f;){k=f.cursor;if(""!==k)break;f=f.R}a.$b=k;b.zc=!1;for(f=d;null!==f;){k=f.Sz;if(null!==k&&(k(b,f),e=!0,b.zc))break;f=f.R}}else a.$b="",k=a.Sz,null!==k&&(k(b),e=!0);e&&a.ue();a.tb=c}}};Xf.prototype.doCurrentObjectChanged=function(){}; -Xf.prototype.standardMouseWheel=function(){var a=this.g;if(null!==a){var b=a.O,c=b.il;if(0!==c&&a.Zd.G()){var d=a.nb,e=a.Za.It;if((e===fh&&!b.shift||e===gh&&b.control)&&(0e||Math.abs(b.y-a.y)>d};v.u(Xf,{g:"diagram"},function(){return this.W});v.defineProperty(Xf,{name:"name"},function(){return this.Ob},function(a){v.j(a,"string",Xf,"name");this.Ob=a}); -v.defineProperty(Xf,{isEnabled:"isEnabled"},function(){return this.Se},function(a){v.j(a,"boolean",Xf,"isEnabled");this.Se=a});v.defineProperty(Xf,{qa:"isActive"},function(){return this.LB},function(a){v.j(a,"boolean",Xf,"isActive");this.LB=a});v.defineProperty(Xf,{Bf:"transactionResult"},function(){return this.VC},function(a){null!==a&&v.j(a,"string",Xf,"transactionResult");this.VC=a}); -function Zg(){0e&&(e=k),l>f&&(f=l))}}Infinity===c?b.m(0,0,0,0):b.m(c,d,e-c,f-d)} -function Qh(a,b){if(null===a.gc){var c=a.g;if(!(null===c||b&&(c.ab||c.vf))&&null!==a.ac){var d=c.la;d.isEnabled&&d.hE?null!==d.Qi&&0c.oa)){var d=a.g;if(null!==d&&!d.ab&&(d=a.Fi,null!==d)){var e=null,f=null;null===c.T&&(e=$h(a,c.l(0),!1),null!==e&&(f=e.Y));var h=null,k=null;null===c.Z&&(h=$h(a,c.l(c.oa-1),!0),null!==h&&(k=h.Y));d.isValidLink(f,e,k,h)?b?(c.zn=c.l(0).copy(),c.Dn=c.l(c.oa-1).copy(),c.Jp=!1,c.T=f,null!==e&&(c.xg=e.Rd),c.Z=k,null!==h&&(c.sh=h.Rd)):ai(d,f,e,k,h):ai(d,null,null,null,null)}}}Zg.prototype.doDragOver=function(){}; -function bi(a,b){var c=a.g;if(null!==c){a.Si&&Wh(a,!0);Gh(a);var d=Xh(c,b,null,function(b){return!Uh(a,b)}),e=c.O;e.ye=d;if(null!==d){e.zc=!1;for(var f=d;null!==f;){var h=f.Pz;if(null!==h&&(h(e,f),e.zc))break;f=Zh(f)}}else h=c.Pz,null!==h&&h(e);if(a.qa||null!==jh)if(a.doDropOnto(b,d),a.qa||null!==jh)for(d=c.selection.i;d.next();)e=d.value,e instanceof S&&ci(c,e.U)}}Zg.prototype.doDropOnto=function(){}; -Zg.prototype.doMouseMove=function(){if(this.qa){var a=this.g;if(null!==a&&null!==this.Im&&null!==this.ac){var b=!1,c=!1;this.mayCopy()?(b=!0,a.$b="copy",Qh(this,!1),ih(this,this.gc),Rh(this,this.gc,!1),Hh(this,this.gc)):this.mayMove()?(c=!0,a.$b="default",Kh(this),Rh(this,this.ac,!0)):this.mayDragOut()?(a.$b="no-drop",Qh(this,!1),Rh(this,this.gc,!1)):Kh(this);Vh(this,a.O.ca,c,b)}}}; -Zg.prototype.doMouseUp=function(){if(this.qa){var a=this.g;if(null!==a){var b=!1,c=this.mayCopy();c&&null!==this.gc?(Kh(this),Qh(this,!0),ih(this,this.gc),Rh(this,this.gc,!1),Hh(this,this.gc),null!==this.gc&&a.UE(this.gc.ej())):(b=!0,Kh(this),this.mayMove()&&(Rh(this,this.ac,!0),Vh(this,a.O.ca,!0,!1)));this.zq=!0;bi(this,a.O.ca);if(this.qa){this.gc=null;if(b&&null!==this.ac)for(b=this.ac.i;b.next();){var d=b.key;d instanceof S&&(d=d.Sa,null===d||null===d.placeholder||this.ac.contains(d)||d.sD&&d.N())}a.qc(); -Hh(this,this.ac);this.Bf=c?"Copy":"Move";a.Ba(c?"SelectionCopied":"SelectionMoved",a.selection)}this.stopTool()}}};Zg.prototype.mayCopy=function(){if(!this.cE)return!1;var a=this.g;if(null===a||a.ab||a.vf||!a.Ho||!a.Vj||(v.bk?!a.O.alt:!a.O.control))return!1;for(a=a.selection.i;a.next();){var b=a.value;if(b.Od()&&b.canCopy())return!0}return null!==this.ad&&this.Si&&this.ad.canCopy()?!0:!1}; -Zg.prototype.mayDragOut=function(){if(!this.cE)return!1;var a=this.g;if(null===a||!a.Ss||!a.Vj||a.bl)return!1;for(a=a.selection.i;a.next();){var b=a.value;if(b.Od()&&b.canCopy())return!0}return null!==this.ad&&this.Si&&this.ad.canCopy()?!0:!1};Zg.prototype.mayMove=function(){var a=this.g;if(null===a||a.ab||!a.bl)return!1;for(a=a.selection.i;a.next();){var b=a.value;if(b.Od()&&b.canMove())return!0}return null!==this.ad&&this.Si&&this.ad.canMove()?!0:!1};var Ih=new I(Zg),jh=null,kh=null; -Zg.prototype.getDraggingSource=function(){return jh};Zg.prototype.mayDragIn=function(){var a=this.g;if(null===a||!a.fD||a.ab||a.vf||!a.Ho)return!1;var b=jh;return null===b||b.g.ba.gl!==a.ba.gl?!1:!0};Zg.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.g;a.Na.$h();di(a);a=jh;null!==a&&(a.g.$b="copy")}};Zg.prototype.doSimulatedDragLeave=function(){var a=jh;null!==a&&a.doSimulatedDragOut();this.doCancel()}; -Zg.prototype.doSimulatedDragOver=function(){var a=this.g;if(null!==a){var b=jh;null!==b&&null!==b.ac&&this.mayDragIn()&&(a.$b="copy",ei(this,b.ac.ej(),!1),Rh(this,this.gc,!1),Vh(this,a.O.ca,!1,!0))}}; -Zg.prototype.doSimulatedDrop=function(){var a=this.g;if(null!==a){var b=jh;if(null!==b){var c=b.g;b.zq=!0;Kh(this);this.mayDragIn()&&(this.Qb("Drop"),ei(this,b.ac.ej(),!0),Rh(this,this.gc,!1),null!==this.gc&&a.UE(this.gc.ej()),bi(this,a.O.ca),a.qc(),b=a.selection,null!==this.gc?this.Bf="ExternalCopy":b=new J(R),this.gc=null,a.focus(),a.Ba("ExternalObjectsDropped",b,c),this.gk())}}}; -function ei(a,b,c){if(null===a.gc){var d=a.g;if(null!==d&&!d.ab&&!d.vf){d.tb=!c;d.Qp=!c;a.fk=d.O.ca;d=d.Oo(b,d,!0);c=v.ag();Ph(b,c);var e=c.x+c.width/2,f=c.y+c.height/2;v.Vb(c);var h=a.Uv;c=new na(R);var k=v.L();for(b=b.i;b.next();){var l=b.value;if(l.Od()&&l.canCopy()){var m=l.location,l=d.ja(l);k.m(h.x-(e-m.x),h.y-(f-m.y));l.location=k;l.sf();c.add(l,wh(k))}}v.v(k);for(d=d.i;d.next();)e=d.value,e instanceof W&&e.canCopy()&&c.add(e,wh());a.gc=c;hh(a,c.ej());null!==a.ad&&(c=a.ad,d=c.Zm,c.xl(a.fk.x- -(d.x+d.width/2),a.fk.y-(d.y+d.height/2)))}}}Zg.prototype.doSimulatedDragOut=function(){var a=this.g;null!==a&&(this.mayCopy()||this.mayMove()?a.$b="":a.$b="no-drop")};function Eh(a){this.point=a;this.ZE=ad}v.ea("DraggingInfo",Eh);function Sh(a,b,c){this.Jc=a;this.info=b;this.bH=c} -function fi(){0=d&&(d=.1);for(var e=this,f=b.Km(c,d,function(b){return e.findValidLinkablePort(b,a)},null,!0),d=Infinity,b=null,f=f.i;f.next();){var h=f.value,k=h.Y;if(k instanceof S){var l=h.Xa(zb,v.L()),m=c.x-l.x,n=c.y-l.y;v.v(l);l=m*m+n*n;lc){if(null!==this.kc&&a===this.Dg&&b===this.Eg)return!0;var d=b.Rd;null===d&&(d="");if(a.Bw(d).count>=c)return!1}return!0}; -fi.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.gp;if(this.g.Wa===this&&(null!==a.layer&&!a.layer.Ts||!0!==b.fF))return!1;var c=b.LI;if(Infinity>c){if(null!==this.kc&&a===this.Fg&&b===this.Gg)return!0;var d=b.Rd;null===d&&(d="");if(a.wg(d).count>=c)return!1}return!0};fi.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}; -fi.prototype.isLinked=function(a,b){if(null===a||null===b)return!1;var c=a.Y;if(!(c instanceof S))return!1;var d=a.Rd;null===d&&(d="");var e=b.Y;if(!(e instanceof S))return!1;var f=b.Rd;null===f&&(f="");for(e=e.wg(f);e.next();)if(f=e.value,f.T===c&&f.xg===d)return!0;return!1}; -fi.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.UG&&d.KI||!this.isInSameNode(b,d))&&(b.TG&&d.JI||!this.isLinked(b,d)))||null!==this.kc&&(null!==a&&this.isLabelDependentOnLink(a,this.kc)||null!==c&&this.isLabelDependentOnLink(c,this.kc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.kc))return!1;if(null!==a){var e=a.Qw;if(null!==e&&!e(a,b,c,d,this.kc))return!1}if(null!== -c&&(e=c.Qw,null!==e&&!e(a,b,c,d,this.kc)))return!1;e=this.Qw;return null!==e?e(a,b,c,d,this.kc):!0};fi.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.fe;if(null===c)return!1;if(c===b)return!0;var d=new J(S);d.add(a);return gi(this,c,b,d)};function gi(a,b,c,d){if(b===c)return!0;var e=b.T;if(null!==e&&e.uf&&(d.add(e),gi(a,e.fe,c,d)))return!0;b=b.Z;return null!==b&&b.uf&&(d.add(b),gi(a,b.fe,c,d))?!0:!1} -fi.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.gp;var d=this.g.SI;if(d!==hi){if(d===ii){if(null!==c&&!c.Hc)return!0;for(d=b.te;d.next();){var e=d.value;if(e!==c&&e.Hc&&e.Z===b)return!1}return!ji(this,a,b,c,!0)}if(d===ki){if(null!==c&&!c.Hc)return!0;for(d=a.te;d.next();)if(e=d.value,e!==c&&e.Hc&&e.T===a)return!1;return!ji(this,a,b,c,!0)}if(d===li)return a===b?a=!0:(d=new J(S),d.add(b),a=mi(this,d,a,b,c)),!a;if(d===ni)return!ji(this,a,b,c,!1);if(d=== -xi)return a===b?a=!0:(d=new J(S),d.add(b),a=yi(this,d,a,b,c)),!a}return!0};function ji(a,b,c,d,e){if(b===c)return!0;if(null===b||null===c)return!1;for(var f=b.te;f.next();){var h=f.value;if(h!==d&&(!e||h.Hc)&&h.Z===b&&(h=h.T,h!==b&&ji(a,h,c,d,e)))return!0}return!1}function mi(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 f=c.te;f.next();){var h=f.value;if(h!==e&&h.Z===c&&(h=h.T,h!==c&&mi(a,b,h,d,e)))return!0}return!1} -function yi(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 f=c.te;f.next();){var h=f.value;if(h!==e){var k=h.T,h=h.Z,k=k===c?h:k;if(k!==c&&yi(a,b,k,d,e))return!0}}return!1}v.defineProperty(fi,{Qw:"linkValidation"},function(){return this.Nk},function(a){null!==a&&v.j(a,"function",fi,"linkValidation");this.Nk=a});v.defineProperty(fi,{Zw:"portTargeted"},function(){return this.vC},function(a){null!==a&&v.j(a,"function",fi,"portTargeted");this.vC=a}); -function zi(){0b.it+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 D)for(c=a.elements;c.next();)this.updateResizeHandles(c.value,b)};v.defineProperty(Pi,{nt:"handleArchetype"},function(){return this.Bk},function(a){null!==a&&v.A(a,G,Pi,"handleArchetype");this.Bk=a});v.u(Pi,{handle:"handle"},function(){return this.Sb});v.defineProperty(Pi,{Zb:"adornedObject"},function(){return this.Db},function(a){null!==a&&v.A(a,G,Pi,"adornedObject");this.Db=a}); -Pi.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.g;return null!==a&&!a.ab&&a.Us&&a.O.left?null!==this.findToolHandleAt(a.yc.ca,this.name)?!0:!1:!1}; -Pi.prototype.doActivate=function(){var a=this.g;null!==a&&(this.Sb=this.findToolHandleAt(a.yc.ca,this.name),null!==this.Sb&&(this.Db=this.Sb.Y.Zb,this.Fy.set(this.Db.Y.location),this.zv.set(this.Db.za),this.ey=this.computeCellSize(),this.hy=this.computeMinSize(),this.gy=this.computeMaxSize(),a.Oe=!0,this.iC=a.Na.isEnabled,a.Na.isEnabled=!1,this.Qb(this.name),this.qa=!0))};Pi.prototype.doDeactivate=function(){var a=this.g;null!==a&&(this.gk(),this.Db=this.Sb=null,this.qa=a.Oe=!1,a.Na.isEnabled=this.iC)}; -Pi.prototype.doCancel=function(){this.Db.za=this.zv;this.Db.Y.location=this.Fy;this.stopTool()};Pi.prototype.doMouseMove=function(){var a=this.g;if(this.qa&&null!==a){var b=this.hy,c=this.gy,d=this.ey,e=this.Db.QD(a.O.ca,v.L()),f=Si;this.Db instanceof Y&&(f=Ti(this.Db));b=this.computeResize(e,this.Sb.alignment,b,c,d,!(f===Ui||f===Vi||a.O.shift));this.resize(b);a.Uf();v.v(e)}}; -Pi.prototype.doMouseUp=function(){var a=this.g;if(this.qa&&null!==a){var b=this.hy,c=this.gy,d=this.ey,e=this.Db.QD(a.O.ca,v.L()),f=Si;this.Db instanceof Y&&(f=Ti(this.Db));b=this.computeResize(e,this.Sb.alignment,b,c,d,!(f===Ui||f===Vi||a.O.shift));this.resize(b);v.v(e);a.qc();this.Bf=this.name;a.Ba("PartResized",this.Db,this.zv)}this.stopTool()}; -Pi.prototype.resize=function(a){if(null!==this.g){var b=this.Zb,c=b.Y,d=b.ol(),e=b.Ti(),f=Math.PI*d/180,h=Math.cos(f),f=Math.sin(f),k=0d?1:0,l=90d?1:0,d=180d?1:0,m=b.Ha.width,n=b.Ha.height;b.za=a.size;var p=c.position.copy();c.sf();m=b.Ha.width-m;n=b.Ha.height-n;if(0!==m||0!==n)0!==m&&(p.x+=e*((a.x+m*l)*h-(a.y+n*k)*f)),0!==n&&(p.y+=e*((a.x+m*d)*f+(a.y+n*l)*h)),c.move(p),c instanceof S&&c.cf()}}; -Pi.prototype.computeResize=function(a,b,c,d,e,f){b.se()&&(b=zb);var h=this.Zb.Ha,k=h.x,l=h.y,m=h.x+h.width,n=h.y+h.height,p=1;if(!f){var p=h.width,q=h.height;0>=p&&(p=1);0>=q&&(q=1);p=q/p}q=v.L();Pa(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),f||(b=a.height/a.width,pb.wh||(b.scale=a))};sg.prototype.canDecreaseZoom=function(a){void 0===a&&(a=1/this.gy);v.Zd(a,sg,"canDecreaseZoom:factor");var b=this.g;if(null===b||b.Dl!==Dh)return!1;a*=b.scale;return ab.wh?!1:b.Mw}; +sg.prototype.increaseZoom=function(a){void 0===a&&(a=this.gy);v.Zd(a,sg,"increaseZoom:factor");var b=this.g;null!==b&&b.Dl===Dh&&(a*=b.scale,ab.wh||(b.scale=a))};sg.prototype.canIncreaseZoom=function(a){void 0===a&&(a=this.gy);v.Zd(a,sg,"canIncreaseZoom:factor");var b=this.g;if(null===b||b.Dl!==Dh)return!1;a*=b.scale;return ab.wh?!1:b.Mw};sg.prototype.resetZoom=function(a){void 0===a&&(a=this.Uw);v.Zd(a,sg,"resetZoom:newscale");var b=this.g;null===b||ab.wh||(b.scale=a)}; +sg.prototype.canResetZoom=function(a){void 0===a&&(a=this.Uw);v.Zd(a,sg,"canResetZoom:newscale");var b=this.g;return null===b||ab.wh?!1:b.Mw};sg.prototype.zoomToFit=function(){var a=this.g;if(null!==a){var b=a.scale,c=a.position;b===this.Ez&&!isNaN(this.dz)&&a.se.L(this.Dz)?(a.scale=this.dz,a.position=this.MC,this.Ez=NaN,this.Dz=ad):(this.dz=b,this.MC=c.copy(),a.zoomToFit(),this.Ez=a.scale,this.Dz=a.se.copy())}};sg.prototype.canZoomToFit=function(){var a=this.g;return null===a?!1:a.Mw}; +sg.prototype.scrollToPart=function(a){void 0===a&&(a=null);null!==a&&v.F(a,S,sg,"part");var b=this.g;if(null!==b){if(null===a){try{null!==this.$i&&(this.$i.next()?a=this.$i.value:this.$i=null)}catch(c){this.$i=null}null===a&&(0e||Math.abs(b.y-a.y)>d};v.u(rg,{g:"diagram"},function(){return this.Z});v.defineProperty(rg,{name:"name"},function(){return this.Qb},function(a){v.j(a,"string",rg,"name");this.Qb=a}); +v.defineProperty(rg,{isEnabled:"isEnabled"},function(){return this.ff},function(a){v.j(a,"boolean",rg,"isEnabled");this.ff=a});v.defineProperty(rg,{ta:"isActive"},function(){return this.zC},function(a){v.j(a,"boolean",rg,"isActive");this.zC=a});v.defineProperty(rg,{Gf:"transactionResult"},function(){return this.KD},function(a){null!==a&&v.j(a,"string",rg,"transactionResult");this.KD=a}); +function qh(){0e&&(e=k),l>f&&(f=l))}}Infinity===c?b.l(0,0,0,0):b.l(c,d,e-c,f-d)} +function vi(a,b){if(null===a.bc){var c=a.g;if(!(null===c||b&&(c.bb||c.zf))&&null!==a.Wb){var d=c.pa;d.isEnabled&&d.bF?null!==d.hj&&0c.ra)){var d=a.g;if(null!==d&&!d.bb&&(d=a.Yi,null!==d)){var e=null,f=null;null===c.W&&(e=Fi(a,c.m(0),!1),null!==e&&(f=e.V));var h=null,k=null;null===c.aa&&(h=Fi(a,c.m(c.ra-1),!0),null!==h&&(k=h.V));d.isValidLink(f,e,k,h)?b?(c.Kp=c.m(0),c.Lp=c.m(c.ra-1),c.zj=!1,c.W=f,null!==e&&(c.Ig=e.Qd),c.aa=k,null!==h&&(c.Eh=h.Qd)):Gi(d,f,e,k,h):Gi(d,null,null,null,null)}}}qh.prototype.doDragOver=function(){}; +function Hi(a,b){var c=a.g;if(null!==c){a.jj&&Ci(a,!0);Th(a);var d=Di(c,b,null,function(b){return!Ai(a,b)}),e=c.R;e.Pe=d;if(null!==d){e.Cc=!1;for(var f=d;null!==f;){var h=f.AA;if(null!==h&&(h(e,f),e.Cc))break;f=Ei(f)}}else h=c.AA,null!==h&&h(e);if(a.ta||null!==Mh){for(e=(a.bc||a.Wb).i;e.next();)f=e.key,f instanceof T&&f.ge.each(function(a){a.zj=!1});a.doDropOnto(b,d);if(a.ta||null!==Mh){d=v.Ef();for(e=c.selection.i;e.next();)f=e.value,f instanceof T&&Ii(c,f.getAvoidableRect(d));v.Gb(d)}}}} +qh.prototype.doDropOnto=function(){};qh.prototype.doMouseMove=function(){if(this.ta){var a=this.g;if(null!==a&&null!==this.sn&&null!==this.Wb){var b=!1,c=!1;this.mayCopy()?(b=!0,a.cc="copy",vi(this,!1),this.at(this.bc),wi(this,this.bc,!1),this.gp(this.bc)):this.mayMove()?(c=!0,a.cc="default",Wh(this),wi(this,this.Wb,!0)):this.mayDragOut()?(a.cc="no-drop",vi(this,!1),wi(this,this.bc,!1)):Wh(this);Bi(this,a.R.da,c,b)}}}; +qh.prototype.doMouseUp=function(){if(this.ta){var a=this.g;if(null!==a){var b=!1,c=this.mayCopy();c&&null!==this.bc?(Wh(this),vi(this,!0),this.at(this.bc),wi(this,this.bc,!1),this.gp(this.bc),null!==this.bc&&a.PF(this.bc.Bj())):(b=!0,Wh(this),this.mayMove()&&(wi(this,this.Wb,!0),Bi(this,a.R.da,!0,!1)));this.mr=!0;Hi(this,a.R.da);if(this.ta){this.bc=null;if(b&&null!==this.Wb)for(b=this.Wb.i;b.next();){var d=b.key;d instanceof T&&(d=d.La,null===d||null===d.placeholder||this.Wb.contains(d)||d.placeholder.I())}a.tc(); +this.gp(this.Wb);this.Gf=c?"Copy":"Move";a.Ca(c?"SelectionCopied":"SelectionMoved",a.selection)}this.stopTool()}}};qh.prototype.mayCopy=function(){if(!this.XE)return!1;var a=this.g;if(null===a||a.bb||a.zf||!a.Bp||!a.qk||(v.Dk?!a.R.alt:!a.R.control))return!1;for(a=a.selection.i;a.next();){var b=a.value;if(b.ee()&&b.canCopy())return!0}return null!==this.gd&&this.jj&&this.gd.canCopy()?!0:!1}; +qh.prototype.mayDragOut=function(){if(!this.XE)return!1;var a=this.g;if(null===a||!a.ut||!a.qk||a.Bl)return!1;for(a=a.selection.i;a.next();){var b=a.value;if(b.ee()&&b.canCopy())return!0}return null!==this.gd&&this.jj&&this.gd.canCopy()?!0:!1};qh.prototype.mayMove=function(){var a=this.g;if(null===a||a.bb||!a.Bl)return!1;for(a=a.selection.i;a.next();){var b=a.value;if(b.ee()&&b.canMove())return!0}return null!==this.gd&&this.jj&&this.gd.canMove()?!0:!1};var Uh=new I(qh),Mh=null,Nh=null; +qh.prototype.getDraggingSource=function(){return Mh};qh.prototype.mayDragIn=function(){var a=this.g;if(null===a||!a.XD||a.bb||a.zf||!a.Bp)return!1;var b=Mh;return null===b||null===b.g||b.g.ca.Il!==a.ca.Il?!1:!0};qh.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=this.g;a.Qa.oi();Ji(a);a=Mh;null!==a&&null!==a.g&&(a.g.cc="copy")}};qh.prototype.doSimulatedDragLeave=function(){var a=Mh;null!==a&&a.doSimulatedDragOut();this.doCancel()}; +qh.prototype.doSimulatedDragOver=function(){var a=this.g;if(null!==a){var b=Mh;null!==b&&null!==b.Wb&&this.mayDragIn()&&(a.cc="copy",Ki(this,b.Wb.Bj(),!1),wi(this,this.bc,!1),Bi(this,a.R.da,!1,!0))}}; +qh.prototype.doSimulatedDrop=function(){var a=this.g;if(null!==a){var b=Mh;if(null!==b){var c=b.g;b.mr=!0;Wh(this);this.mayDragIn()&&(this.Tb("Drop"),Ki(this,b.Wb.Bj(),!0),wi(this,this.bc,!1),null!==this.bc&&a.PF(this.bc.Bj()),Hi(this,a.R.da),a.tc(),b=a.selection,null!==this.bc?this.Gf="ExternalCopy":b=new J(S),this.bc=null,a.doFocus(),a.Ca("ExternalObjectsDropped",b,c),this.Ik())}}}; +function Ki(a,b,c){if(null===a.bc){var d=a.g;if(null!==d&&!d.bb&&!d.zf){d.wb=!c;d.Fq=!c;a.Hk=d.R.da;d=d.Jp(b,d,!0);c=v.Ef();ui(b,c);var e=c.x+c.width/2,f=c.y+c.height/2;v.Gb(c);var h=a.tw;c=new la(S);var k=v.K();for(b=b.i;b.next();){var l=b.value;if(l.ee()&&l.canCopy()){var m=l.location,l=d.na(l);k.l(h.x-(e-m.x),h.y-(f-m.y));l.location=k;l.af();c.add(l,Qh(k))}}v.v(k);for(d=d.i;d.next();)e=d.value,e instanceof W&&e.canCopy()&&c.add(e,Qh());a.bc=c;Lh(a,c.Bj());null!==a.gd&&(c=a.gd,d=c.Rn,c.Zl(a.Hk.x- +(d.x+d.width/2),a.Hk.y-(d.y+d.height/2)))}}}qh.prototype.doSimulatedDragOut=function(){var a=this.g;null!==a&&(this.mayCopy()||this.mayMove()?a.cc="":a.cc="no-drop")};function Rh(a){this.point=a;this.UF=$c}v.ga("DraggingInfo",Rh);function xi(a,b,c){this.Qc=a;this.info=b;this.$H=c} +function Li(){0=d&&(d=.1);for(var e=this,f=b.un(c,d,function(b){return e.findValidLinkablePort(b,a)},null,!0),d=Infinity,b=null,f=f.i;f.next();){var h=f.value,k=h.V;if(k instanceof T){var l=h.Va(Gb,v.K()),m=c.x-l.x,n=c.y-l.y;v.v(l);l=m*m+n*n;lc){if(null!==this.nc&&a===this.Mg&&b===this.Ng)return!0;var d=b.Qd;null===d&&(d="");if(a.bx(d).count>=c)return!1}return!0}; +Li.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.$p;if(null!==this.g&&this.g.Ya===this&&(null!==a.layer&&!a.layer.vt||!0!==b.cG))return!1;var c=b.OJ;if(Infinity>c){if(null!==this.nc&&a===this.Og&&b===this.Pg)return!0;var d=b.Qd;null===d&&(d="");if(a.Hg(d).count>=c)return!1}return!0};Li.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.V,d=b.V;return null!==c&&c===d}; +Li.prototype.isLinked=function(a,b){if(null===a||null===b)return!1;var c=a.V;if(!(c instanceof T))return!1;var d=a.Qd;null===d&&(d="");var e=b.V;if(!(e instanceof T))return!1;var f=b.Qd;null===f&&(f="");for(e=e.Hg(f);e.next();)if(f=e.value,f.W===c&&f.Ig===d)return!0;return!1}; +Li.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.QH&&d.NJ||!this.isInSameNode(b,d))&&(b.PH&&d.MJ||!this.isLinked(b,d)))||null!==this.nc&&(null!==a&&this.isLabelDependentOnLink(a,this.nc)||null!==c&&this.isLabelDependentOnLink(c,this.nc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!this.isValidCycle(a,c,this.nc))return!1;if(null!==a){var e=a.Bx;if(null!==e&&!e(a,b,c,d,this.nc))return!1}if(null!== +c&&(e=c.Bx,null!==e&&!e(a,b,c,d,this.nc)))return!1;e=this.Bx;return null!==e?e(a,b,c,d,this.nc):!0};Li.prototype.isLabelDependentOnLink=function(a,b){if(null===a)return!1;var c=a.Oc;if(null===c)return!1;if(c===b)return!0;var d=new J(T);d.add(a);return Mi(this,c,b,d)};function Mi(a,b,c,d){if(b===c)return!0;var e=b.W;if(null!==e&&e.of&&(d.add(e),Mi(a,e.Oc,c,d)))return!0;b=b.aa;return null!==b&&b.of&&(d.add(b),Mi(a,b.Oc,c,d))?!0:!1} +Li.prototype.isValidCycle=function(a,b,c){void 0===c&&(c=null);if(null===a||null===b)return this.$p;var d=null!==this.g?this.g.UJ:Ni;if(d!==Ni){if(d===Oi){if(null!==c&&!c.Nc)return!0;for(d=b.ge;d.next();){var e=d.value;if(e!==c&&e.Nc&&e.aa===b)return!1}return!Pi(this,a,b,c,!0)}if(d===Qi){if(null!==c&&!c.Nc)return!0;for(d=a.ge;d.next();)if(e=d.value,e!==c&&e.Nc&&e.W===a)return!1;return!Pi(this,a,b,c,!0)}if(d===Ri)return a===b?a=!0:(d=new J(T),d.add(b),a=Si(this,d,a,b,c)),!a;if(d===Ti)return!Pi(this, +a,b,c,!1);if(d===Ui)return a===b?a=!0:(d=new J(T),d.add(b),a=Vi(this,d,a,b,c)),!a}return!0};function Pi(a,b,c,d,e){if(b===c)return!0;if(null===b||null===c)return!1;for(var f=b.ge;f.next();){var h=f.value;if(h!==d&&(!e||h.Nc)&&h.aa===b&&(h=h.W,h!==b&&Pi(a,h,c,d,e)))return!0}return!1}function Si(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 f=c.ge;f.next();){var h=f.value;if(h!==e&&h.aa===c&&(h=h.W,h!==c&&Si(a,b,h,d,e)))return!0}return!1} +function Vi(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 f=c.ge;f.next();){var h=f.value;if(h!==e){var k=h.W,h=h.aa,k=k===c?h:k;if(k!==c&&Vi(a,b,k,d,e))return!0}}return!1}v.defineProperty(Li,{Bx:"linkValidation"},function(){return this.ml},function(a){null!==a&&v.j(a,"function",Li,"linkValidation");this.ml=a});v.defineProperty(Li,{Kx:"portTargeted"},function(){return this.jD},function(a){null!==a&&v.j(a,"function",Li,"portTargeted");this.jD=a}); +function Wi(){0b.Kt+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 D)for(c=a.elements;c.next();)this.updateResizeHandles(c.value,b)};v.defineProperty(vj,{Rt:"handleArchetype"},function(){return this.bl},function(a){null!==a&&v.F(a,G,vj,"handleArchetype");this.bl=a});v.u(vj,{handle:"handle"},function(){return this.gc});v.defineProperty(vj,{rb:"adornedObject"},function(){return this.Fc},function(a){null!==a&&v.F(a,G,vj,"adornedObject");this.Fc=a}); +vj.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.g;return null!==a&&!a.bb&&a.wt&&a.R.left?null!==this.findToolHandleAt(a.Bc.da,this.name):!1}; +vj.prototype.doActivate=function(){var a=this.g;null!==a&&(this.gc=this.findToolHandleAt(a.Bc.da,this.name),null!==this.gc&&(this.Fc=this.gc.V.rb,this.cp.set(this.rb.Va(this.handle.alignment.uF())),this.eD.set(this.Fc.V.location),this.$C.set(this.Fc.Ba),this.Oy=this.computeCellSize(),this.Qy=this.computeMinSize(),this.Py=this.computeMaxSize(),a.bf=!0,this.XC=a.Qa.isEnabled,a.Qa.isEnabled=!1,this.Tb(this.name),this.ta=!0))}; +vj.prototype.doDeactivate=function(){var a=this.g;null!==a&&(this.Ik(),this.Fc=this.gc=null,this.ta=a.bf=!1,a.Qa.isEnabled=this.XC)};vj.prototype.doCancel=function(){null!==this.rb&&(this.rb.Ba=this.vF,this.rb.V.location=this.ZI);this.stopTool()};vj.prototype.doMouseMove=function(){var a=this.g;if(this.ta&&null!==a){var b=this.Qy,c=this.Py,d=this.Oy,e=this.rb.GE(a.R.da,v.K()),f=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,f);this.resize(b);a.Yf();v.v(e)}}; +vj.prototype.doMouseUp=function(){var a=this.g;if(this.ta&&null!==a){var b=this.Qy,c=this.Py,d=this.Oy,e=this.rb.GE(a.R.da,v.K()),f=this.computeReshape(),b=this.computeResize(e,this.handle.alignment,b,c,d,f);this.resize(b);v.v(e);a.tc();this.Gf=this.name;a.Ca("PartResized",this.rb,this.vF)}this.stopTool()}; +vj.prototype.resize=function(a){if(null!==this.g){var b=this.rb,c=b.V;b.Ba=a.size;c.af();a=this.rb.Va(this.handle.alignment.uF());c instanceof V?(a=c.position.copy().Vn(a).add(this.cp),c.move(a)):c.location=c.location.copy().Vn(a).add(this.cp)}}; +vj.prototype.computeResize=function(a,b,c,d,e,f){b.Od()&&(b=Gb);var h=this.rb.Ja,k=h.x,l=h.y,m=h.x+h.width,n=h.y+h.height,p=1;if(!f){var p=h.width,q=h.height;0>=p&&(p=1);0>=q&&(q=1);p=q/p}q=v.K();Pa(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),f||(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),f||(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,f||(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),f||(a.width=a.height/p,a.x=k+.5*(m-k-a.width)));v.v(q);return a};Pi.prototype.computeMinSize=function(){var a=this.Zb.kh.copy(),b=this.kh;!isNaN(b.width)&&b.width>a.width&&(a.width=b.width);!isNaN(b.height)&&b.height>a.height&&(a.height=b.height);return a}; -Pi.prototype.computeMaxSize=function(){var a=this.Zb.xf.copy(),b=this.xf;!isNaN(b.width)&&b.widtha&&(a+=360));var b=Math.min(Math.abs(this.BI),180),c=Math.min(Math.abs(this.AI),b/2);!this.g.O.shift&&0b-c&&(a=(Math.floor(a/b)+1)*b));360<=a?a-=360:0>a&&(a+=360);return a};v.defineProperty(Wi,{BI:"snapAngleMultiple"},function(){return this.CC},function(a){v.j(a,"number",Wi,"snapAngleMultiple");this.CC=a}); -v.defineProperty(Wi,{AI:"snapAngleEpsilon"},function(){return this.BC},function(a){v.j(a,"number",Wi,"snapAngleEpsilon");this.BC=a});v.u(Wi,{pK:"originalAngle"},function(){return this.yv});function Yi(){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.y+20;c.ya?c/2*a*a+b:-c/2*(--a*(a-2)-1)+b} -v.defineProperty(vg,{sA:"starting"},function(){return this.vo},function(a){this.vo!==a&&(null!==a&&v.j(a,"function",vg,"starting"),this.vo=a)});v.u(vg,{rJ:"animationReasons"},function(){return this.uu});vg.prototype.prepareAutomaticAnimation=vg.prototype.Xm=function(a){if(this.Se&&(this.uj||this.W.Qm)){this.uu.add(a);var b=this.sA;if(null===b||b(this,a))this.tj&&this.$h(),this.pc=!0}}; -function Kj(a){if(a.Se&&(a.uu.clear(),a.pc))if(!a.mn)a.pc=!1;else if(0===a.ln){var b=+new Date;a.ln=b;requestAnimationFrame(function(){if(!1!==a.pc&&!a.tj&&a.ln===b){var c=a.W;c.Ui("temporaryPixelRatio")&&(c.Nj=1);Lj(c);a.pc=!1;c.Ba("AnimationStarting");Mj(a,b)}})}} -function Nj(a,b,c,d,e,f){if(!(!a.pc||"position"===c&&d.K(e)||b instanceof R&&!b.$D)){var h=a.fm;if(h.contains(b)){var h=h.ja(b),k=h.start,l=h.end;void 0===k[c]&&(k[c]=Oj(d));h.sw&&void 0!==l[c]?h.ct[c]=Oj(e):(f||(h.ct[c]=Oj(e)),l[c]=Oj(e));f&&0===c.indexOf("position:")&&(h.ct.location=Oj(b.location))}else k=new ta,l=new ta,k[c]=Oj(d),l[c]=Oj(e),d=l,e=k.position,e instanceof z&&!e.G()&&a.uu.contains("Expand SubGraph")&&e.assign(d.position),k=new Jj(k,l,f),f&&0===c.indexOf("position:")&&(k.ct.location= -Oj(b.location)),h.add(b,k);a.mn=!0}}function Oj(a){return a instanceof z?a.copy():a instanceof ia?a.copy():a} -function Mj(a,b){var c;function d(){if(!1!==f.tj&&f.ln===b){var a=+new Date,c=a>s?m:a-r;Pj(f);Qj(f,e,q,h,c,m);f.Hu&&f.Hu();di(e);Rj(f);a>s?Sj(f):requestAnimationFrame(d)}}void 0===c&&(c=new ta);var e=a.W;if(null!==e){a.tj=!0;var f=a,h=c.NJ||a.oB,k=c.nK||null,l=c.oK||null,m=c.duration||a.$x,n=a.LF;for(c=a.fm.i;c.next();){var p=c.value.start.position;p instanceof z&&(p.G()||p.assign(n))}a.iB=h;a.Hu=k;a.Iu=l;a.hB=m;a.lB=a.fm;var q=a.lB;for(c=q.i;c.next();)k=c.value.end,k["position:placeholder"]&&(l= -k["position:placeholder"],n=l.Xa(rb),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);Pj(a);Qj(a,e,q,h,0,m);di(a.W);Rj(a);var r=+new Date,s=r+m;f.ln===b&&requestAnimationFrame(function(){d()})}} -var Tj={opacity:function(a,b,c,d,e,f){a.opacity=d(e,b,c-b,f)},position:function(a,b,c,d,e,f){e!==f?a.ox(d(e,b.x,c.x-b.x,f),d(e,b.y,c.y-b.y,f)):a.position=new z(d(e,b.x,c.x-b.x,f),d(e,b.y,c.y-b.y,f))},"position:node":function(a,b,c,d,e,f){var h=a.U,k=c.U;c=k.x+k.width/2-h.width/2;h=k.y+k.height/2-h.height/2;e!==f?a.ox(d(e,b.x,c-b.x,f),d(e,b.y,h-b.y,f)):a.position=new z(d(e,b.x,c-b.x,f),d(e,b.y,h-b.y,f))},"position:placeholder":function(a,b,c,d,e,f){e!==f?a.ox(d(e,b.x,c.x-b.x,f),d(e,b.y,c.y-b.y,f)): -a.position=new z(d(e,b.x,c.x-b.x,f),d(e,b.y,c.y-b.y,f))},scale:function(a,b,c,d,e,f){a.scale=d(e,b,c-b,f)},visible:function(a,b,c,d,e,f){a.visible=e!==f?b:c}};function Pj(a){if(!a.Un){var b=a.W;a.WC=b.tb;a.VA=b.we;a.WA=b.bu;b.tb=!0;b.we=!0;b.bu=!0;a.Un=!0}}function Rj(a){var b=a.W;b.tb=a.WC;b.we=a.VA;b.bu=a.WA;a.Un=!1} -function Qj(a,b,c,d,e,f){for(c=c.i;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!==Tj[m])Tj[m](h,l[m],k[m],d,e,f)}d=b.Dz;b.Dz=!0;m=a.oB;0!==a.xq&&0!==a.wq&&(c=a.xq,b.Tb=m(e,c,a.wq-c,f));null!==a.vq&&null!==a.uq&&(c=a.vq,a=a.uq,b.kb=new z(m(e,c.x,a.x-c.x,f),m(e,c.y,a.y-c.y,f)));b.Dz=d}vg.prototype.stopAnimation=vg.prototype.$h=function(){!0===this.pc&&(this.pc=!1,this.mn&&this.W.ue());this.tj&&this.Se&&Sj(this)}; -function Sj(a){a.tj=!1;a.ln=0;a.mn=!1;a.vq=null;a.uq=null;a.xq=0;a.wq=0;Pj(a);for(var b=a.W,c=a.iB,d=a.hB,e=a.lB.i;e.next();){var f=e.key,h=e.value,k=h.start,l=h.end,m=h.ct,n;for(n in l)if(void 0!==Tj[n]){var p=n;!h.sw||"position:node"!==p&&"position:placeholder"!==p||(p="position");Tj[p](f,k[n],void 0!==m[n]?m[n]:h.sw?k[n]:l[n],c,d,d)}h.sw&&void 0!==m.location&&(f.location=m.location);h.bx&&f.nd(!1)}for(c=a.W.links;c.next();)d=c.value,null!==d.oo&&(d.points=d.oo,d.oo=null);b.Rw.clear();b.Nj=null; -b.qc();b.pa();b.Uf();Uj(b);Rj(a);a.fm=new na(G,Jj);a.Iu&&a.Iu();a.Iu=null;a.Hu=null;b.Ba("AnimationFinished");b.ue()}function Vj(a,b,c){var d=b.U,e=c.U,f=null;c instanceof V&&(f=c.placeholder);null!==f?(d=f.Xa(rb),d.x+=f.padding.left,d.y+=f.padding.top,Nj(a,b,"position",d,b.position,!1)):Nj(a,b,"position",new z(e.x+e.width/2-d.width/2,e.y+e.height/2-d.height/2),b.position,!1);Nj(a,b,"scale",.01,b.scale,!1);if(b instanceof V)for(b=b.Ic;b.next();)f=b.value,f instanceof S&&Vj(a,f,c)} -function Wj(a,b,c){if(b.isVisible()){var d=null;c instanceof V&&(d=c.placeholder);null!==d?Nj(a,b,"position:placeholder",b.position,d,!0):Nj(a,b,"position:node",b.position,c,!0);Nj(a,b,"scale",b.scale,.01,!0);a.pc&&(d=a.fm,d.contains(b)&&(d.ja(b).bx=!0));if(b instanceof V)for(b=b.Ic;b.next();)d=b.value,d instanceof S&&Wj(a,d,c)}}function Xj(a,b,c){a.pc&&(null===a.vq&&b.G()&&null===a.uq&&(a.vq=b.copy()),a.uq=c.copy(),a.mn=!0)} -function Yj(a,b,c){a.pc&&a.W.Qm&&(0===a.xq&&0===a.wq&&(a.xq=b),a.wq=c,a.mn=!0)}v.defineProperty(vg,{isEnabled:"isEnabled"},function(){return this.Se},function(a){v.j(a,"boolean",vg,"isEnabled");this.Se=a});v.defineProperty(vg,{duration:"duration"},function(){return this.$x},function(a){v.j(a,"number",vg,"duration");1>a&&v.va(a,">= 1",vg,"duration");this.$x=a});v.u(vg,{df:"isAnimating"},function(){return this.tj});v.u(vg,{vH:"isTicking"},function(){return this.Un}); -v.defineProperty(vg,{iE:"isInitial"},function(){return this.uj},function(a){v.j(a,"boolean",vg,"isInitial");this.uj=a});function Jj(a,b,c){this.start=a;this.end=b;this.ct=new ta;this.sw=c;this.bx=!1}function Wf(){0=a)return b;for(var c=0,d=0,e=0,f=0,h=0,k=this.wb.i;k.next();){var l=k.value;l instanceof V?e++:l instanceof S?d++:l instanceof W?f++:l instanceof Vg?h++:c++}k="";0=d.count)a=d.count;else if(d.da(a)===b)return-1;d.yd(a,b);b.qt(c);d=this.g;null!==d&&(c?d.pa():d.cp(b));ek(this,a,b);return a}; -g.Ne=function(a,b,c){if(!c&&b.layer!==this&&null!==b.layer)return b.layer.Ne(a,b,c);var d=this.wb;if(0>a||a>=d.length){if(a=d.indexOf(b),0>a)return-1}else if(d.da(a)!==b&&(a=d.indexOf(b),0>a))return-1;b.rt(c);d.Vc(a);d=this.g;null!==d&&(c?d.pa():d.Ne(b));b.lv=null;return a}; -function ek(a,b,c){b=fk(a,b,c);if(c instanceof V&&null!==c&&isNaN(c.hn)){if(0!==c.Ic.count){for(var d=-1,e=a.wb.n,f=e.length,h=0;hd&&k.Sa===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 f=b-1,h=NaN;0<=f;){h=a.da(f).hn;if(!isNaN(h))break;f--}for(var k=b+1,l=NaN;kd)for(;;){if(-1===f||h<=d){f++;if(f===b)break;a.Vc(b);a.yd(f,c);return f}for(h=NaN;0<=--f&&(h=a.da(f).hn,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.Vc(b);a.yd(k,c);return k}for(l=NaN;++ka||1=a)return b;for(var c=this.Yb.i;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.W instanceof E?b.W:null}; -v.defineProperty(E,{jl:"div"},function(){return this.Kb},function(a){null!==a&&v.A(a,HTMLDivElement,E,"div");if(this.Kb!==a){hk=[];var b=this.Kb;null!==b?(b.W=void 0,b.innerHTML="",null!==this.zb&&(this.zb.removeEventListener("touchstart",this.kF,!1),this.zb.removeEventListener("touchmove",this.jF,!1),this.zb.removeEventListener("touchend",this.iF,!1),this.zb.xd.W=null),b=this.Za,null!==b&&(b.Pe.each(function(a){a.cancelWaitAfter()}),b.Vf.each(function(a){a.cancelWaitAfter()}),b.Wf.each(function(a){a.cancelWaitAfter()})), -b.cancelWaitAfter(),this.Wa.doCancel(),this.lf=this.zb=null,window.removeEventListener("resize",this.uF,!1),window.removeEventListener("mousemove",this.op,!0),window.removeEventListener("mousedown",this.np,!0),window.removeEventListener("mouseup",this.qp,!0),window.removeEventListener("mousewheel",this.lh,!0),window.removeEventListener("DOMMouseScroll",this.lh,!0),window.removeEventListener("mouseout",this.pp,!0)):this.Rg=!1;this.Kb=null;if(null!==a){if(b=a.W)b.jl=null;tk(this,a);this.ax()}}}); -function wk(a){var b=a.zb;b.addEventListener("touchstart",a.kF,!1);b.addEventListener("touchmove",a.jF,!1);b.addEventListener("touchend",a.iF,!1);b.addEventListener("mousemove",a.op,!1);b.addEventListener("mousedown",a.np,!1);b.addEventListener("mouseup",a.qp,!1);b.addEventListener("mousewheel",a.lh,!1);b.addEventListener("DOMMouseScroll",a.lh,!1);b.addEventListener("mouseout",a.pp,!1);b.addEventListener("keydown",a.yH,!1);b.addEventListener("keyup",a.zH,!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.Za.Xo===Ej&&b.preventDefault()},!1);b.addEventListener("pointerdown",a.$H,!1);b.addEventListener("pointermove",a.bI,!1);b.addEventListener("pointerleave",a.aI,!1);window.addEventListener("resize",a.uF,!1)}E.prototype.computePixelRatio=function(){return null!==this.Nj?this.Nj:this.IF};E.prototype.doMouseMove=function(){this.Wa.doMouseMove()}; -E.prototype.doMouseDown=function(){this.Wa.doMouseDown()};E.prototype.doMouseUp=function(){this.Wa.doMouseUp()};E.prototype.doMouseWheel=function(){this.Wa.doMouseWheel()};E.prototype.doKeyDown=function(){this.Wa.doKeyDown()};E.prototype.doKeyUp=function(){this.Wa.doKeyUp()};E.prototype.doFocus=function(){this.focus()};E.prototype.focus=E.prototype.focus=function(){this.zb&&this.zb.focus()}; -function Lj(a){if(null!==a.zb){var b=a.Kb;if(0!==b.clientWidth&&0!==b.clientHeight){var c=a.Ck?a.vd:0,d=a.rj?a.vd:0,e=a.rd;a.rd=a.computePixelRatio();a.rd!==e&&(a.Nq=!0,a.ue());if(b.clientWidth!==a.Eb+c||b.clientHeight!==a.Jb+d)a.Rl=!0,a.ke=!0,b=a.Pb,null!==b&&b.Mw&&a.cl===$g&&b.H(),a.Gd||a.ue()}}} -function qk(a){var b=new Wf;b.name="Background";a.Ns(b);b=new Wf;b.name="";a.Ns(b);b=new Wf;b.name="Foreground";a.Ns(b);b=new Wf;b.name="Adornment";b.Gc=!0;a.Ns(b);b=new Wf;b.name="Tool";b.Gc=!0;b.aE=!0;a.Ns(b);b=new Wf;b.name="Grid";b.of=!1;b.Hg=!1;b.Gc=!0;a.bG(b,a.et("Background"))} -function xk(a){a.hd=new D(yk);a.hd.name="GRID";var b=new Y;b.Ab="LineH";b.stroke="lightgray";b.lb=.5;b.interval=1;a.hd.add(b);b=new Y;b.Ab="LineH";b.stroke="gray";b.lb=.5;b.interval=5;a.hd.add(b);b=new Y;b.Ab="LineH";b.stroke="gray";b.lb=1;b.interval=10;a.hd.add(b);b=new Y;b.Ab="LineV";b.stroke="lightgray";b.lb=.5;b.interval=1;a.hd.add(b);b=new Y;b.Ab="LineV";b.stroke="gray";b.lb=.5;b.interval=5;a.hd.add(b);b=new Y;b.Ab="LineV";b.stroke="gray";b.lb=1;b.interval=10;a.hd.add(b);b=new R;b.add(a.hd); -b.Tf="Grid";b.hn=0;b.Fz=!1;b.$D=!1;b.Hg=!1;b.Kz="GRID";a.add(b);a.wb.remove(b);a.hd.visible=!1}E.prototype.KF=function(){this.W.isEnabled?this.W.IG(this):zk(this.W)};E.prototype.jC=function(a){this.W.isEnabled?(this.W.Iy=!0,this.W.Ky=a.target.scrollTop,this.W.Jy=a.target.scrollLeft):zk(this.W)}; -E.prototype.diagramScroll=E.prototype.IG=function(a){if(this.Iy&&null!==this.zb){this.Lv=!0;var b=this.Zd,c=this.rb,d=b.width,e=c.width,f=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.Tq)switch(this.Hy){case "negative":s=s+a.scrollWidth-a.clientWidth;break;case "reverse":s=a.scrollWidth-s-a.clientWidth}var t=s;el&&(this.position=s.m(-(this.Pv.scrollWidth-this.Eb)+t-this.Eb/r+k,this.position.y))),a.PF&&this.pe&&(bn&&(this.position=s.m(this.position.x,-(this.Pv.scrollHeight-this.Jb)+a.scrollTop-this.Jb/r+m))),v.v(s),Ak(this),this.Rl=this.Lv=!1,b=this.Zd,c=this.rb,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.cs.style.width="1px"),h>=f&&b>=c&&m<=n&&(this.cs.style.height="1px"))}};E.prototype.computeBounds=E.prototype.ah=function(){0c&&(e=c),ea.ih&&(e=a.ih),e):b===Ik?(e=l>k?(h-a.vd)/d:(f-a.vd)/e,e>c&&(e=c),ea.ih&&(e=a.ih),e):a.scale}E.prototype.zoomToFit=E.prototype.zoomToFit=function(){this.scale=Ek(this,Hk)}; -E.prototype.zoomToRect=function(a,b){void 0===b&&(b=Hk);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Hk||b===Ik)if(isNaN(c))e=this.rb.height*this.scale/d;else if(isNaN(d))e=this.rb.width*this.scale/c;else var e=this.Eb,f=this.Jb,e=b===Ik?f/d>e/c?(f-(this.rj?this.vd:0))/d:(e-(this.Ck?this.vd:0))/c:Math.min(f/d,e/c);this.scale=e;this.position=new z(a.x,a.y)}};v.defineProperty(E,{Dz:null},function(){return this.Pc},function(a){this.Pc=a}); -E.prototype.alignDocument=function(a,b){this.sj&&Gk(this,this.ah());var c=this.Zd,d=this.rb;this.position=new z(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 Fk(a,b,c,d,e,f,h){var k=b.x,l=b.y;if(h||a.iA===ik)f.bd()&&(d>c.width&&(k=c.x+(f.x*c.width+f.offsetX)-(f.x*d-f.offsetX)),e>c.height&&(l=c.y+(f.y*c.height+f.offsetY)-(f.y*e-f.offsetY))),f=a.QE,h=d-c.width,dc.left?k=c.left:kc.top?l=c.top:lb.touches.length)&&b.preventDefault();b.cancelBubble=!0;return!1} -E.prototype.yH=function(a){if(!this.W.isEnabled)return!1;var b=this.W.Nb;Jk(this.W,this.W,a,b,!1);b.key=String.fromCharCode(a.which);b.kl=!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.W.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?Nk(b,a):(a.cancelBubble=!0,a.preventDefault(),a.stopPropagation(),!1)}; -E.prototype.zH=function(a){if(!this.W.isEnabled)return!1;var b=this.W.Nb;Jk(this.W,this.W,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.W.doKeyUp(); -return Nk(b,a)};E.prototype.Iq=function(a){var b=this.zb;if(null===b)return new z(0,0);var c=this.Eb,d=this.Jb,b=b.getBoundingClientRect(),c=a.clientX-c/b.width*b.left;a=a.clientY-d/b.height*b.top;return null!==this.ne?(a=new z(c,a),Qa(a,this.ne),a):new z(c,a)};function Kk(a,b,c){var d=a.zb,e=a.Eb,f=a.Jb,h=0,k=0;null!==d&&(d=d.getBoundingClientRect(),h=b.clientX-e/d.width*d.left,k=b.clientY-f/d.height*d.top);c.jf.m(h,k);null!==a.ne?(b=v.Mb(h,k),a.ne.Xh(b),c.ca.assign(b),v.v(b)):c.ca.m(h,k)} -E.prototype.invalidateDocumentBounds=E.prototype.qc=function(){this.sj||(this.sj=!0,this.ue(!0))};function Uj(a){a.Gd||Bk(a);a.sj&&Gk(a,a.ah())}E.prototype.redraw=E.prototype.ax=function(){this.Pc||this.Gd||(this.pa(),Ok(this),Ak(this),this.qc(),this.Uf())};E.prototype.isUpdateRequested=function(){return this.Lf};E.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Na,c=b.isEnabled;b.$h();b.isEnabled=!1;di(this);this.Rg=!1;b.isEnabled=c;null!==a&&v.setTimeout(a,1)}; -E.prototype.requestUpdate=E.prototype.ue=function(a){void 0===a&&(a=!1);if(!0!==this.Lf&&!(this.Pc||!1===a&&this.Gd)){this.Lf=!0;var b=this;requestAnimationFrame(function(){b.Lf&&b.Uf()})}};E.prototype.maybeUpdate=E.prototype.Uf=function(){if(!this.Kn||this.Lf)this.Kn&&(this.Kn=!1),di(this)};function Pk(a,b){a.Na.df||a.Pc||!a.Rl||zk(a)||(b&&Bk(a),Dk(a,!1))} -function di(a){if(!a.Gd&&(a.Lf=!1,null!==a.Kb)){a.Gd=!0;var b=a.Na,c=a.sC;if(!b.Un&&0!==c.length){for(var d=c.n,e=d.length,f=0;fb;b++){var c=a.fg.i;if(null===c||0===a.fg.count)break;a.fg=new J(G);a.AA(c,a.fg)}} -E.prototype.AA=function(a,b){for(a.reset();a.next();){var c=a.value;!c.Od()||c instanceof V||!c.isVisible()||(c.vl()?(kj(c,Infinity,Infinity),c.Ec()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof V&&c.isVisible()&&cl(this,c);for(a.reset();a.next();)c=a.value,c instanceof W&&c.isVisible()&&(c.vl()?(kj(c,Infinity,Infinity),c.Ec()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof Vg&&c.isVisible()&&(c.vl()?(kj(c,Infinity,Infinity),c.Ec()):b.add(c))}; -function cl(a,b){for(var c=v.jb(),d=v.jb(),e=b.Ic;e.next();){var f=e.value;f.isVisible()&&(f instanceof V?(el(f)||fl(f)||gl(f))&&cl(a,f):f instanceof W?f.T===b||f.Z===b?d.push(f):c.push(f):(kj(f,Infinity,Infinity),f.Ec()))}for(var e=c.length,h=0;hx+1&& -(B=Math.max((u-x)*C+a.Eb,B)),q+k+1n+1&&(H=Math.max((p-n)*C+a.Jb,H)),r+l+1x+1&&(B=Math.max((u-x)*C+a.Eb,B)),q+1n+1&&(H=Math.max((p-n)*C+l,H)),r+1x+1&&(k=a.position.x*C));if(a.Tq)switch(a.Hy){case "negative":k=-(b.scrollWidth-k-b.clientWidth);break;case "reverse":k=b.scrollWidth-k-b.clientWidth}b.scrollLeft=k;a.Az&&a.pe&&(r+1n+1&&(b.scrollTop=a.position.y*C));h&&(a.Nq=!0);m=a.Eb;c=a.Jb;b.style.width=m+(a.Ck?a.vd:0)+"px";b.style.height=c+(a.rj?a.vd:0)+"px";a.Iy=!1;return d!==m||e!== -c||a.Na.pc?(n=a.rb,a.Lt(f,n,h),!1):!0} -E.prototype.add=E.prototype.add=function(a){v.A(a,R,E,"add:part");var b=a.g;if(b!==this){null!==b&&v.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.Qp&&(a.Kk="Tool");var c=a.Tf,b=this.et(c);null===b&&(b=this.et(""));null===b&&v.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.cp(99999999,a,a.g===this),0<=c&&this.Lc(Cf,"parts",b,null,a,null,c),b.Gc||this.qc(),a.H(nl),c=a.zt,null!== +k+.5*(m-k-a.width))):1<=b.y&&(a.height=Math.max(Math.min(q.y-l,d.height),c.height),f||(a.width=a.height/p,a.x=k+.5*(m-k-a.width)));v.v(q);return a};vj.prototype.computeReshape=function(){var a=yj;this.rb instanceof X&&(a=Kj(this.rb));return!(a===Lj||a===Mj||null!==this.g&&this.g.R.shift)};vj.prototype.computeMinSize=function(){var a=this.rb.yh.copy(),b=this.yh;!isNaN(b.width)&&b.width>a.width&&(a.width=b.width);!isNaN(b.height)&&b.height>a.height&&(a.height=b.height);return a}; +vj.prototype.computeMaxSize=function(){var a=this.rb.Bf.copy(),b=this.Bf;!isNaN(b.width)&&b.widtha&&(a+=360));var b=Math.min(Math.abs(this.DJ),180),c=Math.min(Math.abs(this.CJ),b/2);(null===this.g||!this.g.R.shift)&&0b-c&&(a=(Math.floor(a/b)+1)*b));360<=a?a-=360:0>a&&(a+=360);return a};v.defineProperty(Nj,{DJ:"snapAngleMultiple"},function(){return this.qD},function(a){v.j(a,"number",Nj,"snapAngleMultiple");this.qD=a}); +v.defineProperty(Nj,{CJ:"snapAngleEpsilon"},function(){return this.pD},function(a){v.j(a,"number",Nj,"snapAngleEpsilon");this.pD=a});v.u(Nj,{uL:"originalAngle"},function(){return this.Zv});function Pj(){0e.right&&(c.x-=d.width+5);c.xe.bottom&&(c.y-=d.height+5);c.ya.R.He?!1:!0};bk.prototype.doStart=function(){this.ta||null===this.Wg||this.doActivate()}; +bk.prototype.doActivate=function(){if(!this.ta){var a=this.g;if(null!==a){var b=this.Wg;null===b&&(b=a.Ke(a.R.da,function(a){return a instanceof Fh?a:null}));if(null!==b&&(this.Wg=b,null!==b.V)){this.ta=!0;this.ib=kk;var c=this.CH;null!==b.bG&&(c=b.bG);this.ik=this.Wg.copy();var d=new B(this.Wg.Va(xb),this.Wg.Va(Mb));a.uJ(d);if(c instanceof Sj)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.Ux&&(c.select(),c.setSelectionRange(0,9999));a.ij.appendChild(c)}this.vk=c}}}};bk.prototype.doCancel=function(){null!==this.ql&&(this.vk.style.border=this.ql,this.ql=null);this.stopTool()};bk.prototype.doMouseUp=function(){!this.ta&&this.canStart()&&this.doActivate()};bk.prototype.doMouseDown=function(){this.ta&&this.acceptText(gk)}; +bk.prototype.acceptText=function(a){switch(a){case gk:if(this.ib===ok)"function"===typeof this.vk.focus&&this.vk.focus();else if(this.ib===kk||this.ib===nk||this.ib===lk)this.ib=mk,rk(this);break;case fk:case ik:case hk:if(ik===a&&!0===this.yz.ux)break;if(this.ib===kk||this.ib===nk||this.ib===lk)this.ib=mk,rk(this)}}; +function rk(a){var b=a.Wg,c=a.g,d=a.vk;if(null!==b&&null!==d){var e=b.text,f=d.value,h="";d instanceof Sj?null!==d.oB&&(h=d.oB()):h="function"===typeof f?f():f;a.isValidText(b,e,h)?(a.Tb(a.name),a.ib=ok,d instanceof Sj?d.show(b,c,a):null!==a.ql&&(d.style.border=a.ql,a.ql=null),a.Gf=a.name,b.text=h,null!==b.aG&&b.aG(b,e,h),null!==c&&c.Ca("TextEdited",b,e),a.Ik(),a.stopTool(),null!==c&&c.doFocus()):(a.ib=nk,null!==b.Zz&&b.Zz(a,e,h),d instanceof Sj?d.show(b,c,a):(null===a.ql&&(a.ql=d.style.border,d.style.border= +"3px solid red"),"function"===typeof d.focus&&d.focus()))}}bk.prototype.doDeactivate=function(){var a=this.g;if(null!==a){this.ib=dk;this.Wg=null;if(null!==this.vk){var b=this.vk;if(b instanceof Sj)b.Cn(a,this);else{if("function"===typeof b.onDeactivate)b.onDeactivate();null!==b&&a.ij.removeChild(b)}}this.ta=!1}};bk.prototype.doFocus=function(){pk(this)};bk.prototype.doBlur=function(){qk(this)}; +function pk(a){if(null!==a.vk){var b=a.Dy;a.ib===kk&&(a.ib=lk);"function"===typeof b.select&&a.Ux&&(b.select(),b.setSelectionRange(0,9999))}}function qk(a){if(null!==a.vk){var b=a.Dy;"function"===typeof b.focus&&b.focus();"function"===typeof b.select&&a.Ux&&(b.select(),b.setSelectionRange(0,9999))}}bk.prototype.isValidText=function(a,b,c){v.F(a,Fh,bk,"isValidText:textblock");var d=this.hB;if(null!==d&&!d(a,b,c))return!1;d=a.hB;return null===d||d(a,b,c)?!0:!1}; +v.defineProperty(bk,{hB:"textValidation"},function(){return this.tl},function(a){null!==a&&v.j(a,"function",bk,"textValidation");this.tl=a});v.defineProperty(bk,{pF:"minimumEditorScale"},function(){return this.SC},function(a){null!==a&&v.j(a,"number",bk,"minimumEditorScale");this.SC=a});v.defineProperty(bk,{Ux:"selectsTextOnActivate"},function(){return this.nD},function(a){null!==a&&v.j(a,"boolean",bk,"selectsTextOnActivate");this.nD=a}); +v.defineProperty(bk,{state:"state"},function(){return this.ib},function(a){this.ib!==a&&(v.nb(a,bk,bk,"starting"),this.ib=a)});bk.prototype.measureTemporaryTextBlock=bk.prototype.KI=function(a){var b=this.ik;b.text=a;sk(b,this.Wg.To,Infinity);return b};function kh(){rg.call(this);this.name="ToolManager";this.BG=new I(rg);this.CG=new I(rg);this.DG=new I(rg);this.wC=this.xC=850;this.lC=(new ia(2,2)).Ga();this.GD=5E3;this.WC=Kh;this.uC=tk;this.lv=this.$B=null;this.en=-1}v.Ma(kh,rg); +v.ga("ToolManager",kh);var Kh;kh.WheelScroll=Kh=v.p(kh,"WheelScroll",0);var Jh;kh.WheelZoom=Jh=v.p(kh,"WheelZoom",1);kh.WheelNone=v.p(kh,"WheelNone",2);var tk;kh.GestureZoom=tk=v.p(kh,"GestureZoom",3);var uk;kh.GestureCancel=uk=v.p(kh,"GestureCancel",4);var vk;kh.GestureNone=vk=v.p(kh,"GestureNone",5);v.defineProperty(kh,{lu:"mouseWheelBehavior"},function(){return this.WC},function(a){v.nb(a,kh,kh,"mouseWheelBehavior");this.WC=a}); +v.defineProperty(kh,{Tp:"gestureBehavior"},function(){return this.uC},function(a){v.nb(a,kh,kh,"gestureBehavior");this.uC=a});kh.prototype.initializeStandardTools=function(){this.TG=new Qj;this.yF=new Oh;this.CI=new ej;this.JF=new vj;this.rJ=new Nj;this.lF=new Wi;this.te=new qh;this.HH=new Zj;this.$I=new ak;this.Pz=new Uj;this.gB=new bk;this.jH=new Rj;this.kH=new Pj}; +kh.prototype.updateAdornments=function(a){var b=this.Hl;if(b instanceof mh&&this.lv===a){var c=b.rb;(null!==a?c.V===a:null===c)?this.showToolTip(b,c):this.hideToolTip()}}; +kh.prototype.doMouseDown=function(){var a=this.g;if(null!==a){var b=a.R;b.pj&&this.Tp===uk&&(b.bubbles=!1);if(b.au){this.cancelWaitAfter();if(this.Tp===vk){b.bubbles=!0;return}if(this.Tp===uk)return;if(a.Ya.canStartMultiTouch()){a.Ya.standardPinchZoomStart();return}}var c=a.pa;c.Lz&&0!==c.Fh&&v.trace("WARNING: In ToolManager.doMouseDown: UndoManager.transactionLevel is not zero");for(var c=this.cf.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}v.u(Zg,{uK:"animationReasons"},function(){return this.Xu}); +Zg.prototype.canStart=function(){return!0};Zg.prototype.prepareAutomaticAnimation=Zg.prototype.Pn=function(a){this.ff&&(this.Sj||this.Z.Fn)&&(this.Xu.add(a),this.canStart(a)&&(this.Rj&&this.oi(),this.rc=!0))};function Ak(a){if(a.ff&&(a.Xu.clear(),a.rc))if(!a.ho)a.rc=!1;else if(0===a.fo){var b=+new Date;a.fo=b;requestAnimationFrame(function(){if(!1!==a.rc&&!a.Rj&&a.fo===b){var c=a.Z;c.lj("temporaryPixelRatio")&&(c.hk=1);Bk(c);a.rc=!1;c.Ca("AnimationStarting");Ck(a,b)}})}} +function Dk(a,b,c,d,e,f){if(!(!a.rc||"position"===c&&d.L(e)||b instanceof S&&!b.VE)){var h=a.Nm;if(h.contains(b)){var h=h.na(b),k=h.start,l=h.end;void 0===k[c]&&(k[c]=Ek(d));h.Rw&&void 0!==l[c]?h.Ft[c]=Ek(e):(f||(h.Ft[c]=Ek(e)),l[c]=Ek(e));f&&0===c.indexOf("position:")&&(h.Ft.location=Ek(b.location))}else k=new ua,l=new ua,k[c]=Ek(d),l[c]=Ek(e),d=l,e=k.position,e instanceof y&&!e.H()&&a.Xu.contains("Expand SubGraph")&&e.assign(d.position),k=new zk(k,l,f),f&&0===c.indexOf("position:")&&(k.Ft.location= +Ek(b.location)),h.add(b,k);a.ho=!0}}function Ek(a){return a instanceof y?a.copy():a instanceof ia?a.copy():a} +function Ck(a,b){var c;function d(){if(!1!==f.Rj&&f.fo===b){var a=+new Date,c=a>s?m:a-r;Fk(f);Sk(f,e,q,h,c,m);f.iv&&f.iv();Ji(e);Yk(f);a>s?Zk(f):requestAnimationFrame(d)}}void 0===c&&(c=new ua);var e=a.Z;if(null!==e){a.Rj=!0;var f=a,h=c.SK||a.aC,k=c.sL||null,l=c.tL||null,m=c.duration||a.Ly,n=a.HG;for(c=a.Nm.i;c.next();){var p=c.value.start.position;p instanceof y&&(p.H()||p.assign(n))}a.WB=h;a.iv=k;a.jv=l;a.VB=m;a.kv=a.Nm;var q=a.kv;for(c=q.i;c.next();)k=c.value.end,k["position:placeholder"]&&(l= +k["position:placeholder"],n=l.Va(xb),n.x+=l.padding.left,n.y+=l.padding.top,k["position:placeholder"]=n);Fk(a);Sk(a,e,q,h,0,m);Ji(a.Z);Yk(a);var r=+new Date,s=r+m;f.fo===b&&requestAnimationFrame(function(){d()})}} +var $k={opacity:function(a,b,c,d,e,f){a.opacity=d(e,b,c-b,f)},position:function(a,b,c,d,e,f){e!==f?a.Xx(d(e,b.x,c.x-b.x,f),d(e,b.y,c.y-b.y,f)):a.position=new y(d(e,b.x,c.x-b.x,f),d(e,b.y,c.y-b.y,f))},"position:node":function(a,b,c,d,e,f){var h=a.Y,k=c.Y;c=k.x+k.width/2-h.width/2;h=k.y+k.height/2-h.height/2;e!==f?a.Xx(d(e,b.x,c-b.x,f),d(e,b.y,h-b.y,f)):a.position=new y(d(e,b.x,c-b.x,f),d(e,b.y,h-b.y,f))},"position:placeholder":function(a,b,c,d,e,f){e!==f?a.Xx(d(e,b.x,c.x-b.x,f),d(e,b.y,c.y-b.y,f)): +a.position=new y(d(e,b.x,c.x-b.x,f),d(e,b.y,c.y-b.y,f))},scale:function(a,b,c,d,e,f){a.scale=d(e,b,c-b,f)},visible:function(a,b,c,d,e,f){a.visible=e!==f?b:c}};function Fk(a){if(!a.Oo){var b=a.Z;a.LD=b.wb;a.IB=b.Oe;a.JB=b.Fu;b.wb=!0;b.Oe=!0;b.Fu=!0;a.Oo=!0}}function Yk(a){var b=a.Z;b.wb=a.LD;b.Oe=a.IB;b.Fu=a.JB;a.Oo=!1} +function Sk(a,b,c,d,e,f){for(c=c.i;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!==$k[m])$k[m](h,l[m],k[m],d,e,f)}d=b.oA;b.oA=!0;m=a.aC;0!==a.kr&&0!==a.jr&&(c=a.kr,b.Lb=m(e,c,a.jr-c,f));null!==a.ir&&null!==a.hr&&(c=a.ir,a=a.hr,b.mb=new y(m(e,c.x,a.x-c.x,f),m(e,c.y,a.y-c.y,f)));b.oA=d}Zg.prototype.stopAnimation=Zg.prototype.oi=function(){!0===this.rc&&(this.rc=!1,this.ho&&this.Z.Me());this.Rj&&this.ff&&Zk(this)}; +function Zk(a){a.Rj=!1;a.ho=!1;Fk(a);for(var b=a.Z,c=a.WB,d=a.VB,e=a.kv.i;e.next();){var f=e.key,h=e.value,k=h.start,l=h.end,m=h.Ft,n;for(n in l)if(void 0!==$k[n]){var p=n;!h.Rw||"position:node"!==p&&"position:placeholder"!==p||(p="position");$k[p](f,k[n],void 0!==m[n]?m[n]:h.Rw?k[n]:l[n],c,d,d)}h.Rw&&void 0!==m.location&&(f.location=m.location);h.Nx&&f.vd(!1)}for(c=a.Z.links;c.next();)d=c.value,null!==d.ip&&(d.points=d.ip,d.ip=null);b.Cx.clear();b.hk=null;b.tc();b.oa();b.Yf();al(b);Yk(a);a.jv&&a.jv(); +a.fo=0;a.kv=null;a.jv=null;a.iv=null;a.ir=null;a.hr=null;a.kr=0;a.jr=0;a.Nm=new la(G,zk);b.Ca("AnimationFinished");b.Me()}function bl(a,b,c){var d=b.Y,e=c.Y,f=null;c instanceof V&&(f=c.placeholder);null!==f?(d=f.Va(xb),d.x+=f.padding.left,d.y+=f.padding.top,Dk(a,b,"position",d,b.position,!1)):Dk(a,b,"position",new y(e.x+e.width/2-d.width/2,e.y+e.height/2-d.height/2),b.position,!1);Dk(a,b,"scale",.01,b.scale,!1);if(b instanceof V)for(b=b.Pc;b.next();)f=b.value,f instanceof T&&bl(a,f,c)} +function cl(a,b,c){if(b.isVisible()){var d=null;c instanceof V&&(d=c.placeholder);null!==d?Dk(a,b,"position:placeholder",b.position,d,!0):Dk(a,b,"position:node",b.position,c,!0);Dk(a,b,"scale",b.scale,.01,!0);a.rc&&(d=a.Nm,d.contains(b)&&(d.na(b).Nx=!0));if(b instanceof V)for(b=b.Pc;b.next();)d=b.value,d instanceof T&&cl(a,d,c)}}function dl(a,b,c){a.rc&&(null===a.ir&&b.H()&&null===a.hr&&(a.ir=b.copy()),a.hr=c.copy(),a.ho=!0)} +function el(a,b,c){a.rc&&a.Z.Fn&&(0===a.kr&&0===a.jr&&(a.kr=b),a.jr=c,a.ho=!0)}v.defineProperty(Zg,{isEnabled:"isEnabled"},function(){return this.ff},function(a){v.j(a,"boolean",Zg,"isEnabled");this.ff=a});v.defineProperty(Zg,{duration:"duration"},function(){return this.Ly},function(a){v.j(a,"number",Zg,"duration");1>a&&v.Fa(a,">= 1",Zg,"duration");this.Ly=a});v.u(Zg,{nf:"isAnimating"},function(){return this.Rj});v.u(Zg,{tI:"isTicking"},function(){return this.Oo}); +v.defineProperty(Zg,{cF:"isInitial"},function(){return this.Sj},function(a){v.j(a,"boolean",Zg,"isInitial");this.Sj=a});function zk(a,b,c){this.start=a;this.end=b;this.Ft=new ua;this.Rw=c;this.Nx=!1}function qg(){0=a)return b;for(var c=0,d=0,e=0,f=0,h=0,k=this.zb.i;k.next();){var l=k.value;l instanceof V?e++:l instanceof T?d++:l instanceof W?f++:l instanceof mh?h++:c++}k="";0=d.count)a=d.count;else if(d.fa(a)===b)return-1;d.Md(a,b);b.Tt(c);d=this.g;null!==d&&(c?d.oa():d.Wp(b));kl(this,a,b);return a}; +g.mf=function(a,b,c){if(!c&&b.layer!==this&&null!==b.layer)return b.layer.mf(a,b,c);var d=this.zb;if(0>a||a>=d.length){if(a=d.indexOf(b),0>a)return-1}else if(d.fa(a)!==b&&(a=d.indexOf(b),0>a))return-1;b.Ut(c);d.$c(a);d=this.g;null!==d&&(c?d.oa():d.mf(b));b.Mv=null;return a}; +function kl(a,b,c){b=ll(a,b,c);if(c instanceof V&&null!==c&&isNaN(c.ao)){if(0!==c.Pc.count){for(var d=-1,e=a.zb.n,f=e.length,h=0;hd&&k.La===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 f=b-1,h=NaN;0<=f;){h=a.fa(f).ao;if(!isNaN(h))break;f--}for(var k=b+1,l=NaN;kd)for(;;){if(-1===f||h<=d){f++;if(f===b)break;a.$c(b);a.Md(f,c);return f}for(h=NaN;0<=--f&&(h=a.fa(f).ao,isNaN(h)););}else if(!isNaN(l)&&l=d){k--;if(k===b)break;a.$c(b);a.Md(k,c);return k}for(l=NaN;++ka||1e[1]&&(v.trace("Warning: You have entered a license key for GoJS version 1.7 or later, but this library is version "+ +v.vfo+". This license key will do nothing until you upgrade to GoJS 1.7 or later."),v.Ww.licenseKey=!0);this.jl=1;this.Em=0;this.NC=new y;this.JD=500;this.Zu=new y;this.Us=null;this.Vc=this.gl=!1}v.ga("Diagram",E); +E.prototype.clear=E.prototype.clear=function(){var a=null;null!==this.qd&&(a=this.qd.V);this.ca.clear();for(var b=this.ac.length,c=0;c=a)return b;for(var c=this.ac.i;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.Z instanceof E?b.Z:null}; +v.defineProperty(E,{ij:"div"},function(){return this.Nb},function(a){null!==a&&v.F(a,HTMLDivElement,E,"div");if(this.Nb!==a){nl=[];var b=this.Nb;null!==b?(b.Z=void 0,b.innerHTML="",null!==this.Eb&&(this.Eb.removeEventListener("touchstart",this.hG,!1),this.Eb.removeEventListener("touchmove",this.gG,!1),this.Eb.removeEventListener("touchend",this.fG,!1),this.Eb.td.Z=null),b=this.$a,null!==b&&(b.cf.each(function(a){a.cancelWaitAfter()}),b.Zf.each(function(a){a.cancelWaitAfter()}),b.$f.each(function(a){a.cancelWaitAfter()})), +b.cancelWaitAfter(),this.Ya.doCancel(),this.uf=this.Eb=null,window.removeEventListener("resize",this.qG,!1),window.removeEventListener("mousemove",this.fq,!0),window.removeEventListener("mousedown",this.eq,!0),window.removeEventListener("mouseup",this.hq,!0),window.removeEventListener("mousewheel",this.zh,!0),window.removeEventListener("DOMMouseScroll",this.zh,!0),window.removeEventListener("mouseout",this.gq,!0)):this.dh=!1;this.Nb=null;if(null!==a){if(b=a.Z)b.ij=null;zl(this,a);this.Mx()}}}); +function Cl(a){var b=a.Eb;b.addEventListener("touchstart",a.hG,!1);b.addEventListener("touchmove",a.gG,!1);b.addEventListener("touchend",a.fG,!1);b.addEventListener("mousemove",a.fq,!1);b.addEventListener("mousedown",a.eq,!1);b.addEventListener("mouseup",a.hq,!1);b.addEventListener("mousewheel",a.zh,!1);b.addEventListener("DOMMouseScroll",a.zh,!1);b.addEventListener("mouseout",a.gq,!1);b.addEventListener("keydown",a.vI,!1);b.addEventListener("keyup",a.wI,!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.$a.Tp===uk&&b.preventDefault()},!1);b.addEventListener("pointerdown",a.aJ,!1);b.addEventListener("pointermove",a.cJ,!1);b.addEventListener("pointerleave",a.bJ,!1);window.addEventListener("resize",a.qG,!1)}E.prototype.computePixelRatio=function(){return null!==this.hk?this.hk:this.EG};E.prototype.doMouseMove=function(){this.Ya.doMouseMove()}; +E.prototype.doMouseDown=function(){this.Ya.doMouseDown()};E.prototype.doMouseUp=function(){this.Ya.doMouseUp()};E.prototype.doMouseWheel=function(){this.Ya.doMouseWheel()};E.prototype.doKeyDown=function(){this.Ya.doKeyDown()};E.prototype.doKeyUp=function(){this.Ya.doKeyUp()};E.prototype.doFocus=function(){this.focus()};E.prototype.focus=E.prototype.focus=function(){this.Eb&&this.Eb.focus()}; +function Bk(a){if(null!==a.Eb){var b=a.Nb;if(0!==b.clientWidth&&0!==b.clientHeight){var c=a.cl?a.Fd:0,d=a.Pj?a.Fd:0,e=a.Cd;a.Cd=a.computePixelRatio();a.Cd!==e&&(a.Er=!0,a.Me());if(b.clientWidth!==a.Ib+c||b.clientHeight!==a.Mb+d)a.ym=!0,a.De=!0,b=a.Rb,null!==b&&b.wx&&a.Dl===Dh&&b.J(),a.Xd||a.Me()}}} +function wl(a){var b=new qg;b.name="Background";a.pt(b);b=new qg;b.name="";a.pt(b);b=new qg;b.name="Foreground";a.pt(b);b=new qg;b.name="Adornment";b.Mc=!0;a.pt(b);b=new qg;b.name="Tool";b.Mc=!0;b.WE=!0;a.pt(b);b=new qg;b.name="Grid";b.vf=!1;b.Qg=!1;b.Mc=!0;a.YG(b,a.Ht("Background"))} +function Dl(a){a.qd=new D(El);a.qd.name="GRID";var b=new X;b.Cb="LineH";b.stroke="lightgray";b.fb=.5;b.interval=1;a.qd.add(b);b=new X;b.Cb="LineH";b.stroke="gray";b.fb=.5;b.interval=5;a.qd.add(b);b=new X;b.Cb="LineH";b.stroke="gray";b.fb=1;b.interval=10;a.qd.add(b);b=new X;b.Cb="LineV";b.stroke="lightgray";b.fb=.5;b.interval=1;a.qd.add(b);b=new X;b.Cb="LineV";b.stroke="gray";b.fb=.5;b.interval=5;a.qd.add(b);b=new X;b.Cb="LineV";b.stroke="gray";b.fb=1;b.interval=10;a.qd.add(b);b=new S;b.add(a.qd); +b.Xf="Grid";b.ao=0;b.qA=!1;b.VE=!1;b.Qg=!1;b.uA="GRID";a.add(b);a.zb.remove(b);a.qd.visible=!1}E.prototype.GG=function(){this.Z.isEnabled?this.Z.GH(this):Fl(this.Z)};E.prototype.YC=function(a){this.Z.isEnabled?(this.Z.pz=!0,this.Z.rz=a.target.scrollTop,this.Z.qz=a.target.scrollLeft):Fl(this.Z)}; +E.prototype.diagramScroll=E.prototype.GH=function(a){if(this.pz&&null!==this.Eb){this.kw=!0;var b=this.se,c=this.tb,d=b.width,e=c.width,f=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.Ir)switch(this.nz){case "negative":s=s+a.scrollWidth-a.clientWidth;break;case "reverse":s=a.scrollWidth-s-a.clientWidth}var u=s;el&&(this.position=s.l(-(this.ow.scrollWidth-this.Ib)+u-this.Ib/r+k,this.position.y))),a.LG&&this.pe&&(bn&&(this.position=s.l(this.position.x,-(this.ow.scrollHeight-this.Mb)+a.scrollTop-this.Mb/r+m))),v.v(s),Gl(this),this.ym=this.kw=!1,b=this.se,c=this.tb,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.Ls.style.width="1px"),h>=f&&b>=c&&m<=n&&(this.Ls.style.height="1px"))}};E.prototype.computeBounds=E.prototype.rh=function(){0c&&(e=c),ea.wh&&(e=a.wh),e):b===Nl?(e=l>k?(h-a.Fd)/d:(f-a.Fd)/e,e>c&&(e=c),ea.wh&&(e=a.wh),e):a.scale}E.prototype.zoomToFit=E.prototype.zoomToFit=function(){this.scale=Jl(this,Ml)}; +E.prototype.zoomToRect=function(a,b){void 0===b&&(b=Ml);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Ml||b===Nl)if(isNaN(c))e=this.tb.height*this.scale/d;else if(isNaN(d))e=this.tb.width*this.scale/c;else var e=this.Ib,f=this.Mb,e=b===Nl?f/d>e/c?(f-(this.Pj?this.Fd:0))/d:(e-(this.cl?this.Fd:0))/c:Math.min(f/d,e/c);this.scale=e;this.position=new y(a.x,a.y)}};v.defineProperty(E,{oA:null},function(){return this.Vc},function(a){this.Vc=a}); +E.prototype.alignDocument=function(a,b){this.Qj&&Ll(this,this.rh());var c=this.se,d=this.tb;this.position=new y(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 Kl(a,b,c,d,e,f,h){var k=b.x,l=b.y;if(h||a.SA===ol)f.jd()&&(d>c.width&&(k=c.x+(f.x*c.width+f.offsetX)-(f.x*d-f.offsetX)),e>c.height&&(l=c.y+(f.y*c.height+f.offsetY)-(f.y*e-f.offsetY))),f=a.MF,h=d-c.width,dc.left?k=c.left:kc.top?l=c.top:lb.touches.length)&&b.preventDefault();b.cancelBubble=!0;return!1} +E.prototype.vI=function(a){if(!this.Z.isEnabled)return!1;var b=this.Z.Pb;Ol(this.Z,this.Z,a,b,!1);b.key=String.fromCharCode(a.which);b.Ll=!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.Z.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?Sl(b,a):(a.cancelBubble=!0,a.preventDefault(),a.stopPropagation(),!1)}; +E.prototype.wI=function(a){if(!this.Z.isEnabled)return!1;var b=this.Z.Pb;Ol(this.Z,this.Z,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.Z.doKeyUp(); +return Sl(b,a)};E.prototype.wr=function(a){var b=this.Eb;if(null===b)return new y(0,0);var c=this.Ib,d=this.Mb,b=b.getBoundingClientRect(),c=a.clientX-c/b.width*b.left;a=a.clientY-d/b.height*b.top;return null!==this.fd?(a=new y(c,a),Ra(a,this.fd),a):new y(c,a)};function Pl(a,b,c){var d=a.Eb,e=a.Ib,f=a.Mb,h=0,k=0;null!==d&&(d=d.getBoundingClientRect(),h=b.clientX-e/d.width*d.left,k=b.clientY-f/d.height*d.top);c.ef.l(h,k);null!==a.fd?(b=v.xb(h,k),a.fd.ki(b),c.da.assign(b),v.v(b)):c.da.l(h,k)} +function qf(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.Xi[0])e=a.Xi[c];else return;c=a.Eb;b=a.Ib;a=a.Mb;var f=0,h=0;null!==c&&null!==e&&(c=c.getBoundingClientRect(),f=e.clientX-b/c.width*c.left,h=e.clientY-a/c.height*c.top);d.l(f,h)}E.prototype.invalidateDocumentBounds=E.prototype.tc=function(){this.Qj||(this.Qj=!0,this.Me(!0))};function al(a){a.Xd||zi(a);a.Qj&&Ll(a,a.rh())} +E.prototype.redraw=E.prototype.Mx=function(){this.Vc||this.Xd||(this.oa(),Tl(this),Gl(this),this.tc(),this.Yf())};E.prototype.isUpdateRequested=function(){return this.Nf};E.prototype.delayInitialization=function(a){void 0===a&&(a=null);var b=this.Qa,c=b.isEnabled;b.oi();b.isEnabled=!1;Ji(this);this.dh=!1;b.isEnabled=c;null!==a&&v.setTimeout(a,1)}; +E.prototype.requestUpdate=E.prototype.Me=function(a){void 0===a&&(a=!1);if(!0!==this.Nf&&!(this.Vc||!1===a&&this.Xd)){this.Nf=!0;var b=this;requestAnimationFrame(function(){b.Nf&&b.Yf()})}};E.prototype.maybeUpdate=E.prototype.Yf=function(){if(!this.Do||this.Nf)this.Do&&(this.Do=!1),Ji(this)};function Ul(a,b){a.Qa.nf||a.Vc||!a.ym||Fl(a)||(b&&zi(a),Il(a,!1))} +function Ji(a){if(!a.Xd&&(a.Nf=!1,null!==a.Nb)){a.Xd=!0;var b=a.Qa,c=a.mz;if(!b.Oo&&0!==c.length){for(var d=c.n,e=d.length,f=0;fb;b++){var c=a.pg.i;if(null===c||0===a.pg.count)break;a.pg=new J(G);a.nB(c,a.pg)}a.dg.each(function(a){a instanceof V&&0!==(a.za&65536)!==!1&&(a.za^=65536)})}} +E.prototype.nB=function(a,b){for(a.reset();a.next();){var c=a.value;!c.ee()||c instanceof V||(c.Wl()?(sk(c,Infinity,Infinity),c.jc()):b.add(c))}for(a.reset();a.next();)c=a.value,c instanceof V&&c.isVisible()&&am(this,c);for(a.reset();a.next();)c=a.value,c instanceof W&&c.isVisible()&&(c.Wl()?(sk(c,Infinity,Infinity),c.jc()):b.add(c));for(a.reset();a.next();)c=a.value,c instanceof mh&&c.isVisible()&&(c.Wl()?(sk(c,Infinity,Infinity),c.jc()):b.add(c))}; +function am(a,b){for(var c=v.lb(),d=v.lb(),e=b.Pc;e.next();){var f=e.value;f.isVisible()&&(f instanceof V?(tm(f)||um(f)||vm(f))&&am(a,f):f instanceof W?f.W===b||f.aa===b?d.push(f):c.push(f):(sk(f,Infinity,Infinity),f.jc()))}for(var e=c.length,h=0;hx+1&& +(H=Math.max((t-x)*c+a.Ib,H)),q+k+1p+1&&(C=Math.max((A-p)*c+a.Mb,C)),r+l+1x+1&&(H=Math.max((t-x)*c+a.Ib,H)),q+1p+1&&(C=Math.max((A-p)*c+l,C)),r+1x+1&&(k=a.position.x*c));if(a.Ir)switch(a.nz){case "negative":k=-(b.scrollWidth-k-b.clientWidth);break;case "reverse":k=b.scrollWidth-k-b.clientWidth}b.scrollLeft=k;a.lA&&a.pe&&(r+1p+1&&(b.scrollTop=a.position.y*c));h&&(a.Er=!0);m=a.Ib;n=a.Mb;b.style.width=m+(a.cl?a.Fd:0)+"px";b.style.height=n+(a.Pj?a.Fd:0)+"px";a.pz=!1;return d!==m||e!== +n||a.Qa.rc?(p=a.tb,a.qu(f,p,c,a.scale,h),!1):!0} +E.prototype.add=E.prototype.add=function(a){v.F(a,S,E,"add:part");var b=a.g;if(b!==this){null!==b&&v.k("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.Fq&&(a.kl="Tool");var c=a.Xf,b=this.Ht(c);null===b&&(b=this.Ht(""));null===b&&v.k('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.Wp(99999999,a,a.g===this),0<=c&&this.Zc(Nf,"parts",b,null,a,null,c),b.Mc||this.tc(),a.J(Cm),c=a.zx,null!== c&&c(a,null,b))}}; -E.prototype.cp=function(a){if(a instanceof S){if(this.jo.add(a),a instanceof V){var b=a.Sa;null===b?this.Wk.add(a):b.fo.add(a);b=a.Pb;null!==b&&(b.g=this)}}else a instanceof W?this.ao.add(a):a instanceof Vg||this.wb.add(a);var c=this;ol(a,function(a){pl(c,a)});a.Gb&&a.N();b=a.data;null!==b&&(a instanceof Vg||(a instanceof W?this.xk.add(b,a):this.li.add(b,a)),ol(a,function(a){ql(c,a)}));!0!==fl(a)&&!0!==gl(a)||this.fg.add(a);rl(a,!0,this);sl(a)?(a.U.G()&&this.pa(dk(a,a.U)),this.qc()):a.isVisible()&& -a.U.G()&&this.pa(dk(a,a.U));this.ue()}; -E.prototype.Ne=function(a){a.Vs();if(a instanceof S){if(this.jo.remove(a),a instanceof V){var b=a.Sa;null===b?this.Wk.remove(a):b.fo.remove(a);b=a.Pb;null!==b&&(b.g=null)}}else a instanceof W?this.ao.remove(a):a instanceof Vg||this.wb.remove(a);var c=this;ol(a,function(a){tl(c,a)});b=a.data;null!==b&&(a instanceof Vg||(a instanceof W?this.xk.remove(b):this.li.remove(b)),ol(a,function(a){ul(c,a)}));this.fg.remove(a);sl(a)?(a.U.G()&&this.pa(dk(a,a.U)),this.qc()):a.isVisible()&&a.U.G()&&this.pa(dk(a, -a.U));this.ue()};E.prototype.remove=E.prototype.remove=function(a){v.A(a,R,E,"remove:part");a.hb=!1;a.hh=!1;var b=a.layer;if(null!==b&&b.g===this){a.H(vl);a.Jm();var c=b.Ne(-1,a,!1);0<=c&&this.Lc(Df,"parts",b,a,null,c,null);c=a.zt;null!==c&&c(a,b,null)}};E.prototype.removeParts=E.prototype.fA=function(a,b){if(v.isArray(a))for(var c=v.Va(a),d=0;dd&&this.qc()}; -E.prototype.addLayerAfter=function(a,b){wl(this,a,b);a.Mc(this);var c=this.Yb,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.Vd&&this.Lc(Df,"layers",this,a,null,d,null));for(var e=c.count,f=0;fd&&this.qc()}; -E.prototype.removeLayer=function(a){v.A(a,Wf,E,"removeLayer:layer");a.g!==this&&v.k("Cannot remove a Layer from another Diagram: "+a+" of "+a.g);if(""!==a.name){var b=this.Yb,c=b.indexOf(a);if(b.remove(a)){for(b=a.wb.copy().i;b.next();){var d=b.value,e=d.Tf;d.Tf=e!==a.name?e:""}null!==this.Vd&&this.Lc(Df,"layers",this,a,null,c,null);this.pa();this.qc()}}};E.prototype.findLayer=E.prototype.et=function(a){for(var b=this.Pw;b.next();){var c=b.value;if(c.name===a)return c}return null}; -E.prototype.addModelChangedListener=E.prototype.dG=function(a){v.j(a,"function",E,"addModelChangedListener:listener");null===this.Sg&&(this.Sg=new I("function"));this.Sg.add(a);this.ba.wm(a)};E.prototype.removeModelChangedListener=function(a){v.j(a,"function",E,"removeModelChangedListener:listener");null!==this.Sg&&(this.Sg.remove(a),0===this.Sg.count&&(this.Sg=null));this.ba.Ot(a)}; -E.prototype.addChangedListener=E.prototype.wm=function(a){v.j(a,"function",E,"addChangedListener:listener");null===this.fi&&(this.fi=new I("function"));this.fi.add(a)};E.prototype.removeChangedListener=E.prototype.Ot=function(a){v.j(a,"function",E,"removeChangedListener:listener");null!==this.fi&&(this.fi.remove(a),0===this.fi.count&&(this.fi=null))}; -E.prototype.nw=function(a){this.tb||this.la.VD(a);a.wc!==Bf&&(this.Zh=!0);if(null!==this.fi){var b=this.fi,c=b.length;if(1===c)b=b.da(0),b(a);else if(0!==c)for(var d=b.cc(),e=0;ea.ih&&(c=a.ih);e=v.Mb(a.kb.x+h/b-h/c,a.kb.y+k/b-k/c);a.position=e;v.v(e);a.Tb=c;a.Lt(d,a.rb);a.Pc=!1;Dk(a,!1);c= -a.Na;c.pc&&Yj(c,b,a.Tb);a.pa();Ok(a)}}E.prototype.Lt=function(a,b,c){if(!a.K(b)){void 0===c&&(c=!1);c||Ok(this);Ak(this);var d=this.Pb;null===d||!d.Mw||this.cl!==$g||c||a.width===b.width&&a.height===b.height||d.H();d=this.Wa;!0===this.Tl&&d instanceof Hg&&(this.O.ca=this.pF(this.O.jf),Gj(d,this));this.Pc||this.ZD(a,b);Sk(this);this.Ba("ViewportBoundsChanged",c?v.hj:null,a)}}; -function Sk(a,b){void 0===b&&(b=null);var c=a.hd;if(null!==c&&c.visible){for(var d=v.Fl(),e=1,f=1,h=c.ya.n,k=h.length,l=0;ln||(yl(m.Ab)?f=f*n/te(f,n):e=e*n/te(e,n))}h=c.Fw;d.m(f*h.width,e*h.height);h=f=l=k=0;if(null!==b)k=b.width,l=b.height,f=b.x,h=b.y;else{e=v.ag();f=a.rb;e.m(f.x,f.y,f.width,f.height);for(h=a.Cv.i;h.next();)f=h.value.rb,f.G()&&$a(e,f.x,f.y,f.width,f.height);if(!e.G()){v.Vb(e);return}k=e.width;l=e.height;f=e.x;h=e.y;v.Vb(e)}c.width=k+2*d.width;c.height= -l+2*d.height;e=v.L();Pa(f,h,0,0,d.width,d.height,e);e.offset(-d.width,-d.height);v.$j(d);c.Y.location=e;v.v(e)}}E.prototype.clearSelection=E.prototype.ow=function(){var a=0a&&v.va(a,">= 0",E,"scrollHorizontalLineChange"),this.Mv=a,this.h("scrollHorizontalLineChange",b,a))}); -v.defineProperty(E,{Ut:"scrollVerticalLineChange"},function(){return this.Qv},function(a){var b=this.Qv;b!==a&&(v.j(a,"number",E,"scrollVerticalLineChange"),0>a&&v.va(a,">= 0",E,"scrollVerticalLineChange"),this.Qv=a,this.h("scrollVerticalLineChange",b,a))});v.defineProperty(E,{O:"lastInput"},function(){return this.Nb},function(a){this.Nb=a});v.defineProperty(E,{yc:"firstInput"},function(){return this.ri},function(a){this.ri=a}); -v.defineProperty(E,{$b:"currentCursor"},function(){return this.Gu},function(a){""===a&&(a=this.tq);this.Gu!==a&&(v.j(a,"string",E,"currentCursor"),null!==this.zb&&(this.Gu=a,this.zb.style.cursor=a,this.Kb.style.cursor=a))});v.defineProperty(E,{CJ:"defaultCursor"},function(){return this.tq},function(a){""===a&&(a="auto");var b=this.tq;b!==a&&(v.j(a,"string",E,"defaultCursor"),this.tq=a,this.h("defaultCursor",b,a))}); -v.defineProperty(E,{click:"click"},function(){return this.gi},function(a){var b=this.gi;b!==a&&(null!==a&&v.j(a,"function",E,"click"),this.gi=a,this.h("click",b,a))});v.defineProperty(E,{at:"doubleClick"},function(){return this.pi},function(a){var b=this.pi;b!==a&&(null!==a&&v.j(a,"function",E,"doubleClick"),this.pi=a,this.h("doubleClick",b,a))}); -v.defineProperty(E,{fz:"contextClick"},function(){return this.ji},function(a){var b=this.ji;b!==a&&(null!==a&&v.j(a,"function",E,"contextClick"),this.ji=a,this.h("contextClick",b,a))});v.defineProperty(E,{Sz:"mouseOver"},function(){return this.Ci},function(a){var b=this.Ci;b!==a&&(null!==a&&v.j(a,"function",E,"mouseOver"),this.Ci=a,this.h("mouseOver",b,a))}); -v.defineProperty(E,{Rz:"mouseHover"},function(){return this.Bi},function(a){var b=this.Bi;b!==a&&(null!==a&&v.j(a,"function",E,"mouseHover"),this.Bi=a,this.h("mouseHover",b,a))});v.defineProperty(E,{Qz:"mouseHold"},function(){return this.Ai},function(a){var b=this.Ai;b!==a&&(null!==a&&v.j(a,"function",E,"mouseHold"),this.Ai=a,this.h("mouseHold",b,a))}); -v.defineProperty(E,{UH:"mouseDragOver"},function(){return this.vv},function(a){var b=this.vv;b!==a&&(null!==a&&v.j(a,"function",E,"mouseDragOver"),this.vv=a,this.h("mouseDragOver",b,a))});v.defineProperty(E,{Pz:"mouseDrop"},function(){return this.zi},function(a){var b=this.zi;b!==a&&(null!==a&&v.j(a,"function",E,"mouseDrop"),this.zi=a,this.h("mouseDrop",b,a))}); -v.defineProperty(E,{xA:"toolTip"},function(){return this.Ji},function(a){var b=this.Ji;b!==a&&(null!==a&&v.A(a,Vg,E,"toolTip"),this.Ji=a,this.h("toolTip",b,a))});v.defineProperty(E,{contextMenu:"contextMenu"},function(){return this.ki},function(a){var b=this.ki;b!==a&&(null!==a&&v.A(a,Vg,E,"contextMenu"),this.ki=a,this.h("contextMenu",b,a))}); -v.defineProperty(E,{nb:"commandHandler"},function(){return this.Nx},function(a){var b=this.Nx;b!==a&&(v.A(a,Yf,E,"commandHandler"),null!==a.g&&v.k("Cannot share CommandHandlers between Diagrams: "+a.toString()),null!==b&&b.Mc(null),this.Nx=a,a.Mc(this))});v.defineProperty(E,{Za:"toolManager"},function(){return this.Ry},function(a){var b=this.Ry;b!==a&&(v.A(a,Hg,E,"toolManager"),null!==a.g&&v.k("Cannot share ToolManagers between Diagrams: "+a.toString()),null!==b&&b.Mc(null),this.Ry=a,a.Mc(this))}); -v.defineProperty(E,{$s:"defaultTool"},function(){return this.Tx},function(a){var b=this.Tx;b!==a&&(v.A(a,Xf,E,"defaultTool"),this.Tx=a,this.Wa===b&&(this.Wa=a))});v.defineProperty(E,{Wa:"currentTool"},function(){return this.Rx},function(a){var b=this.Rx;null!==b&&(b.qa&&b.doDeactivate(),b.cancelWaitAfter(),b.doStop());null===a&&(a=this.$s);null!==a&&(v.A(a,Xf,E,"currentTool"),this.Rx=a,a.Mc(this),a.doStart())});v.u(E,{selection:"selection"},function(){return this.Sv}); -v.defineProperty(E,{MH:"maxSelectionCount"},function(){return this.rv},function(a){var b=this.rv;if(b!==a)if(v.j(a,"number",E,"maxSelectionCount"),0<=a&&!isNaN(a)){if(this.rv=a,this.h("maxSelectionCount",b,a),!this.la.ib&&(a=this.selection.count-a,0= 0",E,"maxSelectionCount")}); -v.defineProperty(E,{XH:"nodeSelectionAdornmentTemplate"},function(){return this.wv},function(a){var b=this.wv;b!==a&&(v.A(a,Vg,E,"nodeSelectionAdornmentTemplate"),this.wv=a,this.h("nodeSelectionAdornmentTemplate",b,a))});v.defineProperty(E,{cH:"groupSelectionAdornmentTemplate"},function(){return this.Wu},function(a){var b=this.Wu;b!==a&&(v.A(a,Vg,E,"groupSelectionAdornmentTemplate"),this.Wu=a,this.h("groupSelectionAdornmentTemplate",b,a))}); -v.defineProperty(E,{GH:"linkSelectionAdornmentTemplate"},function(){return this.nv},function(a){var b=this.nv;b!==a&&(v.A(a,Vg,E,"linkSelectionAdornmentTemplate"),this.nv=a,this.h("linkSelectionAdornmentTemplate",b,a))});v.u(E,{Om:"highlighteds"},function(){return this.av}); -v.defineProperty(E,{Zh:"isModified"},function(){var a=this.la;return a.isEnabled?null!==a.Qi?!0:this.ty&&this.Pg!==a.Vi:this.ty},function(a){if(this.ty!==a){v.j(a,"boolean",E,"isModified");this.ty=a;var b=this.la;!a&&b.isEnabled&&(this.Pg=b.Vi);a||zl(this)}});function zl(a){var b=a.Zh;a.YC!==b&&(a.YC=b,a.Ba("Modified"))} -v.defineProperty(E,{ba:"model"},function(){return this.Vd},function(a){var b=this.Vd;if(b!==a){v.A(a,F,E,"model");this.Wa.doCancel();null!==b&&b.la!==a.la&&b.la.hE&&v.k("Do not replace a Diagram.model while a transaction is in progress.");this.Na.$h();this.ow();this.Rg=!1;this.Kn=!0;this.Pg=-2;this.Lf=!1;var c=this.Gd;this.Gd=!0;this.Na.Xm("Model");null!==b&&(null!==this.Sg&&this.Sg.each(function(a){b.Ot(a)}),b.Ot(this.fC),b instanceof Q&&Al(this,b.zg),Al(this,b.Yf));this.Vd=a;a.wm(this.eC);Bl(this, -a.Yf);a instanceof Q&&Cl(this,a.zg);a.Ot(this.eC);a.wm(this.fC);null!==this.Sg&&this.Sg.each(function(b){a.wm(b)});this.Gd=c;this.Pc||this.pa();null!==b&&(a.la.isEnabled=b.la.isEnabled)}});v.defineProperty(E,{Ra:null},function(){return this.YB},function(a){this.YB=a});v.u(E,{Rw:null},function(){return this.EF}); -function mk(a,b){if(b.ba===a.ba){var c=b.wc,d=b.propertyName;if(c===Bf&&"S"===d[0])if("StartingFirstTransaction"===d)c=a.Za,c.Pe.each(function(b){b.Mc(a)}),c.Vf.each(function(b){b.Mc(a)}),c.Wf.each(function(b){b.Mc(a)}),a.Gd||a.Rg||(a.Mu=!0,a.Kn&&(a.Lf=!0));else if("StartingUndo"===d||"StartingRedo"===d){var e=a.Na;e.df&&!a.tb&&e.$h();a.Ba("ChangingSelection")}else"StartedTransaction"===d&&(e=a.Na,e.df&&!a.tb&&e.$h());else if(a.Ra){a.Ra=!1;try{var f=b.hf;if(""!==f)if(c===Af){if("linkFromKey"===f){var h= -b.object,k=a.Pf(h);if(null!==k){var l=b.newValue,m=a.Ze(l);k.T=m}}else if("linkToKey"===f)h=b.object,k=a.Pf(h),null!==k&&(l=b.newValue,m=a.Ze(l),k.Z=m);else if("linkFromPortId"===f){if(h=b.object,k=a.Pf(h),null!==k){var n=b.newValue;"string"===typeof n&&(k.xg=n)}}else if("linkToPortId"===f)h=b.object,k=a.Pf(h),null!==k&&(n=b.newValue,"string"===typeof n&&(k.sh=n));else if("nodeGroupKey"===f){var h=b.object,p=a.eh(h);if(null!==p){var q=b.newValue;if(void 0!==q){var r=a.Ze(q);p.Sa=r instanceof V?r: -null}else p.Sa=null}}else if("linkLabelKeys"===f){if(h=b.object,k=a.Pf(h),null!==k){var s=b.oldValue,t=b.newValue;if(v.isArray(s))for(var u=v.Va(s),x=0;xl)){var m=l;Jl(k)&&m++;k.Ne(m);Kl(k,m,l)}}}}function ql(a,b){var c=b.vj;if(v.isArray(c)){var d=a.Wl.ja(c);if(null===d)d=[],d.push(b),a.Wl.add(c,d);else{for(c=0;cthis.scale&&(this.scale=a)):v.va(a,"> 0",E,"minScale"))}); -v.defineProperty(E,{ih:"maxScale"},function(){return this.qv},function(a){v.We(a,E,"maxScale");var b=this.qv;b!==a&&(0 0",E,"maxScale"))});v.defineProperty(E,{Il:"zoomPoint"},function(){return this.ew},function(a){this.ew.K(a)||(v.A(a,z,E,"zoomPoint"),this.ew=a=a.S())}); -v.defineProperty(E,{uD:"contentAlignment"},function(){return this.tn},function(a){var b=this.tn;b.K(a)||(v.A(a,L,E,"contentAlignment"),this.tn=a=a.S(),this.h("contentAlignment",b,a),Dk(this,!1))});v.defineProperty(E,{RJ:"initialContentAlignment"},function(){return this.On},function(a){var b=this.On;b.K(a)||(v.A(a,L,E,"initialContentAlignment"),this.On=a=a.S(),this.h("initialContentAlignment",b,a))}); -v.defineProperty(E,{padding:"padding"},function(){return this.Ue},function(a){"number"===typeof a?a=new cb(a):v.A(a,cb,E,"padding");var b=this.Ue;b.K(a)||(this.Ue=a=a.S(),this.qc(),this.h("padding",b,a))});v.u(E,{Bg:"nodes"},function(){return this.jo.i});v.u(E,{links:"links"},function(){return this.ao.i});v.u(E,{ek:"parts"},function(){return this.wb.i}); -E.prototype.findTopLevelNodesAndLinks=function(){for(var a=new J(R),b=this.jo.i;b.next();){var c=b.value;c.fp&&a.add(c)}for(b=this.ao.i;b.next();)c=b.value,c.fp&&a.add(c);return a.i};E.prototype.findTopLevelGroups=function(){return this.Wk.i};v.defineProperty(E,{Pb:"layout"},function(){return this.Ud},function(a){var b=this.Ud;b!==a&&(v.A(a,Zf,E,"layout"),null!==b&&(b.g=null,b.group=null),this.Ud=a,a.g=this,a.group=null,this.vu=!0,this.h("layout",b,a),this.ue())}); -E.prototype.layoutDiagram=function(a){Bk(this);a&&Pl(this,!0);$k(this,!1)};function Pl(a,b){for(var c=a.Wk.i;c.next();)Xl(a,c.value,b);null!==a.Pb&&(b?a.Pb.wf=!1:a.Pb.H())}function Xl(a,b,c){if(null!==b){for(var d=b.fo.i;d.next();)Xl(a,d.value,c);null!==b.Pb&&(c?b.Pb.wf=!1:b.Pb.H())}} -function $k(a,b){if(!a.Ux){var c=a.Pb,d=a.Ra;a.Ra=!0;try{a.Qb("Layout");var e=a.Na;1!==a.la.th||e.df||e.pc||e.Xm("Layout");for(var f=a.Wk.i;f.next();)Yl(a,f.value,b);c.wf||b&&!c.kE&&1!==a.la.th||(c.doLayout(a),Bk(a),c.wf=!0)}finally{a.wd("Layout"),a.vu=!c.wf,a.Ra=d}}}function Yl(a,b,c){if(null!==b){for(var d=b.fo.i;d.next();)Yl(a,d.value,c);d=b.Pb;null===d||d.wf||c&&!d.kE||(b.Dy=!b.location.G(),d.doLayout(b),b.H(Zl),d.wf=!0,cl(a,b))}} -v.defineProperty(E,{Pd:"isTreePathToChildren"},function(){return this.iv},function(a){var b=this.iv;if(b!==a&&(v.j(a,"boolean",E,"isTreePathToChildren"),this.iv=a,this.h("isTreePathToChildren",b,a),!this.la.ib))for(a=this.Bg;a.next();)$l(a.value)});E.prototype.findTreeRoots=function(){for(var a=new I(S),b=this.Bg;b.next();){var c=b.value;c.fp&&null===c.Vo()&&a.add(c)}return a.i}; -v.defineProperty(E,{yA:"treeCollapsePolicy"},function(){return this.$v},function(a){var b=this.$v;b!==a&&(v.pb(a,E,E,"treeCollapsePolicy"),this.$v=a,this.h("treeCollapsePolicy",b,a))});v.defineProperty(E,{gh:null},function(){return this.MB},function(a){this.MB=a}); -function jk(a){function b(a){var b=a.toLowerCase(),h=new I("function");c.add(a,h);c.add(b,h);d.add(a,a);d.add(b,a)}var c=new na("string",I),d=new na("string","string");b("AnimationStarting");b("AnimationFinished");b("BackgroundSingleClicked");b("BackgroundDoubleClicked");b("BackgroundContextClicked");b("ClipboardChanged");b("ClipboardPasted");b("DocumentBoundsChanged");b("ExternalObjectsDropped");b("InitialLayoutCompleted");b("LayoutCompleted");b("LinkDrawn");b("LinkRelinked");b("LinkReshaped");b("Modified"); -b("ObjectSingleClicked");b("ObjectDoubleClicked");b("ObjectContextClicked");b("PartCreated");b("PartResized");b("PartRotated");b("SelectionMoved");b("SelectionCopied");b("SelectionDeleting");b("SelectionDeleted");b("SelectionGrouped");b("SelectionUngrouped");b("ChangingSelection");b("ChangedSelection");b("SubGraphCollapsed");b("SubGraphExpanded");b("TextEdited");b("TreeCollapsed");b("TreeExpanded");b("ViewportBoundsChanged");a.Wx=c;a.Vx=d} -function qa(a,b){var c=a.Vx.ja(b);return null!==c?c:a.Vx.ja(b.toLowerCase())}function am(a,b){var c=a.Wx.ja(b);if(null!==c)return c;c=a.Wx.ja(b.toLowerCase());if(null!==c)return c;v.k("Unknown DiagramEvent name: "+b);return null}E.prototype.addDiagramListener=E.prototype.Xy=function(a,b){v.j(a,"string",E,"addDiagramListener:name");v.j(b,"function",E,"addDiagramListener:listener");var c=am(this,a);null!==c&&c.add(b)}; -E.prototype.removeDiagramListener=E.prototype.EE=function(a,b){v.j(a,"string",E,"removeDiagramListener:name");v.j(b,"function",E,"addDiagramListener:listener");var c=am(this,a);null!==c&&c.remove(b)};E.prototype.raiseDiagramEvent=E.prototype.Ba=function(a,b,c){var d=am(this,a),e=new yf;e.g=this;e.name=qa(this,a);void 0!==b&&(e.tA=b);void 0!==c&&(e.Zz=c);a=d.length;if(1===a)d=d.da(0),d(e);else if(0!==a)for(b=d.cc(),c=0;c=d.top&&0>=d.left&&0>=d.right&&0>=d.bottom)return c;var e=a.rb,f=a.scale,e=v.hk(0,0,e.width*f,e.height*f),h=v.Mb(0,0);if(b.x>=e.x&&b.xe.x+e.width-d.right&&(k=Math.max(a.Tt,1),k|=0,h.x+=k,b.x>e.x+e.width-d.right/2&&(h.x+=k),b.x>e.x+e.width-d.right/4&&(h.x+=4*k));b.y>=e.y&&b.ye.y+e.height-d.bottom&&(k=Math.max(a.Ut,1),k|=0,h.y+=k,b.y>e.y+e.height-d.bottom/2&&(h.y+=k),b.y>e.y+e.height-d.bottom/4&&(h.y+=4*k));h.Fc(ad)||(c=new z(c.x+h.x/f,c.y+h.y/f));v.Vb(e);v.v(h);return c}E.prototype.makeSVG=E.prototype.makeSvg=function(a){void 0===a&&(a=new ta);a.context="svg";a=jm(this,a);return null!==a?a.Dl:null}; -E.prototype.makeImage=function(a){void 0===a&&(a=new ta);var b=(a.document||document).createElement("img");b.src=this.HH(a);return b};E.prototype.makeImageData=E.prototype.HH=function(a){void 0===a&&(a=new ta);var b=jm(this,a);return null!==b?b.toDataURL(a.type,a.details):""};var km=!1; -function jm(a,b){a.Na.$h();a.Uf();if(null===a.zb)return null;"object"!==typeof b&&v.k("properties argument must be an Object.");var c=!1,d=b.size||null,e=b.scale||null;void 0!==b.scale&&isNaN(b.scale)&&(e="NaN");var f=b.maxSize;void 0===b.maxSize&&(c=!0,f="svg"===b.context?new ia(Infinity,Infinity):new ia(2E3,2E3));var h=b.position||null,k=b.parts||null,l=void 0===b.padding?1:b.padding,m=b.background||null,n=b.omitTemporary;void 0===n&&(n=!0);var p=b.document||document,q=b.elementFinished||null,r= -b.showTemporary;void 0===r&&(r=!n);n=b.showGrid;void 0===n&&(n=r);null!==d&&isNaN(d.width)&&isNaN(d.height)&&(d=null);"number"===typeof l?l=new cb(l):l instanceof cb||(l=new cb(0));l.left=Math.max(l.left,0);l.right=Math.max(l.right,0);l.top=Math.max(l.top,0);l.bottom=Math.max(l.bottom,0);a.Gn=!1;Zc(a.lf,!0);var s=new Rc(null,p),t=s.el,u=s;if(!(d||e||k||h))return s.width=a.Eb+Math.ceil(l.left+l.right),s.height=a.Jb+Math.ceil(l.top+l.bottom),"svg"===b.context&&(t=u=new Cc(s.xd,p,q),t instanceof Cc&& -(a.Gn=!0)),kl(a,t,l,new ia(s.width,s.height),a.Tb,a.kb,k,m,r,n),a.Gn=!0,u;var x=a.nb.uw,w=new z(0,0),y=a.Zd.copy();y.FI(a.padding);if(r)for(var B=!0,B=a.Yb.n,H=B.length,C=0;Cx?(e=x,h=y.width,aa=y.height):(h=f.width,aa=f.height)):(h=y.width*e,aa=y.height*e):(e=x,h=y.width,aa=y.height);null!==l?(h+=ba,aa+=B):l=new cb(0);null!==f&&(d=f.width,f=f.height,"svg"!==b.context&&c&&!km&&(h>d||aa>f)&&(v.trace("Diagram.makeImage(data): Diagram width or height is larger than the default max size. ("+Math.ceil(h)+"x"+Math.ceil(aa)+" vs 2000x2000) Consider increasing the max size."), -km=!0),isNaN(d)&&(d=2E3),isNaN(f)&&(f=2E3),isFinite(d)&&(h=Math.min(h,d)),isFinite(f)&&(aa=Math.min(aa,f)));s.width=Math.ceil(h);s.height=Math.ceil(aa);"svg"===b.context&&(t=u=new Cc(s.xd,p,q),t instanceof Cc&&(a.Gn=!0));kl(a,t,l,new ia(Math.ceil(h),Math.ceil(aa)),e,w,k,m,r,n);a.Gn=!0;return u}E.inherit=function(a,b){v.j(a,"function",E,"inherit");v.j(b,"function",E,"inherit");b.QF&&v.k("Cannot inherit from "+v.af(b));v.Ja(a,b)}; -function sk(){this.TF="63ad05bbe23a1786468a4c741b6d2";this.dg=this.TF===this._tk?!0:null} -sk.prototype.Hl=function(a){a.lf.setTransform(a.rd,0,0,a.rd,0,0);if(null===this.dg)a:{var b="f",c=window[v.ug("76a715b2f73f148a")][v.ug("72ba13b5")];a=v.ug;if(window[a("7da7")]&&window[a("7da7")][a("76a115b6ed251eaf4692")]){this.dg=!0;var d=window[a("7da7")][a("76a115b6ed251eaf4692")],d=a(d).split(a("39e9")),e=a(d[1]).split("."),f=v[a("6cae19")].split(".");if(e[0]>f[0]||e[0]===f[0]&&e[1]>=f[1]){e=c[a("76ad18b4f73e")];for(f=c[a("73a612b6fb191d")](a("35e7"))+2;fc&&a(d[2])!==a("7da71ca0ad381e90")&&(c=b[a("73a612b6fb191d")](a("76a715b2ef3e149757")));0>c&&(c=b[a("73a612b6fb191d")](a("76a715b2ef3e149757")));this.dg=!(0<=c&&cc&&a(v.adym)!==a("7da71ca0ad381e90")&&(c=b[a("73a612b6fb191d")](a("76a715b2ef3e149757")));if(this.dg=!(0<=c&&cb.timeStamp-a.Yl)b.preventDefault();else if(a.Gk)b.preventDefault();else{a.Sc=a.Nb;a.Nb=c;Jk(a,a,b,c,!0);c.kl=!0;c.Ge=b.detail;if(v.eE||v.fE)b.timeStamp-a.Ylb.timeStamp-a.Yl){b.preventDefault();return}a.Yl=b.timeStamp}if(v.Pm&&null!==a.qs)a.qs=null,b.preventDefault();else{a.Sc=a.Nb;a.Nb=c;Jk(a,a,b,c,!0);c.up=!0; -c.Ge=b.detail;if(v.eE||v.fE)c.Ge=a.Jk;c.bubbles=b.bubbles;b.target.W&&(c.Jg=b.target.W);a.$E(b,null,new z,c.Jg)||(a.doMouseUp(),Fh(a),Nk(c,b))}}};a.lh=function(b){if(a.isEnabled){var c=a.Sc;a.Sc=a.Nb;a.Nb=c;Jk(a,a,b,c,!0);c.bubbles=!0;c.il=void 0!==b.wheelDelta?b.wheelDelta:-40*b.detail;a.doMouseWheel();Nk(c,b)}};a.pp=function(){if(a.isEnabled){a.Tl=!1;var b=a.Wa;b.cancelWaitAfter();b instanceof Hg&&b.hideToolTip()}};a.kF=function(b){if(a.isEnabled){a.ys=!1;a.Gk=!0;var c=a.Sc;a.Sc=a.Nb;a.Nb=c;Lk(a, -b,b.targetTouches[0],c,1a.Fv)){var c=a.Jf;c[0].pointerId=== -b.pointerId&&(c[0]=b);c[1].pointerId===b.pointerId&&(c[1]=b);a.isEnabled&&(c=a.Sc,a.Sc=a.Nb,a.Nb=c,Mk(a,b,b,c,!0),a.qx(b,null,c.Jg)||(a.doMouseMove(),Nk(c,b)))}};a.aI=function(b){if("touch"===b.pointerType){var c=a.tC;void 0!==c[b.pointerId]&&(a.Fv--,delete c[b.pointerId],c=a.Jf,null!==c[0]&&c[0].pointerId===b.pointerId&&(c[0]=null),null!==c[1]&&c[1].pointerId===b.pointerId&&(c[1]=null))}};Zc(d,!0);wk(a)} -function lm(a){1a)&&v.va(a,"0 <= loc <= 1",ha,"addColorStop:loc");v.j(b,"string",ha,"addColorStop:color");null===this.Ng&&(this.Ng=new na("number","string"));this.Ng.add(a,b);this.ia===Uf&&(this.type=Vf);this.Og=null}; -v.defineProperty(ha,{type:"type"},function(){return this.ia},function(a){this.D&&v.ka(this,a);v.pb(a,ha,ha,"type");this.ia=a;this.start.se()&&(a===Vf?this.start=sb:a===Yc&&(this.start=zb));this.end.se()&&(a===Vf?this.end=Db:a===Yc&&(this.end=zb));this.Og=null});v.defineProperty(ha,{color:"color"},function(){return this.rn},function(a){this.D&&v.ka(this,a);this.rn=a;this.Og=null}); -v.defineProperty(ha,{start:"start"},function(){return this.to},function(a){this.D&&v.ka(this,a);v.A(a,L,ha,"start");this.to=a.S();this.Og=null});v.defineProperty(ha,{end:"end"},function(){return this.In},function(a){this.D&&v.ka(this,a);v.A(a,L,ha,"end");this.In=a.S();this.Og=null});v.defineProperty(ha,{cu:"startRadius"},function(){return this.Vv},function(a){this.D&&v.ka(this,a);v.We(a,ha,"startRadius");0>a&&v.va(a,">= zero",ha,"startRadius");this.Vv=a;this.Og=null}); -v.defineProperty(ha,{bt:"endRadius"},function(){return this.Ru},function(a){this.D&&v.ka(this,a);v.We(a,ha,"endRadius");0>a&&v.va(a,">= zero",ha,"endRadius");this.Ru=a;this.Og=null});v.defineProperty(ha,{Ys:"colorStops"},function(){return this.Ng},function(a){this.D&&v.ka(this,a);this.Ng=a;this.Og=null});v.defineProperty(ha,{pattern:"pattern"},function(){return this.Ev},function(a){this.D&&v.ka(this,a);this.Ev=a;this.Og=null}); -ha.randomColor=function(a,b){void 0===a&&(a=128);void 0===b&&(b=Math.max(a,255));var c=Math.abs(b-a),d=Math.floor(a+Math.random()*c).toString(16),e=Math.floor(a+Math.random()*c).toString(16),c=Math.floor(a+Math.random()*c).toString(16);2>d.length&&(d="0"+d);2>e.length&&(e="0"+e);2>c.length&&(c="0"+c);return"#"+d+e+c};var sm=(new Rc(null)).el,ga; -ha.isValidColor=ga=function(a){if("black"===a)return!0;if(""===a)return!1;sm.fillStyle="#000000";var b=sm.fillStyle;sm.fillStyle=a;if(sm.fillStyle!==b)return!0;sm.fillStyle="#FFFFFF";b=sm.fillStyle;sm.fillStyle=a;return sm.fillStyle!==b}; -function G(){v.dc(this);this.fa=30723;this.Rc=1;this.Xg=null;this.Ob="";this.nc=this.Ib=null;this.kb=(new z(NaN,NaN)).freeze();this.mf=Ed;this.Dj=pd;this.Bj=Cd;this.ne=new ja;this.Up=new ja;this.Ok=new ja;this.Tb=this.Ou=1;this.Kl=0;this.Qh=tm;this.kr=cd;this.jd=(new A(NaN,NaN,NaN,NaN)).freeze();this.mc=(new A(NaN,NaN,NaN,NaN)).freeze();this.Qc=(new A(0,0,NaN,NaN)).freeze();this.Bs=this.Eq=this.ga=this.Lr=this.Mr=null;this.Cs=this.Fq=Infinity;this.Tp=this.Ae=fc;this.$r=0;this.Gi=1;this.bq=0;this.ii= -1;this.us=null;this.es=-Infinity;this.ds=0;this.fs=ad;this.gs=Gi;this.mq="";this.sc=this.ha=null;this.on=-1;this.im=this.ps=this.hi=this.wk=this.so=null}v.Vh(G);v.ea("GraphObject",G); -G.prototype.cloneProtected=function(a){a.fa=this.fa|6144;a.Rc=this.Rc;a.Ob=this.Ob;a.Ib=this.Ib;a.nc=this.nc;a.kb.assign(this.kb);a.mf=this.mf.S();a.Dj=this.Dj.S();a.Bj=this.Bj.S();a.Ok=this.Ok.copy();a.Tb=this.Tb;a.Kl=this.Kl;a.Qh=this.Qh;a.kr=this.kr.S();a.jd.assign(this.jd);a.mc.assign(this.mc);a.Qc.assign(this.Qc);a.Lr=this.Lr;null!==this.ga&&(a.ga=this.ga.copy());a.Eq=this.Eq;a.Bs=this.Bs;a.Fq=this.Fq;a.Cs=this.Cs;a.Ae=this.Ae.S();a.Tp=this.Tp.S();a.$r=this.$r;a.Gi=this.Gi;a.bq=this.bq;a.ii= -this.ii;a.us=this.us;a.es=this.es;a.ds=this.ds;a.fs=this.fs.S();a.gs=this.gs;a.mq=this.mq;null!==this.ha&&(a.ha=this.ha.copy());a.sc=this.sc;a.on=this.on;null!==this.wk&&(a.wk=v.fl(this.wk));null!==this.hi&&(a.hi=this.hi.copy());a.ps=this.ps};G.prototype.addCopyProperty=G.prototype.aG=function(a){var b=this.wk;if(v.isArray(b))for(var c=0;ck;)k+=f[n++%l],p=!p;q=!1}else k=f[n++%l];k>m&&(k=m);var r=Math.sqrt(k*k/(1+e*e));0>d&&(r=-r);b+=r;c+=e*r;p?a.lineTo(b,c):a.moveTo(b,c);m-=k;p=!p}}G.prototype.raiseChangedEvent=G.prototype.Lc=function(a,b,c,d,e,f,h){var k=this.Y;null!==k&&(k.Ym(a,b,c,d,e,f,h),0!==(this.fa&1024)&&c===this&&a===Af&&Bm(this,k,b))}; -function Bm(a,b,c){var d=a.Uo();if(null!==d)for(var e=a.sc.i;e.next();){var f=e.value,h=null;if(null!==f.bn){h=Dg(f,d,a);if(null===h)continue;f.ux(a,h,c,null)}else if(f.yt){var k=b.g;null===k||k.we||f.ux(a,k.ba.ck,c,k)}else{var l=d.data;if(null===l)continue;k=b.g;null===k||k.we||f.ux(a,l,c,k)}null!==h&&(k=d.Aw(f.El),null!==k&&f.sF(k,h,c))}}G.prototype.Aw=function(a){return this.on===a?this:null};G.prototype.raiseChanged=G.prototype.h=function(a,b,c){this.Lc(Af,a,this,b,c)}; -function Cm(a,b,c,d,e){var f=a.jd,h=a.Ok;h.reset();Dm(a,h,b,c,d,e);a.Ok=h;f.x=b;f.y=c;f.width=d;f.height=e;h.vt()||h.oF(f)}function Em(a,b,c,d){if(!1===a.Hg)return!1;d.multiply(a.transform);return c?a.yg(b,d):a.Em(b,d)} -G.prototype.LD=function(a,b,c){if(!1===this.Hg)return!1;var d=this.Ha;b=a.rf(b);var e=!1;c&&(e=Sa(a.x,a.y,0,0,0,d.height)a&&(a+=360));return a}; -G.prototype.getDocumentScale=G.prototype.Ti=function(){if(0!==(this.fa&4096)===!1)return this.Ou;var a=this.Tb;return null!==this.R?a*this.R.Ti():a};G.prototype.getLocalPoint=G.prototype.QD=function(a,b){void 0===b&&(b=new z);b.assign(a);this.Zg.Xh(b);return b};G.prototype.getNearestIntersectionPoint=G.prototype.RD=function(a,b,c){return this.Zo(a.x,a.y,b.x,b.y,c)};g=G.prototype; -g.Zo=function(a,b,c,d,e){var f=this.transform,h=1/(f.m11*f.m22-f.m12*f.m21),k=f.m22*h,l=-f.m12*h,m=-f.m21*h,n=f.m11*h,p=h*(f.m21*f.dy-f.m22*f.dx),q=h*(f.m12*f.dx-f.m11*f.dy);if(null!==this.zm)return f=this.U,ge(f.left,f.top,f.right,f.bottom,a,b,c,d,e);h=a*k+b*m+p;a=a*l+b*n+q;b=c*k+d*m+p;c=c*l+d*n+q;e.m(0,0);d=this.Ha;c=ge(0,0,d.width,d.height,h,a,b,c,e);e.transform(f);return c}; -function kj(a,b,c,d,e){if(!1!==el(a)){var f=a.margin,h=f.right+f.left,f=f.top+f.bottom;b=Math.max(b-h,0);c=Math.max(c-f,0);e=e||0;d=Math.max((d||0)-h,0);e=Math.max(e-f,0);var h=a.angle,f=0,f=a.za,k=0;a.lb&&(k=a.lb);90===h||270===h?(b=isFinite(f.height)?f.height+k:b,c=isFinite(f.width)?f.width+k:c):(b=isFinite(f.width)?f.width+k:b,c=isFinite(f.height)?f.height+k:c);var f=d||0,k=e||0,l=a instanceof D;switch(Fm(a,!0)){case Si:k=f=0;l&&(c=b=Infinity);break;case He:isFinite(b)&&b>d&&(f=b);isFinite(c)&& -c>e&&(k=c);break;case vm:isFinite(b)&&b>d&&(f=b);k=0;l&&(c=Infinity);break;case um:isFinite(c)&&c>e&&(k=c),f=0,l&&(b=Infinity)}var l=a.xf,m=a.kh;f>l.width&&m.widthl.height&&m.heighta.height||this.Lk.Te>a.width))&&(c=!0);this.fa=c?this.fa|256:this.fa&-257;this.mc.G()|| -v.k("Non-real actualBounds has been set. Object "+this+", actualBounds: "+this.mc.toString());this.Uw(f,this.mc);v.Vb(f)};g.Ni=function(){}; -function Gm(a,b,c,d,e){var f=a.U;f.x=b;f.y=c;f.width=d;f.height=e;if(!a.za.G()){f=a.jd;c=a.margin;b=c.right+c.left;var h=c.top+c.bottom;c=f.width+b;f=f.height+h;d+=b;e+=h;b=Fm(a,!0);c===d&&f===e&&(b=Si);switch(b){case Si:if(c>d||f>e)Qk(a,!0),kj(a,c>d?d:c,f>e?e:f);break;case He:Qk(a,!0);kj(a,d,e,0,0);break;case vm:Qk(a,!0);kj(a,d,f,0,0);break;case um:Qk(a,!0),kj(a,c,e,0,0)}}} -g.Uw=function(a,b){Hm(this,!1);var c=this.Y;if(null!==c&&null!==c.g){var d=this.Y;null!==d&&(d.Wt!==this&&d.LE!==this&&d.OE!==this||Im(d,!0));this.pa();a.K(b)||(c.rl(),this.xv(c))}};g.xv=function(a){null!==this.Rd&&Im(a,!0)};v.defineProperty(G,{Gp:"shadowVisible"},function(){return this.ps},function(a){var b=this.ps;b!==a&&(this.ps=a,this.h("shadowVisible",b,a))}); -G.prototype.Xe=function(a,b){if(this.visible){var c=this.mc;if(0!==c.width&&0!==c.height&&!isNaN(c.x)&&!isNaN(c.y)){var d=this.opacity,e=1;if(1!==d){if(0===d)return;e=a.globalAlpha;a.globalAlpha=e*d}if(a instanceof Cc)a:{if(this.visible){var f=null,h=a.Nw;if(this instanceof D&&(this.type===Jm||this.type===Km))Lm(this,a,b);else{var k=this.mc;if(0!==k.width&&0!==k.height&&!isNaN(k.x)&&!isNaN(k.y)){var l=this.transform,m=this.R;0!==(this.fa&4096)===!0&&Mm(this);var c=0!==(this.fa&256),n=!1;this instanceof -bh&&(a.font=this.font);if(c){n=m.Lg()?m.Ha:m.U;if(null!==this.hi)var p=this.hi,q=p.x,r=p.y,s=p.width,p=p.height;else q=Math.max(k.x,n.x),r=Math.max(k.y,n.y),s=Math.min(k.right,n.right)-q,p=Math.min(k.bottom,n.bottom)-r;if(q>k.width+k.x||k.x>n.width+n.x||r>k.height+k.y||k.y>n.height+n.y)break a;n=!0;Ec(a,1,0,0,1,0,0);a.save();a.beginPath();a.rect(q,r,s,p);a.clip()}q=!1;if(this instanceof R){var t=this,q=!0;if(!t.isVisible())break a}a.Ri.ff=[1,0,0,1,0,0];r=!1;q&&this.wl&&b.Ui("drawShadows")&&(s=this.qm, -a.qA(s.x*b.scale*b.rd,s.y*b.scale*b.rd,t.og),a.an(),a.shadowColor=t.pm);t=!1;this.Y&&b.Ui("drawShadows")&&(t=this.Y.wl);!0===this.Gp?(a.an(),!1===r&&t&&(Ec(a,1,0,0,1,0,0),a.Ya(),r=!0)):!1===this.Gp&&a.$m();null!==this.nc&&(Nm(this,a,this.nc,!0,!0),!1===r&&t&&(Ec(a,1,0,0,1,0,0),a.Ya(),r=!0),this.nc instanceof ha&&this.nc.type===Yc?(a.beginPath(),a.rect(k.x,k.y,k.width,k.height),a.vg(this.nc)):a.fillRect(k.x,k.y,k.width,k.height));this instanceof D?Ec(a,l.m11,l.m12,l.m21,l.m22,l.dx,l.dy):a.Ri.ff=[l.m11, -l.m12,l.m21,l.m22,l.dx,l.dy];if(null!==this.Ib){!1===r&&t&&(Ec(a,1,0,0,1,0,0),a.Ya(),r=!0);var p=this.Ha,l=k=0,s=p.width,p=p.height,u=0;this instanceof Y&&(p=this.bb.mb,k=p.x,l=p.y,s=p.width,p=p.height,u=this.Rh);Nm(this,a,this.Ib,!0,!1);this.Ib instanceof ha&&this.Ib.type===Yc?(a.beginPath(),a.rect(k-u/2,l-u/2,s+u,p+u),a.vg(this.Ib)):a.fillRect(k-u/2,l-u/2,s+u,p+u)}t&&(null!==this.Ib||null!==this.nc||null!==m&&0!==(m.fa&512)||null!==m&&(m.type===vk||m.type===Qi)&&m.Ye()!==this)?(Om(this,!0),null=== -this.Gp&&a.$m()):Om(this,!1);this.Yj(a,b);t&&0!==(this.fa&512)===!0&&a.an();q&&t&&a.$m();c&&(a.restore(),n&&a.tf.pop());this instanceof D&&(f=a.tf.pop());!0===r&&a.tf.pop();null!==a.FD&&(null===f&&(h===a.Nw?(Ec(a,1,0,0,1,0,0),f=a.tf.pop()):f=a.Nw),a.FD(this,f))}}}}else{if(this instanceof D&&(this.type===Jm||this.type===Km)){Lm(this,a,b);1!==d&&(a.globalAlpha=e);return}this instanceof W&&this.Tm(!1);f=this.transform;h=this.R;0!==(this.fa&4096)===!0&&Mm(this);m=0!==(this.fa&256);this instanceof bh&& -(a.font=this.font);if(m){n=h.Lg()?h.Ha:h.U;null!==this.hi?(t=this.hi,k=t.x,l=t.y,q=t.width,t=t.height):(k=Math.max(c.x,n.x),l=Math.max(c.y,n.y),q=Math.min(c.right,n.right)-k,t=Math.min(c.bottom,n.bottom)-l);if(k>c.width+c.x||c.x>n.width+n.x||l>c.height+c.y||c.y>n.height+n.y){1!==d&&(a.globalAlpha=e);return}a.save();a.beginPath();a.rect(k,l,q,t);a.clip()}n=!1;if(this instanceof R){n=!0;if(!this.isVisible()){1!==d&&(a.globalAlpha=e);return}this.wl&&b.Ui("drawShadows")&&(k=this.qm,a.qA(k.x*b.scale*b.rd, -k.y*b.scale*b.rd,this.og),a.an(),a.shadowColor=this.pm)}k=!1;this.Y&&b.Ui("drawShadows")&&(k=this.Y.wl);!0===this.Gp?a.an():!1===this.Gp&&a.$m();null!==this.nc&&(Nm(this,a,this.nc,!0,!0),this.nc instanceof ha&&this.nc.type===Yc?(a.beginPath(),a.rect(c.x,c.y,c.width,c.height),a.vg(this.nc)):a.fillRect(c.x,c.y,c.width,c.height));f.vt()||a.transform(f.m11,f.m12,f.m21,f.m22,f.dx,f.dy);null!==this.Ib&&(t=this.Ha,l=c=0,q=t.width,t=t.height,r=0,this instanceof Y&&(t=this.bb.mb,c=t.x,l=t.y,q=t.width,t=t.height, -r=this.Rh),Nm(this,a,this.Ib,!0,!1),this.Ib instanceof ha&&this.Ib.type===Yc?(a.beginPath(),a.rect(c-r/2,l-r/2,q+r,t+r),a.vg(this.Ib)):a.fillRect(c-r/2,l-r/2,q+r,t+r));k&&(null!==this.Ib||null!==this.nc||null!==h&&0!==(h.fa&512)||null!==h&&(h.type===vk||h.type===Qi)&&h.Ye()!==this)?(Om(this,!0),null===this.Gp&&a.$m()):Om(this,!1);this.Yj(a,b);k&&0!==(this.fa&512)===!0&&a.an();n&&k&&a.$m();m?(a.restore(),this instanceof D?Zc(a,!0):Zc(a,!1)):f.vt()||(h=1/(f.m11*f.m22-f.m12*f.m21),a.transform(f.m22* +E.prototype.Wp=function(a){if(a instanceof T){if(this.bp.add(a),a instanceof V){var b=a.La;null===b?this.ul.add(a):b.Zo.add(a);b=a.Rb;null!==b&&(b.g=this)}}else a instanceof W?this.Vo.add(a):a instanceof mh||this.zb.add(a);var c=this;Dm(a,function(a){Em(c,a)});a.Kb&&a.I();b=a.data;null!==b&&(a instanceof mh||(a instanceof W?this.Gj.add(b,a):this.zi.add(b,a)),Dm(a,function(a){Fm(c,a)}));!0!==um(a)&&!0!==vm(a)||this.pg.add(a);Gm(a,!0,this);Hm(a)?(a.Y.H()&&this.oa(jl(a,a.Y)),this.tc()):a.isVisible()&& +a.Y.H()&&this.oa(jl(a,a.Y));this.Me()}; +E.prototype.mf=function(a){a.xt();if(a instanceof T){if(this.bp.remove(a),a instanceof V){var b=a.La;null===b?this.ul.remove(a):b.Zo.remove(a);b=a.Rb;null!==b&&(b.g=null)}}else a instanceof W?this.Vo.remove(a):a instanceof mh||this.zb.remove(a);var c=this;Dm(a,function(a){Im(c,a)});b=a.data;null!==b&&(a instanceof mh||(a instanceof W?this.Gj.remove(b):this.zi.remove(b)),Dm(a,function(a){Jm(c,a)}));this.pg.remove(a);Hm(a)?(a.Y.H()&&this.oa(jl(a,a.Y)),this.tc()):a.isVisible()&&a.Y.H()&&this.oa(jl(a, +a.Y));this.Me()};E.prototype.remove=E.prototype.remove=function(a){v.F(a,S,E,"remove:part");Km(this,a,!0)};function Km(a,b,c){var d=b.layer;null!==d&&d.g===a&&(b.cb=!1,b.Kg=!1,b.J(Lm),c&&b.tn(),c=d.mf(-1,b,!1),0<=c&&a.Zc(Of,"parts",d,b,null,c,null),a=b.zx,null!==a&&a(b,d,null))} +E.prototype.removeParts=E.prototype.PA=function(a,b){if(v.isArray(a))for(var c=v.Xa(a),d=0;dd&&this.tc()}; +E.prototype.addLayerAfter=function(a,b){Mm(this,a,b);a.Sc(this);var c=this.ac,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.me&&this.Zc(Of,"layers",this,a,null,d,null));for(var e=c.count,f=0;fd&&this.tc()}; +E.prototype.removeLayer=function(a){v.F(a,qg,E,"removeLayer:layer");a.g!==this&&v.k("Cannot remove a Layer from another Diagram: "+a+" of "+a.g);if(""!==a.name){var b=this.ac,c=b.indexOf(a);if(b.remove(a)){for(b=a.zb.copy().i;b.next();){var d=b.value,e=d.Xf;d.Xf=e!==a.name?e:""}null!==this.me&&this.Zc(Of,"layers",this,a,null,c,null);this.oa();this.tc()}}};E.prototype.findLayer=E.prototype.Ht=function(a){for(var b=this.Ax;b.next();){var c=b.value;if(c.name===a)return c}return null}; +E.prototype.addModelChangedListener=E.prototype.$G=function(a){v.j(a,"function",E,"addModelChangedListener:listener");null===this.fh&&(this.fh=new I("function"));this.fh.add(a);this.ca.fn(a)};E.prototype.removeModelChangedListener=function(a){v.j(a,"function",E,"removeModelChangedListener:listener");null!==this.fh&&(this.fh.remove(a),0===this.fh.count&&(this.fh=null));this.ca.tu(a)}; +E.prototype.addChangedListener=E.prototype.fn=function(a){v.j(a,"function",E,"addChangedListener:listener");null===this.ui&&(this.ui=new I("function"));this.ui.add(a)};E.prototype.removeChangedListener=E.prototype.tu=function(a){v.j(a,"function",E,"removeChangedListener:listener");null!==this.ui&&(this.ui.remove(a),0===this.ui.count&&(this.ui=null))}; +E.prototype.Nw=function(a){this.wb||this.pa.PE(a);a.zc!==Mf&&(this.mi=!0);if(null!==this.ui){var b=this.ui,c=b.length;if(1===c)b=b.fa(0),b(a);else if(0!==c)for(var d=b.fc(),e=0;ea.wh&&(c=a.wh);e=v.xb(a.mb.x+h/b-h/c,a.mb.y+k/b-k/c);a.position=e;v.v(e);a.Lb=c;a.qu(d,a.tb,b,c,!1);a.Vc=!1;Il(a, +!1);c=a.Qa;c.rc&&el(c,b,a.Lb);a.oa();Tl(a)}}E.prototype.qu=function(a,b,c,d,e){a.L(b)||(void 0===e&&(e=!1),e||Tl(this),Gl(this),d=this.Rb,null===d||!d.wx||this.Dl!==Dh||e||a.width===b.width&&a.height===b.height||d.J(),d=this.Ya,!0===this.Am&&d instanceof kh&&(this.R.da=this.kB(this.R.ef),wk(d,this)),this.Vc||this.UE(a,b),Wl(this),this.mh.scale=c,this.mh.position.x=a.x,this.mh.position.y=a.y,this.mh.bounds.set(a),this.mh.isScroll=e,this.Ca("ViewportBoundsChanged",this.mh,a))}; +function Wl(a,b){void 0===b&&(b=null);var c=a.qd;if(null!==c&&c.visible){for(var d=v.gm(),e=1,f=1,h=c.xa.n,k=h.length,l=0;ln||(Om(m.Cb)?f=f*n/we(f,n):e=e*n/we(e,n))}h=c.lx;d.l(f*h.width,e*h.height);h=f=l=k=0;if(null!==b)k=b.width,l=b.height,f=b.x,h=b.y;else{e=v.Ef();f=a.tb;e.l(f.x,f.y,f.width,f.height);for(h=a.bw.i;h.next();)f=h.value.tb,f.H()&&kb(e,f.x,f.y,f.width,f.height);if(!e.H()){v.Gb(e);return}k=e.width;l=e.height;f=e.x;h=e.y;v.Gb(e)}c.width=k+2*d.width;c.height= +l+2*d.height;e=v.K();Pa(f,h,0,0,d.width,d.height,e);e.offset(-d.width,-d.height);v.yk(d);c.V.location=e;v.v(e)}}E.prototype.clearSelection=E.prototype.Ow=function(){var a=0a&&v.Fa(a,">= 0",E,"scrollHorizontalLineChange"),this.lw=a,this.h("scrollHorizontalLineChange",b,a))}); +v.defineProperty(E,{zu:"scrollVerticalLineChange"},function(){return this.pw},function(a){var b=this.pw;b!==a&&(v.j(a,"number",E,"scrollVerticalLineChange"),0>a&&v.Fa(a,">= 0",E,"scrollVerticalLineChange"),this.pw=a,this.h("scrollVerticalLineChange",b,a))});v.defineProperty(E,{R:"lastInput"},function(){return this.Pb},function(a){this.Pb=a});v.defineProperty(E,{Bc:"firstInput"},function(){return this.Gi},function(a){this.Gi=a}); +v.defineProperty(E,{cc:"currentCursor"},function(){return this.hv},function(a){""===a&&(a=this.gr);var b=this.hv;if(b!==a){v.j(a,"string",E,"currentCursor");var c=this.Eb,d=this.Nb;null!==c&&(this.hv=a,c.style.cursor=a,d.style.cursor=a,c.style.cursor===b&&(c.style.cursor="-webkit-"+a,d.style.cursor="-webkit-"+a,c.style.cursor===b&&(c.style.cursor="-moz-"+a,d.style.cursor="-moz-"+a,c.style.cursor===b&&(c.style.cursor=a,d.style.cursor=a))))}}); +v.defineProperty(E,{GK:"defaultCursor"},function(){return this.gr},function(a){""===a&&(a="auto");var b=this.gr;b!==a&&(v.j(a,"string",E,"defaultCursor"),this.gr=a,this.h("defaultCursor",b,a))});v.defineProperty(E,{click:"click"},function(){return this.vi},function(a){var b=this.vi;b!==a&&(null!==a&&v.j(a,"function",E,"click"),this.vi=a,this.h("click",b,a))}); +v.defineProperty(E,{Dt:"doubleClick"},function(){return this.Di},function(a){var b=this.Di;b!==a&&(null!==a&&v.j(a,"function",E,"doubleClick"),this.Di=a,this.h("doubleClick",b,a))});v.defineProperty(E,{Oz:"contextClick"},function(){return this.xi},function(a){var b=this.xi;b!==a&&(null!==a&&v.j(a,"function",E,"contextClick"),this.xi=a,this.h("contextClick",b,a))}); +v.defineProperty(E,{DA:"mouseOver"},function(){return this.Ti},function(a){var b=this.Ti;b!==a&&(null!==a&&v.j(a,"function",E,"mouseOver"),this.Ti=a,this.h("mouseOver",b,a))});v.defineProperty(E,{CA:"mouseHover"},function(){return this.Si},function(a){var b=this.Si;b!==a&&(null!==a&&v.j(a,"function",E,"mouseHover"),this.Si=a,this.h("mouseHover",b,a))}); +v.defineProperty(E,{BA:"mouseHold"},function(){return this.Ri},function(a){var b=this.Ri;b!==a&&(null!==a&&v.j(a,"function",E,"mouseHold"),this.Ri=a,this.h("mouseHold",b,a))});v.defineProperty(E,{TI:"mouseDragOver"},function(){return this.Wv},function(a){var b=this.Wv;b!==a&&(null!==a&&v.j(a,"function",E,"mouseDragOver"),this.Wv=a,this.h("mouseDragOver",b,a))}); +v.defineProperty(E,{AA:"mouseDrop"},function(){return this.Qi},function(a){var b=this.Qi;b!==a&&(null!==a&&v.j(a,"function",E,"mouseDrop"),this.Qi=a,this.h("mouseDrop",b,a))});v.defineProperty(E,{jB:"toolTip"},function(){return this.bj},function(a){var b=this.bj;b!==a&&(this.bj=a,this.h("toolTip",b,a))});v.defineProperty(E,{contextMenu:"contextMenu"},function(){return this.yi},function(a){var b=this.yi;b!==a&&(this.yi=a,this.h("contextMenu",b,a))}); +v.defineProperty(E,{pb:"commandHandler"},function(){return this.yy},function(a){var b=this.yy;b!==a&&(v.F(a,sg,E,"commandHandler"),null!==a.g&&v.k("Cannot share CommandHandlers between Diagrams: "+a.toString()),null!==b&&b.Sc(null),this.yy=a,a.Sc(this))});v.defineProperty(E,{$a:"toolManager"},function(){return this.zz},function(a){var b=this.zz;b!==a&&(v.F(a,kh,E,"toolManager"),null!==a.g&&v.k("Cannot share ToolManagers between Diagrams: "+a.toString()),null!==b&&b.Sc(null),this.zz=a,a.Sc(this))}); +v.defineProperty(E,{Bt:"defaultTool"},function(){return this.Ey},function(a){var b=this.Ey;b!==a&&(v.F(a,rg,E,"defaultTool"),this.Ey=a,this.Ya===b&&(this.Ya=a))});v.defineProperty(E,{Ya:"currentTool"},function(){return this.By},function(a){var b=this.By;null!==b&&(b.ta&&b.doDeactivate(),b.cancelWaitAfter(),b.doStop());null===a&&(a=this.Bt);null!==a&&(v.F(a,rg,E,"currentTool"),this.By=a,a.Sc(this),a.doStart())});v.u(E,{selection:"selection"},function(){return this.rw}); +v.defineProperty(E,{JI:"maxSelectionCount"},function(){return this.Sv},function(a){var b=this.Sv;if(b!==a)if(v.j(a,"number",E,"maxSelectionCount"),0<=a&&!isNaN(a)){if(this.Sv=a,this.h("maxSelectionCount",b,a),!this.pa.eb&&(a=this.selection.count-a,0= 0",E,"maxSelectionCount")}); +v.defineProperty(E,{XI:"nodeSelectionAdornmentTemplate"},function(){return this.Xv},function(a){var b=this.Xv;b!==a&&(v.F(a,mh,E,"nodeSelectionAdornmentTemplate"),this.Xv=a,this.h("nodeSelectionAdornmentTemplate",b,a))});v.defineProperty(E,{aI:"groupSelectionAdornmentTemplate"},function(){return this.xv},function(a){var b=this.xv;b!==a&&(v.F(a,mh,E,"groupSelectionAdornmentTemplate"),this.xv=a,this.h("groupSelectionAdornmentTemplate",b,a))}); +v.defineProperty(E,{DI:"linkSelectionAdornmentTemplate"},function(){return this.Ov},function(a){var b=this.Ov;b!==a&&(v.F(a,mh,E,"linkSelectionAdornmentTemplate"),this.Ov=a,this.h("linkSelectionAdornmentTemplate",b,a))});v.u(E,{Sl:"highlighteds"},function(){return this.Bv}); +v.defineProperty(E,{mi:"isModified"},function(){var a=this.pa;return a.isEnabled?null!==a.hj?!0:this.az&&this.bh!==a.mj:this.az},function(a){if(this.az!==a){v.j(a,"boolean",E,"isModified");this.az=a;var b=this.pa;!a&&b.isEnabled&&(this.bh=b.mj);a||Rm(this)}});function Rm(a){var b=a.mi;a.OD!==b&&(a.OD=b,a.Ca("Modified"))} +v.defineProperty(E,{ca:"model"},function(){return this.me},function(a){var b=this.me;if(b!==a){v.F(a,F,E,"model");this.Ya.doCancel();null!==b&&b.pa!==a.pa&&b.pa.bF&&v.k("Do not replace a Diagram.model while a transaction is in progress.");this.Qa.oi();this.Ow();this.dh=!1;this.Do=!0;this.bh=-2;this.Nf=!1;var c=this.Xd;this.Xd=!0;this.Qa.Pn("Model");null!==b&&(null!==this.fh&&this.fh.each(function(a){b.tu(a)}),b.tu(this.UC),b instanceof Q&&Sm(this,b.Lg),Sm(this,b.cg));this.me=a;a.fn(this.TC);Tm(this, +a.cg);a instanceof Q&&Um(this,a.Lg);a.tu(this.TC);a.fn(this.UC);null!==this.fh&&this.fh.each(function(b){a.fn(b)});this.Xd=c;this.Vc||this.oa();null!==b&&(a.pa.isEnabled=b.pa.isEnabled)}});v.defineProperty(E,{Ua:null},function(){return this.LC},function(a){this.LC=a});v.u(E,{Cx:null},function(){return this.AG}); +function sl(a,b){if(b.ca===a.ca){var c=b.zc,d=b.propertyName;if(c===Mf&&"S"===d[0])if("StartingFirstTransaction"===d)c=a.$a,c.cf.each(function(b){b.Sc(a)}),c.Zf.each(function(b){b.Sc(a)}),c.$f.each(function(b){b.Sc(a)}),a.Xd||a.dh||(a.ov=!0,a.Do&&(a.Nf=!0));else if("StartingUndo"===d||"StartingRedo"===d){var e=a.Qa;e.nf&&!a.wb&&e.oi();a.Ca("ChangingSelection")}else"StartedTransaction"===d&&(e=a.Qa,e.nf&&!a.wb&&e.oi());else if(a.Ua){a.Ua=!1;try{var f=b.rf;if(""!==f)if(c===Lf){if("linkFromKey"===f){var h= +b.object,k=a.Rf(h);if(null!==k){var l=b.newValue,m=a.Je(l);k.W=m}}else if("linkToKey"===f)h=b.object,k=a.Rf(h),null!==k&&(l=b.newValue,m=a.Je(l),k.aa=m);else if("linkFromPortId"===f){if(h=b.object,k=a.Rf(h),null!==k){var n=b.newValue;"string"===typeof n&&(k.Ig=n)}}else if("linkToPortId"===f)h=b.object,k=a.Rf(h),null!==k&&(n=b.newValue,"string"===typeof n&&(k.Eh=n));else if("nodeGroupKey"===f){var h=b.object,p=a.uh(h);if(null!==p){var q=b.newValue;if(void 0!==q){var r=a.Je(q);p.La=r instanceof V?r: +null}else p.La=null}}else if("linkLabelKeys"===f){if(h=b.object,k=a.Rf(h),null!==k){var s=b.oldValue,u=b.newValue;if(v.isArray(s))for(var t=v.Xa(s),x=0;xl)){var m=l;an(k)&&m++;k.mf(m);bn(k,m,l)}}}}function Fm(a,b){var c=b.Vj;if(v.isArray(c)){var d=a.Cm.na(c);if(null===d)d=[],d.push(b),a.Cm.add(c,d);else{for(c=0;cthis.scale&&(this.scale=a)):v.Fa(a,"> 0",E,"minScale"))}); +v.defineProperty(E,{wh:"maxScale"},function(){return this.Rv},function(a){v.Zd(a,E,"maxScale");var b=this.Rv;b!==a&&(0 0",E,"maxScale"))});v.defineProperty(E,{jm:"zoomPoint"},function(){return this.Ew},function(a){this.Ew.L(a)||(v.F(a,y,E,"zoomPoint"),this.Ew=a=a.S())}); +v.defineProperty(E,{iE:"contentAlignment"},function(){return this.oo},function(a){var b=this.oo;b.L(a)||(v.F(a,L,E,"contentAlignment"),this.oo=a=a.S(),this.h("contentAlignment",b,a),Il(this,!1))});v.defineProperty(E,{XK:"initialContentAlignment"},function(){return this.Io},function(a){var b=this.Io;b.L(a)||(v.F(a,L,E,"initialContentAlignment"),this.Io=a=a.S(),this.h("initialContentAlignment",b,a))}); +v.defineProperty(E,{padding:"padding"},function(){return this.jf},function(a){"number"===typeof a?a=new mb(a):v.F(a,mb,E,"padding");var b=this.jf;b.L(a)||(this.jf=a=a.S(),this.tc(),this.h("padding",b,a))});v.u(E,{dg:"nodes"},function(){return this.bp.i});v.u(E,{links:"links"},function(){return this.Vo.i});v.u(E,{Gk:"parts"},function(){return this.zb.i}); +E.prototype.findTopLevelNodesAndLinks=function(){for(var a=new J(S),b=this.bp.i;b.next();){var c=b.value;c.Zp&&a.add(c)}for(b=this.Vo.i;b.next();)c=b.value,c.Zp&&a.add(c);return a.i};E.prototype.findTopLevelGroups=function(){return this.ul.i};v.defineProperty(E,{Rb:"layout"},function(){return this.ke},function(a){var b=this.ke;b!==a&&(v.F(a,tg,E,"layout"),null!==b&&(b.g=null,b.group=null),this.ke=a,a.g=this,a.group=null,this.Yu=!0,this.h("layout",b,a),this.Me())}); +E.prototype.layoutDiagram=function(a){zi(this);a&&gn(this,!0);Xl(this,!1)};function gn(a,b){for(var c=a.ul.i;c.next();)pn(a,c.value,b);null!==a.Rb&&(b?a.Rb.Af=!1:a.Rb.J())}function pn(a,b,c){if(null!==b){for(var d=b.Zo.i;d.next();)pn(a,d.value,c);null!==b.Rb&&(c?b.Rb.Af=!1:b.Rb.J())}} +function Xl(a,b){if(!a.Fy){var c=a.Rb,d=a.Ua;a.Ua=!0;try{var e=a.pa.Fh;0===e&&a.Tb("Layout");var f=a.Qa;1!==a.pa.Fh||f.nf||f.rc||b||f.Pn("Layout");for(var h=a.ul.i;h.next();)qn(a,h.value,b);c.Af||b&&!c.fF&&0!==e||(c.doLayout(a),zi(a),c.Af=!0)}finally{0===e&&a.Hd("Layout"),a.Yu=!c.Af,a.Ua=d}}}function qn(a,b,c){if(null!==b){for(var d=b.Zo.i;d.next();)qn(a,d.value,c);d=b.Rb;null===d||d.Af||c&&!d.fF||(b.Mn=!b.location.H(),d.doLayout(b),b.J(rn),d.Af=!0,am(a,b))}} +v.defineProperty(E,{Pd:"isTreePathToChildren"},function(){return this.Kv},function(a){var b=this.Kv;if(b!==a&&(v.j(a,"boolean",E,"isTreePathToChildren"),this.Kv=a,this.h("isTreePathToChildren",b,a),!this.pa.eb))for(a=this.dg;a.next();)sn(a.value)});E.prototype.findTreeRoots=function(){for(var a=new I(T),b=this.dg;b.next();){var c=b.value;c.Zp&&null===c.vn()&&a.add(c)}return a.i}; +v.defineProperty(E,{lB:"treeCollapsePolicy"},function(){return this.zw},function(a){var b=this.zw;b!==a&&(a!==ql&&a!==Pm&&a!==Qm&&v.k("Unknown Diagram.treeCollapsePolicy: "+a),this.zw=a,this.h("treeCollapsePolicy",b,a))});v.defineProperty(E,{vh:null},function(){return this.AC},function(a){this.AC=a}); +function pl(a){function b(a){var b=a.toLowerCase(),h=new I("function");c.add(a,h);c.add(b,h);d.add(a,a);d.add(b,a)}var c=new la("string",I),d=new la("string","string");b("AnimationStarting");b("AnimationFinished");b("BackgroundSingleClicked");b("BackgroundDoubleClicked");b("BackgroundContextClicked");b("ClipboardChanged");b("ClipboardPasted");b("DocumentBoundsChanged");b("ExternalObjectsDropped");b("InitialLayoutCompleted");b("LayoutCompleted");b("LinkDrawn");b("LinkRelinked");b("LinkReshaped");b("Modified"); +b("ObjectSingleClicked");b("ObjectDoubleClicked");b("ObjectContextClicked");b("PartCreated");b("PartResized");b("PartRotated");b("SelectionMoved");b("SelectionCopied");b("SelectionDeleting");b("SelectionDeleted");b("SelectionGrouped");b("SelectionUngrouped");b("ChangingSelection");b("ChangedSelection");b("SubGraphCollapsed");b("SubGraphExpanded");b("TextEdited");b("TreeCollapsed");b("TreeExpanded");b("ViewportBoundsChanged");a.Hy=c;a.Gy=d} +function pa(a,b){var c=a.Gy.na(b);return null!==c?c:a.Gy.na(b.toLowerCase())}function tn(a,b){var c=a.Hy.na(b);if(null!==c)return c;c=a.Hy.na(b.toLowerCase());if(null!==c)return c;v.k("Unknown DiagramEvent name: "+b);return null}E.prototype.addDiagramListener=E.prototype.Fz=function(a,b){v.j(a,"string",E,"addDiagramListener:name");v.j(b,"function",E,"addDiagramListener:listener");var c=tn(this,a);null!==c&&c.add(b)}; +E.prototype.removeDiagramListener=E.prototype.BF=function(a,b){v.j(a,"string",E,"removeDiagramListener:name");v.j(b,"function",E,"addDiagramListener:listener");var c=tn(this,a);null!==c&&c.remove(b)};E.prototype.raiseDiagramEvent=E.prototype.Ca=function(a,b,c){var d=tn(this,a),e=new Jf;e.g=this;e.name=pa(this,a);void 0!==b&&(e.fB=b);void 0!==c&&(e.JA=c);a=d.length;if(1===a)d=d.fa(0),d(e);else if(0!==a)for(b=d.fc(),c=0;c=d.top&&0>=d.left&&0>=d.right&&0>=d.bottom)return c;var e=a.tb,f=a.scale,e=v.Ug(0,0,e.width*f,e.height*f),h=v.xb(0,0);if(b.x>=e.x&&b.xe.x+e.width-d.right&&(k=Math.max(a.yu,1),k|=0,h.x+=k,b.x>e.x+e.width-d.right/2&&(h.x+=k),b.x>e.x+e.width-d.right/4&&(h.x+=4*k));b.y>=e.y&&b.ye.y+e.height-d.bottom&&(k=Math.max(a.zu,1),k|=0,h.y+=k,b.y>e.y+e.height-d.bottom/2&&(h.y+=k),b.y>e.y+e.height-d.bottom/4&&(h.y+=4*k));h.Lc($c)||(c=new y(c.x+h.x/f,c.y+h.y/f));v.Gb(e);v.v(h);return c}E.prototype.makeSvg=E.prototype.makeSVG=function(a){void 0===a&&(a=new ua);a.context="svg";a=Cn(this,a);return null!==a?a.em:null}; +E.prototype.makeImage=function(a){void 0===a&&(a=new ua);var b=(a.document||document).createElement("img");b.src=this.EI(a);return b}; +E.prototype.makeImageData=E.prototype.EI=function(a){void 0===a&&(a=new ua);var b=Cn(this,a);if(null!==b){var c=a.returnType,c=void 0===c?"string":c.toLowerCase();switch(c){case "imagedata":return b.uk.getImageData(0,0,b.width,b.height);case "blob":b=b.td;c=a.callback;if("function"!==typeof c){v.k('Error: Diagram.makeImageData called with "returnType: toBlob", but no "callback" function property defined.');break}if("function"===typeof b.KJ)return b.KJ(c,a.type,a.details),"toBlob";if("function"=== +typeof b.VI)return c(b.VI(a.type,a.details)),"msToBlob";c(null);break;default:return b.toDataURL(a.type,a.details)}}return""};var Dn=!1; +function Cn(a,b){a.Qa.oi();a.Yf();if(null===a.Eb)return null;"object"!==typeof b&&v.k("properties argument must be an Object.");var c=!1,d=b.size||null,e=b.scale||null;void 0!==b.scale&&isNaN(b.scale)&&(e="NaN");var f=b.maxSize;void 0===b.maxSize&&(c=!0,f="svg"===b.context?new ia(Infinity,Infinity):new ia(2E3,2E3));var h=b.position||null,k=b.parts||null,l=void 0===b.padding?1:b.padding,m=b.background||null,n=b.omitTemporary;void 0===n&&(n=!0);var p=b.document||document,q=b.elementFinished||null,r= +b.showTemporary;void 0===r&&(r=!n);n=b.showGrid;void 0===n&&(n=r);null!==d&&isNaN(d.width)&&isNaN(d.height)&&(d=null);"number"===typeof l?l=new mb(l):l instanceof mb||(l=new mb(0));l.left=Math.max(l.left,0);l.right=Math.max(l.right,0);l.top=Math.max(l.top,0);l.bottom=Math.max(l.bottom,0);a.zo=!1;Yc(a.uf,!0);var s=new Rc(null,p),u=s.uk,t=s;if(!(d||e||k||h))return s.width=a.Ib+Math.ceil(l.left+l.right),s.height=a.Mb+Math.ceil(l.top+l.bottom),"svg"===b.context&&(u=t=new Jc(s.td,p,q),u instanceof Jc&& +(a.zo=!0)),zm(a,u,l,new ia(s.width,s.height),a.Lb,a.mb,k,m,r,n),a.zo=!0,t;var x=a.pb.Uw,w=new y(0,0),z=a.se.copy();z.HJ(a.padding);if(r)for(var A=!0,A=a.ac.n,H=A.length,C=0;Cx?(e=x,h=z.width,Z=z.height):(h=f.width,Z=f.height)):(h=z.width*e,Z=z.height*e):(e=x,h=z.width,Z=z.height);null!==l?(h+=ba,Z+=A):l=new mb(0);null!==f&&(d=f.width,f=f.height,"svg"!==b.context&&c&&!Dn&&(h>d||Z>f)&&(v.trace("Diagram.makeImage(data): Diagram width or height is larger than the default max size. ("+Math.ceil(h)+"x"+Math.ceil(Z)+" vs 2000x2000) Consider increasing the max size."), +Dn=!0),isNaN(d)&&(d=2E3),isNaN(f)&&(f=2E3),isFinite(d)&&(h=Math.min(h,d)),isFinite(f)&&(Z=Math.min(Z,f)));s.width=Math.ceil(h);s.height=Math.ceil(Z);"svg"===b.context&&(u=t=new Jc(s.td,p,q),u instanceof Jc&&(a.zo=!0));zm(a,u,l,new ia(Math.ceil(h),Math.ceil(Z)),e,w,k,m,r,n);a.zo=!0;return t}E.inherit=function(a,b){v.j(a,"function",E,"inherit");v.j(b,"function",E,"inherit");b.MG&&v.k("Cannot inherit from "+v.lf(b));v.Ma(a,b)}; +function yl(){this.PG="63ad05bbe23a1786468a4c741b6d2";this.Ei=this.PG===this._tk?!0:null} +function En(a){var b="f",c=window[v.Fg("76a715b2f73f148a")][v.Fg("72ba13b5")],d=v.Fg;if(window[d("7da7")]&&window[d("7da7")][d("76a115b6ed251eaf4692")]){a.Ei=!0;var e=window[d("7da7")][d("76a115b6ed251eaf4692")],e=d(e).split(d("39e9"));if(6>e.length)return;var f=d(e[1]).split(".");if("7da71ca0"!==e[4])return;var h=d(v[d("6cae19")]).split(".");if(f[0]>h[0]||f[0]===h[0]&&f[1]>=h[1]){f=c[d("76ad18b4f73e")];for(h=c[d("73a612b6fb191d")](d("35e7"))+2;h +f&&d(e[2])!==d("7da71ca0ad381e90")&&(f=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));0>f&&(f=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));a.Ei=!(0<=f&&ff&&d(v.adym)!==d("7da71ca0ad381e90")&&(f=b[d("73a612b6fb191d")](d("76a715b2ef3e149757")));a.Ei=!(0<=f&&fb.timeStamp-a.Em)b.preventDefault();else if(a.gl)b.preventDefault();else{a.Wc=a.Pb;a.Pb=c;Ol(a,a,b,c,!0);c.Ll=!0;c.He=b.detail;if(v.ZE||v.$E)b.timeStamp-a.Emb.timeStamp-a.Em){b.preventDefault();return}a.Em=b.timeStamp}if(v.Dn&&null!==a.Us)a.Us=null,b.preventDefault();else{a.Wc=a.Pb;a.Pb=c;Ol(a,a,b,c,!0);c.up=!0; +c.He=b.detail;if(v.ZE||v.$E)c.He=a.jl;c.bubbles=b.bubbles;b.target.Z&&(c.Tg=b.target.Z);a.VF(b,null,new y,c.Tg)||(a.doMouseUp(),Sh(a),Sl(c,b))}}};a.zh=function(b){if(a.isEnabled){var c=a.Wc;a.Wc=a.Pb;a.Pb=c;Ol(a,a,b,c,!0);c.bubbles=!0;c.Kl=void 0!==b.wheelDelta?b.wheelDelta:-40*b.detail;a.doMouseWheel();Sl(c,b)}};a.gq=function(){if(a.isEnabled){a.Am=!1;var b=a.Ya;b.cancelWaitAfter();b instanceof kh&&b.hideToolTip()}};a.hG=function(b){if(a.isEnabled){a.ct=!1;a.gl=!0;var c=a.Wc;a.Wc=a.Pb;a.Pb=c;Ql(a, +b,b.targetTouches[0],c,1a.ew)){var c=a.Xi;c[0].pointerId===b.pointerId&&(c[0]= +b);c[1].pointerId===b.pointerId&&(c[1]=b);a.isEnabled&&(c=a.Wc,a.Wc=a.Pb,a.Pb=c,Rl(a,b,b,c,!0),a.Yx(b,null,c.Tg)||(a.doMouseMove(),Sl(c,b)))}};a.bJ=function(b){if("touch"===b.pointerType){var c=a.hD;void 0!==c[b.pointerId]&&(a.ew--,delete c[b.pointerId],c=a.Xi,null!==c[0]&&c[0].pointerId===b.pointerId&&(c[0]=null),null!==c[1]&&c[1].pointerId===b.pointerId&&(c[1]=null))}};Yc(d,!0);Cl(a)} +function Fn(a){1a)&&v.Fa(a,"0 <= loc <= 1",ha,"addColorStop:loc");v.j(b,"string",ha,"addColorStop:color");null===this.$g&&(this.$g=new la("number","string"));this.$g.add(a,b);this.ka===og&&(this.type=pg);this.ah=null}; +v.defineProperty(ha,{type:"type"},function(){return this.ka},function(a){this.Q&&v.ma(this,a);v.nb(a,ha,ha,"type");this.ka=a;this.start.Od()&&(a===pg?this.start=yb:a===Xc&&(this.start=Gb));this.end.Od()&&(a===pg?this.end=Lb:a===Xc&&(this.end=Gb));this.ah=null});v.defineProperty(ha,{color:"color"},function(){return this.mo},function(a){this.Q&&v.ma(this,a);this.mo=a;this.ah=null}); +v.defineProperty(ha,{start:"start"},function(){return this.np},function(a){this.Q&&v.ma(this,a);v.F(a,L,ha,"start");this.np=a.S();this.ah=null});v.defineProperty(ha,{end:"end"},function(){return this.Bo},function(a){this.Q&&v.ma(this,a);v.F(a,L,ha,"end");this.Bo=a.S();this.ah=null});v.defineProperty(ha,{Gu:"startRadius"},function(){return this.uw},function(a){this.Q&&v.ma(this,a);v.Zd(a,ha,"startRadius");0>a&&v.Fa(a,">= zero",ha,"startRadius");this.uw=a;this.ah=null}); +v.defineProperty(ha,{Et:"endRadius"},function(){return this.sv},function(a){this.Q&&v.ma(this,a);v.Zd(a,ha,"endRadius");0>a&&v.Fa(a,">= zero",ha,"endRadius");this.sv=a;this.ah=null});v.defineProperty(ha,{rk:"colorStops"},function(){return this.$g},function(a){this.Q&&v.ma(this,a);this.$g=a;this.ah=null});v.defineProperty(ha,{pattern:"pattern"},function(){return this.dw},function(a){this.Q&&v.ma(this,a);this.dw=a;this.ah=null}); +ha.randomColor=function(a,b){void 0===a&&(a=128);void 0===b&&(b=Math.max(a,255));var c=Math.abs(b-a),d=Math.floor(a+Math.random()*c).toString(16),e=Math.floor(a+Math.random()*c).toString(16),c=Math.floor(a+Math.random()*c).toString(16);2>d.length&&(d="0"+d);2>e.length&&(e="0"+e);2>c.length&&(c="0"+c);return"#"+d+e+c};var Pn=(new Rc(null)).uk,ga; +ha.isValidColor=ga=function(a){if("black"===a)return!0;if(""===a)return!1;Pn.fillStyle="#000000";var b=Pn.fillStyle;Pn.fillStyle=a;if(Pn.fillStyle!==b)return!0;Pn.fillStyle="#FFFFFF";b=Pn.fillStyle;Pn.fillStyle=a;return Pn.fillStyle!==b};var Qn=new On,Rn=new On,Sn=new On,Tn=new On;ha.lighten=function(a){return Un(a)}; +ha.prototype.lightenBy=function(a,b){this.Q&&v.ma(this);var c=void 0===a||"number"!==typeof a?.2:a,d=void 0===b?Mn:b;if(this.type===og)Vn(this.color),this.color=Wn(c,d);else if((this.type===pg||this.type===Xc)&&null!==this.rk)for(var e=this.rk.i;e.next();)Vn(e.value),this.addColorStop(e.key,Wn(c,d));return this};var Un;ha.lightenBy=Un=function(a,b,c){b=void 0===b||"number"!==typeof b?.2:b;c=void 0===c?Mn:c;Vn(a);return Wn(b,c)};ha.darken=function(a){return Xn(a)}; +ha.prototype.darkenBy=function(a,b){this.Q&&v.ma(this);var c=void 0===a||"number"!==typeof a?.2:a,d=void 0===b?Mn:b;if(this.type===og)Vn(this.color),this.color=Wn(-c,d);else if((this.type===pg||this.type===Xc)&&null!==this.rk)for(var e=this.rk.i;e.next();)Vn(e.value),this.addColorStop(e.key,Wn(-c,d));return this};var Xn;ha.darkenBy=Xn=function(a,b,c){b=void 0===b||"number"!==typeof b?.2:b;c=void 0===c?Mn:c;Vn(a);return Wn(-b,c)}; +function Wn(a,b){switch(b){case Mn:var c=100*Yn(Qn.Dc),d=100*Yn(Qn.xd),e=100*Yn(Qn.Yc);Sn.Dc=.4124564*c+.3575761*d+.1804375*e;Sn.xd=.2126729*c+.7151522*d+.072175*e;Sn.Yc=.0193339*c+.119192*d+.9503041*e;Sn.bg=Qn.bg;c=Zn(Sn.Dc/$n[0]);d=Zn(Sn.xd/$n[1]);e=Zn(Sn.Yc/$n[2]);Tn.Dc=116*d-16;Tn.xd=500*(c-d);Tn.Yc=200*(d-e);Tn.bg=Sn.bg;Tn.Dc=Math.min(100,Math.max(0,Tn.Dc+100*a));c=(Tn.Dc+16)/116;d=c-Tn.Yc/200;Sn.Dc=$n[0]*ao(Tn.xd/500+c);Sn.xd=$n[1]*(Tn.Dc>bo*co?Math.pow(c,3):Tn.Dc/bo);Sn.Yc=$n[2]*ao(d);Sn.bg= +Tn.bg;c=-.969266*Sn.Dc+1.8760108*Sn.xd+.041556*Sn.Yc;d=.0556434*Sn.Dc+-.2040259*Sn.xd+1.0572252*Sn.Yc;Qn.Dc=255*eo((3.2404542*Sn.Dc+-1.5371385*Sn.xd+-.4985314*Sn.Yc)/100);Qn.xd=255*eo(c/100);Qn.Yc=255*eo(d/100);Qn.bg=Sn.bg;Qn.Dc=Math.round(Qn.Dc);255Qn.Dc&&(Qn.Dc=0);Qn.xd=Math.round(Qn.xd);255Qn.xd&&(Qn.xd=0);Qn.Yc=Math.round(Qn.Yc);255Qn.Yc&&(Qn.Yc=0);return"rgba("+Qn.Dc+", "+Qn.xd+", "+Qn.Yc+", "+Qn.bg+")";case Nn:var e=Qn.Dc/255,f=Qn.xd/ +255,h=Qn.Yc/255,k=Math.max(e,f,h),d=Math.min(e,f,h),l=k-d,d=(k+d)/2;if(0===l)c=e=0;else{switch(k){case e:c=(f-h)/l%6;break;case f:c=(h-e)/l+2;break;case h:c=(e-f)/l+4}c*=60;0>c&&(c+=360);e=l/(1-Math.abs(2*d-1))}Rn.Dc=Math.round(c);Rn.xd=Math.round(100*e);Rn.Yc=Math.round(100*d);Rn.bg=Qn.bg;Rn.Yc=Math.min(100,Math.max(0,Rn.Yc+100*a));return"hsla("+Rn.Dc+", "+Rn.xd+"%, "+Rn.Yc+"%, "+Rn.bg+")";default:return v.k("Unknown color space: "+b),"rgba(0, 0, 0, 1)"}} +function Vn(a){Pn.clearRect(0,0,1,1);Pn.fillStyle="#000000";var b=Pn.fillStyle;Pn.fillStyle=a;Pn.fillStyle!==b?(Pn.fillRect(0,0,1,1),a=Pn.getImageData(0,0,1,1).data,Qn.Dc=a[0],Qn.xd=a[1],Qn.Yc=a[2],Qn.bg=a[3]/255):(Pn.fillStyle="#FFFFFF",Pn.fillStyle=a,Qn.Dc=0,Qn.xd=0,Qn.Yc=0,Qn.bg=1)}function Yn(a){a/=255;return.04045>=a?a/12.92:Math.pow((a+.055)/1.055,2.4)}function eo(a){return.0031308>=a?12.92*a:1.055*Math.pow(a,1/2.4)-.055}var co=216/24389,bo=24389/27,$n=[95.047,100,108.883]; +function Zn(a){return a>co?Math.pow(a,1/3):(bo*a+16)/116}function ao(a){var b=a*a*a;return b>co?b:(116*a-16)/bo} +function G(){v.pc(this);this.P=4225027;this.xc=1;this.kh=null;this.Qb="";this.Zb=this.Db=null;this.mb=(new y(NaN,NaN)).freeze();this.Re=zd;this.Uh=md;this.Th=xd;this.fd=new ja;this.mm=new ja;this.Oi=new ja;this.Lb=this.yo=1;this.fg=0;this.zg=fo;this.Jm=hd;this.rd=(new B(NaN,NaN,NaN,NaN)).freeze();this.qc=(new B(NaN,NaN,NaN,NaN)).freeze();this.Ic=(new B(0,0,NaN,NaN)).freeze();this.U=this.xs=this.ys=null;this.lm=this.he=nc;this.Is=0;this.Zi=1;this.Sq=0;this.wi=1;this.Ys=null;this.Ms=-Infinity;this.Wm= +0;this.Xm=$c;this.Ym=cj;this.$q="";this.vc=this.ia=null;this.jo=-1;this.Qm=this.bn=this.ig=this.Yk=this.mp=null}v.ii(G);v.ga("GraphObject",G); +G.prototype.cloneProtected=function(a){a.P=this.P|6144;a.xc=this.xc;a.Qb=this.Qb;a.Db=this.Db;a.Zb=this.Zb;a.mb.assign(this.mb);a.Re=this.Re.S();a.Uh=this.Uh.S();a.Th=this.Th.S();a.Oi=this.Oi.copy();a.Lb=this.Lb;a.fg=this.fg;a.zg=this.zg;a.Jm=this.Jm.S();a.rd.assign(this.rd);a.qc.assign(this.qc);a.Ic.assign(this.Ic);a.xs=this.xs;null!==this.U&&(a.U=this.U.copy());a.he=this.he.S();a.lm=this.lm.S();a.Is=this.Is;a.Zi=this.Zi;a.Sq=this.Sq;a.wi=this.wi;a.Ys=this.Ys;a.Ms=this.Ms;a.Wm=this.Wm;a.Xm=this.Xm.S(); +a.Ym=this.Ym;a.$q=this.$q;null!==this.ia&&(a.ia=this.ia.copy());a.vc=this.vc;a.jo=this.jo;null!==this.Yk&&(a.Yk=v.Fl(this.Yk));null!==this.ig&&(a.ig=this.ig.copy());a.bn=this.bn};G.prototype.addCopyProperty=G.prototype.XG=function(a){var b=this.Yk;if(v.isArray(b))for(var c=0;ck;)k+=f[n++%l],p=!p;q=!1}else k=f[n++%l];k>m&&(k=m);var r=Math.sqrt(k*k/(1+e*e));0>d&&(r=-r);b+=r;c+=e*r;p?a.lineTo(b,c):a.moveTo(b,c);m-=k;p=!p}} +G.prototype.raiseChangedEvent=G.prototype.Zc=function(a,b,c,d,e,f,h){var k=this.V;if(null!==k&&(k.Qn(a,b,c,d,e,f,h),ro(this)&&c===this&&a===Lf&&so(this,k,b),c===k&&0!==(k.P&16777216)&&null!==k.data))for(a=this.xa.n,c=a.length,d=0;da&&(a+=360));return a};G.prototype.getDocumentScale=G.prototype.kj=function(){if(0!==(this.P&4096)===!1)return this.yo;var a=this.Lb;return null!==this.N?a*this.N.kj():a};G.prototype.getLocalPoint=G.prototype.GE=function(a,b){void 0===b&&(b=new y);b.assign(a);this.oh.ki(b);return b}; +G.prototype.getNearestIntersectionPoint=G.prototype.HE=function(a,b,c){return this.zn(a.x,a.y,b.x,b.y,c)};g=G.prototype;g.zn=function(a,b,c,d,e){var f=this.transform,h=1/(f.m11*f.m22-f.m12*f.m21),k=f.m22*h,l=-f.m12*h,m=-f.m21*h,n=f.m11*h,p=h*(f.m21*f.dy-f.m22*f.dx),q=h*(f.m12*f.dx-f.m11*f.dy);if(null!==this.jn)return f=this.Y,ke(f.left,f.top,f.right,f.bottom,a,b,c,d,e);h=a*k+b*m+p;a=a*l+b*n+q;b=c*k+d*m+p;c=c*l+d*n+q;e.l(0,0);d=this.Ja;c=ke(0,0,d.width,d.height,h,a,b,c,e);e.transform(f);return c}; +function sk(a,b,c,d,e){if(!1!==tm(a)){var f=a.margin,h=f.right+f.left,f=f.top+f.bottom;b=Math.max(b-h,0);c=Math.max(c-f,0);e=e||0;d=Math.max((d||0)-h,0);e=Math.max(e-f,0);var h=a.angle,f=0,f=a.Ba,k=0;a.fb&&(k=a.fb);90===h||270===h?(b=isFinite(f.height)?f.height+k:b,c=isFinite(f.width)?f.width+k:c):(b=isFinite(f.width)?f.width+k:b,c=isFinite(f.height)?f.height+k:c);var f=d||0,k=e||0,l=a instanceof D;switch(wo(a,!0)){case yj:k=f=0;l&&(c=b=Infinity);break;case Be:isFinite(b)&&b>d&&(f=b);isFinite(c)&& +c>e&&(k=c);break;case io:isFinite(b)&&b>d&&(f=b);k=0;l&&(c=Infinity);break;case ho:isFinite(c)&&c>e&&(k=c),f=0,l&&(b=Infinity)}var l=a.Bf,m=a.yh;f>l.width&&m.widthl.height&&m.heighta.height||this.Mi.hf>a.width))&&(c=!0);this.P=c?this.P|256:this.P&-257;this.qc.H()|| +v.k("Non-real actualBounds has been set. Object "+this+", actualBounds: "+this.qc.toString());this.Fx(f,this.qc);xo(this,!1);v.Gb(f)};g.fj=function(){}; +function yo(a,b,c,d,e){var f=a.Y;f.x=b;f.y=c;f.width=d;f.height=e;if(!a.Ba.H()){f=a.rd;c=a.margin;b=c.right+c.left;var h=c.top+c.bottom;c=f.width+b;f=f.height+h;d+=b;e+=h;b=wo(a,!0);c===d&&f===e&&(b=yj);switch(b){case yj:if(c>d||f>e)Vl(a,!0),sk(a,c>d?d:c,f>e?e:f);break;case Be:Vl(a,!0);sk(a,d,e,0,0);break;case io:Vl(a,!0);sk(a,d,f,0,0);break;case ho:Vl(a,!0),sk(a,c,e,0,0)}}} +g.Fx=function(a,b){var c=this.V;null!==c&&null!==c.g&&(c.Au!==this&&c.HF!==this&&c.KF!==this||zo(c,!0),this.oa(),Xa(a,b)||(c.Tl(),this.Yv(c)))};g.Yv=function(a){null!==this.Qd&&(zo(a,!0),a instanceof T&&Ao(a,this))};v.defineProperty(G,{vq:"shadowVisible"},function(){return this.bn},function(a){var b=this.bn;b!==a&&(this.bn=a,this.oa(),this.h("shadowVisible",b,a))}); +G.prototype.ue=function(a,b){if(this.visible){var c=this.qc;if(0!==c.width&&0!==c.height&&!isNaN(c.x)&&!isNaN(c.y)){var d=this.opacity,e=1;if(1!==d){if(0===d)return;e=a.globalAlpha;a.globalAlpha=e*d}if(a instanceof Jc)a:{if(this.visible){var f=null,h=a.xx;if(this instanceof D&&(this.type===Bo||this.type===Co))Do(this,a,b);else{var k=this.qc;if(0!==k.width&&0!==k.height&&!isNaN(k.x)&&!isNaN(k.y)){var l=this.transform,m=this.N;0!==(this.P&4096)===!0&&Eo(this);var c=0!==(this.P&256),n=!1;this instanceof +Fh&&(a.font=this.font);if(c){n=m.Xg()?m.Ja:m.Y;if(null!==this.ig)var p=this.ig,q=p.x,r=p.y,s=p.width,p=p.height;else q=Math.max(k.x,n.x),r=Math.max(k.y,n.y),s=Math.min(k.right,n.right)-q,p=Math.min(k.bottom,n.bottom)-r;if(q>k.width+k.x||k.x>n.width+n.x||r>k.height+k.y||k.y>n.height+n.y)break a;n=!0;Lc(a,1,0,0,1,0,0);a.save();a.beginPath();a.rect(q,r,s,p);a.clip()}q=!1;if(this instanceof S){var u=this,q=!0;if(!u.isVisible())break a}a.th.Sb=[1,0,0,1,0,0];r=!1;q&&this.Xl&&b.lj("drawShadows")&&(s=this.an, +a.dB(s.x*b.scale*b.Cd,s.y*b.scale*b.Cd,u.yg),a.Un(),a.shadowColor=u.$m);u=!1;this.V&&b.lj("drawShadows")&&(u=this.V.Xl);!0===this.vq?(a.Un(),!1===r&&u&&(Lc(a,1,0,0,1,0,0),a.Za(),r=!0)):!1===this.vq&&a.Tn();null!==this.Zb&&(Fo(this,a,this.Zb,!0,!0),!1===r&&u&&(Lc(a,1,0,0,1,0,0),a.Za(),r=!0),this.Zb instanceof ha&&this.Zb.type===Xc?(a.beginPath(),a.rect(k.x,k.y,k.width,k.height),a.Gg(this.Zb)):a.fillRect(k.x,k.y,k.width,k.height));this instanceof D?Lc(a,l.m11,l.m12,l.m21,l.m22,l.dx,l.dy):a.th.Sb=[l.m11, +l.m12,l.m21,l.m22,l.dx,l.dy];if(null!==this.Db){!1===r&&u&&(Lc(a,1,0,0,1,0,0),a.Za(),r=!0);var p=this.Ja,l=k=0,s=p.width,p=p.height,t=0;this instanceof X&&(p=this.gb.kb,k=p.x,l=p.y,s=p.width,p=p.height,t=this.ei);Fo(this,a,this.Db,!0,!1);this.Db instanceof ha&&this.Db.type===Xc?(a.beginPath(),a.rect(k-t/2,l-t/2,s+t,p+t),a.Gg(this.Db)):a.fillRect(k-t/2,l-t/2,s+t,p+t)}u&&(null!==this.Db||null!==this.Zb||null!==m&&0!==(m.P&512)||null!==m&&(m.type===Bl||m.type===wj)&&m.Jd()!==this)?(Go(this,!0),null=== +this.vq&&a.Tn()):Go(this,!1);this.wk(a,b);u&&0!==(this.P&512)===!0&&a.Un();q&&u&&a.Tn();c&&(a.restore(),n&&a.yf.pop());this instanceof D&&(f=a.yf.pop());!0===r&&a.yf.pop();null!==a.tE&&(null===f&&(h===a.xx?(Lc(a,1,0,0,1,0,0),f=a.yf.pop()):f=a.xx),a.tE(this,f))}}}}else{if(this instanceof D&&(this.type===Bo||this.type===Co)){Do(this,a,b);1!==d&&(a.globalAlpha=e);return}this instanceof W&&this.Kn(!1);f=this.transform;h=this.N;0!==(this.P&4096)===!0&&Eo(this);m=0!==(this.P&256);a.yt&&(m=!1);this instanceof +Fh&&(a.font=this.font);if(m){n=h.Xg()?h.Ja:h.Y;null!==this.ig?(u=this.ig,k=u.x,l=u.y,q=u.width,u=u.height):(k=Math.max(c.x,n.x),l=Math.max(c.y,n.y),q=Math.min(c.right,n.right)-k,u=Math.min(c.bottom,n.bottom)-l);if(k>c.width+c.x||c.x>n.width+n.x||l>c.height+c.y||c.y>n.height+n.y){1!==d&&(a.globalAlpha=e);return}a.save();a.beginPath();a.rect(k,l,q,u);a.clip()}n=!1;if(this instanceof S){n=!0;if(!this.isVisible()){1!==d&&(a.globalAlpha=e);return}this.Xl&&b.lj("drawShadows")&&(k=this.an,a.dB(k.x*b.scale* +b.Cd,k.y*b.scale*b.Cd,this.yg),a.Un(),a.shadowColor=this.$m)}k=!1;this.V&&b.lj("drawShadows")&&(k=this.V.Xl);!0===this.vq?a.Un():!1===this.vq&&a.Tn();null!==this.Zb&&(Fo(this,a,this.Zb,!0,!0),this.Zb instanceof ha&&this.Zb.type===Xc?(a.beginPath(),a.rect(c.x,c.y,c.width,c.height),a.Gg(this.Zb)):a.fillRect(c.x,c.y,c.width,c.height));f.$t()||a.transform(f.m11,f.m12,f.m21,f.m22,f.dx,f.dy);null!==this.Db&&(u=this.Ja,l=c=0,q=u.width,u=u.height,r=0,this instanceof X&&(u=this.gb.kb,c=u.x,l=u.y,q=u.width, +u=u.height,r=this.ei),Fo(this,a,this.Db,!0,!1),this.Db instanceof ha&&this.Db.type===Xc?(a.beginPath(),a.rect(c-r/2,l-r/2,q+r,u+r),a.Gg(this.Db)):a.fillRect(c-r/2,l-r/2,q+r,u+r));k&&(null!==this.Db||null!==this.Zb||null!==h&&0!==(h.P&512)||null!==h&&(h.type===Bl||h.type===wj)&&h.Jd()!==this)?(Go(this,!0),null===this.vq&&a.Tn()):Go(this,!1);this.wk(a,b);k&&0!==(this.P&512)===!0&&a.Un();n&&k&&a.Tn();m?(a.restore(),this instanceof D?Yc(a,!0):Yc(a,!1)):f.$t()||(h=1/(f.m11*f.m22-f.m12*f.m21),a.transform(f.m22* h,-f.m12*h,-f.m21*h,f.m11*h,h*(f.m21*f.dy-f.m22*f.dx),h*(f.m12*f.dx-f.m11*f.dy)))}1!==d&&(a.globalAlpha=e)}}}; -function Lm(a,b,c){var d=a.mc;0===d.width||0===d.height||isNaN(d.x)||isNaN(d.y)||(null!==a.nc&&(Nm(a,b,a.nc,!0,!0),a.nc instanceof ha&&a.nc.type===Yc?(b.beginPath(),b.rect(d.x,d.y,d.width,d.height),b.vg(a.nc)):b.fillRect(d.x,d.y,d.width,d.height)),null!==a.Ib&&(Nm(a,b,a.Ib,!0,!1),a.Ib instanceof ha&&a.Ib.type===Yc?(b.beginPath(),b.rect(d.x,d.y,d.width,d.height),b.vg(a.Ib)):b.fillRect(d.x,d.y,d.width,d.height)),a.Yj(b,c))}G.prototype.Yj=function(){}; -function Nm(a,b,c,d,e){if(null!==c){var f=1,h=1;if("string"===typeof c)d?b.fillStyle=c:b.strokeStyle=c;else if(c.type===Uf)d?b.fillStyle=c.color:b.strokeStyle=c.color;else{var k,h=a.Ha,f=h.width,h=h.height;if(e)var l=a.U,f=l.width,h=l.height;var m=b instanceof Sc;if(m&&c.Og&&(c.type===rm||c.sn===f&&c.Px===h))k=c.Og;else{var n=l=0,p=0,q=0,r=0,s=0,s=r=0;e&&(l=a.U,f=l.width,h=l.height,r=l.x,s=l.y);l=c.start.x*f+c.start.offsetX;n=c.start.y*h+c.start.offsetY;p=c.end.x*f+c.end.offsetX;q=c.end.y*h+c.end.offsetY; -l+=r;p+=r;n+=s;q+=s;if(c.type===Vf)k=b.createLinearGradient(l,n,p,q);else if(c.type===Yc)s=isNaN(c.bt)?Math.max(f,h)/2:c.bt,isNaN(c.cu)?(r=0,s=Math.max(f,h)/2):r=c.cu,k=b.createRadialGradient(l,n,r,p,q,s);else if(c.type===rm)try{k=b.createPattern(c.pattern,"repeat")}catch(t){k=null}else v.Cd(c.type,"Brush type");if(c.type!==rm&&(e=c.Ys,null!==e))for(e=e.i;e.next();)k.addColorStop(e.key,e.value);if(m&&(c.Og=k,null!==k&&(c.sn=f,c.Px=h),null===k&&c.type===rm&&-1!==c.sn)){c.sn=-1;var u=a.g;null!==u&& --1===c.sn&&v.setTimeout(function(){u.ax()},600)}}d?b.fillStyle=k:b.strokeStyle=k}}}G.prototype.isContainedBy=G.prototype.ul=function(a){if(a instanceof D)a:{if(this!==a&&null!==a)for(var b=this.R;null!==b;){if(b===a){a=!0;break a}b=b.R}a=!1}else a=!1;return a};G.prototype.isVisibleObject=G.prototype.Zi=function(){if(!this.visible)return!1;var a=this.R;return null!==a?a.Zi():!0}; -function Mm(a){if(0!==(a.fa&2048)===!0){var b=a.ne;b.reset();if(!a.mc.G()||!a.jd.G()){Pm(a,!1);return}b.translate(a.mc.x,a.mc.y);b.translate(-a.Ca.x,-a.Ca.y);var c=a.Ha;Dm(a,b,c.x,c.y,c.width,c.height);Pm(a,!1);Qm(a,!0)}0!==(a.fa&4096)===!0&&(b=a.R,null===b?(a.Up.set(a.ne),a.Ou=a.scale,Qm(a,!1)):null!==b.Zg&&(c=a.Up,c.reset(),b.Lg()?c.multiply(b.Up):null!==b.R&&c.multiply(b.R.Up),c.multiply(a.ne),a.Ou=a.scale*b.Ou,Qm(a,!1)))} -function Dm(a,b,c,d,e,f){1!==a.scale&&b.scale(a.scale);if(0!==a.angle){var h=zb;a.ef&&a.ef.bd()&&(h=a.ef);var k=v.L();if(a instanceof R&&a.bc!==a)for(c=a.bc,d=c.Ha,k.$t(d.x,d.y,d.width,d.height,h),c.Ok.ub(k),k.offset(-c.Ca.x,-c.Ca.y),h=c.R;null!==h&&h!==a;)h.Ok.ub(k),k.offset(-h.Ca.x,-h.Ca.y),h=h.R;else k.$t(c,d,e,f,h);b.rotate(a.angle,k.x,k.y);v.v(k)}}g=G.prototype; -g.N=function(a){void 0===a&&(a=!1);if(!0!==el(this)){Qk(this,!0);Hm(this,!0);var b=this.R;null!==b?a||b.N():(a=this.g,null!==a&&(a.fg.add(this),this instanceof S&&(a.la.ib||this.cf(),null!==this.fe&&Rm(this.fe)),a.ue(!0)));if(this instanceof D){if(this.ia===vk||this.ia===Di)a=this.Ye(),null!==a&&a.N(!0);a=this.ya.n;for(var b=a.length,c=0;ca?a=0:1a||1=a&&v.k("GraphObject.scale for "+this+" must be greater than zero, not: "+a),this.Tb=a,this.si(),this.N(),this.h("scale",b,a))});v.defineProperty(G,{angle:"angle"},function(){return this.Kl},function(a){var b=this.Kl;b!==a&&(a%=360,0>a&&(a+=360),b!==a&&(this.Kl=a,this.N(),this.si(),this.h("angle",b,a)))}); -v.defineProperty(G,{za:"desiredSize"},function(){return this.mf},function(a){var b=a.width,c=a.height,d=this.mf,e=d.width,f=d.height;(e===b||isNaN(e)&&isNaN(b))&&(f===c||isNaN(f)&&isNaN(c))||(this.mf=a=a.S(),this.N(),this instanceof Y&&this.ce(),this.h("desiredSize",d,a),0!==(this.fa&1024)&&(a=this.Y,null!==a&&(Bm(this,a,"width"),Bm(this,a,"height"))))}); -v.defineProperty(G,{width:"width"},function(){return this.mf.width},function(a){if(this.mf.width!==a){var b=this.mf;this.mf=a=(new ia(a,this.mf.height)).freeze();this.N();this instanceof Y&&this.ce();this.h("desiredSize",b,a);b=this.Y;null!==b&&0!==(this.fa&1024)&&Bm(this,b,"width")}}); -v.defineProperty(G,{height:"height"},function(){return this.mf.height},function(a){if(this.mf.height!==a){var b=this.mf;this.mf=a=(new ia(this.mf.width,a)).freeze();this.N();this instanceof Y&&this.ce();this.h("desiredSize",b,a);b=this.Y;null!==b&&0!==(this.fa&1024)&&Bm(this,b,"height")}}); -v.defineProperty(G,{kh:"minSize"},function(){return this.Dj},function(a){var b=this.Dj;b.K(a)||(a=a.copy(),isNaN(a.width)&&(a.width=0),isNaN(a.height)&&(a.height=0),a.freeze(),this.Dj=a,this.N(),this.h("minSize",b,a))});v.defineProperty(G,{xf:"maxSize"},function(){return this.Bj},function(a){var b=this.Bj;b.K(a)||(a=a.copy(),isNaN(a.width)&&(a.width=Infinity),isNaN(a.height)&&(a.height=Infinity),a.freeze(),this.Bj=a,this.N(),this.h("maxSize",b,a))});v.u(G,{Ca:"measuredBounds"},function(){return this.jd}); -v.u(G,{Ha:"naturalBounds"},function(){return this.Qc},{configurable:!0});v.defineProperty(G,{margin:"margin"},function(){return this.kr},function(a){"number"===typeof a&&(a=new cb(a));var b=this.kr;b.K(a)||(this.kr=a=a.S(),this.N(),this.h("margin",b,a))});v.u(G,{transform:null},function(){0!==(this.fa&2048)===!0&&Mm(this);return this.ne});v.u(G,{Zg:null},function(){0!==(this.fa&4096)===!0&&Mm(this);return this.Up}); -v.defineProperty(G,{alignment:"alignment"},function(){return this.Ae},function(a){var b=this.Ae;b.K(a)||(a.se()&&!a.Uc()&&v.k("GraphObject.alignment for "+this+" must be a real Spot or Spot.Default, not: "+a),this.Ae=a=a.S(),Rm(this),this.h("alignment",b,a))});v.defineProperty(G,{column:"column"},function(){return this.bq},function(a){a=Math.round(a);var b=this.bq;b!==a&&(0>a&&v.va(a,">= 0",G,"column"),this.bq=a,this.N(),this.h("column",b,a))}); -v.defineProperty(G,{sG:"columnSpan"},function(){return this.ii},function(a){a=Math.round(a);var b=this.ii;b!==a&&(1>a&&v.va(a,">= 1",G,"columnSpan"),this.ii=a,this.N(),this.h("columnSpan",b,a))});v.defineProperty(G,{Wb:"row"},function(){return this.$r},function(a){a=Math.round(a);var b=this.$r;b!==a&&(0>a&&v.va(a,">= 0",G,"row"),this.$r=a,this.N(),this.h("row",b,a))}); -v.defineProperty(G,{rowSpan:"rowSpan"},function(){return this.Gi},function(a){a=Math.round(a);var b=this.Gi;b!==a&&(1>a&&v.va(a,">= 1",G,"rowSpan"),this.Gi=a,this.N(),this.h("rowSpan",b,a))});v.defineProperty(G,{sx:"spanAllocation"},function(){return this.us},function(a){var b=this.us;b!==a&&(null!==a&&v.j(a,"function",G,"spanAllocation"),this.us=a,this.h("spanAllocation",b,a))}); -v.defineProperty(G,{Uj:"alignmentFocus"},function(){return this.Tp},function(a){var b=this.Tp;b.K(a)||(!a.se()||a.Uc()||a.K(qb)&&this instanceof S||v.k("GraphObject.alignmentFocus must be a real Spot or Spot.Default, not: "+a),this.Tp=a=a.S(),this.N(),this.h("alignmentFocus",b,a))}); -v.defineProperty(G,{Rd:"portId"},function(){return this.Lr},function(a){var b=this.Lr;if(b!==a){var c=this.Y;null===c||c instanceof S||(v.k("Cannot set portID on a Link: "+a),c=null);null!==b&&null!==c&&Ym(c,this);this.Lr=a;if(null!==a&&c){c.Ch=!0;null===c.Wd&&Zm(c);var d=this.Rd;null!==d&&c.Wd.add(d,this)}this.h("portId",b,a)}});function Vm(a){var b=a.Y;b instanceof S&&(a=a.g,null===a||a.la.ib||b.cf())} -v.defineProperty(G,{yb:"toSpot"},function(){return null!==this.ga?this.ga.Rj:qb},function(a){this.Me();var b=this.ga.Rj;b.K(a)||(a=a.S(),this.ga.Rj=a,this.h("toSpot",b,a),Vm(this))});v.defineProperty(G,{Gl:"toEndSegmentLength"},function(){return null!==this.ga?this.ga.Pj:10},function(a){this.Me();var b=this.ga.Pj;b!==a&&(0>a&&v.va(a,">= 0",G,"toEndSegmentLength"),this.ga.Pj=a,this.h("toEndSegmentLength",b,a),Vm(this))}); -v.defineProperty(G,{eu:"toEndSegmentDirection"},function(){return null!==this.ga?this.ga.Oj:zm},function(a){this.Me();var b=this.ga.Oj;b!==a&&(this.ga.Oj=a,this.h("toEndSegmentDirection",b,a),Vm(this))});v.defineProperty(G,{fu:"toShortLength"},function(){return null!==this.ga?this.ga.Qj:0},function(a){this.Me();var b=this.ga.Qj;b!==a&&(this.ga.Qj=a,this.h("toShortLength",b,a),Vm(this))}); -v.defineProperty(G,{fF:"toLinkable"},function(){return this.Bs},function(a){var b=this.Bs;b!==a&&(this.Bs=a,this.h("toLinkable",b,a))});v.defineProperty(G,{LI:"toMaxLinks"},function(){return this.Cs},function(a){var b=this.Cs;b!==a&&(0>a&&v.va(a,">= 0",G,"toMaxLinks"),this.Cs=a,this.h("toMaxLinks",b,a))});v.defineProperty(G,{xb:"fromSpot"},function(){return null!==this.ga?this.ga.qj:qb},function(a){this.Me();var b=this.ga.qj;b.K(a)||(a=a.S(),this.ga.qj=a,this.h("fromSpot",b,a),Vm(this))}); -v.defineProperty(G,{nl:"fromEndSegmentLength"},function(){return null!==this.ga?this.ga.oj:10},function(a){this.Me();var b=this.ga.oj;b!==a&&(0>a&&v.va(a,">= 0",G,"fromEndSegmentLength"),this.ga.oj=a,this.h("fromEndSegmentLength",b,a),Vm(this))});v.defineProperty(G,{lt:"fromEndSegmentDirection"},function(){return null!==this.ga?this.ga.nj:zm},function(a){this.Me();var b=this.ga.nj;b!==a&&(this.ga.nj=a,this.h("fromEndSegmentDirection",b,a),Vm(this))}); -v.defineProperty(G,{mt:"fromShortLength"},function(){return null!==this.ga?this.ga.pj:0},function(a){this.Me();var b=this.ga.pj;b!==a&&(this.ga.pj=a,this.h("fromShortLength",b,a),Vm(this))});v.defineProperty(G,{OD:"fromLinkable"},function(){return this.Eq},function(a){var b=this.Eq;b!==a&&(this.Eq=a,this.h("fromLinkable",b,a))}); -v.defineProperty(G,{uz:"fromMaxLinks"},function(){return this.Fq},function(a){var b=this.Fq;b!==a&&(0>a&&v.va(a,">= 0",G,"fromMaxLinks"),this.Fq=a,this.h("fromMaxLinks",b,a))});v.defineProperty(G,{cursor:"cursor"},function(){return this.mq},function(a){var b=this.mq;b!==a&&(v.j(a,"string",G,"cursor"),this.mq=a,this.h("cursor",b,a))}); -v.defineProperty(G,{click:"click"},function(){return null!==this.ha?this.ha.gi:null},function(a){wm(this);var b=this.ha.gi;b!==a&&(null!==a&&v.j(a,"function",G,"click"),this.ha.gi=a,this.h("click",b,a))});v.defineProperty(G,{at:"doubleClick"},function(){return null!==this.ha?this.ha.pi:null},function(a){wm(this);var b=this.ha.pi;b!==a&&(null!==a&&v.j(a,"function",G,"doubleClick"),this.ha.pi=a,this.h("doubleClick",b,a))}); -v.defineProperty(G,{fz:"contextClick"},function(){return null!==this.ha?this.ha.ji:null},function(a){wm(this);var b=this.ha.ji;b!==a&&(null!==a&&v.j(a,"function",G,"contextClick"),this.ha.ji=a,this.h("contextClick",b,a))});v.defineProperty(G,{Gt:"mouseEnter"},function(){return null!==this.ha?this.ha.wr:null},function(a){wm(this);var b=this.ha.wr;b!==a&&(null!==a&&v.j(a,"function",G,"mouseEnter"),this.ha.wr=a,this.h("mouseEnter",b,a))}); -v.defineProperty(G,{Ht:"mouseLeave"},function(){return null!==this.ha?this.ha.xr:null},function(a){wm(this);var b=this.ha.xr;b!==a&&(null!==a&&v.j(a,"function",G,"mouseLeave"),this.ha.xr=a,this.h("mouseLeave",b,a))});v.defineProperty(G,{Sz:"mouseOver"},function(){return null!==this.ha?this.ha.Ci:null},function(a){wm(this);var b=this.ha.Ci;b!==a&&(null!==a&&v.j(a,"function",G,"mouseOver"),this.ha.Ci=a,this.h("mouseOver",b,a))}); -v.defineProperty(G,{Rz:"mouseHover"},function(){return null!==this.ha?this.ha.Bi:null},function(a){wm(this);var b=this.ha.Bi;b!==a&&(null!==a&&v.j(a,"function",G,"mouseHover"),this.ha.Bi=a,this.h("mouseHover",b,a))});v.defineProperty(G,{Qz:"mouseHold"},function(){return null!==this.ha?this.ha.Ai:null},function(a){wm(this);var b=this.ha.Ai;b!==a&&(null!==a&&v.j(a,"function",G,"mouseHold"),this.ha.Ai=a,this.h("mouseHold",b,a))}); -v.defineProperty(G,{SH:"mouseDragEnter"},function(){return null!==this.ha?this.ha.ur:null},function(a){wm(this);var b=this.ha.ur;b!==a&&(null!==a&&v.j(a,"function",G,"mouseDragEnter"),this.ha.ur=a,this.h("mouseDragEnter",b,a))});v.defineProperty(G,{TH:"mouseDragLeave"},function(){return null!==this.ha?this.ha.vr:null},function(a){wm(this);var b=this.ha.vr;b!==a&&(null!==a&&v.j(a,"function",G,"mouseDragLeave"),this.ha.vr=a,this.h("mouseDragLeave",b,a))}); -v.defineProperty(G,{Pz:"mouseDrop"},function(){return null!==this.ha?this.ha.zi:null},function(a){wm(this);var b=this.ha.zi;b!==a&&(null!==a&&v.j(a,"function",G,"mouseDrop"),this.ha.zi=a,this.h("mouseDrop",b,a))});v.defineProperty(G,{aD:"actionDown"},function(){return null!==this.ha?this.ha.Np:null},function(a){wm(this);var b=this.ha.Np;b!==a&&(null!==a&&v.j(a,"function",G,"actionDown"),this.ha.Np=a,this.h("actionDown",b,a))}); -v.defineProperty(G,{bD:"actionMove"},function(){return null!==this.ha?this.ha.Op:null},function(a){wm(this);var b=this.ha.Op;b!==a&&(null!==a&&v.j(a,"function",G,"actionMove"),this.ha.Op=a,this.h("actionMove",b,a))});v.defineProperty(G,{cD:"actionUp"},function(){return null!==this.ha?this.ha.Pp:null},function(a){wm(this);var b=this.ha.Pp;b!==a&&(null!==a&&v.j(a,"function",G,"actionUp"),this.ha.Pp=a,this.h("actionUp",b,a))}); -v.defineProperty(G,{$C:"actionCancel"},function(){return null!==this.ha?this.ha.Mp:null},function(a){wm(this);var b=this.ha.Mp;b!==a&&(null!==a&&v.j(a,"function",G,"actionCancel"),this.ha.Mp=a,this.h("actionCancel",b,a))});v.defineProperty(G,{xA:"toolTip"},function(){return null!==this.ha?this.ha.Ji:null},function(a){wm(this);var b=this.ha.Ji;b!==a&&(null!==a&&v.A(a,Vg,G,"toolTip"),this.ha.Ji=a,this.h("toolTip",b,a))}); -v.defineProperty(G,{contextMenu:"contextMenu"},function(){return null!==this.ha?this.ha.ki:null},function(a){wm(this);var b=this.ha.ki;b!==a&&(null!==a&&v.A(a,Vg,G,"contextMenu"),this.ha.ki=a,this.h("contextMenu",b,a))});G.prototype.bind=G.prototype.bind=function(a){a.pg=this;var b=this.Uo();null!==b&&$m(b)&&v.k("Cannot add a Binding to a template that has already been copied: "+a);null===this.sc&&(this.sc=new I(Ag));this.sc.add(a)}; -G.prototype.findTemplateBinder=G.prototype.Uo=function(){for(var a=this instanceof D?this:this.R;null!==a;){if(null!==a.uk)return a;a=a.R}return null};G.prototype.setProperties=function(a){v.Xt(this,a)};var an; -G.make=an=function(a,b){var c=arguments,d=null,e=null;if("function"===typeof a)e=a;else if("string"===typeof a){var f=bn.ja(a);"function"===typeof f?(c=v.fl(arguments),d=f(c)):e=ea[a]}null===d&&(void 0===e&&(d=window.$,void 0!==d&&void 0!==d.noop&&v.k("GraphObject.make failed to complete. Is it conflicting with another $ var? (such as jQuery)"),v.k("GraphObject.make failed to complete, it may be conflicting with another var.")),null!==e&&e.constructor||v.k("GraphObject.make requires a class function or class name, not: "+ -a),d=new e);f=1;if(d instanceof E&&1e)&&v.k("Must specify non-negative integer row for RowColumnDefinition "+b+", not: "+e),a.de=!0,a.index=e):void 0!==b.column&&(e=b.column,(void 0===e||null===e||Infinity===e||isNaN(e)||0>e)&&v.k("Must specify non-negative integer column for RowColumnDefinition "+b+", not: "+e),a.de=!1,a.index=e);e=new ta;for(c in b)"row"!==c&&"column"!==c&&(e[c]=b[c]);v.Xt(a,e)}else v.Xt(a,b);else v.k('Unknown initializer "'+b+'" for object being constructed by GraphObject.make: '+a)} -var bn=new na("string","function");G.getBuilders=function(){var a=new na("string","function"),b;for(b in bn)if(b!==b.toLowerCase()){var c=bn[b];"function"===typeof c&&a.add(b,c)}a.freeze();return a};var Ln;G.defineBuilder=Ln=function(a,b){v.j(a,"string",G,"defineBuilder:name");v.j(b,"function",G,"defineBuilder:func");var c=a.toLowerCase();""!==a&&"none"!==c&&a!==c||v.k("Shape.defineFigureGenerator name must not be empty or None or all-lower-case: "+a);bn.add(a,b)};var Mn; -G.takeBuilderArgument=Mn=function(a,b,c){void 0===c&&(c=null);var d=a[1];if("function"===typeof c?c(d):"string"===typeof d)return a.splice(1,1),d;if(void 0===b)throw Error("no "+("function"===typeof c?"satisfactory":"string")+" argument for GraphObject builder "+a[0]);return b}; -Ln("Button",function(){var a=new ha(Vf);a.addColorStop(0,"white");a.addColorStop(1,"lightgray");var b=new ha(Vf);b.addColorStop(0,"white");b.addColorStop(1,"dodgerblue");a=an(D,vk,{Gw:!0},{_buttonFillNormal:a,_buttonStrokeNormal:"gray",_buttonFillOver:b,_buttonStrokeOver:"blue"},an(Y,{name:"ButtonBorder",Ab:"Rectangle",B:new L(0,0,2.761423749153968,2.761423749153968),C:new L(1,1,-2.761423749153968,-2.761423749153968),fill:a,stroke:"gray"}));a.Gt=function(a,b){var e=b.be("ButtonBorder");if(e instanceof -Y){var f=b._buttonFillOver;b._buttonFillNormal=e.fill;e.fill=f;f=b._buttonStrokeOver;b._buttonStrokeNormal=e.stroke;e.stroke=f}};a.Ht=function(a,b){var e=b.be("ButtonBorder");e instanceof Y&&(e.fill=b._buttonFillNormal,e.stroke=b._buttonStrokeNormal)};return a}); -Ln("TreeExpanderButton",function(){var a=an("Button",{_treeExpandedFigure:"MinusLine",_treeCollapsedFigure:"PlusLine"},an(Y,{name:"ButtonIcon",Ab:"MinusLine",za:rd},(new Ag("figure","isTreeExpanded",function(a,c){var d=c.R;return a?d._treeExpandedFigure:d._treeCollapsedFigure})).Tw()),{visible:!1},(new Ag("visible","isTreeLeaf",function(a){return!a})).Tw());a.click=function(a,c){var d=c.Y;d instanceof Vg&&(d=d.Mf);if(d instanceof S){var e=d.g;if(null!==e){e=e.nb;if(d.md){if(!e.canCollapseTree(d))return}else if(!e.canExpandTree(d))return; -a.zc=!0;d.md?e.collapseTree(d):e.expandTree(d)}}};return a}); -Ln("SubGraphExpanderButton",function(){var a=an("Button",{_subGraphExpandedFigure:"MinusLine",_subGraphCollapsedFigure:"PlusLine"},an(Y,{name:"ButtonIcon",Ab:"MinusLine",za:rd},(new Ag("figure","isSubGraphExpanded",function(a,c){var d=c.R;return a?d._subGraphExpandedFigure:d._subGraphCollapsedFigure})).Tw()));a.click=function(a,c){var d=c.Y;d instanceof Vg&&(d=d.Mf);if(d instanceof V){var e=d.g;if(null!==e){e=e.nb;if(d.ee){if(!e.canCollapseSubGraph(d))return}else if(!e.canExpandSubGraph(d))return;a.zc= -!0;d.ee?e.collapseSubGraph(d):e.expandSubGraph(d)}}};return a});Ln("ContextMenuButton",function(){var a=an("Button");a.stretch=vm;var b=a.be("ButtonBorder");b instanceof Y&&(b.Ab="Rectangle",b.B=new L(0,0,2,3),b.C=new L(1,1,-2,-2));return a}); -Ln("PanelExpanderButton",function(a){var b=Mn(a,"COLLAPSIBLE");a=an("Button",an(Y,"TriangleUp",{za:new ia(6,4)},(new Ag("figure","visible",function(a){return a?"TriangleUp":"TriangleDown"})).Tw(b)));var c=a.be("ButtonBorder");c instanceof Y&&(c.stroke=null,c.fill="transparent");a.click=function(a,c){var f=c.g;if(null!==f&&!f.ab){var h=c.Y.be(b);null!==h&&(f.Qb("Collapse/Expand Panel"),h.visible=!h.visible,f.wd("Collapse/Expand Panel"))}};return a}); -Ln("CheckBoxButton",function(a){var b=Mn(a);a=an("Button",{"ButtonBorder.fill":"white","ButtonBorder.stroke":"gray",width:14,height:14},an(Y,{name:"ButtonIcon",VG:"M0 4 L3 9 9 0",lb:2,stretch:He,vz:Ui,visible:!1},""!==b?(new Ag("visible",b)).IH():[]));a.click=function(a,d){if(!(a.g.ab||""!==b&&a.g.ba.ab)){a.zc=!0;var e=d.be("ButtonIcon");e.g.Qb("checkbox");e.visible=!e.visible;"function"===typeof d._doClick&&d._doClick(a,d);e.g.wd("checkbox")}};return a}); -Ln("CheckBox",function(a){a=Mn(a);a=an("CheckBoxButton",a,{name:"Button",margin:new cb(0,1,0,0)});var b=an(D,"Horizontal",a,{Gw:!0,margin:1,_buttonFillNormal:a._buttonFillNormal,_buttonStrokeNormal:a._buttonStrokeNormal,_buttonFillOver:a._buttonFillOver,_buttonStrokeOver:a._buttonStrokeOver,Gt:a.Gt,Ht:a.Ht,click:a.click,_buttonClick:a.click});a.Gt=null;a.Ht=null;a.click=null;return b}); -function xm(){this.ki=this.Ji=this.Mp=this.Pp=this.Op=this.Np=this.zi=this.vr=this.ur=this.Ai=this.Bi=this.Ci=this.xr=this.wr=this.ji=this.pi=this.gi=null}xm.prototype.copy=function(){var a=new xm;a.gi=this.gi;a.pi=this.pi;a.ji=this.ji;a.wr=this.wr;a.xr=this.xr;a.Ci=this.Ci;a.Bi=this.Bi;a.Ai=this.Ai;a.ur=this.ur;a.vr=this.vr;a.zi=this.zi;a.Np=this.Np;a.Op=this.Op;a.Pp=this.Pp;a.Mp=this.Mp;a.Ji=this.Ji;a.ki=this.ki;return a}; -function D(a){G.call(this);void 0===a?0===arguments.length?this.ia=Xi:v.k("invalid argument to Panel constructor: undefined"):(v.pb(a,D,D,"type"),this.ia=a);this.ya=new I(G);this.Ue=cd;this.Qg=!1;this.ia===yk&&(this.Qg=!0);this.Oq=!1;this.qq=fc;this.ni=tm;this.ia===Sm&&Nn(this);this.Fo=Ui;this.Jq=td;this.Kq=ad;this.uk=this.je=null;this.br=NaN;this.hg=this.vj=null;this.Wn="category";this.gg=null;this.Li=new A(NaN,NaN,NaN,NaN);this.sm=null;this.Ch=!1;this.as=null}v.Ja(D,G);v.Vh(D);v.ea("Panel",D); -function Nn(a){a.kj=cd;a.zh=1;a.mi=null;a.Ql=null;a.yh=1;a.xh=null;a.Pl=null;a.Hd=[];a.Dd=[];a.nm=On;a.Ol=On;a.Ki=0;a.wi=0} -D.prototype.cloneProtected=function(a){G.prototype.cloneProtected.call(this,a);a.ia=this.ia;a.Ue=this.Ue.S();a.Qg=this.Qg;a.Oq=this.Oq;a.qq=this.qq.S();a.ni=this.ni;if(a.ia===Sm){a.kj=this.kj.S();a.zh=this.zh;a.mi=this.mi;a.Ql=this.Ql;a.yh=this.yh;a.xh=this.xh;a.Pl=this.Pl;var b=[];if(0a&&v.va(a,">= 0",D,"padding"),a=new cb(a)):(v.A(a,cb,D,"padding"),0>a.left&&v.va(a.left,">= 0",D,"padding:value.left"),0>a.right&&v.va(a.right,">= 0",D,"padding:value.right"),0>a.top&&v.va(a.top,">= 0",D,"padding:value.top"),0>a.bottom&&v.va(a.bottom,">= 0",D,"padding:value.bottom"));var b=this.Ue;b.K(a)||(this.Ue=a=a.S(),this.N(),this.h("padding",b,a))}); -v.defineProperty(D,{hl:"defaultAlignment"},function(){return this.qq},function(a){var b=this.qq;b.K(a)||(this.qq=a=a.S(),this.N(),this.h("defaultAlignment",b,a))});v.defineProperty(D,{Jd:"defaultStretch"},function(){return this.ni},function(a){var b=this.ni;b!==a&&(v.pb(a,G,D,"defaultStretch"),this.ni=a,this.N(),this.h("defaultStretch",b,a))}); -v.defineProperty(D,{IJ:"defaultSeparatorPadding"},function(){return void 0===this.kj?cd:this.kj},function(a){if(void 0!==this.kj){"number"===typeof a&&(a=new cb(a));var b=this.kj;b.K(a)||(this.kj=a=a.S(),this.h("defaultSeparatorPadding",b,a))}}); -v.defineProperty(D,{GJ:"defaultRowSeparatorStroke"},function(){return void 0===this.mi?null:this.mi},function(a){var b=this.mi;b!==a&&(null===a||"string"===typeof a||a instanceof ha)&&(a instanceof ha&&a.freeze(),this.mi=a,this.h("defaultRowSeparatorStroke",b,a))});v.defineProperty(D,{HJ:"defaultRowSeparatorStrokeWidth"},function(){return void 0===this.zh?1:this.zh},function(a){if(void 0!==this.zh){var b=this.zh;b!==a&&isFinite(a)&&0<=a&&(this.zh=a,this.h("defaultRowSeparatorStrokeWidth",b,a))}}); -v.defineProperty(D,{FJ:"defaultRowSeparatorDashArray"},function(){return void 0===this.Ql?null:this.Ql},function(a){if(void 0!==this.Ql){var b=this.Ql;if(b!==a){null===a||Array.isArray(a)||v.Cd(a,"Array",D,"defaultRowSeparatorDashArray:value");if(null!==a){for(var c=a.length,d=0,e=0;e=c&&(c=1);var d=this.Fw,e=d.width,d=d.height,f=this.Ha,h=f.width,f=f.height,k=Math.ceil(h/e),l=Math.ceil(f/d),m=this.TD;a.save();a.beginPath();a.rect(0,0,h,f);a.clip();for(var n=[],p=this.ya.n,q=p.length,r=0;r -e*t*c))){var s=n[r],u=!1,y=!0,B=w.dF;null!==B&&(u=!0,y=a.pz(B,w.le));if("LineV"===w.Ab){a.lineWidth=w.lb;Nm(this,a,w.stroke,!1,!1);a.beginPath();for(var H=x=Math.floor(-m.x/e);H<=x+k;H++){var C=H*e+m.x;0<=C&&Cf.height)continue}else if(l.position>f.width)continue;var m=l.Ep;isNaN(m)&&(m=c?a.zh:a.yh);var n=l.Dp;null===n&&(n=c?a.mi:a.xh);if(0!==m&&null!==n){Nm(a,b,n,!1,!1);var n=!1,p=!0,q=l.wI;null!==q&&(n=!0,void 0!==b.setLineDash?(b.setLineDash(q),b.lineDashOffset=a.le):void 0!==b.webkitLineDash?(b.webkitLineDash=q,b.webkitLineDashOffset=a.le):void 0!==b.mozDash? -(b.mozDash=q,b.mozDashOffset=a.le):p=!1);b.beginPath();var r=l.position+m;c?r>f.height&&(m-=r-f.height):r>f.width&&(m-=r-f.width);l=l.position+m/2;b.lineWidth=m;r=a.padding;c?(l+=r.top,m=r.left,r=f.width-r.right,n&&!p?Am(b,m,l,r,l,q,0):(b.moveTo(m,l),b.lineTo(r,l))):(l+=r.left,m=r.top,r=f.height-r.bottom,n&&!p?Am(b,l,m,l,r,q,0):(b.moveTo(l,m),b.lineTo(l,r)));b.stroke();n&&(void 0!==b.setLineDash?(b.setLineDash(v.hj),b.lineDashOffset=0):void 0!==b.webkitLineDash?(b.webkitLineDash=v.hj,b.webkitLineDashOffset= +function Do(a,b,c){var d=a.qc;0===d.width||0===d.height||isNaN(d.x)||isNaN(d.y)||(null!==a.Zb&&(Fo(a,b,a.Zb,!0,!0),a.Zb instanceof ha&&a.Zb.type===Xc?(b.beginPath(),b.rect(d.x,d.y,d.width,d.height),b.Gg(a.Zb)):b.fillRect(d.x,d.y,d.width,d.height)),null!==a.Db&&(Fo(a,b,a.Db,!0,!1),a.Db instanceof ha&&a.Db.type===Xc?(b.beginPath(),b.rect(d.x,d.y,d.width,d.height),b.Gg(a.Db)):b.fillRect(d.x,d.y,d.width,d.height)),a.wk(b,c))}G.prototype.wk=function(){}; +function Fo(a,b,c,d,e){if(null!==c){var f=1,h=1;if("string"===typeof c)d?b.fillStyle=c:b.strokeStyle=c;else if(c.type===og)d?b.fillStyle=c.color:b.strokeStyle=c.color;else{var k,h=a.Ja,f=h.width,h=h.height;if(e)var l=a.Y,f=l.width,h=l.height;var m=b instanceof Sc;if(m&&c.ah&&(c.type===Ln||c.no===f&&c.zy===h))k=c.ah;else{var n=l=0,p=0,q=0,r=0,s=0,s=r=0;e&&(l=a.Y,f=l.width,h=l.height,r=l.x,s=l.y);l=c.start.x*f+c.start.offsetX;n=c.start.y*h+c.start.offsetY;p=c.end.x*f+c.end.offsetX;q=c.end.y*h+c.end.offsetY; +l+=r;p+=r;n+=s;q+=s;if(c.type===pg)k=b.createLinearGradient(l,n,p,q);else if(c.type===Xc)s=isNaN(c.Et)?Math.max(f,h)/2:c.Et,isNaN(c.Gu)?(r=0,s=Math.max(f,h)/2):r=c.Gu,k=b.createRadialGradient(l,n,r,p,q,s);else if(c.type===Ln)try{k=b.createPattern(c.pattern,"repeat")}catch(u){k=null}else v.yd(c.type,"Brush type");if(c.type!==Ln&&(e=c.rk,null!==e))for(e=e.i;e.next();)k.addColorStop(e.key,e.value);if(m&&(c.ah=k,null!==k&&(c.no=f,c.zy=h),null===k&&c.type===Ln&&-1!==c.no)){c.no=-1;var t=a.g;null!==t&& +-1===c.no&&v.setTimeout(function(){t.Mx()},600)}}d?b.fillStyle=k:b.strokeStyle=k}}}G.prototype.isContainedBy=G.prototype.Vl=function(a){if(a instanceof D)a:{if(this!==a&&null!==a)for(var b=this.N;null!==b;){if(b===a){a=!0;break a}b=b.N}a=!1}else a=!1;return a};G.prototype.isVisibleObject=G.prototype.rj=function(){if(!this.visible)return!1;var a=this.N;return null!==a?a.rj():!0}; +G.prototype.isEnabledObject=G.prototype.Yt=function(){for(var a=this instanceof D?this:this.N;null!==a&&a.isEnabled;)a=a.N;return null===a};v.defineProperty(G,{uE:"enabledChanged"},function(){return null!==this.ia?this.ia.pr:null},function(a){mo(this);var b=this.ia.pr;b!==a&&(null!==a&&v.j(a,"function",G,"enabledChanged"),this.ia.pr=a,this.h("enabledChanged",b,a))}); +function Eo(a){if(0!==(a.P&2048)===!0){var b=a.fd;b.reset();if(!a.qc.H()||!a.rd.H()){Ho(a,!1);return}b.translate(a.qc.x,a.qc.y);b.translate(-a.Aa.x,-a.Aa.y);var c=a.Ja;uo(a,b,c.x,c.y,c.width,c.height);Ho(a,!1);Io(a,!0)}0!==(a.P&4096)===!0&&(b=a.N,null===b?(a.mm.set(a.fd),a.yo=a.scale,Io(a,!1)):null!==b.oh&&(c=a.mm,c.reset(),b.Xg()?c.multiply(b.mm):null!==b.N&&c.multiply(b.N.mm),c.multiply(a.fd),a.yo=a.scale*b.yo,Io(a,!1)))} +function uo(a,b,c,d,e,f){1!==a.scale&&b.scale(a.scale);if(0!==a.angle){var h=Gb;a.pf&&a.pf.jd()&&(h=a.pf);var k=v.K();if(a instanceof S&&a.ec!==a)for(c=a.ec,d=c.Ja,k.Du(d.x,d.y,d.width,d.height,h),c.Oi.ob(k),k.offset(-c.Aa.x,-c.Aa.y),h=c.N;null!==h&&h!==a;)h.Oi.ob(k),k.offset(-h.Aa.x,-h.Aa.y),h=h.N;else k.Du(c,d,e,f,h);b.rotate(a.angle,k.x,k.y);v.v(k)}}g=G.prototype;g.I=function(a){void 0===a&&(a=!1);if(!0!==tm(this)){Vl(this,!0);xo(this,!0);var b=this.N;null===b||a||b.I()}}; +g.Yp=function(){!0!==tm(this)&&(Vl(this,!0),xo(this,!0))};function Jo(a){if(!1===um(a)){var b=a.N;null!==b?b.I():a instanceof S&&(b=a.g,null!==b&&(b.pg.add(a),a instanceof T&&a.Uf(),b.Me()));xo(a,!0)}}g.Hi=function(){0!==(this.P&2048)===!1&&(Ho(this,!0),Io(this,!0))};g.nA=function(){Io(this,!0)};g.oa=function(){var a=this.V;null!==a&&a.oa()}; +function wo(a,b){var c=a.stretch,d=a.N;if(null!==d&&d.ka===Ko)return Lo(a,d.ce(a.Yb),d.be(a.column),b);if(null!==d&&d.ka===Bl&&d.Jd()===a)return Mo(a,Be,b);if(c===fo){if(null!==d){if(d.ka===wj&&d.Jd()===a)return Mo(a,Be,b);c=d.$d;return c===fo?Mo(a,yj,b):Mo(a,c,b)}return Mo(a,yj,b)}return Mo(a,c,b)} +function Lo(a,b,c,d){var e=a.stretch;if(e!==fo)return Mo(a,e,d);var f=e=null;switch(b.stretch){case ho:f=!0;break;case Be:f=!0}switch(c.stretch){case io:e=!0;break;case Be:e=!0}b=a.N.$d;null===e&&(e=b===io||b===Be);null===f&&(f=b===ho||b===Be);return!0===e&&!0===f?Mo(a,Be,d):!0===e?Mo(a,io,d):!0===f?Mo(a,ho,d):Mo(a,yj,d)} +function Mo(a,b,c){if(c)return b;if(b===yj)return yj;c=a.Ba;if(c.H())return yj;a=a.angle;if(!isNaN(c.width))if(90!==a&&270!==a){if(b===io)return yj;if(b===Be)return ho}else{if(b===ho)return yj;if(b===Be)return io}if(!isNaN(c.height))if(90!==a&&270!==a){if(b===ho)return yj;if(b===Be)return io}else{if(b===io)return yj;if(b===Be)return ho}return b} +v.defineProperty(G,{rq:"segmentOrientation"},function(){return this.Ym},function(a){var b=this.Ym;b!==a&&(this.Ym=a,this.I(),this.h("segmentOrientation",b,a),a===cj&&(this.angle=0))});v.defineProperty(G,{Ne:"segmentIndex"},function(){return this.Ms},function(a){a=Math.round(a);var b=this.Ms;b!==a&&(this.Ms=a,this.I(),this.h("segmentIndex",b,a))}); +v.defineProperty(G,{TA:"segmentFraction"},function(){return this.Wm},function(a){isNaN(a)?a=0:0>a?a=0:1a||1=a&&v.k("GraphObject.scale for "+this+" must be greater than zero, not: "+a),this.Lb=a,this.Hi(),this.I(),this.h("scale",b,a))});v.defineProperty(G,{angle:"angle"},function(){return this.fg},function(a){var b=this.fg;b!==a&&(a%=360,0>a&&(a+=360),b!==a&&(this.fg=a,this.I(),this.Hi(),this.h("angle",b,a)))}); +v.defineProperty(G,{Ba:"desiredSize"},function(){return this.Re},function(a){var b=a.width,c=a.height,d=this.Re,e=d.width,f=d.height;(e===b||isNaN(e)&&isNaN(b))&&(f===c||isNaN(f)&&isNaN(c))||(this.Re=a=a.S(),this.I(),this instanceof X&&this.Le(),this.h("desiredSize",d,a),ro(this)&&(a=this.V,null!==a&&(so(this,a,"width"),so(this,a,"height"))))}); +v.defineProperty(G,{width:"width"},function(){return this.Re.width},function(a){var b=this.Re.width;b===a||isNaN(b)&&isNaN(a)||(b=this.Re,this.Re=a=(new ia(a,this.Re.height)).freeze(),this.I(),this instanceof X&&this.Le(),this.h("desiredSize",b,a),ro(this)&&(a=this.V,null!==a&&so(this,a,"width")))}); +v.defineProperty(G,{height:"height"},function(){return this.Re.height},function(a){var b=this.Re.height;b===a||isNaN(b)&&isNaN(a)||(b=this.Re,this.Re=a=(new ia(this.Re.width,a)).freeze(),this.I(),this instanceof X&&this.Le(),this.h("desiredSize",b,a),ro(this)&&(a=this.V,null!==a&&so(this,a,"height")))}); +v.defineProperty(G,{yh:"minSize"},function(){return this.Uh},function(a){var b=this.Uh;b.L(a)||(a=a.copy(),isNaN(a.width)&&(a.width=0),isNaN(a.height)&&(a.height=0),a.freeze(),this.Uh=a,this.I(),this.h("minSize",b,a))});v.defineProperty(G,{Bf:"maxSize"},function(){return this.Th},function(a){var b=this.Th;b.L(a)||(a=a.copy(),isNaN(a.width)&&(a.width=Infinity),isNaN(a.height)&&(a.height=Infinity),a.freeze(),this.Th=a,this.I(),this.h("maxSize",b,a))});v.u(G,{Aa:"measuredBounds"},function(){return this.rd}); +v.u(G,{Ja:"naturalBounds"},function(){return this.Ic},{configurable:!0});v.defineProperty(G,{margin:"margin"},function(){return this.Jm},function(a){"number"===typeof a&&(a=new mb(a));var b=this.Jm;b.L(a)||(this.Jm=a=a.S(),this.I(),this.h("margin",b,a))});v.u(G,{transform:null},function(){0!==(this.P&2048)===!0&&Eo(this);return this.fd});v.u(G,{oh:null},function(){0!==(this.P&4096)===!0&&Eo(this);return this.mm}); +v.defineProperty(G,{alignment:"alignment"},function(){return this.he},function(a){var b=this.he;b.L(a)||(a.Od()&&!a.Xc()&&v.k("GraphObject.alignment for "+this+" must be a real Spot or Spot.Default, not: "+a),this.he=a=a.S(),Jo(this),this.h("alignment",b,a))});v.defineProperty(G,{column:"column"},function(){return this.Sq},function(a){a=Math.round(a);var b=this.Sq;b!==a&&(0>a&&v.Fa(a,">= 0",G,"column"),this.Sq=a,this.I(),this.h("column",b,a))}); +v.defineProperty(G,{pH:"columnSpan"},function(){return this.wi},function(a){a=Math.round(a);var b=this.wi;b!==a&&(1>a&&v.Fa(a,">= 1",G,"columnSpan"),this.wi=a,this.I(),this.h("columnSpan",b,a))});v.defineProperty(G,{Yb:"row"},function(){return this.Is},function(a){a=Math.round(a);var b=this.Is;b!==a&&(0>a&&v.Fa(a,">= 0",G,"row"),this.Is=a,this.I(),this.h("row",b,a))}); +v.defineProperty(G,{rowSpan:"rowSpan"},function(){return this.Zi},function(a){a=Math.round(a);var b=this.Zi;b!==a&&(1>a&&v.Fa(a,">= 1",G,"rowSpan"),this.Zi=a,this.I(),this.h("rowSpan",b,a))});v.defineProperty(G,{Zx:"spanAllocation"},function(){return this.Ys},function(a){var b=this.Ys;b!==a&&(null!==a&&v.j(a,"function",G,"spanAllocation"),this.Ys=a,this.I(),this.h("spanAllocation",b,a))}); +v.defineProperty(G,{nh:"alignmentFocus"},function(){return this.lm},function(a){var b=this.lm;b.L(a)||(!a.Od()||a.Xc()||a.L(vb)&&this instanceof T||v.k("GraphObject.alignmentFocus must be a real Spot or Spot.Default, not: "+a),this.lm=a=a.S(),this.I(),this.h("alignmentFocus",b,a))}); +v.defineProperty(G,{Qd:"portId"},function(){return this.xs},function(a){var b=this.xs;if(b!==a){var c=this.V;null===c||c instanceof T||(v.k("Cannot set portID on a Link: "+a),c=null);null!==b&&null!==c&&Qo(c,this);this.xs=a;if(null!==a&&c){c.Bk=!0;null===c.ne&&Ro(c);var d=this.Qd;null!==d&&c.ne.add(d,this)}this.h("portId",b,a)}});function So(a){var b=a.V;if(b instanceof T&&(null!==a.Qd||a===b.port)){var c=b.g;null===c||c.pa.eb||Ao(b,a)}} +function No(a){var b=a.g;null===b||b.pa.eb||(a instanceof D?a instanceof T?a.Uf():To(a,a,function(a){So(a)}):So(a))}v.defineProperty(G,{Bb:"toSpot"},function(){return null!==this.U?this.U.mk:vb},function(a){this.Ld();var b=this.U.mk;b.L(a)||(a=a.S(),this.U.mk=a,this.h("toSpot",b,a),So(this))}); +v.defineProperty(G,{hm:"toEndSegmentLength"},function(){return null!==this.U?this.U.kk:10},function(a){this.Ld();var b=this.U.kk;b!==a&&(0>a&&v.Fa(a,">= 0",G,"toEndSegmentLength"),this.U.kk=a,this.h("toEndSegmentLength",b,a),So(this))});v.defineProperty(G,{Hu:"toEndSegmentDirection"},function(){return null!==this.U?this.U.jk:po},function(a){this.Ld();var b=this.U.jk;b!==a&&(v.Ct("GraphObject.toEndSegmentDirection","2.0"),this.U.jk=a,this.h("toEndSegmentDirection",b,a),So(this))}); +v.defineProperty(G,{Iu:"toShortLength"},function(){return null!==this.U?this.U.lk:0},function(a){this.Ld();var b=this.U.lk;b!==a&&(this.U.lk=a,this.h("toShortLength",b,a),So(this))});v.defineProperty(G,{cG:"toLinkable"},function(){return null!==this.U?this.U.gt:null},function(a){this.Ld();var b=this.U.gt;b!==a&&(this.U.gt=a,this.h("toLinkable",b,a))}); +v.defineProperty(G,{OJ:"toMaxLinks"},function(){return null!==this.U?this.U.ht:Infinity},function(a){this.Ld();var b=this.U.ht;b!==a&&(0>a&&v.Fa(a,">= 0",G,"toMaxLinks"),this.U.ht=a,this.h("toMaxLinks",b,a))});v.defineProperty(G,{Ab:"fromSpot"},function(){return null!==this.U?this.U.Nj:vb},function(a){this.Ld();var b=this.U.Nj;b.L(a)||(a=a.S(),this.U.Nj=a,this.h("fromSpot",b,a),So(this))}); +v.defineProperty(G,{Pl:"fromEndSegmentLength"},function(){return null!==this.U?this.U.Lj:10},function(a){this.Ld();var b=this.U.Lj;b!==a&&(0>a&&v.Fa(a,">= 0",G,"fromEndSegmentLength"),this.U.Lj=a,this.h("fromEndSegmentLength",b,a),So(this))});v.defineProperty(G,{Ot:"fromEndSegmentDirection"},function(){return null!==this.U?this.U.Kj:po},function(a){this.Ld();var b=this.U.Kj;b!==a&&(v.Ct("GraphObject.fromEndSegmentDirection","2.0"),this.U.Kj=a,this.h("fromEndSegmentDirection",b,a),So(this))}); +v.defineProperty(G,{Pt:"fromShortLength"},function(){return null!==this.U?this.U.Mj:0},function(a){this.Ld();var b=this.U.Mj;b!==a&&(this.U.Mj=a,this.h("fromShortLength",b,a),So(this))});v.defineProperty(G,{EE:"fromLinkable"},function(){return null!==this.U?this.U.sr:null},function(a){this.Ld();var b=this.U.sr;b!==a&&(this.U.sr=a,this.h("fromLinkable",b,a))}); +v.defineProperty(G,{dA:"fromMaxLinks"},function(){return null!==this.U?this.U.tr:Infinity},function(a){this.Ld();var b=this.U.tr;b!==a&&(0>a&&v.Fa(a,">= 0",G,"fromMaxLinks"),this.U.tr=a,this.h("fromMaxLinks",b,a))});v.defineProperty(G,{cursor:"cursor"},function(){return this.$q},function(a){var b=this.$q;b!==a&&(v.j(a,"string",G,"cursor"),this.$q=a,this.h("cursor",b,a))}); +v.defineProperty(G,{click:"click"},function(){return null!==this.ia?this.ia.vi:null},function(a){mo(this);var b=this.ia.vi;b!==a&&(null!==a&&v.j(a,"function",G,"click"),this.ia.vi=a,this.h("click",b,a))});v.defineProperty(G,{Dt:"doubleClick"},function(){return null!==this.ia?this.ia.Di:null},function(a){mo(this);var b=this.ia.Di;b!==a&&(null!==a&&v.j(a,"function",G,"doubleClick"),this.ia.Di=a,this.h("doubleClick",b,a))}); +v.defineProperty(G,{Oz:"contextClick"},function(){return null!==this.ia?this.ia.xi:null},function(a){mo(this);var b=this.ia.xi;b!==a&&(null!==a&&v.j(a,"function",G,"contextClick"),this.ia.xi=a,this.h("contextClick",b,a))});v.defineProperty(G,{ju:"mouseEnter"},function(){return null!==this.ia?this.ia.hs:null},function(a){mo(this);var b=this.ia.hs;b!==a&&(null!==a&&v.j(a,"function",G,"mouseEnter"),this.ia.hs=a,this.h("mouseEnter",b,a))}); +v.defineProperty(G,{ku:"mouseLeave"},function(){return null!==this.ia?this.ia.js:null},function(a){mo(this);var b=this.ia.js;b!==a&&(null!==a&&v.j(a,"function",G,"mouseLeave"),this.ia.js=a,this.h("mouseLeave",b,a))});v.defineProperty(G,{DA:"mouseOver"},function(){return null!==this.ia?this.ia.Ti:null},function(a){mo(this);var b=this.ia.Ti;b!==a&&(null!==a&&v.j(a,"function",G,"mouseOver"),this.ia.Ti=a,this.h("mouseOver",b,a))}); +v.defineProperty(G,{CA:"mouseHover"},function(){return null!==this.ia?this.ia.Si:null},function(a){mo(this);var b=this.ia.Si;b!==a&&(null!==a&&v.j(a,"function",G,"mouseHover"),this.ia.Si=a,this.h("mouseHover",b,a))});v.defineProperty(G,{BA:"mouseHold"},function(){return null!==this.ia?this.ia.Ri:null},function(a){mo(this);var b=this.ia.Ri;b!==a&&(null!==a&&v.j(a,"function",G,"mouseHold"),this.ia.Ri=a,this.h("mouseHold",b,a))}); +v.defineProperty(G,{RI:"mouseDragEnter"},function(){return null!==this.ia?this.ia.fs:null},function(a){mo(this);var b=this.ia.fs;b!==a&&(null!==a&&v.j(a,"function",G,"mouseDragEnter"),this.ia.fs=a,this.h("mouseDragEnter",b,a))});v.defineProperty(G,{SI:"mouseDragLeave"},function(){return null!==this.ia?this.ia.gs:null},function(a){mo(this);var b=this.ia.gs;b!==a&&(null!==a&&v.j(a,"function",G,"mouseDragLeave"),this.ia.gs=a,this.h("mouseDragLeave",b,a))}); +v.defineProperty(G,{AA:"mouseDrop"},function(){return null!==this.ia?this.ia.Qi:null},function(a){mo(this);var b=this.ia.Qi;b!==a&&(null!==a&&v.j(a,"function",G,"mouseDrop"),this.ia.Qi=a,this.h("mouseDrop",b,a))});v.defineProperty(G,{RD:"actionDown"},function(){return null!==this.ia?this.ia.Cq:null},function(a){mo(this);var b=this.ia.Cq;b!==a&&(null!==a&&v.j(a,"function",G,"actionDown"),this.ia.Cq=a,this.h("actionDown",b,a))}); +v.defineProperty(G,{SD:"actionMove"},function(){return null!==this.ia?this.ia.Dq:null},function(a){mo(this);var b=this.ia.Dq;b!==a&&(null!==a&&v.j(a,"function",G,"actionMove"),this.ia.Dq=a,this.h("actionMove",b,a))});v.defineProperty(G,{TD:"actionUp"},function(){return null!==this.ia?this.ia.Eq:null},function(a){mo(this);var b=this.ia.Eq;b!==a&&(null!==a&&v.j(a,"function",G,"actionUp"),this.ia.Eq=a,this.h("actionUp",b,a))}); +v.defineProperty(G,{QD:"actionCancel"},function(){return null!==this.ia?this.ia.Bq:null},function(a){mo(this);var b=this.ia.Bq;b!==a&&(null!==a&&v.j(a,"function",G,"actionCancel"),this.ia.Bq=a,this.h("actionCancel",b,a))});v.defineProperty(G,{jB:"toolTip"},function(){return null!==this.ia?this.ia.bj:null},function(a){mo(this);var b=this.ia.bj;b!==a&&(this.ia.bj=a,this.h("toolTip",b,a))}); +v.defineProperty(G,{contextMenu:"contextMenu"},function(){return null!==this.ia?this.ia.yi:null},function(a){mo(this);var b=this.ia.yi;b!==a&&(this.ia.yi=a,this.h("contextMenu",b,a))});G.prototype.bind=G.prototype.bind=function(a){a.Ag=this;var b=this.Nl();null!==b&&Uo(b)&&v.k("Cannot add a Binding to a template that has already been copied: "+a);null===this.vc&&(this.vc=new I(dh));this.vc.add(a)}; +G.prototype.findTemplateBinder=G.prototype.Nl=function(){for(var a=this instanceof D?this:this.N;null!==a;){if(null!==a.Wk)return a;a=a.N}return null};G.prototype.setProperties=function(a){v.Bu(this,a)};var Vo; +G.make=Vo=function(a,b){var c=arguments,d=null,e=null;if("function"===typeof a)e=a;else if("string"===typeof a){var f=Wo.na(a);"function"===typeof f?(c=v.Fl(arguments),d=f(c)):e=da[a]}null===d&&(void 0===e&&(d=window.$,void 0!==d&&void 0!==d.noop&&v.k("GraphObject.make failed to complete. Is it conflicting with another $ var? (such as jQuery)"),v.k("GraphObject.make failed to complete, it may be conflicting with another var.")),null!==e&&e.constructor||v.k("GraphObject.make requires a class function or class name, not: "+ +a),d=new e);f=1;if(d instanceof E&&1e)&&v.k("Must specify non-negative integer row for RowColumnDefinition "+b+", not: "+e),a.xe=!0, +a.index=e):void 0!==b.column&&(e=b.column,(void 0===e||null===e||Infinity===e||isNaN(e)||0>e)&&v.k("Must specify non-negative integer column for RowColumnDefinition "+b+", not: "+e),a.xe=!1,a.index=e);e=new ua;for(c in b)"row"!==c&&"column"!==c&&(e[c]=b[c]);v.Bu(a,e)}else v.Bu(a,b);else v.k('Unknown initializer "'+b+'" for object being constructed by GraphObject.make: '+a)}var Wo=new la("string","function"); +G.getBuilders=function(){var a=new la("string","function"),b;for(b in Wo)if(b!==b.toLowerCase()){var c=Wo[b];"function"===typeof c&&a.add(b,c)}a.freeze();return a};var Yo;G.defineBuilder=Yo=function(a,b){v.j(a,"string",G,"defineBuilder:name");v.j(b,"function",G,"defineBuilder:func");var c=a.toLowerCase();""!==a&&"none"!==c&&a!==c||v.k("Shape.defineFigureGenerator name must not be empty or None or all-lower-case: "+a);Wo.add(a,b)};var Zo; +G.takeBuilderArgument=Zo=function(a,b,c){void 0===c&&(c=null);var d=a[1];if("function"===typeof c?c(d):"string"===typeof d)return a.splice(1,1),d;if(void 0===b)throw Error("no "+("function"===typeof c?"satisfactory":"string")+" argument for GraphObject builder "+a[0]);return b}; +Yo("Button",function(){var a=new ha(pg);a.addColorStop(0,"white");a.addColorStop(1,"lightgray");var b=new ha(pg);b.addColorStop(0,"white");b.addColorStop(1,"dodgerblue");a=Vo(D,Bl,{nx:!0,uE:function(a,b){var e=a.ud("ButtonBorder");null!==e&&(e.fill=b?a._buttonFillNormal:a._buttonFillDisabled)},_buttonFillNormal:a,_buttonStrokeNormal:"gray",_buttonFillOver:b,_buttonStrokeOver:"blue",_buttonFillDisabled:"darkgray"},Vo(X,{name:"ButtonBorder",Cb:"Rectangle",A:new L(0,0,2.761423749153968,2.761423749153968), +B:new L(1,1,-2.761423749153968,-2.761423749153968),fill:a,stroke:"gray"}));a.ju=function(a,b){if(b.Yt()){var e=b.ud("ButtonBorder");if(e instanceof X){var f=b._buttonFillOver;b._buttonFillNormal=e.fill;e.fill=f;f=b._buttonStrokeOver;b._buttonStrokeNormal=e.stroke;e.stroke=f}}};a.ku=function(a,b){if(b.Yt()){var e=b.ud("ButtonBorder");e instanceof X&&(e.fill=b._buttonFillNormal,e.stroke=b._buttonStrokeNormal)}};return a}); +Yo("TreeExpanderButton",function(){var a=Vo("Button",{_treeExpandedFigure:"MinusLine",_treeCollapsedFigure:"PlusLine"},Vo(X,{name:"ButtonIcon",Cb:"MinusLine",Ba:ud},(new dh("figure","isTreeExpanded",function(a,c){var d=c.N;return a?d._treeExpandedFigure:d._treeCollapsedFigure})).Ex()),{visible:!1},(new dh("visible","isTreeLeaf",function(a){return!a})).Ex());a.click=function(a,c){var d=c.V;d instanceof mh&&(d=d.Of);if(d instanceof T){var e=d.g;if(null!==e){e=e.pb;if(d.kd){if(!e.canCollapseTree(d))return}else if(!e.canExpandTree(d))return; +a.Cc=!0;d.kd?e.collapseTree(d):e.expandTree(d)}}};return a}); +Yo("SubGraphExpanderButton",function(){var a=Vo("Button",{_subGraphExpandedFigure:"MinusLine",_subGraphCollapsedFigure:"PlusLine"},Vo(X,{name:"ButtonIcon",Cb:"MinusLine",Ba:ud},(new dh("figure","isSubGraphExpanded",function(a,c){var d=c.N;return a?d._subGraphExpandedFigure:d._subGraphCollapsedFigure})).Ex()));a.click=function(a,c){var d=c.V;d instanceof mh&&(d=d.Of);if(d instanceof V){var e=d.g;if(null!==e){e=e.pb;if(d.ye){if(!e.canCollapseSubGraph(d))return}else if(!e.canExpandSubGraph(d))return;a.Cc= +!0;d.ye?e.collapseSubGraph(d):e.expandSubGraph(d)}}};return a});Yo("ContextMenuButton",function(){var a=Vo("Button");a.stretch=io;var b=a.ud("ButtonBorder");b instanceof X&&(b.Cb="Rectangle",b.A=new L(0,0,2,3),b.B=new L(1,1,-2,-2));return a}); +Yo("PanelExpanderButton",function(a){var b=Zo(a,"COLLAPSIBLE"),c=Vo("Button",{_buttonExpandedFigure:"TriangleUp",_buttonCollapsedFigure:"TriangleDown"},Vo(X,"TriangleUp",{name:"ButtonIcon",Ba:new ia(6,4)},(new dh("figure","visible",function(a){return a?c._buttonExpandedFigure:c._buttonCollapsedFigure})).Ex(b)));a=c.ud("ButtonBorder");a instanceof X&&(a.stroke=null,a.fill="transparent");c.click=function(a,c){var f=c.g;if(null!==f&&!f.bb){var h=c.Nl();null===h&&(h=c.V);null!==h&&(h=h.ud(b),null!==h&& +(f.Tb("Collapse/Expand Panel"),h.visible=!h.visible,f.Hd("Collapse/Expand Panel")))}};return c}); +Yo("CheckBoxButton",function(a){var b=Zo(a);a=Vo("Button",{"ButtonBorder.fill":"white","ButtonBorder.stroke":"gray",width:14,height:14},Vo(X,{name:"ButtonIcon",RH:"M0 4 L3 9 9 0",fb:2,stretch:Be,eA:Lj,visible:!1},""!==b?(new dh("visible",b)).FI():[]));a.click=function(a,d){var e=a.g;if(!(null===e||e.bb||""!==b&&e.ca.bb)){a.Cc=!0;var f=d.ud("ButtonIcon");e.Tb("checkbox");f.visible=!f.visible;"function"===typeof d._doClick&&d._doClick(a,d);e.Hd("checkbox")}};return a}); +Yo("CheckBox",function(a){a=Zo(a);a=Vo("CheckBoxButton",a,{name:"Button",margin:new mb(0,1,0,0)});var b=Vo(D,"Horizontal",a,{nx:!0,margin:1,_buttonFillNormal:a._buttonFillNormal,_buttonStrokeNormal:a._buttonStrokeNormal,_buttonFillOver:a._buttonFillOver,_buttonStrokeOver:a._buttonStrokeOver,_buttonFillDisabled:a._buttonFillDisabled,ju:a.ju,ku:a.ku,click:a.click,_buttonClick:a.click});a.ju=null;a.ku=null;a.click=null;return b}); +function no(){this.pr=this.yi=this.bj=this.Bq=this.Eq=this.Dq=this.Cq=this.Qi=this.gs=this.fs=this.Ri=this.Si=this.Ti=this.js=this.hs=this.xi=this.Di=this.vi=null}no.prototype.copy=function(){var a=new no;a.vi=this.vi;a.Di=this.Di;a.xi=this.xi;a.hs=this.hs;a.js=this.js;a.Ti=this.Ti;a.Si=this.Si;a.Ri=this.Ri;a.fs=this.fs;a.gs=this.gs;a.Qi=this.Qi;a.Cq=this.Cq;a.Dq=this.Dq;a.Eq=this.Eq;a.Bq=this.Bq;a.bj=this.bj;a.yi=this.yi;a.pr=this.pr;return a}; +function D(a){G.call(this);void 0===a?0===arguments.length?this.ka=Oj:v.k("invalid argument to Panel constructor: undefined"):(v.nb(a,D,D,"type"),this.ka=a);this.xa=new I(G);this.jf=hd;this.ka===El&&(this.En=!0);this.dr=nc;this.Bi=fo;this.ka===Ko&&$o(this);this.zp=Lj;this.Br=wd;this.Cr=$c;this.yr=0;this.xr=100;this.Ar=10;this.zr=0;this.Wk=this.ie=this.Oj=this.vm=this.xm=null;this.Nr=NaN;this.rg=this.Vj=null;this.Qo="category";this.qg=null;this.dj=new B(NaN,NaN,NaN,NaN);this.ik=this.Js=this.dn=null; +this.Dj=""}v.Ma(D,G);v.ii(D);v.ga("Panel",D);function $o(a){a.Hj=hd;a.Mh=1;a.Ai=null;a.sm=null;a.Lh=1;a.Kh=null;a.rm=null;a.Yd=[];a.Ud=[];a.Vm=ap;a.qm=ap;a.cj=0;a.Li=0} +D.prototype.cloneProtected=function(a){G.prototype.cloneProtected.call(this,a);a.ka=this.ka;a.jf=this.jf.S();a.dr=this.dr.S();a.Bi=this.Bi;if(a.ka===Ko){a.Hj=this.Hj.S();a.Mh=this.Mh;a.Ai=this.Ai;a.sm=this.sm;a.Lh=this.Lh;a.Kh=this.Kh;a.rm=this.rm;var b=[];if(0a&&v.Fa(a,">= 0",D,"padding"),a=new mb(a)):(v.F(a,mb,D,"padding"),0>a.left&&v.Fa(a.left,">= 0",D,"padding:value.left"),0>a.right&&v.Fa(a.right,">= 0",D,"padding:value.right"),0>a.top&&v.Fa(a.top,">= 0",D,"padding:value.top"),0>a.bottom&&v.Fa(a.bottom,">= 0",D,"padding:value.bottom"));var b=this.jf;b.L(a)||(this.jf=a=a.S(),this.I(),this.h("padding",b,a))}); +v.defineProperty(D,{Jl:"defaultAlignment"},function(){return this.dr},function(a){var b=this.dr;b.L(a)||(this.dr=a=a.S(),this.I(),this.h("defaultAlignment",b,a))});v.defineProperty(D,{$d:"defaultStretch"},function(){return this.Bi},function(a){var b=this.Bi;b!==a&&(v.nb(a,G,D,"defaultStretch"),this.Bi=a,this.I(),this.h("defaultStretch",b,a))}); +v.defineProperty(D,{MK:"defaultSeparatorPadding"},function(){return void 0===this.Hj?hd:this.Hj},function(a){if(void 0!==this.Hj){"number"===typeof a&&(a=new mb(a));var b=this.Hj;b.L(a)||(this.Hj=a=a.S(),this.I(),this.h("defaultSeparatorPadding",b,a))}}); +v.defineProperty(D,{KK:"defaultRowSeparatorStroke"},function(){return void 0===this.Ai?null:this.Ai},function(a){var b=this.Ai;b!==a&&(null===a||"string"===typeof a||a instanceof ha)&&(a instanceof ha&&a.freeze(),this.Ai=a,this.oa(),this.h("defaultRowSeparatorStroke",b,a))}); +v.defineProperty(D,{LK:"defaultRowSeparatorStrokeWidth"},function(){return void 0===this.Mh?1:this.Mh},function(a){if(void 0!==this.Mh){var b=this.Mh;b!==a&&isFinite(a)&&0<=a&&(this.Mh=a,this.I(),this.h("defaultRowSeparatorStrokeWidth",b,a))}}); +v.defineProperty(D,{JK:"defaultRowSeparatorDashArray"},function(){return void 0===this.sm?null:this.sm},function(a){if(void 0!==this.sm){var b=this.sm;if(b!==a){null===a||Array.isArray(a)||v.yd(a,"Array",D,"defaultRowSeparatorDashArray:value");if(null!==a){for(var c=a.length,d=0,e=0;e=c&&(c=1);var d=this.lx,e=d.width,d=d.height,f=this.Ja,h=f.width,f=f.height,k=Math.ceil(h/e),l=Math.ceil(f/d),m=this.NE;a.save();a.beginPath();a.rect(0,0,h,f);a.clip();for(var n=[],p=this.xa.n,q=p.length,r=0;r +e*u*c))){var s=n[r],t=!1,z=!0,A=w.$F;null!==A&&(t=!0,z=a.Yz(A,w.Fe));if("LineV"===w.Cb){a.lineWidth=w.fb;Fo(this,a,w.stroke,!1,!1);a.beginPath();for(var H=x=Math.floor(-m.x/e);H<=x+k;H++){var C=H*e+m.x;0<=C&&C=e&&(e=1);d=c.Y;h=this.xa.n;f=this.xm;k=h.length;for(l=0;lthis.iA*q.interval*e))for(r=q.Aa,u=q.fb*q.scale,s=q.nh,s.Od()&&(s=yb),p=0;pf.height)continue}else if(l.position>f.width)continue;var m=l.tq;isNaN(m)&&(m=c?a.Mh:a.Lh);var n=l.sq;null===n&&(n=c?a.Ai:a.Kh);if(0!==m&&null!==n){Fo(a,b,n,!1,!1);var n=!1,p=!0,q=l.yJ;null!==q&&(n=!0,void 0!==b.setLineDash?(b.setLineDash(q),b.lineDashOffset=a.Fe):void 0!==b.webkitLineDash?(b.webkitLineDash=q,b.webkitLineDashOffset=a.Fe):void 0!==b.mozDash? +(b.mozDash=q,b.mozDashOffset=a.Fe):p=!1);b.beginPath();var r=l.position+m;c?r>f.height&&(m-=r-f.height):r>f.width&&(m-=r-f.width);l=l.position+m/2;b.lineWidth=m;r=a.padding;c?(l+=r.top,m=r.left,r=f.width-r.right,n&&!p?qo(b,m,l,r,l,q,0):(b.moveTo(m,l),b.lineTo(r,l))):(l+=r.left,m=r.top,r=f.height-r.bottom,n&&!p?qo(b,l,m,l,r,q,0):(b.moveTo(l,m),b.lineTo(l,r)));b.stroke();n&&(void 0!==b.setLineDash?(b.setLineDash(v.Jk),b.lineDashOffset=0):void 0!==b.webkitLineDash?(b.webkitLineDash=v.Jk,b.webkitLineDashOffset= 0):void 0!==b.mozDash&&(b.mozDash=null,b.mozDashOffset=0))}}}} -function Qn(a,b,c,d,e){for(var f=d.length,h=a.U,k=0;km)){var n=l.Ie(),p=l.Ep;isNaN(p)&&(p=c?a.zh:a.yh);var q=l.Dp;null===q&&(q=c?a.mi:a.xh);null===q&&(p=0);n-=p;p=l.position+p;n+=l.Ia;p+n>m&&(n=m-p);0>=n||(m=a.padding,Nm(a,b,l.background,!0,!1),c?b.fillRect(m.left,p+m.top,h.width-(m.left+m.right),n):b.fillRect(p+m.left,m.top,n,h.height-(m.top+m.bottom)))}}}} -function Pn(a,b,c){if(0!==a%b)return!1;b=c.length;for(var d=0;dhd&&(Nc=Math.max(hd-id,0));var sh=0===X.Ia;X.Ia+=Nc;hd=Math.max(hd-(Nc+(sh?id:0)),0)}1!==ca.ii|| -Wc!==Si&&Wc!==um||(X=this.Ld(xc),id=X.Ie(),Nc=Math.max(Re-X.Ia,0),Nc+id>yc&&(Nc=Math.max(yc-id,0)),sh=0===X.Ia,X.Ia+=Nc,yc=Math.max(yc-(Nc+(sh?id:0)),0));Rg&&ca.ep()}}}v.sa(rh);for(var Td=0,Ud=0,Fa=this.No,da=0;da=this.Cp);fb++)X=this.Md(ca.Wb+ -fb),Vd.height+=Math.max(X.aj,isNaN(X.Ve)?X.gf:Math.min(X.Ve,X.gf));for(fb=1;fb=this.No);fb++)X=this.Ld(ca.column+fb),Vd.width+=Math.max(X.aj,isNaN(X.Ve)?X.gf:Math.min(X.Ve,X.gf));nb.width+=Vd.width;nb.height+=Vd.height;Rb=ca.margin;dg=Rb.right+Rb.left;eg=Rb.top+Rb.bottom;kj(ca,nb.width,nb.height,pi,vj);for(var Qe=ca.Ca,Re=Math.max(Qe.width+dg,0),zd=Math.max(Qe.height+eg,0),Tg=0,fb=0;fb=this.Cp);fb++)X=this.Md(ca.Wb+fb),Tg+=X.total||0;if(Tg=oc)&&!(ca.Wb+fb>=this.Cp);fb++){var X=this.Md(ca.Wb+fb),Mb=X.Pa||0,sf=Ad(ca,X,zc);X.Ia=Math.min(X.gf,Mb+sf);X.Pa!==Mb&&(oc-=X.Pa-Mb)}for(;0Mb&&(X.Ia=Math.min(X.gf,Mb+oc),X.Pa!==Mb&&(oc-=X.Pa-Mb));if(0===X.index)break;X=this.Md(X.index-1)}}for(var Ee=0,fb=0;fb=this.No);fb++)X=this.Ld(ca.column+fb),Ee+=X.total||0;if(Ee=oc)&&!(ca.column+fb>=this.No);fb++)X=this.Ld(ca.column+fb),Mb=X.Pa||0,sf=Ad(ca,X,zc),X.Ia=Math.min(X.gf,Mb+sf),X.Pa!==Mb&&(oc-=X.Pa-Mb);for(;0Mb&&(X.Ia=Math.min(X.gf,Mb+oc),X.Pa!==Mb&&(oc-=X.Pa-Mb));if(0===X.index)break;X=this.Ld(X.index-1)}}}v.sa(fd);v.$j(Vd);v.$j(nb);for(var fg=0,gg=0,Wc=Fm(this,!0),tf=this.za,wj=this.xf,Wd=Ud=Td=0,Xc=0,Fa=this.No,da=0;daUg)kj(Sb,Infinity,Infinity),ne=Sb.Ca,Te.bi(ne),this.Mg.add(ne);else{var kd=Sb.ve,br=Sb.jA,wn=Sb.Uj;wn.se()&&(wn=zb);var Lf=Sb.Vt,dt=Sb.TE,Aj=0,Bj=0,Zk=0;if(kd<-Ug||kd>=Ug){var cr=hg.uE,uf=hg.tE;Lf!==Gi&&(Zk=hg.computeAngle(Sb,Lf,uf),Sb.Kl=Zk);Aj=cr.x-ig.x;Bj=cr.y-ig.y}else{var Bd,Ue;if(0<=kd)Bd=jg.da(kd),Ue=kder+10?0<=kd?Bh.xc(Bd):Bd.xc(Bh):er>dr+10?0<=kd?Ue.xc(Ch):Ch.xc(Ue):0<=kd?Bh.xc(Ch):Ch.xc(Bh)}else uf=0<=kd?Bd.xc(Ue):Ue.xc(Bd);Lf!==Gi&&(Zk=hg.computeAngle(Sb,Lf,uf),Sb.Kl=Zk);Aj=Bd.x+(Ue.x-Bd.x)*br-ig.x;Bj=Bd.y+(Ue.y-Bd.y)*br-ig.y}kj(Sb,Infinity,Infinity);var ne=Sb.Ca,Xk=Sb.Ha,Cj=0;Sb instanceof Y&&(Cj=Sb.lb);var Dh=Xk.width+Cj,vi=Xk.height+Cj;kg.reset();kg.translate(-ne.x,-ne.y);kg.scale(Sb.scale,Sb.scale); -kg.rotate(Lf===Gi?Sb.angle:uf,Dh/2,vi/2);Lf!==Xn&&Lf!==Yn||kg.rotate(90,Dh/2,vi/2);Lf!==Zn&&Lf!==$n||kg.rotate(-90,Dh/2,vi/2);Lf===ao&&(45uf||225uf)&&kg.rotate(-uf,Dh/2,vi/2);var wi=new A(0,0,Dh,vi);zj.Yt(wi,wn);kg.ub(zj);var et=-zj.x+Cj/2,ft=-zj.y+Cj/2;lg.assign(dt);isNaN(lg.x)&&(lg.x=0<=kd?Dh/2+3:-(Dh/2+3));isNaN(lg.y)&&(lg.y=-(vi/2+3));lg.rotate(uf);Aj+=lg.x;Bj+=lg.y;wi.set(ne);wi.x=Aj+et;wi.y=Bj+ft;this.Mg.add(wi);Te.bi(wi)}}if(this.Ce)for(var fr=this.Sf;fr.next();)kj(fr.value, -Infinity,Infinity);this.Li=Te;var yn=this.xi;yn.m(yn.x+Te.x,yn.y+Te.y);Wa(e,Te.width||0,Te.height||0);v.$e(kg);v.v(zj);v.v(lg)}break;case "Grid":break;case "TableRow":case "TableColumn":v.k(this.toString()+" is not an element of a Table Panel. TableRow and TableColumn Panels can only be elements of a Table Panel.");break;default:v.k("Unknown panel type: "+n)}}var Ve=e.width,We=e.height,dl=this.padding,gt=dl.top+dl.bottom,Ve=Ve+(dl.left+dl.right),We=We+gt;isFinite(f.width)&&(Ve=f.width);isFinite(f.height)&& -(We=f.height);Ve=Math.min(k.width,Ve);We=Math.min(k.height,We);Ve=Math.max(h.width,Ve);We=Math.max(h.height,We);Ve=Math.max(c,Ve);We=Math.max(d,We);e.width=Ve;e.height=We;Wa(this.Qc,Ve,We);Cm(this,0,0,Ve,We)};D.prototype.findMainElement=D.prototype.Ye=function(){if(null===this.sm){var a=this.ya.n,b=a.length;if(0===b)return null;for(var c=0;cc||p>d)this.N(),kj(this,n>c?c:n,p>d?d:p);break;case He:this.N(!0);kj(this,c+r,d+s,0,0);break;case vm:this.N(!0);kj(this,c+r,p+s,0,0);break;case um:this.N(!0),kj(this,n+r,d+s,0,0)}}k=this.U;k.x=a;k.y=b; -k.width=c;k.height=d;var t=this.ia.Ob;switch(t){case "Position":for(var u=f.length,x=e.x-this.padding.left,w=e.y-this.padding.top,y=0;y=this.Cp);da++){var ca=this.Md(yb+da);ib.height+=ca.total}for(da=1;da=this.No);da++){var Pg=this.Ld(Rd+da);ib.width+=Pg.total}var qh=Sd.Pa+ib.width,qi=Lc.Pa+ib.height;h.x=Jc;h.y=ze;h.width=qh;h.height=qi;var xc=Jc,ri=ze,Yb=qh,rh=qi;Jc+qh>e.width&&(Yb=Math.max(e.width-Jc,0));ze+qi>e.height&&(rh=Math.max(e.height-ze,0));var fd=Fa.alignment, -Ae=0,Mc=0,gd=0,yc=0;if(fd.Uc()){fd=this.hl;fd.bd()||(fd=zb);var Ae=fd.x,Mc=fd.y,gd=fd.offsetX,yc=fd.offsetY,hd=Sd.alignment,bg=Lc.alignment;hd.bd()&&(Ae=hd.x,gd=hd.offsetX);bg.bd()&&(Mc=bg.y,yc=bg.offsetY)}else Ae=fd.x,Mc=fd.y,gd=fd.offsetX,yc=fd.offsetY;if(isNaN(Ae)||isNaN(Mc))Mc=Ae=.5,yc=gd=0;var X=Oe.width,Be=Oe.height,Pe=Fa.margin,si=Pe.left+Pe.right,ti=Pe.top+Pe.bottom,Nc=Tm(Fa,Lc,Sd,!1);!isNaN(Fa.za.width)||Nc!==He&&Nc!==vm||(X=Math.max(qh-si,0));!isNaN(Fa.za.height)||Nc!==He&&Nc!==um||(Be= -Math.max(qi-ti,0));var lb=Fa.xf,mb=Fa.kh,X=Math.min(lb.width,X),Be=Math.min(lb.height,Be),X=Math.max(mb.width,X),Be=Math.max(mb.height,Be),Rk=Be+ti;h.x+=h.width*Ae-(X+si)*Ae+gd+Pe.left;h.y+=h.height*Mc-Rk*Mc+yc+Pe.top;Fa.visible&&(ab(xc,ri,Yb,rh,h.x,h.y,Oe.width,Oe.height)?Fa.Ec(h.x,h.y,X,Be):Fa.Ec(h.x,h.y,X,Be,new A(xc,ri,Yb,rh)))}else{Fa.si();Fa.mc.Oa();var cg=Fa.mc;cg.x=me.type===Jm?oh:Jc;cg.y=me.type===Km?ph:ze;cg.width=Oe.width;cg.height=Oe.height;Fa.mc.freeze();Hm(Fa,!1)}}}}v.$j(ib);for(yb= -0;yb=Sg){var Tg=this.uE,oc=this.tE;De!==Gi&&(fb=this.computeAngle(jd,De,oc),jd.angle=fb);rf=Tg.x;Vd=Tg.y}else{var zc=void 0,Ad=void 0;if(0<=lc)zc=qf.n[lc],Ad=lcgg+10?0<= -lc?sf.xc(zc):zc.xc(sf):gg>fg+10?0<=lc?Ad.xc(Ee):Ee.xc(Ad):0<=lc?sf.xc(Ee):Ee.xc(sf)}else oc=0<=lc?zc.xc(Ad):Ad.xc(zc);De!==Gi&&(fb=this.computeAngle(jd,De,oc),jd.angle=fb);rf=zc.x+(Ad.x-zc.x)*vh;Vd=zc.y+(Ad.y-zc.y)*vh}if(nb.K(qb))jd.location=new z(rf,Vd);else{nb.se()&&(nb=zb);var tf=v.rh();tf.reset();tf.scale(jd.scale,jd.scale);tf.rotate(jd.angle,0,0);var wj=jd.Ha,Wd=v.hk(0,0,wj.width,wj.height),Xc=v.L();Xc.Yt(Wd,nb);tf.ub(Xc);var xh=-Xc.x,yh=-Xc.y,mc=Kf.copy();isNaN(mc.x)&&(mc.x=0<=lc?Xc.x+3:-(Xc.x+ -3));isNaN(mc.y)&&(mc.y=-(Xc.y+3));mc.rotate(oc);rf+=mc.x;Vd+=mc.y;tf.oF(Wd);var xh=xh+Wd.x,yh=yh+Wd.y,zh=v.Mb(rf+xh,Vd+yh);jd.move(zh);v.v(zh);v.v(Xc);v.Vb(Wd);v.$e(tf)}}this instanceof Vg?this.Tm(!1):ui.Tm(!1)}break;case "Grid":break;case "TableRow":case "TableColumn":v.k(this.toString()+" is not an element of a Table Panel.TableRow and TableColumn panels can only be elements of a Table Panel.");break;default:v.k("Unknown panel type: "+t)}v.Vb(h)}}; -D.prototype.Wj=function(a){var b=this.Ha;if(ab(0,0,b.width,b.height,a.x,a.y)){for(var b=this.ya.n,c=b.length,d=v.Mb(0,0);c--;){var e=b[c];if(e.visible||e===this.bc)if(Qa(d.set(a),e.transform),e.Fa(d))return v.v(d),!0}v.v(d);return null===this.Ib&&null===this.nc?!1:!0}return!1};D.prototype.Aw=function(a){if(this.on===a)return this;for(var b=this.ya.n,c=b.length,d=0;dp.width||n.y>p.height||0>n.x+n.width||0>n.y+n.height)){n=m;m=m instanceof D?m:null;p=v.rh();p.set(h);if(null!==m?m.Zj(a,b,c,d,e,p):Em(n,a,d,p))null!== -b&&(n=b(n)),null===n||null!==c&&!c(n)||e.add(n);v.$e(p)}}}void 0===f&&v.$e(h);return d}void 0===f&&v.$e(h);return!1};function io(a,b,c,d){for(var e=a.ya.n,f=e.length;f--;){var h=e[f];if(h.visible){var k=h.U,l=a.Ha;k.x>l.width||k.y>l.height||0>k.x+k.width||0>k.y+k.height||(h instanceof D&&io(h,b,c,d),null!==b&&(h=b(h)),null===h||null!==c&&!c(h)||d.add(h))}}} -g.Km=function(a,b,c,d,e,f){if(!1===this.Hg)return!1;void 0===c&&(c=null);void 0===d&&(d=null);var h=this.Ha,k=this.Lg(),l=k?a:Qa(v.Mb(a.x,a.y),this.transform),m=k?b:Qa(v.Mb(b.x,b.y),this.transform),n=l.rf(m),p=0s.width||r.y>s.height||0>r.x+r.width||0>r.y+r.height||(q.Lg()?(r=q.transform,Qa(k.set(a),r),Qa(l.set(b),r)):(k.set(a),l.set(b)),r=q,q=q instanceof D?q:null,null!==q?!q.Km(k,l,c,d,e,f):!r.LD(k,l,e))||(null!==c&&(r=c(r)),null===r||null!==d&&!d(r)||f.add(r))}}v.v(k);v.v(l)}return e? -p:h}return!1};function Sn(a){var b=a.B;if(void 0===b||b===fc)b=null;null===b&&a instanceof Y&&(a=a.fh,null!==a&&(b=a.B));null===b&&(b=rb);return b}function Tn(a){var b=a.C;if(void 0===b||b===fc)b=null;null===b&&a instanceof Y&&(a=a.fh,null!==a&&(b=a.C));null===b&&(b=Eb);return b}D.prototype.add=D.prototype.add=function(a){v.A(a,G,D,"add:element");this.yd(this.ya.count,a)};D.prototype.elt=D.prototype.da=function(a){return this.ya.da(a)}; -D.prototype.insertAt=D.prototype.yd=function(a,b){b instanceof R&&v.k("Cannot add a Part to a Panel: "+b);if(this===b||this.ul(b))this===b&&v.k("Cannot make a Panel contain itself: "+this.toString()),v.k("Cannot make a Panel indirectly contain itself: "+this.toString()+" already contains "+b.toString());var c=b.R;null!==c&&c!==this&&v.k("Cannot add a GraphObject that already belongs to another Panel to this Panel: "+b.toString()+", already contained by "+c.toString()+", cannot be shared by this Panel: "+ -this.toString());this.ia!==yk||b instanceof Y||v.k("Can only add Shapes to a Grid Panel, not: "+b);b.Bl(this);b.im=null;if(null!==this.mE){var d=b.data;null!==d&&"object"===typeof d&&(null===this.gg&&(this.gg=new na(Object,D)),this.gg.add(d,b))}var e=this.ya,d=-1;if(c===this){for(var f=-1,h=this.ya.n,k=h.length,l=0;l=e.count&&a>=e.count)return;e.Vc(f);d=f}else v.k("element "+b.toString()+" has panel "+c.toString()+" but is not contained by it.")}if(0> -a||a>e.count)a=e.count;e.yd(a,b);this.N();b.N();null!==b.Rd?this.Ch=!0:b instanceof D&&!0===b.Ch&&(this.Ch=!0);c=this.Y;null!==c&&(c.dm=null,c.Aj=NaN,this.Ch&&c instanceof S&&(c.Ch=!0),c.Ch&&(c.Wd=null),e=this.g,null!==e&&e.la.ib||(-1!==d&&c.Lc(Df,"elements",this,b,null,d,null),c.Lc(Cf,"elements",this,null,b,null,a)))};D.prototype.remove=D.prototype.remove=function(a){v.A(a,G,D,"remove:element");for(var b=this.ya.n,c=b.length,d=-1,e=0;ea&&v.va(a,">= 0",D,"getRowDefinition:idx");a=Math.round(a);var b=this.Hd;if(void 0===b[a]){var c=new ug;c.Bl(this);c.de=!0;c.index=a;b[a]=c}return b[a]};D.prototype.removeRowDefinition=D.prototype.HE=function(a){0>a&&v.va(a,">= 0",D,"removeRowDefinition:idx");a=Math.round(a);var b=this.Hd;this.Lc(Df,"coldefs",this,b[a],null,a,null);b[a]&&delete b[a];this.N()};v.u(D,{No:"columnCount"},function(){return void 0===this.Dd?0:this.Dd.length}); -D.prototype.getColumnDefinition=D.prototype.Ld=function(a){0>a&&v.va(a,">= 0",D,"getColumnDefinition:idx");a=Math.round(a);var b=this.Dd;if(void 0===b[a]){var c=new ug;c.Bl(this);c.de=!1;c.index=a;b[a]=c}return b[a]};D.prototype.removeColumnDefinition=D.prototype.DE=function(a){0>a&&v.va(a,">= 0",D,"removeColumnDefinition:idx");a=Math.round(a);var b=this.Dd;this.Lc(Df,"coldefs",this,b[a],null,a,null);b[a]&&delete b[a];this.N()}; -v.defineProperty(D,{rI:"rowSizing"},function(){return void 0===this.nm?On:this.nm},function(a){if(void 0!==this.nm){var b=this.nm;b!==a&&(a!==On&&a!==Vn&&v.k("Panel.rowSizing must be RowColumnDefinition.ProportionalExtra or RowColumnDefinition.None, not: "+a),this.nm=a,this.N(),this.h("rowSizing",b,a))}}); -v.defineProperty(D,{rG:"columnSizing"},function(){return void 0===this.Ol?On:this.Ol},function(a){if(void 0!==this.Ol){var b=this.Ol;b!==a&&(a!==On&&a!==Vn&&v.k("Panel.columnSizing must be RowColumnDefinition.ProportionalExtra or RowColumnDefinition.None, not: "+a),this.Ol=a,this.N(),this.h("columnSizing",b,a))}}); -v.defineProperty(D,{OK:"topIndex"},function(){return void 0===this.Ki?0:this.Ki},function(a){if(void 0!==this.Ki){var b=this.Ki;b!==a&&((!isFinite(a)||0>a)&&v.k("Panel.topIndex must be greater than zero and a real number, not: "+a),this.Ki=a,this.N(),this.h("topIndex",b,a))}}); -v.defineProperty(D,{$J:"leftIndex"},function(){return void 0===this.wi?0:this.wi},function(a){if(void 0!==this.wi){var b=this.wi;b!==a&&((!isFinite(a)||0>a)&&v.k("Panel.leftIndex must be greater than zero and a real number, not: "+a),this.wi=a,this.N(),this.h("leftIndex",b,a))}});D.prototype.findRowForLocalY=function(a){if(0>a)return-1;if(this.type!==Sm)return NaN;for(var b=0,c=this.Hd,d=c.length,e=this.Ki;ea)return-1;if(this.type!==Sm)return NaN;for(var b=0,c=this.Dd,d=c.length,e=this.wi;ea;)this.Ne(this.ya.length-1);a=this.mE;if(null!==a)for(var b=v.Va(a),c=0;cc)){var d;d=jo(a,b);var e=a.xH,f=null;null!==e&&(f=e.ja(d));null===f&&(ko||(ko=!0,v.trace('No item template Panel found for category "'+d+'" on '+a),v.trace(" Using default item template."),d=new D,e=new bh,e.bind(new Ag("text","",Ef)),d.add(e),lo=d),f=lo);d=f;null!==d&&(Xg(d),d=d.copy(),"object"===typeof b&&(null===a.gg&&(a.gg=new na(Object,D)),a.gg.add(b,d)),e=c,Jl(a)&&e++,a.yd(e,d),Kl(a,e,c),d.je=null,d.data=b)}} -function Kl(a,b,c){for(a=a.ya;ba&&v.va(a,">= 0",ug,"height"),this.Ve=a,this.Ia=this.Pa,null!==this.R&&this.R.N(),this.$c("height",b,a))});v.defineProperty(ug,{width:"width"},function(){return this.Ve},function(a){var b=this.Ve;b!==a&&(0>a&&v.va(a,">= 0",ug,"width"),this.Ve=a,this.Ia=this.Pa,null!==this.R&&this.R.N(),this.$c("width",b,a))}); -v.defineProperty(ug,{aj:"minimum"},function(){return this.Ej},function(a){var b=this.Ej;b!==a&&((0>a||!isFinite(a))&&v.va(a,">= 0",ug,"minimum"),this.Ej=a,this.Ia=this.Pa,null!==this.R&&this.R.N(),this.$c("minimum",b,a))});v.defineProperty(ug,{gf:"maximum"},function(){return this.Cj},function(a){var b=this.Cj;b!==a&&(0>a&&v.va(a,">= 0",ug,"maximum"),this.Cj=a,this.Ia=this.Pa,null!==this.R&&this.R.N(),this.$c("maximum",b,a))}); -v.defineProperty(ug,{alignment:"alignment"},function(){return this.Ae},function(a){var b=this.Ae;b.K(a)||(this.Ae=a.S(),null!==this.R&&this.R.N(),this.$c("alignment",b,a))});v.defineProperty(ug,{stretch:"stretch"},function(){return this.Qh},function(a){var b=this.Qh;b!==a&&(this.Qh=a,null!==this.R&&this.R.N(),this.$c("stretch",b,a))}); -v.defineProperty(ug,{VE:"separatorPadding"},function(){return this.Ij},function(a){"number"===typeof a&&(a=new cb(a));var b=this.Ij;null!==a&&null!==b&&b.K(a)||(null!==a&&(a=a.S()),this.Ij=a,null!==this.R&&this.R.N(),this.$c("separatorPadding",b,a))});v.defineProperty(ug,{Dp:"separatorStroke"},function(){return this.ls},function(a){var b=this.ls;b!==a&&(null===a||"string"===typeof a||a instanceof ha)&&(a instanceof ha&&a.freeze(),this.ls=a,null!==this.R&&this.R.N(),this.$c("separatorStroke",b,a))}); -v.defineProperty(ug,{Ep:"separatorStrokeWidth"},function(){return this.ms},function(a){var b=this.ms;b!==a&&(this.ms=a,null!==this.R&&this.R.N(),this.$c("separatorStrokeWidth",b,a))}); -v.defineProperty(ug,{wI:"separatorDashArray"},function(){return this.Jh},function(a){var b=this.Jh;if(b!==a){null===a||Array.isArray(a)||v.Cd(a,"Array",ug,"separatorDashArray:value");if(null!==a){for(var c=a.length,d=0,e=0;ee)){for(var f=d.Ca,h=Math.max(1,f.width),f=f.height,k=c[0],l=c[1],m=0,n=0,p=0,q=0,r=0,s=0,t=q=0,u=v.jb(),x=2;xp&&(p=1);for(var e=c=p,m=h/2,n=0===m?!1:!0,x=0,q=u[x],p=q[0],s=q[1],r=q[2],q=q[3],w=0;.1<=t;){0===w&&(n?(e=c,e-=m,t-=m,n=!1):e=c,0===e&&(e=1));if(e>t){v.sa(u);return}e> -q?(w=e-q,e=q):w=0;var y=Math.sqrt(e*e/(1+r*r));0>p&&(y=-y);k+=y;l+=r*y;a.translate(k,l);a.rotate(s);a.translate(-(h/2),-(f/2));0===w&&d.Yj(a,b);a.translate(h/2,f/2);a.rotate(-s);a.translate(-k,-l);t-=e;q-=e;if(0!==w){x++;if(x===u.length){v.sa(u);return}q=u[x];p=q[0];s=q[1];r=q[2];q=q[3];e=w}}v.sa(u)}} -Y.prototype.Yj=function(a,b){if(null!==this.Dc||null!==this.pd){null!==this.pd&&Nm(this,a,this.pd,!0,!1);null!==this.Dc&&Nm(this,a,this.Dc,!1,!1);var c=this.Rh;if(0===c){var d=this.Y;d instanceof Vg&&d.type===Di&&"Selection"===d.fc&&d.Zb instanceof Y&&d.Mf.Ye()===d.Zb&&(c=d.Zb.lb)}a.lineWidth=c;a.lineJoin=this.yo;a.lineCap=this.wo;a.miterLimit=this.rm;var e=!1;this.Y&&b.Ui("drawShadows")&&(e=this.Y.wl);var f=!0;null!==this.Dc&&null===this.pd&&(f=!1);var d=!1,h=!0,k=this.dF;null!==k&&(d=!0,h=a.pz(k, -this.le));var l=this.bb;if(null!==l){if(l.ia===Ie)a.beginPath(),d&&!h?Am(a,l.vc,l.Cc,l.vb,l.Bb,k,this.le):(a.moveTo(l.vc,l.Cc),a.lineTo(l.vb,l.Bb)),null!==this.pd&&a.vg(this.pd),0!==c&&null!==this.Dc&&a.dj();else if(l.ia===Je){var m=l.vc,n=l.Cc,p=l.vb,q=l.Bb,l=Math.min(m,p),r=Math.min(n,q),m=Math.abs(p-m),n=Math.abs(q-n);null!==this.pd&&(a.beginPath(),a.rect(l,r,m,n),a.vg(this.pd));if(null!==this.Dc){var s=p=0,t=0;f&&e&&(p=a.shadowOffsetX,s=a.shadowOffsetY,t=a.shadowBlur,a.shadowOffsetX=0,a.shadowOffsetY= -0,a.shadowBlur=0);d&&!h?(h=v.jb(),h.push(l),h.push(r),h.push(l+m),h.push(r),h.push(l+m),h.push(r+n),h.push(l),h.push(r+n),h.push(l),h.push(r),a.beginPath(),oo(a,h,k,this.le),a.dj(),v.sa(h)):0!==c&&(a.beginPath(),a.rect(l,r,m,n),a.dj());f&&e&&(a.shadowOffsetX=p,a.shadowOffsetY=s,a.shadowBlur=t)}}else if(l.ia===Ke)m=l.vc,n=l.Cc,p=l.vb,q=l.Bb,l=Math.abs(p-m)/2,r=Math.abs(q-n)/2,m=Math.min(m,p)+l,n=Math.min(n,q)+r,a.beginPath(),a.moveTo(m,n-r),a.bezierCurveTo(m+$c*l,n-r,m+l,n-$c*r,m+l,n),a.bezierCurveTo(m+ -l,n+$c*r,m+$c*l,n+r,m,n+r),a.bezierCurveTo(m-$c*l,n+r,m-l,n+$c*r,m-l,n),a.bezierCurveTo(m-l,n-$c*r,m-$c*l,n-r,m,n-r),a.closePath(),null!==this.pd&&a.vg(this.pd),d&&!h&&(h=v.jb(),Zd(m,n-r,m+$c*l,n-r,m+l,n-$c*r,m+l,n,.5,h),Zd(m+l,n,m+l,n+$c*r,m+$c*l,n+r,m,n+r,.5,h),Zd(m,n+r,m-$c*l,n+r,m-l,n+$c*r,m-l,n,.5,h),Zd(m-l,n,m-l,n-$c*r,m-$c*l,n-r,m,n-r,.5,h),a.beginPath(),oo(a,h,k,this.le),v.sa(h)),0!==c&&null!==this.Dc&&(f&&e?(p=a.shadowOffsetX,s=a.shadowOffsetY,t=a.shadowBlur,a.shadowOffsetX=0,a.shadowOffsetY= -0,a.shadowBlur=0,a.dj(),a.shadowOffsetX=p,a.shadowOffsetY=s,a.shadowBlur=t):a.dj());else if(l.ia===Fe){r=l.mj;n=r.length;for(q=0;qx.Af);else{var u=lf(x,m),w=u.length;if(0===w){a.lineTo(x.na,x.ua);break}for(var y=0;ye)){var f=.001,h=c.length,k=b[0],l=b[1];if(4===e)Am(a,k,l,b[2],b[3],c,d);else{a.moveTo(k,l);for(var m=f=0,n=0,p=0,q=0,r=p=0,s=v.jb(),t=2;tr&&(f=r);f>p?(u=f-p,f=p):u=0;var x=Math.sqrt(f*f/(1+q*q));0>n&&(x=-x);k+=x;l+= -q*x;e?a.lineTo(k,l):a.moveTo(k,l);r-=f;p-=f;if(0!==u){t++;if(t===s.length){v.sa(s);return}p=s[t];n=p[0];q=p[1];p=p[2];f=u}else e=!e}v.sa(s)}}}Y.prototype.getDocumentPoint=Y.prototype.Xa=function(a,b){void 0===b&&(b=new z);a.se()&&v.k("getDocumentPoint Spot must be a real, specific Spot, not: "+a.toString());var c=this.Ha,d=this.lb;b.m(a.x*(c.width+d)-d/2+c.x+a.offsetX,a.y*(c.height+d)-d/2+c.y+a.offsetY);this.Zg.ub(b);return b}; -Y.prototype.Wj=function(a,b){var c=this.fh;if(null===c||null===this.fill&&null===this.stroke)return!1;var d=c.mb,e=this.lb/2;c.type!==Ie||b||(e+=2);var f=v.ag();f.assign(d);f.Qf(e+2,e+2);if(!f.Fa(a))return v.Vb(f),!1;d=e+1E-4;if(c.type===Ie){if(null===this.stroke)return!1;d=(c.I-c.Aa)*(a.x-c.Aa)+(c.J-c.xa)*(a.y-c.xa);if(0>(c.Aa-c.I)*(a.x-c.I)+(c.xa-c.J)*(a.y-c.J)||0>d)return!1;v.Vb(f);return Md(c.Aa,c.xa,c.I,c.J,e,a.x,a.y)}if(c.type===Je){var h=c.Aa,k=c.xa,l=c.I,m=c.J;f.x=Math.min(h,l);f.y=Math.min(k, -m);f.width=Math.abs(l-h);f.height=Math.abs(m-k);if(null===this.fill){f.Qf(-d,-d);if(f.Fa(a))return v.Vb(f),!1;f.Qf(d,d)}null!==this.stroke&&f.Qf(e,e);e=f.Fa(a);v.Vb(f);return e}if(c.type===Ke){var h=c.Aa,k=c.xa,l=c.I,m=c.J,c=Math.min(h,l),n=Math.min(k,m),h=Math.abs(l-h)/2,k=Math.abs(m-k)/2,c=a.x-(c+h),n=a.y-(n+k);if(null===this.fill){h-=d;k-=d;if(0>=h||0>=k||1>=c*c/(h*h)+n*n/(k*k))return v.Vb(f),!1;h+=d;k+=d}null!==this.stroke&&(h+=e,k+=e);v.Vb(f);return 0>=h||0>=k?!1:1>=c*c/(h*h)+n*n/(k*k)}if(c.type=== -Fe)return v.Vb(f),null===this.fill?vf(c,a.x,a.y,e):c.Fa(a,e,1=this.lb)n=fe(p.vc,p.Cc,p.vb,p.Bb,f,h,k,l,e);else{var r=0,s=0;p.vc===p.vb?(r=m,s=0):(b=(p.Bb-p.Cc)/(p.vb-p.vc),s=m/Math.sqrt(1+b*b),r=s*b);d=v.jb();b=new z;fe(p.vc+ -r,p.Cc+s,p.vb+r,p.Bb+s,f,h,k,l,b)&&d.push(b);b=new z;fe(p.vc-r,p.Cc-s,p.vb-r,p.Bb-s,f,h,k,l,b)&&d.push(b);b=new z;fe(p.vc+r,p.Cc+s,p.vc-r,p.Cc-s,f,h,k,l,b)&&d.push(b);b=new z;fe(p.vb+r,p.Bb+s,p.vb-r,p.Bb-s,f,h,k,l,b)&&d.push(b);b=d.length;if(0===b)return v.sa(d),!1;n=!0;s=Infinity;for(r=0;rMath.abs(c)){n=h-b-c*(f-d);if(0>a*a*c*c+u*u-n*n){e.x=NaN;e.y=NaN;n=!1;break a}m=Math.sqrt(a*a*c*c+u*u-n*n);k=(-(a*a*c*n)+a*u*m)/(u*u+a*a*c*c)+d;a=(-(a*a*c*n)-a*u*m)/(u*u+a*a*c*c)+d;l=c*(k-d)+n+b;b=c*(a-d)+n+b;d=Math.abs((f-k)*(f-k))+Math.abs((h-l)*(h-l));h=Math.abs((f-a)*(f-a))+Math.abs((h-b)*(h- -b));dk){e.x=NaN;e.y=NaN;n=!1;break a}m=Math.sqrt(k);l=b+m;b-=m;d=Math.abs(l-h);h=Math.abs(b-h);dc?a-c:c-a)<(b>d?b-d:d-b)?(e=be||Hc(l.y,e))&&(l.ye||Hc(l.x,e))&&(l.x=h&&d<=a}a=h&&f<=a} -Y.prototype.LD=function(a,b,c){function d(a,b){for(var c=a.length,d=0;de)return!0;return!1}if(c&&null!==this.fill&&this.Wj(a,!0))return!0;var e=a.rf(b);b=e;1.5=e||Ta(b,f,0,-p)>=e||Ta(b,f,0,p)>=e||Ta(b,f,n,0)>= -e?!1:!0}else if(f.type===Fe){h=f.mb;k=h.x;l=h.y;m=h.x+h.width;h=h.y+h.height;if(a.x>m&&a.xh&&a.ye&&Sa(a.x,a.y,k,l,m,l)>e&&Sa(a.x,a.y,m,h,k,h)>e&&Sa(a.x,a.y,m,h,m,l)>e)return!1;b=Math.sqrt(e);if(c){if(null===this.fill?vf(f,a.x,a.y,b):f.Fa(a,b,!0))return!0}else{c=f.Ub;for(b=0;be)return!1;l=k.sb.n;m=l.length;for(h=0;he)return!1;break;case gf:f=v.jb(); -Zd(n,p,q.rc,q.Kc,q.mh,q.nh,q.I,q.J,.8,f);n=d(f,a);v.sa(f);if(n)return!1;n=q.I;p=q.J;if(a.Ro(n,p)>e)return!1;break;case hf:f=v.jb();ce(n,p,q.rc,q.Kc,q.I,q.J,.8,f);n=d(f,a);v.sa(f);if(n)return!1;n=q.I;p=q.J;if(a.Ro(n,p)>e)return!1;break;case jf:case kf:var r=q.type===jf?lf(q,k):mf(q,k,n,p),s=r.length;if(0===s){n=q.na;p=q.ua;if(a.Ro(n,p)>e)return!1;break}q=null;f=v.jb();for(b=0;b= 0",Y,"strokeWidth:value")});v.defineProperty(Y,{HK:"strokeCap"},function(){return this.wo},function(a){var b=this.wo;b!==a&&("string"!==typeof a||"butt"!==a&&"round"!==a&&"square"!==a?v.va(a,'"butt", "round", or "square"',Y,"strokeCap"):(this.wo=a,this.pa(),this.h("strokeCap",b,a)))}); -v.defineProperty(Y,{JK:"strokeJoin"},function(){return this.yo},function(a){var b=this.yo;b!==a&&("string"!==typeof a||"miter"!==a&&"bevel"!==a&&"round"!==a?v.va(a,'"miter", "bevel", or "round"',Y,"strokeJoin"):(this.yo=a,this.pa(),this.h("strokeJoin",b,a)))});v.defineProperty(Y,{KK:"strokeMiterLimit"},function(){return this.rm},function(a){var b=this.rm;if(b!==a)if(1<=a){this.rm=a;this.pa();var c=this.Y;null!==c&&(c.Aj=NaN);this.h("strokeMiterLimit",b,a)}else v.va(a,"value >= 1",Y,"strokeWidth:value")}); -v.defineProperty(Y,{dF:"strokeDashArray"},function(){return this.xo},function(a){var b=this.xo;if(b!==a){null===a||Array.isArray(a)||v.Cd(a,"Array",Y,"strokeDashArray:value");if(null!==a){for(var c=a.length,d=0,e=0;em*k*k&&(h=!0);b.lf!==a&&(h=!1);!1===b.Ui("textGreeking")&&(h=!1);for(var m=b.Tq,k=this.Kj,l=this.Lj,n=this.De,p=0;pc&&(q=c);var f=f+k,s=r,r=a, -t=f,u=c,x=d,w=0,y=this.tm;"start"===y&&(y=m?"right":"left");"end"===y&&(y=m?"left":"right");h?("left"===y?w=0:"right"===y?w=u-q:"center"===y&&(w=(u-q)/2),r.fillRect(0+w,t+.25*x,q,1)):("left"===y?w=0:"right"===y?w=u:"center"===y&&(w=u/2),r.fillText(s,0+w,t+x-.25*x),s=x/20|0,0===s&&(s=1),"right"===y?w-=q:"center"===y&&(w-=q/2),this.Vl&&(r.beginPath(),r.lineWidth=s,r.moveTo(0+w,t+x-.2*x),r.lineTo(0+w+q,t+x-.2*x),r.stroke()),this.Ul&&(r.beginPath(),r.lineWidth=s,t=t+x-x/2.2|0,0!==s%2&&(t+=.5),r.moveTo(0+ -w,t),r.lineTo(0+w+q,t),r.stroke()));f+=d+l}}}; -bh.prototype.mp=function(a,b,c,d){this.kv=a;var e=this.Lk;e.reset();var f=0,h=0;if(isNaN(this.za.width)){f=this.me.replace(/\r\n/g,"\n").replace(/\r/g,"\n");if(0===f.length)f=0;else if(this.Lw){for(var k=h=0,l=!1;!l;){var m=f.indexOf("\n",k);-1===m&&(m=f.length,l=!0);k=Mo(f.substr(k,m-k).replace(/^\s+|\s+$/g,""),this.Ah);k>h&&(h=k);k=m+1}f=h}else h=f.indexOf("\n",0),0<=h&&(f=f.substr(0,h)),f=k=Mo(f,this.Ah);f=Math.min(f,a/this.scale);f=Math.max(8,f)}else f=this.za.width;null!==this.R&&(f=Math.min(f, -this.R.xf.width),f=Math.max(f,this.R.kh.width));h=Ko(this,f,e);m=h=isNaN(this.za.height)?Math.min(h,b/this.scale):this.za.height;if(0!==e.Te&&1!==e.Be.length&&this.Tk===Io&&(b=this.Ah,l=this.Tk===Io?No(b):0,k=this.Kj+this.Lj,k=Math.max(0,Lo(this)+k),m=Math.min(this.KH-1,Math.max(Math.floor(m/k+.01)-1,0)),!(m+1>=e.Be.length))){k=e.Be[m];for(a=Math.max(1,a-l);Mo(k,b)>a&&1=a.yi)return new ia(0,l);if(a.vm===Go){c.Mi=1;f=Mo(b,k);if(0===h||f<=d)return c.Te=f,c.kf.push(c.Te),c.Be.push(b),new ia(f,l);var m=Oo(b);b=b.substr(m.length);for(var n=Oo(b),f=Mo(m+n,k);0d&&1d;){n=1;f=Mo(m.substr(0,n),k);for(h=0;f<=d;)n++,h=f,f=Mo(m.substr(0,n),k);1===n?(c.kf[a.De+p]=f,e=Math.max(e,f)):(c.kf[a.De+p]=h,e=Math.max(e,h));n--;1>n&&(n=1);c.Be[a.De+p]=m.substr(0,n);p++;m=m.substr(n);if(a.De+p>a.yi)break}n=Oo(b);for(f=Mo(m+n,k);0a.yi))break}c.Mi=Math.min(a.yi,p);c.Te=Math.max(c.Te,e);return new ia(c.Te,l*c.Mi)}function Oo(a){for(var b=a.length,c=0;c=b?a:a.substr(0,c)}function Mo(a,b){Eo!==b&&(Eo=Fo.font=b);return Fo.measureText(a).width} -function Lo(a){if(null!==a.Ln)return a.Ln;var b=a.Ah;Eo!==b&&(Eo=Fo.font=b);var c=0;void 0!==zo[b]&&5E3>Ao?c=zo[b]:(c=1.3*Fo.measureText("M").width,zo[b]=c,Ao++);return a.Ln=c}function No(a){Eo!==a&&(Eo=Fo.font=a);var b=0;void 0!==Bo[a]&&5E3>Co?b=Bo[a]:(b=Fo.measureText(Do).width,Bo[a]=b,Co++);return b} -function Ko(a,b,c){var d=a.me.replace(/\r\n/g,"\n").replace(/\r/g,"\n"),e=a.Kj+a.Lj,e=Math.max(0,Lo(a)+e);if(0===d.length)return c.Te=0,a.De=1,e;if(!a.Lw){var f=d.indexOf("\n",0);0<=f&&(d=d.substr(0,f))}for(var f=0,h=a.De=0,k=-1,l=!1;!l;)k=d.indexOf("\n",h),-1===k&&(k=d.length,l=!0),h<=k&&(h=d.substr(h,k-h),a.vm!==Go?(c.Mi=0,h=Jo(a,h,c,b),f+=h.height,a.De+=c.Mi):(Jo(a,h,c,b),f+=e,a.De++),a.De===a.yi&&(l=!0)),h=k+1;return a.pv=f} -v.defineProperty(bh,{vA:"textValidation"},function(){return this.Vk},function(a){var b=this.Vk;b!==a&&(null!==a&&v.j(a,"function",bh,"textValidation"),this.Vk=a,this.h("textValidation",b,a))});v.defineProperty(bh,{EK:"spacingAbove"},function(){return this.Kj},function(a){var b=this.Kj;b!==a&&(this.Kj=a,this.h("spacingAbove",b,a))});v.defineProperty(bh,{FK:"spacingBelow"},function(){return this.Lj},function(a){var b=this.Lj;b!==a&&(this.Lj=a,this.h("spacingBelow",b,a))}); -v.defineProperty(bh,{KH:"maxLines"},function(){return this.yi},function(a){var b=this.yi;b!==a&&(a=Math.floor(a),0>=a&&v.va(a,"> 0",bh,"maxLines"),this.yi=a,this.h("maxLines",b,a),this.N())});v.u(bh,{hK:"metrics"},function(){return this.Lk});function yo(){this.Te=this.Mi=0;this.kf=[];this.Be=[]}yo.prototype.reset=function(){this.Te=this.Mi=0;this.kf=[];this.Be=[]};yo.prototype.Zs=function(a){this.Mi=a.Mi;this.Te=a.Te;this.kf=v.fl(a.kf);this.Be=v.fl(a.Be)};v.u(yo,{sJ:"arrSize"},function(){return this.kf}); -v.u(yo,{tJ:"arrText"},function(){return this.Be});v.u(yo,{gK:"maxLineWidth"},function(){return this.Te});function nk(){G.call(this);this.Re=null;this.ts="";this.Jj=Fd;this.Nn=He;this.zo=this.Mj=this.nf=null;this.py=!1;this.Tu=!0;this.qo=null}v.Ja(nk,G);v.ea("Picture",nk);nk.prototype.cloneProtected=function(a){G.prototype.cloneProtected.call(this,a);a.element=this.Re;a.ts=this.ts;a.Jj=this.Jj.S();a.Nn=this.Nn;a.nf=this.nf;a.Mj=this.Mj;a.Tu=this.Tu;a.qo=this.qo};var Po=new ta,Qo=0,hk=[]; -function Ro(){var a=hk;if(0===a.length)for(var b=window.document.getElementsByTagName("canvas"),c=b.length,d=0;dr.Io.length&& -(Wo(r,4,l,m),Wo(r,16,l,m));for(var l=r.Io,m=l.length,q=l[0],t=0;te;e++)a.lineTo(d[e].x*b,d[e].y*c);v.sa(d);P(a);b=a.o;b.B=new L(.2,.22);b.C=new L(.8, -.9);v.q(a);return b},DataTransmission:"Hexagon",Hexagon:function(a,b,c){var d=$o(6);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;6>e;e++)a.lineTo(d[e].x*b,d[e].y*c);v.sa(d);P(a);b=a.o;b.B=new L(.07,.25);b.C=new L(.93,.75);v.q(a);return b},Heptagon:function(a,b,c){var d=$o(7);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;7>e;e++)a.lineTo(d[e].x*b,d[e].y*c);v.sa(d);P(a);b=a.o;b.B=new L(.2,.15);b.C=new L(.8,.85);v.q(a);return b},Octagon:function(a,b,c){var d=$o(8);a=v.s();N(a,d[0].x*b,d[0].y*c,!0); -for(var e=1;8>e;e++)a.lineTo(d[e].x*b,d[e].y*c);v.sa(d);P(a);b=a.o;b.B=new L(.15,.15);b.C=new L(.85,.85);v.q(a);return b},Nonagon:function(a,b,c){var d=$o(9);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;9>e;e++)a.lineTo(d[e].x*b,d[e].y*c);v.sa(d);P(a);b=a.o;b.B=new L(.17,.13);b.C=new L(.82,.82);v.q(a);return b},Decagon:function(a,b,c){var d=$o(10);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;10>e;e++)a.lineTo(d[e].x*b,d[e].y*c);v.sa(d);P(a);b=a.o;b.B=new L(.16,.16);b.C=new L(.84,.84);v.q(a);return b}, -Dodecagon:function(a,b,c){var d=$o(12);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;12>e;e++)a.lineTo(d[e].x*b,d[e].y*c);v.sa(d);P(a);b=a.o;b.B=new L(.16,.16);b.C=new L(.84,.84);v.q(a);return b},FivePointedStar:function(a,b,c){var d=Zo(5);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;10>e;e++)a.lineTo(d[e].x*b,d[e].y*c);v.sa(d);P(a);b=a.o;b.B=new L(.312,.383);b.C=new L(.693,.765);v.q(a);return b},SixPointedStar:function(a,b,c){var d=Zo(6);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;12>e;e++)a.lineTo(d[e].x* -b,d[e].y*c);v.sa(d);P(a);b=a.o;b.B=new L(.17,.251);b.C=new L(.833,.755);v.q(a);return b},SevenPointedStar:function(a,b,c){var d=Zo(7);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;14>e;e++)a.lineTo(d[e].x*b,d[e].y*c);v.sa(d);P(a);b=a.o;b.B=new L(.363,.361);b.C=new L(.641,.709);v.q(a);return b},EightPointedStar:function(a,b,c){var d=Zo(8);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;16>e;e++)a.lineTo(d[e].x*b,d[e].y*c);v.sa(d);P(a);b=a.o;b.B=new L(.252,.255);b.C=new L(.75,.75);v.q(a);return b},NinePointedStar:function(a, -b,c){var d=Zo(9);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;18>e;e++)a.lineTo(d[e].x*b,d[e].y*c);v.sa(d);P(a);b=a.o;b.B=new L(.355,.361);b.C=new L(.645,.651);v.q(a);return b},TenPointedStar:function(a,b,c){var d=Zo(10);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;20>e;e++)a.lineTo(d[e].x*b,d[e].y*c);v.sa(d);P(a);b=a.o;b.B=new L(.281,.261);b.C=new L(.723,.748);v.q(a);return b},FivePointedBurst:function(a,b,c){var d=Yo(5);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;em)){var n=l.Ye(),p=l.tq;isNaN(p)&&(p=c?a.Mh:a.Lh);var q=l.sq;null===q&&(q=c?a.Ai:a.Kh);null===q&&(p=0);n-=p;p=l.position+p;n+=l.Ka;p+n>m&&(n=m-p);0>=n||(m=a.padding,Fo(a,b,l.background,!0,!1),c?b.fillRect(m.left,p+m.top,h.width-(m.left+m.right),n):b.fillRect(p+m.left,m.top,n,h.height-(m.top+m.bottom)))}}}} +function Ap(a,b,c){if(0!==a%b)return!1;b=c.length;for(var d=0;dm&&e.set(s),v.v(s));v.v(n);f&&e.transform(h)}return c}; +g.I=function(a){G.prototype.I.call(this,a);if(this.ka===Bl||this.ka===$i)a=this.Jd(),null!==a&&a.I(!0);a=this.xa.n;for(var b=a.length,c=0;csc&&(Gd=Math.max(sc-eg,0));var qj=0===aa.Ka;aa.Ka+=Gd;sc=Math.max(sc-(Gd+(qj?eg:0)),0)}1!==ca.wi||Hc!==yj&&Hc!==ho||(aa=this.be(wc),eg=aa.Ye(),Gd=Math.max(Vc-aa.Ka,0),Gd+eg>fc&&(Gd=Math.max(fc-eg,0)),qj=0===aa.Ka,aa.Ka+=Gd,fc=Math.max(fc-(Gd+(qj?eg:0)),0));Kk&&ca.Yp()}}}v.wa(yf);for(var Yd=0,Zd=0,ib=this.Hp,fa=0;fa=this.qq);jb++)aa=this.ce(ca.Yb+jb),Bf.height+=Math.max(aa.tj,isNaN(aa.kf)?aa.qf:Math.min(aa.kf,aa.qf));for(jb=1;jb=this.Hp);jb++)aa=this.be(ca.column+jb),Bf.width+=Math.max(aa.tj,isNaN(aa.kf)?aa.qf:Math.min(aa.kf,aa.qf));zb.width+=Bf.width;zb.height+= +Bf.height;xc=ca.margin;gd=xc.right+xc.left;Gg=xc.top+xc.bottom;sk(ca,zb.width,zb.height,uh,xf);for(var Xd=ca.Aa,Vc=Math.max(Xd.width+gd,0),Ge=Math.max(Xd.height+Gg,0),tc=0,jb=0;jb=this.qq);jb++)aa=this.ce(ca.Yb+jb),tc+=aa.total||0;if(tc=Eb)&&!(ca.Yb+jb>=this.qq);jb++){var aa=this.ce(ca.Yb+jb),Rb=aa.Sa||0,rj=Df(ca,aa,Cf);aa.Ka=Math.min(aa.qf,Rb+rj);aa.Sa!==Rb&&(Eb-=aa.Sa-Rb)}for(;0Rb&&(aa.Ka=Math.min(aa.qf,Rb+Eb),aa.Sa!==Rb&&(Eb-=aa.Sa-Rb));if(0===aa.index)break;aa=this.ce(aa.index-1)}}for(var vh=0,jb=0;jb=this.Hp);jb++)aa=this.be(ca.column+jb),vh+=aa.total||0;if(vh=Eb)&&!(ca.column+jb>=this.Hp);jb++)aa=this.be(ca.column+jb),Rb=aa.Sa||0,rj=Df(ca,aa,Cf),aa.Ka=Math.min(aa.qf,Rb+rj),aa.Sa!==Rb&&(Eb-=aa.Sa-Rb);for(;0Rb&&(aa.Ka=Math.min(aa.qf, +Rb+Eb),aa.Sa!==Rb&&(Eb-=aa.Sa-Rb));if(0===aa.index)break;aa=this.be(aa.index-1)}}}v.wa(cg);v.yk(Bf);v.yk(zb);for(var He=0,Kg=0,Hc=wo(this,!0),gg=this.Ba,Ef=this.Bf,Ie=Zd=Yd=0,Je=0,ib=this.Hp,fa=0;faxh)sk(Zb,Infinity,Infinity),se=Zb.Aa,Ze.Gh(se),this.Zg.add(se);else{var rd=Zb.Ne,kt=Zb.TA,ep=Zb.nh;ep.Od()&&(ep=Gb);var ig=Zb.rq,Uv=Zb.UA,Pk=0,Qk=0,gm=0;if(rd< +-xh||rd>=xh){var lt=Lg.oF,Gf=Lg.nF;ig!==cj&&(gm=Lg.computeAngle(Zb,ig,Gf),Zb.fg=gm);Pk=lt.x-Mg.x;Qk=lt.y-Mg.y}else{var Hd,$e;if(0<=rd)Hd=Ng.fa(rd),$e=rdnt+10?0<=rd?ki.Ac(Hd):Hd.Ac(ki):nt>mt+10?0<=rd?$e.Ac(li):li.Ac($e):0<=rd?ki.Ac(li):li.Ac(ki)}else Gf=0<=rd? +Hd.Ac($e):$e.Ac(Hd);ig!==cj&&(gm=Lg.computeAngle(Zb,ig,Gf),Zb.fg=gm);Pk=Hd.x+($e.x-Hd.x)*kt-Mg.x;Qk=Hd.y+($e.y-Hd.y)*kt-Mg.y}sk(Zb,Infinity,Infinity);var se=Zb.Aa,em=Zb.Ja,Rk=0;Zb instanceof X&&(Rk=Zb.fb);var mi=em.width+Rk,uj=em.height+Rk;Og.reset();Og.translate(-se.x,-se.y);Og.scale(Zb.scale,Zb.scale);Og.rotate(ig===cj?Zb.angle:Gf,mi/2,uj/2);ig!==Jp&&ig!==Kp||Og.rotate(90,mi/2,uj/2);ig!==Lp&&ig!==Mp||Og.rotate(-90,mi/2,uj/2);ig===Np&&(45Gf||225Gf)&&Og.rotate(-Gf,mi/2,uj/2);var zj= +new B(0,0,mi,uj);Ok.Sn(zj,ep);Og.ob(Ok);var Vv=-Ok.x+Rk/2,Wv=-Ok.y+Rk/2;Pg.assign(Uv);isNaN(Pg.x)&&(Pg.x=0<=rd?mi/2+3:-(mi/2+3));isNaN(Pg.y)&&(Pg.y=-(uj/2+3));Pg.rotate(Gf);Pk+=Pg.x;Qk+=Pg.y;zj.set(se);zj.x=Pk+Vv;zj.y=Qk+Wv;this.Zg.add(zj);Ze.Gh(zj)}}if(this.Ue)for(var ot=this.Wf;ot.next();)sk(ot.value,Infinity,Infinity);this.dj=Ze;var fp=this.Pi;fp.l(fp.x+Ze.x,fp.y+Ze.y);Wa(e,Ze.width||0,Ze.height||0);v.we(Og);v.v(Ok);v.v(Pg)}break;case "Grid":break;case "Graduated":var Xv=a,Yv=b,Zv=c,$v=d,Qg=this.Jd(); +this.vm=[];var Aj=Qg.margin,aw=Aj.right+Aj.left,bw=Aj.top+Aj.bottom;sk(Qg,Xv,Yv,Zv,$v);var pt=Qg.Aa,cw=pt.height,dw=Math.max(pt.width+aw,0),ew=Math.max(cw+bw,0),qt=new B(-Aj.left,-Aj.top,dw,ew);this.vm.push(qt);e.assign(qt);for(var Tk=Qg.xf,rt=Qg.fb,gp=Tk.aA,Bj=Tk.hx,ni=Tk.bA,fw=gp.length,hp=0,ip=0,Cj=v.lb(),jp=0;jpsd&&(sd+=360);st.push(sd)}hp= +tt;ip=ut}Cj.push(st)}var vt;if(null===this.Oj){for(var wt=[],lp=this.xa.n,xt=lp.length,mp=0;mphw&&yt.push(zt)}}}this.Oj=wt}vt=this.Oj;var At=this.xa.n,iw=At.length,yh=0,Bt=0,Ct=ni;this.xm=[];for(var hm=[],im=0;imEt*Dt*ni/this.kx)){var be=this.ME,Ft=vt[im],oi=Bj[0][0],Hf=0,td=0,Bt=ni*zh.LE-1E-4,Ct=ni*zh.JE+1E-4,Ej=Et*Dt;if(bethis.Ak+Ej&&(pi=Math.floor((be-this.Ak)/Ej),be-=pi*Ej);for(;be<=this.hA;){var op;a:{for(var jw=Ft.length,pp=0;ppni&&(yh=ni),Bt<=yh&&yh<=Ct)){for(var sd=Cj[Hf][td],Fj= +Bj[Hf][td];Hfoi&&tdjm?0om;om++){switch(om){case 0:ce.l(lm,mm);break;case 1:ce.l(lm+up,mm);break;case 2:ce.l(lm,mm+vp);break;case 3:ce.l(lm+up,mm+vp)}ce.rotate(Nt+Ah.angle);ce.offset(Lt,Mt);0===nm&&0===om?ri.l(ce.x,ce.y,0,0):ri.qi(ce);ce.offset(-Lt,-Mt);ce.rotate(-Nt-Ah.angle)}v.v(ce);this.vm.push(ri); +kb(mw,ri.x,ri.y,ri.width,ri.height)}else if(qi instanceof Fh){var Wk=qi,Ot=sp,pw=e;null===this.ik&&(this.ik=new Fh);var If=this.ik;Bp(Wk,If);var xp=Wk.nh;xp.Od()&&(xp=yb);for(var Bh=Wk.rq,qw=Wk.UA,si=null,pm=0,qm=0,Rg=0,yp=0,rw=Ot.length,rm=0;rmRg||225Rg)&&Sg.rotate(-Rg,Ij/2,Jj/2);var Pt=v.Ug(0,0,Ij,Jj),Xk=v.K();Xk.Sn(Pt,xp);Sg.ob(Xk);var sw=-Xk.x,tw=-Xk.y,Tg=v.K();Tg.assign(qw);isNaN(Tg.x)&&(Tg.x=Ij/2+3);isNaN(Tg.y)&&(Tg.y=-(Jj/2+3));Tg.rotate(Rg);var pm=pm+(Tg.x+sw),qm=qm+(Tg.y+tw),zp=new B(pm,qm,Ch.width,Ch.height),uw=new B(Ch.x,Ch.y,Ch.width,Ch.height),vw=new B(Hj.x,Hj.y,Hj.width, +Hj.height),Qt=new Op;Qt.Ip(If.Mi);kg.push(yp);kg.push(If.le);kg.push(Qt);kg.push(zp);kg.push(uw);kg.push(vw);0===rm?si=zp.copy():si.Gh(zp);v.v(Tg);v.v(Xk);v.Gb(Pt);v.we(Sg)}this.vm.push(si);kb(pw,si.x,si.y,si.width,si.height)}Vl(qi,!1)}}break;case "TableRow":case "TableColumn":v.k(this.toString()+" is not an element of a Table Panel. TableRow and TableColumn Panels can only be elements of a Table Panel.");break;default:v.k("Unknown panel type: "+n)}}var af=e.width,bf=e.height,sm=this.padding,ww=sm.top+ +sm.bottom,af=af+(sm.left+sm.right),bf=bf+ww;isFinite(f.width)&&(af=f.width);isFinite(f.height)&&(bf=f.height);af=Math.min(k.width,af);bf=Math.min(k.height,bf);af=Math.max(h.width,af);bf=Math.max(h.height,bf);af=Math.max(c,af);bf=Math.max(d,bf);e.width=af;e.height=bf;Wa(this.Ic,af,bf);to(this,0,0,af,bf)};D.prototype.findMainElement=D.prototype.Jd=function(){if(null===this.dn){var a=this.xa.n,b=a.length;if(0===b)return null;for(var c=0;cc||p>d)this.I(),sk(this,n>c?c:n,p>d?d:p);break;case Be:this.I(!0);sk(this,c+r,d+s,0,0);break;case io:this.I(!0);sk(this,c+r,p+s,0,0);break;case ho:this.I(!0),sk(this,n+r,d+s,0,0)}}k=this.Y;k.x=a;k.y=b; +k.width=c;k.height=d;var u=this.ka.Qb;switch(u){case "Position":for(var t=f.length,x=e.x-this.padding.left,w=e.y-this.padding.top,z=0;z=this.qq);ib++){var ci=this.ce(Qa+ib);fd.height+=ci.total}for(ib=1;ib=this.Hp);ib++){var mj=this.be(Dg+ib);fd.width+=mj.total}var fa=Ud.Sa+fd.width,ca=th.Sa+fd.height;h.x=Yb;h.y=Qb;h.width=fa;h.height=ca;var Fg=Yb,Hk=Qb,Ik=fa,wc=ca;Yb+fa>e.width&&(Ik=Math.max(e.width-Yb,0));Qb+ca>e.height&&(wc=Math.max(e.height-Qb,0));var Fd=tb.alignment,Jb=0,yf=0,cg=0,zf=0;if(Fd.Xc()){Fd=this.Jl;Fd.jd()||(Fd=Gb);var Jb=Fd.x,yf=Fd.y,cg=Fd.offsetX,zf=Fd.offsetY,Vd=Ud.alignment, +Wd=th.alignment;Vd.jd()&&(Jb=Vd.x,cg=Vd.offsetX);Wd.jd()&&(yf=Wd.y,zf=Wd.offsetY)}else Jb=Fd.x,yf=Fd.y,cg=Fd.offsetX,zf=Fd.offsetY;if(isNaN(Jb)||isNaN(yf))yf=Jb=.5,zf=cg=0;var fc=uh.width,sc=uh.height,Xe=tb.margin,aa=Xe.left+Xe.right,di=Xe.top+Xe.bottom,dg=Lo(tb,th,Ud,!1);!isNaN(tb.Ba.width)||dg!==Be&&dg!==io||(fc=Math.max(fa-aa,0));!isNaN(tb.Ba.height)||dg!==Be&&dg!==ho||(sc=Math.max(ca-di,0));var nj=tb.Bf,oj=tb.yh,fc=Math.min(nj.width,fc),sc=Math.min(nj.height,sc),fc=Math.max(oj.width,fc),sc=Math.max(oj.height, +sc),Gd=sc+di;h.x+=h.width*Jb-(fc+aa)*Jb+cg+Xe.left;h.y+=h.height*yf-Gd*yf+zf+Xe.top;tb.visible&&(lb(Fg,Hk,Ik,wc,h.x,h.y,uh.width,uh.height)?tb.jc(h.x,h.y,fc,sc):tb.jc(h.x,h.y,fc,sc,new B(Fg,Hk,Ik,wc)))}else{tb.Hi();tb.qc.Ra();var fb=tb.qc;fb.x=xf.type===Bo?ed:Yb;fb.y=xf.type===Co?Db:Qb;fb.width=uh.width;fb.height=uh.height;tb.qc.freeze();xo(tb,!1)}}}}v.yk(fd);for(Qa=0;Qa=Af){var Bf=this.oF,jb=this.nF;Ig!==cj&&(Jg=this.computeAngle(Ic, +Ig,jb),Ic.angle=Jg);$d=Bf.x;ae=Bf.y}else{var tc=void 0,Eb=void 0;if(0<=Wc)tc=fg.n[Wc],Eb=Wcvh+10?0<=Wc?Df.Ac(tc):tc.Ac(Df):vh>rj+10?0<=Wc?Eb.Ac(Rb):Rb.Ac(Eb):0<=Wc?Df.Ac(Rb):Rb.Ac(Df)}else jb=0<=Wc?tc.Ac(Eb):Eb.Ac(tc);Ig!==cj&&(Jg=this.computeAngle(Ic, +Ig,jb),Ic.angle=Jg);$d=tc.x+(Eb.x-tc.x)*Mk;ae=tc.y+(Eb.y-tc.y)*Mk}if(Hg.L(vb))Ic.location=new y($d,ae);else{Hg.Od()&&(Hg=Gb);var He=v.Ff();He.reset();He.scale(Ic.scale,Ic.scale);He.rotate(Ic.angle,0,0);var Kg=Ic.Ja,gg=v.Ug(0,0,Kg.width,Kg.height),Ef=v.K();Ef.Sn(gg,Hg);He.ob(Ef);var Ie=-Ef.x,Je=-Ef.y,Ff=zb.copy();isNaN(Ff.x)&&(Ff.x=0<=Wc?Ef.x+3:-(Ef.x+3));isNaN(Ff.y)&&(Ff.y=-(Ef.y+3));Ff.rotate(jb);$d+=Ff.x;ae+=Ff.y;He.lG(gg);var Ie=Ie+gg.x,Je=Je+gg.y,sj=v.xb($d+Ie,ae+Je);Ic.move(sj);v.v(sj);v.v(Ef); +v.Gb(gg);v.we(He)}}Hc?this.Kn(!1):fi.Kn(!1)}break;case "Grid":break;case "Graduated":if(null!==this.vm){var qd=this.Jd(),tj=this.xm,hi=this.vm,ii=0,Ye=hi[ii];ii++;qd.jc(Ye.x-e.x,Ye.y-e.y,Ye.width,Ye.height);for(var re=f.length,hg=0;hgp.width||n.y>p.height||0>n.x+n.width||0>n.y+n.height)){n=m;m=m instanceof D?m:null;p=v.Ff();p.set(h);if(null!==m?m.xk(a,b,c,d,e,p):vo(n,a,d,p))null!== +b&&(n=b(n)),null===n||null!==c&&!c(n)||e.add(n);v.we(p)}}}void 0===f&&v.we(h);return d}void 0===f&&v.we(h);return!1};function Tp(a,b,c,d){for(var e=a.xa.n,f=e.length;f--;){var h=e[f];if(h.visible){var k=h.Y,l=a.Ja;k.x>l.width||k.y>l.height||0>k.x+k.width||0>k.y+k.height||(h instanceof D&&Tp(h,b,c,d),null!==b&&(h=b(h)),null===h||null!==c&&!c(h)||d.add(h))}}} +g.un=function(a,b,c,d,e,f){if(!1===this.Qg)return!1;void 0===c&&(c=null);void 0===d&&(d=null);var h=this.Ja,k=this.Xg(),l=k?a:Ra(v.xb(a.x,a.y),this.transform),m=k?b:Ra(v.xb(b.x,b.y),this.transform),n=l.wf(m),p=0s.width||r.y>s.height||0>r.x+r.width||0>r.y+r.height||(q.Xg()?(r=q.transform,Ra(k.set(a),r),Ra(l.set(b),r)):(k.set(a),l.set(b)),r=q,q=q instanceof D?q:null,null!==q?!q.un(k,l,c,d,e,f):!r.BE(k,l,e))||(null!==c&&(r=c(r)),null===r||null!==d&&!d(r)||f.add(r))}}v.v(k);v.v(l)}return e? +p:h}return!1};function Ep(a){var b=a.A;if(void 0===b||b===nc)b=null;null===b&&a instanceof X&&(a=a.xf,null!==a&&(b=a.A));null===b&&(b=xb);return b}function Fp(a){var b=a.B;if(void 0===b||b===nc)b=null;null===b&&a instanceof X&&(a=a.xf,null!==a&&(b=a.B));null===b&&(b=Mb);return b}D.prototype.add=D.prototype.add=function(a){v.F(a,G,D,"add:element");this.Md(this.xa.count,a)};D.prototype.elt=D.prototype.fa=function(a){return this.xa.fa(a)}; +D.prototype.insertAt=D.prototype.Md=function(a,b){b instanceof S&&v.k("Cannot add a Part to a Panel: "+b);if(this===b||this.Vl(b))this===b&&v.k("Cannot make a Panel contain itself: "+this.toString()),v.k("Cannot make a Panel indirectly contain itself: "+this.toString()+" already contains "+b.toString());var c=b.N;null!==c&&c!==this&&v.k("Cannot add a GraphObject that already belongs to another Panel to this Panel: "+b.toString()+", already contained by "+c.toString()+", cannot be shared by this Panel: "+ +this.toString());this.ka!==El||b instanceof X||v.k("Can only add Shapes to a Grid Panel, not: "+b);this.ka!==bp||b instanceof X||b instanceof Fh||v.k("Can only add Shapes or TextBlocks to a Graduated Panel, not: "+b);b.cm(this);b.Qm=null;if(null!==this.aq){var d=b.data;null!==d&&"object"===typeof d&&(null===this.qg&&(this.qg=new la(Object,D)),this.qg.add(d,b))}var e=this.xa,d=-1;if(c===this){for(var f=-1,h=this.xa.n,k=h.length,l=0;l=e.count&& +a>=e.count)return;e.$c(f);d=f}else v.k("element "+b.toString()+" has panel "+c.toString()+" but is not contained by it.")}if(0>a||a>e.count)a=e.count;e.Md(a,b);this.I();b.I();null!==b.Qd?this.Bk=!0:b instanceof D&&!0===b.Bk&&(this.Bk=!0);this.Oj=null;c=this.V;null!==c&&(c.Lm=null,c.$j=NaN,this.Bk&&c instanceof T&&(c.Bk=!0),c.Bk&&(c.ne=null),e=this.g,null!==e&&e.pa.eb||(-1!==d&&c.Zc(Of,"elements",this,b,null,d,null),c.Zc(Nf,"elements",this,null,b,null,a),this.Yt()||Up(this,b,!1)))}; +v.defineProperty(D,{Bk:null},function(){return 0!==(this.P&8388608)},function(a){0!==(this.P&8388608)!==a&&(this.P^=8388608)});function Vp(a,b){a.P=b?a.P|16777216:a.P&-16777217}D.prototype.remove=D.prototype.remove=function(a){v.F(a,G,D,"remove:element");for(var b=this.xa.n,c=b.length,d=-1,e=0;ea&&v.Fa(a,">= 0",D,"getRowDefinition:idx");a=Math.round(a);var b=this.Yd;if(void 0===b[a]){var c=new Yg;c.cm(this);c.xe=!0;c.index=a;b[a]=c}return b[a]};D.prototype.removeRowDefinition=D.prototype.DF=function(a){0>a&&v.Fa(a,">= 0",D,"removeRowDefinition:idx");a=Math.round(a);var b=this.Yd;this.Zc(Of,"coldefs",this,b[a],null,a,null);b[a]&&delete b[a];this.I()};v.u(D,{Hp:"columnCount"},function(){return void 0===this.Ud?0:this.Ud.length}); +D.prototype.getColumnDefinition=D.prototype.be=function(a){0>a&&v.Fa(a,">= 0",D,"getColumnDefinition:idx");a=Math.round(a);var b=this.Ud;if(void 0===b[a]){var c=new Yg;c.cm(this);c.xe=!1;c.index=a;b[a]=c}return b[a]};D.prototype.removeColumnDefinition=D.prototype.AF=function(a){0>a&&v.Fa(a,">= 0",D,"removeColumnDefinition:idx");a=Math.round(a);var b=this.Ud;this.Zc(Of,"coldefs",this,b[a],null,a,null);b[a]&&delete b[a];this.I()}; +v.defineProperty(D,{tJ:"rowSizing"},function(){return void 0===this.Vm?ap:this.Vm},function(a){if(void 0!==this.Vm){var b=this.Vm;b!==a&&(a!==ap&&a!==Hp&&v.k("Panel.rowSizing must be RowColumnDefinition.ProportionalExtra or RowColumnDefinition.None, not: "+a),this.Vm=a,this.I(),this.h("rowSizing",b,a))}}); +v.defineProperty(D,{oH:"columnSizing"},function(){return void 0===this.qm?ap:this.qm},function(a){if(void 0!==this.qm){var b=this.qm;b!==a&&(a!==ap&&a!==Hp&&v.k("Panel.columnSizing must be RowColumnDefinition.ProportionalExtra or RowColumnDefinition.None, not: "+a),this.qm=a,this.I(),this.h("columnSizing",b,a))}}); +v.defineProperty(D,{RL:"topIndex"},function(){return void 0===this.cj?0:this.cj},function(a){if(void 0!==this.cj){var b=this.cj;b!==a&&((!isFinite(a)||0>a)&&v.k("Panel.topIndex must be greater than zero and a real number, not: "+a),this.cj=a,this.I(),this.h("topIndex",b,a))}}); +v.defineProperty(D,{eL:"leftIndex"},function(){return void 0===this.Li?0:this.Li},function(a){if(void 0!==this.Li){var b=this.Li;b!==a&&((!isFinite(a)||0>a)&&v.k("Panel.leftIndex must be greater than zero and a real number, not: "+a),this.Li=a,this.I(),this.h("leftIndex",b,a))}});D.prototype.findRowForLocalY=function(a){if(0>a)return-1;if(this.type!==Ko)return NaN;for(var b=0,c=this.Yd,d=c.length,e=this.cj;ea)return-1;if(this.type!==Ko)return NaN;for(var b=0,c=this.Ud,d=c.length,e=this.Li;ea;)this.mf(this.xa.length-1);a=this.aq;if(null!==a)for(var b=v.Xa(a),c=0;cc)){var d;d=Wp(a,b);var e=a.uI,f=null;null!==e&&(f=e.na(d));null===f&&(Xp||(Xp=!0,v.trace('No item template Panel found for category "'+d+'" on '+a),v.trace(" Using default item template."),d=new D,e=new Fh,e.bind(new dh("text","",Pf)),d.add(e),Yp=d),f=Yp);d=f;null!==d&&(oh(d),d=d.copy(),0!==(d.P&16777216)&&(e=a.Nl(),null!==e&&Vp(e,!0)),"object"===typeof b&&(null===a.qg&&(a.qg=new la(Object,D)),a.qg.add(b,d)),e=c,an(a)&&e++,a.Md(e,d),d.ie=b,bn(a,e, +c),d.ie=null,d.data=b)}}function bn(a,b,c){for(a=a.xa;ba&&v.Fa(a,">= 0",Yg,"height"),this.kf=a,this.Ka=this.Sa,null!==this.N&&this.N.I(),this.ed("height",b,a))});v.defineProperty(Yg,{width:"width"},function(){return this.kf},function(a){var b=this.kf;b!==a&&(0>a&&v.Fa(a,">= 0",Yg,"width"),this.kf=a,this.Ka=this.Sa,null!==this.N&&this.N.I(),this.ed("width",b,a))}); +v.defineProperty(Yg,{tj:"minimum"},function(){return this.bk},function(a){var b=this.bk;b!==a&&((0>a||!isFinite(a))&&v.Fa(a,">= 0",Yg,"minimum"),this.bk=a,this.Ka=this.Sa,null!==this.N&&this.N.I(),this.ed("minimum",b,a))});v.defineProperty(Yg,{qf:"maximum"},function(){return this.ak},function(a){var b=this.ak;b!==a&&(0>a&&v.Fa(a,">= 0",Yg,"maximum"),this.ak=a,this.Ka=this.Sa,null!==this.N&&this.N.I(),this.ed("maximum",b,a))}); +v.defineProperty(Yg,{alignment:"alignment"},function(){return this.he},function(a){var b=this.he;b.L(a)||(this.he=a.S(),null!==this.N&&this.N.I(),this.ed("alignment",b,a))});v.defineProperty(Yg,{stretch:"stretch"},function(){return this.zg},function(a){var b=this.zg;b!==a&&(this.zg=a,null!==this.N&&this.N.I(),this.ed("stretch",b,a))}); +v.defineProperty(Yg,{QF:"separatorPadding"},function(){return this.fk},function(a){"number"===typeof a&&(a=new mb(a));var b=this.fk;null!==a&&null!==b&&b.L(a)||(null!==a&&(a=a.S()),this.fk=a,null!==this.N&&this.N.I(),this.ed("separatorPadding",b,a))});v.defineProperty(Yg,{sq:"separatorStroke"},function(){return this.Qs},function(a){var b=this.Qs;b!==a&&(null===a||"string"===typeof a||a instanceof ha)&&(a instanceof ha&&a.freeze(),this.Qs=a,null!==this.N&&this.N.I(),this.ed("separatorStroke",b,a))}); +v.defineProperty(Yg,{tq:"separatorStrokeWidth"},function(){return this.Rs},function(a){var b=this.Rs;b!==a&&(this.Rs=a,null!==this.N&&this.N.I(),this.ed("separatorStrokeWidth",b,a))}); +v.defineProperty(Yg,{yJ:"separatorDashArray"},function(){return this.Wh},function(a){var b=this.Wh;if(b!==a){null===a||Array.isArray(a)||v.yd(a,"Array",Yg,"separatorDashArray:value");if(null!==a){for(var c=a.length,d=0,e=0;ee)){for(var f=d.Aa,h=Math.max(1,f.width),f=f.height,k=c[0],l=c[1],m=0,n=0,p=0,q=0,r=0,s=0,u=q=0,t=v.lb(),x=2;xp&&(p=1);for(var e=c=p,m=h/2,n=0===m?!1:!0,x=0,q=t[x],p=q[0],s=q[1],r=q[2],q=q[3],w=0;.1<=u;){0===w&&(n?(e=c,e-=m,u-=m,n=!1):e=c,0===e&&(e=1));if(e>u){v.wa(t);return}e> +q?(w=e-q,e=q):w=0;var z=Math.sqrt(e*e/(1+r*r));0>p&&(z=-z);k+=z;l+=r*z;a.translate(k,l);a.rotate(s);a.translate(-(h/2),-(f/2));0===w&&d.wk(a,b);a.translate(h/2,f/2);a.rotate(-s);a.translate(-k,-l);u-=e;q-=e;if(0!==w){x++;if(x===t.length){v.wa(t);return}q=t[x];p=q[0];s=q[1];r=q[2];q=q[3];e=w}}v.wa(t)}} +X.prototype.wk=function(a,b){if(null!==this.sc||null!==this.Ad){null!==this.Ad&&Fo(this,a,this.Ad,!0,!1);null!==this.sc&&Fo(this,a,this.sc,!1,!1);var c=this.ei;if(0===c){var d=this.V;d instanceof mh&&d.type===$i&&"Selection"===d.kc&&d.rb instanceof X&&d.Of.Jd()===d.rb&&(c=d.rb.fb)}a.lineWidth=c;a.lineJoin=this.rp;a.lineCap=this.pp;a.miterLimit=this.cn;var e=!1;this.V&&b.lj("drawShadows")&&(e=this.V.Xl);var f=!0;null!==this.sc&&null===this.Ad&&(f=!1);var d=!1,h=!0,k=this.$F;null!==k&&(d=!0,h=a.Yz(k, +this.Fe));var l=this.gb;if(null!==l){if(l.ka===Ce)a.beginPath(),d&&!h?qo(a,l.yc,l.Jc,l.yb,l.Fb,k,this.Fe):(a.moveTo(l.yc,l.Jc),a.lineTo(l.yb,l.Fb)),null!==this.Ad&&a.Gg(this.Ad),0!==c&&null!==this.sc&&a.yj();else if(l.ka===De){var m=l.yc,n=l.Jc,p=l.yb,q=l.Fb,l=Math.min(m,p),r=Math.min(n,q),m=Math.abs(p-m),n=Math.abs(q-n);null!==this.Ad&&(a.beginPath(),a.rect(l,r,m,n),a.Gg(this.Ad));if(null!==this.sc){var s=p=0,u=0;f&&e&&(p=a.shadowOffsetX,s=a.shadowOffsetY,u=a.shadowBlur,a.shadowOffsetX=0,a.shadowOffsetY= +0,a.shadowBlur=0);d&&!h?(h=v.lb(),h.push(l),h.push(r),h.push(l+m),h.push(r),h.push(l+m),h.push(r+n),h.push(l),h.push(r+n),h.push(l),h.push(r),a.beginPath(),aq(a,h,k,this.Fe),a.yj(),v.wa(h)):0!==c&&(a.beginPath(),a.rect(l,r,m,n),a.yj());f&&e&&(a.shadowOffsetX=p,a.shadowOffsetY=s,a.shadowBlur=u)}}else if(l.ka===Ke)m=l.yc,n=l.Jc,p=l.yb,q=l.Fb,l=Math.abs(p-m)/2,r=Math.abs(q-n)/2,m=Math.min(m,p)+l,n=Math.min(n,q)+r,a.beginPath(),a.moveTo(m,n-r),a.bezierCurveTo(m+Zc*l,n-r,m+l,n-Zc*r,m+l,n),a.bezierCurveTo(m+ +l,n+Zc*r,m+Zc*l,n+r,m,n+r),a.bezierCurveTo(m-Zc*l,n+r,m-l,n+Zc*r,m-l,n),a.bezierCurveTo(m-l,n-Zc*r,m-Zc*l,n-r,m,n-r),a.closePath(),null!==this.Ad&&a.Gg(this.Ad),d&&!h&&(h=v.lb(),Td(m,n-r,m+Zc*l,n-r,m+l,n-Zc*r,m+l,n,.5,h),Td(m+l,n,m+l,n+Zc*r,m+Zc*l,n+r,m,n+r,.5,h),Td(m,n+r,m-Zc*l,n+r,m-l,n+Zc*r,m-l,n,.5,h),Td(m-l,n,m-l,n-Zc*r,m-Zc*l,n-r,m,n-r,.5,h),a.beginPath(),aq(a,h,k,this.Fe),v.wa(h)),0!==c&&null!==this.sc&&(f&&e?(p=a.shadowOffsetX,s=a.shadowOffsetY,u=a.shadowBlur,a.shadowOffsetX=0,a.shadowOffsetY= +0,a.shadowBlur=0,a.yj(),a.shadowOffsetX=p,a.shadowOffsetY=s,a.shadowBlur=u):a.yj());else if(l.ka===ze){r=l.Jj;n=r.length;for(q=0;qx.sf);else{var t=hf(x,m),w=t.length;if(0===w){a.lineTo(x.la,x.sa);break}for(var z=0;ze)){var f=.001,h=c.length,k=b[0],l=b[1];if(4===e)qo(a,k,l,b[2],b[3],c,d);else{a.moveTo(k,l);for(var m=f=0,n=0,p=0,q=0,r=p=0,s=v.lb(),u=2;ur&&(f=r);f>p?(t=f-p,f=p):t=0;var x=Math.sqrt(f*f/(1+q*q));0>n&&(x=-x);k+=x;l+= +q*x;e?a.lineTo(k,l):a.moveTo(k,l);r-=f;p-=f;if(0!==t){u++;if(u===s.length){v.wa(s);return}p=s[u];n=p[0];q=p[1];p=p[2];f=t}else e=!e}v.wa(s)}}}X.prototype.getDocumentPoint=X.prototype.Va=function(a,b){void 0===b&&(b=new y);if(a instanceof L){a.Od()&&v.k("getDocumentPoint Spot must be a real, specific Spot, not: "+a.toString());var c=this.Ja,d=this.fb;b.l(a.x*(c.width+d)-d/2+c.x+a.offsetX,a.y*(c.height+d)-d/2+c.y+a.offsetY)}else b.set(a);this.oh.ob(b);return b}; +X.prototype.sk=function(a,b){var c=this.xf;if(null===c||null===this.fill&&null===this.stroke)return!1;var d=c.kb,e=this.fb/2;c.type!==Ce||b||(e+=2);var f=v.Ef();f.assign(d);f.Tf(e+2,e+2);if(!f.Ha(a))return v.Gb(f),!1;d=e+1E-4;if(c.type===Ce){if(null===this.stroke)return!1;d=(c.C-c.ja)*(a.x-c.ja)+(c.D-c.ha)*(a.y-c.ha);if(0>(c.ja-c.C)*(a.x-c.C)+(c.ha-c.D)*(a.y-c.D)||0>d)return!1;v.Gb(f);return Qd(c.ja,c.ha,c.C,c.D,e,a.x,a.y)}if(c.type===De){var h=c.ja,k=c.ha,l=c.C,m=c.D;f.x=Math.min(h,l);f.y=Math.min(k, +m);f.width=Math.abs(l-h);f.height=Math.abs(m-k);if(null===this.fill){f.Tf(-d,-d);if(f.Ha(a))return v.Gb(f),!1;f.Tf(d,d)}null!==this.stroke&&f.Tf(e,e);e=f.Ha(a);v.Gb(f);return e}if(c.type===Ke){var h=c.ja,k=c.ha,l=c.C,m=c.D,c=Math.min(h,l),n=Math.min(k,m),h=Math.abs(l-h)/2,k=Math.abs(m-k)/2,c=a.x-(c+h),n=a.y-(n+k);if(null===this.fill){h-=d;k-=d;if(0>=h||0>=k||1>=c*c/(h*h)+n*n/(k*k))return v.Gb(f),!1;h+=d;k+=d}null!==this.stroke&&(h+=e,k+=e);v.Gb(f);return 0>=h||0>=k?!1:1>=c*c/(h*h)+n*n/(k*k)}if(c.type=== +ze)return v.Gb(f),null===this.fill?lf(c,a.x,a.y,e):c.Ha(a,e,1=this.fb)n=je(p.yc,p.Jc,p.yb,p.Fb,f,h,k,l,e);else{var r=0,s=0;p.yc===p.yb?(r=m,s=0):(b=(p.Fb-p.Jc)/(p.yb-p.yc),s=m/Math.sqrt(1+b*b),r=s*b);d=v.lb();b=new y;je(p.yc+ +r,p.Jc+s,p.yb+r,p.Fb+s,f,h,k,l,b)&&d.push(b);b=new y;je(p.yc-r,p.Jc-s,p.yb-r,p.Fb-s,f,h,k,l,b)&&d.push(b);b=new y;je(p.yc+r,p.Jc+s,p.yc-r,p.Jc-s,f,h,k,l,b)&&d.push(b);b=new y;je(p.yb+r,p.Fb+s,p.yb-r,p.Fb-s,f,h,k,l,b)&&d.push(b);b=d.length;if(0===b)return v.wa(d),!1;n=!0;s=Infinity;for(r=0;rMath.abs(c)){n=h-b-c*(f-d);if(0>a*a*c*c+t*t-n*n){e.x=NaN;e.y=NaN;n=!1;break a}m=Math.sqrt(a*a*c*c+t*t-n*n);k=(-(a*a*c*n)+a*t*m)/(t*t+a*a*c*c)+d;a=(-(a*a*c*n)-a*t*m)/(t*t+a*a*c*c)+d;l=c*(k-d)+n+b;b=c*(a-d)+n+b;d=Math.abs((f-k)*(f-k))+Math.abs((h-l)*(h-l));h=Math.abs((f-a)*(f-a))+Math.abs((h-b)*(h- +b));dk){e.x=NaN;e.y=NaN;n=!1;break a}m=Math.sqrt(k);l=b+m;b-=m;d=Math.abs(l-h);h=Math.abs(b-h);dc?a-c:c-a)<(b>d?b-d:d-b)?(e=be||$a(l.y,e))&&(l.ye||$a(l.x,e))&&(l.x=h&&d<=a}a=h&&f<=a} +X.prototype.BE=function(a,b,c){function d(a,b){for(var c=a.length,d=0;de)return!0;return!1}if(c&&null!==this.fill&&this.sk(a,!0))return!0;var e=a.wf(b);b=e;1.5=e||Ta(b,f,0,-p)>=e||Ta(b,f,0,p)>=e||Ta(b,f,n,0)>= +e?!1:!0}else if(f.type===ze){h=f.kb;k=h.x;l=h.y;m=h.x+h.width;h=h.y+h.height;if(a.x>m&&a.xh&&a.ye&&Sa(a.x,a.y,k,l,m,l)>e&&Sa(a.x,a.y,m,h,k,h)>e&&Sa(a.x,a.y,m,h,m,l)>e)return!1;b=Math.sqrt(e);if(c){if(null===this.fill?lf(f,a.x,a.y,b):f.Ha(a,b,!0))return!0}else{c=f.dc;for(b=0;be)return!1;l=k.vb.n;m=l.length;for(h=0;he)return!1;break;case df:f=v.lb(); +Td(n,p,q.uc,q.Rc,q.Ah,q.Bh,q.C,q.D,.8,f);n=d(f,a);v.wa(f);if(n)return!1;n=q.C;p=q.D;if(a.Op(n,p)>e)return!1;break;case ef:f=v.lb();ge(n,p,q.uc,q.Rc,q.C,q.D,.8,f);n=d(f,a);v.wa(f);if(n)return!1;n=q.C;p=q.D;if(a.Op(n,p)>e)return!1;break;case ff:case gf:var r=q.type===ff?hf(q,k):jf(q,k,n,p),s=r.length;if(0===s){n=q.la;p=q.sa;if(a.Op(n,p)>e)return!1;break}q=null;f=v.lb();for(b=0;b= 0",X,"strokeWidth:value")});v.defineProperty(X,{KL:"strokeCap"},function(){return this.pp},function(a){var b=this.pp;b!==a&&("string"!==typeof a||"butt"!==a&&"round"!==a&&"square"!==a?v.Fa(a,'"butt", "round", or "square"',X,"strokeCap"):(this.pp=a,this.oa(),this.h("strokeCap",b,a)))}); +v.defineProperty(X,{ML:"strokeJoin"},function(){return this.rp},function(a){var b=this.rp;b!==a&&("string"!==typeof a||"miter"!==a&&"bevel"!==a&&"round"!==a?v.Fa(a,'"miter", "bevel", or "round"',X,"strokeJoin"):(this.rp=a,this.oa(),this.h("strokeJoin",b,a)))});v.defineProperty(X,{NL:"strokeMiterLimit"},function(){return this.cn},function(a){var b=this.cn;if(b!==a)if(1<=a){this.cn=a;this.oa();var c=this.V;null!==c&&(c.$j=NaN);this.h("strokeMiterLimit",b,a)}else v.Fa(a,"value >= 1",X,"strokeWidth:value")}); +v.defineProperty(X,{$F:"strokeDashArray"},function(){return this.qp},function(a){var b=this.qp;if(b!==a){null===a||Array.isArray(a)||v.yd(a,"Array",X,"strokeDashArray:value");if(null!==a){for(var c=a.length,d=0,e=0;ea?a=0:1a?a=0:1a?a=0:1a?a=0:1n*l*l&&(h=!0);b.uf!==a&&(h=!1);!1===b.lj("textGreeking")&&(h=!1);n=this.ai;l=this.bi;switch(this.Lt){case ko:a.translate(c, +0);a.scale(-1,1);break;case jo:a.translate(0,d);a.scale(1,-1);break;case lo:a.translate(c,d),a.scale(-1,-1)}var m=this.le,p=(n+e+l)*m;d>p&&(k=this.wl,k=k.y*d-k.y*p+k.offsetY);for(var p=this.Mi,q=0;qc&&(r=c);var k=k+n,u=s,s=a,t=k,x=c,w=e,z=f,A=0;h?("left"===z?A=0:"right"===z?A=x-r:"center"===z&&(A=(x-r)/2),s.fillRect(0+A,t+.25*w,r,1)):("left"===z?A=0:"right"===z?A=x:"center"===z&&(A=x/2),s.fillText(u,0+A,t+w-.25*w),u=w/20|0,0===u&&(u=1),"right"===z?A-=r:"center"=== +z&&(A-=r/2),this.Uj&&(s.beginPath(),s.lineWidth=u,s.moveTo(0+A,t+w-.2*w),s.lineTo(0+A+r,t+w-.2*w),s.stroke()),this.Tj&&(s.beginPath(),s.lineWidth=u,t=t+w-w/2.2|0,0!==u%2&&(t+=.5),s.moveTo(0+A,t),s.lineTo(0+A+r,t),s.stroke()));k+=e+l}switch(this.Lt){case ko:a.scale(-1,1);a.translate(-c,0);break;case jo:a.scale(1,-1);a.translate(0,-d);break;case lo:a.scale(-1,-1),a.translate(-c,-d)}}}; +Fh.prototype.computeAngle=function(a,b){var c=0;switch(a){default:case cj:c=0;break;case hq:c=b;break;case Jp:c=b+90;break;case Lp:c=b-90;break;case zq:c=b+180;break;case Aq:c=ue(b);90c&&(c-=180);break;case Kp:c=ue(b+90);90c&&(c-=180);break;case Mp:c=ue(b-90);90c&&(c-=180);break;case Np:c=ue(b);if(45c||225c)return 0;90c&&(c-=180)}return ue(c)}; +Fh.prototype.dq=function(a,b,c,d){this.To=a;var e=this.Mi;e.reset();var f=0,h=0;if(isNaN(this.Ba.width)){f=this.Gd.replace(/\r\n/g,"\n").replace(/\r/g,"\n");if(0===f.length)f=0;else if(this.ux){for(var k=h=0,l=!1;!l;){var m=f.indexOf("\n",k);-1===m&&(m=f.length,l=!0);k=Bq(f.substr(k,m-k).replace(/^\s+|\s+$/g,""),this.kg);k>h&&(h=k);k=m+1}f=h}else h=f.indexOf("\n",0),0<=h&&(f=f.substr(0,h)),f=k=Bq(f,this.kg);f=Math.min(f,a/this.scale);f=Math.max(8,f)}else f=this.Ba.width;null!==this.N&&(f=Math.min(f, +this.N.Bf.width),f=Math.max(f,this.N.yh.width));h=xq(this,f,e);m=h=isNaN(this.Ba.height)?Math.min(h,b/this.scale):this.Ba.height;if(0!==e.hf&&1!==e.Qe.length&&this.Vi===vq&&(b=this.kg,l=this.Vi===vq?Cq(b):0,k=this.ai+this.bi,k=Math.max(0,yq(this)+k),m=Math.min(this.HI-1,Math.max(Math.floor(m/k+.01)-1,0)),!(m+1>=e.Qe.length))){k=e.Qe[m];for(a=Math.max(1,a-l);Bq(k,b)>a&&1=a.eh)return new ia(0,l);if(a.ok===tq){c.ej=1;f=Bq(b,k);if(0===h||f<=d)return c.hf=f,c.tf.push(c.hf),c.Qe.push(b),new ia(f,l);var m=Dq(b);b=b.substr(m.length);for(var n=Dq(b),f=Bq(m+n,k);0d&&1d;){n=1;f=Bq(m.substr(0,n),k);for(h=0;f<=d;)n++,h=f,f=Bq(m.substr(0,n),k);1===n?(c.tf[a.le+p]=f,e=Math.max(e,f)):(c.tf[a.le+p]=h,e=Math.max(e,h));n--;1>n&&(n=1);c.Qe[a.le+p]=m.substr(0,n);p++;m=m.substr(n);if(a.le+p>a.eh)break}n=Dq(b);for(f=Bq(m+n,k);0a.eh))break}c.ej=Math.min(a.eh,p);c.hf=Math.max(c.hf,e);return new ia(c.hf,l*c.ej)}function Dq(a){for(var b=a.length,c=0;c=b?a:a.substr(0,c)} +function Bq(a,b){rq!==b&&(rq=sq.font=b);return sq.measureText(a).width}function yq(a){if(null!==a.um)return a.um;var b=a.kg;rq!==b&&(rq=sq.font=b);var c=0;void 0!==mq[b]&&5E3>nq?c=mq[b]:(c=1.3*sq.measureText("M").width,mq[b]=c,nq++);return a.um=c}function Cq(a){rq!==a&&(rq=sq.font=a);var b=0;void 0!==oq[a]&&5E3>pq?b=oq[a]:(b=sq.measureText(qq).width,oq[a]=b,pq++);return b} +function xq(a,b,c){var d=a.Gd.replace(/\r\n/g,"\n").replace(/\r/g,"\n"),e=a.ai+a.bi,e=Math.max(0,yq(a)+e);if(0===d.length)return c.hf=0,a.le=1,e;if(!a.ux){var f=d.indexOf("\n",0);0<=f&&(d=d.substr(0,f))}for(var f=0,h=a.le=0,k=-1,l=!1;!l;)k=d.indexOf("\n",h),-1===k&&(k=d.length,l=!0),h<=k&&(h=d.substr(h,k-h),a.ok!==tq?(c.ej=0,h=wq(a,h,c,b),f+=h.height,a.le+=c.ej):(wq(a,h,c,b),f+=e,a.le++),a.le===a.eh&&(l=!0)),h=k+1;return a.Qv=f} +v.defineProperty(Fh,{hB:"textValidation"},function(){return this.tl},function(a){var b=this.tl;b!==a&&(null!==a&&v.j(a,"function",Fh,"textValidation"),this.tl=a,this.h("textValidation",b,a))});v.defineProperty(Fh,{aG:"textEdited"},function(){return this.et},function(a){var b=this.et;b!==a&&(null!==a&&v.j(a,"function",Fh,"textEdited"),this.et=a,this.h("textEdited",b,a))}); +v.defineProperty(Fh,{HL:"spacingAbove"},function(){return this.ai},function(a){var b=this.ai;b!==a&&(this.ai=a,this.h("spacingAbove",b,a))});v.defineProperty(Fh,{IL:"spacingBelow"},function(){return this.bi},function(a){var b=this.bi;b!==a&&(this.bi=a,this.h("spacingBelow",b,a))});v.defineProperty(Fh,{HI:"maxLines"},function(){return this.eh},function(a){var b=this.eh;b!==a&&(a=Math.floor(a),0>=a&&v.Fa(a,"> 0",Fh,"maxLines"),this.eh=a,this.h("maxLines",b,a),this.I())});v.u(Fh,{mL:"metrics"},function(){return this.Mi}); +v.defineProperty(Fh,{yK:"choices"},function(){return this.Rq},function(a){var b=this.Rq;b!==a&&(null===a||Array.isArray(a)||v.yd(a,"Array",Fh,"choices:value"),this.Rq=a,this.h("choices",b,a))});function Op(){this.hf=this.ej=0;this.tf=[];this.Qe=[]}Op.prototype.reset=function(){this.hf=this.ej=0;this.tf=[];this.Qe=[]};Op.prototype.Ip=function(a){this.ej=a.ej;this.hf=a.hf;this.tf=v.Fl(a.tf);this.Qe=v.Fl(a.Qe)};v.u(Op,{vK:"arrSize"},function(){return this.tf});v.u(Op,{wK:"arrText"},function(){return this.Qe}); +v.u(Op,{lL:"maxLineWidth"},function(){return this.hf});function tl(){G.call(this);this.Se=null;this.Xs="";this.gk=Jd;this.Ho=Be;this.fi=this.Te=null;this.Go=Gb;this.jg=yj;this.sp=null;this.Zy=!1;this.uv=!0;this.kp=null}v.Ma(tl,G);v.ga("Picture",tl);tl.prototype.cloneProtected=function(a){G.prototype.cloneProtected.call(this,a);a.element=this.Se;a.Xs=this.Xs;a.gk=this.gk.S();a.Ho=this.Ho;a.jg=this.jg;a.Te=this.Te;a.fi=this.fi;a.Go=this.Go.S();a.uv=this.uv;a.kp=this.kp}; +tl.prototype.ic=function(a){a===yj||a===Lj||a===Mj?this.gI=a:G.prototype.ic.call(this,a)};tl.prototype.toString=function(){return"Picture("+this.source+")#"+v.Kd(this)};var Eq=new ua,Fq=0,nl=[];function Gq(){var a=nl;if(0===a.length)for(var b=window.document.getElementsByTagName("canvas"),c=b.length,d=0;d=d.width&&(e=e+r.offsetX+(n*r.x-d.width*r.x));p>=d.height&&(f=f+r.offsetY+(p*r.y-d.height*r.y));k=Math.min(d.width,n);h=Math.min(d.height,p);break;case Be:n=d.width;p=d.height;break;case Lj:case Mj:var s=0;q===Lj?(s=Math.min(d.height/p,d.width/n),n*=s,p*=s):q===Mj&&(s=Math.max(d.height/p,d.width/n),n*=s,p*=s,n>=d.width&&(e=(e+r.offsetX+(n*r.x-d.width*r.x)/n)*k),p>=d.height&&(f=(f+r.offsetY+(p*r.y-d.height*r.y)/p)*h),k*=1/(n/d.width),h*=1/(p/d.height), +n=d.width,p=d.height)}var q=this.kj()*b.scale,u=k*h/(n*q*p*q),s=Eq[this.source],q=null;if(void 0!==s&&16s.Cp.length&&(Lq(s,4,l,m),Lq(s,16,l,m));for(var l=s.Cp,m=l.length,q=l[0],t=0;te;e++)a.lineTo(d[e].x*b,d[e].y*c);v.wa(d);P(a);b=a.o;b.A=new L(.2,.22);b.B=new L(.8, +.9);v.q(a);return b},DataTransmission:"Hexagon",Hexagon:function(a,b,c){var d=Pq(6);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;6>e;e++)a.lineTo(d[e].x*b,d[e].y*c);v.wa(d);P(a);b=a.o;b.A=new L(.07,.25);b.B=new L(.93,.75);v.q(a);return b},Heptagon:function(a,b,c){var d=Pq(7);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;7>e;e++)a.lineTo(d[e].x*b,d[e].y*c);v.wa(d);P(a);b=a.o;b.A=new L(.2,.15);b.B=new L(.8,.85);v.q(a);return b},Octagon:function(a,b,c){var d=Pq(8);a=v.s();N(a,d[0].x*b,d[0].y*c,!0); +for(var e=1;8>e;e++)a.lineTo(d[e].x*b,d[e].y*c);v.wa(d);P(a);b=a.o;b.A=new L(.15,.15);b.B=new L(.85,.85);v.q(a);return b},Nonagon:function(a,b,c){var d=Pq(9);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;9>e;e++)a.lineTo(d[e].x*b,d[e].y*c);v.wa(d);P(a);b=a.o;b.A=new L(.17,.13);b.B=new L(.82,.82);v.q(a);return b},Decagon:function(a,b,c){var d=Pq(10);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;10>e;e++)a.lineTo(d[e].x*b,d[e].y*c);v.wa(d);P(a);b=a.o;b.A=new L(.16,.16);b.B=new L(.84,.84);v.q(a);return b}, +Dodecagon:function(a,b,c){var d=Pq(12);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;12>e;e++)a.lineTo(d[e].x*b,d[e].y*c);v.wa(d);P(a);b=a.o;b.A=new L(.16,.16);b.B=new L(.84,.84);v.q(a);return b},FivePointedStar:function(a,b,c){var d=Oq(5);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;10>e;e++)a.lineTo(d[e].x*b,d[e].y*c);v.wa(d);P(a);b=a.o;b.A=new L(.312,.383);b.B=new L(.693,.765);v.q(a);return b},SixPointedStar:function(a,b,c){var d=Oq(6);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;12>e;e++)a.lineTo(d[e].x* +b,d[e].y*c);v.wa(d);P(a);b=a.o;b.A=new L(.17,.251);b.B=new L(.833,.755);v.q(a);return b},SevenPointedStar:function(a,b,c){var d=Oq(7);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;14>e;e++)a.lineTo(d[e].x*b,d[e].y*c);v.wa(d);P(a);b=a.o;b.A=new L(.363,.361);b.B=new L(.641,.709);v.q(a);return b},EightPointedStar:function(a,b,c){var d=Oq(8);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;16>e;e++)a.lineTo(d[e].x*b,d[e].y*c);v.wa(d);P(a);b=a.o;b.A=new L(.252,.255);b.B=new L(.75,.75);v.q(a);return b},NinePointedStar:function(a, +b,c){var d=Oq(9);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;18>e;e++)a.lineTo(d[e].x*b,d[e].y*c);v.wa(d);P(a);b=a.o;b.A=new L(.355,.361);b.B=new L(.645,.651);v.q(a);return b},TenPointedStar:function(a,b,c){var d=Oq(10);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;20>e;e++)a.lineTo(d[e].x*b,d[e].y*c);v.wa(d);P(a);b=a.o;b.A=new L(.281,.261);b.B=new L(.723,.748);v.q(a);return b},FivePointedBurst:function(a,b,c){var d=Nq(5);a=v.s();N(a,d[0].x*b,d[0].y*c,!0);for(var e=1;ea&&(a=.15);var d=v.s(),e=.2*$c;N(d,0,.2*c,!0);O(d,0,(.2-e)*c,(.2-e)*b,0,.2*b,0);d.lineTo(.8*b,0);O(d,(.8+e)*b,0,1*b,(.2-e)*c,1*b,.2*c);d.lineTo(1*b,.8*c);O(d,1*b,(.8+e)*c,(.8+e)*b,1*c,.8*b,1*c);d.lineTo(.2*b,1*c);O(d,(.2-e)*b,1*c,0,(.8+e)*c,0,.8*c);d.lineTo(0,.2*c); -N(d,0,a*c,!1);d.lineTo(1*b,a*c);d.Ya(!1);b=d.o;b.B=new L(0,a);b.C=new L(1,1-a);v.q(d);return b},DividedProcess:function(a,b,c){a=a?a.Ac:NaN;if(isNaN(a)||.1>a)a=.1;var d=v.s();N(d,0,0,!0);d.lineTo(1*b,0);d.lineTo(1*b,1*c);d.lineTo(0,1*c);P(d);N(d,0,a*c,!1);d.lineTo(1*b,a*c);d.Ya(!1);b=d.o;b.B=new L(0,a);b.C=Eb;v.q(d);return b},Document:function(a,b,c){c/=.8;a=v.s();N(a,0,.7*c,!0);a.lineTo(0,0);a.lineTo(1*b,0);a.lineTo(1*b,.7*c);O(a,.5*b,.4*c,.5*b,1*c,0,.7*c);P(a);b=a.o;b.B=rb;b.C=new L(1,.6);v.q(a); -return b},ExternalOrganization:function(a,b,c){a=a?a.Ac:NaN;if(isNaN(a)||.2>a)a=.2;var d=v.s();N(d,0,0,!0);d.lineTo(1*b,0);d.lineTo(1*b,1*c);d.lineTo(0,1*c);P(d);N(d,a*b,0,!1);d.lineTo(0,a*c);d.moveTo(1*b,a*c);d.lineTo((1-a)*b,0);d.moveTo(0,(1-a)*c);d.lineTo(a*b,1*c);d.moveTo((1-a)*b,1*c);d.lineTo(1*b,(1-a)*c);d.Ya(!1);b=d.o;b.B=new L(a/2,a/2);b.C=new L(1-a/2,1-a/2);v.q(d);return b},ExternalProcess:function(a,b,c){a=v.s();N(a,.5*b,0,!0);a.lineTo(1*b,.5*c);a.lineTo(.5*b,1*c);a.lineTo(0,.5*c);P(a); -N(a,.1*b,.4*c,!1);a.lineTo(.1*b,.6*c);a.moveTo(.9*b,.6*c);a.lineTo(.9*b,.4*c);a.moveTo(.6*b,.1*c);a.lineTo(.4*b,.1*c);a.moveTo(.4*b,.9*c);a.lineTo(.6*b,.9*c);a.Ya(!1);b=a.o;b.B=new L(.25,.25);b.C=new L(.75,.75);v.q(a);return b},File:function(a,b,c){a=v.s();N(a,0,0,!0);a.lineTo(.75*b,0);a.lineTo(1*b,.25*c);a.lineTo(1*b,1*c);a.lineTo(0,1*c);P(a);N(a,.75*b,0,!1);a.lineTo(.75*b,.25*c);a.lineTo(1*b,.25*c);a.Ya(!1);b=a.o;b.B=new L(0,.25);b.C=Eb;v.q(a);return b},Interrupt:function(a,b,c){a=v.s();N(a,1*b, -.5*c,!0);a.lineTo(0,1*c);a.lineTo(0,0);a.lineTo(1*b,.5*c);N(a,1*b,.5*c,!1);a.lineTo(1*b,1*c);N(a,1*b,.5*c,!1);a.lineTo(1*b,0);b=a.o;b.B=new L(0,.25);b.C=new L(.5,.75);v.q(a);return b},InternalStorage:function(a,b,c){var d=a?a.Ac:NaN;a=a?a.Mt:NaN;isNaN(d)&&(d=.1);isNaN(a)&&(a=.1);var e=v.s();N(e,0,0,!0);e.lineTo(1*b,0);e.lineTo(1*b,1*c);e.lineTo(0,1*c);P(e);N(e,d*b,0,!1);e.lineTo(d*b,1*c);e.moveTo(0,a*c);e.lineTo(1*b,a*c);e.Ya(!1);b=e.o;b.B=new L(d,a);b.C=Eb;v.q(e);return b},Junction:function(a,b, -c){a=v.s();var d=1/Math.SQRT2,e=(1-1/Math.SQRT2)/2,f=.5*$c;N(a,1*b,.5*c,!0);O(a,1*b,(.5+f)*c,(.5+f)*b,1*c,.5*b,1*c);O(a,(.5-f)*b,1*c,0,(.5+f)*c,0,.5*c);O(a,0,(.5-f)*c,(.5-f)*b,0,.5*b,0);O(a,(.5+f)*b,0,1*b,(.5-f)*c,1*b,.5*c);N(a,(e+d)*b,(e+d)*c,!1);a.lineTo(e*b,e*c);a.moveTo(e*b,(e+d)*c);a.lineTo((e+d)*b,e*c);a.Ya(!1);b=a.o;b.Jd=Ui;v.q(a);return b},LinedDocument:function(a,b,c){c/=.8;a=v.s();N(a,0,.7*c,!0);a.lineTo(0,0);a.lineTo(1*b,0);a.lineTo(1*b,.7*c);O(a,.5*b,.4*c,.5*b,1*c,0,.7*c);P(a);N(a,.1* -b,0,!1);a.lineTo(.1*b,.75*c);a.Ya(!1);b=a.o;b.B=new L(.1,0);b.C=new L(1,.6);v.q(a);return b},LoopLimit:function(a,b,c){a=v.s();N(a,0,1*c,!0);a.lineTo(0,.25*c);a.lineTo(.25*b,0);a.lineTo(.75*b,0);a.lineTo(1*b,.25*c);a.lineTo(1*b,1*c);P(a);b=a.o;b.B=new L(0,.25);b.C=Eb;v.q(a);return b},SequentialData:"MagneticTape",MagneticTape:function(a,b,c){a=v.s();var d=.5*$c;N(a,.5*b,1*c,!0);O(a,(.5-d)*b,1*c,0,(.5+d)*c,0,.5*c);O(a,0,(.5-d)*c,(.5-d)*b,0,.5*b,0);O(a,(.5+d)*b,0,1*b,(.5-d)*c,1*b,.5*c);O(a,1*b,(.5+ -d)*c,(.5+d)*b,.9*c,.6*b,.9*c);a.lineTo(1*b,.9*c);a.lineTo(1*b,1*c);a.lineTo(.5*b,1*c);b=a.o;b.B=new L(.15,.15);b.C=new L(.85,.8);v.q(a);return b},ManualInput:function(a,b,c){a=v.s();N(a,1*b,0,!0);a.lineTo(1*b,1*c);a.lineTo(0,1*c);a.lineTo(0,.25*c);P(a);b=a.o;b.B=new L(0,.25);b.C=Eb;v.q(a);return b},MessageFromUser:function(a,b,c){a=a?a.Ac:NaN;isNaN(a)&&(a=.7);var d=v.s();N(d,0,0,!0);d.lineTo(1*b,0);d.lineTo(a*b,.5*c);d.lineTo(1*b,1*c);d.lineTo(0,1*c);P(d);b=d.o;b.B=rb;b.C=new L(a,1);v.q(d);return b}, -MicroformProcessing:function(a,b,c){a=a?a.Ac:NaN;isNaN(a)&&(a=.25);var d=v.s();N(d,0,0,!0);d.lineTo(.5*b,a*c);d.lineTo(1*b,0);d.lineTo(1*b,1*c);d.lineTo(.5*b,(1-a)*c);d.lineTo(0,1*c);P(d);b=d.o;b.B=new L(0,a);b.C=new L(1,1-a);v.q(d);return b},MicroformRecording:function(a,b,c){a=v.s();N(a,0,0,!0);a.lineTo(.75*b,.25*c);a.lineTo(1*b,.15*c);a.lineTo(1*b,.85*c);a.lineTo(.75*b,.75*c);a.lineTo(0,1*c);P(a);b=a.o;b.B=new L(0,.25);b.C=new L(1,.75);v.q(a);return b},MultiDocument:function(a,b,c){c/=.8;a=v.s(); -N(a,b,0,!0);a.lineTo(b,.5*c);O(a,.96*b,.47*c,.93*b,.45*c,.9*b,.44*c);a.lineTo(.9*b,.6*c);O(a,.86*b,.57*c,.83*b,.55*c,.8*b,.54*c);a.lineTo(.8*b,.7*c);O(a,.4*b,.4*c,.4*b,1*c,0,.7*c);a.lineTo(0,.2*c);a.lineTo(.1*b,.2*c);a.lineTo(.1*b,.1*c);a.lineTo(.2*b,.1*c);a.lineTo(.2*b,0);P(a);N(a,.1*b,.2*c,!1);a.lineTo(.8*b,.2*c);a.lineTo(.8*b,.54*c);a.moveTo(.2*b,.1*c);a.lineTo(.9*b,.1*c);a.lineTo(.9*b,.44*c);a.Ya(!1);b=a.o;b.B=new L(0,.25);b.C=new L(.8,.77);v.q(a);return b},MultiProcess:function(a,b,c){a=v.s(); -N(a,.1*b,.1*c,!0);a.lineTo(.2*b,.1*c);a.lineTo(.2*b,0);a.lineTo(1*b,0);a.lineTo(1*b,.8*c);a.lineTo(.9*b,.8*c);a.lineTo(.9*b,.9*c);a.lineTo(.8*b,.9*c);a.lineTo(.8*b,1*c);a.lineTo(0,1*c);a.lineTo(0,.2*c);a.lineTo(.1*b,.2*c);P(a);N(a,.2*b,.1*c,!1);a.lineTo(.9*b,.1*c);a.lineTo(.9*b,.8*c);a.moveTo(.1*b,.2*c);a.lineTo(.8*b,.2*c);a.lineTo(.8*b,.9*c);a.Ya(!1);b=a.o;b.B=new L(0,.2);b.C=new L(.8,1);v.q(a);return b},OfflineStorage:function(a,b,c){a=a?a.Ac:NaN;isNaN(a)&&(a=.1);var d=1-a,e=v.s();N(e,0,0,!0);e.lineTo(1* -b,0);e.lineTo(.5*b,1*c);P(e);N(e,.5*a*b,a*c,!1);e.lineTo((1-.5*a)*b,a*c);e.Ya(!1);b=e.o;b.B=new L(d/4+.5*a,a);b.C=new L(3*d/4+.5*a,a+.5*d);v.q(e);return b},OffPageConnector:function(a,b,c){a=v.s();N(a,0,0,!0);a.lineTo(.75*b,0);a.lineTo(1*b,.5*c);a.lineTo(.75*b,1*c);a.lineTo(0,1*c);P(a);b=a.o;b.B=rb;b.C=new L(.75,1);v.q(a);return b},Or:function(a,b,c){a=v.s();var d=.5*$c;N(a,1*b,.5*c,!0);O(a,1*b,(.5+d)*c,(.5+d)*b,1*c,.5*b,1*c);O(a,(.5-d)*b,1*c,0,(.5+d)*c,0,.5*c);O(a,0,(.5-d)*c,(.5-d)*b,0,.5*b,0);O(a, -(.5+d)*b,0,1*b,(.5-d)*c,1*b,.5*c);N(a,1*b,.5*c,!1);a.lineTo(0,.5*c);a.moveTo(.5*b,1*c);a.lineTo(.5*b,0);a.Ya(!1);b=a.o;b.Jd=Ui;v.q(a);return b},PaperTape:function(a,b,c){c/=.8;a=v.s();N(a,0,.7*c,!0);a.lineTo(0,.3*c);O(a,.5*b,.6*c,.5*b,0,1*b,.3*c);a.lineTo(1*b,.7*c);O(a,.5*b,.4*c,.5*b,1*c,0,.7*c);P(a);b=a.o;b.B=new L(0,.49);b.C=new L(1,.75);v.q(a);return b},PrimitiveFromCall:function(a,b,c){var d=a?a.Ac:NaN;a=a?a.Mt:NaN;isNaN(d)&&(d=.1);isNaN(a)&&(a=.3);var e=v.s();N(e,0,0,!0);e.lineTo(1*b,0);e.lineTo((1- -a)*b,.5*c);e.lineTo(1*b,1*c);e.lineTo(0,1*c);P(e);b=e.o;b.B=new L(d,0);b.C=new L(1-a,1);v.q(e);return b},PrimitiveToCall:function(a,b,c){var d=a?a.Ac:NaN;a=a?a.Mt:NaN;isNaN(d)&&(d=.1);isNaN(a)&&(a=.3);var e=v.s();N(e,0,0,!0);e.lineTo((1-a)*b,0);e.lineTo(1*b,.5*c);e.lineTo((1-a)*b,1*c);e.lineTo(0,1*c);P(e);b=e.o;b.B=new L(d,0);b.C=new L(1-a,1);v.q(e);return b},Subroutine:"Procedure",Procedure:function(a,b,c){a=a?a.Ac:NaN;isNaN(a)&&(a=.1);var d=v.s();N(d,0,0,!0);d.lineTo(1*b,0);d.lineTo(1*b,1*c);d.lineTo(0, -1*c);P(d);N(d,(1-a)*b,0,!1);d.lineTo((1-a)*b,1*c);d.moveTo(a*b,0);d.lineTo(a*b,1*c);d.Ya(!1);b=d.o;b.B=new L(a,0);b.C=new L(1-a,1);v.q(d);return b},Process:function(a,b,c){a=a?a.Ac:NaN;isNaN(a)&&(a=.1);var d=v.s();N(d,0,0,!0);d.lineTo(1*b,0);d.lineTo(1*b,1*c);d.lineTo(0,1*c);P(d);N(d,a*b,0,!1);d.lineTo(a*b,1*c);d.Ya(!1);b=d.o;b.B=new L(a,0);b.C=Eb;v.q(d);return b},Sort:function(a,b,c){a=v.s();N(a,.5*b,0,!0);a.lineTo(1*b,.5*c);a.lineTo(.5*b,1*c);a.lineTo(0,.5*c);P(a);N(a,0,.5*c,!1);a.lineTo(1*b,.5* -c);a.Ya(!1);b=a.o;b.B=new L(.25,.25);b.C=new L(.75,.5);v.q(a);return b},Start:function(a,b,c){a=v.s();N(a,.25*b,0,!0);N(a,.25*b,0,!0);a.arcTo(270,180,.75*b,.5*c,.25*b,.5*c);a.arcTo(90,180,.25*b,.5*c,.25*b,.5*c);N(a,.25*b,0,!1);a.lineTo(.25*b,1*c);a.moveTo(.75*b,0);a.lineTo(.75*b,1*c);a.Ya(!1);b=a.o;b.B=new L(.25,0);b.C=new L(.75,1);v.q(a);return b},Terminator:function(a,b,c){a=v.s();N(a,.25*b,0,!0);a.arcTo(270,180,.75*b,.5*c,.25*b,.5*c);a.arcTo(90,180,.25*b,.5*c,.25*b,.5*c);b=a.o;b.B=new L(.23,0); -b.C=new L(.77,1);v.q(a);return b},TransmittalTape:function(a,b,c){a=a?a.Ac:NaN;isNaN(a)&&(a=.1);var d=v.s();N(d,0,0,!0);d.lineTo(1*b,0);d.lineTo(1*b,1*c);d.lineTo(.75*b,(1-a)*c);d.lineTo(0,(1-a)*c);P(d);b=d.o;b.B=rb;b.C=new L(1,1-a);v.q(d);return b},AndGate:function(a,b,c){a=v.s();var d=.5*$c;N(a,0,0,!0);a.lineTo(.5*b,0);O(a,(.5+d)*b,0,1*b,(.5-d)*c,1*b,.5*c);O(a,1*b,(.5+d)*c,(.5+d)*b,1*c,.5*b,1*c);a.lineTo(0,1*c);P(a);b=a.o;b.B=rb;b.C=new L(.55,1);v.q(a);return b},Buffer:function(a,b,c){a=v.s();N(a, -0,0,!0);a.lineTo(1*b,.5*c);a.lineTo(0,1*c);P(a);b=a.o;b.B=new L(0,.25);b.C=new L(.5,.75);v.q(a);return b},Clock:function(a,b,c){a=v.s();var d=.5*$c;N(a,1*b,.5*c,!0);O(a,1*b,(.5+d)*c,(.5+d)*b,1*c,.5*b,1*c);O(a,(.5-d)*b,1*c,0,(.5+d)*c,0,.5*c);O(a,0,(.5-d)*c,(.5-d)*b,0,.5*b,0);O(a,(.5+d)*b,0,1*b,(.5-d)*c,1*b,.5*c);N(a,1*b,.5*c,!1);a.lineTo(1*b,.5*c);N(a,.8*b,.75*c,!1);a.lineTo(.8*b,.25*c);a.lineTo(.6*b,.25*c);a.lineTo(.6*b,.75*c);a.lineTo(.4*b,.75*c);a.lineTo(.4*b,.25*c);a.lineTo(.2*b,.25*c);a.lineTo(.2* -b,.75*c);a.Ya(!1);b=a.o;b.Jd=Ui;v.q(a);return b},Ground:function(a,b,c){a=v.s();N(a,.5*b,0,!1);a.lineTo(.5*b,.4*c);a.moveTo(.2*b,.6*c);a.lineTo(.8*b,.6*c);a.moveTo(.3*b,.8*c);a.lineTo(.7*b,.8*c);a.moveTo(.4*b,1*c);a.lineTo(.6*b,1*c);b=a.o;v.q(a);return b},Inverter:function(a,b,c){a=v.s();var d=.1*$c;N(a,.8*b,.5*c,!0);a.lineTo(0,1*c);a.lineTo(0,0);a.lineTo(.8*b,.5*c);N(a,1*b,.5*c,!0);O(a,1*b,(.5+d)*c,(.9+d)*b,.6*c,.9*b,.6*c);O(a,(.9-d)*b,.6*c,.8*b,(.5+d)*c,.8*b,.5*c);O(a,.8*b,(.5-d)*c,(.9-d)*b,.4* -c,.9*b,.4*c);O(a,(.9+d)*b,.4*c,1*b,(.5-d)*c,1*b,.5*c);b=a.o;b.B=new L(0,.25);b.C=new L(.4,.75);v.q(a);return b},NandGate:function(a,b,c){a=v.s();var d=.5*$c,e=.4*$c,f=.1*$c;N(a,.8*b,.5*c,!0);O(a,.8*b,(.5+e)*c,(.4+d)*b,1*c,.4*b,1*c);a.lineTo(0,1*c);a.lineTo(0,0);a.lineTo(.4*b,0);O(a,(.4+d)*b,0,.8*b,(.5-e)*c,.8*b,.5*c);N(a,1*b,.5*c,!0);O(a,1*b,(.5+f)*c,(.9+f)*b,.6*c,.9*b,.6*c);O(a,(.9-f)*b,.6*c,.8*b,(.5+f)*c,.8*b,.5*c);O(a,.8*b,(.5-f)*c,(.9-f)*b,.4*c,.9*b,.4*c);O(a,(.9+f)*b,.4*c,1*b,(.5-f)*c,1*b,.5* -c);b=a.o;b.B=new L(0,.05);b.C=new L(.55,.95);v.q(a);return b},NorGate:function(a,b,c){a=v.s();var d=.5,e=$c*d,f=0,h=.5;N(a,.8*b,.5*c,!0);O(a,.7*b,(h+e)*c,(f+e)*b,(h+d)*c,0,1*c);O(a,.25*b,.75*c,.25*b,.25*c,0,0);O(a,(f+e)*b,(h-d)*c,.7*b,(h-e)*c,.8*b,.5*c);d=.1;e=.1*$c;f=.9;h=.5;N(a,(f-d)*b,h*c,!0);O(a,(f-d)*b,(h-e)*c,(f-e)*b,(h-d)*c,f*b,(h-d)*c);O(a,(f+e)*b,(h-d)*c,(f+d)*b,(h-e)*c,(f+d)*b,h*c);O(a,(f+d)*b,(h+e)*c,(f+e)*b,(h+d)*c,f*b,(h+d)*c);O(a,(f-e)*b,(h+d)*c,(f-d)*b,(h+e)*c,(f-d)*b,h*c);b=a.o;b.B= -new L(.2,.25);b.C=new L(.6,.75);v.q(a);return b},OrGate:function(a,b,c){a=v.s();var d=.5*$c;N(a,0,0,!0);O(a,(0+d+d)*b,0*c,.8*b,(.5-d)*c,1*b,.5*c);O(a,.8*b,(.5+d)*c,(0+d+d)*b,1*c,0,1*c);O(a,.25*b,.75*c,.25*b,.25*c,0,0);P(a);b=a.o;b.B=new L(.2,.25);b.C=new L(.75,.75);v.q(a);return b},XnorGate:function(a,b,c){a=v.s();var d=.5,e=$c*d,f=.2,h=.5;N(a,.1*b,0,!1);O(a,.35*b,.25*c,.35*b,.75*c,.1*b,1*c);N(a,.8*b,.5*c,!0);O(a,.7*b,(h+e)*c,(f+e)*b,(h+d)*c,.2*b,1*c);O(a,.45*b,.75*c,.45*b,.25*c,.2*b,0);O(a,(f+e)* -b,(h-d)*c,.7*b,(h-e)*c,.8*b,.5*c);d=.1;e=.1*$c;f=.9;h=.5;N(a,(f-d)*b,h*c,!0);O(a,(f-d)*b,(h-e)*c,(f-e)*b,(h-d)*c,f*b,(h-d)*c);O(a,(f+e)*b,(h-d)*c,(f+d)*b,(h-e)*c,(f+d)*b,h*c);O(a,(f+d)*b,(h+e)*c,(f+e)*b,(h+d)*c,f*b,(h+d)*c);O(a,(f-e)*b,(h+d)*c,(f-d)*b,(h+e)*c,(f-d)*b,h*c);b=a.o;b.B=new L(.4,.25);b.C=new L(.65,.75);v.q(a);return b},XorGate:function(a,b,c){a=v.s();var d=.5*$c;N(a,.1*b,0,!1);O(a,.35*b,.25*c,.35*b,.75*c,.1*b,1*c);N(a,.2*b,0,!0);O(a,(.2+d)*b,0*c,.9*b,(.5-d)*c,1*b,.5*c);O(a,.9*b,(.5+d)* -c,(.2+d)*b,1*c,.2*b,1*c);O(a,.45*b,.75*c,.45*b,.25*c,.2*b,0);P(a);b=a.o;b.B=new L(.4,.25);b.C=new L(.8,.75);v.q(a);return b},Capacitor:function(a,b,c){a=v.s();N(a,0,0,!1);a.lineTo(0,1*c);a.moveTo(1*b,0);a.lineTo(1*b,1*c);b=a.o;v.q(a);return b},Resistor:function(a,b,c){a=v.s();N(a,0,.5*c,!1);a.lineTo(.1*b,0);a.lineTo(.2*b,1*c);a.lineTo(.3*b,0);a.lineTo(.4*b,1*c);a.lineTo(.5*b,0);a.lineTo(.6*b,1*c);a.lineTo(.7*b,.5*c);b=a.o;v.q(a);return b},Inductor:function(a,b,c){a=v.s();var d=.1*$c,e=.1;N(a,(e-.5* -d)*b,c,!1);O(a,(e-d)*b,c,(e-.1)*b,0,(e+.1)*b,0);e=.3;O(a,(e+.1)*b,0,(e+d)*b,c,e*b,c);O(a,(e-d)*b,c,(e-.1)*b,0,(e+.1)*b,0);e=.5;O(a,(e+.1)*b,0,(e+d)*b,c,e*b,c);O(a,(e-d)*b,c,(e-.1)*b,0,(e+.1)*b,0);e=.7;O(a,(e+.1)*b,0,(e+d)*b,c,e*b,c);O(a,(e-d)*b,c,(e-.1)*b,0,(e+.1)*b,0);e=.9;O(a,(e+.1)*b,0,(e+d)*b,c,(e+.5*d)*b,c);b=a.o;v.q(a);return b},ACvoltageSource:function(a,b,c){a=v.s();var d=.5*$c;N(a,0*b,.5*c,!1);O(a,0*b,(.5-d)*c,(.5-d)*b,0*c,.5*b,0*c);O(a,(.5+d)*b,0*c,1*b,(.5-d)*c,1*b,.5*c);O(a,1*b,(.5+d)* -c,(.5+d)*b,1*c,.5*b,1*c);O(a,(.5-d)*b,1*c,0*b,(.5+d)*c,0*b,.5*c);a.moveTo(.1*b,.5*c);O(a,.5*b,0*c,.5*b,1*c,.9*b,.5*c);b=a.o;b.Jd=Ui;v.q(a);return b},DCvoltageSource:function(a,b,c){a=v.s();N(a,0,.75*c,!1);a.lineTo(0,.25*c);a.moveTo(1*b,0);a.lineTo(1*b,1*c);b=a.o;v.q(a);return b},Diode:function(a,b,c){a=v.s();N(a,1*b,0,!1);a.lineTo(1*b,.5*c);a.lineTo(0,1*c);a.lineTo(0,0);a.lineTo(1*b,.5*c);a.lineTo(1*b,1*c);b=a.o;b.B=new L(0,.25);b.C=new L(.5,.75);v.q(a);return b},Wifi:function(a,b,c){var d=b,e=c; -b*=.38;c*=.6;a=v.s();var f=.8*$c,h=.8,k=0,l=.5,d=(d-b)/2,e=(e-c)/2;N(a,k*b+d,(l+h)*c+e,!0);O(a,(k-f)*b+d,(l+h)*c+e,(k-h)*b+d,(l+f)*c+e,(k-h)*b+d,l*c+e);O(a,(k-h)*b+d,(l-f)*c+e,(k-f)*b+d,(l-h)*c+e,k*b+d,(l-h)*c+e);O(a,k*b+d,(l-h)*c+e,(k-h+.5*f)*b+d,(l-f)*c+e,(k-h+.5*f)*b+d,l*c+e);O(a,(k-h+.5*f)*b+d,(l+f)*c+e,k*b+d,(l+h)*c+e,k*b+d,(l+h)*c+e);P(a);f=.4*$c;h=.4;k=.2;l=.5;N(a,k*b+d,(l+h)*c+e,!0);O(a,(k-f)*b+d,(l+h)*c+e,(k-h)*b+d,(l+f)*c+e,(k-h)*b+d,l*c+e);O(a,(k-h)*b+d,(l-f)*c+e,(k-f)*b+d,(l-h)*c+e,k* -b+d,(l-h)*c+e);O(a,k*b+d,(l-h)*c+e,(k-h+.5*f)*b+d,(l-f)*c+e,(k-h+.5*f)*b+d,l*c+e);O(a,(k-h+.5*f)*b+d,(l+f)*c+e,k*b+d,(l+h)*c+e,k*b+d,(l+h)*c+e);P(a);f=.2*$c;h=.2;l=k=.5;N(a,(k-h)*b+d,l*c+e,!0);O(a,(k-h)*b+d,(l-f)*c+e,(k-f)*b+d,(l-h)*c+e,k*b+d,(l-h)*c+e);O(a,(k+f)*b+d,(l-h)*c+e,(k+h)*b+d,(l-f)*c+e,(k+h)*b+d,l*c+e);O(a,(k+h)*b+d,(l+f)*c+e,(k+f)*b+d,(l+h)*c+e,k*b+d,(l+h)*c+e);O(a,(k-f)*b+d,(l+h)*c+e,(k-h)*b+d,(l+f)*c+e,(k-h)*b+d,l*c+e);f=.4*$c;h=.4;k=.8;l=.5;N(a,k*b+d,(l-h)*c+e,!0);O(a,(k+f)*b+d,(l- -h)*c+e,(k+h)*b+d,(l-f)*c+e,(k+h)*b+d,l*c+e);O(a,(k+h)*b+d,(l+f)*c+e,(k+f)*b+d,(l+h)*c+e,k*b+d,(l+h)*c+e);O(a,k*b+d,(l+h)*c+e,(k+h-.5*f)*b+d,(l+f)*c+e,(k+h-.5*f)*b+d,l*c+e);O(a,(k+h-.5*f)*b+d,(l-f)*c+e,k*b+d,(l-h)*c+e,k*b+d,(l-h)*c+e);P(a);f=.8*$c;h=.8;k=1;l=.5;N(a,k*b+d,(l-h)*c+e,!0);O(a,(k+f)*b+d,(l-h)*c+e,(k+h)*b+d,(l-f)*c+e,(k+h)*b+d,l*c+e);O(a,(k+h)*b+d,(l+f)*c+e,(k+f)*b+d,(l+h)*c+e,k*b+d,(l+h)*c+e);O(a,k*b+d,(l+h)*c+e,(k+h-.5*f)*b+d,(l+f)*c+e,(k+h-.5*f)*b+d,l*c+e);O(a,(k+h-.5*f)*b+d,(l-f)*c+ -e,k*b+d,(l-h)*c+e,k*b+d,(l-h)*c+e);P(a);b=a.o;v.q(a);return b},Email:function(a,b,c){a=v.s();N(a,0,0,!0);a.lineTo(1*b,0);a.lineTo(1*b,1*c);a.lineTo(0,1*c);a.lineTo(0,0);P(a);N(a,0,0,!1);a.lineTo(.5*b,.6*c);a.lineTo(1*b,0);a.moveTo(0,1*c);a.lineTo(.45*b,.54*c);a.moveTo(1*b,1*c);a.lineTo(.55*b,.54*c);a.Ya(!1);b=a.o;v.q(a);return b},Ethernet:function(a,b,c){a=v.s();N(a,.35*b,0,!0);a.lineTo(.65*b,0);a.lineTo(.65*b,.4*c);a.lineTo(.35*b,.4*c);a.lineTo(.35*b,0);P(a);N(a,.1*b,1*c,!0,!0);a.lineTo(.4*b,1*c); -a.lineTo(.4*b,.6*c);a.lineTo(.1*b,.6*c);a.lineTo(.1*b,1*c);P(a);N(a,.6*b,1*c,!0,!0);a.lineTo(.9*b,1*c);a.lineTo(.9*b,.6*c);a.lineTo(.6*b,.6*c);a.lineTo(.6*b,1*c);P(a);N(a,0,.5*c,!1);a.lineTo(1*b,.5*c);a.moveTo(.5*b,.5*c);a.lineTo(.5*b,.4*c);a.moveTo(.75*b,.5*c);a.lineTo(.75*b,.6*c);a.moveTo(.25*b,.5*c);a.lineTo(.25*b,.6*c);a.Ya(!1);b=a.o;v.q(a);return b},Power:function(a,b,c){a=v.s();var d=.4*$c,e=.4,f=v.L(),h=v.L(),k=v.L(),l=v.L();$d(.5,.5-e,.5+d,.5-e,.5+e,.5-d,.5+e,.5,.5,f,f,h,k,l);var m=v.Mb(h.x, -h.y);N(a,h.x*b,h.y*c,!0);O(a,k.x*b,k.y*c,l.x*b,l.y*c,(.5+e)*b,.5*c);O(a,(.5+e)*b,(.5+d)*c,(.5+d)*b,(.5+e)*c,.5*b,(.5+e)*c);O(a,(.5-d)*b,(.5+e)*c,(.5-e)*b,(.5+d)*c,(.5-e)*b,.5*c);$d(.5-e,.5,.5-e,.5-d,.5-d,.5-e,.5,.5-e,.5,k,l,h,f,f);O(a,k.x*b,k.y*c,l.x*b,l.y*c,h.x*b,h.y*c);d=.3*$c;e=.3;$d(.5-e,.5,.5-e,.5-d,.5-d,.5-e,.5,.5-e,.5,k,l,h,f,f);a.lineTo(h.x*b,h.y*c);O(a,l.x*b,l.y*c,k.x*b,k.y*c,(.5-e)*b,.5*c);O(a,(.5-e)*b,(.5+d)*c,(.5-d)*b,(.5+e)*c,.5*b,(.5+e)*c);O(a,(.5+d)*b,(.5+e)*c,(.5+e)*b,(.5+d)*c,(.5+ -e)*b,.5*c);$d(.5,.5-e,.5+d,.5-e,.5+e,.5-d,.5+e,.5,.5,f,f,h,k,l);O(a,l.x*b,l.y*c,k.x*b,k.y*c,h.x*b,h.y*c);P(a);N(a,.45*b,0,!0);a.lineTo(.45*b,.5*c);a.lineTo(.55*b,.5*c);a.lineTo(.55*b,0);P(a);v.v(f);v.v(h);v.v(k);v.v(l);v.v(m);b=a.o;b.B=new L(.25,.55);b.C=new L(.75,.8);v.q(a);return b},Fallout:function(a,b,c){a=v.s();var d=.5*$c;N(a,0*b,.5*c,!0);O(a,0*b,(.5-d)*c,(.5-d)*b,0*c,.5*b,0*c);O(a,(.5+d)*b,0*c,1*b,(.5-d)*c,1*b,.5*c);O(a,1*b,(.5+d)*c,(.5+d)*b,1*c,.5*b,1*c);O(a,(.5-d)*b,1*c,0*b,(.5+d)*c,0*b, -.5*c);var e=d=0;N(a,(.3+d)*b,(.8+e)*c,!0,!0);a.lineTo((.5+d)*b,(.5+e)*c);a.lineTo((.1+d)*b,(.5+e)*c);a.lineTo((.3+d)*b,(.8+e)*c);d=.4;e=0;P(a);N(a,(.3+d)*b,(.8+e)*c,!0,!0);a.lineTo((.5+d)*b,(.5+e)*c);a.lineTo((.1+d)*b,(.5+e)*c);a.lineTo((.3+d)*b,(.8+e)*c);d=.2;e=-.3;P(a);N(a,(.3+d)*b,(.8+e)*c,!0,!0);a.lineTo((.5+d)*b,(.5+e)*c);a.lineTo((.1+d)*b,(.5+e)*c);a.lineTo((.3+d)*b,(.8+e)*c);P(a);b=a.o;b.Jd=Ui;v.q(a);return b},IrritationHazard:function(a,b,c){a=v.s();N(a,.2*b,0*c,!0);a.lineTo(.5*b,.3*c);a.lineTo(.8* -b,0*c);a.lineTo(1*b,.2*c);a.lineTo(.7*b,.5*c);a.lineTo(1*b,.8*c);a.lineTo(.8*b,1*c);a.lineTo(.5*b,.7*c);a.lineTo(.2*b,1*c);a.lineTo(0*b,.8*c);a.lineTo(.3*b,.5*c);a.lineTo(0*b,.2*c);P(a);b=a.o;b.B=new L(.3,.3);b.C=new L(.7,.7);v.q(a);return b},ElectricalHazard:function(a,b,c){a=v.s();N(a,.37*b,0*c,!0);a.lineTo(.5*b,.11*c);a.lineTo(.77*b,.04*c);a.lineTo(.33*b,.49*c);a.lineTo(1*b,.37*c);a.lineTo(.63*b,.86*c);a.lineTo(.77*b,.91*c);a.lineTo(.34*b,1*c);a.lineTo(.34*b,.78*c);a.lineTo(.44*b,.8*c);a.lineTo(.65* -b,.56*c);a.lineTo(0*b,.68*c);P(a);b=a.o;v.q(a);return b},FireHazard:function(a,b,c){a=v.s();N(a,.1*b,1*c,!0);O(a,-.25*b,.63*c,.45*b,.44*c,.29*b,0*c);O(a,.48*b,.17*c,.54*b,.35*c,.51*b,.42*c);O(a,.59*b,.29*c,.58*b,.28*c,.59*b,.18*c);O(a,.8*b,.34*c,.88*b,.43*c,.75*b,.6*c);O(a,.87*b,.48*c,.88*b,.43*c,.88*b,.31*c);O(a,1.17*b,.76*c,.82*b,.8*c,.9*b,1*c);P(a);b=a.o;b.B=new L(.05,.645);b.C=new L(.884,.908);v.q(a);return b},BpmnActivityLoop:function(a,b,c){a=v.s();var d=4*(Math.SQRT2-1)/3*.5;N(a,.65*b,1*c, +d+e)*b,(.5-h+f)*c,(.5-h+e)*b,(.5-d+f)*c,(.5+e)*b,(.5-d+f)*c);O(a,(.5+h+e)*b,(.5-d+f)*c,(.5+d+e)*b,(.5-h+f)*c,(.5+d+e)*b,(.5+f)*c);N(a,(.525+e)*b,(.5+d+f)*c,!0);b=a.o;b.A=new L(.232,.136);b.B=new L(.782,.611);b.$d=Lj;v.q(a);return b},PlusLine:function(a,b,c){a=v.s();N(a,0,.5*c,!1);a.lineTo(1*b,.5*c);a.moveTo(.5*b,0);a.lineTo(.5*b,1*c);b=a.o;v.q(a);return b},XLine:function(a,b,c){a=v.s();N(a,0,1*c,!1);a.lineTo(1*b,0);a.moveTo(0,0);a.lineTo(1*b,1*c);b=a.o;v.q(a);return b},AsteriskLine:function(a,b,c){a= +v.s();var d=.2/Math.SQRT2;N(a,d*b,(1-d)*c,!1);a.lineTo((1-d)*b,d*c);a.moveTo(d*b,d*c);a.lineTo((1-d)*b,(1-d)*c);a.moveTo(0*b,.5*c);a.lineTo(1*b,.5*c);a.moveTo(.5*b,0*c);a.lineTo(.5*b,1*c);b=a.o;v.q(a);return b},CircleLine:function(a,b,c){var d=.5*Zc;a=v.s();N(a,1*b,.5*c,!1);O(a,1*b,(.5+d)*c,(.5+d)*b,1*c,.5*b,1*c);O(a,(.5-d)*b,1*c,0,(.5+d)*c,0,.5*c);O(a,0,(.5-d)*c,(.5-d)*b,0,.5*b,0);O(a,(.5+d)*b,0,1*b,(.5-d)*c,1*b,.5*c);b=a.o;b.A=new L(.146,.146);b.B=new L(.853,.853);b.$d=Lj;v.q(a);return b},Pie:function(a, +b,c){a=v.s();var d=4*(Math.SQRT2-1)/3*.5;N(a,(.5*Math.SQRT2/2+.5)*b,(.5-.5*Math.SQRT2/2)*c,!0);O(a,.7*b,0*c,.5*b,0*c,.5*b,0*c);O(a,(.5-d+0)*b,0*c,0*b,(.5-d+0)*c,0*b,.5*c);O(a,0*b,(.5+d+0)*c,(.5-d+0)*b,1*c,.5*b,1*c);O(a,(.5+d+0)*b,1*c,1*b,(.5+d+0)*c,1*b,.5*c);a.lineTo(.5*b,.5*c);P(a);b=a.o;v.q(a);return b},PiePiece:function(a,b,c){var d=Zc/Math.SQRT2*.5,e=Math.SQRT2/2,f=1-Math.SQRT2/2;a=v.s();N(a,b,c,!0);O(a,b,(1-d)*c,(e+d)*b,(f+d)*c,e*b,f*c);a.lineTo(0,c);P(a);b=a.o;v.q(a);return b},StopSign:function(a, +b,c){a=1/(Math.SQRT2+2);var d=v.s();N(d,a*b,0,!0);d.lineTo((1-a)*b,0);d.lineTo(1*b,a*c);d.lineTo(1*b,(1-a)*c);d.lineTo((1-a)*b,1*c);d.lineTo(a*b,1*c);d.lineTo(0,(1-a)*c);d.lineTo(0,a*c);P(d);b=d.o;b.A=new L(a/2,a/2);b.B=new L(1-a/2,1-a/2);v.q(d);return b},LogicImplies:function(a,b,c){var d=a?a.Ec:NaN;isNaN(d)&&(d=.2);a=v.s();N(a,(1-d)*b,0*c,!1);a.lineTo(1*b,.5*c);a.lineTo((1-d)*b,c);a.moveTo(0,.5*c);a.lineTo(b,.5*c);b=a.o;b.A=xb;b.B=new L(.8,.5);v.q(a);return b},LogicIff:function(a,b,c){var d=a?a.Ec: +NaN;isNaN(d)&&(d=.2);a=v.s();N(a,(1-d)*b,0*c,!1);a.lineTo(1*b,.5*c);a.lineTo((1-d)*b,c);a.moveTo(0,.5*c);a.lineTo(b,.5*c);a.moveTo(d*b,0);a.lineTo(0,.5*c);a.lineTo(d*b,c);b=a.o;b.A=new L(.2,0);b.B=new L(.8,.5);v.q(a);return b},LogicNot:function(a,b,c){a=v.s();N(a,0,0,!1);a.lineTo(1*b,0);a.lineTo(1*b,1*c);b=a.o;v.q(a);return b},LogicAnd:function(a,b,c){a=v.s();N(a,0,1*c,!1);a.lineTo(.5*b,0);a.lineTo(1*b,1*c);b=a.o;b.A=new L(.25,.5);b.B=new L(.75,1);v.q(a);return b},LogicOr:function(a,b,c){a=v.s(); +N(a,0,0,!1);a.lineTo(.5*b,1*c);a.lineTo(1*b,0);b=a.o;b.A=new L(.219,0);b.B=new L(.78,.409);v.q(a);return b},LogicXor:function(a,b,c){a=v.s();N(a,.5*b,0,!1);a.lineTo(.5*b,1*c);a.moveTo(0,.5*c);a.lineTo(1*b,.5*c);var d=.5*Zc;O(a,1*b,(.5+d)*c,(.5+d)*b,1*c,.5*b,1*c);O(a,(.5-d)*b,1*c,0,(.5+d)*c,0,.5*c);O(a,0,(.5-d)*c,(.5-d)*b,0,.5*b,0);O(a,(.5+d)*b,0,1*b,(.5-d)*c,1*b,.5*c);b=a.o;b.$d=Lj;v.q(a);return b},LogicTruth:function(a,b,c){a=v.s();N(a,0,0,!1);a.lineTo(1*b,0);a.moveTo(.5*b,0);a.lineTo(.5*b,1*c); +b=a.o;v.q(a);return b},LogicFalsity:function(a,b,c){a=v.s();N(a,0,1*c,!1);a.lineTo(1*b,1*c);a.moveTo(.5*b,1*c);a.lineTo(.5*b,0);b=a.o;v.q(a);return b},LogicThereExists:function(a,b,c){a=v.s();N(a,0,0,!1);a.lineTo(1*b,0);a.lineTo(1*b,.5*c);a.lineTo(0,.5*c);a.moveTo(1*b,.5*c);a.lineTo(1*b,1*c);a.lineTo(0,1*c);b=a.o;v.q(a);return b},LogicForAll:function(a,b,c){a=v.s();N(a,0,0,!1);a.lineTo(.5*b,1*c);a.lineTo(1*b,0);a.moveTo(.25*b,.5*c);a.lineTo(.75*b,.5*c);b=a.o;b.A=new L(.25,0);b.B=new L(.75,.5);v.q(a); +return b},LogicIsDefinedAs:function(a,b,c){a=v.s();N(a,0,0,!1);a.lineTo(b,0);a.moveTo(0,.5*c);a.lineTo(b,.5*c);a.moveTo(0,c);a.lineTo(b,c);b=a.o;b.A=new L(.01,.01);b.B=new L(.99,.49);v.q(a);return b},LogicIntersect:function(a,b,c){var d=.5*Zc;a=v.s();N(a,0,1*c,!1);a.lineTo(0,.5*c);O(a,0,(.5-d)*c,(.5-d)*b,0,.5*b,0);O(a,(.5+d)*b,0,1*b,(.5-d)*c,1*b,.5*c);a.lineTo(1*b,1*c);b=a.o;b.A=new L(0,.5);b.B=Mb;v.q(a);return b},LogicUnion:function(a,b,c){var d=.5*Zc;a=v.s();N(a,1*b,0,!1);a.lineTo(1*b,.5*c);O(a, +1*b,(.5+d)*c,(.5+d)*b,1*c,.5*b,1*c);O(a,(.5-d)*b,1*c,0,(.5+d)*c,0,.5*c);a.lineTo(0,0);b=a.o;b.A=xb;b.B=new L(1,.5);v.q(a);return b},Arrow:function(a,b,c){var d=a?a.Ec:NaN,e=a?a.ru:NaN;isNaN(d)&&(d=.3);isNaN(e)&&(e=.3);a=v.s();N(a,0,(.5-e/2)*c,!0);a.lineTo((1-d)*b,(.5-e/2)*c);a.lineTo((1-d)*b,0);a.lineTo(1*b,.5*c);a.lineTo((1-d)*b,1*c);a.lineTo((1-d)*b,(.5+e/2)*c);a.lineTo(0,(.5+e/2)*c);P(a);b=a.o;b.A=new L(0,.5-e/2);d=le(0,.5+e/2,1,.5+e/2,1-d,1,1,.5,v.K());b.B=new L(d.x,d.y);v.v(d);v.q(a);return b}, +ISOProcess:"Chevron",Chevron:function(a,b,c){a=v.s();N(a,0,0,!0);a.lineTo(.5*b,0);a.lineTo(1*b,.5*c);a.lineTo(.5*b,1*c);a.lineTo(0,1*c);a.lineTo(.5*b,.5*c);P(a);b=a.o;v.q(a);return b},DoubleArrow:function(a,b,c){a=v.s();N(a,0,0,!0);a.lineTo(.3*b,.214*c);a.lineTo(.3*b,0);a.lineTo(1*b,.5*c);a.lineTo(.3*b,1*c);a.lineTo(.3*b,.786*c);a.lineTo(0,1*c);P(a);N(a,.3*b,.214*c,!1);a.lineTo(.3*b,.786*c);a.Za(!1);b=a.o;v.q(a);return b},DoubleEndArrow:function(a,b,c){a=v.s();N(a,1*b,.5*c,!0);a.lineTo(.7*b,1*c); +a.lineTo(.7*b,.7*c);a.lineTo(.3*b,.7*c);a.lineTo(.3*b,1*c);a.lineTo(0,.5*c);a.lineTo(.3*b,0);a.lineTo(.3*b,.3*c);a.lineTo(.7*b,.3*c);a.lineTo(.7*b,0);P(a);b=a.o;c=le(0,.5,.3,0,0,.3,.3,.3,v.K());b.A=new L(c.x,c.y);c=le(.7,1,1,.5,.7,.7,1,.7,c);b.B=new L(c.x,c.y);v.v(c);v.q(a);return b},IBeamArrow:function(a,b,c){a=v.s();N(a,1*b,.5*c,!0);a.lineTo(.7*b,1*c);a.lineTo(.7*b,.7*c);a.lineTo(.2*b,.7*c);a.lineTo(.2*b,1*c);a.lineTo(0,1*c);a.lineTo(0,0);a.lineTo(.2*b,0);a.lineTo(.2*b,.3*c);a.lineTo(.7*b,.3*c); +a.lineTo(.7*b,0);P(a);b=a.o;b.A=new L(0,.3);c=le(.7,1,1,.5,.7,.7,1,.7,v.K());b.B=new L(c.x,c.y);v.v(c);v.q(a);return b},Pointer:function(a,b,c){a=v.s();N(a,1*b,.5*c,!0);a.lineTo(0,1*c);a.lineTo(.2*b,.5*c);a.lineTo(0,0);P(a);b=a.o;b.A=new L(.2,.35);c=le(.2,.65,1,.65,0,1,1,.5,v.K());b.B=new L(c.x,c.y);v.v(c);v.q(a);return b},RoundedPointer:function(a,b,c){a=v.s();N(a,1*b,.5*c,!0);a.lineTo(0,1*c);O(a,.5*b,.75*c,.5*b,.25*c,0,0);P(a);b=a.o;b.A=new L(.4,.35);c=le(.2,.65,1,.65,0,1,1,.5,v.K());b.B=new L(c.x, +c.y);v.v(c);v.q(a);return b},SplitEndArrow:function(a,b,c){a=v.s();N(a,1*b,.5*c,!0);a.lineTo(.7*b,1*c);a.lineTo(.7*b,.7*c);a.lineTo(0,.7*c);a.lineTo(.2*b,.5*c);a.lineTo(0,.3*c);a.lineTo(.7*b,.3*c);a.lineTo(.7*b,0);P(a);b=a.o;b.A=new L(.2,.3);c=le(.7,1,1,.5,.7,.7,1,.7,v.K());b.B=new L(c.x,c.y);v.v(c);v.q(a);return b},MessageToUser:"SquareArrow",SquareArrow:function(a,b,c){a=v.s();N(a,1*b,.5*c,!0);a.lineTo(.7*b,1*c);a.lineTo(0,1*c);a.lineTo(0,0);a.lineTo(.7*b,0);P(a);b=a.o;b.A=xb;b.B=new L(.7,1);v.q(a); +return b},Cone1:function(a,b,c){var d=.5*Zc,e=.1*Zc;a=v.s();N(a,0,.9*c,!0);a.lineTo(.5*b,0);a.lineTo(1*b,.9*c);O(a,1*b,(.9+e)*c,(.5+d)*b,1*c,.5*b,1*c);O(a,(.5-d)*b,1*c,0,(.9+e)*c,0,.9*c);P(a);b=a.o;b.A=new L(.25,.5);b.B=new L(.75,.97);v.q(a);return b},Cone2:function(a,b,c){a=v.s();N(a,0,.9*c,!0);O(a,(1-.85/.9)*b,1*c,.85/.9*b,1*c,1*b,.9*c);a.lineTo(.5*b,0);a.lineTo(0,.9*c);P(a);N(a,0,.9*c,!1);O(a,(1-.85/.9)*b,.8*c,.85/.9*b,.8*c,1*b,.9*c);a.Za(!1);b=a.o;b.A=new L(.25,.5);b.B=new L(.75,.82);v.q(a);return b}, +Cube1:function(a,b,c){a=v.s();N(a,.5*b,1*c,!0);a.lineTo(1*b,.85*c);a.lineTo(1*b,.15*c);a.lineTo(.5*b,0*c);a.lineTo(0*b,.15*c);a.lineTo(0*b,.85*c);P(a);N(a,.5*b,1*c,!1);a.lineTo(.5*b,.3*c);a.lineTo(0,.15*c);a.moveTo(.5*b,.3*c);a.lineTo(1*b,.15*c);a.Za(!1);b=a.o;b.A=new L(0,.3);b.B=new L(.5,.85);v.q(a);return b},Cube2:function(a,b,c){a=v.s();N(a,0,.3*c,!0);a.lineTo(0*b,1*c);a.lineTo(.7*b,c);a.lineTo(1*b,.7*c);a.lineTo(1*b,0*c);a.lineTo(.3*b,0*c);P(a);N(a,0,.3*c,!1);a.lineTo(.7*b,.3*c);a.lineTo(1*b, +0*c);a.moveTo(.7*b,.3*c);a.lineTo(.7*b,1*c);a.Za(!1);b=a.o;b.A=new L(0,.3);b.B=new L(.7,1);v.q(a);return b},MagneticData:"Cylinder1",Cylinder1:function(a,b,c){var d=.5*Zc,e=.1*Zc;a=v.s();N(a,0,.1*c,!0);O(a,0,(.1-e)*c,(.5-d)*b,0,.5*b,0);O(a,(.5+d)*b,0,1*b,(.1-e)*c,1*b,.1*c);a.lineTo(b,.9*c);O(a,1*b,(.9+e)*c,(.5+d)*b,1*c,.5*b,1*c);O(a,(.5-d)*b,1*c,0,(.9+e)*c,0,.9*c);a.lineTo(0,.1*c);N(a,0,.1*c,!1);O(a,0,(.1+e)*c,(.5-d)*b,.2*c,.5*b,.2*c);O(a,(.5+d)*b,.2*c,1*b,(.1+e)*c,1*b,.1*c);a.Za(!1);b=a.o;b.A=new L(0, +.2);b.B=new L(1,.9);v.q(a);return b},Cylinder2:function(a,b,c){var d=.5*Zc,e=.1*Zc;a=v.s();N(a,0,.9*c,!0);a.lineTo(0,.1*c);O(a,0,(.1-e)*c,(.5-d)*b,0,.5*b,0);O(a,(.5+d)*b,0,1*b,(.1-e)*c,1*b,.1*c);a.lineTo(1*b,.9*c);O(a,1*b,(.9+e)*c,(.5+d)*b,1*c,.5*b,1*c);O(a,(.5-d)*b,1*c,0,(.9+e)*c,0,.9*c);N(a,0,.9*c,!1);O(a,0,(.9-e)*c,(.5-d)*b,.8*c,.5*b,.8*c);O(a,(.5+d)*b,.8*c,1*b,(.9-e)*c,1*b,.9*c);a.Za(!1);b=a.o;b.A=new L(0,.1);b.B=new L(1,.8);v.q(a);return b},Cylinder3:function(a,b,c){var d=.1*Zc,e=.5*Zc;a=v.s(); +N(a,.1*b,0,!0);a.lineTo(.9*b,0);O(a,(.9+d)*b,0,1*b,(.5-e)*c,1*b,.5*c);O(a,1*b,(.5+e)*c,(.9+d)*b,1*c,.9*b,1*c);a.lineTo(.1*b,1*c);O(a,(.1-d)*b,1*c,0,(.5+e)*c,0,.5*c);O(a,0,(.5-e)*c,(.1-d)*b,0,.1*b,0);N(a,.1*b,0,!1);O(a,(.1+d)*b,0,.2*b,(.5-e)*c,.2*b,.5*c);O(a,.2*b,(.5+e)*c,(.1+d)*b,1*c,.1*b,1*c);a.Za(!1);b=a.o;b.A=new L(.2,0);b.B=new L(.9,1);v.q(a);return b},DirectData:"Cylinder4",Cylinder4:function(a,b,c){var d=.1*Zc,e=.5*Zc;a=v.s();N(a,.9*b,0,!0);O(a,(.9+d)*b,0,1*b,(.5-e)*c,1*b,.5*c);O(a,1*b,(.5+ +e)*c,(.9+d)*b,1*c,.9*b,1*c);a.lineTo(.1*b,1*c);O(a,(.1-d)*b,1*c,0,(.5+e)*c,0,.5*c);O(a,0,(.5-e)*c,(.1-d)*b,0,.1*b,0);a.lineTo(.9*b,0);N(a,.9*b,0,!1);O(a,(.9-d)*b,0,.8*b,(.5-e)*c,.8*b,.5*c);O(a,.8*b,(.5+e)*c,(.9-d)*b,1*c,.9*b,1*c);a.Za(!1);b=a.o;b.A=new L(.1,0);b.B=new L(.8,1);v.q(a);return b},Prism1:function(a,b,c){a=v.s();N(a,.25*b,.25*c,!0);a.lineTo(.75*b,0);a.lineTo(b,.5*c);a.lineTo(.5*b,c);a.lineTo(0,c);P(a);N(a,.25*b,.25*c,!1);a.lineTo(.5*b,c);a.Za(!1);b=a.o;b.A=new L(.408,.172);b.B=new L(.833, +.662);v.q(a);return b},Prism2:function(a,b,c){a=v.s();N(a,0,.25*c,!0);a.lineTo(.75*b,0);a.lineTo(1*b,.25*c);a.lineTo(.75*b,.75*c);a.lineTo(0,1*c);P(a);N(a,0,c,!1);a.lineTo(.25*b,.5*c);a.lineTo(b,.25*c);a.moveTo(0,.25*c);a.lineTo(.25*b,.5*c);a.Za(!1);b=a.o;b.A=new L(.25,.5);b.B=new L(.75,.75);v.q(a);return b},Pyramid1:function(a,b,c){a=v.s();N(a,.5*b,0,!0);a.lineTo(b,.75*c);a.lineTo(.5*b,1*c);a.lineTo(0,.75*c);P(a);N(a,.5*b,0,!1);a.lineTo(.5*b,1*c);a.Za(!1);b=a.o;b.A=new L(.25,.367);b.B=new L(.75, +.875);v.q(a);return b},Pyramid2:function(a,b,c){a=v.s();N(a,.5*b,0,!0);a.lineTo(b,.85*c);a.lineTo(.5*b,1*c);a.lineTo(0,.85*c);P(a);N(a,.5*b,0,!1);a.lineTo(.5*b,.7*c);a.lineTo(0,.85*c);a.moveTo(.5*b,.7*c);a.lineTo(1*b,.85*c);a.Za(!1);b=a.o;b.A=new L(.25,.367);b.B=new L(.75,.875);v.q(a);return b},Actor:function(a,b,c){var d=.2*Zc,e=.1*Zc,f=.5,h=.1;a=v.s();N(a,f*b,(h+.1)*c,!0);O(a,(f-d)*b,(h+.1)*c,(f-.2)*b,(h+e)*c,(f-.2)*b,h*c);O(a,(f-.2)*b,(h-e)*c,(f-d)*b,(h-.1)*c,f*b,(h-.1)*c);O(a,(f+d)*b,(h-.1)*c, +(f+.2)*b,(h-e)*c,(f+.2)*b,h*c);O(a,(f+.2)*b,(h+e)*c,(f+d)*b,(h+.1)*c,f*b,(h+.1)*c);d=.05;e=Zc*d;N(a,.5*b,.2*c,!0);a.lineTo(.95*b,.2*c);f=.95;h=.25;O(a,(f+e)*b,(h-d)*c,(f+d)*b,(h-e)*c,(f+d)*b,h*c);a.lineTo(1*b,.6*c);a.lineTo(.85*b,.6*c);a.lineTo(.85*b,.35*c);d=.025;e=Zc*d;f=.825;h=.35;O(a,(f+d)*b,(h-e)*c,(f+e)*b,(h-d)*c,f*b,(h-d)*c);O(a,(f-e)*b,(h-d)*c,(f-d)*b,(h-e)*c,(f-d)*b,h*c);a.lineTo(.8*b,1*c);a.lineTo(.55*b,1*c);a.lineTo(.55*b,.7*c);d=.05;e=Zc*d;f=.5;h=.7;O(a,(f+d)*b,(h-e)*c,(f+e)*b,(h-d)*c, +f*b,(h-d)*c);O(a,(f-e)*b,(h-d)*c,(f-d)*b,(h-e)*c,(f-d)*b,h*c);a.lineTo(.45*b,1*c);a.lineTo(.2*b,1*c);a.lineTo(.2*b,.35*c);d=.025;e=Zc*d;f=.175;h=.35;O(a,(f+d)*b,(h-e)*c,(f+e)*b,(h-d)*c,f*b,(h-d)*c);O(a,(f-e)*b,(h-d)*c,(f-d)*b,(h-e)*c,(f-d)*b,h*c);a.lineTo(.15*b,.6*c);a.lineTo(0*b,.6*c);a.lineTo(0*b,.25*c);d=.05;e=Zc*d;f=.05;h=.25;O(a,(f-d)*b,(h-e)*c,(f-e)*b,(h-d)*c,f*b,(h-d)*c);a.lineTo(.5*b,.2*c);b=a.o;b.A=new L(.2,.2);b.B=new L(.8,.65);v.q(a);return b},Card:function(a,b,c){a=v.s();N(a,1*b,0*c,!0); +a.lineTo(1*b,1*c);a.lineTo(0*b,1*c);a.lineTo(0*b,.2*c);a.lineTo(.2*b,0*c);P(a);b=a.o;b.A=new L(0,.2);b.B=Mb;v.q(a);return b},Collate:function(a,b,c){a=v.s();N(a,.5*b,.5*c,!0);a.lineTo(0,0);a.lineTo(1*b,0);a.lineTo(.5*b,.5*c);N(a,.5*b,.5*c,!0);a.lineTo(1*b,1*c);a.lineTo(0,1*c);a.lineTo(.5*b,.5*c);b=a.o;b.A=new L(.25,0);b.B=new L(.75,.25);v.q(a);return b},CreateRequest:function(a,b,c){a=a?a.Ec:NaN;isNaN(a)&&(a=.1);var d=v.s();N(d,0,0,!0);d.lineTo(1*b,0);d.lineTo(1*b,1*c);d.lineTo(0,1*c);P(d);N(d,0, +a*c,!1);d.lineTo(1*b,a*c);d.moveTo(0,(1-a)*c);d.lineTo(1*b,(1-a)*c);d.Za(!1);b=d.o;b.A=new L(0,a);b.B=new L(1,1-a);v.q(d);return b},Database:function(a,b,c){a=v.s();var d=.5*Zc,e=.1*Zc;N(a,1*b,.1*c,!0);a.lineTo(1*b,.9*c);O(a,1*b,(.9+e)*c,(.5+d)*b,1*c,.5*b,1*c);O(a,(.5-d)*b,1*c,0,(.9+e)*c,0,.9*c);a.lineTo(0,.1*c);O(a,0,(.1-e)*c,(.5-d)*b,0,.5*b,0);O(a,(.5+d)*b,0,1*b,(.1-e)*c,1*b,.1*c);N(a,1*b,.1*c,!1);O(a,1*b,(.1+e)*c,(.5+d)*b,.2*c,.5*b,.2*c);O(a,(.5-d)*b,.2*c,0,(.1+e)*c,0,.1*c);a.moveTo(1*b,.2*c); +O(a,1*b,(.2+e)*c,(.5+d)*b,.3*c,.5*b,.3*c);O(a,(.5-d)*b,.3*c,0,(.2+e)*c,0,.2*c);a.moveTo(1*b,.3*c);O(a,1*b,(.3+e)*c,(.5+d)*b,.4*c,.5*b,.4*c);O(a,(.5-d)*b,.4*c,0,(.3+e)*c,0,.3*c);a.Za(!1);b=a.o;b.A=new L(0,.4);b.B=new L(1,.9);v.q(a);return b},StoredData:"DataStorage",DataStorage:function(a,b,c){a=v.s();N(a,0,0,!0);a.lineTo(.75*b,0);O(a,1*b,0,1*b,1*c,.75*b,1*c);a.lineTo(0,1*c);O(a,.25*b,.9*c,.25*b,.1*c,0,0);P(a);b=a.o;b.A=new L(.226,0);b.B=new L(.81,1);v.q(a);return b},DiskStorage:function(a,b,c){a= +v.s();var d=.5*Zc,e=.1*Zc;N(a,1*b,.1*c,!0);a.lineTo(1*b,.9*c);O(a,1*b,(.9+e)*c,(.5+d)*b,1*c,.5*b,1*c);O(a,(.5-d)*b,1*c,0,(.9+e)*c,0,.9*c);a.lineTo(0,.1*c);O(a,0,(.1-e)*c,(.5-d)*b,0,.5*b,0);O(a,(.5+d)*b,0,1*b,(.1-e)*c,1*b,.1*c);N(a,1*b,.1*c,!1);O(a,1*b,(.1+e)*c,(.5+d)*b,.2*c,.5*b,.2*c);O(a,(.5-d)*b,.2*c,0,(.1+e)*c,0,.1*c);a.moveTo(1*b,.2*c);O(a,1*b,(.2+e)*c,(.5+d)*b,.3*c,.5*b,.3*c);O(a,(.5-d)*b,.3*c,0,(.2+e)*c,0,.2*c);a.Za(!1);b=a.o;b.A=new L(0,.3);b.B=new L(1,.9);v.q(a);return b},Display:function(a, +b,c){a=v.s();N(a,.25*b,0,!0);a.lineTo(.75*b,0);O(a,1*b,0,1*b,1*c,.75*b,1*c);a.lineTo(.25*b,1*c);a.lineTo(0,.5*c);P(a);b=a.o;b.A=new L(.25,0);b.B=new L(.75,1);v.q(a);return b},DividedEvent:function(a,b,c){a=a?a.Ec:NaN;isNaN(a)?a=.2:.15>a&&(a=.15);var d=v.s(),e=.2*Zc;N(d,0,.2*c,!0);O(d,0,(.2-e)*c,(.2-e)*b,0,.2*b,0);d.lineTo(.8*b,0);O(d,(.8+e)*b,0,1*b,(.2-e)*c,1*b,.2*c);d.lineTo(1*b,.8*c);O(d,1*b,(.8+e)*c,(.8+e)*b,1*c,.8*b,1*c);d.lineTo(.2*b,1*c);O(d,(.2-e)*b,1*c,0,(.8+e)*c,0,.8*c);d.lineTo(0,.2*c); +N(d,0,a*c,!1);d.lineTo(1*b,a*c);d.Za(!1);b=d.o;b.A=new L(0,a);b.B=new L(1,1-a);v.q(d);return b},DividedProcess:function(a,b,c){a=a?a.Ec:NaN;if(isNaN(a)||.1>a)a=.1;var d=v.s();N(d,0,0,!0);d.lineTo(1*b,0);d.lineTo(1*b,1*c);d.lineTo(0,1*c);P(d);N(d,0,a*c,!1);d.lineTo(1*b,a*c);d.Za(!1);b=d.o;b.A=new L(0,a);b.B=Mb;v.q(d);return b},Document:function(a,b,c){c/=.8;a=v.s();N(a,0,.7*c,!0);a.lineTo(0,0);a.lineTo(1*b,0);a.lineTo(1*b,.7*c);O(a,.5*b,.4*c,.5*b,1*c,0,.7*c);P(a);b=a.o;b.A=xb;b.B=new L(1,.6);v.q(a); +return b},ExternalOrganization:function(a,b,c){a=a?a.Ec:NaN;if(isNaN(a)||.2>a)a=.2;var d=v.s();N(d,0,0,!0);d.lineTo(1*b,0);d.lineTo(1*b,1*c);d.lineTo(0,1*c);P(d);N(d,a*b,0,!1);d.lineTo(0,a*c);d.moveTo(1*b,a*c);d.lineTo((1-a)*b,0);d.moveTo(0,(1-a)*c);d.lineTo(a*b,1*c);d.moveTo((1-a)*b,1*c);d.lineTo(1*b,(1-a)*c);d.Za(!1);b=d.o;b.A=new L(a/2,a/2);b.B=new L(1-a/2,1-a/2);v.q(d);return b},ExternalProcess:function(a,b,c){a=v.s();N(a,.5*b,0,!0);a.lineTo(1*b,.5*c);a.lineTo(.5*b,1*c);a.lineTo(0,.5*c);P(a); +N(a,.1*b,.4*c,!1);a.lineTo(.1*b,.6*c);a.moveTo(.9*b,.6*c);a.lineTo(.9*b,.4*c);a.moveTo(.6*b,.1*c);a.lineTo(.4*b,.1*c);a.moveTo(.4*b,.9*c);a.lineTo(.6*b,.9*c);a.Za(!1);b=a.o;b.A=new L(.25,.25);b.B=new L(.75,.75);v.q(a);return b},File:function(a,b,c){a=v.s();N(a,0,0,!0);a.lineTo(.75*b,0);a.lineTo(1*b,.25*c);a.lineTo(1*b,1*c);a.lineTo(0,1*c);P(a);N(a,.75*b,0,!1);a.lineTo(.75*b,.25*c);a.lineTo(1*b,.25*c);a.Za(!1);b=a.o;b.A=new L(0,.25);b.B=Mb;v.q(a);return b},Interrupt:function(a,b,c){a=v.s();N(a,1*b, +.5*c,!0);a.lineTo(0,1*c);a.lineTo(0,0);a.lineTo(1*b,.5*c);N(a,1*b,.5*c,!1);a.lineTo(1*b,1*c);N(a,1*b,.5*c,!1);a.lineTo(1*b,0);b=a.o;b.A=new L(0,.25);b.B=new L(.5,.75);v.q(a);return b},InternalStorage:function(a,b,c){var d=a?a.Ec:NaN;a=a?a.ru:NaN;isNaN(d)&&(d=.1);isNaN(a)&&(a=.1);var e=v.s();N(e,0,0,!0);e.lineTo(1*b,0);e.lineTo(1*b,1*c);e.lineTo(0,1*c);P(e);N(e,d*b,0,!1);e.lineTo(d*b,1*c);e.moveTo(0,a*c);e.lineTo(1*b,a*c);e.Za(!1);b=e.o;b.A=new L(d,a);b.B=Mb;v.q(e);return b},Junction:function(a,b, +c){a=v.s();var d=1/Math.SQRT2,e=(1-1/Math.SQRT2)/2,f=.5*Zc;N(a,1*b,.5*c,!0);O(a,1*b,(.5+f)*c,(.5+f)*b,1*c,.5*b,1*c);O(a,(.5-f)*b,1*c,0,(.5+f)*c,0,.5*c);O(a,0,(.5-f)*c,(.5-f)*b,0,.5*b,0);O(a,(.5+f)*b,0,1*b,(.5-f)*c,1*b,.5*c);N(a,(e+d)*b,(e+d)*c,!1);a.lineTo(e*b,e*c);a.moveTo(e*b,(e+d)*c);a.lineTo((e+d)*b,e*c);a.Za(!1);b=a.o;b.$d=Lj;v.q(a);return b},LinedDocument:function(a,b,c){c/=.8;a=v.s();N(a,0,.7*c,!0);a.lineTo(0,0);a.lineTo(1*b,0);a.lineTo(1*b,.7*c);O(a,.5*b,.4*c,.5*b,1*c,0,.7*c);P(a);N(a,.1* +b,0,!1);a.lineTo(.1*b,.75*c);a.Za(!1);b=a.o;b.A=new L(.1,0);b.B=new L(1,.6);v.q(a);return b},LoopLimit:function(a,b,c){a=v.s();N(a,0,1*c,!0);a.lineTo(0,.25*c);a.lineTo(.25*b,0);a.lineTo(.75*b,0);a.lineTo(1*b,.25*c);a.lineTo(1*b,1*c);P(a);b=a.o;b.A=new L(0,.25);b.B=Mb;v.q(a);return b},SequentialData:"MagneticTape",MagneticTape:function(a,b,c){a=v.s();var d=.5*Zc;N(a,.5*b,1*c,!0);O(a,(.5-d)*b,1*c,0,(.5+d)*c,0,.5*c);O(a,0,(.5-d)*c,(.5-d)*b,0,.5*b,0);O(a,(.5+d)*b,0,1*b,(.5-d)*c,1*b,.5*c);O(a,1*b,(.5+ +d)*c,(.5+d)*b,.9*c,.6*b,.9*c);a.lineTo(1*b,.9*c);a.lineTo(1*b,1*c);a.lineTo(.5*b,1*c);b=a.o;b.A=new L(.15,.15);b.B=new L(.85,.8);v.q(a);return b},ManualInput:function(a,b,c){a=v.s();N(a,1*b,0,!0);a.lineTo(1*b,1*c);a.lineTo(0,1*c);a.lineTo(0,.25*c);P(a);b=a.o;b.A=new L(0,.25);b.B=Mb;v.q(a);return b},MessageFromUser:function(a,b,c){a=a?a.Ec:NaN;isNaN(a)&&(a=.7);var d=v.s();N(d,0,0,!0);d.lineTo(1*b,0);d.lineTo(a*b,.5*c);d.lineTo(1*b,1*c);d.lineTo(0,1*c);P(d);b=d.o;b.A=xb;b.B=new L(a,1);v.q(d);return b}, +MicroformProcessing:function(a,b,c){a=a?a.Ec:NaN;isNaN(a)&&(a=.25);var d=v.s();N(d,0,0,!0);d.lineTo(.5*b,a*c);d.lineTo(1*b,0);d.lineTo(1*b,1*c);d.lineTo(.5*b,(1-a)*c);d.lineTo(0,1*c);P(d);b=d.o;b.A=new L(0,a);b.B=new L(1,1-a);v.q(d);return b},MicroformRecording:function(a,b,c){a=v.s();N(a,0,0,!0);a.lineTo(.75*b,.25*c);a.lineTo(1*b,.15*c);a.lineTo(1*b,.85*c);a.lineTo(.75*b,.75*c);a.lineTo(0,1*c);P(a);b=a.o;b.A=new L(0,.25);b.B=new L(1,.75);v.q(a);return b},MultiDocument:function(a,b,c){c/=.8;a=v.s(); +N(a,b,0,!0);a.lineTo(b,.5*c);O(a,.96*b,.47*c,.93*b,.45*c,.9*b,.44*c);a.lineTo(.9*b,.6*c);O(a,.86*b,.57*c,.83*b,.55*c,.8*b,.54*c);a.lineTo(.8*b,.7*c);O(a,.4*b,.4*c,.4*b,1*c,0,.7*c);a.lineTo(0,.2*c);a.lineTo(.1*b,.2*c);a.lineTo(.1*b,.1*c);a.lineTo(.2*b,.1*c);a.lineTo(.2*b,0);P(a);N(a,.1*b,.2*c,!1);a.lineTo(.8*b,.2*c);a.lineTo(.8*b,.54*c);a.moveTo(.2*b,.1*c);a.lineTo(.9*b,.1*c);a.lineTo(.9*b,.44*c);a.Za(!1);b=a.o;b.A=new L(0,.25);b.B=new L(.8,.77);v.q(a);return b},MultiProcess:function(a,b,c){a=v.s(); +N(a,.1*b,.1*c,!0);a.lineTo(.2*b,.1*c);a.lineTo(.2*b,0);a.lineTo(1*b,0);a.lineTo(1*b,.8*c);a.lineTo(.9*b,.8*c);a.lineTo(.9*b,.9*c);a.lineTo(.8*b,.9*c);a.lineTo(.8*b,1*c);a.lineTo(0,1*c);a.lineTo(0,.2*c);a.lineTo(.1*b,.2*c);P(a);N(a,.2*b,.1*c,!1);a.lineTo(.9*b,.1*c);a.lineTo(.9*b,.8*c);a.moveTo(.1*b,.2*c);a.lineTo(.8*b,.2*c);a.lineTo(.8*b,.9*c);a.Za(!1);b=a.o;b.A=new L(0,.2);b.B=new L(.8,1);v.q(a);return b},OfflineStorage:function(a,b,c){a=a?a.Ec:NaN;isNaN(a)&&(a=.1);var d=1-a,e=v.s();N(e,0,0,!0);e.lineTo(1* +b,0);e.lineTo(.5*b,1*c);P(e);N(e,.5*a*b,a*c,!1);e.lineTo((1-.5*a)*b,a*c);e.Za(!1);b=e.o;b.A=new L(d/4+.5*a,a);b.B=new L(3*d/4+.5*a,a+.5*d);v.q(e);return b},OffPageConnector:function(a,b,c){a=v.s();N(a,0,0,!0);a.lineTo(.75*b,0);a.lineTo(1*b,.5*c);a.lineTo(.75*b,1*c);a.lineTo(0,1*c);P(a);b=a.o;b.A=xb;b.B=new L(.75,1);v.q(a);return b},Or:function(a,b,c){a=v.s();var d=.5*Zc;N(a,1*b,.5*c,!0);O(a,1*b,(.5+d)*c,(.5+d)*b,1*c,.5*b,1*c);O(a,(.5-d)*b,1*c,0,(.5+d)*c,0,.5*c);O(a,0,(.5-d)*c,(.5-d)*b,0,.5*b,0);O(a, +(.5+d)*b,0,1*b,(.5-d)*c,1*b,.5*c);N(a,1*b,.5*c,!1);a.lineTo(0,.5*c);a.moveTo(.5*b,1*c);a.lineTo(.5*b,0);a.Za(!1);b=a.o;b.$d=Lj;v.q(a);return b},PaperTape:function(a,b,c){c/=.8;a=v.s();N(a,0,.7*c,!0);a.lineTo(0,.3*c);O(a,.5*b,.6*c,.5*b,0,1*b,.3*c);a.lineTo(1*b,.7*c);O(a,.5*b,.4*c,.5*b,1*c,0,.7*c);P(a);b=a.o;b.A=new L(0,.49);b.B=new L(1,.75);v.q(a);return b},PrimitiveFromCall:function(a,b,c){var d=a?a.Ec:NaN;a=a?a.ru:NaN;isNaN(d)&&(d=.1);isNaN(a)&&(a=.3);var e=v.s();N(e,0,0,!0);e.lineTo(1*b,0);e.lineTo((1- +a)*b,.5*c);e.lineTo(1*b,1*c);e.lineTo(0,1*c);P(e);b=e.o;b.A=new L(d,0);b.B=new L(1-a,1);v.q(e);return b},PrimitiveToCall:function(a,b,c){var d=a?a.Ec:NaN;a=a?a.ru:NaN;isNaN(d)&&(d=.1);isNaN(a)&&(a=.3);var e=v.s();N(e,0,0,!0);e.lineTo((1-a)*b,0);e.lineTo(1*b,.5*c);e.lineTo((1-a)*b,1*c);e.lineTo(0,1*c);P(e);b=e.o;b.A=new L(d,0);b.B=new L(1-a,1);v.q(e);return b},Subroutine:"Procedure",Procedure:function(a,b,c){a=a?a.Ec:NaN;isNaN(a)&&(a=.1);var d=v.s();N(d,0,0,!0);d.lineTo(1*b,0);d.lineTo(1*b,1*c);d.lineTo(0, +1*c);P(d);N(d,(1-a)*b,0,!1);d.lineTo((1-a)*b,1*c);d.moveTo(a*b,0);d.lineTo(a*b,1*c);d.Za(!1);b=d.o;b.A=new L(a,0);b.B=new L(1-a,1);v.q(d);return b},Process:function(a,b,c){a=a?a.Ec:NaN;isNaN(a)&&(a=.1);var d=v.s();N(d,0,0,!0);d.lineTo(1*b,0);d.lineTo(1*b,1*c);d.lineTo(0,1*c);P(d);N(d,a*b,0,!1);d.lineTo(a*b,1*c);d.Za(!1);b=d.o;b.A=new L(a,0);b.B=Mb;v.q(d);return b},Sort:function(a,b,c){a=v.s();N(a,.5*b,0,!0);a.lineTo(1*b,.5*c);a.lineTo(.5*b,1*c);a.lineTo(0,.5*c);P(a);N(a,0,.5*c,!1);a.lineTo(1*b,.5* +c);a.Za(!1);b=a.o;b.A=new L(.25,.25);b.B=new L(.75,.5);v.q(a);return b},Start:function(a,b,c){a=v.s();N(a,.25*b,0,!0);N(a,.25*b,0,!0);a.arcTo(270,180,.75*b,.5*c,.25*b,.5*c);a.arcTo(90,180,.25*b,.5*c,.25*b,.5*c);N(a,.25*b,0,!1);a.lineTo(.25*b,1*c);a.moveTo(.75*b,0);a.lineTo(.75*b,1*c);a.Za(!1);b=a.o;b.A=new L(.25,0);b.B=new L(.75,1);v.q(a);return b},Terminator:function(a,b,c){a=v.s();N(a,.25*b,0,!0);a.arcTo(270,180,.75*b,.5*c,.25*b,.5*c);a.arcTo(90,180,.25*b,.5*c,.25*b,.5*c);b=a.o;b.A=new L(.23,0); +b.B=new L(.77,1);v.q(a);return b},TransmittalTape:function(a,b,c){a=a?a.Ec:NaN;isNaN(a)&&(a=.1);var d=v.s();N(d,0,0,!0);d.lineTo(1*b,0);d.lineTo(1*b,1*c);d.lineTo(.75*b,(1-a)*c);d.lineTo(0,(1-a)*c);P(d);b=d.o;b.A=xb;b.B=new L(1,1-a);v.q(d);return b},AndGate:function(a,b,c){a=v.s();var d=.5*Zc;N(a,0,0,!0);a.lineTo(.5*b,0);O(a,(.5+d)*b,0,1*b,(.5-d)*c,1*b,.5*c);O(a,1*b,(.5+d)*c,(.5+d)*b,1*c,.5*b,1*c);a.lineTo(0,1*c);P(a);b=a.o;b.A=xb;b.B=new L(.55,1);v.q(a);return b},Buffer:function(a,b,c){a=v.s();N(a, +0,0,!0);a.lineTo(1*b,.5*c);a.lineTo(0,1*c);P(a);b=a.o;b.A=new L(0,.25);b.B=new L(.5,.75);v.q(a);return b},Clock:function(a,b,c){a=v.s();var d=.5*Zc;N(a,1*b,.5*c,!0);O(a,1*b,(.5+d)*c,(.5+d)*b,1*c,.5*b,1*c);O(a,(.5-d)*b,1*c,0,(.5+d)*c,0,.5*c);O(a,0,(.5-d)*c,(.5-d)*b,0,.5*b,0);O(a,(.5+d)*b,0,1*b,(.5-d)*c,1*b,.5*c);N(a,1*b,.5*c,!1);a.lineTo(1*b,.5*c);N(a,.8*b,.75*c,!1);a.lineTo(.8*b,.25*c);a.lineTo(.6*b,.25*c);a.lineTo(.6*b,.75*c);a.lineTo(.4*b,.75*c);a.lineTo(.4*b,.25*c);a.lineTo(.2*b,.25*c);a.lineTo(.2* +b,.75*c);a.Za(!1);b=a.o;b.$d=Lj;v.q(a);return b},Ground:function(a,b,c){a=v.s();N(a,.5*b,0,!1);a.lineTo(.5*b,.4*c);a.moveTo(.2*b,.6*c);a.lineTo(.8*b,.6*c);a.moveTo(.3*b,.8*c);a.lineTo(.7*b,.8*c);a.moveTo(.4*b,1*c);a.lineTo(.6*b,1*c);b=a.o;v.q(a);return b},Inverter:function(a,b,c){a=v.s();var d=.1*Zc;N(a,.8*b,.5*c,!0);a.lineTo(0,1*c);a.lineTo(0,0);a.lineTo(.8*b,.5*c);N(a,1*b,.5*c,!0);O(a,1*b,(.5+d)*c,(.9+d)*b,.6*c,.9*b,.6*c);O(a,(.9-d)*b,.6*c,.8*b,(.5+d)*c,.8*b,.5*c);O(a,.8*b,(.5-d)*c,(.9-d)*b,.4* +c,.9*b,.4*c);O(a,(.9+d)*b,.4*c,1*b,(.5-d)*c,1*b,.5*c);b=a.o;b.A=new L(0,.25);b.B=new L(.4,.75);v.q(a);return b},NandGate:function(a,b,c){a=v.s();var d=.5*Zc,e=.4*Zc,f=.1*Zc;N(a,.8*b,.5*c,!0);O(a,.8*b,(.5+e)*c,(.4+d)*b,1*c,.4*b,1*c);a.lineTo(0,1*c);a.lineTo(0,0);a.lineTo(.4*b,0);O(a,(.4+d)*b,0,.8*b,(.5-e)*c,.8*b,.5*c);N(a,1*b,.5*c,!0);O(a,1*b,(.5+f)*c,(.9+f)*b,.6*c,.9*b,.6*c);O(a,(.9-f)*b,.6*c,.8*b,(.5+f)*c,.8*b,.5*c);O(a,.8*b,(.5-f)*c,(.9-f)*b,.4*c,.9*b,.4*c);O(a,(.9+f)*b,.4*c,1*b,(.5-f)*c,1*b,.5* +c);b=a.o;b.A=new L(0,.05);b.B=new L(.55,.95);v.q(a);return b},NorGate:function(a,b,c){a=v.s();var d=.5,e=Zc*d,f=0,h=.5;N(a,.8*b,.5*c,!0);O(a,.7*b,(h+e)*c,(f+e)*b,(h+d)*c,0,1*c);O(a,.25*b,.75*c,.25*b,.25*c,0,0);O(a,(f+e)*b,(h-d)*c,.7*b,(h-e)*c,.8*b,.5*c);d=.1;e=.1*Zc;f=.9;h=.5;N(a,(f-d)*b,h*c,!0);O(a,(f-d)*b,(h-e)*c,(f-e)*b,(h-d)*c,f*b,(h-d)*c);O(a,(f+e)*b,(h-d)*c,(f+d)*b,(h-e)*c,(f+d)*b,h*c);O(a,(f+d)*b,(h+e)*c,(f+e)*b,(h+d)*c,f*b,(h+d)*c);O(a,(f-e)*b,(h+d)*c,(f-d)*b,(h+e)*c,(f-d)*b,h*c);b=a.o;b.A= +new L(.2,.25);b.B=new L(.6,.75);v.q(a);return b},OrGate:function(a,b,c){a=v.s();var d=.5*Zc;N(a,0,0,!0);O(a,(0+d+d)*b,0*c,.8*b,(.5-d)*c,1*b,.5*c);O(a,.8*b,(.5+d)*c,(0+d+d)*b,1*c,0,1*c);O(a,.25*b,.75*c,.25*b,.25*c,0,0);P(a);b=a.o;b.A=new L(.2,.25);b.B=new L(.75,.75);v.q(a);return b},XnorGate:function(a,b,c){a=v.s();var d=.5,e=Zc*d,f=.2,h=.5;N(a,.1*b,0,!1);O(a,.35*b,.25*c,.35*b,.75*c,.1*b,1*c);N(a,.8*b,.5*c,!0);O(a,.7*b,(h+e)*c,(f+e)*b,(h+d)*c,.2*b,1*c);O(a,.45*b,.75*c,.45*b,.25*c,.2*b,0);O(a,(f+e)* +b,(h-d)*c,.7*b,(h-e)*c,.8*b,.5*c);d=.1;e=.1*Zc;f=.9;h=.5;N(a,(f-d)*b,h*c,!0);O(a,(f-d)*b,(h-e)*c,(f-e)*b,(h-d)*c,f*b,(h-d)*c);O(a,(f+e)*b,(h-d)*c,(f+d)*b,(h-e)*c,(f+d)*b,h*c);O(a,(f+d)*b,(h+e)*c,(f+e)*b,(h+d)*c,f*b,(h+d)*c);O(a,(f-e)*b,(h+d)*c,(f-d)*b,(h+e)*c,(f-d)*b,h*c);b=a.o;b.A=new L(.4,.25);b.B=new L(.65,.75);v.q(a);return b},XorGate:function(a,b,c){a=v.s();var d=.5*Zc;N(a,.1*b,0,!1);O(a,.35*b,.25*c,.35*b,.75*c,.1*b,1*c);N(a,.2*b,0,!0);O(a,(.2+d)*b,0*c,.9*b,(.5-d)*c,1*b,.5*c);O(a,.9*b,(.5+d)* +c,(.2+d)*b,1*c,.2*b,1*c);O(a,.45*b,.75*c,.45*b,.25*c,.2*b,0);P(a);b=a.o;b.A=new L(.4,.25);b.B=new L(.8,.75);v.q(a);return b},Capacitor:function(a,b,c){a=v.s();N(a,0,0,!1);a.lineTo(0,1*c);a.moveTo(1*b,0);a.lineTo(1*b,1*c);b=a.o;v.q(a);return b},Resistor:function(a,b,c){a=v.s();N(a,0,.5*c,!1);a.lineTo(.1*b,0);a.lineTo(.2*b,1*c);a.lineTo(.3*b,0);a.lineTo(.4*b,1*c);a.lineTo(.5*b,0);a.lineTo(.6*b,1*c);a.lineTo(.7*b,.5*c);b=a.o;v.q(a);return b},Inductor:function(a,b,c){a=v.s();var d=.1*Zc,e=.1;N(a,(e-.5* +d)*b,c,!1);O(a,(e-d)*b,c,(e-.1)*b,0,(e+.1)*b,0);e=.3;O(a,(e+.1)*b,0,(e+d)*b,c,e*b,c);O(a,(e-d)*b,c,(e-.1)*b,0,(e+.1)*b,0);e=.5;O(a,(e+.1)*b,0,(e+d)*b,c,e*b,c);O(a,(e-d)*b,c,(e-.1)*b,0,(e+.1)*b,0);e=.7;O(a,(e+.1)*b,0,(e+d)*b,c,e*b,c);O(a,(e-d)*b,c,(e-.1)*b,0,(e+.1)*b,0);e=.9;O(a,(e+.1)*b,0,(e+d)*b,c,(e+.5*d)*b,c);b=a.o;v.q(a);return b},ACvoltageSource:function(a,b,c){a=v.s();var d=.5*Zc;N(a,0*b,.5*c,!1);O(a,0*b,(.5-d)*c,(.5-d)*b,0*c,.5*b,0*c);O(a,(.5+d)*b,0*c,1*b,(.5-d)*c,1*b,.5*c);O(a,1*b,(.5+d)* +c,(.5+d)*b,1*c,.5*b,1*c);O(a,(.5-d)*b,1*c,0*b,(.5+d)*c,0*b,.5*c);a.moveTo(.1*b,.5*c);O(a,.5*b,0*c,.5*b,1*c,.9*b,.5*c);b=a.o;b.$d=Lj;v.q(a);return b},DCvoltageSource:function(a,b,c){a=v.s();N(a,0,.75*c,!1);a.lineTo(0,.25*c);a.moveTo(1*b,0);a.lineTo(1*b,1*c);b=a.o;v.q(a);return b},Diode:function(a,b,c){a=v.s();N(a,1*b,0,!1);a.lineTo(1*b,.5*c);a.lineTo(0,1*c);a.lineTo(0,0);a.lineTo(1*b,.5*c);a.lineTo(1*b,1*c);b=a.o;b.A=new L(0,.25);b.B=new L(.5,.75);v.q(a);return b},Wifi:function(a,b,c){var d=b,e=c; +b*=.38;c*=.6;a=v.s();var f=.8*Zc,h=.8,k=0,l=.5,d=(d-b)/2,e=(e-c)/2;N(a,k*b+d,(l+h)*c+e,!0);O(a,(k-f)*b+d,(l+h)*c+e,(k-h)*b+d,(l+f)*c+e,(k-h)*b+d,l*c+e);O(a,(k-h)*b+d,(l-f)*c+e,(k-f)*b+d,(l-h)*c+e,k*b+d,(l-h)*c+e);O(a,k*b+d,(l-h)*c+e,(k-h+.5*f)*b+d,(l-f)*c+e,(k-h+.5*f)*b+d,l*c+e);O(a,(k-h+.5*f)*b+d,(l+f)*c+e,k*b+d,(l+h)*c+e,k*b+d,(l+h)*c+e);P(a);f=.4*Zc;h=.4;k=.2;l=.5;N(a,k*b+d,(l+h)*c+e,!0);O(a,(k-f)*b+d,(l+h)*c+e,(k-h)*b+d,(l+f)*c+e,(k-h)*b+d,l*c+e);O(a,(k-h)*b+d,(l-f)*c+e,(k-f)*b+d,(l-h)*c+e,k* +b+d,(l-h)*c+e);O(a,k*b+d,(l-h)*c+e,(k-h+.5*f)*b+d,(l-f)*c+e,(k-h+.5*f)*b+d,l*c+e);O(a,(k-h+.5*f)*b+d,(l+f)*c+e,k*b+d,(l+h)*c+e,k*b+d,(l+h)*c+e);P(a);f=.2*Zc;h=.2;l=k=.5;N(a,(k-h)*b+d,l*c+e,!0);O(a,(k-h)*b+d,(l-f)*c+e,(k-f)*b+d,(l-h)*c+e,k*b+d,(l-h)*c+e);O(a,(k+f)*b+d,(l-h)*c+e,(k+h)*b+d,(l-f)*c+e,(k+h)*b+d,l*c+e);O(a,(k+h)*b+d,(l+f)*c+e,(k+f)*b+d,(l+h)*c+e,k*b+d,(l+h)*c+e);O(a,(k-f)*b+d,(l+h)*c+e,(k-h)*b+d,(l+f)*c+e,(k-h)*b+d,l*c+e);f=.4*Zc;h=.4;k=.8;l=.5;N(a,k*b+d,(l-h)*c+e,!0);O(a,(k+f)*b+d,(l- +h)*c+e,(k+h)*b+d,(l-f)*c+e,(k+h)*b+d,l*c+e);O(a,(k+h)*b+d,(l+f)*c+e,(k+f)*b+d,(l+h)*c+e,k*b+d,(l+h)*c+e);O(a,k*b+d,(l+h)*c+e,(k+h-.5*f)*b+d,(l+f)*c+e,(k+h-.5*f)*b+d,l*c+e);O(a,(k+h-.5*f)*b+d,(l-f)*c+e,k*b+d,(l-h)*c+e,k*b+d,(l-h)*c+e);P(a);f=.8*Zc;h=.8;k=1;l=.5;N(a,k*b+d,(l-h)*c+e,!0);O(a,(k+f)*b+d,(l-h)*c+e,(k+h)*b+d,(l-f)*c+e,(k+h)*b+d,l*c+e);O(a,(k+h)*b+d,(l+f)*c+e,(k+f)*b+d,(l+h)*c+e,k*b+d,(l+h)*c+e);O(a,k*b+d,(l+h)*c+e,(k+h-.5*f)*b+d,(l+f)*c+e,(k+h-.5*f)*b+d,l*c+e);O(a,(k+h-.5*f)*b+d,(l-f)*c+ +e,k*b+d,(l-h)*c+e,k*b+d,(l-h)*c+e);P(a);b=a.o;v.q(a);return b},Email:function(a,b,c){a=v.s();N(a,0,0,!0);a.lineTo(1*b,0);a.lineTo(1*b,1*c);a.lineTo(0,1*c);a.lineTo(0,0);P(a);N(a,0,0,!1);a.lineTo(.5*b,.6*c);a.lineTo(1*b,0);a.moveTo(0,1*c);a.lineTo(.45*b,.54*c);a.moveTo(1*b,1*c);a.lineTo(.55*b,.54*c);a.Za(!1);b=a.o;v.q(a);return b},Ethernet:function(a,b,c){a=v.s();N(a,.35*b,0,!0);a.lineTo(.65*b,0);a.lineTo(.65*b,.4*c);a.lineTo(.35*b,.4*c);a.lineTo(.35*b,0);P(a);N(a,.1*b,1*c,!0,!0);a.lineTo(.4*b,1*c); +a.lineTo(.4*b,.6*c);a.lineTo(.1*b,.6*c);a.lineTo(.1*b,1*c);P(a);N(a,.6*b,1*c,!0,!0);a.lineTo(.9*b,1*c);a.lineTo(.9*b,.6*c);a.lineTo(.6*b,.6*c);a.lineTo(.6*b,1*c);P(a);N(a,0,.5*c,!1);a.lineTo(1*b,.5*c);a.moveTo(.5*b,.5*c);a.lineTo(.5*b,.4*c);a.moveTo(.75*b,.5*c);a.lineTo(.75*b,.6*c);a.moveTo(.25*b,.5*c);a.lineTo(.25*b,.6*c);a.Za(!1);b=a.o;v.q(a);return b},Power:function(a,b,c){a=v.s();var d=.4*Zc,e=.4,f=v.K(),h=v.K(),k=v.K(),l=v.K();de(.5,.5-e,.5+d,.5-e,.5+e,.5-d,.5+e,.5,.5,f,f,h,k,l);var m=v.xb(h.x, +h.y);N(a,h.x*b,h.y*c,!0);O(a,k.x*b,k.y*c,l.x*b,l.y*c,(.5+e)*b,.5*c);O(a,(.5+e)*b,(.5+d)*c,(.5+d)*b,(.5+e)*c,.5*b,(.5+e)*c);O(a,(.5-d)*b,(.5+e)*c,(.5-e)*b,(.5+d)*c,(.5-e)*b,.5*c);de(.5-e,.5,.5-e,.5-d,.5-d,.5-e,.5,.5-e,.5,k,l,h,f,f);O(a,k.x*b,k.y*c,l.x*b,l.y*c,h.x*b,h.y*c);d=.3*Zc;e=.3;de(.5-e,.5,.5-e,.5-d,.5-d,.5-e,.5,.5-e,.5,k,l,h,f,f);a.lineTo(h.x*b,h.y*c);O(a,l.x*b,l.y*c,k.x*b,k.y*c,(.5-e)*b,.5*c);O(a,(.5-e)*b,(.5+d)*c,(.5-d)*b,(.5+e)*c,.5*b,(.5+e)*c);O(a,(.5+d)*b,(.5+e)*c,(.5+e)*b,(.5+d)*c,(.5+ +e)*b,.5*c);de(.5,.5-e,.5+d,.5-e,.5+e,.5-d,.5+e,.5,.5,f,f,h,k,l);O(a,l.x*b,l.y*c,k.x*b,k.y*c,h.x*b,h.y*c);P(a);N(a,.45*b,0,!0);a.lineTo(.45*b,.5*c);a.lineTo(.55*b,.5*c);a.lineTo(.55*b,0);P(a);v.v(f);v.v(h);v.v(k);v.v(l);v.v(m);b=a.o;b.A=new L(.25,.55);b.B=new L(.75,.8);v.q(a);return b},Fallout:function(a,b,c){a=v.s();var d=.5*Zc;N(a,0*b,.5*c,!0);O(a,0*b,(.5-d)*c,(.5-d)*b,0*c,.5*b,0*c);O(a,(.5+d)*b,0*c,1*b,(.5-d)*c,1*b,.5*c);O(a,1*b,(.5+d)*c,(.5+d)*b,1*c,.5*b,1*c);O(a,(.5-d)*b,1*c,0*b,(.5+d)*c,0*b, +.5*c);var e=d=0;N(a,(.3+d)*b,(.8+e)*c,!0,!0);a.lineTo((.5+d)*b,(.5+e)*c);a.lineTo((.1+d)*b,(.5+e)*c);a.lineTo((.3+d)*b,(.8+e)*c);d=.4;e=0;P(a);N(a,(.3+d)*b,(.8+e)*c,!0,!0);a.lineTo((.5+d)*b,(.5+e)*c);a.lineTo((.1+d)*b,(.5+e)*c);a.lineTo((.3+d)*b,(.8+e)*c);d=.2;e=-.3;P(a);N(a,(.3+d)*b,(.8+e)*c,!0,!0);a.lineTo((.5+d)*b,(.5+e)*c);a.lineTo((.1+d)*b,(.5+e)*c);a.lineTo((.3+d)*b,(.8+e)*c);P(a);b=a.o;b.$d=Lj;v.q(a);return b},IrritationHazard:function(a,b,c){a=v.s();N(a,.2*b,0*c,!0);a.lineTo(.5*b,.3*c);a.lineTo(.8* +b,0*c);a.lineTo(1*b,.2*c);a.lineTo(.7*b,.5*c);a.lineTo(1*b,.8*c);a.lineTo(.8*b,1*c);a.lineTo(.5*b,.7*c);a.lineTo(.2*b,1*c);a.lineTo(0*b,.8*c);a.lineTo(.3*b,.5*c);a.lineTo(0*b,.2*c);P(a);b=a.o;b.A=new L(.3,.3);b.B=new L(.7,.7);v.q(a);return b},ElectricalHazard:function(a,b,c){a=v.s();N(a,.37*b,0*c,!0);a.lineTo(.5*b,.11*c);a.lineTo(.77*b,.04*c);a.lineTo(.33*b,.49*c);a.lineTo(1*b,.37*c);a.lineTo(.63*b,.86*c);a.lineTo(.77*b,.91*c);a.lineTo(.34*b,1*c);a.lineTo(.34*b,.78*c);a.lineTo(.44*b,.8*c);a.lineTo(.65* +b,.56*c);a.lineTo(0*b,.68*c);P(a);b=a.o;v.q(a);return b},FireHazard:function(a,b,c){a=v.s();N(a,.1*b,1*c,!0);O(a,-.25*b,.63*c,.45*b,.44*c,.29*b,0*c);O(a,.48*b,.17*c,.54*b,.35*c,.51*b,.42*c);O(a,.59*b,.29*c,.58*b,.28*c,.59*b,.18*c);O(a,.8*b,.34*c,.88*b,.43*c,.75*b,.6*c);O(a,.87*b,.48*c,.88*b,.43*c,.88*b,.31*c);O(a,1.17*b,.76*c,.82*b,.8*c,.9*b,1*c);P(a);b=a.o;b.A=new L(.05,.645);b.B=new L(.884,.908);v.q(a);return b},BpmnActivityLoop:function(a,b,c){a=v.s();var d=4*(Math.SQRT2-1)/3*.5;N(a,.65*b,1*c, !1);O(a,(1-d+0)*b,1*c,1*b,(.5+d+0)*c,1*b,.5*c);O(a,1*b,(.5-d+0)*c,(.5+d+0)*b,0*c,.5*b,0*c);O(a,(.5-d+0)*b,0*c,0*b,(.5-d+0)*c,0*b,.5*c);O(a,0*b,(.5+d+0)*c,(.5-d+0)*b,1*c,.35*b,.98*c);a.moveTo(.25*b,.8*c);a.lineTo(.35*b,1*c);a.lineTo(.1*b,1*c);b=a.o;v.q(a);return b},BpmnActivityParallel:function(a,b,c){a=v.s();N(a,0,0,!1);a.lineTo(0,1*c);a.moveTo(.5*b,0);a.lineTo(.5*b,1*c);a.moveTo(1*b,0);a.lineTo(1*b,1*c);b=a.o;v.q(a);return b},BpmnActivitySequential:function(a,b,c){a=v.s();N(a,0,0,!1);a.lineTo(1* b,0);a.moveTo(0,.5*c);a.lineTo(1*b,.5*c);a.moveTo(0,1*c);a.lineTo(1*b,1*c);b=a.o;v.q(a);return b},BpmnActivityAdHoc:function(a,b,c){a=v.s();N(a,0,0,!1);N(a,1*b,1*c,!1);N(a,0,.5*c,!1);O(a,.2*b,.35*c,.3*b,.35*c,.5*b,.5*c);O(a,.7*b,.65*c,.8*b,.65*c,1*b,.5*c);b=a.o;v.q(a);return b},BpmnActivityCompensation:function(a,b,c){a=v.s();N(a,0,.5*c,!0);a.lineTo(.5*b,0);a.lineTo(.5*b,.5*c);a.lineTo(1*b,1*c);a.lineTo(1*b,0);a.lineTo(.5*b,.5*c);a.lineTo(.5*b,1*c);P(a);b=a.o;v.q(a);return b},BpmnTaskMessage:function(a, -b,c){a=v.s();N(a,0,.2*c,!0);a.lineTo(1*b,.2*c);a.lineTo(1*b,.8*c);a.lineTo(0,.8*c);a.lineTo(0,.8*c);P(a);N(a,0,.2*c,!1);a.lineTo(.5*b,.5*c);a.lineTo(1*b,.2*c);a.Ya(!1);b=a.o;v.q(a);return b},BpmnTaskScript:function(a,b,c){a=v.s();N(a,.7*b,1*c,!0);a.lineTo(.3*b,1*c);O(a,.6*b,.5*c,0,.5*c,.3*b,0);a.lineTo(.7*b,0);O(a,.4*b,.5*c,1*b,.5*c,.7*b,1*c);P(a);N(a,.45*b,.73*c,!1);a.lineTo(.7*b,.73*c);a.moveTo(.38*b,.5*c);a.lineTo(.63*b,.5*c);a.moveTo(.31*b,.27*c);a.lineTo(.56*b,.27*c);a.Ya(!1);b=a.o;v.q(a);return b}, +b,c){a=v.s();N(a,0,.2*c,!0);a.lineTo(1*b,.2*c);a.lineTo(1*b,.8*c);a.lineTo(0,.8*c);a.lineTo(0,.8*c);P(a);N(a,0,.2*c,!1);a.lineTo(.5*b,.5*c);a.lineTo(1*b,.2*c);a.Za(!1);b=a.o;v.q(a);return b},BpmnTaskScript:function(a,b,c){a=v.s();N(a,.7*b,1*c,!0);a.lineTo(.3*b,1*c);O(a,.6*b,.5*c,0,.5*c,.3*b,0);a.lineTo(.7*b,0);O(a,.4*b,.5*c,1*b,.5*c,.7*b,1*c);P(a);N(a,.45*b,.73*c,!1);a.lineTo(.7*b,.73*c);a.moveTo(.38*b,.5*c);a.lineTo(.63*b,.5*c);a.moveTo(.31*b,.27*c);a.lineTo(.56*b,.27*c);a.Za(!1);b=a.o;v.q(a);return b}, BpmnTaskUser:function(a,b,c){a=v.s();N(a,0,0,!1);N(a,.335*b,(1-.555)*c,!0);a.lineTo(.335*b,.595*c);a.lineTo(.665*b,.595*c);a.lineTo(.665*b,(1-.555)*c);O(a,.88*b,.46*c,.98*b,.54*c,1*b,.68*c);a.lineTo(1*b,1*c);a.lineTo(0,1*c);a.lineTo(0,.68*c);O(a,.02*b,.54*c,.12*b,.46*c,.335*b,(1-.555)*c);a.lineTo(.365*b,.405*c);var d=.5-.285,e=Math.PI/4,f=4*(1-Math.cos(e))/(3*Math.sin(e)),e=f*d,f=f*d;O(a,(.5-(e+d)/2)*b,(d+(d+f)/2)*c,(.5-d)*b,(d+f)*c,(.5-d)*b,d*c);O(a,(.5-d)*b,(d-f)*c,(.5-e)*b,(d-d)*c,.5*b,(d-d)*c); O(a,(.5+e)*b,(d-d)*c,(.5+d)*b,(d-f)*c,(.5+d)*b,d*c);O(a,(.5+d)*b,(d+f)*c,(.5+(e+d)/2)*b,(d+(d+f)/2)*c,.635*b,.405*c);a.lineTo(.635*b,.405*c);a.lineTo(.665*b,(1-.555)*c);a.lineTo(.665*b,.595*c);a.lineTo(.335*b,.595*c);N(a,.2*b,1*c,!1);a.lineTo(.2*b,.8*c);N(a,.8*b,1*c,!1);a.lineTo(.8*b,.8*c);b=a.o;v.q(a);return b},BpmnEventConditional:function(a,b,c){a=v.s();N(a,.1*b,0,!0);a.lineTo(.9*b,0);a.lineTo(.9*b,1*c);a.lineTo(.1*b,1*c);P(a);N(a,.2*b,.2*c,!1);a.lineTo(.8*b,.2*c);a.moveTo(.2*b,.4*c);a.lineTo(.8* -b,.4*c);a.moveTo(.2*b,.6*c);a.lineTo(.8*b,.6*c);a.moveTo(.2*b,.8*c);a.lineTo(.8*b,.8*c);a.Ya(!1);b=a.o;v.q(a);return b},BpmnEventError:function(a,b,c){a=v.s();N(a,0,1*c,!0);a.lineTo(.33*b,0);a.lineTo(.66*b,.5*c);a.lineTo(1*b,0);a.lineTo(.66*b,1*c);a.lineTo(.33*b,.5*c);P(a);b=a.o;v.q(a);return b},BpmnEventEscalation:function(a,b,c){a=v.s();N(a,0,0,!1);N(a,1*b,1*c,!1);N(a,.1*b,1*c,!0);a.lineTo(.5*b,0);a.lineTo(.9*b,1*c);a.lineTo(.5*b,.5*c);P(a);b=a.o;v.q(a);return b},BpmnEventTimer:function(a,b,c){a= -v.s();var d=.5*$c;N(a,1*b,.5*c,!0);O(a,1*b,(.5+d)*c,(.5+d)*b,1*c,.5*b,1*c);O(a,(.5-d)*b,1*c,0,(.5+d)*c,0,.5*c);O(a,0,(.5-d)*c,(.5-d)*b,0,.5*b,0);O(a,(.5+d)*b,0,1*b,(.5-d)*c,1*b,.5*c);N(a,.5*b,0,!1);a.lineTo(.5*b,.15*c);a.moveTo(.5*b,1*c);a.lineTo(.5*b,.85*c);a.moveTo(0,.5*c);a.lineTo(.15*b,.5*c);a.moveTo(1*b,.5*c);a.lineTo(.85*b,.5*c);a.moveTo(.5*b,.5*c);a.lineTo(.58*b,.1*c);a.moveTo(.5*b,.5*c);a.lineTo(.78*b,.54*c);a.Ya(!1);b=a.o;b.Jd=Ui;v.q(a);return b}},ap;for(ap in po)po[ap.toLowerCase()]=ap; -var bp={"":"",Standard:"F1 m 0,0 l 8,4 -8,4 2,-4 z",Backward:"F1 m 8,0 l -2,4 2,4 -8,-4 z",Triangle:"F1 m 0,0 l 8,4.62 -8,4.62 z",BackwardTriangle:"F1 m 8,4 l 0,4 -8,-4 8,-4 0,4 z",Boomerang:"F1 m 0,0 l 8,4 -8,4 4,-4 -4,-4 z",BackwardBoomerang:"F1 m 8,0 l -8,4 8,4 -4,-4 4,-4 z",SidewaysV:"m 0,0 l 8,4 -8,4 0,-1 6,-3 -6,-3 0,-1 z",BackwardV:"m 8,0 l -8,4 8,4 0,-1 -6,-3 6,-3 0,-1 z",OpenTriangle:"m 0,0 l 8,4 -8,4",BackwardOpenTriangle:"m 8,0 l -8,4 8,4",OpenTriangleLine:"m 0,0 l 8,4 -8,4 m 8.5,0 l 0,-8", +b,.4*c);a.moveTo(.2*b,.6*c);a.lineTo(.8*b,.6*c);a.moveTo(.2*b,.8*c);a.lineTo(.8*b,.8*c);a.Za(!1);b=a.o;v.q(a);return b},BpmnEventError:function(a,b,c){a=v.s();N(a,0,1*c,!0);a.lineTo(.33*b,0);a.lineTo(.66*b,.5*c);a.lineTo(1*b,0);a.lineTo(.66*b,1*c);a.lineTo(.33*b,.5*c);P(a);b=a.o;v.q(a);return b},BpmnEventEscalation:function(a,b,c){a=v.s();N(a,0,0,!1);N(a,1*b,1*c,!1);N(a,.1*b,1*c,!0);a.lineTo(.5*b,0);a.lineTo(.9*b,1*c);a.lineTo(.5*b,.5*c);P(a);b=a.o;v.q(a);return b},BpmnEventTimer:function(a,b,c){a= +v.s();var d=.5*Zc;N(a,1*b,.5*c,!0);O(a,1*b,(.5+d)*c,(.5+d)*b,1*c,.5*b,1*c);O(a,(.5-d)*b,1*c,0,(.5+d)*c,0,.5*c);O(a,0,(.5-d)*c,(.5-d)*b,0,.5*b,0);O(a,(.5+d)*b,0,1*b,(.5-d)*c,1*b,.5*c);N(a,.5*b,0,!1);a.lineTo(.5*b,.15*c);a.moveTo(.5*b,1*c);a.lineTo(.5*b,.85*c);a.moveTo(0,.5*c);a.lineTo(.15*b,.5*c);a.moveTo(1*b,.5*c);a.lineTo(.85*b,.5*c);a.moveTo(.5*b,.5*c);a.lineTo(.58*b,.1*c);a.moveTo(.5*b,.5*c);a.lineTo(.78*b,.54*c);a.Za(!1);b=a.o;b.$d=Lj;v.q(a);return b}},Qq;for(Qq in bq)bq[Qq.toLowerCase()]=Qq; +var iq={"":"",Standard:"F1 m 0,0 l 8,4 -8,4 2,-4 z",Backward:"F1 m 8,0 l -2,4 2,4 -8,-4 z",Triangle:"F1 m 0,0 l 8,4.62 -8,4.62 z",BackwardTriangle:"F1 m 8,4 l 0,4 -8,-4 8,-4 0,4 z",Boomerang:"F1 m 0,0 l 8,4 -8,4 4,-4 -4,-4 z",BackwardBoomerang:"F1 m 8,0 l -8,4 8,4 -4,-4 4,-4 z",SidewaysV:"m 0,0 l 8,4 -8,4 0,-1 6,-3 -6,-3 0,-1 z",BackwardV:"m 8,0 l -8,4 8,4 0,-1 -6,-3 6,-3 0,-1 z",OpenTriangle:"m 0,0 l 8,4 -8,4",BackwardOpenTriangle:"m 8,0 l -8,4 8,4",OpenTriangleLine:"m 0,0 l 8,4 -8,4 m 8.5,0 l 0,-8", BackwardOpenTriangleLine:"m 8,0 l -8,4 8,4 m -8.5,0 l 0,-8",OpenTriangleTop:"m 0,0 l 8,4 m 0,4",BackwardOpenTriangleTop:"m 8,0 l -8,4 m 0,4",OpenTriangleBottom:"m 0,8 l 8,-4",BackwardOpenTriangleBottom:"m 0,4 l 8,4",HalfTriangleTop:"F1 m 0,0 l 0,4 8,0 z m 0,8",BackwardHalfTriangleTop:"F1 m 8,0 l 0,4 -8,0 z m 0,8",HalfTriangleBottom:"F1 m 0,4 l 0,4 8,-4 z",BackwardHalfTriangleBottom:"F1 m 8,4 l 0,4 -8,-4 z",ForwardSemiCircle:"m 4,0 b 270 180 0 4 4",BackwardSemiCircle:"m 4,8 b 90 180 0 -4 4",Feather:"m 0,0 l 3,4 -3,4", BackwardFeather:"m 3,0 l -3,4 3,4",DoubleFeathers:"m 0,0 l 3,4 -3,4 m 3,-8 l 3,4 -3,4",BackwardDoubleFeathers:"m 3,0 l -3,4 3,4 m 3,-8 l -3,4 3,4",TripleFeathers:"m 0,0 l 3,4 -3,4 m 3,-8 l 3,4 -3,4 m 3,-8 l 3,4 -3,4",BackwardTripleFeathers:"m 3,0 l -3,4 3,4 m 3,-8 l -3,4 3,4 m 3,-8 l -3,4 3,4",ForwardSlash:"m 0,8 l 5,-8",BackSlash:"m 0,0 l 5,8",DoubleForwardSlash:"m 0,8 l 4,-8 m -2,8 l 4,-8",DoubleBackSlash:"m 0,0 l 4,8 m -2,-8 l 4,8",TripleForwardSlash:"m 0,8 l 4,-8 m -2,8 l 4,-8 m -2,8 l 4,-8", TripleBackSlash:"m 0,0 l 4,8 m -2,-8 l 4,8 m -2,-8 l 4,8",Fork:"m 0,4 l 8,0 m -8,0 l 8,-4 m -8,4 l 8,4",BackwardFork:"m 8,4 l -8,0 m 8,0 l -8,-4 m 8,4 l -8,4",LineFork:"m 0,0 l 0,8 m 0,-4 l 8,0 m -8,0 l 8,-4 m -8,4 l 8,4",BackwardLineFork:"m 8,4 l -8,0 m 8,0 l -8,-4 m 8,4 l -8,4 m 8,-8 l 0,8",CircleFork:"F1 m 6,4 b 0 360 -3 0 3 z m 0,0 l 6,0 m -6,0 l 6,-4 m -6,4 l 6,4",BackwardCircleFork:"F1 m 0,4 l 6,0 m -6,-4 l 6,4 m -6,4 l 6,-4 m 6,0 b 0 360 -3 0 3",CircleLineFork:"F1 m 6,4 b 0 360 -3 0 3 z m 1,-4 l 0,8 m 0,-4 l 6,0 m -6,0 l 6,-4 m -6,4 l 6,4", @@ -1412,572 +1472,580 @@ DoubleTriangle:"F1 m 0,0 l 4,4 -4,4 0,-8 z m 4,0 l 4,4 -4,4 0,-8 z",BigEndArrow TriangleLine:"F1 m 8,4 l -8,-4 0,8 8,-4 z m 0.5,4 l 0,-8",CircleEndedArrow:"F1 m 10,4 l -2,-3 0,2 -2,0 0,2 2,0 0,2 2,-3 z m -4,0 b 0 360 -3 0 3 z",DynamicWidthArrow:"F1 m 0,3 l 2,0 2,-1 2,-2 2,4 -2,4 -2,-2 -2,-1 -2,0 0,-2 z",EquilibriumArrow:"m 0,3 l 8,0 -3,-3 m 3,5 l -8,0 3,3",FastForward:"F1 m 0,0 l 3.5,4 0,-4 3.5,4 0,-4 1,0 0,8 -1,0 0,-4 -3.5,4 0,-4 -3.5,4 0,-8 z",Kite:"F1 m 0,4 l 2,-4 6,4 -6,4 -2,-4 z",HalfArrowTop:"F1 m 0,0 l 4,4 4,0 -8,-4 z m 0,8",HalfArrowBottom:"F1 m 0,8 l 4,-4 4,0 -8,4 z", OpposingDirectionDoubleArrow:"F1 m 0,4 l 2,-4 0,2 4,0 0,-2 2,4 -2,4 0,-2 -4,0 0,2 -2,-4 z",PartialDoubleTriangle:"F1 m 0,0 4,3 0,-3 4,4 -4,4 0,-3 -4,3 0,-8 z",LineCircle:"F1 m 0,0 l 0,8 m 7 -4 b 0 360 -3 0 3 z",DoubleLineCircle:"F1 m 0,0 l 0,8 m 2,-8 l 0,8 m 7 -4 b 0 360 -3 0 3 z",TripleLineCircle:"F1 m 0,0 l 0,8 m 2,-8 l 0,8 m 2,-8 l 0,8 m 7 -4 b 0 360 -3 0 3 z",CircleLine:"F1 m 6 4 b 0 360 -3 0 3 z m 1,-4 l 0,8",DiamondCircle:"F1 m 8,4 l -4,4 -4,-4 4,-4 4,4 m 8,0 b 0 360 -4 0 4 z",PlusCircle:"F1 m 8,4 b 0 360 -4 0 4 l -8 0 z m -4 -4 l 0 8", OpenRightTriangleTop:"m 8,0 l 0,4 -8,0 m 0,4",OpenRightTriangleBottom:"m 8,8 l 0,-4 -8,0",Line:"m 0,0 l 0,8",DoubleLine:"m 0,0 l 0,8 m 2,0 l 0,-8",TripleLine:"m 0,0 l 0,8 m 2,0 l 0,-8 m 2,0 l 0,8",PentagonArrow:"F1 m 8,4 l -4,-4 -4,0 0,8 4,0 4,-4 z"}; -function to(a){if(null!==bp){for(var b in bp){var c=$e(bp[b],!1);Jd[b]=c;b.toLowerCase()!==b&&(Jd[b.toLowerCase()]=b)}bp=null}b=Jd[a];if(void 0===b){b=a.toLowerCase();if("none"===b)return"None";b=Jd[b]}return"string"===typeof b?b:b instanceof ve?a:null} -function R(a){0===arguments.length?D.call(this):D.call(this,a);this.Q=311807;this.Kk=this.ei="";this.Yr=this.Vr=this.hs=this.dr=null;this.ks="";this.ci=this.js=this.om=null;this.Xr="";this.mo=null;this.Wr=Ed;this.Zr="";this.no=null;this.me="";this.lv=this.fq=this.vk=null;this.xi=(new z(NaN,NaN)).freeze();this.ir="";this.Pk=null;this.jr=rb;this.sr=nd;this.lr=od;this.yq=null;this.er=cp;this.qm=md;this.pm="gray";this.og=4;this.aC=-1;this.Ms=NaN;this.BF=new A;this.dm=null;this.Aj=NaN}v.Ja(R,D); -v.ea("Part",R);R.prototype.cloneProtected=function(a){D.prototype.cloneProtected.call(this,a);a.Q=this.Q&-4097|49152;a.ei=this.ei;a.Kk=this.Kk;a.dr=this.dr;a.hs=this.hs;a.Vr=this.Vr;a.Yr=this.Yr;a.ks=this.ks;a.js=this.js;a.ci=null;a.Xr=this.Xr;a.Wr=this.Wr.S();a.Zr=this.Zr;a.me=this.me;a.fq=this.fq;a.xi.assign(this.xi);a.ir=this.ir;a.jr=this.jr.S();a.sr=this.sr.S();a.lr=this.lr.S();a.yq=this.yq;a.er=this.er;a.qm=this.qm.S();a.pm=this.pm;a.og=this.og;a.Ms=this.Ms}; -R.prototype.Wh=function(a){D.prototype.Wh.call(this,a);a.rl();a.om=null;a.mo=null;a.no=null;a.Pk=null;a.dm=null};R.prototype.toString=function(){var a=v.af(Object.getPrototypeOf(this))+"#"+v.ld(this);null!==this.data&&(a+="("+Ef(this.data)+")");return a};R.LayoutNone=0;var nl;R.LayoutAdded=nl=1;var vl;R.LayoutRemoved=vl=2;R.LayoutShown=4;R.LayoutHidden=8;R.LayoutNodeSized=16;var Zl;R.LayoutGroupLayout=Zl=32;R.LayoutNodeReplaced=64;var cp;R.LayoutStandard=cp=nl|vl|28|Zl|64;R.LayoutAll=16777215; -R.prototype.Ym=function(a,b,c,d,e,f,h){var k=this.g;null!==k&&(a===Cf&&"elements"===b?e instanceof D?ol(e,function(a){ql(k,a);pl(k,a)}):e instanceof nk&&Ll(k,e):a===Df&&"elements"===b&&(e instanceof D?ol(e,function(a){ul(k,a);tl(k,a)}):e instanceof nk&&Ml(k,e)),k.Lc(a,b,c,d,e,f,h))};R.prototype.updateTargetBindings=R.prototype.Hb=function(a){D.prototype.Hb.call(this,a);if(null!==this.data){a=this.ya.n;for(var b=a.length,c=0;ch&&a.y>k&&a.righth&&b.y>k&&b.right=c.MH)){this.Q^=4096;var d=!1;if(null!==c){d=c.tb;c.tb=!0;var e=c.selection;e.Oa();a?e.add(this):e.remove(this);e.freeze()}this.h("isSelected",b,a);this.Nd();a=this.vI;null!==a&&a(this);null!==c&&(c.ue(),c.tb=d)}}}); -v.defineProperty(R,{hh:"isHighlighted"},function(){return 0!==(this.Q&524288)},function(a){var b=0!==(this.Q&524288);if(b!==a){this.Q^=524288;var c=this.g;null!==c&&(c=c.Om,c.Oa(),a?c.add(this):c.remove(this),c.freeze());this.h("isHighlighted",b,a);this.pa()}});v.defineProperty(R,{wl:"isShadowed"},function(){return 0!==(this.Q&8192)},function(a){var b=0!==(this.Q&8192);b!==a&&(this.Q^=8192,this.h("isShadowed",b,a),this.pa())});function gl(a){return 0!==(a.Q&32768)} -function ep(a,b){a.Q=b?a.Q|32768:a.Q&-32769}function Im(a,b){a.Q=b?a.Q|65536:a.Q&-65537}function Zj(a){return 0!==(a.Q&131072)}R.prototype.yf=function(a){this.Q=a?this.Q|131072:this.Q&-131073};function lp(a,b){a.Q=b?a.Q|1048576:a.Q&-1048577}v.defineProperty(R,{$D:"isAnimated"},function(){return 0!==(this.Q&262144)},function(a){var b=0!==(this.Q&262144);b!==a&&(this.Q^=262144,this.h("isAnimated",b,a))}); -v.defineProperty(R,{kA:"selectionObjectName"},function(){return this.ks},function(a){var b=this.ks;b!==a&&(this.ks=a,this.om=null,this.h("selectionObjectName",b,a))});v.defineProperty(R,{uI:"selectionAdornmentTemplate"},function(){return this.hs},function(a){var b=this.hs;b!==a&&(this instanceof W&&(a.type=Di),this.hs=a,this.h("selectionAdornmentTemplate",b,a))}); -v.u(R,{Wt:"selectionObject"},function(){if(null===this.om){var a=this.kA;null!==a&&""!==a?(a=this.be(a),this.om=null!==a?a:this):this instanceof W?(a=this.path,this.om=null!==a?a:this):this.om=this}return this.om});v.defineProperty(R,{vI:"selectionChanged"},function(){return this.js},function(a){var b=this.js;b!==a&&(null!==a&&v.j(a,"function",R,"selectionChanged"),this.js=a,this.h("selectionChanged",b,a))}); -v.defineProperty(R,{KE:"resizeAdornmentTemplate"},function(){return this.Vr},function(a){var b=this.Vr;b!==a&&(this.Vr=a,this.h("resizeAdornmentTemplate",b,a))});v.defineProperty(R,{ME:"resizeObjectName"},function(){return this.Xr},function(a){var b=this.Xr;b!==a&&(this.Xr=a,this.mo=null,this.h("resizeObjectName",b,a))});v.u(R,{LE:"resizeObject"},function(){if(null===this.mo){var a=this.ME;null!==a&&""!==a?(a=this.be(a),this.mo=null!==a?a:this):this.mo=this}return this.mo}); -v.defineProperty(R,{kI:"resizeCellSize"},function(){return this.Wr},function(a){var b=this.Wr;b.K(a)||(this.Wr=a=a.S(),this.h("resizeCellSize",b,a))});v.defineProperty(R,{nI:"rotateAdornmentTemplate"},function(){return this.Yr},function(a){var b=this.Yr;b!==a&&(this.Yr=a,this.h("rotateAdornmentTemplate",b,a))});v.defineProperty(R,{oI:"rotateObjectName"},function(){return this.Zr},function(a){var b=this.Zr;b!==a&&(this.Zr=a,this.no=null,this.h("rotateObjectName",b,a))}); -v.u(R,{OE:"rotateObject"},function(){if(null===this.no){var a=this.oI;null!==a&&""!==a?(a=this.be(a),this.no=null!==a?a:this):this.no=this}return this.no});v.defineProperty(R,{text:"text"},function(){return this.me},function(a){var b=this.me;b!==a&&(this.me=a,this.h("text",b,a))}); -v.defineProperty(R,{Sa:"containingGroup"},function(){return this.vk},function(a){if(this.Od()){var b=this.vk;if(b!==a){null===a||this!==a&&!a.Yh(this)||(this===a&&v.k("Cannot make a Group a member of itself: "+this.toString()),v.k("Cannot make a Group indirectly contain itself: "+this.toString()+" already contains "+a.toString()));this.H(vl);var c=this.g;null!==b?mp(b,this):this instanceof V&&null!==c&&c.Wk.remove(this);this.vk=a;null!==a?np(a,this):this instanceof V&&null!==c&&c.Wk.add(this);this.H(nl); -if(null!==c){var d=this.data,e=c.ba;null!==d&&e instanceof Q&&e.mx(d,e.gb(null!==a?a.data:null))}d=this.tD;null!==d&&(e=!0,null!==c&&(e=c.Ra,c.Ra=!0),d(this,b,a),null!==c&&(c.Ra=e));if(this instanceof V)for(c=new J(R),Ig(c,this,!0,0,!0),c=c.i;c.next();)if(d=c.value,d instanceof S)for(d=d.te;d.next();)Ol(d.value);if(this instanceof S)for(d=this.te;d.next();)Ol(d.value);this.h("containingGroup",b,a);null!==a&&(b=a.layer,null!==b&&ek(b,-1,a))}}else v.k("cannot set the Part.containingGroup of a Link or Adornment")}); -g=R.prototype;g.rl=function(){var a=this.Sa;null!==a&&(a.N(),null!==a.Gb&&a.Gb.N(),a.cf())};g.pa=function(){var a=this.g;null!==a&&!fl(this)&&!gl(this)&&this.isVisible()&&this.mc.G()&&a.pa(dk(this,this.mc))};g.qt=function(a){a||(a=this.vk,null!==a&&np(a,this))};g.rt=function(a){a||(a=this.vk,null!==a&&mp(a,this))};g.Jm=function(){var a=this.data;if(null!==a){var b=this.g;null!==b&&(b=b.ba,null!==b&&b.gx(a))}}; -v.defineProperty(R,{tD:"containingGroupChanged"},function(){return this.fq},function(a){var b=this.fq;b!==a&&(null!==a&&v.j(a,"function",R,"containingGroupChanged"),this.fq=a,this.h("containingGroupChanged",b,a))});R.prototype.findSubGraphLevel=function(){return op(this,this)};function op(a,b){var c=b.Sa;return null!==c?1+op(a,c):b instanceof S&&(c=b.fe,null!==c)?op(a,c):0}R.prototype.findTopLevelPart=function(){return pp(this,this)}; -function pp(a,b){var c=b.Sa;return null!==c?pp(a,c):b instanceof S&&(c=b.fe,null!==c)?pp(a,c):b}v.u(R,{fp:"isTopLevel"},function(){return null!==this.Sa||this instanceof S&&this.uf?!1:!0});R.prototype.isMemberOf=R.prototype.Yh=function(a){return a instanceof V?qp(this,this,a):!1};function qp(a,b,c){if(b===c||null===c)return!1;var d=b.Sa;return null===d||d!==c&&!qp(a,d,c)?b instanceof S&&(b=b.fe,null!==b)?qp(a,b,c):!1:!0} -R.prototype.findCommonContainingGroup=R.prototype.NG=function(a){if(null===a)return null;if(this===a)return this.Sa;for(var b=this;null!==b;)b instanceof V&&lp(b,!0),b=b.Sa;for(var c=null,b=a;null!==b;){if(0!==(b.Q&1048576)){c=b;break}b=b.Sa}for(b=this;null!==b;)b instanceof V&&lp(b,!1),b=b.Sa;return c};v.defineProperty(R,{BH:"layoutConditions"},function(){return this.er},function(a){var b=this.er;b!==a&&(this.er=a,this.h("layoutConditions",b,a))}); -R.prototype.canLayout=function(){if(!this.jE||!this.isVisible())return!1;var a=this.layer;return null!==a&&a.Gc||this instanceof S&&this.uf?!1:!0};R.prototype.invalidateLayout=R.prototype.H=function(a){void 0===a&&(a=16777215);var b;this.jE&&0!==(a&this.BH)?(b=this.layer,null!==b&&b.Gc||this instanceof S&&this.uf?b=!1:(b=this.g,b=null!==b&&b.la.ib?!1:!0)):b=!1;if(b)if(b=this.vk,null!==b){var c=b.Pb;null!==c?c.H():b.H(a)}else a=this.g,null!==a&&(c=a.Pb,null!==c&&c.H())}; -function sl(a){if(!a.isVisible())return!1;a=a.layer;return null!==a&&a.Gc?!1:!0}v.defineProperty(R,{ED:"dragComputation"},function(){return this.yq},function(a){var b=this.yq;b!==a&&(null!==a&&v.j(a,"function",R,"dragComputation"),this.yq=a,this.h("dragComputation",b,a))});v.defineProperty(R,{zI:"shadowOffset"},function(){return this.qm},function(a){var b=this.qm;b.K(a)||(this.qm=a=a.S(),this.pa(),this.h("shadowOffset",b,a))}); -v.defineProperty(R,{shadowColor:"shadowColor"},function(){return this.pm},function(a){var b=this.pm;b!==a&&(this.pm=a,this.pa(),this.h("shadowColor",b,a))});v.defineProperty(R,{shadowBlur:"shadowBlur"},function(){return this.og},function(a){var b=this.og;b!==a&&(this.og=a,this.pa(),this.h("shadowBlur",b,a))});function Vg(a){0===arguments.length?R.call(this,Xi):R.call(this,a);this.Q&=-257;this.Kk="Adornment";this.Gb=this.Mg=this.Db=null}v.Ja(Vg,R);v.ea("Adornment",Vg); -Vg.prototype.toString=function(){var a=this.Mf;return"Adornment("+this.fc+")"+(null!==a?a.toString():"")};Vg.prototype.updateRelationshipsFromData=function(){};Vg.prototype.Tm=function(a){var b=this.Zb.Y,c=this.Zb;if(b instanceof W&&c instanceof Y){var d=b.path,c=d.fh;b.Tm(a);c=d.fh;a=this.ya.n;b=a.length;for(d=0;da&&(a=1);var b=this.g;if(null!==b&&!b.gh){b.gh=!0;var c=new J(S);c.add(this);Cp(this,c,b.Pd,a,b.Na,this,b.yA===kk);b.gh=!1}}; -function Cp(a,b,c,d,e,f,h){if(1a&&(a=2);var b=this.g;if(null!==b&&!b.gh){b.gh=!0;var c=new J(S);c.add(this);Ep(this,c,b.Pd,a,b.Na,this,b.yA===kk);b.gh=!1}};function Ep(a,b,c,d,e,f,h){for(var k=f===a?!1:a.md,l=c?a.Bw():a.wg();l.next();){var m=l.value;m.Hc&&(k||m.rg||m.ic(),m=m.xz(a),null!==m&&m!==a&&!b.contains(m)&&(b.add(m),k||(m.nd(!0),m.rl(),h&&Vj(e,m,f)),2a&&(a-=180);break;case Yn:a=re(c+90);90a&&(a-=180);break;case $n:a=re(c-90);90a&&(a-=180);break;case ao:a=re(c);if(45a||225a)return 0;90a&&(a-=180)}return re(a)}; -v.defineProperty(W,{T:"fromNode"},function(){return this.eg},function(a){var b=this.eg;if(b!==a){var c=this.kd;null!==b&&(this.qg!==b&&zp(b,this,c),Ip(this),this.H(vl));this.eg=a;null!==a&&this.nd(a.isVisible());this.qi=null;this.ic();var d=this.g;if(null!==d){var e=this.data,f=d.ba;if(null!==e)if(f instanceof Q){var h=null!==a?a.data:null;f.lx(e,f.gb(h))}else f instanceof Qf&&(h=null!==a?a.data:null,d.Pd?f.qh(e,f.gb(h)):(null!==b&&f.qh(b.data,void 0),f.qh(h,f.gb(null!==this.qg?this.qg.data:null))))}e= -this.kd;f=this.PD;null!==f&&(h=!0,null!==d&&(h=d.Ra,d.Ra=!0),f(this,c,e),null!==d&&(d.Ra=h));null!==a&&(this.qg!==a&&yp(a,this,e),Jp(this),this.H(nl));this.h("fromNode",b,a);Ol(this)}}); -v.defineProperty(W,{xg:"fromPortId"},function(){return this.Bh},function(a){var b=this.Bh;if(b!==a){var c=this.kd;null!==c&&xp(this.T,c);Ip(this);this.Bh=a;var d=this.kd;null!==d&&xp(this.T,d);var e=this.g;if(null!==e){var f=this.data,h=e.ba;null!==f&&h instanceof Q&&h.mA(f,a)}c!==d&&(this.qi=null,this.ic(),f=this.PD,null!==f&&(h=!0,null!==e&&(h=e.Ra,e.Ra=!0),f(this,c,d),null!==e&&(e.Ra=h)));Jp(this);this.h("fromPortId",b,a)}});v.u(W,{kd:"fromPort"},function(){var a=this.eg;return null===a?null:a.ll(this.Bh)}); -v.defineProperty(W,{PD:"fromPortChanged"},function(){return this.Gq},function(a){var b=this.Gq;b!==a&&(null!==a&&v.j(a,"function",W,"fromPortChanged"),this.Gq=a,this.h("fromPortChanged",b,a))}); -v.defineProperty(W,{Z:"toNode"},function(){return this.qg},function(a){var b=this.qg;if(b!==a){var c=this.Sd;null!==b&&(this.eg!==b&&zp(b,this,c),Ip(this),this.H(vl));this.qg=a;null!==a&&this.nd(a.isVisible());this.qi=null;this.ic();var d=this.g;if(null!==d){var e=this.data,f=d.ba;if(null!==e)if(f instanceof Q){var h=null!==a?a.data:null;f.px(e,f.gb(h))}else f instanceof Qf&&(h=null!==a?a.data:null,d.Pd?(null!==b&&f.qh(b.data,void 0),f.qh(h,f.gb(null!==this.eg?this.eg.data:null))):f.qh(e,f.gb(h)))}e= -this.Sd;f=this.gF;null!==f&&(h=!0,null!==d&&(h=d.Ra,d.Ra=!0),f(this,c,e),null!==d&&(d.Ra=h));null!==a&&(this.eg!==a&&yp(a,this,e),Jp(this),this.H(nl));this.h("toNode",b,a);Ol(this)}}); -v.defineProperty(W,{sh:"toPortId"},function(){return this.Sh},function(a){var b=this.Sh;if(b!==a){var c=this.Sd;null!==c&&xp(this.Z,c);Ip(this);this.Sh=a;var d=this.Sd;null!==d&&xp(this.Z,d);var e=this.g;if(null!==e){var f=this.data,h=e.ba;null!==f&&h instanceof Q&&h.pA(f,a)}c!==d&&(this.qi=null,this.ic(),f=this.gF,null!==f&&(h=!0,null!==e&&(h=e.Ra,e.Ra=!0),f(this,c,d),null!==e&&(e.Ra=h)));Jp(this);this.h("toPortId",b,a)}});v.u(W,{Sd:"toPort"},function(){var a=this.qg;return null===a?null:a.ll(this.Sh)}); -v.defineProperty(W,{gF:"toPortChanged"},function(){return this.Ds},function(a){var b=this.Ds;b!==a&&(null!==a&&v.j(a,"function",W,"toPortChanged"),this.Ds=a,this.h("toPortChanged",b,a))});v.defineProperty(W,{xb:"fromSpot"},function(){return null!==this.ga?this.ga.qj:fc},function(a){this.Me();var b=this.ga.qj;b.K(a)||(a=a.S(),this.ga.qj=a,this.h("fromSpot",b,a),this.ic())}); -v.defineProperty(W,{nl:"fromEndSegmentLength"},function(){return null!==this.ga?this.ga.oj:NaN},function(a){this.Me();var b=this.ga.oj;b!==a&&(0>a&&v.va(a,">= 0",W,"fromEndSegmentLength"),this.ga.oj=a,this.h("fromEndSegmentLength",b,a),this.ic())});v.defineProperty(W,{lt:"fromEndSegmentDirection"},function(){return null!==this.ga?this.ga.nj:sp},function(a){this.Me();var b=this.ga.nj;b!==a&&(this.ga.nj=a,this.h("fromEndSegmentDirection",b,a),this.ic())}); -v.defineProperty(W,{mt:"fromShortLength"},function(){return null!==this.ga?this.ga.pj:NaN},function(a){this.Me();var b=this.ga.pj;b!==a&&(this.ga.pj=a,this.h("fromShortLength",b,a),this.ic())});v.defineProperty(W,{yb:"toSpot"},function(){return null!==this.ga?this.ga.Rj:fc},function(a){this.Me();var b=this.ga.Rj;b.K(a)||(a=a.S(),this.ga.Rj=a,this.h("toSpot",b,a),this.ic())}); -v.defineProperty(W,{Gl:"toEndSegmentLength"},function(){return null!==this.ga?this.ga.Pj:NaN},function(a){this.Me();var b=this.ga.Pj;b!==a&&(0>a&&v.va(a,">= 0",W,"toEndSegmentLength"),this.ga.Pj=a,this.h("toEndSegmentLength",b,a),this.ic())});v.defineProperty(W,{eu:"toEndSegmentDirection"},function(){return null!==this.ga?this.ga.Oj:sp},function(a){this.Me();var b=this.ga.Oj;b!==a&&(this.ga.Oj=a,this.h("toEndSegmentDirection",b,a),this.ic())}); -v.defineProperty(W,{fu:"toShortLength"},function(){return null!==this.ga?this.ga.Qj:NaN},function(a){this.Me();var b=this.ga.Qj;b!==a&&(this.ga.Qj=a,this.h("toShortLength",b,a),this.ic())});function Ol(a){var b=a.T,c=a.Z;null!==b?null!==c?Kp(a,b.NG(c)):Kp(a,null):Kp(a,null)}function Kp(a,b){var c=a.vk;if(c!==b){null!==c&&mp(c,a);a.vk=b;null!==b&&np(b,a);var d=a.tD;if(null!==d){var e=!0,f=a.g;null!==f&&(e=f.Ra,f.Ra=!0);d(a,c,b);null!==f&&(f.Ra=e)}!a.rg||a.IC!==c&&a.KC!==c||a.ic()}} -W.prototype.rl=function(){var a=this.Sa;null!==a&&this.T!==a&&this.Z!==a&&a.qw&&R.prototype.rl.call(this)};W.prototype.getOtherNode=W.prototype.xz=function(a){var b=this.T;return a===b?this.Z:b};W.prototype.getOtherPort=function(a){var b=this.kd;return a===b?this.Sd:b};v.u(W,{UJ:"isLabeledLink"},function(){return null===this.Ce?!1:0=d&&(h=d-1);var l=this.l(h-1),f=this.l(h);Yd(e.x,e.y,k.x,k.y,l.x,l.y,f.x,f.y,.5,a);b=Math.min(f.x,b);c=Math.min(f.y,c);e=f}else for(e=this.l(0),f=this.l(1),b=Math.min(e.x,f.x),c=Math.min(e.y,f.y),a.m(e.x,e.y,0,0),a.fj(f),h=2;hc&&(c=-c)):Hc(c.y,d.y)?(c=d.x-c.x,0>c&&(c=-c)):c=Math.sqrt(c.rf(d)),f.push(c),e+=c;for(d=h=c=0;ce/2)break;c+=d;h++}v.sa(f);b=this.l(h);f=this.l(h+1);b.x===f.x?b.y>f.y?a.m(b.x,b.y-(e/2-c)):a.m(b.x,b.y+(e/2-c)):b.y===f.y?b.x>f.x?a.m(b.x-(e/2-c),b.y):a.m(b.x+(e/2-c),b.y):(c=(e/2-c)/d,a.m(b.x+c*(f.x-b.x),b.y+c*(f.y-b.y)));return a};v.u(W,{tE:"midAngle"},function(){this.en();return this.computeMidAngle()}); -W.prototype.computeMidAngle=function(){var a=this.oa;if(2>a)return NaN;if(this.computeCurve()===Ni&&4<=a&&!this.jc){var b=(a-1)/3|0,c=3*(b/2|0);if(1===b%2){var c=Math.floor(c),b=this.l(c),d=this.l(c+1),a=this.l(c+2),c=this.l(c+3),e=d.x,d=d.y,f=a.x,a=a.y,h=(e+f)/2,k=(d+a)/2;return Va(((b.x+e)/2+h)/2,((b.y+d)/2+k)/2,(h+(f+c.x)/2)/2,(k+(a+c.y)/2)/2)}if(0e+10))?e>c+10?d.xc(a):b.xc(a):b.xc(d);b=this.l(c-1);d=this.l(c);a=this.l(c+1);c=b.rf(d);e=d.rf(a);return c>e+10?b.xc(d):e>c+10?d.xc(a):b.xc(a)}; -v.defineProperty(W,{points:"points"},function(){return this.Zc},function(a){var b=this.Zc;if(b!==a){var c=null;if(Array.isArray(a)){var d=0===a.length%2;if(d)for(var e=0;ep&&(t-=180));0>t?t+=360:360<=t&&(t-=360);k&&(u+=Math.abs(p));0===t?r=u:90===t?s=u:180===t?r=-u:270===t?s=-u:(r=u*Math.cos(t*Math.PI/180),s=u*Math.sin(t*Math.PI/180));if(f.se()&&k){var x=c.Xa(zb,v.L()),w=v.Mb(x.x+1E3*r,x.y+1E3*s);this.getLinkPointFromPoint(b,c,x,w,!0,q);v.v(x); -v.v(w)}}var u=this.getLinkPoint(d,e,h,!1,l,b,c),y=0,B=0,H=0;if(l||h!==qb||k)x=this.computeEndSegmentLength(d,e,h,!1),H=this.getLinkDirection(d,e,u,h,!1,l,b,c),k&&(H+=l?0:30,0>p&&(H+=180)),0>H?H+=360:360<=H&&(H-=360),k&&(x+=Math.abs(p)),0===H?y=x:90===H?B=x:180===H?y=-x:270===H?B=-x:(y=x*Math.cos(H*Math.PI/180),B=x*Math.sin(H*Math.PI/180)),h.se()&&k&&(x=e.Xa(zb,v.L()),w=v.Mb(x.x+1E3*y,x.y+1E3*B),this.getLinkPointFromPoint(d,e,x,w,!1,u),v.v(x),v.v(w));e=q;if(l||f!==qb||k)e=new z(q.x+r,q.y+s);c=u;if(l|| -h!==qb||k)c=new z(u.x+y,u.y+B);!n&&!l&&f===qb&&3k&&(m=-m),r=(0>h?-1:1)*m+q,s=l*(r-q)+t),q=a.x+2*f/3,t=a.y+2*h/3,u=q,y=t,K(h,0)?y=0h?-1:1)*m+q,y=l*(u- -q)+t),this.Mo(),this.Th(a),this.$k(r,s),this.$k(u,y),this.Th(n),this.zf(0,this.getLinkPoint(b,c,qb,!0,!1,d,e)),this.zf(3,this.getLinkPoint(d,e,qb,!1,!1,b,c))):(a=d,d=this.getLinkPoint(b,c,qb,!0,!1,a,e),e=this.getLinkPoint(a,e,qb,!1,!1,b,c),this.hasCurviness()?(h=e.x-d.x,b=e.y-d.y,c=this.computeCurviness(),a=d.x+h/2,n=d.y+b/2,f=a,k=n,K(b,0)?k=0c&&(f=-f),f=(0>b?-1:1)*f+a,k=h*(f-a)+n),this.Th(d),this.$k(f,k)):this.Th(d),this.Th(e)));return!0}; -function Qp(a,b){Math.abs(b.x-a.x)>Math.abs(b.y-a.y)?(b.x=b.x>=a.x?a.x+9E9:a.x-9E9,b.y=a.y):(b.y=b.y>=a.y?a.y+9E9:a.y-9E9,b.x=a.x);return b} -W.prototype.getLinkPointFromPoint=function(a,b,c,d,e,f){void 0===f&&(f=new z);if(null===a||null===b)return f.assign(c),f;a.isVisible()||(e=a.findVisibleNode(),null!==e&&e!==a&&(b=e.port));var h=e=0,k=0,l=0;a=null;e=b.R;null===e||e.Lg()||(e=e.R);if(null===e)e=d.x,h=d.y,k=c.x,l=c.y;else{a=e.Zg;e=1/(a.m11*a.m22-a.m12*a.m21);var k=a.m22*e,l=-a.m12*e,m=-a.m21*e,n=a.m11*e,p=e*(a.m21*a.dy-a.m22*a.dx),q=e*(a.m12*a.dx-a.m11*a.dy);e=d.x*k+d.y*m+p;h=d.x*l+d.y*n+q;k=c.x*k+c.y*m+p;l=c.x*l+c.y*n+q}b.Zo(e,h,k,l, -f);null!==a&&f.transform(a);return f};function Rp(a,b){var c=b.Mr;null===c&&(c=new Sp,c.port=b,c.Jc=b.Y,b.Mr=c);return Tp(c,a)} -W.prototype.getLinkPoint=function(a,b,c,d,e,f,h,k){void 0===k&&(k=new z);if(c.bd())return b.Xa(c,k),k;if(c.Wi()&&(c=Rp(this,b),null!==c)){k.assign(c.jp);if(e&&this.ix===Fp){var l=Rp(this,h);if(null!==l&&c.Hm=m.x&&a.x<=m.x+m.width?k.x=a.x:a.y>=m.y&&a.y<=m.y+m.height&&(k.y=a.y);v.v(c);v.v(l)}}return k}f=b.Xa(zb,v.L());l=c=null;this.oa>(e?6:2)?(l=d?this.l(1):this.l(this.oa-2),e&& -(l=Qp(f,l.copy()))):(c=v.L(),l=h.Xa(zb,c),e&&(l=Qp(f,l)),v.v(c));this.getLinkPointFromPoint(a,b,f,l,d,k);v.v(f);return k}; -W.prototype.getLinkDirection=function(a,b,c,d,e,f,h,k){a:if(d.bd())c=d.x>d.y?d.x>1-d.y?0:d.x<1-d.y?270:315:d.x1-d.y?90:d.x<1-d.y?180:135:.5>d.x?225:.5(f?6:2)?(n=e?this.l(1):this.l(this.oa-2),n=f?Qp(l,n.copy()):c):(m=v.L(),n=k.Xa(zb,m),v.v(m));c=0;c=Math.abs(n.x-l.x)>Math.abs(n.y- -l.y)?n.x>=l.x?0:180:n.y>=l.y?90:270;v.v(l)}d.se()&&h.Yh(a)&&(c+=180,360<=c&&(c-=360));a=sp;a=e?this.lt:this.eu;a===sp&&(a=e?b.lt:b.eu);switch(a){case tp:b=b.ol();c+=b;360<=c&&(c-=360);break;case sp:case zm:b=b.ol();if(0===b)break;45<=b&&135>b?c+=90:135<=b&&225>b?c+=180:225<=b&&315>b&&(c+=270);360<=c&&(c-=360)}return c}; -W.prototype.computeEndSegmentLength=function(a,b,c,d){if(null!==b&&c.Wi()&&(a=Rp(this,b),null!==a))return a.xw;a=NaN;a=d?this.nl:this.Gl;null!==b&&isNaN(a)&&(a=d?b.nl:b.Gl);isNaN(a)&&(a=10);return a};W.prototype.computeSpot=function(a){return a?Op(this,this.kd):Pp(this,this.Sd)};function Op(a,b){if(null===b)return zb;var c=a.xb;c.Uc()&&(void 0===b&&(b=a.kd),null!==b&&(c=b.xb));return c===fc?qb:c} -function Pp(a,b){if(null===b)return zb;var c=a.yb;c.Uc()&&(void 0===b&&(b=a.Sd),null!==b&&(c=b.yb));return c===fc?qb:c}W.prototype.computeOtherPoint=function(a,b){var c=b.Xa(zb),d;d=b.Mr;d=null!==d?Tp(d,this):null;null!==d&&(c=d.jp);return c};W.prototype.computeShortLength=function(a){return a?Up(this):Vp(this)};function Up(a){var b=a.mt;isNaN(b)&&(a=a.kd,null!==a&&(b=a.mt));return isNaN(b)?0:b}function Vp(a){var b=a.fu;isNaN(b)&&(a=a.Sd,null!==a&&(b=a.fu));return isNaN(b)?0:b} -W.prototype.Zj=function(a,b,c,d,e,f){if(!1===this.Hg)return!1;void 0===b&&(b=null);void 0===c&&(c=null);var h=f;void 0===f&&(h=v.rh(),h.reset());h.multiply(this.transform);if(this.Em(a,h))return io(this,b,c,e),void 0===f&&v.$e(h),!0;if(this.yg(a,h)){var k=!1;if(!this.Qg)for(var l=this.ya.n,m=l.length;m--;){var n=l[m];if(n.visible||n===this.bc){var p=n.U,q=this.Ha;if(!(p.x>q.width||p.y>q.height||0>p.x+p.width||0>p.y+p.height)){p=v.rh();p.set(h);if(n instanceof D)k=n.Zj(a,b,c,d,e,p);else if(this.path=== -n){var k=n,r=a,s=d,q=p;if(!1===k.Hg)k=!1;else if(q.multiply(k.transform),s)b:{var t=r,u=q;if(k.Em(t,u))k=!0;else{if(void 0===u&&(u=k.transform,t.Xj(k.U))){k=!0;break b}var q=t.left,r=t.right,s=t.top,t=t.bottom,x=v.L(),w=v.L(),y=v.L(),B=v.rh();B.set(u);B.wE(k.transform);B.Cz();w.x=r;w.y=s;w.transform(B);x.x=q;x.y=s;x.transform(B);u=!1;so(k,x,w,y)?u=!0:(x.x=r,x.y=t,x.transform(B),so(k,x,w,y)?u=!0:(w.x=q,w.y=t,w.transform(B),so(k,x,w,y)?u=!0:(x.x=q,x.y=s,x.transform(B),so(k,x,w,y)&&(u=!0))));v.$e(B); -v.v(x);v.v(w);v.v(y);k=u}}else k=k.Em(r,q)}else k=Em(n,a,d,p);k&&(null!==b&&(n=b(n)),n&&(null===c||c(n))&&e.add(n));v.$e(p)}}}void 0===f&&v.$e(h);return k||null!==this.background||null!==this.zm}void 0===f&&v.$e(h);return!1};v.u(W,{jc:"isOrthogonal"},function(){return 2===(this.km.value&2)});v.u(W,{sl:"isAvoiding"},function(){return 4===(this.km.value&4)});W.prototype.computeCurve=function(){if(null===this.qi){var a=this.kd,b=this.jc;this.qi=null!==a&&a===this.Sd&&!b}return this.qi?Ni:this.Ke}; -W.prototype.computeCorner=function(){if(this.Ke===Ni)return 0;var a=this.jz;if(isNaN(a)||0>a)a=10;return a};W.prototype.findMidLabel=function(){for(var a=this.path,b=this.ya.n,c=b.length,d=0;dl?-Math.PI/2:Math.PI/2:(n=Math.atan(l/Math.abs(k)),0>k&&(n=Math.PI-n));var h=b.x,p=b.y,l=d.x-h,q=d.y-p,r=Math.sqrt(l*l+q*q),k=0;Hc(l,0)?k=0>q?-Math.PI/2:Math.PI/2:(k=Math.atan(q/Math.abs(l)),0>l&&(k=Math.PI-k));m=r/m;n=k-n;this.zf(a,b);for(a+= -1;al?-Math.PI/2:Math.PI/2:(q=Math.atan(l/Math.abs(k)),0>k&&(q=Math.PI-q)),k=q+n,b*=m,this.V(a,h+b*Math.cos(k),p+b*Math.sin(k)));this.zf(c,d)}}return!0;case fn:f=this.l(a);p=this.l(c);if(!f.Fc(b)||!p.Fc(d)){var e=f.x,f=f.y,h=p.x,p=p.y,m=(h-e)*(h-e)+(p-f)*(p-f),k=b.x,n=b.y,l=d.x,q=d.y,r=0,s=1;0!==l-k?(r=(q-n)/(l-k),s=Math.sqrt(1+1/(r*r))):r=9E9;this.zf(a,b);for(a+=1;ab?0:45<=b&&135>b?90:135<=b&&225>b?180:270;d=-45<=d&&45>d?0:45<=d&&135>d?90:135<=d&&225>d?180:270;var h=e.U.copy(),k=f.U.copy();if(h.G()&&k.G()){h.Qf(8,8);k.Qf(8,8);h.fj(a);k.fj(c);var l,m;if(0===b)if(c.x>a.x||270===d&&c.ya.x||90===d&&c.y>a.y&&k.right>a.x)l=new z(c.x,a.y),m=new z(c.x,(a.y+c.y)/2),180===d?(l.x=this.computeMidOrthoPosition(a.x,c.x,!1),m.x=l.x,m.y=c.y):270===d&&c.ya.y?(l.x=a.xk.bottom)?this.computeMidOrthoPosition(a.x,c.x,!1):k.right,m.x=l.x,m.y=c.y):0===d&&a.xk.top&&a.yh.bottom)180===d&&(k.Fa(a)||h.Fa(c))?l.y=this.computeMidOrthoPosition(a.y,c.y,!0):c.ya.y&&(180===d||270===d)&&(l.y=this.computeMidOrthoPosition(h.bottom,Math.min(c.y,k.top),!0)),m.x=c.x,m.y=l.y;if(l.y>h.top&&l.y=h.left&&c.x<=a.x||a.x<=k.right&&a.x>=c.x){if(90===d||270===d)l=new z(Math.max((a.x+c.x)/2,a.x),a.y),m=new z(l.x,c.y)}else l.y=270===d||(0===d||180===d)&&c.ya.y&&k.lefta.y?(l.x=a.x>k.right?this.computeMidOrthoPosition(a.x,k.right,!1):a.x>k.left&&(270===d&&a.yk.bottom)?this.computeMidOrthoPosition(a.x,c.x,!1):k.left,m.x=l.x,m.y=c.y):180===d&&a.x>k.right&&a.y>k.top&&a.yh.bottom)0===d&&(k.Fa(a)||h.Fa(c))?l.y=this.computeMidOrthoPosition(a.y,c.y,!0):c.ya.y&&(0===d||270===d)&&(l.y=this.computeMidOrthoPosition(h.bottom,Math.min(c.y,k.top),!0)),m.x=c.x,m.y=l.y;if(l.y>h.top&&l.y=a.x||a.x>=k.left&&a.x<=c.x){if(90===d||270===d)l=new z(Math.min((a.x+c.x)/2,a.x),a.y),m=new z(l.x,c.y)}else l.y=270=== -d||(0===d||180===d)&&c.ya.y||180===d&&c.xa.y||0===d&&c.x>a.x&&k.bottom>a.y)l=new z(a.x,c.y),m=new z((a.x+c.x)/2,c.y),270===d?(l.y=this.computeMidOrthoPosition(a.y,c.y,!0),m.x=c.x,m.y=l.y):180===d&&c.xa.x?(l.y=a.yk.right)? -this.computeMidOrthoPosition(a.y,c.y,!0):k.bottom,m.x=c.x,m.y=l.y):90===d&&a.yk.left&&a.xh.right)270===d&&(k.Fa(a)||h.Fa(c))?l.x=this.computeMidOrthoPosition(a.x,c.x,!1):c.xa.x&&(270===d||180===d)&&(l.x=this.computeMidOrthoPosition(h.right, -Math.min(c.x,k.left),!1)),m.x=l.x,m.y=c.y;if(l.x>h.left&&l.x=h.top&&c.y<=a.y||a.y<=k.bottom&&a.y>=c.y){if(0===d||180===d)l=new z(a.x,Math.max((a.y+c.y)/2,a.y)),m=new z(c.x,l.y)}else l.x=180===d||(90===d||270===d)&&c.xa.x&&k.top=a.x?(l.y=a.y>k.bottom?this.computeMidOrthoPosition(a.y,k.bottom,!0):a.y>k.top&&(180===d&&a.xk.right)?this.computeMidOrthoPosition(a.y,c.y,!0):k.top,m.x=c.x,m.y=l.y):270===d&&a.y>k.bottom&&a.x>k.left&&a.xh.right)90===d&&(k.Fa(a)||h.Fa(c))?l.x=this.computeMidOrthoPosition(a.x, -c.x,!1):c.xa.x&&(90===d||180===d)&&(l.x=this.computeMidOrthoPosition(h.right,Math.min(c.x,k.left),!1)),m.x=l.x,m.y=c.y;if(l.x>h.left&&l.x=a.y||a.y>=k.top&&a.y<=c.y){if(0===d||180===d)l=new z(a.x,Math.min((a.y+c.y)/2,a.y)),m=new z(c.x,l.y)}else l.x=180===d||(90===d||270===d)&&c.xk&&0!==Xp(e,c.x,c.y)){Yp(this,e,c.x,c.y,d,!0);d=this.l(2);if(4>this.oa)0===b||180===b?(d.x=a.x,d.y=c.y):(d.x=c.x,d.y=a.y),this.V(2,d.x,d.y),this.w(3,d.x,d.y);else if(c=this.l(3),0===b|| -180===b)K(d.x,c.x)?(b=0===b?Math.max(d.x,a.x):Math.min(d.x,a.x),this.V(2,b,a.y),this.V(3,b,c.y)):K(d.y,c.y)?(Math.abs(a.y-d.y)<=e.Jo/2&&(this.V(2,d.x,a.y),this.V(3,c.x,a.y)),this.w(2,d.x,a.y)):this.V(2,a.x,d.y);else if(90===b||270===b)K(d.y,c.y)?(b=90===b?Math.max(d.y,a.y):Math.min(d.y,a.y),this.V(2,a.x,b),this.V(3,c.x,b)):K(d.x,c.x)?(Math.abs(a.x-d.x)<=e.Lo/2&&(this.V(2,a.x,d.y),this.V(3,a.x,c.y)),this.w(2,a.x,d.y)):this.V(2,d.x,a.y);a=!0}else a=!1}else a=!1;a||(this.Th(l),this.Th(m))}}; -W.prototype.computeMidOrthoPosition=function(a,b){if(this.hasCurviness()){var c=this.computeCurviness();return(a+b)/2+c}return(a+b)/2};function Oh(a){if(null===a.g||!a.sl)return!1;var b=a.points.n,c=b.length;if(4>c)return!1;a=bm(a.g,!0,a.Sa,null);for(var d=1;da){var b=new ve(Fe),c=new Ge(0,0);b.Ub.add(c);return b}var d=!1,b=this.g;null!==b&&Lp(this)&&b.yk.contains(this)&&null!==this.Hv&&(d=!0);var c=b=0,e=this.l(0).copy(),f=e.copy(),b=this.Zc.n,h=this.computeCurve();if(h===Ni&&3<=a&&!Hc(this.Hp,0))if(3===a)var k=this.l(1),b=Math.min(e.x,k.x),c=Math.min(e.y,k.y),k=this.l(2),b=Math.min(b,k.x),c=Math.min(c,k.y);else{if(this.jc)for(k=0;k=a&&(k=a-1),b=this.l(k),f.x=Math.min(b.x,f.x),f.y=Math.min(b.y,f.y);b=f.x;c=f.y}else{for(k=0;kx?r>q?(t.x=w-B,t.y=q-B,u.x=w+s,u.y=q+s):(t.x=w-B,t.y=q+B,u.x=w+s,u.y=q-s):r>q?(t.x=w+B,t.y=q-B,u.x=w-s,u.y=q+s):(t.x=w+B,t.y=q+B,u.x=w-s,u.y=q-s));Hc(x,w)&&Hc(q,r)&&(q>p?(y>w?(t.x= -w-B,t.y=q-B,u.x=w+s):(t.x=w+B,t.y=q-B,u.x=w-s),u.y=q+s):(y>w?(t.x=w-B,t.y=q+B,u.x=w+s):(t.x=w+B,t.y=q+B,u.x=w-s),u.y=q-s));if(Hc(x,w)&&Hc(w,y)||Hc(p,q)&&Hc(q,r))x=.5*(x+y),p=.5*(p+r),t.x=x,t.y=p,u.x=x,u.y=p;1===k?(e.x=.5*(d.x+m.x),e.y=.5*(d.y+m.y)):2===k&&Hc(d.x,this.l(0).x)&&Hc(d.y,this.l(0).y)&&(e.x=.5*(d.x+m.x),e.y=.5*(d.y+m.y));O(l,e.x-b,e.y-c,h.x-b,h.y-c,m.x-b,m.y-c);f.set(h);e.set(a);d=m}}k=d.x;d=d.y;f=this.l(this.oa-1);k=.5*(k+f.x);d=.5*(d+f.y);O(l,a.x-b,a.y-c,k-b,d-c,f.x-b,f.y-c)}else for(k= -3;k=a&&(k=a-1),f=this.l(k-1),e=this.l(k),k===a-1&&0!==Vp(this)&&(e=e.copy(),Zp(this,e,!1,ad)),O(l,d.x-b,d.y-c,f.x-b,f.y-c,e.x-b,e.y-c);else{f=v.L();f.assign(this.l(0));for(k=1;k=a-1){f!==t&&(0!==Vp(this)&&(t=t.copy(),Zp(this,t,!1,ad)),bq(this,l,-b,-c,f,t,d));break}k=$p(this,t,k+1,kn.x?t.x-s:t.x+s,B=u.y>t.y?t.y+w:t.y-w,bq(this,e,h,m,n,new z(q,y),p),af(e,t.x+h,t.y+m,r+h,B+m),x.m(r,B))):K(n.x,t.x)&&K(t.y,u.y)?(s=this.computeCorner(),w=Math.min(s,Math.abs(t.y-n.y)/2),w=s=Math.min(w,Math.abs(u.x-t.x)/2),K(s,0)?(bq(this,e,h,m,n,t,p),x.assign(t)):(q=t.x,B=y=t.y,y=t.y>n.y?t.y-w:t.y+w,r=u.x>t.x?t.x+s:t.x-s,bq(this,e,h,m,n,new z(q,y),p),af(e,t.x+h,t.y+m,r+h,B+m),x.m(r,B))):(bq(this,e,h,m,n,t,p),x.assign(t))}v.v(f)}b= -l.o;v.q(l)}else l=this.l(1).copy(),l.x-=b,l.y-=c,0!==Up(this)&&Zp(this,e,!0,f),0!==Vp(this)&&Zp(this,l,!1,f),b=new ve(Ie),b.Aa=e.x,b.xa=e.y,b.I=l.x,b.J=l.y;return b};function aq(a,b,c,d){a=c-a;if(isNaN(a)||Infinity===a||-Infinity===a)return NaN;0>a&&(a=-a);b=d-b;if(isNaN(b)||Infinity===b||-Infinity===b)return NaN;0>b&&(b=-b);return Hc(a,0)?b:Hc(b,0)?a:Math.sqrt(a*a+b*b)} -function Zp(a,b,c,d){var e=a.oa;if(!(2>e))if(c){var f=a.l(1);c=f.x-d.x;d=f.y-d.y;f=aq(b.x,b.y,c,d);0!==f&&(e=2===e?.5*f:f,a=Up(a),a>e&&(a=e),c=a*(c-b.x)/f,a=a*(d-b.y)/f,b.x+=c,b.y+=a)}else f=a.l(e-2),c=f.x-d.x,d=f.y-d.y,f=aq(b.x,b.y,c,d),0!==f&&(e=2===e?.5*f:f,a=Vp(a),a>e&&(a=e),c=a*(b.x-c)/f,a=a*(b.y-d)/f,b.x-=c,b.y-=a)} -function $p(a,b,c,d){for(var e=a.oa,f=b;Hc(b.x,f.x)&&Hc(b.y,f.y);){if(c>=e)return e-1;f=a.l(c++)}if(!Hc(b.x,f.x)&&!Hc(b.y,f.y))return c-1;for(var h=f;Hc(b.x,f.x)&&Hc(f.x,h.x)&&(!d||(b.y>=f.y?f.y>=h.y:f.y<=h.y))||Hc(b.y,f.y)&&Hc(f.y,h.y)&&(!d||(b.x>=f.x?f.x>=h.x:f.x<=h.x));){if(c>=e)return e-1;h=a.l(c++)}return c-2} -function bq(a,b,c,d,e,f,h){if(!h&&Lp(a)){h=[];var k=0;a.isVisible()&&(k=cq(a,e,f,h));var l=e.x,l=e.y;if(0p-10)m--,p=Math.max(q-5,f.x);else break;q=f.y-10+d;n=p+c;p=f.y+d;a.Ke===Fi?N(b,n,p,!1,!1):O(b,l,q,n,q,n,p)}else if(K(e.x,f.x))if(e.yp-10)m--,p=Math.max(q-5,f.y);else break;q=f.x-10+c;n=f.x+c;p+=d;a.Ke===Fi?N(b,n,p,!1,!1):O(b,q,l,q,p,n,p)}}b.lineTo(f.x+c,f.y+d)} -function cq(a,b,c,d){var e=a.g;if(null===e||b.K(c))return 0;for(e=e.Pw;e.next();){var f=e.value;if(null!==f&&f.visible)for(var f=f.wb.n,h=f.length,k=0;kh.x&&n.x>m.x||m.xh.y&&n.y>m.y||m.yt&&Math.min(h,x)q&&!K(h,x)){n.x=t;n.y=q;n=!0;break a}}else if(!K(q,s)&&K(h,x)&&Math.min(q,s)h&&Math.min(t,u)p&&!K(t,u)){n.x=p;n.y=h;n=!0;break a}n.x=0;n.y=0;n=!1}n&&(e?c.push(k.x):c.push(k.y));h=m}v.v(k)}v.u(W,{it:"firstPickIndex"},function(){return 2>=this.oa?0:this.jc||Op(this)!==qb?1:0});v.u(W,{Ow:"lastPickIndex"},function(){var a=this.oa;return 0===a?0:2>=a?a-1:this.jc||Pp(this)!==qb?a-2:a-1});function Lp(a){a=a.Ke;return a===Ei||a===Fi}function Np(a,b){if(b||Lp(a)){var c=a.g;null===c||c.yk.contains(a)||null===a.Hv||c.yk.add(a,a.Hv)}} -function Hi(a,b){var c=a.layer;if(null!==c&&c.visible&&!c.Gc){var d=c.g;if(null!==d)for(var e=!1,d=d.Pw;d.next();){var f=d.value;if(f.visible)if(f===c)for(var e=!0,h=!1,f=f.wb.n,k=f.length,l=0;l=a.width||0>=a.height)){var b=a.y,c=a.x+a.width,d=a.y+a.height;this.kg=Math.floor((a.x-this.he)/this.he)*this.he;this.lg=Math.floor((b-this.ie)/this.ie)*this.ie;this.mr=Math.ceil((c+2*this.he)/this.he)*this.he;this.nr=Math.ceil((d+2*this.ie)/this.ie)*this.ie;a=1+(Math.ceil((this.mr-this.kg)/this.he)|0);b=1+(Math.ceil((this.nr-this.lg)/this.ie)|0);if(null===this.oc||this.Dothis.mr||a+cthis.nr||b+da&&(c+=a,a=0);0>b&&(e+=b,b=0);if(0>c||0>e)return!0;d=Math.min(a+c-1,this.Do)|0;for(c=Math.min(b+e-1,this.Eo)|0;a<=d;a++)for(e=b;e<=c;e++)if(0===this.oc[a][e])return!1;return!0}; -function gq(a,b,c,d,e,f,h,k,l){if(!(bh||cl)){var m,n;m=b|0;n=c|0;var p=a.oc[m][n];if(1<=p&&999999>p)for(e?n+=d:m+=d,p+=1;f<=m&&m<=h&&k<=n&&n<=l&&!(p>=a.oc[m][n]);)a.oc[m][n]=p,p+=1,e?n+=d:m+=d;m=e?n:m;if(e)if(0m;c+=d)gq(a,b,c,1,!e,f,h,k,l),gq(a,b,c,-1,!e,f,h,k,l);else if(0m;b+=d)gq(a,b,c,1,!e,f,h,k,l),gq(a,b,c,-1,!e,f,h, -k,l)}}function hq(a,b,c,d,e,f,h,k,l,m,n){for(var p=b|0,q=c|0,r=a.oc[p][q];0===r&&p>k&&pm&&q=Math.abs(p-d)&&1>=Math.abs(q-e))return a.abort=!0,0;p=b|0;q=c|0;r=a.oc[p][q];b=1;for(a.oc[p][q]=b;0===r&&p>k&&pm&&q=Math.abs(h-l)&&1>=Math.abs(k-m))a.abort=!0;else{var n=f.x;b=f.y;d=f.x+f.width;var p=f.y+f.height,n=n-a.kg,n=n/a.he;b-=a.lg;b/=a.ie;d-=a.kg;d/=a.he;p-=a.lg;p/=a.ie;f=Math.max(0,Math.min(a.Do,n|0));d=Math.min(a.Do,Math.max(0,d|0));b=Math.max(0,Math.min(a.Eo,b|0));var p=Math.min(a.Eo,Math.max(0,p|0)),h=h|0,k=k|0,l=l|0, -m=m|0,n=h,q=k,r=0===c||90===c?1:-1;(c=90===c||270===c)?q=hq(a,h,k,l,m,r,c,f,d,b,p):n=hq(a,h,k,l,m,r,c,f,d,b,p);if(!a.abort){a:{c=0===e||90===e?1:-1;e=90===e||270===e;for(var r=l|0,s=m|0,t=a.oc[r][s];0===t&&r>f&&rb&&s=Math.abs(r-h)&&1>=Math.abs(s-k)){a.abort=!0;break a}r=l|0;s=m|0;t=a.oc[r][s];for(a.oc[r][s]=999999;0===t&&r>f&&rb&&s=c?180:0}a=180*Math.atan2(a.height,a.width)/Math.PI;switch(b){case v.Nc|v.dd:return c>a&&c<=180+a?180:270;case v.dd|v.Xc:return c>180-a&&c<=360-a?270:0;case v.Xc|v.Wc:return c>a&&c<=180+a?90:0;case v.Wc|v.Nc:return c>180-a&&c<=360-a?180:90;case v.Nc|v.dd|v.Xc:return 90180+a&&c<=360- -a?270:0;case v.dd|v.Xc|v.Wc:return 180a&&180>=c?90:0;case v.Xc|v.Wc|v.Nc:return c>a&&c<=180-a?90:c>180-a&&270>=c?180:0;case v.Wc|v.Nc|v.dd:return c>180-a&&c<=180+a?180:c>180+a?270:90}d&&b!==(v.Nc|v.dd|v.Xc|v.Wc)&&(c-=15,0>c&&(c+=360));return c>a&&c<180-a?90:c>=180-a&&c<=180+a?180:c>180+a&&c<360-a?270:0}Sp.prototype.dp=function(){this.Xf.length=0}; -function Tp(a,b){var c=a.Xf;if(0===c.length){a:if(!a.rp){c=a.rp;a.rp=!0;var d,e=null,f=a.Jc,f=f instanceof V?f:null;if(null===f||f.ee)d=a.Jc.JD(a.port.Rd);else{if(!f.U.G()){a.rp=c;break a}e=f;d=e.HD()}var h=a.Xf.length=0,k=a.port.Xa(rb,v.L()),l=a.port.Xa(Eb,v.L()),f=v.hk(k.x,k.y,0,0);f.fj(l);v.v(k);v.v(l);k=v.Mb(f.x+f.width/2,f.y+f.height/2);for(d=d.i;d.next();)if(l=d.value,l.isVisible()){var m=qb,n=l.kd===a.port||l.T.Yh(e),m=n?Op(l,a.port):Pp(l,a.port);if(m.Wi()&&(n=n?l.Sd:l.kd,null!==n)){var p= -n.Y;if(null!==p){var n=l.computeOtherPoint(p,n),p=k.xc(n),m=iq(f,m,p,l.jc),q=0;0===m?(q=v.Xc,180 -Math.abs(C)?(y=Math.abs(C)/q,q=Math.abs(C)):y=1;break;case v.Nc:r>Math.abs(H)?(y=Math.abs(H)/r,r=Math.abs(H)):y=1;break;case v.dd:n>Math.abs(C)?(y=Math.abs(C)/n,n=Math.abs(C)):y=1;break;default:case v.Xc:p>Math.abs(H)?(y=Math.abs(H)/p,p=Math.abs(H)):y=1}w=0}var T=t.jp;if(e===up){u=t.link.computeThickness();u*=y;T.set(B);switch(x){case v.Wc:T.x=B.x+C/2+q/2-w-u/2;break;case v.Nc:T.y=B.y+H/2+r/2-w-u/2;break;case v.dd:T.x=B.x+C/2-n/2+w+u/2;break;default:case v.Xc:T.y=B.y+H/2-p/2+w+u/2}w+=u}else u=.5, -e===rp&&(u=(t.bp+1)/(t.Hm+1)),T.x=B.x+C*u,T.y=B.y+H*u}v.v(k);v.v(d);v.v(l);v.v(m);B=a.Xf;for(C=0;Cb.ge?1:a.angleb.angle?1:0}; -Sp.prototype.computeEndSegmentLength=function(a){var b=a.link,c=b.computeEndSegmentLength(this.Jc,this.port,qb,b.kd===this.port),d=a.bp;if(0>d)return c;var e=a.Hm;if(1>=e||!b.jc)return c;var b=a.Vw,f=a.jp;if(a.ge===v.Nc||a.ge===v.Wc)d=e-1-d;return((a=a.ge===v.Nc||a.ge===v.Xc)?b.ye&&(e=k.right);k.bottom>f&&(f=k.bottom)}}isFinite(c)&&isFinite(d)?a.m(c,d,e-c,f-d):(b=b.location,c=this.padding,a.m(b.x+c.left,b.y+c.top,0,0));return a}; -v.defineProperty(Ri,{padding:"padding"},function(){return this.Ue},function(a){"number"===typeof a?((isNaN(a)||0>a)&&v.va(a,">= 0",Ri,"padding"),a=new cb(a)):(v.A(a,cb,Ri,"padding"),(isNaN(a.left)||0>a.left)&&v.va(a.left,">= 0",Ri,"padding:value.left"),(isNaN(a.right)||0>a.right)&&v.va(a.right,">= 0",Ri,"padding:value.right"),(isNaN(a.top)||0>a.top)&&v.va(a.top,">= 0",Ri,"padding:value.top"),(isNaN(a.bottom)||0>a.bottom)&&v.va(a.bottom,">= 0",Ri,"padding:value.bottom"));var b=this.Ue;b.K(a)||(this.Ue= -a=a.S(),this.h("padding",b,a))});function Zf(){0=c-1?(h=0,e=d,f+=k+20,k=0):h++}null!==a&&a.wd("Layout")}this.wf=!0};Zf.prototype.Tz=function(a){return!a.location.G()||a instanceof V&&a.Dy?!0:!1}; -function mq(a,b,c,d,e,f,h,k){for(c=c.i;c.next();){var l=c.value;d&&!l.fp||null!==e&&!e(l)||!l.canLayout()||(f&&l instanceof S?l.uf||(l instanceof V?null===l.Pb?mq(a,b,l.Ic,!1,e,f,h,k):b.add(l):b.add(l)):h&&l instanceof W?b.add(l):!k||!l.Od()||l instanceof S||b.add(l))}} -Zf.prototype.collectParts=Zf.prototype.oG=function(a){var b=new J(R);a instanceof E?(mq(this,b,a.Bg,!0,null,!0,!0,!0),mq(this,b,a.links,!0,null,!0,!0,!0),mq(this,b,a.ek,!0,null,!0,!0,!0)):a instanceof V?mq(this,b,a.Ic,!1,null,!0,!0,!0):mq(this,b,a.i,!1,null,!0,!0,!0);return b};v.defineProperty(Zf,{Xd:"arrangementOrigin"},function(){return this.Vp},function(a){v.A(a,z,Zf,"arrangementOrigin");this.Vp.K(a)||(this.Vp.assign(a),this.H())}); -Zf.prototype.initialOrigin=function(a){var b=this.group;if(null!==b){var c=b.position.copy();(isNaN(c.x)||isNaN(c.y))&&c.set(a);b=b.placeholder;null!==b&&(c=b.Xa(rb),(isNaN(c.x)||isNaN(c.y))&&c.set(a),c.x+=b.padding.left,c.y+=b.padding.top);return c}return a};function $f(){v.dc(this);this.Ud=null;this.clear()}v.ea("LayoutNetwork",$f); -$f.prototype.clear=function(){if(this.vertexes)for(var a=this.vertexes.i;a.next();){var b=a.value;b.clear();b.network=null}if(this.edges)for(a=this.edges.i;a.next();)b=a.value,b.clear(),b.network=null;this.vertexes=new J(nq);this.edges=new J(oq);this.Xz=new na(S,nq);this.Jz=new na(W,oq)}; -$f.prototype.toString=function(a){void 0===a&&(a=0);var b="LayoutNetwork"+(null!==this.Pb?"("+this.Pb.toString()+")":"");if(0>=a)return b;b+=" vertexes: "+this.vertexes.count+" edges: "+this.edges.count;if(1d?1:0):1:null!==d?-1:0}; -nq.smartComparer=function(a,b){if(null!==a){if(null!==b){var c=a.qd,d=b.qd;if(null!==c){if(null!==d){for(var c=c.text.toLocaleLowerCase().split(/([+\-]?[\.]?\d+(?:\.\d*)?(?:e[+\-]?\d+)?)/),d=d.text.toLocaleLowerCase().split(/([+\-]?[\.]?\d+(?:\.\d*)?(?:e[+\-]?\d+)?)/),e=0;e=f&&0>=h&&(f=1);a=this.spacing.width;isFinite(a)||(a=0);c=this.spacing.height;isFinite(c)||(c=0);null!==b&&b.Qb("Layout");d=[];switch(this.alignment){case qn:var k=a,l=c,m=Math.max(this.Ko.width,1);if(!isFinite(m))for(var n=m=0;nf-1||0h)d.push(new A(0,x,h+k,y)),w=0,u=t,x+=y,y=0;y=Math.max(y,H);H=0;switch(s){case on:H=-q.width;break;default:H=0}p.moveTo(u+H,x);switch(s){case on:u-=B;break; -default:u+=B}w++}d.push(new A(0,x,h+k,y));break;case pn:k=f;l=a;m=c;n=Math.max(this.Ko.width,1);p=x=B=0;q=v.L();for(f=0;f=B&&(h-=B);for(var B=H=0,C=Math.max(this.Ko.height,1),ba=p=0,U=!0,M=v.L(),f=0;fk-1||0h){d.push(new A(0,U?w-p:w,h+l,ba+p+m));for(T=0;TB&&(e.width+=e.x-B,e.x=B)}for(k=f=h=e=0;kd?1:0}; -mm.smartComparer=function(a,b){if(null!==a){if(null!==b){for(var c=a.text.toLocaleLowerCase().split(/([+\-]?[\.]?\d+(?:\.\d*)?(?:e[+\-]?\d+)?)/),d=b.text.toLocaleLowerCase().split(/([+\-]?[\.]?\d+(?:\.\d*)?(?:e[+\-]?\d+)?)/),e=0;e=a.count)1===a.count&&(a=a.first(),a.na=0,a.ua=0);else{var b=new I(xq);b.Tc(a.i);a=new I(xq);var c=new I(xq),d;d=this.sort(b);var e=this.ay,f=this.DB,h=this.Fd,k=this.Hn,l=this.by,m=this.Aq,b=this.zk,n=this.TC,p=this.tg,q=this.Du,e=this.Nf,f=this.Sw,h=this.dI;if(!isFinite(h)|| -0>=h)h=NaN;k=this.iG;if(!isFinite(k)||0>=k)k=1;l=this.xe;isFinite(l)||(l=0);m=this.Af;if(!isFinite(m)||360m)m=360;b=this.spacing;isFinite(b)||(b=NaN);e===In&&f===Jn?e=Hn:e===In&&f!==Jn&&(f=Jn,e=this.Nf);if((this.direction===Bn||this.direction===Cn)&&this.sorting!==An){for(var r=0;!(r>=d.length);r+=2){a.add(d.da(r));if(r+1>=d.length)break;c.add(d.da(r+1))}this.direction===Bn?(this.Nf===In&&a.reverse(),d=new I(xq),d.Tc(a),d.Tc(c)):(this.Nf===In&&c.reverse(),d=new I(xq),d.Tc(c),d.Tc(a))}for(var s= -d.length,t=n=0,r=0;rm&&(0===r||r===d.length-1)&&(u/=2);n+=u;t++}if(isNaN(h)||e===In){isNaN(b)&&(b=6);if(e!==Hn&&e!==In){u=-Infinity;for(r=0;rh?(h=r,p=h*k):q=t/(360<=m?s:s-1)}this.ay=e;this.DB=f;this.Fd=h;this.Hn=k;this.by=l;this.Aq=m;this.zk=b;this.TC=n;this.tg=p;this.Du=q;b=d;d=this.ay;e=this.Fd;f=this.by;k=this.Aq;l=this.zk;m=this.tg;n=this.Du;if(this.direction!==Bn&&this.direction!==Cn||d!==In)if(this.direction===Bn||this.direction===Cn){h=0;switch(d){case Gn:h=180*Bq(this,e,m,f,n)/Math.PI;break;case Hn:n=b=0;h=a.first();null!==h&&(b=yq(h,Math.PI/2));h=c.first();null!==h&&(n=yq(h,Math.PI/2));h=180*Bq(this,e,m,f,l+(b+ -n)/2)/Math.PI;break;case Fn:h=k/b.length}if(this.direction===Bn){switch(d){case Gn:Cq(this,a,f,En);break;case Hn:Dq(this,a,f,En);break;case Fn:Eq(this,a,k/2,f,En)}switch(d){case Gn:Cq(this,c,f+h,Dn);break;case Hn:Dq(this,c,f+h,Dn);break;case Fn:Eq(this,c,k/2,f+h,Dn)}}else{switch(d){case Gn:Cq(this,c,f,En);break;case Hn:Dq(this,c,f,En);break;case Fn:Eq(this,c,k/2,f,En)}switch(d){case Gn:Cq(this,a,f+h,Dn);break;case Hn:Dq(this,a,f+h,Dn);break;case Fn:Eq(this,a,k/2,f+h,Dn)}}}else switch(d){case Gn:Cq(this, -b,f,this.direction);break;case Hn:Dq(this,b,f,this.direction);break;case Fn:Eq(this,b,k,f,this.direction);break;case In:Fq(this,b,k,f,this.direction)}else Fq(this,b,k,f-k/2,Dn)}this.updateParts();this.network=null;this.wf=!0}; -function Eq(a,b,c,d,e){var f=a.Aq,h=a.Fd;a=a.tg;d=d*Math.PI/180;c=c*Math.PI/180;for(var k=b.length,l=0;lc){for(f=d+(e===Dn?f:-f);0>f;)f+=360;f%=360;180=n.length-1)break;Iq(a,l,m,n,p,e,f)||Jq(a,l,m,n,p,e,f);l=f.x;m=f.y}v.v(f);a.gm++;if(!(23Math.abs(r)?Math.abs(l-f)<(n[0].width+n[n.length-1].width)/2&&(h=0):h=0Math.abs(q)?0:q;q=!1;q=Math.abs(f)>Math.abs(p)?0p:0a.gm?a.Fd-h/(2*Math.PI):5>n.length&&10=p.length-1)break;Iq(a,l,m,p,q,e,n)||Jq(a,l,m,p,q,e,n);l=n.x;m=n.y}v.v(n);a.gm++;if(!(23a.gm?a.Fd-f/(2*Math.PI):a.Fd-(0k){m=b-a;if(m<-k)return h.x=m,h.y=n,!1;p=!0}}else if(m=b-a,m<-k){m=b+a;if(m>k)return h.x=m,h.y=n,!1;p=!0}n=Math.sqrt(1-Math.min(1,m*m/(k*k)))*l;0>c!==p&&(n=-n);if(Math.abs(c-n)>(d[e].height+d[e+1].height)/2)return h.x=m,h.y=n,!1;h.x=m;h.y=n;return!0} -function Jq(a,b,c,d,e,f,h){var k=a.Fd,l=a.tg,m=0,n=0;a=(d[e].height+d[e+1].height)/2+a.zk;d=!1;if(0<=b!==(f===Dn)){if(n=c-a,n<-l){n=c+a;if(n>l){h.x=m;h.y=n;return}d=!0}}else if(n=c+a,n>l){n=c-a;if(n<-l){h.x=m;h.y=n;return}d=!0}m=Math.sqrt(1-Math.min(1,n*n/(l*l)))*k;0>b!==d&&(m=-m);h.x=m;h.y=n}rn.prototype.commitLayout=function(){this.commitNodes();this.xt&&this.commitLinks()}; -rn.prototype.commitNodes=function(){for(var a=this.YF,b=this.network.vertexes.i;b.next();){var c=b.value;c.x+=a.x;c.y+=a.y;c.commit()}};rn.prototype.commitLinks=function(){for(var a=this.network.edges.i;a.next();)a.value.commit()}; -function Aq(a,b,c,d,e){var f=a.NF;if(.001>Math.abs(a.Hn-1))return void 0!==d&&void 0!==e?e*b:2*Math.PI*b;a=b>c?Math.sqrt(b*b-c*c)/b:Math.sqrt(c*c-b*b)/c;for(var h=0,k=0,k=void 0!==d&&void 0!==e?e/(f+1):Math.PI/(2*(f+1)),l=0,m=0;m<=f;m++)l=void 0!==d&&void 0!==e?d+m*e/f:m*Math.PI/(2*f),l=Math.sin(l),h+=Math.sqrt(1-a*a*l*l)*k;return void 0!==d&&void 0!==e?(b>c?b:c)*h:4*(b>c?b:c)*h}function zq(a,b,c,d,e){var f=0,f=void 0!==d&&void 0!==e?Aq(a,1,c,d,e):Aq(a,1,c);return b/f} -function Bq(a,b,c,d,e){if(.001>Math.abs(a.Hn-1))return e/b;var f=b>c?Math.sqrt(b*b-c*c)/b:Math.sqrt(c*c-b*b)/c,h=0;a=2*Math.PI/(700*a.network.vertexes.count);b>c&&(d+=Math.PI/2);for(var k=0;;k++){var l=Math.sin(d+k*a),h=h+(b>c?b:c)*Math.sqrt(1-f*f*l*l)*a;if(h>=e)return k*a}} -rn.prototype.sort=function(a){switch(this.sorting){case xn:break;case zn:a.reverse();break;case sn:a.sort(this.comparer);break;case tn:a.sort(this.comparer);a.reverse();break;case An:for(var b=[],c=0;ce&&(e=k,f=h)}else for(h=0;he&&(e=k,f=h);d.add(a.da(f));b[f]=-1;f=a.da(f);e=0;for(h=f.lc;h.next();)e=a.indexOf(h.value.fromVertex),0>e||0<=b[e]&& -b[e]++;for(f=f.hc;f.next();)e=a.indexOf(f.value.toVertex),0>e||0<=b[e]&&b[e]++}a=[];for(b=0;ba[b].indexOf(l)&&a[b].push(l);for(c=h.lc;c.next();)l=d.indexOf(c.value.fromVertex),l!==b&&0>a[b].indexOf(l)&&a[b].push(l)}h=[];for(b=0;ba[c[p]].indexOf(c[p===c.length-1?0:p+1])&&t.push(p===c.length-1?0:p+1);if(0===t.length)for(p=0;pH.indexOf(U)||MH.indexOf(U)|| -M=u?l+1:l)),w+=l=u&&l++,B>=u&&B++,l>B&&(H=B,B=l,l=H),B-l<(c.length+2)/2===(lq||q===l||(s=q>l?q-l:l-q,p+=qm-s?1:-1);c.splice(0>p?l:l+1,0,b);e.splice(h,1);h--}else k=!1;if(k)break;else c.push(e[0]),e.splice(0,1)}for(b=0;b=a?a:360,this.H())}); -v.defineProperty(rn,{Nf:"arrangement"},function(){return this.ed},function(a){this.ed!==a&&(v.pb(a,rn,rn,"arrangement"),a===In||a===Hn||a===Gn||a===Fn)&&(this.ed=a,this.H())});v.defineProperty(rn,{direction:"direction"},function(){return this.aa},function(a){this.aa!==a&&(v.pb(a,rn,rn,"direction"),a===Dn||a===En||a===Bn||a===Cn)&&(this.aa=a,this.H())}); -v.defineProperty(rn,{sorting:"sorting"},function(){return this.Mh},function(a){this.Mh!==a&&(v.pb(a,rn,rn,"sorting"),a===xn||a===zn||a===sn||tn||a===An)&&(this.Mh=a,this.H())});v.defineProperty(rn,{comparer:"comparer"},function(){return this.wh},function(a){this.wh!==a&&(v.j(a,"function",rn,"comparer"),this.wh=a,this.H())});v.defineProperty(rn,{spacing:"spacing"},function(){return this.Nh},function(a){this.Nh!==a&&(v.j(a,"number",rn,"spacing"),this.Nh=a,this.H())}); -v.defineProperty(rn,{Sw:"nodeDiameterFormula"},function(){return this.Dr},function(a){this.Dr!==a&&(v.pb(a,rn,rn,"nodeDiameterFormula"),a===Kn||a===Jn)&&(this.Dr=a,this.H())});v.u(rn,{ZF:"actualXRadius"},function(){return this.Fd});v.u(rn,{$F:"actualYRadius"},function(){return this.tg});v.u(rn,{XI:"actualSpacing"},function(){return this.zk});v.u(rn,{YF:"actualCenter"},function(){return isNaN(this.Xd.x)||isNaN(this.Xd.y)?new z(0,0):new z(this.Xd.x+this.ZF,this.Xd.y+this.$F)});var Hn; -rn.ConstantSpacing=Hn=v.p(rn,"ConstantSpacing",0);var Gn;rn.ConstantDistance=Gn=v.p(rn,"ConstantDistance",1);var Fn;rn.ConstantAngle=Fn=v.p(rn,"ConstantAngle",2);var In;rn.Packed=In=v.p(rn,"Packed",3);var Dn;rn.Clockwise=Dn=v.p(rn,"Clockwise",4);var En;rn.Counterclockwise=En=v.p(rn,"Counterclockwise",5);var Bn;rn.BidirectionalLeft=Bn=v.p(rn,"BidirectionalLeft",6);var Cn;rn.BidirectionalRight=Cn=v.p(rn,"BidirectionalRight",7);var xn;rn.Forwards=xn=v.p(rn,"Forwards",8);var zn; -rn.Reverse=zn=v.p(rn,"Reverse",9);var sn;rn.Ascending=sn=v.p(rn,"Ascending",10);var tn;rn.Descending=tn=v.p(rn,"Descending",11);var An;rn.Optimized=An=v.p(rn,"Optimized",12);var Kn;rn.Pythagorean=Kn=v.p(rn,"Pythagorean",13);var Jn;rn.Circular=Jn=v.p(rn,"Circular",14);function vq(){this.Wo=-Infinity;this.Lp=this.gn=null} -vq.prototype.compare=function(a,b){if(0this.Wo||Math.abs(a)a&&0f?(e=n.x+n.width/2,k=n.y+n.height/2,l[0]=new z(n.x+n.width+d.width,n.y),l[1]=new z(n.x,n.y+n.height+d.height),f=2):(p=Oq(l,f,e,k,n.width,n.height,d),q=l[p],r=new z(q.x+n.width+d.width, -q.y),s=new z(q.x,q.y+n.height+d.height),p+1this.network.vertexes.count)return!1;for(var a=0,b=0,c=this.network.vertexes.first().mb,d=this.network.vertexes.i;d.next();){if(d.value.mb.yg(c)&&(a++,2a.network.vertexes.count)return!1;null===a.sg?a.sg=new I(gr):a.sg.clear();a.sg.Tc(a.network.vertexes);var c=a.sg;c.sort(function(a,b){return null===a||null===b||a===b?0:b.Zf-a.Zf});for(var d=c.count-1;0<=d&&1>=c.da(d).Zf;)d--;return 1=h))){for(var m=0,n=0,p=l.count-h;ps&&(s=1);m=Ld((m+s+n*n*4/(h*h))/s);h=(m-1)*p/2;m=(m-1)*q/2;f.mb=new A(l-r.x-h,k-r.y-m,p+2*h,q+2*m);f.focus=new z(r.x+h,r.y+m)}a.network=d;return c}function ar(a,b){for(var c=a.network.vertexes.i;c.next();){var d=c.value;d.network=b;if(null!==d.ph){var e=d.ph.da(d.hA);d.Zf=e.zx;var f=e.GA,h=e.HA;d.mb=new A(d.na-f,d.ua-h,e.Ax,e.yx);d.focus=new z(f,h);d.hA--}}for(c=a.network.edges.i;c.next();)c.value.network=b;a.network=b} -function hr(a,b){var c=b.Dm;if(null!==c&&0!==c.count){var d=b.na,e=b.ua,f=b.width,h=b.height;null!==b.ph&&0=p.Zf?l++:(k=!0,m++,h+=Math.atan2(b.ua-p.ua,b.na-p.na))}if(0!==l)for(0>1)+n)*(0===k%2?1:-1);l.na=d+p*Math.cos(q);l.ua=e+p*Math.sin(q);k++}}}function Oq(a,b,c,d,e,f,h){var k=9E19,l=-1,m=0;a:for(;mn.y&&a[q].x-n.xn.x&&a[q].y-n.yl+h?(d=d+f-k,e=e-l-h,Ld(d*d+e*e)):e+ck+m?e>l+h?(d=d-k-m,e=e-l-h,Ld(d*d+e*e)):e+cl+h?e-(l+h):e+c=b.length)return!1;var c=b[0];c.forceX=0;c.forceY=0;for(var d=c.na,e=d,f=c.ua,h=f,c=1;ch-f)?b.sort(function(a,b){return null===a||null===b||a===b?0:a.na-b.na}):b.sort(function(a,b){return null===a||null===b||a===b?0:a.ua-b.ua});for(var h=a.Dh,m=0,n=0,p=0,c=0;ch||p-d>h){if(f)break}else if(l-r>h||r-l>h){if(!f)break}else{var s=jr(k,e);1>s?(n=a.$w,null===n&&(a.$w=n=new va(0)),m=n.random(),s=n.random(),d>p?(n=Math.abs(e.M.right-k.M.x),n=(1+n)*m):dr?(p=Math.abs(e.M.bottom-k.M.y),p=(1+p)*s):ds?(n=a.$w,null===n&&(a.$w=n=new va(0)),m=n.random(),s= -n.random(),n=(d>p?1:-1)*(1+(e.width>k.width)?e.width:k.width)*m,p=(l>r?1:-1)*(1+(e.height>k.height)?e.height:k.height)*s):(m=f.stiffness*(s-f.length),n=(p-d)/s*m,p=(r-l)/s*m),k.forceX+=n,k.forceY+=p,e.forceX-=n,e.forceY-=p;c=0;d=Math.max(a.Dh/20,50);for(e=0;ed&&(f=d),h<-d?h=-d:h>d&&(h=d),k.na+=f,k.ua+=h,c=Math.max(c,f*f+h*h));return c>a.GD*a.GD}Lq.prototype.moveFixedVertex=function(){}; -Lq.prototype.commitLayout=function(){this.nA();this.commitNodes();this.xt&&this.commitLinks()};Lq.prototype.nA=function(){if(this.Fp)for(var a=this.network.edges.i;a.next();){var b=a.value.link;null!==b&&(b.xb=fc,b.yb=fc)}};Lq.prototype.commitNodes=function(){var a=0,b=0;if(this.hG){var c=v.ag();this.ah(this.network,c);b=this.Xd;a=b.x-c.x;b=b.y-c.y;v.Vb(c)}for(var c=v.ag(),d=this.network.vertexes.i;d.next();){var e=d.value;if(0!==a||0!==b)c.assign(e.mb),c.x+=a,c.y+=b,e.mb=c;e.commit()}v.Vb(c)}; -Lq.prototype.commitLinks=function(){for(var a=this.network.edges.i;a.next();)a.value.commit()};Lq.prototype.springStiffness=function(a){a=a.stiffness;return isNaN(a)?this.Cn:a};Lq.prototype.springLength=function(a){a=a.length;return isNaN(a)?this.Bn:a};Lq.prototype.electricalCharge=function(a){a=a.charge;return isNaN(a)?this.yn:a};Lq.prototype.electricalFieldX=function(){return 0};Lq.prototype.electricalFieldY=function(){return 0}; -Lq.prototype.gravitationalMass=function(a){a=a.mass;return isNaN(a)?this.An:a};Lq.prototype.gravitationalFieldX=function(){return 0};Lq.prototype.gravitationalFieldY=function(){return 0};Lq.prototype.isFixed=function(a){return a.isFixed};v.u(Lq,{yJ:"currentIteration"},function(){return this.cr});v.defineProperty(Lq,{jD:"arrangementSpacing"},function(){return this.bg},function(a){v.A(a,ia,Lq,"arrangementSpacing");this.bg.K(a)||(this.bg.assign(a),this.H())}); -v.defineProperty(Lq,{hG:"arrangesToOrigin"},function(){return this.Wp},function(a){this.Wp!==a&&(v.j(a,"boolean",Lq,"arrangesToOrigin"),this.Wp=a,this.H())});v.defineProperty(Lq,{Fp:"setsPortSpots"},function(){return this.Lh},function(a){this.Lh!==a&&(v.j(a,"boolean",Lq,"setsPortSpots"),this.Lh=a,this.H())});v.defineProperty(Lq,{comments:"comments"},function(){return this.vh},function(a){this.vh!==a&&(v.j(a,"boolean",Lq,"comments"),this.vh=a,this.H())}); -v.defineProperty(Lq,{Nz:"maxIterations"},function(){return this.eo},function(a){this.eo!==a&&(v.j(a,"number",Lq,"maxIterations"),0<=a&&(this.eo=a,this.H()))});v.defineProperty(Lq,{GD:"epsilonDistance"},function(){return this.Cq},function(a){this.Cq!==a&&(v.j(a,"number",Lq,"epsilonDistance"),0b.toVertex.index&&(this.network.hx(b),b.rev=!0);break;case mr:for(b=this.network.vertexes.i;b.next();)a=b.value,a.Qo=-1,a.finish=-1;for(a=this.network.edges.i;a.next();)a.value.forest=!1;this.zr=0;for(b.reset();b.next();)c=b.value,0===c.lc.count&&wr(this,c);for(b.reset();b.next();)c=b.value,-1===c.Qo&&wr(this,c);for(a.reset();a.next();)b=a.value,b.forest||(c=b.fromVertex, -d=c.finish,e=b.toVertex,f=e.finish,e.Qos&&0s&&0b[this.Hf]&&(this.ov=b[c]-1,this.Hf=c),b[c]h)for(var p=h+1;pn;p--)l=d[p],l.near===m&&l.Am===m.Am||k++;var m=0,q,r=q=p=l=0,s,t=0,u=0;s=0;var x;if(0<=c)for(n=d[h].Qe,m=0;mt||l===t&&q>s)&&k++,ul||t===l&&s>q)&&k++);if(0>=c)for(n=d[h].Le,m=0;mt||l===t&&p>u)&&k++,sl||t===l&&u>p)&&k++);f[h*e+h]=k;for(n=h+1;n=c)for(k=d[h].Le,x=d[n].Le,m=0;m=c&&(l=k.Qe);var m=null;0<=c&&(m=k.Le);var n=0,p=0,q=k.near;null!==q&&q.layer===k.layer&&(n+=q.column-1,p++);if(null!==l)for(q=0;q=c&&(l=k.Qe);var m=null;0<=c&&(m=k.Le);var n=0,p=[],q=k.near;null!==q&&q.layer===k.layer&&(p[n]=q.column-1,n++);if(null!==l)for(q=0;q>1,f[h]=n&1?p[m]:p[m-1]+p[m]>>1)}Ar(a,b,d);return f}function Ir(a,b,c,d,e,f){if(b.component===d){b.component=c;var h=0,k=0;if(e)for(var l=b.hc;l.next();){var k=l.value,m=k.toVertex,h=b.layer-m.layer,k=a.linkMinLength(k);h===k&&Ir(a,m,c,d,e,f)}if(f)for(l=b.lc;l.next();)k=l.value,m=k.fromVertex,h=m.layer-b.layer,k=a.linkMinLength(k),h===k&&Ir(a,m,c,d,e,f)}} -function Jr(a,b,c,d,e,f){if(b.component===d){b.component=c;if(e)for(var h=b.hc;h.next();)Jr(a,h.value.toVertex,c,d,e,f);if(f)for(b=b.lc;b.next();)Jr(a,b.value.fromVertex,c,d,e,f)}}function tr(a){for(a=a.vertexes.i;a.next();){var b=a.value;if(b.valid)return b}return null}function ur(a){for(a=a.vertexes.i;a.next();){var b=a.value;if(b.valid){for(var c=!0,d=b.hc;d.next();)if(d.value.toVertex.valid){c=!1;break}if(c)return b}}return null} -function vr(a){for(a=a.vertexes.i;a.next();){var b=a.value;if(b.valid){for(var c=!0,d=b.lc;d.next();)if(d.value.fromVertex.valid){c=!1;break}if(c)return b}}return null}function wr(a,b){b.Qo=a.zr;a.zr++;for(var c=b.hc;c.next();){var d=c.value,e=d.toVertex;-1===e.Qo&&(d.forest=!0,wr(a,e))}b.finish=a.zr;a.zr++} -hn.prototype.assignLayers=function(){switch(this.Zn){case Kr:Lr(this);break;case Mr:for(var a=0,b=this.network.vertexes.i;b.next();)a=Nr(this,b.value),this.ob=Math.max(a,this.ob);for(b.reset();b.next();)a=b.value,a.layer=this.ob-a.layer;break;default:case nr:Lr(this);for(b=this.network.vertexes.i;b.next();)b.value.valid=!1;for(b.reset();b.next();)a=b.value,0===a.lc.count&&Or(this,a);a=Infinity;for(b.reset();b.next();)a=Math.min(a,b.value.layer);this.ob=-1;for(b.reset();b.next();){var c=b.value;c.layer-= -a;this.ob=Math.max(this.ob,c.layer)}}};function Lr(a){for(var b=a.network.vertexes.i;b.next();){var c=Pr(a,b.value);a.ob=Math.max(c,a.ob)}}function Pr(a,b){var c=0;if(-1===b.layer){for(var d=b.hc;d.next();)var e=d.value,f=e.toVertex,e=a.linkMinLength(e),c=Math.max(c,Pr(a,f)+e);b.layer=c}else c=b.layer;return c}function Nr(a,b){var c=0;if(-1===b.layer){for(var d=b.lc;d.next();)var e=d.value,f=e.fromVertex,e=a.linkMinLength(e),c=Math.max(c,Nr(a,f)+e);b.layer=c}else c=b.layer;return c} -function Or(a,b){if(!b.valid){b.valid=!0;for(var c=b.hc;c.next();)Or(a,c.value.toVertex);for(c=a.network.vertexes.i;c.next();)c.value.component=-1;for(var d=b.Qe.n,e=d.length,f=0;fk&&Ir(a,h.fromVertex,0,-1,!0,!1)}for(Ir(a,b,1,-1,!0,!0);0!==b.component;){for(var k=0,d=Infinity,l=0,m=null,n=a.network.vertexes.i;n.next();){var p=n.value;if(1===p.component){for(var q=0,r=!1,s=p.Qe.n,e=s.length,f=0;fd)&&!p&&(k=m,d=n)}if(0>f){for(c.reset();c.next();)f=c.value,1===f.component&&(f.layer-=e);b.component=0}else k.component=0}}} -function yr(a,b,c){return 90===a.aa?c&&!b.rev||!c&&b.rev?270:90:180===a.aa?c&&!b.rev||!c&&b.rev?0:180:270===a.aa?c&&!b.rev||!c&&b.rev?90:270:c&&!b.rev||!c&&b.rev?180:0} -hn.prototype.initializeIndices=function(){switch(this.Pn){default:case Qr:for(var a=this.network.vertexes.i;a.next();){var b=a.value,c=b.layer;b.index=this.Td[c];this.Td[c]++}break;case or:a=this.network.vertexes.i;for(b=this.ob;0<=b;b--)for(a.reset();a.next();)c=a.value,c.layer===b&&-1===c.index&&Rr(this,c);break;case Sr:for(a=this.network.vertexes.i,b=0;b<=this.ob;b++)for(a.reset();a.next();)c=a.value,c.layer===b&&-1===c.index&&Tr(this,c)}}; -function Rr(a,b){var c=b.layer;b.index=a.Td[c];a.Td[c]++;for(var c=b.Le.cc(),d=!0;d;)for(var d=!1,e=0;eh.portFromColOffset&&(d=!0,c[e]=h,c[e+1]=f)}for(e=0;eh.portToColOffset&&(d=!0,c[e]=h,c[e+1]=f)}for(e=0;e=h;d--)f=Vr(this,d,-1)||f;e=this.countCrossings();e>=a?Dr(this,b):(a=e,b=Cr(this));for(f=!0;f;)for(f=!1,d=c;d>=h;d--)f=Vr(this,d,1)||f;e=this.countCrossings();e>=a?Dr(this,b):(a=e,b=Cr(this));for(f=!0;f;)for(f=!1,d=h;d<=c;d++)f=Vr(this,d,1)||f;e>=a?Dr(this,b):(a=e,b=Cr(this));for(f=!0;f;)for(f=!1, -d=h;d<=c;d++)f=Vr(this,d,-1)||f;e>=a?Dr(this,b):(a=e,b=Cr(this));for(f=!0;f;)for(f=!1,d=c;d>=h;d--)f=Vr(this,d,0)||f;e>=a?Dr(this,b):(a=e,b=Cr(this));for(f=!0;f;)for(f=!1,d=h;d<=c;d++)f=Vr(this,d,0)||f;e>=a?Dr(this,b):(a=e,b=Cr(this))}break;default:case pr:for(c=this.ob,h=0,k=a+1;(d=this.countCrossings())=h;d--)f=Vr(this,d,-1)||f;e=this.countCrossings();e>=a?Dr(this,b):(a=e,b=Cr(this));for(f=!0;f;)for(f=!1,d=c;d>=h;d--)f=Vr(this,d,1)||f;e=this.countCrossings(); -e>=a?Dr(this,b):(a=e,b=Cr(this));for(f=!0;f;)for(f=!1,d=h;d<=c;d++)f=Vr(this,d,1)||f;e>=a?Dr(this,b):(a=e,b=Cr(this));for(f=!0;f;)for(f=!1,d=h;d<=c;d++)f=Vr(this,d,-1)||f;e>=a?Dr(this,b):(a=e,b=Cr(this));for(f=!0;f;)for(f=!1,d=c;d>=h;d--)f=Vr(this,d,0)||f;e>=a?Dr(this,b):(a=e,b=Cr(this));for(f=!0;f;)for(f=!1,d=h;d<=c;d++)f=Vr(this,d,0)||f;e>=a?Dr(this,b):(a=e,b=Cr(this))}}Dr(this,b)}; -function Ur(a,b,c){var d=0,e=zr(a,b),f=a.Td[b],h=Hr(a,b,c);c=Gr(a,b,c);for(d=0;df+1&&(q+=4*(w-f),r+=4*(w-(f+1)))}B=d[f].hc.i;for(B.reset();B.next();)if(y=B.value,y.valid&&y.toVertex.layer===b){y=y.toVertex;for(w=0;d[w]!==y;)w++;w===f+1&&(r+=1)}B=d[f+1].lc.i;for(B.reset();B.next();)if(y=B.value,y.valid&&y.fromVertex.layer===b){y=y.fromVertex;for(w=0;d[w]!==y;)w++;wf+1&&(q+=4*(w-(f+1)),r+=4*(w-f))}B=d[f+1].hc.i;for(B.reset();B.next();)if(y=B.value, -y.valid&&y.toVertex.layer===b){y=y.toVertex;for(w=0;d[w]!==y;)w++;w===f&&(q+=1)}var w=y=0,B=h[d[f].index],H=k[d[f].index],C=h[d[f+1].index],T=k[d[f+1].index];-1!==B&&(y+=Math.abs(B-s),w+=Math.abs(B-x));-1!==H&&(y+=Math.abs(H-s),w+=Math.abs(H-x));-1!==C&&(y+=Math.abs(C-t),w+=Math.abs(C-u));-1!==T&&(y+=Math.abs(T-t),w+=Math.abs(T-u));if(r>1)+8*d;this.Fb*=8}if(0!==(this.Ei&Zr))for(b=!0;b;){b=!1;for(a=this.Hf+1;a<=this.ob;a++)b=$r(this,a,1)||b; -for(a=this.Hf-1;0<=a;a--)b=$r(this,a,-1)||b;b=$r(this,this.Hf,0)||b}if(0!==(this.Ei&as)){for(a=this.Hf+1;a<=this.ob;a++)bs(this,a,1);for(a=this.Hf-1;0<=a;a--)bs(this,a,-1);bs(this,this.Hf,0)}c&&(cs(this,-1),cs(this,1));if(0!==(this.Ei&Zr))for(b=!0;b;){b=!1;b=$r(this,this.Hf,0)||b;for(a=this.Hf+1;a<=this.ob;a++)b=$r(this,a,0)||b;for(a=this.Hf-1;0<=a;a--)b=$r(this,a,0)||b}};function $r(a,b,c){for(var d=!1;ds(a,b,c);)d=!0;return d} -function ds(a,b,c){var d=0,e=zr(a,b),f=a.Td[b],h=Gr(a,b,-1);if(0c)for(d=0;dd-1||n-e[d-1].column-1>p+a.nodeMinColumnSpace(e[d-1],!1)?n-1:n,p=0,p=d+1>=f||e[d+1].column-n-1>q+a.nodeMinColumnSpace(e[d+1],!0)?n+1:n,s=q=0,t=0,u=0,x=0,w=0;if(0>=c)for(var y=e[d].lc.i;y.next();){var B=y.value;B.valid&&B.fromVertex.layer!== -b&&(u=Br(B),x=B.portFromColOffset,w=B.portToColOffset,B=B.fromVertex.column,q+=(Math.abs(n+w-(B+x))+1)*u,s+=(Math.abs(r+w-(B+x))+1)*u,t+=(Math.abs(p+w-(B+x))+1)*u)}if(0<=c)for(y=e[d].hc.i;y.next();)B=y.value,B.valid&&B.toVertex.layer!==b&&(u=Br(B),x=B.portFromColOffset,w=B.portToColOffset,B=B.toVertex.column,q+=(Math.abs(n+x-(B+w))+1)*u,s+=(Math.abs(r+x-(B+w))+1)*u,t+=(Math.abs(p+x-(B+w))+1)*u);w=x=u=0;y=h[e[d].index];B=k[e[d].index];-1!==y&&(u+=Math.abs(y-n),x+=Math.abs(y-r),w+=Math.abs(y-p));-1!== -B&&(u+=Math.abs(B-n),x+=Math.abs(B-r),w+=Math.abs(B-p));if(s=c[d]?n=q:p<=c[d]&&(n=p));n!==k&&(h=!0,e[d].column=n)}Ar(a,b,e);a.normalize()} -function es(a,b){for(var c=!0,d=a.network.vertexes.i;d.next();){var e=d.value,f=a.nodeMinColumnSpace(e,!0),h=a.nodeMinColumnSpace(e,!1);if(e.column-f<=b&&e.column+h>=b){c=!1;break}}e=!1;if(c)for(d.reset();d.next();)c=d.value,c.column>b&&(c.column-=1,e=!0);return e} -function fs(a,b){for(var c=b,c=b+1,d=0,e=[],f=[],d=0;d<=a.ob;d++)e[d]=!1,f[d]=!1;for(var h=a.network.vertexes.i;h.next();){var d=h.value,k=d.column-a.nodeMinColumnSpace(d,!0),l=d.column+a.nodeMinColumnSpace(d,!1);k<=b&&l>=b&&(e[d.layer]=!0);k<=c&&l>=c&&(f[d.layer]=!0)}k=!0;c=!1;for(d=0;d<=a.ob;d++)k=k&&!(e[d]&&f[d]);if(k)for(h.reset();h.next();)e=h.value,e.column>b&&(e.column-=1,c=!0);return c} -function cs(a,b){for(var c=0;c<=a.Fb;c++)for(;es(a,c););a.normalize();for(c=0;ce?Dr(a,d):hb)for(c=a.Fb;0<=c;c--)for(d=Cr(a),e=Fr(a),f=e+1;ee?Dr(a,d):hc)for(d.reset();d.next();)e=d.value,e.column+a.nodeMinColumnSpace(e,!1)>=b&&(e.component=a.mg);a.mg++;for(d.reset();d.next();)b=d.value,-1===b.component&&(Jr(a,b,a.mg,-1,!0,!0),a.mg++);var f=0;b=[];for(f=0;fc)for(k=a.Fb;0c)for(d.reset();d.next();)c=d.value,e[c.component]&&(c.column+=1)} -hn.prototype.commitLayout=function(){if(this.Fp)for(var a=xr(this,!0),b=xr(this,!1),c=this.network.edges.i;c.next();){var d=c.value.link;null!==d&&(d.xb=a,d.yb=b)}this.commitNodes();this.ez();this.xt&&this.commitLinks()};function xr(a,b){return 270===a.aa?b?sc:vc:90===a.aa?b?vc:sc:180===a.aa?b?tc:uc:b?uc:tc} -hn.prototype.commitNodes=function(){this.ig=[];this.Ff=[];this.Ef=[];this.Lb=[];for(var a=0;a<=this.ob;a++)this.ig[a]=0,this.Ff[a]=0,this.Ef[a]=0,this.Lb[a]=0;for(a=this.network.vertexes.i;a.next();){var b=a.value,c=b.layer;this.ig[c]=Math.max(this.ig[c],this.nodeMinLayerSpace(b,!0));this.Ff[c]=Math.max(this.Ff[c],this.nodeMinLayerSpace(b,!1))}for(var b=0,d=this.Zl,c=0;c<=this.ob;c++){var e=d;0>=this.ig[c]+this.Ff[c]&&(e=0);0=Ga.M.bottom?(ua=Ga.M.y+Ga.M.height,b.w(M++,ka,ua+Ra),b.w(M++,ka,ua),b.w(M++, -ka,ua-Ua)):(b.w(M++,ka,la+Ra),b.w(M++,ka,la),b.w(M++,ka,la-Ua)):270===this.aa?la<=Ga.M.y?(ua=Ga.M.y,b.w(M++,ka,ua-Ua),b.w(M++,ka,ua),b.w(M++,ka,ua+Ra)):(b.w(M++,ka,la-Ua),b.w(M++,ka,la),b.w(M++,ka,la+Ra)):0===this.aa&&(ka>=Ga.M.right?(ua=Ga.M.x+Ga.M.width,b.w(M++,ua+Ra,la),b.w(M++,ua,la),b.w(M++,ua-Ua,la)):(b.w(M++,ka+Ra,la),b.w(M++,ka,la),b.w(M++,ka-Ua,la)));else{b.w(M++,ob,eb);var vd=0;if(180===this.aa||0===this.aa){if(180===this.aa?ka>=Ga.M.right:ka<=Ga.M.x)vd=(0===this.aa?-Ua:Ra)/2;b.w(M++,ob+ -vd,la)}else{if(270===this.aa?la>=Ga.M.bottom:la<=Ga.M.y)vd=(90===this.aa?-Ua:Ra)/2;b.w(M++,ka,eb+vd)}b.w(M++,ka,la)}else Ua=Math.max(10,this.ig[pa.layer]),Ra=Math.max(10,this.Ff[pa.layer]),180===this.aa?(T&&b.w(M++,ka-Ua,la),b.w(M++,ka,la),T&&b.w(M++,ka+Ra,la)):90===this.aa?(T&&b.w(M++,ka,la+Ra),b.w(M++,ka,la),T&&b.w(M++,ka,la-Ua)):270===this.aa?(T&&b.w(M++,ka,la-Ua),b.w(M++,ka,la),T&&b.w(M++,ka,la+Ra)):(T&&b.w(M++,ka+Ra,la),b.w(M++,ka,la),T&&b.w(M++,ka-Ua,la));Ga=pa}if(null===k||b.computeSpot(!1)!== -qb||ba)if(ob=b.l(M-1).x,eb=b.l(M-1).y,ka=b.l(M).x,la=b.l(M).y,ba){var Le=this.Ff[oa.layer],Wb=0;180===this.aa||0===this.aa?(Wb=eb,Wb>=oa.M.y&&Wb<=oa.M.bottom&&(180===this.aa?ka>=oa.M.x:ka<=oa.M.right)&&(ua=oa.na+(180===this.aa?-Le:Le),Wb=Wb=oa.M.x&&Wb<=oa.M.right&&(270===this.aa?la>=oa.M.y:la<=oa.M.bottom)&&(ua=oa.ua+(270===this.aa?-Le:Le),Wb=Wb=oa.M.x?(ua=oa.M.x+oa.M.width,b.V(M-2,ua,eb),b.V(M-1,ua+Ra,eb)):90===this.aa&&la<=oa.M.bottom?(ua=oa.M.y,b.V(M-2,ob,ua),b.V(M-1,ob,ua-Ua)):270===this.aa&&la>=oa.M.y?(ua=oa.M.y+oa.M.height,b.V(M-2,ob,ua),b.V(M-1,ob,ua+Ra)):0===this.aa&&ka<=oa.M.right&&(ua=oa.M.x,b.V(M-2,ua,eb),b.V(M-1,ua-Ua,eb));else{Ua=Math.max(10,this.ig[oa.layer]); -Ra=Math.max(10,this.Ff[oa.layer]);vd=0;if(180===this.aa||0===this.aa){if(180===this.aa?ka<=oa.M.x:ka>=oa.M.right)vd=(0===this.aa?Ra:-Ua)/2;b.w(M++,ka+vd,eb)}else{if(270===this.aa?la<=oa.M.y:la>=oa.M.bottom)vd=(90===this.aa?Ra:-Ua)/2;b.w(M++,ob,la+vd)}b.w(M++,ka,la)}}else{for(;null!==oa&&oa!==Ga;){Ca=pa=null;for(var Jg=oa.hc.i;Jg.next();){var wd=Jg.value;if(wd.link===c.link&&(pa=wd.toVertex,Ca=wd.fromVertex,null!==Ca.qd&&(Ca=null),null===pa.qd))break}var ob=0,eb=0,ka=0,la=0,pb=0,Ua=0,Ra=0;if(pa!== -Ga)if(ob=b.l(M-1).x,eb=b.l(M-1).y,ka=pa.na,la=pa.ua,ba)if(180===this.aa||0===this.aa){var we=null!==Ca?Ca.ua:eb;we!==la&&(pb=this.Lb[pa.layer],2===M&&(pb=0===this.aa?Math.max(pb,ob):Math.min(pb,ob)),b.w(M++,pb,eb),b.w(M++,pb,la))}else{var xd=null!==Ca?Ca.na:ob;xd!==ka&&(pb=this.Lb[pa.layer],2===M&&(pb=90===this.aa?Math.max(pb,eb):Math.min(pb,eb)),b.w(M++,ob,pb),b.w(M++,ka,pb))}else Ua=Math.max(10,this.ig[pa.layer]),Ra=Math.max(10,this.Ff[pa.layer]),180===this.aa?(b.w(M++,ka+Ra,la),T&&b.w(M++,ka,la), -b.w(M++,ka-Ua,la)):90===this.aa?(b.w(M++,ka,la-Ua),T&&b.w(M++,ka,la),b.w(M++,ka,la+Ra)):270===this.aa?(b.w(M++,ka,la+Ra),T&&b.w(M++,ka,la),b.w(M++,ka,la-Ua)):(b.w(M++,ka-Ua,la),T&&b.w(M++,ka,la),b.w(M++,ka+Ra,la));oa=pa}ba&&(ob=b.l(M-1).x,eb=b.l(M-1).y,ka=b.l(M).x,la=b.l(M).y,180===this.aa||0===this.aa?eb!==la&&(pb=0===this.aa?Math.min(Math.max((ka+ob)/2,this.Lb[Ga.layer]),ka):Math.max(Math.min((ka+ob)/2,this.Lb[Ga.layer]),ka),b.w(M++,pb,eb),b.w(M++,pb,la)):ob!==ka&&(pb=90===this.aa?Math.min(Math.max((la+ -eb)/2,this.Lb[Ga.layer]),la):Math.max(Math.min((la+eb)/2,this.Lb[Ga.layer]),la),b.w(M++,ob,pb),b.w(M++,ka,pb)))}if(null!==d&&T){if(null!==h){if(b.computeSpot(!0)===qb){var ie=b.l(0),Nd=b.l(2);ie.K(Nd)||b.V(1,(ie.x+Nd.x)/2,(ie.y+Nd.y)/2)}C=b.getLinkPoint(e,h,qb,!0,!1,f,k);C.G()||C.set(e.U.dl);b.V(0,C.x,C.y)}null!==k&&(b.computeSpot(!1)===qb&&(ie=b.l(b.oa-1),Nd=b.l(b.oa-3),ie.K(Nd)||b.V(b.oa-2,(ie.x+Nd.x)/2,(ie.y+Nd.y)/2)),C=b.getLinkPoint(f,k,qb,!1,!1,e,h),C.G()||C.set(f.U.dl),b.V(b.oa-1,C.x,C.y))}b.Pi(); -c.commit()}}}for(var je=new I(W),Kg=this.network.edges.i;Kg.next();){var dd=Kg.value.link;null!==dd&&dd.jc&&!je.contains(dd)&&je.add(dd)}if(0Xb.y&&(hc=Mg.y>Xb.y?0:Od.xjc.x&&(ye=ph.x>jc.x?0:Qb.yb.layer?1:a.Heb.He?1:a.Ydb.Yd?1:0:0};hn.prototype.RE=function(a,b){return a instanceof hs&&b instanceof hs&&a!==b?a.firstb.first||a.aib.ai||a.Heb.He?1:a.Ydb.Yd?1:0:0}; -hn.prototype.jx=function(a,b){return a instanceof hs&&b instanceof hs&&a!==b?a.Qdb.Qd||a.aib.ai||a.Heb.He?1:a.Ydb.Yd?1:0:0};function is(a,b){var c=a-b;return-1c}function zr(a,b){var c,d=a.Td[b];if(d>=a.Tg.length){c=[];for(var e=0;ea&&(this.Ei=a,this.H()))});v.defineProperty(hn,{Fp:"setsPortSpots"},function(){return this.Lh},function(a){this.Lh!==a&&(v.j(a,"boolean",hn,"setsPortSpots"),this.Lh=a,this.H())});v.defineProperty(hn,{qE:"linkSpacing"},function(){return this.hr},function(a){this.hr!==a&&(v.j(a,"number",hn,"linkSpacing"),0<=a&&(this.hr=a,this.H()))});v.u(hn,{JH:"maxLayer"},function(){return this.ob}); -v.u(hn,{eK:"maxIndex"},function(){return this.ov});v.u(hn,{dK:"maxColumn"},function(){return this.Fb});v.u(hn,{jK:"minIndexLayer"},function(){return this.rr});v.u(hn,{fK:"maxIndexLayer"},function(){return this.Hf});var mr;hn.CycleDepthFirst=mr=v.p(hn,"CycleDepthFirst",0);var sr;hn.CycleGreedy=sr=v.p(hn,"CycleGreedy",1);var nr;hn.LayerOptimalLinkLength=nr=v.p(hn,"LayerOptimalLinkLength",0);var Kr;hn.LayerLongestPathSink=Kr=v.p(hn,"LayerLongestPathSink",1);var Mr; -hn.LayerLongestPathSource=Mr=v.p(hn,"LayerLongestPathSource",2);var or;hn.InitDepthFirstOut=or=v.p(hn,"InitDepthFirstOut",0);var Sr;hn.InitDepthFirstIn=Sr=v.p(hn,"InitDepthFirstIn",1);var Qr;hn.InitNaive=Qr=v.p(hn,"InitNaive",2);var Wr;hn.AggressiveNone=Wr=v.p(hn,"AggressiveNone",0);var pr;hn.AggressiveLess=pr=v.p(hn,"AggressiveLess",1);var Xr;hn.AggressiveMore=Xr=v.p(hn,"AggressiveMore",2);hn.PackNone=0;var Yr;hn.PackExpand=Yr=1;var Zr;hn.PackStraighten=Zr=2;var as;hn.PackMedian=as=4;var qr; -hn.PackAll=qr=7;function hs(){this.index=this.Yd=this.He=this.Qd=this.first=this.layer=0;this.link=null;this.ai=0}v.Kd(hs,{layer:!0,first:!0,Qd:!0,He:!0,Yd:!0,index:!0,link:!0,ai:!0});function rr(){$f.call(this)}v.Ja(rr,$f);v.ea("LayeredDigraphNetwork",rr);rr.prototype.createVertex=function(){return new js};rr.prototype.createEdge=function(){return new ks}; -function js(){nq.call(this);this.index=this.column=this.layer=-1;this.component=NaN;this.near=null;this.valid=!1;this.finish=this.Qo=NaN;this.Am=0;this.Uz=this.Vz=null}v.Ja(js,nq);v.ea("LayeredDigraphVertex",js);function ks(){oq.call(this);this.forest=this.rev=this.valid=!1;this.portToPos=this.portFromPos=NaN;this.portToColOffset=this.portFromColOffset=0}v.Ja(ks,oq);v.ea("LayeredDigraphEdge",ks); -function Z(){0b.level)return!1;a.removeChild(c.parent,c)}return!0}Z.prototype.removeChild=function(a,b){if(null!==a&&null!==b){for(var c=a.children,d=0,e=0;ef?Zs(a,k,pa,y,B):$s(a,k,pa,y,B);pa=U.x;y=U.width;B=U.height;break;case Ns:for(m=0;ms&&(Mua&&(jt(a,-ua,0,Ga,m-1),kt(C,-ua,0),kt(T,-ua,0),ua=0)}n.ma.m(ua,aa);y=Math.max(y,ba);B=Math.max(B,H+(0===Ia?0:x)+Ca.height);M=ba}else{0s&&(aaua&&(jt(a,0,-ua,Ga,m-1),kt(C,0,-ua),kt(T,0,-ua),ua=0);n.ma.m(M,ua);B=Math.max(B,U);y=Math.max(y,H+(0===Ia?0:x)+Ca.width);aa=U}oa++}0h&&(h=0),135q&&(q=0),p===Os&&(l+=t/2+a.P.y),k+=d+c):b?(null===a.comments?d>y&&(p=ot(p,d-y,0),k=p.x,l=p.y,y=d,h=0):y=mt(a,y,h),0>h&&(k-=h,h=0),135B&&(p=ot(p,0,e-B),k=p.x,l=p.y,B=e,q=0):B=nt(a,B,q),0>q&&(l-=q,q=0),k+=d+c);if(0f[0].x?f[2].assign(f[1]):f[1].assign(f[2])),f[3].yf[0].x?f[3].assign(f[2]):f[2].assign(f[3])),p[0].m(h+d,0),p[1].m(p[0].x,e),p[2].yf[0].y?f[2].assign(f[1]):f[1].assign(f[2])),f[3].xf[0].y?f[3].assign(f[2]):f[2].assign(f[3])),p[0].m(0,q+e),p[1].m(d,p[0].y),p[2].xc?Zs(b,e,oa,H,C):$s(b,e,oa,H,C);oa=C.x;H=C.width;C=C.height;break;case Ns:for(k=0;kr&&(bar&&(Up&&(p=0),135y&&(y=0));b.Ma.m(p,y);b.fb.m(H,C)}} -function Zs(a,b,c,d,e){var f=b.length;if(0===f)return new A(c,0,d,e);if(1===f){var h=b[0];d=h.fb.width;e=h.fb.height;return new A(c,0,d,e)}for(var k=a.nodeSpacing,l=a.rowSpacing,m=90===Us(a),n=0,p=0,q=0,r=0;rm&&(d-=m),e=Math.max(e,Math.max(w, -q)+b+s.height),0>h.ma.x&&(c=st(a,h.ma.x,!1,c,k))):(h.ma.m(d+b,c+k/2-h.P.y-h.Ma.y),d=Math.max(d,Math.max(x,p)+b+s.width),m=c+k/2-h.P.y-h.Ma.y,e=Math.max(e,m+s.height),0>m&&(e-=m),0>h.ma.y&&(c=st(a,h.ma.y,!0,c,k))));return new A(c,0,d,e)} -function $s(a,b,c,d,e){var f=b.length;if(0===f)return new A(c,0,d,e);if(1===f){var h=b[0];d=h.fb.width;e=h.fb.height;return new A(c,0,d,e)}for(var k=a.nodeSpacing,l=a.rowSpacing,m=270===Us(a),n=0,p=0,q=0,r=0;rp&&(d-=p),e=Math.max(e,Math.abs(Math.min(w, -q))+l+s.height),0>h.ma.x&&(c=st(a,h.ma.x,!1,c,k))):(h.ma.m(-d-s.width-l,c+k/2-h.P.y-h.Ma.y),d=Math.max(d,Math.abs(Math.min(x,p))+l+s.width),p=c+k/2-h.P.y-h.Ma.y,e=Math.max(e,p+s.height),0>p&&(e-=p),0>h.ma.y&&(c=st(a,h.ma.y,!0,c,k))));for(r=0;rd&&(d=c+a.width);0>c&&(d-=c);return d;case Vs:return a.width>b?a.width:b;case Ws:return 2*a.P.x>b?a.width:b+a.width-2*a.P.x;case Ms:case Bs:return d=Math.min(0,c),c=Math.max(b,c+a.width),Math.max(a.width,c-d);case Ns:return a.width-a.P.x+a.nodeSpacing/2+b;case Os:return Math.max(a.width,a.P.x+a.nodeSpacing/2+b);default:return b}} -function nt(a,b,c){switch(a.alignment){case Ks:case lt:var d=b;c+a.height>d&&(d=c+a.height);0>c&&(d-=c);return d;case Vs:return a.height>b?a.height:b;case Ws:return 2*a.P.y>b?a.height:b+a.height-2*a.P.y;case Ms:case Bs:return d=Math.min(0,c),c=Math.max(b,c+a.height),Math.max(a.height,c-d);case Ns:return a.height-a.P.y+a.nodeSpacing/2+b;case Os:return Math.max(a.height,a.P.y+a.nodeSpacing/2+b);default:return b}} -function ot(a,b,c){switch(a){case lt:b/=2;c/=2;break;case Ks:b/=2;c/=2;break;case Vs:c=b=0;break;case Ws:break;default:v.k("Unhandled alignment value "+a.toString())}return new z(b,c)}function bt(a,b,c,d,e,f){b=ot(b,c,d);jt(a,b.x,b.y,e,f)}function jt(a,b,c,d,e){if(0!==b||0!==c)for(a=a.children;d<=e;d++){var f=a[d].ma;f.x+=b;f.y+=c}} -function ht(a,b,c,d){var e=b.parent;switch(a.Df){case ms:for(a=b.lc;a.next();)b=a.value,b.fromVertex===e&&b.Rr.m(c,d);break;case ts:for(a=b.hc;a.next();)b=a.value,b.toVertex===e&&b.Rr.m(c,d);break;default:v.k("Unhandled path value "+a.Df.toString())}}function kt(a,b,c){for(var d=0;dp.length||null===q||2>q.length))for(m=l=0;lu&&e.ye.y&&ub.length||null===l||2>l.length)d=null;else{n=at(a,b.length+l.length);for(d=f=e=0;fe;)u=l[f++],n[d++].m(u.x+m,u.y);l=at(a,d);for(e=0;ep.length||null===f||2>f.length)e=null;else{n=at(a,p.length+f.length);for(m=x=l=0;lf;)e=p[l++],n[m++].m(e.x,e.y);e=at(a,m);for(l=0;lp.length||null===q||2>q.length))for(m=l=0;lf&&e.xe.x&&fb.length||null===l||2>l.length)d=null;else{n=at(a, -b.length+l.length);for(d=f=e=0;fe;)u=l[f++],n[d++].m(u.x,u.y+m);l=at(a,d);for(e=0;ep.length||null===f||2>f.length)e=null;else{n=at(a,p.length+f.length);for(m=x=l=0;lf;)e=p[l++],n[m++].m(e.x,e.y);e=at(a,m);for(l=0;l=a?0:135>=a?90:225>=a?180:315>=a?270:0} -function Xs(a){var b=Us(a),b=90===b||270===b,c=a.layerSpacing;if(0=a&&(this.ra.nodeIndentPastParent=a,this.H()))}); -v.defineProperty(Z,{nodeSpacing:"nodeSpacing"},function(){return this.ra.nodeSpacing},function(a){this.ra.nodeSpacing!==a&&(v.j(a,"number",Z,"nodeSpacing"),this.ra.nodeSpacing=a,this.H())});v.defineProperty(Z,{layerSpacing:"layerSpacing"},function(){return this.ra.layerSpacing},function(a){this.ra.layerSpacing!==a&&(v.j(a,"number",Z,"layerSpacing"),this.ra.layerSpacing=a,this.H())}); -v.defineProperty(Z,{layerSpacingParentOverlap:"layerSpacingParentOverlap"},function(){return this.ra.layerSpacingParentOverlap},function(a){this.ra.layerSpacingParentOverlap!==a&&(v.j(a,"number",Z,"layerSpacingParentOverlap"),0<=a&&1>=a&&(this.ra.layerSpacingParentOverlap=a,this.H()))});v.defineProperty(Z,{compaction:"compaction"},function(){return this.ra.compaction},function(a){this.ra.compaction!==a&&(v.pb(a,Z,Z,"compaction"),a===Rs||a===Ts)&&(this.ra.compaction=a,this.H())}); -v.defineProperty(Z,{breadthLimit:"breadthLimit"},function(){return this.ra.breadthLimit},function(a){this.ra.breadthLimit!==a&&(v.j(a,"number",Z,"breadthLimit"),0<=a&&(this.ra.breadthLimit=a,this.H()))});v.defineProperty(Z,{rowSpacing:"rowSpacing"},function(){return this.ra.rowSpacing},function(a){this.ra.rowSpacing!==a&&(v.j(a,"number",Z,"rowSpacing"),this.ra.rowSpacing=a,this.H())}); -v.defineProperty(Z,{rowIndent:"rowIndent"},function(){return this.ra.rowIndent},function(a){this.ra.rowIndent!==a&&(v.j(a,"number",Z,"rowIndent"),0<=a&&(this.ra.rowIndent=a,this.H()))});v.defineProperty(Z,{commentSpacing:"commentSpacing"},function(){return this.ra.commentSpacing},function(a){this.ra.commentSpacing!==a&&(v.j(a,"number",Z,"commentSpacing"),this.ra.commentSpacing=a,this.H())}); -v.defineProperty(Z,{commentMargin:"commentMargin"},function(){return this.ra.commentMargin},function(a){this.ra.commentMargin!==a&&(v.j(a,"number",Z,"commentMargin"),this.ra.commentMargin=a,this.H())});v.defineProperty(Z,{setsPortSpot:"setsPortSpot"},function(){return this.ra.setsPortSpot},function(a){this.ra.setsPortSpot!==a&&(v.j(a,"boolean",Z,"setsPortSpot"),this.ra.setsPortSpot=a,this.H())}); -v.defineProperty(Z,{portSpot:"portSpot"},function(){return this.ra.portSpot},function(a){v.A(a,L,Z,"portSpot");this.ra.portSpot.K(a)||(this.ra.portSpot=a,this.H())});v.defineProperty(Z,{setsChildPortSpot:"setsChildPortSpot"},function(){return this.ra.setsChildPortSpot},function(a){this.ra.setsChildPortSpot!==a&&(v.j(a,"boolean",Z,"setsChildPortSpot"),this.ra.setsChildPortSpot=a,this.H())}); -v.defineProperty(Z,{childPortSpot:"childPortSpot"},function(){return this.ra.childPortSpot},function(a){v.A(a,L,Z,"childPortSpot");this.ra.childPortSpot.K(a)||(this.ra.childPortSpot=a,this.H())});v.defineProperty(Z,{qJ:"alternateSorting"},function(){return this.ta.sorting},function(a){this.ta.sorting!==a&&(v.pb(a,Z,Z,"alternateSorting"),a===Gs||a===Hs||a===Is||Js)&&(this.ta.sorting=a,this.H())}); -v.defineProperty(Z,{eJ:"alternateComparer"},function(){return this.ta.comparer},function(a){this.ta.comparer!==a&&(v.j(a,"function",Z,"alternateComparer"),this.ta.comparer=a,this.H())});v.defineProperty(Z,{ZI:"alternateAngle"},function(){return this.ta.angle},function(a){this.ta.angle!==a&&(v.j(a,"number",Z,"alternateAngle"),0===a||90===a||180===a||270===a)&&(this.ta.angle=a,this.H())}); -v.defineProperty(Z,{YI:"alternateAlignment"},function(){return this.ta.alignment},function(a){this.ta.alignment!==a&&(v.pb(a,Z,Z,"alternateAlignment"),this.ta.alignment=a,this.H())});v.defineProperty(Z,{iJ:"alternateNodeIndent"},function(){return this.ta.nodeIndent},function(a){this.ta.nodeIndent!==a&&(v.j(a,"number",Z,"alternateNodeIndent"),0<=a&&(this.ta.nodeIndent=a,this.H()))}); -v.defineProperty(Z,{jJ:"alternateNodeIndentPastParent"},function(){return this.ta.nodeIndentPastParent},function(a){this.ta.nodeIndentPastParent!==a&&(v.j(a,"number",Z,"alternateNodeIndentPastParent"),0<=a&&1>=a&&(this.ta.nodeIndentPastParent=a,this.H()))});v.defineProperty(Z,{kJ:"alternateNodeSpacing"},function(){return this.ta.nodeSpacing},function(a){this.ta.nodeSpacing!==a&&(v.j(a,"number",Z,"alternateNodeSpacing"),this.ta.nodeSpacing=a,this.H())}); -v.defineProperty(Z,{gJ:"alternateLayerSpacing"},function(){return this.ta.layerSpacing},function(a){this.ta.layerSpacing!==a&&(v.j(a,"number",Z,"alternateLayerSpacing"),this.ta.layerSpacing=a,this.H())});v.defineProperty(Z,{hJ:"alternateLayerSpacingParentOverlap"},function(){return this.ta.layerSpacingParentOverlap},function(a){this.ta.layerSpacingParentOverlap!==a&&(v.j(a,"number",Z,"alternateLayerSpacingParentOverlap"),0<=a&&1>=a&&(this.ta.layerSpacingParentOverlap=a,this.H()))}); -v.defineProperty(Z,{dJ:"alternateCompaction"},function(){return this.ta.compaction},function(a){this.ta.compaction!==a&&(v.pb(a,Z,Z,"alternateCompaction"),a===Rs||a===Ts)&&(this.ta.compaction=a,this.H())});v.defineProperty(Z,{$I:"alternateBreadthLimit"},function(){return this.ta.breadthLimit},function(a){this.ta.breadthLimit!==a&&(v.j(a,"number",Z,"alternateBreadthLimit"),0<=a&&(this.ta.breadthLimit=a,this.H()))}); -v.defineProperty(Z,{nJ:"alternateRowSpacing"},function(){return this.ta.rowSpacing},function(a){this.ta.rowSpacing!==a&&(v.j(a,"number",Z,"alternateRowSpacing"),this.ta.rowSpacing=a,this.H())});v.defineProperty(Z,{mJ:"alternateRowIndent"},function(){return this.ta.rowIndent},function(a){this.ta.rowIndent!==a&&(v.j(a,"number",Z,"alternateRowIndent"),0<=a&&(this.ta.rowIndent=a,this.H()))}); -v.defineProperty(Z,{cJ:"alternateCommentSpacing"},function(){return this.ta.commentSpacing},function(a){this.ta.commentSpacing!==a&&(v.j(a,"number",Z,"alternateCommentSpacing"),this.ta.commentSpacing=a,this.H())});v.defineProperty(Z,{bJ:"alternateCommentMargin"},function(){return this.ta.commentMargin},function(a){this.ta.commentMargin!==a&&(v.j(a,"number",Z,"alternateCommentMargin"),this.ta.commentMargin=a,this.H())}); -v.defineProperty(Z,{pJ:"alternateSetsPortSpot"},function(){return this.ta.setsPortSpot},function(a){this.ta.setsPortSpot!==a&&(v.j(a,"boolean",Z,"alternateSetsPortSpot"),this.ta.setsPortSpot=a,this.H())});v.defineProperty(Z,{lJ:"alternatePortSpot"},function(){return this.ta.portSpot},function(a){v.A(a,L,Z,"alternatePortSpot");this.ta.portSpot.K(a)||(this.ta.portSpot=a,this.H())}); -v.defineProperty(Z,{oJ:"alternateSetsChildPortSpot"},function(){return this.ta.setsChildPortSpot},function(a){this.ta.setsChildPortSpot!==a&&(v.j(a,"boolean",Z,"alternateSetsChildPortSpot"),this.ta.setsChildPortSpot=a,this.H())});v.defineProperty(Z,{aJ:"alternateChildPortSpot"},function(){return this.ta.childPortSpot},function(a){v.A(a,L,Z,"alternateChildPortSpot");this.ta.childPortSpot.K(a)||(this.ta.childPortSpot=a,this.H())});var ls;Z.PathDefault=ls=v.p(Z,"PathDefault",-1);var ms; -Z.PathDestination=ms=v.p(Z,"PathDestination",0);var ts;Z.PathSource=ts=v.p(Z,"PathSource",1);var Gs;Z.SortingForwards=Gs=v.p(Z,"SortingForwards",10);var Hs;Z.SortingReverse=Hs=v.p(Z,"SortingReverse",11);var Is;Z.SortingAscending=Is=v.p(Z,"SortingAscending",12);var Js;Z.SortingDescending=Js=v.p(Z,"SortingDescending",13);var lt;Z.AlignmentCenterSubtrees=lt=v.p(Z,"AlignmentCenterSubtrees",20);var Ks;Z.AlignmentCenterChildren=Ks=v.p(Z,"AlignmentCenterChildren",21);var Vs; -Z.AlignmentStart=Vs=v.p(Z,"AlignmentStart",22);var Ws;Z.AlignmentEnd=Ws=v.p(Z,"AlignmentEnd",23);var Ms;Z.AlignmentBus=Ms=v.p(Z,"AlignmentBus",24);var Bs;Z.AlignmentBusBranching=Bs=v.p(Z,"AlignmentBusBranching",25);var Ns;Z.AlignmentTopLeftBus=Ns=v.p(Z,"AlignmentTopLeftBus",26);var Os;Z.AlignmentBottomRightBus=Os=v.p(Z,"AlignmentBottomRightBus",27);var Rs;Z.CompactionNone=Rs=v.p(Z,"CompactionNone",30);var Ts;Z.CompactionBlock=Ts=v.p(Z,"CompactionBlock",31);var ns; -Z.StyleLayered=ns=v.p(Z,"StyleLayered",40);var Fs;Z.StyleLastParents=Fs=v.p(Z,"StyleLastParents",41);var Es;Z.StyleAlternating=Es=v.p(Z,"StyleAlternating",42);var Ds;Z.StyleRootOnly=Ds=v.p(Z,"StyleRootOnly",43);var ps;Z.ArrangementVertical=ps=v.p(Z,"ArrangementVertical",50);var ut;Z.ArrangementHorizontal=ut=v.p(Z,"ArrangementHorizontal",51);var ss;Z.ArrangementFixedRoots=ss=v.p(Z,"ArrangementFixedRoots",52);var os;Z.LayerIndividual=os=v.p(Z,"LayerIndividual",60);var zs; -Z.LayerSiblings=zs=v.p(Z,"LayerSiblings",61);var ys;Z.LayerUniform=ys=v.p(Z,"LayerUniform",62);function rs(){$f.call(this)}v.Ja(rs,$f);v.ea("TreeNetwork",rs);rs.prototype.createVertex=function(){return new qs};rs.prototype.createEdge=function(){return new wt}; -function qs(){nq.call(this);this.initialized=!1;this.parent=null;this.children=[];this.maxGenerationCount=this.maxChildrenCount=this.descendantCount=this.level=0;this.comments=null;this.ma=new z(0,0);this.fb=new ia(0,0);this.Ma=new z(0,0);this.Bp=this.Ap=this.qI=!1;this.St=this.At=null;this.sorting=Gs;this.comparer=tq;this.angle=0;this.alignment=Ks;this.nodeIndentPastParent=this.nodeIndent=0;this.nodeSpacing=20;this.layerSpacing=50;this.layerSpacingParentOverlap=0;this.compaction=Ts;this.breadthLimit= -0;this.rowSpacing=25;this.commentSpacing=this.rowIndent=10;this.commentMargin=20;this.setsPortSpot=!0;this.portSpot=fc;this.setsChildPortSpot=!0;this.childPortSpot=fc}v.Ja(qs,nq);v.ea("TreeVertex",qs); -qs.prototype.copyInheritedPropertiesFrom=function(a){null!==a&&(this.sorting=a.sorting,this.comparer=a.comparer,this.angle=a.angle,this.alignment=a.alignment,this.nodeIndent=a.nodeIndent,this.nodeIndentPastParent=a.nodeIndentPastParent,this.nodeSpacing=a.nodeSpacing,this.layerSpacing=a.layerSpacing,this.layerSpacingParentOverlap=a.layerSpacingParentOverlap,this.compaction=a.compaction,this.breadthLimit=a.breadthLimit,this.rowSpacing=a.rowSpacing,this.rowIndent=a.rowIndent,this.commentSpacing=a.commentSpacing, -this.commentMargin=a.commentMargin,this.setsPortSpot=a.setsPortSpot,this.portSpot=a.portSpot,this.setsChildPortSpot=a.setsChildPortSpot,this.childPortSpot=a.childPortSpot)};v.u(qs,{Cm:"childrenCount"},function(){return this.children.length});v.defineProperty(qs,{AK:"relativePosition"},function(){return this.ma},function(a){this.ma.set(a)});v.defineProperty(qs,{MK:"subtreeSize"},function(){return this.fb},function(a){this.fb.set(a)}); -v.defineProperty(qs,{LK:"subtreeOffset"},function(){return this.Ma},function(a){this.Ma.set(a)});function wt(){oq.call(this);this.Rr=new z(0,0)}v.Ja(wt,oq);v.ea("TreeEdge",wt); -wt.prototype.commit=function(){var a=this.link;if(null!==a&&!a.sl){var b=this.network.Pb,c=null,d=null;switch(b.Df){case ms:c=this.fromVertex;d=this.toVertex;break;case ts:c=this.toVertex;d=this.fromVertex;break;default:v.k("Unhandled path value "+b.Df.toString())}if(null!==c&&null!==d)if(b=this.Rr,0!==b.x||0!==b.y||c.qI){var d=c.mb,e=Us(c),f=Xs(c),h=c.rowSpacing;a.en();var k=a.Ke===Ni,l=a.jc,m=0,n,p;a.Cl();if(l||k){for(m=2;4q.y+c.rowIndent&&(r=Math.min(r,Math.max(n.y,r-Ys(c))))):c.alignment===Vs?(r=d.top+b.y,0===b.y&&n.yq.x+c.rowIndent&&(r=Math.min(r,Math.max(n.x,r-Ys(c))))):c.alignment===Vs?(r=d.left+b.x,0===b.x&&n.xq.y+c.rowIndent&&(r=Math.min(r,Math.max(n.y,r-Ys(c))))):c.alignment===Vs?(r=d.top+b.y,0===b.y&&n.yq.x+c.rowIndent&&(r=Math.min(r,Math.max(n.x,r-Ys(c))))):c.alignment===Vs?(r=d.left+b.x,0===b.x&&n.xh&&a.y>k&&a.righth&&b.y>k&&b.right=c.JI)){this.O^=4096;var d=!1;if(null!==c){d=c.wb;c.wb=!0;var e=c.selection;e.Ra();a?e.add(this):e.remove(this);e.freeze()}this.h("isSelected",b,a);this.de();a=this.xJ;null!==a&&a(this);null!==c&&(c.Me(),c.wb=d)}}}); +v.defineProperty(S,{Kg:"isHighlighted"},function(){return 0!==(this.O&524288)},function(a){var b=0!==(this.O&524288);if(b!==a){this.O^=524288;var c=this.g;null!==c&&(c=c.Sl,c.Ra(),a?c.add(this):c.remove(this),c.freeze());this.h("isHighlighted",b,a);this.oa();a=this.eI;null!==a&&a(this)}});v.defineProperty(S,{Xl:"isShadowed"},function(){return 0!==(this.O&8192)},function(a){var b=0!==(this.O&8192);b!==a&&(this.O^=8192,this.h("isShadowed",b,a),this.oa())});function vm(a){return 0!==(a.O&32768)} +function Tq(a,b){a.O=b?a.O|32768:a.O&-32769}function zo(a,b){a.O=b?a.O|65536:a.O&-65537}function fl(a){return 0!==(a.O&131072)}S.prototype.Cf=function(a){this.O=a?this.O|131072:this.O&-131073};function br(a,b){a.O=b?a.O|1048576:a.O&-1048577}v.defineProperty(S,{VE:"isAnimated"},function(){return 0!==(this.O&262144)},function(a){var b=0!==(this.O&262144);b!==a&&(this.O^=262144,this.h("isAnimated",b,a))}); +v.defineProperty(S,{eI:"highlightedChanged"},function(){return this.Dr},function(a){var b=this.Dr;b!==a&&(null!==a&&v.j(a,"function",S,"highlightedChanged"),this.Dr=a,this.h("highlightedChanged",b,a))});v.defineProperty(S,{VA:"selectionObjectName"},function(){return this.Ps},function(a){var b=this.Ps;b!==a&&(this.Ps=a,this.Zm=null,this.h("selectionObjectName",b,a))}); +v.defineProperty(S,{wJ:"selectionAdornmentTemplate"},function(){return this.Ns},function(a){var b=this.Ns;b!==a&&(this instanceof W&&(a.type=$i),this.Ns=a,this.h("selectionAdornmentTemplate",b,a))});v.u(S,{Au:"selectionObject"},function(){if(null===this.Zm){var a=this.VA;null!==a&&""!==a?(a=this.ud(a),this.Zm=null!==a?a:this):this instanceof W?(a=this.path,this.Zm=null!==a?a:this):this.Zm=this}return this.Zm}); +v.defineProperty(S,{xJ:"selectionChanged"},function(){return this.Os},function(a){var b=this.Os;b!==a&&(null!==a&&v.j(a,"function",S,"selectionChanged"),this.Os=a,this.h("selectionChanged",b,a))});v.defineProperty(S,{GF:"resizeAdornmentTemplate"},function(){return this.Ds},function(a){var b=this.Ds;b!==a&&(this.Ds=a,this.h("resizeAdornmentTemplate",b,a))}); +v.defineProperty(S,{IF:"resizeObjectName"},function(){return this.Fs},function(a){var b=this.Fs;b!==a&&(this.Fs=a,this.fp=null,this.h("resizeObjectName",b,a))});v.u(S,{HF:"resizeObject"},function(){if(null===this.fp){var a=this.IF;null!==a&&""!==a?(a=this.ud(a),this.fp=null!==a?a:this):this.fp=this}return this.fp});v.defineProperty(S,{mJ:"resizeCellSize"},function(){return this.Es},function(a){var b=this.Es;b.L(a)||(this.Es=a=a.S(),this.h("resizeCellSize",b,a))}); +v.defineProperty(S,{pJ:"rotateAdornmentTemplate"},function(){return this.Gs},function(a){var b=this.Gs;b!==a&&(this.Gs=a,this.h("rotateAdornmentTemplate",b,a))});v.defineProperty(S,{qJ:"rotateObjectName"},function(){return this.Hs},function(a){var b=this.Hs;b!==a&&(this.Hs=a,this.hp=null,this.h("rotateObjectName",b,a))});v.u(S,{KF:"rotateObject"},function(){if(null===this.hp){var a=this.qJ;null!==a&&""!==a?(a=this.ud(a),this.hp=null!==a?a:this):this.hp=this}return this.hp}); +v.defineProperty(S,{text:"text"},function(){return this.Gd},function(a){var b=this.Gd;b!==a&&(this.Gd=a,this.h("text",b,a))}); +v.defineProperty(S,{La:"containingGroup"},function(){return this.Xk},function(a){if(this.ee()){var b=this.Xk;if(b!==a){null===a||this!==a&&!a.li(this)||(this===a&&v.k("Cannot make a Group a member of itself: "+this.toString()),v.k("Cannot make a Group indirectly contain itself: "+this.toString()+" already contains "+a.toString()));this.J(Lm);var c=this.g;null!==b?cr(b,this):this instanceof V&&null!==c&&c.ul.remove(this);this.Xk=a;null!==a?dr(a,this):this instanceof V&&null!==c&&c.ul.add(this);this.J(Cm); +if(null!==c){var d=this.data,e=c.ca;null!==d&&e instanceof Q&&e.YA(d,e.ub(null!==a?a.data:null))}d=this.hE;null!==d&&(e=!0,null!==c&&(e=c.Ua,c.Ua=!0),d(this,b,a),null!==c&&(c.Ua=e));if(this instanceof V)for(c=new J(S),lh(c,this,!0,0,!0),c=c.i;c.next();)if(d=c.value,d instanceof T)for(d=d.ge;d.next();)fn(d.value);if(this instanceof T)for(d=this.ge;d.next();)fn(d.value);this.h("containingGroup",b,a);null!==a&&(b=a.layer,null!==b&&kl(b,-1,a))}}else v.k("cannot set the Part.containingGroup of a Link or Adornment")}); +g=S.prototype;g.Tl=function(){var a=this.La;null!==a&&(a.I(),null!==a.Kb&&a.Kb.I(),a.Uf())};g.oa=function(){var a=this.g;null!==a&&!um(this)&&!vm(this)&&this.isVisible()&&this.qc.H()&&a.oa(jl(this,this.qc))};g.I=function(){D.prototype.I.call(this);var a=this.g;null!==a&&(a.pg.add(this),this instanceof T&&null!==this.Oc&&Jo(this.Oc),a.Me(!0))};g.Tt=function(a){a||(a=this.Xk,null!==a&&dr(a,this))};g.Ut=function(a){a||(a=this.Xk,null!==a&&cr(a,this))}; +g.tn=function(){var a=this.data;if(null!==a){var b=this.g;null!==b&&(b=b.ca,null!==b&&b.Qx(a))}};v.defineProperty(S,{hE:"containingGroupChanged"},function(){return this.Tq},function(a){var b=this.Tq;b!==a&&(null!==a&&v.j(a,"function",S,"containingGroupChanged"),this.Tq=a,this.h("containingGroupChanged",b,a))});S.prototype.findSubGraphLevel=function(){return er(this,this)};function er(a,b){var c=b.La;return null!==c?1+er(a,c):b instanceof T&&(c=b.Oc,null!==c)?er(a,c):0} +S.prototype.findTopLevelPart=function(){return fr(this,this)};function fr(a,b){var c=b.La;return null!==c?fr(a,c):b instanceof T&&(c=b.Oc,null!==c)?fr(a,c):b}v.u(S,{Zp:"isTopLevel"},function(){return null!==this.La||this instanceof T&&this.of?!1:!0});S.prototype.isMemberOf=S.prototype.li=function(a){return a instanceof V?gr(this,this,a):!1};function gr(a,b,c){if(b===c||null===c)return!1;var d=b.La;return null===d||d!==c&&!gr(a,d,c)?b instanceof T&&(b=b.Oc,null!==b)?gr(a,b,c):!1:!0} +S.prototype.findCommonContainingGroup=S.prototype.LH=function(a){if(null===a)return null;if(this===a)return this.La;for(var b=this;null!==b;)b instanceof V&&br(b,!0),b=b.La;for(var c=null,b=a;null!==b;){if(0!==(b.O&1048576)){c=b;break}b=b.La}for(b=this;null!==b;)b instanceof V&&br(b,!1),b=b.La;return c};v.defineProperty(S,{yI:"layoutConditions"},function(){return this.Rr},function(a){var b=this.Rr;b!==a&&(this.Rr=a,this.h("layoutConditions",b,a))}); +S.prototype.canLayout=function(){if(!this.dF||!this.isVisible())return!1;var a=this.layer;return null!==a&&a.Mc||this instanceof T&&this.of?!1:!0};S.prototype.invalidateLayout=S.prototype.J=function(a){void 0===a&&(a=16777215);var b;this.dF&&0!==(a&this.yI)?(b=this.layer,null!==b&&b.Mc||this instanceof T&&this.of?b=!1:(b=this.g,b=null!==b&&b.pa.eb?!1:!0)):b=!1;if(b)if(b=this.Xk,null!==b){var c=b.Rb;null!==c?c.J():b.J(a)}else a=this.g,null!==a&&(c=a.Rb,null!==c&&c.J())}; +function Hm(a){if(!a.isVisible())return!1;a=a.layer;return null!==a&&a.Mc?!1:!0}v.defineProperty(S,{sE:"dragComputation"},function(){return this.lr},function(a){var b=this.lr;b!==a&&(null!==a&&v.j(a,"function",S,"dragComputation"),this.lr=a,this.h("dragComputation",b,a))});v.defineProperty(S,{BJ:"shadowOffset"},function(){return this.an},function(a){var b=this.an;b.L(a)||(this.an=a=a.S(),this.oa(),this.h("shadowOffset",b,a))}); +v.defineProperty(S,{shadowColor:"shadowColor"},function(){return this.$m},function(a){var b=this.$m;b!==a&&(this.$m=a,this.oa(),this.h("shadowColor",b,a))});v.defineProperty(S,{shadowBlur:"shadowBlur"},function(){return this.yg},function(a){var b=this.yg;b!==a&&(this.yg=a,this.oa(),this.h("shadowBlur",b,a))});function mh(a){0===arguments.length?S.call(this,Oj):S.call(this,a);this.O&=-257;this.kl="Adornment";this.Kb=this.Zg=this.Fc=null}v.Ma(mh,S);v.ga("Adornment",mh); +mh.prototype.toString=function(){var a=this.Of;return"Adornment("+this.kc+")"+(null!==a?a.toString():"")};mh.prototype.updateRelationshipsFromData=function(){};mh.prototype.Kn=function(a){var b=this.rb.V,c=this.rb;if(b instanceof W&&c instanceof X){var d=b.path,c=d.xf;b.Kn(a);c=d.xf;a=this.xa.n;b=a.length;for(d=0;da&&(a=1);var b=this.g;if(null!==b&&!b.vh){b.vh=!0;var c=new J(T);c.add(this);sr(this,c,b.Pd,a,b.Qa,this,b.lB===ql);b.vh=!1}}; +function sr(a,b,c,d,e,f,h){if(1a&&(a=2);var b=this.g;if(null!==b&&!b.vh){b.vh=!0;var c=new J(T);c.add(this);ur(this,c,b.Pd,a,b.Qa,this,b.lB===ql);b.vh=!1}};function ur(a,b,c,d,e,f,h){for(var k=f===a?!1:a.kd,l=c?a.bx():a.Hg();l.next();){var m=l.value;m.Nc&&(k||m.Yg||m.Xb(),m=m.gA(a),null!==m&&m!==a&&!b.contains(m)&&(b.add(m),k||(m.vd(!0),m.Tl(),h&&bl(e,m,f)),2a&&(a-=180);break;case Kp:a=ue(c+90);90a&&(a-=180);break;case Mp:a=ue(c-90);90a&&(a-=180);break;case Np:a=ue(c);if(45a||225a)return 0;90a&&(a-=180)}return ue(a)}; +v.defineProperty(W,{W:"fromNode"},function(){return this.lg},function(a){var b=this.lg;if(b!==a){var c=this.hd;null!==b&&(this.Bg!==b&&pr(b,this,c),Ar(this),this.J(Lm));this.lg=a;null!==a&&this.vd(a.isVisible());this.Fi=null;this.Xb();var d=this.g;if(null!==d){var e=this.data,f=d.ca;if(null!==e)if(f instanceof Q){var h=null!==a?a.data:null;f.WA(e,f.ub(h))}else f instanceof Yf&&(h=null!==a?a.data:null,d.Pd?f.ni(e,f.ub(h)):(null!==b&&f.ni(b.data,void 0),f.ni(h,f.ub(null!==this.Bg?this.Bg.data:null))))}e= +this.hd;f=this.FE;null!==f&&(h=!0,null!==d&&(h=d.Ua,d.Ua=!0),f(this,c,e),null!==d&&(d.Ua=h));null!==a&&(this.Bg!==a&&or(a,this,e),Br(this),this.J(Cm));this.h("fromNode",b,a);fn(this)}}); +v.defineProperty(W,{Ig:"fromPortId"},function(){return this.Nh},function(a){var b=this.Nh;if(b!==a){var c=this.hd;null!==c&&nr(this.W,c);Ar(this);this.Nh=a;var d=this.hd;null!==d&&nr(this.W,d);var e=this.g;if(null!==e){var f=this.data,h=e.ca;null!==f&&h instanceof Q&&h.XA(f,a)}c!==d&&(this.Fi=null,this.Xb(),f=this.FE,null!==f&&(h=!0,null!==e&&(h=e.Ua,e.Ua=!0),f(this,c,d),null!==e&&(e.Ua=h)));Br(this);this.h("fromPortId",b,a)}});v.u(W,{hd:"fromPort"},function(){var a=this.lg;return null===a?null:a.Ml(this.Nh)}); +v.defineProperty(W,{FE:"fromPortChanged"},function(){return this.ur},function(a){var b=this.ur;b!==a&&(null!==a&&v.j(a,"function",W,"fromPortChanged"),this.ur=a,this.h("fromPortChanged",b,a))}); +v.defineProperty(W,{aa:"toNode"},function(){return this.Bg},function(a){var b=this.Bg;if(b!==a){var c=this.Td;null!==b&&(this.lg!==b&&pr(b,this,c),Ar(this),this.J(Lm));this.Bg=a;null!==a&&this.vd(a.isVisible());this.Fi=null;this.Xb();var d=this.g;if(null!==d){var e=this.data,f=d.ca;if(null!==e)if(f instanceof Q){var h=null!==a?a.data:null;f.bB(e,f.ub(h))}else f instanceof Yf&&(h=null!==a?a.data:null,d.Pd?(null!==b&&f.ni(b.data,void 0),f.ni(h,f.ub(null!==this.lg?this.lg.data:null))):f.ni(e,f.ub(h)))}e= +this.Td;f=this.dG;null!==f&&(h=!0,null!==d&&(h=d.Ua,d.Ua=!0),f(this,c,e),null!==d&&(d.Ua=h));null!==a&&(this.lg!==a&&or(a,this,e),Br(this),this.J(Cm));this.h("toNode",b,a);fn(this)}}); +v.defineProperty(W,{Eh:"toPortId"},function(){return this.gi},function(a){var b=this.gi;if(b!==a){var c=this.Td;null!==c&&nr(this.aa,c);Ar(this);this.gi=a;var d=this.Td;null!==d&&nr(this.aa,d);var e=this.g;if(null!==e){var f=this.data,h=e.ca;null!==f&&h instanceof Q&&h.cB(f,a)}c!==d&&(this.Fi=null,this.Xb(),f=this.dG,null!==f&&(h=!0,null!==e&&(h=e.Ua,e.Ua=!0),f(this,c,d),null!==e&&(e.Ua=h)));Br(this);this.h("toPortId",b,a)}});v.u(W,{Td:"toPort"},function(){var a=this.Bg;return null===a?null:a.Ml(this.gi)}); +v.defineProperty(W,{dG:"toPortChanged"},function(){return this.it},function(a){var b=this.it;b!==a&&(null!==a&&v.j(a,"function",W,"toPortChanged"),this.it=a,this.h("toPortChanged",b,a))});v.defineProperty(W,{Ab:"fromSpot"},function(){return null!==this.U?this.U.Nj:nc},function(a){this.Ld();var b=this.U.Nj;b.L(a)||(a=a.S(),this.U.Nj=a,this.h("fromSpot",b,a),this.Xb())}); +v.defineProperty(W,{Pl:"fromEndSegmentLength"},function(){return null!==this.U?this.U.Lj:NaN},function(a){this.Ld();var b=this.U.Lj;b!==a&&(0>a&&v.Fa(a,">= 0",W,"fromEndSegmentLength"),this.U.Lj=a,this.h("fromEndSegmentLength",b,a),this.Xb())});v.defineProperty(W,{Ot:"fromEndSegmentDirection"},function(){return null!==this.U?this.U.Kj:ir},function(a){this.Ld();var b=this.U.Kj;b!==a&&(v.Ct("Link.fromEndSegmentDirection","2.0"),this.U.Kj=a,this.h("fromEndSegmentDirection",b,a),this.Xb())}); +v.defineProperty(W,{Pt:"fromShortLength"},function(){return null!==this.U?this.U.Mj:NaN},function(a){this.Ld();var b=this.U.Mj;b!==a&&(this.U.Mj=a,this.h("fromShortLength",b,a),this.Xb())});v.defineProperty(W,{Bb:"toSpot"},function(){return null!==this.U?this.U.mk:nc},function(a){this.Ld();var b=this.U.mk;b.L(a)||(a=a.S(),this.U.mk=a,this.h("toSpot",b,a),this.Xb())}); +v.defineProperty(W,{hm:"toEndSegmentLength"},function(){return null!==this.U?this.U.kk:NaN},function(a){this.Ld();var b=this.U.kk;b!==a&&(0>a&&v.Fa(a,">= 0",W,"toEndSegmentLength"),this.U.kk=a,this.h("toEndSegmentLength",b,a),this.Xb())});v.defineProperty(W,{Hu:"toEndSegmentDirection"},function(){return null!==this.U?this.U.jk:ir},function(a){this.Ld();var b=this.U.jk;b!==a&&(v.Ct("Link.toEndSegmentDirection","2.0"),this.U.jk=a,this.h("toEndSegmentDirection",b,a),this.Xb())}); +v.defineProperty(W,{Iu:"toShortLength"},function(){return null!==this.U?this.U.lk:NaN},function(a){this.Ld();var b=this.U.lk;b!==a&&(this.U.lk=a,this.h("toShortLength",b,a),this.Xb())});function fn(a){var b=a.W,c=a.aa;null!==b?null!==c?Cr(a,b.LH(c)):Cr(a,null):Cr(a,null)}function Cr(a,b){var c=a.Xk;if(c!==b){null!==c&&cr(c,a);a.Xk=b;null!==b&&dr(b,a);var d=a.hE;if(null!==d){var e=!0,f=a.g;null!==f&&(e=f.Ua,f.Ua=!0);d(a,c,b);null!==f&&(f.Ua=e)}!a.Yg||a.xD!==c&&a.yD!==c||a.Xb()}} +W.prototype.Tl=function(){var a=this.La;null!==a&&this.W!==a&&this.aa!==a&&a.Pw&&S.prototype.Tl.call(this)};W.prototype.getOtherNode=W.prototype.gA=function(a){var b=this.W;return a===b?this.aa:b};W.prototype.getOtherPort=function(a){var b=this.hd;return a===b?this.Td:b};v.u(W,{ZK:"isLabeledLink"},function(){return null===this.Ue?!1:0=d&&(h=d-1);var l=this.m(h-1),f=this.m(h);Sd(e.x,e.y,k.x,k.y,l.x,l.y,f.x,f.y,.5,a);b=Math.min(f.x,b);c=Math.min(f.y,c);e=f}else for(e=this.m(0),f=this.m(1),b=Math.min(e.x,f.x),c=Math.min(e.y,f.y),a.l(e.x,e.y,0,0),a.qi(f),h=2;hc&&(c=-c)):$a(c.y,d.y)?(c=d.x-c.x,0>c&&(c=-c)):c=Math.sqrt(c.wf(d)),f.push(c),e+=c;for(d=h=c=0;ce/2)break;c+=d;h++}v.wa(f);b=this.m(h);f=this.m(h+1);b.x===f.x?b.y>f.y?a.l(b.x,b.y-(e/2-c)):a.l(b.x,b.y+(e/2-c)):b.y===f.y?b.x>f.x?a.l(b.x-(e/2-c),b.y):a.l(b.x+(e/2-c),b.y):(c=(e/2-c)/d,a.l(b.x+c*(f.x-b.x),b.y+c*(f.y-b.y)));return a};v.u(W,{nF:"midAngle"},function(){this.Yn();return this.computeMidAngle()}); +W.prototype.computeMidAngle=function(){var a=this.ra;if(2>a)return NaN;if(this.computeCurve()===jj&&4<=a&&!this.mc){var b=(a-1)/3|0,c=3*(b/2|0);if(1===b%2){var c=Math.floor(c),b=this.m(c),d=this.m(c+1),a=this.m(c+2),c=this.m(c+3),e=d.x,d=d.y,f=a.x,a=a.y,h=(e+f)/2,k=(d+a)/2;return Va(((b.x+e)/2+h)/2,((b.y+d)/2+k)/2,(h+(f+c.x)/2)/2,(k+(a+c.y)/2)/2)}if(0e+10))?e>c+10?d.Ac(a):b.Ac(a):b.Ac(d);b=this.m(c-1);d=this.m(c);a=this.m(c+1);c=b.wf(d);e=d.wf(a);return c>e+10?b.Ac(d):e>c+10?d.Ac(a):b.Ac(a)}; +v.defineProperty(W,{points:"points"},function(){return this.dd},function(a){var b=this.dd;if(b!==a){var c=null;if(Array.isArray(a)){var d=0===a.length%2;if(d)for(var e=0;em&&(p=-p),u=(0>l?-1:1)*p+r,t=n*(u- +r)+s);var r=h.x+2*k/3,s=h.y+2*l/3,x=r,w=s;K(l,0)?w=0l?-1:1)*p+r,w=n*(x-r)+s);this.Gp();this.hi(h);this.zl(u,t);this.zl(x,w);this.hi(q);this.Sg(0,this.getLinkPoint(b,c,d,!0,!1,e,f));this.Sg(3,this.getLinkPoint(e,f,a,!1,!1,b,c))}else d=this.getLinkPoint(b,c,d,!0,!1,e,f),a=this.getLinkPoint(e,f,a,!1,!1,b,c),this.hasCurviness()?(q=a.x-d.x,e=a.y-d.y,f=this.computeCurviness(),b=d.x+q/2,c=d.y+e/2,h=b,k=c,K(e,0)?k=0f&&(h=-h),h=(0>e?-1:1)*h+b, +k=q*(h-b)+c),this.hi(d),this.zl(h,k)):this.hi(d),this.hi(a)}else{p=this.Ck;q&&(n&&p||m)&&this.Gp();var z=m?this.computeCurviness():0,p=this.getLinkPoint(b,c,d,!0,n,e,f),r=u=s=0;if(n||!k||m)if(t=this.computeEndSegmentLength(b,c,d,!0),r=this.getLinkDirection(b,c,p,d,!0,n,e,f),m&&(k||d.L(a)||!n&&1===d.x+a.x&&1===d.y+a.y)&&(r-=n?90:30,0>z&&(r-=180)),0>r?r+=360:360<=r&&(r-=360),m&&(t+=Math.abs(z)*(n?1:2)),0===r?s=t:90===r?u=t:180===r?s=-t:270===r?u=-t:(s=t*Math.cos(r*Math.PI/180),u=t*Math.sin(r*Math.PI/ +180)),d.Od()&&m){var A=c.Va(Gb,v.K()),H=v.xb(A.x+1E3*s,A.y+1E3*u);this.getLinkPointFromPoint(b,c,A,H,!0,p);v.v(A);v.v(H)}var t=this.getLinkPoint(e,f,a,!1,n,b,c),C=w=x=0;if(n||!l||m)A=this.computeEndSegmentLength(e,f,a,!1),C=this.getLinkDirection(e,f,t,a,!1,n,b,c),m&&(l||d.L(a)||!n&&1===d.x+a.x&&1===d.y+a.y)&&(C+=n?0:30,0>z&&(C+=180)),0>C?C+=360:360<=C&&(C-=360),m&&(A+=Math.abs(z)*(n?1:2)),0===C?x=A:90===C?w=A:180===C?x=-A:270===C?w=-A:(x=A*Math.cos(C*Math.PI/180),w=A*Math.sin(C*Math.PI/180)),a.Od()&& +m&&(A=f.Va(Gb,v.K()),H=v.xb(A.x+1E3*x,A.y+1E3*w),this.getLinkPointFromPoint(e,f,A,H,!1,t),v.v(A),v.v(H));a=p;if(n||!k||m)a=new y(p.x+s,p.y+u);d=t;if(n||!l||m)d=new y(t.x+x,t.y+w);!q&&!n&&k&&3Math.abs(b.y-a.y)?(b.x=b.x>=a.x?a.x+9E9:a.x-9E9,b.y=a.y):(b.y=b.y>=a.y?a.y+9E9:a.y-9E9,b.x=a.x);return b} +W.prototype.getLinkPointFromPoint=function(a,b,c,d,e,f){void 0===f&&(f=new y);if(null===a||null===b)return f.assign(c),f;a.isVisible()||(e=a.findVisibleNode(),null!==e&&e!==a&&(b=e.port));var h=e=0,k=0,l=0;a=null;e=b.N;null===e||e.Xg()||(e=e.N);if(null===e)e=d.x,h=d.y,k=c.x,l=c.y;else{a=e.oh;e=1/(a.m11*a.m22-a.m12*a.m21);var k=a.m22*e,l=-a.m12*e,m=-a.m21*e,n=a.m11*e,p=e*(a.m21*a.dy-a.m22*a.dx),q=e*(a.m12*a.dx-a.m11*a.dy);e=d.x*k+d.y*m+p;h=d.x*l+d.y*n+q;k=c.x*k+c.y*m+p;l=c.x*l+c.y*n+q}b.zn(e,h,k,l, +f);null!==a&&f.transform(a);return f};function Jr(a,b){var c=b.ys;null===c&&(c=new Kr,c.port=b,c.Qc=b.V,b.ys=c);return Lr(c,a)} +W.prototype.getLinkPoint=function(a,b,c,d,e,f,h,k){void 0===k&&(k=new y);if(c.jd())return b.Va(c,k),k;if(c.oj()){var l=Jr(this,b);if(null!==l){k.assign(l.bq);if(e&&this.Sx===zr){var m=Jr(this,h);if(null!==m&&l.rn=n.y&&a.y<=n.y+n.height?k.y=a.y:(c.nj(Sb)||c.nj($b))&&a.x>=n.x&&a.x<=n.x+n.width&&(k.x=a.x);v.v(l);v.v(m)}}return k}}c=b.Va(Gb,v.K());l=f=null;this.ra> +(e?6:2)?(l=d?this.m(1):this.m(this.ra-2),e&&(l=Ir(c,l.copy()))):(f=v.K(),l=h.Va(Gb,f),e&&(l=Ir(c,l)),v.v(f));this.getLinkPointFromPoint(a,b,c,l,d,k);v.v(c);return k}; +W.prototype.getLinkDirection=function(a,b,c,d,e,f,h,k){a:if(d.jd())c=d.x>d.y?d.x>1-d.y?0:d.x<1-d.y?270:315:d.x1-d.y?90:d.x<1-d.y?180:135:.5>d.x?225:.5(f?6:2)?(n=e?this.m(1):this.m(this.ra-2),n=f?Ir(l,n.copy()):c):(m=v.K(),n=k.Va(Gb,m),v.v(m));c=0;c=Math.abs(n.x-l.x)>Math.abs(n.y- +l.y)?n.x>=l.x?0:180:n.y>=l.y?90:270;v.v(l)}d.Od()&&h.li(a)&&(c+=180,360<=c&&(c-=360));a=ir;a=e?this.Ot:this.Hu;a===ir&&(a=e?b.Ot:b.Hu);switch(a){case jr:b=b.xn();c+=b;360<=c&&(c-=360);break;case ir:case po:b=b.xn();if(0===b)break;45<=b&&135>b?c+=90:135<=b&&225>b?c+=180:225<=b&&315>b&&(c+=270);360<=c&&(c-=360)}return c}; +W.prototype.computeEndSegmentLength=function(a,b,c,d){if(null!==b&&c.oj()&&(a=Jr(this,b),null!==a))return a.Yw;a=NaN;a=d?this.Pl:this.hm;null!==b&&isNaN(a)&&(a=d?b.Pl:b.hm);isNaN(a)&&(a=10);return a};W.prototype.computeSpot=function(a){return a?Gr(this,this.hd):Hr(this,this.Td)};function Gr(a,b){if(null===b)return Gb;var c=a.Ab;c.Xc()&&null!==b&&(c=b.Ab);return c===nc?vb:c}function Hr(a,b){if(null===b)return Gb;var c=a.Bb;c.Xc()&&null!==b&&(c=b.Bb);return c===nc?vb:c} +W.prototype.computeOtherPoint=function(a,b){var c=b.Va(Gb),d;d=b.ys;d=null!==d?Lr(d,this):null;null!==d&&(c=d.bq);return c};W.prototype.computeShortLength=function(a){if(a){if(a=this.Pt,isNaN(a)){var b=this.hd;null!==b&&(a=b.Pt)}}else a=this.Iu,isNaN(a)&&(b=this.Td,null!==b&&(a=b.Iu));return isNaN(a)?0:a}; +W.prototype.xk=function(a,b,c,d,e,f){if(!1===this.Qg)return!1;void 0===b&&(b=null);void 0===c&&(c=null);var h=f;void 0===f&&(h=v.Ff(),h.reset());h.multiply(this.transform);if(this.on(a,h))return Tp(this,b,c,e),void 0===f&&v.we(h),!0;if(this.Jg(a,h)){var k=!1;if(!this.En)for(var l=this.xa.n,m=l.length;m--;){var n=l[m];if(n.visible||n===this.ec){var p=n.Y,q=this.Ja;if(!(p.x>q.width||p.y>q.height||0>p.x+p.width||0>p.y+p.height)){p=v.Ff();p.set(h);if(n instanceof D)k=n.xk(a,b,c,d,e,p);else if(this.path=== +n){var k=n,r=a,s=d,q=p;if(!1===k.Qg)k=!1;else if(q.multiply(k.transform),s)b:{var u=r,t=q;if(k.on(u,t))k=!0;else{if(void 0===t&&(t=k.transform,u.tk(k.Y))){k=!0;break b}var q=u.left,r=u.right,s=u.top,u=u.bottom,x=v.K(),w=v.K(),z=v.K(),A=v.Ff();A.set(t);A.qF(k.transform);A.mx();w.x=r;w.y=s;w.transform(A);x.x=q;x.y=s;x.transform(A);t=!1;eq(k,x,w,z)?t=!0:(x.x=r,x.y=u,x.transform(A),eq(k,x,w,z)?t=!0:(w.x=q,w.y=u,w.transform(A),eq(k,x,w,z)?t=!0:(x.x=q,x.y=s,x.transform(A),eq(k,x,w,z)&&(t=!0))));v.we(A); +v.v(x);v.v(w);v.v(z);k=t}}else k=k.on(r,q)}else k=vo(n,a,d,p);k&&(null!==b&&(n=b(n)),n&&(null===c||c(n))&&e.add(n));v.we(p)}}}void 0===f&&v.we(h);return k||null!==this.background||null!==this.jn}void 0===f&&v.we(h);return!1};v.u(W,{mc:"isOrthogonal"},function(){return 2===(this.Sm.value&2)});v.u(W,{Ck:"isAvoiding"},function(){return 4===(this.Sm.value&4)});W.prototype.computeCurve=function(){if(null===this.Fi){var a=this.hd,b=this.mc;this.Fi=null!==a&&a===this.Td&&!b}return this.Fi?jj:this.Ze}; +W.prototype.computeCorner=function(){if(this.Ze===jj)return 0;var a=this.Sz;if(isNaN(a)||0>a)a=10;return a};W.prototype.findMidLabel=function(){for(var a=this.path,b=this.xa.n,c=b.length,d=0;dl?-Math.PI/2:Math.PI/2:(n=Math.atan(l/Math.abs(k)),0>k&&(n=Math.PI-n));var h=b.x,p=b.y,l=d.x-h,q=d.y-p,r=Math.sqrt(l*l+q*q),k=0;$a(l,0)?k=0>q?-Math.PI/2:Math.PI/2:(k=Math.atan(q/Math.abs(l)),0>l&&(k=Math.PI-k));m=r/m;n=k-n;this.Sg(a,b);for(a+= +1;al?-Math.PI/2:Math.PI/2:(q=Math.atan(l/Math.abs(k)),0>k&&(q=Math.PI-q)),k=q+n,b*=m,this.ea(a,h+b*Math.cos(k),p+b*Math.sin(k)));this.Sg(c,d)}}return!0;case yr:f=this.m(a);p=this.m(c);if(!f.Lc(b)||!p.Lc(d)){var e=f.x,f=f.y,h=p.x,p=p.y,m=(h-e)*(h-e)+(p-f)*(p-f),k=b.x,n=b.y,l=d.x,q=d.y,r=0,s=1;0!==l-k?(r=(q-n)/(l-k),s=Math.sqrt(1+1/(r*r))):r=9E9;this.Sg(a,b);for(a+=1;ab?0:45<=b&&135>b?90:135<=b&&225>b?180:270;d=-45<=d&&45>d?0:45<=d&&135>d?90:135<=d&&225>d?180:270;var h=e.Y.copy(),k=f.Y.copy();if(h.H()&&k.H()){h.Tf(8,8);k.Tf(8,8);h.qi(a);k.qi(c);var l,m;if(0===b)if(c.x>a.x||270===d&&c.ya.x||90===d&&c.y>a.y&&k.right>a.x)l=new y(c.x,a.y),m=new y(c.x,(a.y+c.y)/2),180===d?(l.x=this.computeMidOrthoPosition(a.x,c.x,!1),m.x=l.x,m.y=c.y):270===d&&c.ya.y?(l.x=a.xk.bottom)?this.computeMidOrthoPosition(a.x,c.x,!1):k.right,m.x=l.x,m.y=c.y):0===d&&a.xk.top&&a.yh.bottom)180===d&&(k.Ha(a)||h.Ha(c))?l.y=this.computeMidOrthoPosition(a.y,c.y,!0):c.ya.y&&(180===d||270===d)&&(l.y=this.computeMidOrthoPosition(h.bottom,Math.min(c.y,k.top),!0)),m.x=c.x,m.y=l.y;if(l.y>h.top&&l.y=h.left&&c.x<=a.x||a.x<=k.right&&a.x>=c.x){if(90===d||270===d)l=new y(Math.max((a.x+c.x)/2,a.x),a.y),m=new y(l.x,c.y)}else l.y=270===d||(0===d||180===d)&&c.ya.y&&k.lefta.y?(l.x=a.x>k.right?this.computeMidOrthoPosition(a.x,k.right,!1):a.x>k.left&&(270===d&&a.yk.bottom)?this.computeMidOrthoPosition(a.x,c.x,!1):k.left,m.x=l.x,m.y=c.y):180===d&&a.x>k.right&&a.y>k.top&&a.yh.bottom)0===d&&(k.Ha(a)||h.Ha(c))?l.y=this.computeMidOrthoPosition(a.y,c.y,!0):c.ya.y&&(0===d||270===d)&&(l.y=this.computeMidOrthoPosition(h.bottom,Math.min(c.y,k.top),!0)),m.x=c.x,m.y=l.y;if(l.y>h.top&&l.y=a.x||a.x>=k.left&&a.x<=c.x){if(90===d||270===d)l=new y(Math.min((a.x+c.x)/2,a.x),a.y),m=new y(l.x,c.y)}else l.y=270=== +d||(0===d||180===d)&&c.ya.y||180===d&&c.xa.y||0===d&&c.x>a.x&&k.bottom>a.y)l=new y(a.x,c.y),m=new y((a.x+c.x)/2,c.y),270===d?(l.y=this.computeMidOrthoPosition(a.y,c.y,!0),m.x=c.x,m.y=l.y):180===d&&c.xa.x?(l.y=a.yk.right)? +this.computeMidOrthoPosition(a.y,c.y,!0):k.bottom,m.x=c.x,m.y=l.y):90===d&&a.yk.left&&a.xh.right)270===d&&(k.Ha(a)||h.Ha(c))?l.x=this.computeMidOrthoPosition(a.x,c.x,!1):c.xa.x&&(270===d||180===d)&&(l.x=this.computeMidOrthoPosition(h.right, +Math.min(c.x,k.left),!1)),m.x=l.x,m.y=c.y;if(l.x>h.left&&l.x=h.top&&c.y<=a.y||a.y<=k.bottom&&a.y>=c.y){if(0===d||180===d)l=new y(a.x,Math.max((a.y+c.y)/2,a.y)),m=new y(c.x,l.y)}else l.x=180===d||(90===d||270===d)&&c.xa.x&&k.top=a.x?(l.y=a.y>k.bottom?this.computeMidOrthoPosition(a.y,k.bottom,!0):a.y>k.top&&(180===d&&a.xk.right)?this.computeMidOrthoPosition(a.y,c.y,!0):k.top,m.x=c.x,m.y=l.y):270===d&&a.y>k.bottom&&a.x>k.left&&a.xh.right)90===d&&(k.Ha(a)||h.Ha(c))?l.x=this.computeMidOrthoPosition(a.x, +c.x,!1):c.xa.x&&(90===d||180===d)&&(l.x=this.computeMidOrthoPosition(h.right,Math.min(c.x,k.left),!1)),m.x=l.x,m.y=c.y;if(l.x>h.left&&l.x=a.y||a.y>=k.top&&a.y<=c.y){if(0===d||180===d)l=new y(a.x,Math.min((a.y+c.y)/2,a.y)),m=new y(c.x,l.y)}else l.x=180===d||(90===d||270===d)&&c.xk&&0!==Nr(e,c.x,c.y)){Or(this,e,c.x,c.y,d,!0);d=this.m(2);if(4>this.ra)0===b||180===b?(d.x=a.x,d.y=c.y):(d.x=c.x,d.y=a.y),this.ea(2,d.x,d.y),this.w(3,d.x,d.y);else if(c=this.m(3),0===b|| +180===b)K(d.x,c.x)?(b=0===b?Math.max(d.x,a.x):Math.min(d.x,a.x),this.ea(2,b,a.y),this.ea(3,b,c.y)):K(d.y,c.y)?(Math.abs(a.y-d.y)<=e.Dp/2&&(this.ea(2,d.x,a.y),this.ea(3,c.x,a.y)),this.w(2,d.x,a.y)):this.ea(2,a.x,d.y);else if(90===b||270===b)K(d.y,c.y)?(b=90===b?Math.max(d.y,a.y):Math.min(d.y,a.y),this.ea(2,a.x,b),this.ea(3,c.x,b)):K(d.x,c.x)?(Math.abs(a.x-d.x)<=e.Fp/2&&(this.ea(2,a.x,d.y),this.ea(3,a.x,c.y)),this.w(2,a.x,d.y)):this.ea(2,d.x,a.y);a=!0}else a=!1}else a=!1;a||(this.hi(l),this.hi(m))}}; +W.prototype.computeMidOrthoPosition=function(a,b){if(this.hasCurviness()){var c=this.computeCurviness();return(a+b)/2+c}return(a+b)/2};function Hh(a){if(null===a.g||!a.Ck)return!1;var b=a.points.n,c=b.length;if(4>c)return!1;a=un(a.g,!0,a.La,null);for(var d=1;da)return new ye(Ce);var b=!1,c=this.g;null!==c&&Dr(this)&&c.Zk.contains(this)&&null!==this.gw&&(b=!0);var d=c=0,e=this.m(0).copy(),f=e.copy(),c=this.dd.n,h=this.computeCurve();if(h===jj&&3<=a&&!$a(this.wq,0))if(3===a)var k=this.m(1),c=Math.min(e.x,k.x),d=Math.min(e.y,k.y),k=this.m(2),c=Math.min(c,k.x),d=Math.min(d,k.y);else{if(this.mc)for(k=0;k=a&&(k=a-1),c=this.m(k), +f.x=Math.min(c.x,f.x),f.y=Math.min(c.y,f.y);c=f.x;d=f.y}else{for(k=0;kx?r>q?(u.x=w-A,u.y=q-A,t.x=w+s,t.y=q+s):(u.x=w-A,u.y=q+A,t.x=w+s,t.y=q-s):r>q?(u.x=w+A,u.y=q-A,t.x=w-s,t.y=q+s):(u.x=w+A,u.y=q+A,t.x=w-s,t.y=q-s));$a(x,w)&&$a(q,r)&&(q>p?(z>w?(u.x= +w-A,u.y=q-A,t.x=w+s):(u.x=w+A,u.y=q-A,t.x=w-s),t.y=q+s):(z>w?(u.x=w-A,u.y=q+A,t.x=w+s):(u.x=w+A,u.y=q+A,t.x=w-s),t.y=q-s));if($a(x,w)&&$a(w,z)||$a(p,q)&&$a(q,r))x=.5*(x+z),p=.5*(p+r),u.x=x,u.y=p,t.x=x,t.y=p;1===k?(e.x=.5*(b.x+m.x),e.y=.5*(b.y+m.y)):2===k&&$a(b.x,this.m(0).x)&&$a(b.y,this.m(0).y)&&(e.x=.5*(b.x+m.x),e.y=.5*(b.y+m.y));O(l,e.x-c,e.y-d,h.x-c,h.y-d,m.x-c,m.y-d);f.set(h);e.set(a);b=m}}k=b.x;b=b.y;f=this.m(this.ra-1);0!==this.computeShortLength(!1)&&(f=Pr(this,f.copy(),!1,$c));k=.5*(k+f.x); +b=.5*(b+f.y);O(l,a.x-c,a.y-d,k-c,b-d,f.x-c,f.y-d)}else for(k=3;k=a&&(k=a-1),f=this.m(k-1),e=this.m(k),k===a-1&&0!==this.computeShortLength(!1)&&(e=Pr(this,e.copy(),!1,$c)),O(l,b.x-c,b.y-d,f.x-c,f.y-d,e.x-c,e.y-d);else{f=v.K();f.assign(this.m(0));for(k=1;k=a-1){f!==u&&(0!==this.computeShortLength(!1)&&(u=Pr(this,u.copy(),!1,$c)),Sr(this,l,-c,-d,f,u,b));break}k=Qr(this,u,k+1,kn.x?u.x-s:u.x+s,A=t.y>u.y?u.y+w:u.y-w,Sr(this,e,h,m,n,new y(q,z),p),Pe(e,u.x+h,u.y+m,r+h,A+m),x.l(r,A))):K(n.x,u.x)&&K(u.y,t.y)?(s=this.computeCorner(),w=Math.min(s,Math.abs(u.y-n.y)/2),w=s=Math.min(w,Math.abs(t.x-u.x)/2),K(s,0)?(Sr(this,e,h,m,n,u,p),x.assign(u)):(q=u.x,A=z=u.y,z=u.y>n.y?u.y-w:u.y+w,r=t.x>u.x?u.x+s:u.x-s,Sr(this,e, +h,m,n,new y(q,z),p),Pe(e,u.x+h,u.y+m,r+h,A+m),x.l(r,A))):(Sr(this,e,h,m,n,u,p),x.assign(u))}v.v(f)}c=l.o;v.q(l)}else l=this.m(1).copy(),l.x-=c,l.y-=d,0!==this.computeShortLength(!0)&&(e=Pr(this,e,!0,f)),0!==this.computeShortLength(!1)&&(l=Pr(this,l,!1,f)),c=new ye(Ce),c.ja=e.x,c.ha=e.y,c.C=l.x,c.D=l.y;return c}; +function Rr(a,b,c,d){a=c-a;if(isNaN(a)||Infinity===a||-Infinity===a)return NaN;0>a&&(a=-a);b=d-b;if(isNaN(b)||Infinity===b||-Infinity===b)return NaN;0>b&&(b=-b);return $a(a,0)?b:$a(b,0)?a:Math.sqrt(a*a+b*b)} +function Pr(a,b,c,d){var e=a.ra;if(2>e)return b;if(c){var f=a.m(1);c=f.x-d.x;d=f.y-d.y;f=Rr(b.x,b.y,c,d);if(0===f)return b;e=2===e?.5*f:f;a=a.computeShortLength(!0);a>e&&(a=e);c=a*(c-b.x)/f;a=a*(d-b.y)/f;b.x+=c;b.y+=a}else{f=a.m(e-2);c=f.x-d.x;d=f.y-d.y;f=Rr(b.x,b.y,c,d);if(0===f)return b;e=2===e?.5*f:f;a=a.computeShortLength(!1);a>e&&(a=e);c=a*(b.x-c)/f;a=a*(b.y-d)/f;b.x-=c;b.y-=a}return b} +function Qr(a,b,c,d){for(var e=a.ra,f=b;$a(b.x,f.x)&&$a(b.y,f.y);){if(c>=e)return e-1;f=a.m(c++)}if(!$a(b.x,f.x)&&!$a(b.y,f.y))return c-1;for(var h=f;$a(b.x,f.x)&&$a(f.x,h.x)&&(!d||(b.y>=f.y?f.y>=h.y:f.y<=h.y))||$a(b.y,f.y)&&$a(f.y,h.y)&&(!d||(b.x>=f.x?f.x>=h.x:f.x<=h.x));){if(c>=e)return e-1;h=a.m(c++)}return c-2} +function Sr(a,b,c,d,e,f,h){if(!h&&Dr(a)){h=[];var k=0;a.isVisible()&&(k=Tr(a,e,f,h));var l=e.x,l=e.y;if(0p-10)m--,p=Math.max(q-5,f.x);else break;q=f.y-10+d;n=p+c;p=f.y+d;a.Ze===bj?N(b,n,p,!1,!1):O(b,l,q,n,q,n,p)}else if(K(e.x,f.x))if(e.yp-10)m--,p=Math.max(q-5,f.y);else break;q=f.x-10+c;n=f.x+c;p+=d;a.Ze===bj?N(b,n,p,!1,!1):O(b,q,l,q,p,n,p)}}b.lineTo(f.x+c,f.y+d)} +function Tr(a,b,c,d){var e=a.g;if(null===e||b.L(c))return 0;for(e=e.Ax;e.next();){var f=e.value;if(null!==f&&f.visible)for(var f=f.zb.n,h=f.length,k=0;kh.x&&n.x>m.x||m.xh.y&&n.y>m.y||m.yu&&Math.min(h,x)q&&!K(h,x)){n.x=u;n.y=q;n=!0;break a}}else if(!K(q,s)&&K(h,x)&&Math.min(q,s)h&&Math.min(u,t)p&&!K(u,t)){n.x=p;n.y=h;n=!0;break a}n.x=0;n.y=0;n=!1}n&&(e?c.push(k.x):c.push(k.y));h=m}v.v(k)}v.u(W,{Kt:"firstPickIndex"},function(){var a;2>=this.ra?a=0:((a=this.mc)||(a=this.computeSpot(!0)!==vb),a=a?1:0);return a});v.u(W,{yx:"lastPickIndex"},function(){var a=this.ra;if(0===a)a=0;else if(2>=a)a-=1;else{var b;(b=this.mc)||(b=this.computeSpot(!1)!==vb);a=b?a-2:a-1}return a});function Dr(a){a=a.Ze;return a===aj||a===bj} +function Fr(a,b){if(b||Dr(a)){var c=a.g;null===c||c.Zk.contains(a)||null===a.gw||c.Zk.add(a,a.gw)}}function dj(a,b){var c=a.layer;if(null!==c&&c.visible&&!c.Mc){var d=c.g;if(null!==d)for(var e=!1,d=d.Ax;d.next();){var f=d.value;if(f.visible)if(f===c)for(var e=!0,h=!1,f=f.zb.n,k=f.length,l=0;l=a.width||0>=a.height)){var b=a.y,c=a.x+a.width,d=a.y+a.height;this.ug=Math.floor((a.x-this.Be)/this.Be)*this.Be;this.vg=Math.floor((b-this.Ce)/this.Ce)*this.Ce;this.Yr=Math.ceil((c+2*this.Be)/this.Be)*this.Be;this.Zr=Math.ceil((d+2*this.Ce)/this.Ce)*this.Ce;a=1+(Math.ceil((this.Yr-this.ug)/this.Be)|0);b=1+(Math.ceil((this.Zr-this.vg)/this.Ce)|0);if(null===this.zd||this.xpthis.Yr||a+cthis.Zr||b+da&&(c+=a,a=0);0>b&&(e+=b,b=0);if(0>c||0>e)return!0;d=Math.min(a+c-1,this.xp)|0;for(c=Math.min(b+e-1,this.yp)|0;a<=d;a++)for(e=b;e<=c;e++)if(0===this.zd[a][e])return!1;return!0}; +function Xr(a,b,c,d,e,f,h,k,l){if(!(bh||cl)){var m,n;m=b|0;n=c|0;var p=a.zd[m][n];if(1<=p&&999999>p)for(e?n+=d:m+=d,p+=1;f<=m&&m<=h&&k<=n&&n<=l&&!(p>=a.zd[m][n]);)a.zd[m][n]=p,p+=1,e?n+=d:m+=d;m=e?n:m;if(e)if(0m;c+=d)Xr(a,b,c,1,!e,f,h,k,l),Xr(a,b,c,-1,!e,f,h,k,l);else if(0m;b+=d)Xr(a,b,c,1,!e,f,h,k,l),Xr(a,b,c,-1,!e,f,h, +k,l)}}function Yr(a,b,c,d,e,f,h,k,l){b|=0;c|=0;var m=0,n=1;for(a.zd[b][c]=n;0===m&&b>f&&bk&&cf&&bk&&c=Math.abs(h-b)&&1>=Math.abs(k-d))a.abort=!0;else{var l=f.x,m=f.y,n=f.x+f.width,p=f.y+f.height,l=l-a.ug,l=l/a.Be,m=m-a.vg,m=m/a.Ce,n=n-a.ug,n=n/a.Be,p=p-a.vg,p=p/a.Ce;f=Math.max(0,Math.min(a.xp,l|0));n=Math.min(a.xp,Math.max(0,n|0));m=Math.max(0,Math.min(a.yp,m|0));p=Math.min(a.yp,Math.max(0,p|0));h|=0;k|=0;b|=0;d|=0;l=90===c|| +270===c;Yr(a,h,k,0===c||90===c?1:-1,l,f,n,m,p);Yr(a,h,k,1,!l,f,n,m,p);Yr(a,h,k,-1,!l,f,n,m,p);Zr(a,b,d,0===e||90===e?1:-1,90===e||270===e,f,n,m,p);Zr(a,b,d,1,!(90===e||270===e),f,n,m,p);Zr(a,b,d,-1,!(90===e||270===e),f,n,m,p);a.abort||(Xr(a,h,k,1,!1,f,n,m,p),Xr(a,h,k,-1,!1,f,n,m,p),Xr(a,h,k,1,!0,f,n,m,p),Xr(a,h,k,-1,!0,f,n,m,p))}}}function Kr(){v.pc(this);this.port=this.Qc=null;this.ag=[];this.iq=!1}v.ae(Kr,{Qc:!0,port:!0,ag:!0,iq:!0}); +Kr.prototype.toString=function(){for(var a=this.ag,b=this.Qc.toString()+" "+a.length.toString()+":",c=0;c=c?180:0}a=180*Math.atan2(a.height,a.width)/Math.PI;switch(b){case v.Tc|v.md:return c>a&&c<=180+a?180:270;case v.md|v.bd:return c>180-a&&c<=360-a?270:0;case v.bd|v.ad:return c>a&&c<=180+a?90:0;case v.ad|v.Tc:return c>180-a&&c<=360-a?180:90;case v.Tc|v.md|v.bd:return 90180+a&&c<=360- +a?270:0;case v.md|v.bd|v.ad:return 180a&&180>=c?90:0;case v.bd|v.ad|v.Tc:return c>a&&c<=180-a?90:c>180-a&&270>=c?180:0;case v.ad|v.Tc|v.md:return c>180-a&&c<=180+a?180:c>180+a?270:90}d&&b!==(v.Tc|v.md|v.bd|v.ad)&&(c-=15,0>c&&(c+=360));return c>a&&c<180-a?90:c>=180-a&&c<=180+a?180:c>180+a&&c<360-a?270:0}Kr.prototype.Xp=function(){this.ag.length=0}; +function Lr(a,b){var c=a.ag;if(0===c.length){a:if(!a.iq){c=a.iq;a.iq=!0;var d,e=null,f=a.Qc,f=f instanceof V?f:null;if(null===f||f.ye)d=a.Qc.xE(a.port.Qd);else{if(!f.Y.H()){a.iq=c;break a}e=f;d=e.wE()}var h=a.ag.length=0,k=a.port.Va(xb,v.K()),l=a.port.Va(Mb,v.K()),f=v.Ug(k.x,k.y,0,0);f.qi(l);v.v(k);v.v(l);k=v.xb(f.x+f.width/2,f.y+f.height/2);for(d=d.i;d.next();)if(l=d.value,l.isVisible()){var m=l.hd===a.port||l.W.li(e),n=l.computeSpot(m);if(n.oj()&&(m=m?l.Td:l.hd,null!==m)){var p=m.V;if(null!==p){var m= +l.computeOtherPoint(p,m),p=k.Ac(m),n=$r(f,n,p,l.mc),q=0;0===n?(q=v.bd,180Math.abs(C)?(z=Math.abs(C)/ +q,q=Math.abs(C)):z=1;break;case v.Tc:r>Math.abs(H)?(z=Math.abs(H)/r,r=Math.abs(H)):z=1;break;case v.md:m>Math.abs(C)?(z=Math.abs(C)/m,m=Math.abs(C)):z=1;break;default:case v.bd:p>Math.abs(H)?(z=Math.abs(H)/p,p=Math.abs(H)):z=1}w=0}var R=u.bq;if(e===kr){t=u.link.computeThickness();t*=z;R.set(A);switch(x){case v.ad:R.x=A.x+C/2+q/2-w-t/2;break;case v.Tc:R.y=A.y+H/2+r/2-w-t/2;break;case v.md:R.x=A.x+C/2-m/2+w+t/2;break;default:case v.bd:R.y=A.y+H/2-p/2+w+t/2}w+=t}else t=.5,e===hr&&(t=(u.Vp+1)/(u.rn+1)), +R.x=A.x+C*t,R.y=A.y+H*t}v.v(k);v.v(d);v.v(l);v.v(n);A=a.ag;for(C=0;Cb.ze?1:a.angleb.angle?1:0}; +Kr.prototype.computeEndSegmentLength=function(a){var b=a.link,c=b.computeEndSegmentLength(this.Qc,this.port,vb,b.hd===this.port),d=a.Vp;if(0>d)return c;var e=a.rn;if(1>=e||!b.mc)return c;var b=a.Gx,f=a.bq;if(a.ze===v.Tc||a.ze===v.ad)d=e-1-d;return((a=a.ze===v.Tc||a.ze===v.bd)?b.ye&&(e=k.right);k.bottom>f&&(f=k.bottom)}}isFinite(c)&&isFinite(d)?a.l(c,d,e-c,f-d):(b=b.location,c=this.padding,a.l(b.x+c.left,b.y+c.top,0,0));return a}; +v.defineProperty(V,{Mn:null},function(){return 0!==(this.za&32768)},function(a){0!==(this.za&32768)!==a&&(this.za^=32768)});v.defineProperty(xj,{padding:"padding"},function(){return this.jf},function(a){"number"===typeof a?a=new mb(a):v.F(a,mb,xj,"padding");var b=this.jf;b.L(a)||(this.jf=a=a.S(),this.h("padding",b,a))}); +function tg(){0=c-1?(h=0,e=d,f+=k+20,k=0):h++}null!==a&&a.Hd("Layout")}this.Af=!0};tg.prototype.Mn=function(a){return!a.location.H()||a instanceof V&&a.Mn?!0:!1}; +function ds(a,b,c,d,e,f,h,k){for(c=c.i;c.next();){var l=c.value;d&&!l.Zp||null!==e&&!e(l)||!l.canLayout()||(f&&l instanceof T?l.of||(l instanceof V?null===l.Rb?ds(a,b,l.Pc,!1,e,f,h,k):(es(l),b.add(l)):(es(l),b.add(l))):h&&l instanceof W?b.add(l):!k||!l.ee()||l instanceof T||(es(l),b.add(l)))}}function es(a){var b=a.Y;(0===b.width||0===b.height||isNaN(b.width)||isNaN(b.height))&&a.af()} +tg.prototype.collectParts=tg.prototype.lH=function(a){var b=new J(S);a instanceof E?(ds(this,b,a.dg,!0,null,!0,!0,!0),ds(this,b,a.links,!0,null,!0,!0,!0),ds(this,b,a.Gk,!0,null,!0,!0,!0)):a instanceof V?ds(this,b,a.Pc,!1,null,!0,!0,!0):ds(this,b,a.i,!1,null,!0,!0,!0);return b};v.defineProperty(tg,{qe:"arrangementOrigin"},function(){return this.Kq},function(a){v.F(a,y,tg,"arrangementOrigin");this.Kq.L(a)||(this.Kq.assign(a),this.J())}); +tg.prototype.initialOrigin=function(a){var b=this.group;if(null!==b){var c=b.position.copy();(isNaN(c.x)||isNaN(c.y))&&c.set(a);b=b.placeholder;null!==b&&(c=b.Va(xb),(isNaN(c.x)||isNaN(c.y))&&c.set(a),c.x+=b.padding.left,c.y+=b.padding.top);return c}return a};function ug(){v.pc(this);this.ke=null;this.clear()}v.ga("LayoutNetwork",ug); +ug.prototype.clear=function(){if(this.vertexes)for(var a=this.vertexes.i;a.next();){var b=a.value;b.clear();b.network=null}if(this.edges)for(a=this.edges.i;a.next();)b=a.value,b.clear(),b.network=null;this.vertexes=new J(fs);this.edges=new J(gs);this.HA=new la(T,fs);this.tA=new la(W,gs)}; +ug.prototype.toString=function(a){void 0===a&&(a=0);var b="LayoutNetwork"+(null!==this.Rb?"("+this.Rb.toString()+")":"");if(0>=a)return b;b+=" vertexes: "+this.vertexes.count+" edges: "+this.edges.count;if(1d?1:0):1:null!==d?-1:0}; +fs.smartComparer=function(a,b){if(null!==a){if(null!==b){var c=a.Bd,d=b.Bd;if(null!==c){if(null!==d){for(var c=c.text.toLocaleLowerCase().split(/([+\-]?[\.]?\d+(?:\.\d*)?(?:e[+\-]?\d+)?)/),d=d.text.toLocaleLowerCase().split(/([+\-]?[\.]?\d+(?:\.\d*)?(?:e[+\-]?\d+)?)/),e=0;e=f&&0>=h&&(f=1);a=this.spacing.width;isFinite(a)||(a=0);c=this.spacing.height;isFinite(c)||(c=0);null!==b&&b.Tb("Layout");d=[];switch(this.alignment){case us:var k=a,l=c,m=Math.max(this.Ep.width,1);if(!isFinite(m))for(var n=m=0;nf-1||0h)d.push(new B(0,x,h+k,z)),w=0,t=u,x+=z,z=0;z=Math.max(z,H);H=0;switch(s){case ts:H=-q.width;break;default:H=0}p.moveTo(t+H,x);switch(s){case ts:t-=A;break; +default:t+=A}w++}d.push(new B(0,x,h+k,z));break;case ms:k=f;l=a;m=c;n=Math.max(this.Ep.width,1);p=x=A=0;q=v.K();for(f=0;f=A&&(h-=A);for(var A=H=0,C=Math.max(this.Ep.height,1),ba=p=0,U=!0,M=v.K(),f=0;fk-1||0h){d.push(new B(0,U?w-p:w,h+l,ba+p+m));for(R=0;RA&&(e.width+=e.x-A,e.x=A)}for(k=f=h=e=0;kd?1:0}; +Gn.smartComparer=function(a,b){if(null!==a){if(null!==b){for(var c=a.text.toLocaleLowerCase().split(/([+\-]?[\.]?\d+(?:\.\d*)?(?:e[+\-]?\d+)?)/),d=b.text.toLocaleLowerCase().split(/([+\-]?[\.]?\d+(?:\.\d*)?(?:e[+\-]?\d+)?)/),e=0;e=a.count)1===a.count&&(a=a.first(),a.la=0,a.sa=0);else{var b=new I(Ns);b.Kc(a.i);a=new I(Ns);var c=new I(Ns),d;d=this.sort(b);var e=this.My,f=this.rC,h=this.Wd,k=this.Ao,l=this.Ny,m=this.nr,b=this.$k,n=this.HD,p=this.Dg,q=this.ev,e=this.Pf,f=this.Dx,h=this.eJ;if(!isFinite(h)|| +0>=h)h=NaN;k=this.eH;if(!isFinite(k)||0>=k)k=1;l=this.Ae;isFinite(l)||(l=0);m=this.sf;if(!isFinite(m)||360m)m=360;b=this.spacing;isFinite(b)||(b=NaN);e===Ks&&f===Ls?e=ws:e===Ks&&f!==Ls&&(f=Ls,e=this.Pf);if((this.direction===Fs||this.direction===Gs)&&this.sorting!==zs){for(var r=0;!(r>=d.length);r+=2){a.add(d.fa(r));if(r+1>=d.length)break;c.add(d.fa(r+1))}this.direction===Fs?(this.Pf===Ks&&a.reverse(),d=new I(Ns),d.Kc(a),d.Kc(c)):(this.Pf===Ks&&c.reverse(),d=new I(Ns),d.Kc(c),d.Kc(a))}for(var s= +d.length,u=n=0,r=0;rm&&(0===r||r===d.length-1)&&(t/=2);n+=t;u++}if(isNaN(h)||e===Ks){isNaN(b)&&(b=6);if(e!==ws&&e!==Ks){t=-Infinity;for(r=0;rh?(h=r,p=h*k):q=u/(360<=m?s:s-1)}this.My=e;this.rC=f;this.Wd=h;this.Ao=k;this.Ny=l;this.nr=m;this.$k=b;this.HD=n;this.Dg=p;this.ev=q;b=d;d=this.My;e=this.Wd;f=this.Ny;k=this.nr;l=this.$k;m=this.Dg;n=this.ev;if(this.direction!==Fs&&this.direction!==Gs||d!==Ks)if(this.direction===Fs||this.direction===Gs){h=0;switch(d){case Js:h=180*Rs(this,e,m,f,n)/Math.PI;break;case ws:n=b=0;h=a.first();null!==h&&(b=Os(h,Math.PI/2));h=c.first();null!==h&&(n=Os(h,Math.PI/2));h=180*Rs(this,e,m,f,l+(b+ +n)/2)/Math.PI;break;case Is:h=k/b.length}if(this.direction===Fs){switch(d){case Js:Ss(this,a,f,Hs);break;case ws:Ts(this,a,f,Hs);break;case Is:Us(this,a,k/2,f,Hs)}switch(d){case Js:Ss(this,c,f+h,ys);break;case ws:Ts(this,c,f+h,ys);break;case Is:Us(this,c,k/2,f+h,ys)}}else{switch(d){case Js:Ss(this,c,f,Hs);break;case ws:Ts(this,c,f,Hs);break;case Is:Us(this,c,k/2,f,Hs)}switch(d){case Js:Ss(this,a,f+h,ys);break;case ws:Ts(this,a,f+h,ys);break;case Is:Us(this,a,k/2,f+h,ys)}}}else switch(d){case Js:Ss(this, +b,f,this.direction);break;case ws:Ts(this,b,f,this.direction);break;case Is:Us(this,b,k,f,this.direction);break;case Ks:Vs(this,b,k,f,this.direction)}else Vs(this,b,k,f-k/2,ys)}this.updateParts();this.network=null;this.Af=!0}; +function Us(a,b,c,d,e){var f=a.nr,h=a.Wd;a=a.Dg;d=d*Math.PI/180;c=c*Math.PI/180;for(var k=b.length,l=0;lc){for(f=d+(e===ys?f:-f);0>f;)f+=360;f%=360;180=n.length-1)break;Ys(a,l,m,n,p,e,f)||Zs(a,l,m,n,p,e,f);l=f.x;m=f.y}v.v(f);a.Om++;if(!(23Math.abs(r)?Math.abs(l-f)<(n[0].width+n[n.length-1].width)/2&&(h=0):h=0Math.abs(q)?0:q;q=!1;q=Math.abs(f)>Math.abs(p)?0p:0a.Om?a.Wd-h/(2*Math.PI):5>n.length&&10=p.length-1)break;Ys(a,l,m,p,q,e,n)||Zs(a,l,m,p,q,e,n);l=n.x;m=n.y}v.v(n);a.Om++;if(!(23a.Om?a.Wd-f/(2*Math.PI):a.Wd-(0k){m=b-a;if(m<-k)return h.x=m,h.y=n,!1;p=!0}}else if(m=b-a,m<-k){m=b+a;if(m>k)return h.x=m,h.y=n,!1;p=!0}n=Math.sqrt(1-Math.min(1,m*m/(k*k)))*l;0>c!==p&&(n=-n);if(Math.abs(c-n)>(d[e].height+d[e+1].height)/2)return h.x=m,h.y=n,!1;h.x=m;h.y=n;return!0} +function Zs(a,b,c,d,e,f,h){var k=a.Wd,l=a.Dg,m=0,n=0;a=(d[e].height+d[e+1].height)/2+a.$k;d=!1;if(0<=b!==(f===ys)){if(n=c-a,n<-l){n=c+a;if(n>l){h.x=m;h.y=n;return}d=!0}}else if(n=c+a,n>l){n=c-a;if(n<-l){h.x=m;h.y=n;return}d=!0}m=Math.sqrt(1-Math.min(1,n*n/(l*l)))*k;0>b!==d&&(m=-m);h.x=m;h.y=n}vs.prototype.commitLayout=function(){this.commitNodes();this.bu&&this.commitLinks()}; +vs.prototype.commitNodes=function(){for(var a=this.UG,b=this.network.vertexes.i;b.next();){var c=b.value;c.x+=a.x;c.y+=a.y;c.commit()}};vs.prototype.commitLinks=function(){for(var a=this.network.edges.i;a.next();)a.value.commit()}; +function Qs(a,b,c,d,e){var f=a.JG;if(.001>Math.abs(a.Ao-1))return void 0!==d&&void 0!==e?e*b:2*Math.PI*b;a=b>c?Math.sqrt(b*b-c*c)/b:Math.sqrt(c*c-b*b)/c;for(var h=0,k=0,k=void 0!==d&&void 0!==e?e/(f+1):Math.PI/(2*(f+1)),l=0,m=0;m<=f;m++)l=void 0!==d&&void 0!==e?d+m*e/f:m*Math.PI/(2*f),l=Math.sin(l),h+=Math.sqrt(1-a*a*l*l)*k;return void 0!==d&&void 0!==e?(b>c?b:c)*h:4*(b>c?b:c)*h}function Ps(a,b,c,d,e){var f=0,f=void 0!==d&&void 0!==e?Qs(a,1,c,d,e):Qs(a,1,c);return b/f} +function Rs(a,b,c,d,e){if(.001>Math.abs(a.Ao-1))return e/b;var f=b>c?Math.sqrt(b*b-c*c)/b:Math.sqrt(c*c-b*b)/c,h=0;a=2*Math.PI/(700*a.network.vertexes.count);b>c&&(d+=Math.PI/2);for(var k=0;;k++){var l=Math.sin(d+k*a),h=h+(b>c?b:c)*Math.sqrt(1-f*f*l*l)*a;if(h>=e)return k*a}} +vs.prototype.sort=function(a){switch(this.sorting){case Ds:break;case Es:a.reverse();break;case Bs:a.sort(this.comparer);break;case Cs:a.sort(this.comparer);a.reverse();break;case zs:for(var b=[],c=0;ce&&(e=k,f=h)}else for(h=0;he&&(e=k,f=h);d.add(a.fa(f));b[f]=-1;f=a.fa(f);e=0;for(h=f.oc;h.next();)e=a.indexOf(h.value.fromVertex),0>e||0<=b[e]&& +b[e]++;for(f=f.lc;f.next();)e=a.indexOf(f.value.toVertex),0>e||0<=b[e]&&b[e]++}a=[];for(b=0;ba[b].indexOf(l)&&a[b].push(l);for(c=h.oc;c.next();)l=d.indexOf(c.value.fromVertex),l!==b&&0>a[b].indexOf(l)&&a[b].push(l)}h=[];for(b=0;ba[c[p]].indexOf(c[p===c.length-1?0:p+1])&&u.push(p===c.length-1?0:p+1);if(0===u.length)for(p=0;pH.indexOf(U)||MH.indexOf(U)||M< +z[U]&&z[U]=t?l+1:l)),w+=l=t&&l++,A>=t&&A++,l>A&&(H=A,A=l,l=H),A-l<(c.length+2)/2===(lq||q===l||(s=q>l?q-l:l-q,p+=qm-s?1:-1);c.splice(0>p?l:l+1,0,b);e.splice(h,1);h--}else k=!1;if(k)break;else c.push(e[0]),e.splice(0,1)}for(b=0;b=a?a:360,this.J())}); +v.defineProperty(vs,{Pf:"arrangement"},function(){return this.nd},function(a){this.nd!==a&&(v.nb(a,vs,vs,"arrangement"),a===Ks||a===ws||a===Js||a===Is)&&(this.nd=a,this.J())});v.defineProperty(vs,{direction:"direction"},function(){return this.ba},function(a){this.ba!==a&&(v.nb(a,vs,vs,"direction"),a===ys||a===Hs||a===Fs||a===Gs)&&(this.ba=a,this.J())}); +v.defineProperty(vs,{sorting:"sorting"},function(){return this.Zh},function(a){this.Zh!==a&&(v.nb(a,vs,vs,"sorting"),a===Ds||a===Es||a===Bs||Cs||a===zs)&&(this.Zh=a,this.J())});v.defineProperty(vs,{comparer:"comparer"},function(){return this.Jh},function(a){this.Jh!==a&&(v.j(a,"function",vs,"comparer"),this.Jh=a,this.J())});v.defineProperty(vs,{spacing:"spacing"},function(){return this.$h},function(a){this.$h!==a&&(v.j(a,"number",vs,"spacing"),this.$h=a,this.J())}); +v.defineProperty(vs,{Dx:"nodeDiameterFormula"},function(){return this.ps},function(a){this.ps!==a&&(v.nb(a,vs,vs,"nodeDiameterFormula"),a===As||a===Ls)&&(this.ps=a,this.J())});v.u(vs,{VG:"actualXRadius"},function(){return this.Wd});v.u(vs,{WG:"actualYRadius"},function(){return this.Dg});v.u(vs,{ZJ:"actualSpacing"},function(){return this.$k});v.u(vs,{UG:"actualCenter"},function(){return isNaN(this.qe.x)||isNaN(this.qe.y)?new y(0,0):new y(this.qe.x+this.VG,this.qe.y+this.WG)});var ws; +vs.ConstantSpacing=ws=v.p(vs,"ConstantSpacing",0);var Js;vs.ConstantDistance=Js=v.p(vs,"ConstantDistance",1);var Is;vs.ConstantAngle=Is=v.p(vs,"ConstantAngle",2);var Ks;vs.Packed=Ks=v.p(vs,"Packed",3);var ys;vs.Clockwise=ys=v.p(vs,"Clockwise",4);var Hs;vs.Counterclockwise=Hs=v.p(vs,"Counterclockwise",5);var Fs;vs.BidirectionalLeft=Fs=v.p(vs,"BidirectionalLeft",6);var Gs;vs.BidirectionalRight=Gs=v.p(vs,"BidirectionalRight",7);var Ds;vs.Forwards=Ds=v.p(vs,"Forwards",8);var Es; +vs.Reverse=Es=v.p(vs,"Reverse",9);var Bs;vs.Ascending=Bs=v.p(vs,"Ascending",10);var Cs;vs.Descending=Cs=v.p(vs,"Descending",11);var zs;vs.Optimized=zs=v.p(vs,"Optimized",12);var As;vs.Pythagorean=As=v.p(vs,"Pythagorean",13);var Ls;vs.Circular=Ls=v.p(vs,"Circular",14);function xs(){this.Sp=-Infinity;this.Aq=this.$n=null} +xs.prototype.compare=function(a,b){if(0this.Sp||Math.abs(a)a&&0f?(e=n.x+n.width/2,k=n.y+n.height/2,l[0]=new y(n.x+n.width+d.width,n.y),l[1]=new y(n.x,n.y+n.height+d.height),f=2):(p=jt(l,f,e,k,n.width,n.height,d),q=l[p],r=new y(q.x+n.width+d.width, +q.y),s=new y(q.x,q.y+n.height+d.height),p+1this.network.vertexes.count)return!1;for(var a=0,b=0,c=this.network.vertexes.first().kb,d=this.network.vertexes.i;d.next();){if(d.value.kb.Jg(c)&&(a++,2a.network.vertexes.count)return!1;null===a.Cg?a.Cg=new I(Vt):a.Cg.clear();a.Cg.Kc(a.network.vertexes);var c=a.Cg;c.sort(function(a,b){return null===a||null===b||a===b?0:b.eg-a.eg});for(var d=c.count-1;0<=d&&1>=c.fa(d).eg;)d--;return 1=h))){for(var m=0,n=0,p=l.count-h;ps&&(s=1);m=Pd((m+s+n*n*4/(h*h))/s);h=(m-1)*p/2;m=(m-1)*q/2;f.kb=new B(l-r.x-h,k-r.y-m,p+2*h,q+2*m);f.focus=new y(r.x+h,r.y+m)}a.network=d;return c}function Ut(a,b){for(var c=a.network.vertexes.i;c.next();){var d=c.value;d.network=b;if(null!==d.Dh){var e=d.Dh.fa(d.RA);d.eg=e.jy;var f=e.tB,h=e.uB;d.kb=new B(d.la-f,d.sa-h,e.ky,e.iy);d.focus=new y(f,h);d.RA--}}for(c=a.network.edges.i;c.next();)c.value.network=b;a.network=b} +function Wt(a,b){var c=b.nn;if(null!==c&&0!==c.count){var d=b.la,e=b.sa,f=b.width,h=b.height;null!==b.Dh&&0=p.eg?l++:(k=!0,m++,h+=Math.atan2(b.sa-p.sa,b.la-p.la))}if(0!==l)for(0>1)+n)*(0===k%2?1:-1);l.la=d+p*Math.cos(q);l.sa=e+p*Math.sin(q);k++}}}function jt(a,b,c,d,e,f,h){var k=9E19,l=-1,m=0;a:for(;mn.y&&a[q].x-n.xn.x&&a[q].y-n.yl+h?(d=d+f-k,e=e-l-h,Pd(d*d+e*e)):e+ck+m?e>l+h?(d=d-k-m,e=e-l-h,Pd(d*d+e*e)):e+cl+h?e-(l+h):e+c=b.length)return!1;var c=b[0];c.forceX=0;c.forceY=0;for(var d=c.la,e=d,f=c.sa,h=f,c=1;ch-f)?b.sort(function(a,b){return null===a||null===b||a===b?0:a.la-b.la}):b.sort(function(a,b){return null===a||null===b||a===b?0:a.sa-b.sa});for(var h=a.Oh,m=0,n=0,p=0,c=0;ch||p-d>h){if(f)break}else if(l-r>h||r-l>h){if(!f)break}else{var s=Yt(k,e);1>s?(n=a.Lx,null===n&&(a.Lx=n=new va(0)),m=n.random(),s=n.random(),d>p?(n=Math.abs(e.M.right-k.M.x),n=(1+n)*m):dr?(p=Math.abs(e.M.bottom-k.M.y),p=(1+p)*s):ds?(n=a.Lx,null===n&&(a.Lx=n=new va(0)),m=n.random(),s= +n.random(),n=(d>p?1:-1)*(1+(e.width>k.width)?e.width:k.width)*m,p=(l>r?1:-1)*(1+(e.height>k.height)?e.height:k.height)*s):(m=f.stiffness*(s-f.length),n=(p-d)/s*m,p=(r-l)/s*m),k.forceX+=n,k.forceY+=p,e.forceX-=n,e.forceY-=p;c=0;d=Math.max(a.Oh/20,50);for(e=0;ed&&(f=d),h<-d?h=-d:h>d&&(h=d),k.la+=f,k.sa+=h,c=Math.max(c,f*f+h*h));return c>a.vE*a.vE}at.prototype.moveFixedVertex=function(){}; +at.prototype.commitLayout=function(){this.ZA();this.commitNodes();this.bu&&this.commitLinks()};at.prototype.ZA=function(){if(this.uq)for(var a=this.network.edges.i;a.next();){var b=a.value.link;null!==b&&(b.Ab=nc,b.Bb=nc)}};at.prototype.commitNodes=function(){var a=0,b=0;if(this.dH){var c=v.Ef();this.rh(this.network,c);b=this.qe;a=b.x-c.x;b=b.y-c.y;v.Gb(c)}for(var c=v.Ef(),d=this.network.vertexes.i;d.next();){var e=d.value;if(0!==a||0!==b)c.assign(e.kb),c.x+=a,c.y+=b,e.kb=c;e.commit()}v.Gb(c)}; +at.prototype.commitLinks=function(){for(var a=this.network.edges.i;a.next();)a.value.commit()};at.prototype.springStiffness=function(a){a=a.stiffness;return isNaN(a)?this.wo:a};at.prototype.springLength=function(a){a=a.length;return isNaN(a)?this.vo:a};at.prototype.electricalCharge=function(a){a=a.charge;return isNaN(a)?this.to:a};at.prototype.electricalFieldX=function(){return 0};at.prototype.electricalFieldY=function(){return 0}; +at.prototype.gravitationalMass=function(a){a=a.mass;return isNaN(a)?this.uo:a};at.prototype.gravitationalFieldX=function(){return 0};at.prototype.gravitationalFieldY=function(){return 0};at.prototype.isFixed=function(a){return a.isFixed};v.u(at,{CK:"currentIteration"},function(){return this.Pr});v.defineProperty(at,{aE:"arrangementSpacing"},function(){return this.gg},function(a){v.F(a,ia,at,"arrangementSpacing");this.gg.L(a)||(this.gg.assign(a),this.J())}); +v.defineProperty(at,{dH:"arrangesToOrigin"},function(){return this.Lq},function(a){this.Lq!==a&&(v.j(a,"boolean",at,"arrangesToOrigin"),this.Lq=a,this.J())});v.defineProperty(at,{uq:"setsPortSpots"},function(){return this.Yh},function(a){this.Yh!==a&&(v.j(a,"boolean",at,"setsPortSpots"),this.Yh=a,this.J())});v.defineProperty(at,{comments:"comments"},function(){return this.Ih},function(a){this.Ih!==a&&(v.j(a,"boolean",at,"comments"),this.Ih=a,this.J())}); +v.defineProperty(at,{yA:"maxIterations"},function(){return this.Yo},function(a){this.Yo!==a&&(v.j(a,"number",at,"maxIterations"),0<=a&&(this.Yo=a,this.J()))});v.defineProperty(at,{vE:"epsilonDistance"},function(){return this.qr},function(a){this.qr!==a&&(v.j(a,"number",at,"epsilonDistance"),0b.toVertex.index&&(this.network.Rx(b),b.rev=!0);break;case bu:for(b=this.network.vertexes.i;b.next();)a=b.value,a.Np=-1,a.finish=-1;for(a=this.network.edges.i;a.next();)a.value.forest=!1;this.ls=0;for(b.reset();b.next();)c=b.value,0===c.oc.count&&lu(this,c);for(b.reset();b.next();)c=b.value,-1===c.Np&&lu(this,c);for(a.reset();a.next();)b=a.value,b.forest||(c=b.fromVertex, +d=c.finish,e=b.toVertex,f=e.finish,e.Nps&&0s&&0b[this.Lf]&&(this.Pv=b[c]-1,this.Lf=c),b[c]h)for(var p=h+1;pn;p--)l=d[p],l.near===m&&l.kn===m.kn||k++;var m=0,q,r=q=p=l=0,s,u=0,t=0;s=0;var x;if(0<=c)for(n=d[h].df,m=0;mu||l===u&&q>s)&&k++,tl||u===l&&s>q)&&k++);if(0>=c)for(n=d[h].$e,m=0;mu||l===u&&p>t)&&k++,sl||u===l&&t>p)&&k++);f[h*e+h]=k;for(n=h+1;n=c)for(k=d[h].$e,x=d[n].$e,m=0;m=c&&(l=k.df);var m=null;0<=c&&(m=k.$e);var n=0,p=0,q=k.near;null!==q&&q.layer===k.layer&&(n+=q.column-1,p++);if(null!==l)for(q=0;q=c&&(l=k.df);var m=null;0<=c&&(m=k.$e);var n=0,p=[],q=k.near;null!==q&&q.layer===k.layer&&(p[n]=q.column-1,n++);if(null!==l)for(q=0;q>1,f[h]=n&1?p[m]:p[m-1]+p[m]>>1)}pu(a,b,d);return f}function xu(a,b,c,d,e,f){if(b.component===d){b.component=c;var h=0,k=0;if(e)for(var l=b.lc;l.next();){var k=l.value,m=k.toVertex,h=b.layer-m.layer,k=a.linkMinLength(k);h===k&&xu(a,m,c,d,e,f)}if(f)for(l=b.oc;l.next();)k=l.value,m=k.fromVertex,h=m.layer-b.layer,k=a.linkMinLength(k),h===k&&xu(a,m,c,d,e,f)}} +function yu(a,b,c,d,e,f){if(b.component===d){b.component=c;if(e)for(var h=b.lc;h.next();)yu(a,h.value.toVertex,c,d,e,f);if(f)for(b=b.oc;b.next();)yu(a,b.value.fromVertex,c,d,e,f)}}function iu(a){for(a=a.vertexes.i;a.next();){var b=a.value;if(b.valid)return b}return null}function ju(a){for(a=a.vertexes.i;a.next();){var b=a.value;if(b.valid){for(var c=!0,d=b.lc;d.next();)if(d.value.toVertex.valid){c=!1;break}if(c)return b}}return null} +function ku(a){for(a=a.vertexes.i;a.next();){var b=a.value;if(b.valid){for(var c=!0,d=b.oc;d.next();)if(d.value.fromVertex.valid){c=!1;break}if(c)return b}}return null}function lu(a,b){b.Np=a.ls;a.ls++;for(var c=b.lc;c.next();){var d=c.value,e=d.toVertex;-1===e.Np&&(d.forest=!0,lu(a,e))}b.finish=a.ls;a.ls++} +au.prototype.assignLayers=function(){switch(this.Uo){case zu:Au(this);break;case Bu:for(var a=0,b=this.network.vertexes.i;b.next();)a=Cu(this,b.value),this.qb=Math.max(a,this.qb);for(b.reset();b.next();)a=b.value,a.layer=this.qb-a.layer;break;default:case cu:Au(this);for(b=this.network.vertexes.i;b.next();)b.value.valid=!1;for(b.reset();b.next();)a=b.value,0===a.oc.count&&Du(this,a);a=Infinity;for(b.reset();b.next();)a=Math.min(a,b.value.layer);this.qb=-1;for(b.reset();b.next();){var c=b.value;c.layer-= +a;this.qb=Math.max(this.qb,c.layer)}}};function Au(a){for(var b=a.network.vertexes.i;b.next();){var c=Eu(a,b.value);a.qb=Math.max(c,a.qb)}}function Eu(a,b){var c=0;if(-1===b.layer){for(var d=b.lc;d.next();)var e=d.value,f=e.toVertex,e=a.linkMinLength(e),c=Math.max(c,Eu(a,f)+e);b.layer=c}else c=b.layer;return c}function Cu(a,b){var c=0;if(-1===b.layer){for(var d=b.oc;d.next();)var e=d.value,f=e.fromVertex,e=a.linkMinLength(e),c=Math.max(c,Cu(a,f)+e);b.layer=c}else c=b.layer;return c} +function Du(a,b){if(!b.valid){b.valid=!0;for(var c=b.lc;c.next();)Du(a,c.value.toVertex);for(c=a.network.vertexes.i;c.next();)c.value.component=-1;for(var d=b.df.n,e=d.length,f=0;fk&&xu(a,h.fromVertex,0,-1,!0,!1)}for(xu(a,b,1,-1,!0,!0);0!==b.component;){for(var k=0,d=Infinity,l=0,m=null,n=a.network.vertexes.i;n.next();){var p=n.value;if(1===p.component){for(var q=0,r=!1,s=p.df.n,e=s.length,f=0;fd)&&!p&&(k=m,d=n)}if(0>f){for(c.reset();c.next();)f=c.value,1===f.component&&(f.layer-=e);b.component=0}else k.component=0}}} +function nu(a,b,c){return 90===a.ba?c&&!b.rev||!c&&b.rev?270:90:180===a.ba?c&&!b.rev||!c&&b.rev?0:180:270===a.ba?c&&!b.rev||!c&&b.rev?90:270:c&&!b.rev||!c&&b.rev?180:0} +au.prototype.initializeIndices=function(){switch(this.Jo){default:case Fu:for(var a=this.network.vertexes.i;a.next();){var b=a.value,c=b.layer;b.index=this.je[c];this.je[c]++}break;case du:a=this.network.vertexes.i;for(b=this.qb;0<=b;b--)for(a.reset();a.next();)c=a.value,c.layer===b&&-1===c.index&&Gu(this,c);break;case Hu:for(a=this.network.vertexes.i,b=0;b<=this.qb;b++)for(a.reset();a.next();)c=a.value,c.layer===b&&-1===c.index&&Iu(this,c)}}; +function Gu(a,b){var c=b.layer;b.index=a.je[c];a.je[c]++;for(var c=b.$e.fc(),d=!0;d;)for(var d=!1,e=0;eh.portFromColOffset&&(d=!0,c[e]=h,c[e+1]=f)}for(e=0;eh.portToColOffset&&(d=!0,c[e]=h,c[e+1]=f)}for(e=0;e=h;d--)f=Ku(this,d,-1)||f;e=this.countCrossings();e>=a?su(this,b):(a=e,b=ru(this));for(f=!0;f;)for(f=!1,d=c;d>=h;d--)f=Ku(this,d,1)||f;e=this.countCrossings();e>=a?su(this,b):(a=e,b=ru(this));for(f=!0;f;)for(f=!1,d=h;d<=c;d++)f=Ku(this,d,1)||f;e>=a?su(this,b):(a=e,b=ru(this));for(f=!0;f;)for(f=!1, +d=h;d<=c;d++)f=Ku(this,d,-1)||f;e>=a?su(this,b):(a=e,b=ru(this));for(f=!0;f;)for(f=!1,d=c;d>=h;d--)f=Ku(this,d,0)||f;e>=a?su(this,b):(a=e,b=ru(this));for(f=!0;f;)for(f=!1,d=h;d<=c;d++)f=Ku(this,d,0)||f;e>=a?su(this,b):(a=e,b=ru(this))}break;default:case eu:for(c=this.qb,h=0,k=a+1;(d=this.countCrossings())=h;d--)f=Ku(this,d,-1)||f;e=this.countCrossings();e>=a?su(this,b):(a=e,b=ru(this));for(f=!0;f;)for(f=!1,d=c;d>=h;d--)f=Ku(this,d,1)||f;e=this.countCrossings(); +e>=a?su(this,b):(a=e,b=ru(this));for(f=!0;f;)for(f=!1,d=h;d<=c;d++)f=Ku(this,d,1)||f;e>=a?su(this,b):(a=e,b=ru(this));for(f=!0;f;)for(f=!1,d=h;d<=c;d++)f=Ku(this,d,-1)||f;e>=a?su(this,b):(a=e,b=ru(this));for(f=!0;f;)for(f=!1,d=c;d>=h;d--)f=Ku(this,d,0)||f;e>=a?su(this,b):(a=e,b=ru(this));for(f=!0;f;)for(f=!1,d=h;d<=c;d++)f=Ku(this,d,0)||f;e>=a?su(this,b):(a=e,b=ru(this))}}su(this,b)}; +function Ju(a,b,c){var d=0,e=ou(a,b),f=a.je[b],h=wu(a,b,c);c=vu(a,b,c);for(d=0;df+1&&(q+=4*(w-f),r+=4*(w-(f+1)))}A=d[f].lc.i;for(A.reset();A.next();)if(z=A.value,z.valid&&z.toVertex.layer===b){z=z.toVertex;for(w=0;d[w]!==z;)w++;w===f+1&&(r+=1)}A=d[f+1].oc.i;for(A.reset();A.next();)if(z=A.value,z.valid&&z.fromVertex.layer===b){z=z.fromVertex;for(w=0;d[w]!==z;)w++;wf+1&&(q+=4*(w-(f+1)),r+=4*(w-f))}A=d[f+1].lc.i;for(A.reset();A.next();)if(z=A.value, +z.valid&&z.toVertex.layer===b){z=z.toVertex;for(w=0;d[w]!==z;)w++;w===f&&(q+=1)}var w=z=0,A=h[d[f].index],H=k[d[f].index],C=h[d[f+1].index],R=k[d[f+1].index];-1!==A&&(z+=Math.abs(A-s),w+=Math.abs(A-x));-1!==H&&(z+=Math.abs(H-s),w+=Math.abs(H-x));-1!==C&&(z+=Math.abs(C-u),w+=Math.abs(C-t));-1!==R&&(z+=Math.abs(R-u),w+=Math.abs(R-t));if(r>1)+8*d;this.Jb*=8}if(0!==(this.Wi&Ou))for(b=!0;b;){b=!1;for(a=this.Lf+1;a<=this.qb;a++)b=Pu(this,a,1)||b; +for(a=this.Lf-1;0<=a;a--)b=Pu(this,a,-1)||b;b=Pu(this,this.Lf,0)||b}if(0!==(this.Wi&Qu)){for(a=this.Lf+1;a<=this.qb;a++)Ru(this,a,1);for(a=this.Lf-1;0<=a;a--)Ru(this,a,-1);Ru(this,this.Lf,0)}c&&(Su(this,-1),Su(this,1));if(0!==(this.Wi&Ou))for(b=!0;b;){b=!1;b=Pu(this,this.Lf,0)||b;for(a=this.Lf+1;a<=this.qb;a++)b=Pu(this,a,0)||b;for(a=this.Lf-1;0<=a;a--)b=Pu(this,a,0)||b}};function Pu(a,b,c){for(var d=!1;Tu(a,b,c);)d=!0;return d} +function Tu(a,b,c){var d=0,e=ou(a,b),f=a.je[b],h=vu(a,b,-1);if(0c)for(d=0;dd-1||n-e[d-1].column-1>p+a.nodeMinColumnSpace(e[d-1],!1)?n-1:n,p=0,p=d+1>=f||e[d+1].column-n-1>q+a.nodeMinColumnSpace(e[d+1],!0)?n+1:n,s=q=0,u=0,t=0,x=0,w=0;if(0>=c)for(var z=e[d].oc.i;z.next();){var A=z.value;A.valid&&A.fromVertex.layer!== +b&&(t=qu(A),x=A.portFromColOffset,w=A.portToColOffset,A=A.fromVertex.column,q+=(Math.abs(n+w-(A+x))+1)*t,s+=(Math.abs(r+w-(A+x))+1)*t,u+=(Math.abs(p+w-(A+x))+1)*t)}if(0<=c)for(z=e[d].lc.i;z.next();)A=z.value,A.valid&&A.toVertex.layer!==b&&(t=qu(A),x=A.portFromColOffset,w=A.portToColOffset,A=A.toVertex.column,q+=(Math.abs(n+x-(A+w))+1)*t,s+=(Math.abs(r+x-(A+w))+1)*t,u+=(Math.abs(p+x-(A+w))+1)*t);w=x=t=0;z=h[e[d].index];A=k[e[d].index];-1!==z&&(t+=Math.abs(z-n),x+=Math.abs(z-r),w+=Math.abs(z-p));-1!== +A&&(t+=Math.abs(A-n),x+=Math.abs(A-r),w+=Math.abs(A-p));if(s=c[d]?n=q:p<=c[d]&&(n=p));n!==k&&(h=!0,e[d].column=n)}pu(a,b,e);a.normalize()} +function Uu(a,b){for(var c=!0,d=a.network.vertexes.i;d.next();){var e=d.value,f=a.nodeMinColumnSpace(e,!0),h=a.nodeMinColumnSpace(e,!1);if(e.column-f<=b&&e.column+h>=b){c=!1;break}}e=!1;if(c)for(d.reset();d.next();)c=d.value,c.column>b&&(c.column-=1,e=!0);return e} +function Vu(a,b){for(var c=b,c=b+1,d=0,e=[],f=[],d=0;d<=a.qb;d++)e[d]=!1,f[d]=!1;for(var h=a.network.vertexes.i;h.next();){var d=h.value,k=d.column-a.nodeMinColumnSpace(d,!0),l=d.column+a.nodeMinColumnSpace(d,!1);k<=b&&l>=b&&(e[d.layer]=!0);k<=c&&l>=c&&(f[d.layer]=!0)}k=!0;c=!1;for(d=0;d<=a.qb;d++)k=k&&!(e[d]&&f[d]);if(k)for(h.reset();h.next();)e=h.value,e.column>b&&(e.column-=1,c=!0);return c} +function Su(a,b){for(var c=0;c<=a.Jb;c++)for(;Uu(a,c););a.normalize();for(c=0;ce?su(a,d):hb)for(c=a.Jb;0<=c;c--)for(d=ru(a),e=uu(a),f=e+1;ee?su(a,d):hc)for(d.reset();d.next();)e=d.value,e.column+a.nodeMinColumnSpace(e,!1)>=b&&(e.component=a.wg);a.wg++;for(d.reset();d.next();)b=d.value,-1===b.component&&(yu(a,b,a.wg,-1,!0,!0),a.wg++);var f=0;b=[];for(f=0;fc)for(k=a.Jb;0c)for(d.reset();d.next();)c=d.value,e[c.component]&&(c.column+=1)} +au.prototype.commitLayout=function(){if(this.uq)for(var a=mu(this,!0),b=mu(this,!1),c=this.network.edges.i;c.next();){var d=c.value.link;null!==d&&(d.Ab=a,d.Bb=b)}this.commitNodes();this.Mz();this.bu&&this.commitLinks()};function mu(a,b){return 270===a.ba?b?zc:Cc:90===a.ba?b?Cc:zc:180===a.ba?b?Ac:Bc:b?Bc:Ac} +au.prototype.commitNodes=function(){this.sg=[];this.Kf=[];this.Jf=[];this.Ob=[];for(var a=0;a<=this.qb;a++)this.sg[a]=0,this.Kf[a]=0,this.Jf[a]=0,this.Ob[a]=0;for(a=this.network.vertexes.i;a.next();){var b=a.value,c=b.layer;this.sg[c]=Math.max(this.sg[c],this.nodeMinLayerSpace(b,!0));this.Kf[c]=Math.max(this.Kf[c],this.nodeMinLayerSpace(b,!1))}for(var b=0,d=this.Fm,c=0;c<=this.qb;c++){var e=d;0>=this.sg[c]+this.Kf[c]&&(e=0);0=Ga.M.bottom?(ta=Ga.M.y+Ga.M.height,b.w(M++,ma,ta+Ua),b.w(M++,ma,ta),b.w(M++,ma, +ta-Za)):(b.w(M++,ma,na+Ua),b.w(M++,ma,na),b.w(M++,ma,na-Za)):270===this.ba?na<=Ga.M.y?(ta=Ga.M.y,b.w(M++,ma,ta-Za),b.w(M++,ma,ta),b.w(M++,ma,ta+Ua)):(b.w(M++,ma,na-Za),b.w(M++,ma,na),b.w(M++,ma,na+Ua)):0===this.ba&&(ma>=Ga.M.right?(ta=Ga.M.x+Ga.M.width,b.w(M++,ta+Ua,na),b.w(M++,ta,na),b.w(M++,ta-Za,na)):(b.w(M++,ma+Ua,na),b.w(M++,ma,na),b.w(M++,ma-Za,na)));else{b.w(M++,ab,sb);var Ad=0;if(180===this.ba||0===this.ba){if(180===this.ba?ma>=Ga.M.right:ma<=Ga.M.x)Ad=(0===this.ba?-Za:Ua)/2;b.w(M++,ab+Ad, +na)}else{if(270===this.ba?na>=Ga.M.bottom:na<=Ga.M.y)Ad=(90===this.ba?-Za:Ua)/2;b.w(M++,ma,sb+Ad)}b.w(M++,ma,na)}else Za=Math.max(10,this.sg[ra.layer]),Ua=Math.max(10,this.Kf[ra.layer]),180===this.ba?(R&&b.w(M++,ma-Za,na),b.w(M++,ma,na),R&&b.w(M++,ma+Ua,na)):90===this.ba?(R&&b.w(M++,ma,na+Ua),b.w(M++,ma,na),R&&b.w(M++,ma,na-Za)):270===this.ba?(R&&b.w(M++,ma,na-Za),b.w(M++,ma,na),R&&b.w(M++,ma,na+Ua)):(R&&b.w(M++,ma+Ua,na),b.w(M++,ma,na),R&&b.w(M++,ma-Za,na));Ga=ra}if(null===k||b.computeSpot(!1)!== +vb||ba)if(ab=b.m(M-1).x,sb=b.m(M-1).y,ma=b.m(M).x,na=b.m(M).y,ba){var rf=this.Kf[oa.layer],Vb=0;180===this.ba||0===this.ba?(Vb=sb,Vb>=oa.M.y&&Vb<=oa.M.bottom&&(180===this.ba?ma>=oa.M.x:ma<=oa.M.right)&&(ta=oa.la+(180===this.ba?-rf:rf),Vb=Vb=oa.M.x&&Vb<=oa.M.right&&(270===this.ba?na>=oa.M.y:na<=oa.M.bottom)&&(ta=oa.sa+(270===this.ba?-rf:rf),Vb=Vb=oa.M.x?(ta=oa.M.x+oa.M.width,b.ea(M-2,ta,sb),b.ea(M-1,ta+Ua,sb)):90===this.ba&&na<=oa.M.bottom?(ta=oa.M.y,b.ea(M-2,ab,ta),b.ea(M-1,ab,ta-Za)):270===this.ba&&na>=oa.M.y?(ta=oa.M.y+oa.M.height,b.ea(M-2,ab,ta),b.ea(M-1,ab,ta+Ua)):0===this.ba&&ma<=oa.M.right&&(ta=oa.M.x,b.ea(M-2,ta,sb),b.ea(M-1,ta-Za,sb));else{Za=Math.max(10, +this.sg[oa.layer]);Ua=Math.max(10,this.Kf[oa.layer]);Ad=0;if(180===this.ba||0===this.ba){if(180===this.ba?ma<=oa.M.x:ma>=oa.M.right)Ad=(0===this.ba?Ua:-Za)/2;b.w(M++,ma+Ad,sb)}else{if(270===this.ba?na<=oa.M.y:na>=oa.M.bottom)Ad=(90===this.ba?Ua:-Za)/2;b.w(M++,ab,na+Ad)}b.w(M++,ma,na)}}else{for(;null!==oa&&oa!==Ga;){Ja=ra=null;for(var Ag=oa.lc.i;Ag.next();){var Bg=Ag.value;if(Bg.link===c.link&&(ra=Bg.toVertex,Ja=Bg.fromVertex,null!==Ja.Bd&&(Ja=null),null===ra.Bd))break}var ab=0,sb=0,ma=0,na=0,hb=0, +Za=0,Ua=0;if(ra!==Ga)if(ab=b.m(M-1).x,sb=b.m(M-1).y,ma=ra.la,na=ra.sa,ba)if(180===this.ba||0===this.ba){var oe=null!==Ja?Ja.sa:sb;oe!==na&&(hb=this.Ob[ra.layer],2===M&&(hb=0===this.ba?Math.max(hb,ab):Math.min(hb,ab)),b.w(M++,hb,sb),b.w(M++,hb,na))}else{var bd=null!==Ja?Ja.la:ab;bd!==ma&&(hb=this.Ob[ra.layer],2===M&&(hb=90===this.ba?Math.max(hb,sb):Math.min(hb,sb)),b.w(M++,ab,hb),b.w(M++,ma,hb))}else Za=Math.max(10,this.sg[ra.layer]),Ua=Math.max(10,this.Kf[ra.layer]),180===this.ba?(b.w(M++,ma+Ua,na), +R&&b.w(M++,ma,na),b.w(M++,ma-Za,na)):90===this.ba?(b.w(M++,ma,na-Za),R&&b.w(M++,ma,na),b.w(M++,ma,na+Ua)):270===this.ba?(b.w(M++,ma,na+Ua),R&&b.w(M++,ma,na),b.w(M++,ma,na-Za)):(b.w(M++,ma-Za,na),R&&b.w(M++,ma,na),b.w(M++,ma+Ua,na));oa=ra}ba&&(ab=b.m(M-1).x,sb=b.m(M-1).y,ma=b.m(M).x,na=b.m(M).y,180===this.ba||0===this.ba?sb!==na&&(hb=0===this.ba?Math.min(Math.max((ma+ab)/2,this.Ob[Ga.layer]),ma):Math.max(Math.min((ma+ab)/2,this.Ob[Ga.layer]),ma),b.w(M++,hb,sb),b.w(M++,hb,na)):ab!==ma&&(hb=90===this.ba? +Math.min(Math.max((na+sb)/2,this.Ob[Ga.layer]),na):Math.max(Math.min((na+sb)/2,this.Ob[Ga.layer]),na),b.w(M++,ab,hb),b.w(M++,ma,hb)))}if(null!==d&&R){if(null!==h){if(b.computeSpot(!0)===vb){var Gc=b.m(0),pe=b.m(2);Gc.L(pe)||b.ea(1,(Gc.x+pe.x)/2,(Gc.y+pe.y)/2)}C=b.getLinkPoint(e,h,vb,!0,!1,f,k);C.H()||C.set(e.Y.El);b.ea(0,C.x,C.y)}null!==k&&(b.computeSpot(!1)===vb&&(Gc=b.m(b.ra-1),pe=b.m(b.ra-3),Gc.L(pe)||b.ea(b.ra-2,(Gc.x+pe.x)/2,(Gc.y+pe.y)/2)),C=b.getLinkPoint(f,k,vb,!1,!1,e,h),C.H()||C.set(f.Y.El), +b.ea(b.ra-1,C.x,C.y))}b.gj();c.commit()}}}for(var qe=new I(W),Zf=this.network.edges.i;Zf.next();){var sf=Zf.value.link;null!==sf&&sf.mc&&!qe.contains(sf)&&qe.add(sf)}if(0qc.y&&(Ob=cd.y>qc.y?0:Bd.xXb.x&&(od=ai.x>Xb.x?0:ec.yb.layer?1:a.Xeb.Xe?1:a.reb.re?1:0:0};au.prototype.NF=function(a,b){return a instanceof Xu&&b instanceof Xu&&a!==b?a.firstb.first||a.pib.pi||a.Xeb.Xe?1:a.reb.re?1:0:0}; +au.prototype.Tx=function(a,b){return a instanceof Xu&&b instanceof Xu&&a!==b?a.feb.fe||a.pib.pi||a.Xeb.Xe?1:a.reb.re?1:0:0};function Yu(a,b){var c=a-b;return-1c}function ou(a,b){var c,d=a.je[b];if(d>=a.gh.length){c=[];for(var e=0;ea&&(this.Wi=a,this.J()))});v.defineProperty(au,{uq:"setsPortSpots"},function(){return this.Yh},function(a){this.Yh!==a&&(v.j(a,"boolean",au,"setsPortSpots"),this.Yh=a,this.J())});v.defineProperty(au,{kF:"linkSpacing"},function(){return this.Ur},function(a){this.Ur!==a&&(v.j(a,"number",au,"linkSpacing"),0<=a&&(this.Ur=a,this.J()))});v.u(au,{GI:"maxLayer"},function(){return this.qb}); +v.u(au,{jL:"maxIndex"},function(){return this.Pv});v.u(au,{iL:"maxColumn"},function(){return this.Jb});v.u(au,{oL:"minIndexLayer"},function(){return this.cs});v.u(au,{kL:"maxIndexLayer"},function(){return this.Lf});var bu;au.CycleDepthFirst=bu=v.p(au,"CycleDepthFirst",0);var hu;au.CycleGreedy=hu=v.p(au,"CycleGreedy",1);var cu;au.LayerOptimalLinkLength=cu=v.p(au,"LayerOptimalLinkLength",0);var zu;au.LayerLongestPathSink=zu=v.p(au,"LayerLongestPathSink",1);var Bu; +au.LayerLongestPathSource=Bu=v.p(au,"LayerLongestPathSource",2);var du;au.InitDepthFirstOut=du=v.p(au,"InitDepthFirstOut",0);var Hu;au.InitDepthFirstIn=Hu=v.p(au,"InitDepthFirstIn",1);var Fu;au.InitNaive=Fu=v.p(au,"InitNaive",2);var Lu;au.AggressiveNone=Lu=v.p(au,"AggressiveNone",0);var eu;au.AggressiveLess=eu=v.p(au,"AggressiveLess",1);var Mu;au.AggressiveMore=Mu=v.p(au,"AggressiveMore",2);au.PackNone=0;var Nu;au.PackExpand=Nu=1;var Ou;au.PackStraighten=Ou=2;var Qu;au.PackMedian=Qu=4;var fu; +au.PackAll=fu=7;function Xu(){this.index=this.re=this.Xe=this.fe=this.first=this.layer=0;this.link=null;this.pi=0}v.ae(Xu,{layer:!0,first:!0,fe:!0,Xe:!0,re:!0,index:!0,link:!0,pi:!0});function gu(){ug.call(this)}v.Ma(gu,ug);v.ga("LayeredDigraphNetwork",gu);gu.prototype.createVertex=function(){return new Zu};gu.prototype.createEdge=function(){return new $u}; +function Zu(){fs.call(this);this.index=this.column=this.layer=-1;this.component=NaN;this.near=null;this.valid=!1;this.finish=this.Np=NaN;this.kn=0;this.EA=this.FA=null}v.Ma(Zu,fs);v.ga("LayeredDigraphVertex",Zu);function $u(){gs.call(this);this.forest=this.rev=this.valid=!1;this.portToPos=this.portFromPos=NaN;this.portToColOffset=this.portFromColOffset=0}v.Ma($u,gs);v.ga("LayeredDigraphEdge",$u); +function Y(){0b.level)return!1;a.removeChild(c.parent,c)}return!0}Y.prototype.removeChild=function(a,b){if(null!==a&&null!==b){for(var c=a.children,d=0,e=0;ef?Qv(a,k,ra,z,A):Rv(a,k,ra,z,A);ra=U.x;z=U.width;A=U.height;break;case Ev:for(m=0;ms&&(Mta&&(Aw(a,-ta,0,Ga,m-1),Bw(C,-ta,0),Bw(R,-ta,0),ta=0)}n.qa.l(ta,Z);z=Math.max(z,ba);A=Math.max(A,H+(0===Ia?0:x)+Ja.height);M=ba}else{0s&&(Zta&&(Aw(a,0,-ta,Ga,m-1),Bw(C,0,-ta),Bw(R,0,-ta),ta=0);n.qa.l(M,ta);A=Math.max(A,U);z=Math.max(z,H+(0===Ia?0:x)+Ja.width);Z=U}oa++}0h&&(h=0),135q&&(q=0),p===Fv&&(l+=u/2+a.T.y),k+=d+c):b?(null===a.comments?d>z&&(p=Fw(p,d-z,0),k=p.x,l=p.y,z=d,h=0):z=Dw(a,z,h),0>h&&(k-=h,h=0),135A&&(p=Fw(p,0,e-A),k=p.x,l=p.y,A=e,q=0):A=Ew(a,A,q),0>q&&(l-=q,q=0),k+=d+c);if(0f[0].x?f[2].assign(f[1]):f[1].assign(f[2])),f[3].yf[0].x?f[3].assign(f[2]):f[2].assign(f[3])),p[0].l(h+d,0),p[1].l(p[0].x,e),p[2].yf[0].y?f[2].assign(f[1]):f[1].assign(f[2])),f[3].xf[0].y?f[3].assign(f[2]):f[2].assign(f[3])),p[0].l(0,q+e),p[1].l(d,p[0].y),p[2].xc?Qv(b,e,oa,H,C):Rv(b,e,oa,H,C);oa=C.x;H=C.width;C=C.height;break;case Ev:for(k=0;kr&&(bar&&(Up&&(p=0),135z&&(z=0));b.Pa.l(p,z);b.jb.l(H,C)}} +function Qv(a,b,c,d,e){var f=b.length;if(0===f)return new B(c,0,d,e);if(1===f){var h=b[0];d=h.jb.width;e=h.jb.height;return new B(c,0,d,e)}for(var k=a.nodeSpacing,l=a.rowSpacing,m=90===Lv(a),n=0,p=0,q=0,r=0;rm&&(d-=m),e=Math.max(e,Math.max(w, +q)+b+s.height),0>h.qa.x&&(c=Jw(a,h.qa.x,!1,c,k))):(h.qa.l(d+b,c+k/2-h.T.y-h.Pa.y),d=Math.max(d,Math.max(x,p)+b+s.width),m=c+k/2-h.T.y-h.Pa.y,e=Math.max(e,m+s.height),0>m&&(e-=m),0>h.qa.y&&(c=Jw(a,h.qa.y,!0,c,k))));return new B(c,0,d,e)} +function Rv(a,b,c,d,e){var f=b.length;if(0===f)return new B(c,0,d,e);if(1===f){var h=b[0];d=h.jb.width;e=h.jb.height;return new B(c,0,d,e)}for(var k=a.nodeSpacing,l=a.rowSpacing,m=270===Lv(a),n=0,p=0,q=0,r=0;rp&&(d-=p),e=Math.max(e,Math.abs(Math.min(w, +q))+l+s.height),0>h.qa.x&&(c=Jw(a,h.qa.x,!1,c,k))):(h.qa.l(-d-s.width-l,c+k/2-h.T.y-h.Pa.y),d=Math.max(d,Math.abs(Math.min(x,p))+l+s.width),p=c+k/2-h.T.y-h.Pa.y,e=Math.max(e,p+s.height),0>p&&(e-=p),0>h.qa.y&&(c=Jw(a,h.qa.y,!0,c,k))));for(r=0;rd&&(d=c+a.width);0>c&&(d-=c);return d;case Mv:return a.width>b?a.width:b;case Nv:return 2*a.T.x>b?a.width:b+a.width-2*a.T.x;case Dv:case sv:return d=Math.min(0,c),c=Math.max(b,c+a.width),Math.max(a.width,c-d);case Ev:return a.width-a.T.x+a.nodeSpacing/2+b;case Fv:return Math.max(a.width,a.T.x+a.nodeSpacing/2+b);default:return b}} +function Ew(a,b,c){switch(a.alignment){case Bv:case Cw:var d=b;c+a.height>d&&(d=c+a.height);0>c&&(d-=c);return d;case Mv:return a.height>b?a.height:b;case Nv:return 2*a.T.y>b?a.height:b+a.height-2*a.T.y;case Dv:case sv:return d=Math.min(0,c),c=Math.max(b,c+a.height),Math.max(a.height,c-d);case Ev:return a.height-a.T.y+a.nodeSpacing/2+b;case Fv:return Math.max(a.height,a.T.y+a.nodeSpacing/2+b);default:return b}} +function Fw(a,b,c){switch(a){case Cw:b/=2;c/=2;break;case Bv:b/=2;c/=2;break;case Mv:c=b=0;break;case Nv:break;default:v.k("Unhandled alignment value "+a.toString())}return new y(b,c)}function xw(a,b,c,d,e,f){b=Fw(b,c,d);Aw(a,b.x,b.y,e,f)}function Aw(a,b,c,d,e){if(0!==b||0!==c)for(a=a.children;d<=e;d++){var f=a[d].qa;f.x+=b;f.y+=c}} +function yw(a,b,c,d){var e=b.parent;switch(a.If){case bv:for(a=b.oc;a.next();)b=a.value,b.fromVertex===e&&b.Cs.l(c,d);break;case iv:for(a=b.lc;a.next();)b=a.value,b.toVertex===e&&b.Cs.l(c,d);break;default:v.k("Unhandled path value "+a.If.toString())}}function Bw(a,b,c){for(var d=0;dp.length||null===q||2>q.length))for(m=l=0;lt&&e.ye.y&&tb.length||null===l||2>l.length)d=null;else{n=Sv(a,b.length+l.length);for(d=f=e=0;fe;)t=l[f++],n[d++].l(t.x+m,t.y);l=Sv(a,d);for(e=0;ep.length||null===f||2>f.length)e=null;else{n=Sv(a,p.length+f.length);for(m=x=l=0;lf;)e=p[l++],n[m++].l(e.x,e.y);e=Sv(a,m);for(l=0;lp.length||null===q||2>q.length))for(m=l=0;lf&&e.xe.x&&fb.length||null===l||2>l.length)d=null;else{n=Sv(a, +b.length+l.length);for(d=f=e=0;fe;)t=l[f++],n[d++].l(t.x,t.y+m);l=Sv(a,d);for(e=0;ep.length||null===f||2>f.length)e=null;else{n=Sv(a,p.length+f.length);for(m=x=l=0;lf;)e=p[l++],n[m++].l(e.x,e.y);e=Sv(a,m);for(l=0;l=a?0:135>=a?90:225>=a?180:315>=a?270:0} +function Ov(a){var b=Lv(a),b=90===b||270===b,c=a.layerSpacing;if(0=a&&(this.ua.nodeIndentPastParent=a,this.J()))}); +v.defineProperty(Y,{nodeSpacing:"nodeSpacing"},function(){return this.ua.nodeSpacing},function(a){this.ua.nodeSpacing!==a&&(v.j(a,"number",Y,"nodeSpacing"),this.ua.nodeSpacing=a,this.J())});v.defineProperty(Y,{layerSpacing:"layerSpacing"},function(){return this.ua.layerSpacing},function(a){this.ua.layerSpacing!==a&&(v.j(a,"number",Y,"layerSpacing"),this.ua.layerSpacing=a,this.J())}); +v.defineProperty(Y,{layerSpacingParentOverlap:"layerSpacingParentOverlap"},function(){return this.ua.layerSpacingParentOverlap},function(a){this.ua.layerSpacingParentOverlap!==a&&(v.j(a,"number",Y,"layerSpacingParentOverlap"),0<=a&&1>=a&&(this.ua.layerSpacingParentOverlap=a,this.J()))});v.defineProperty(Y,{compaction:"compaction"},function(){return this.ua.compaction},function(a){this.ua.compaction!==a&&(v.nb(a,Y,Y,"compaction"),a===Iv||a===Kv)&&(this.ua.compaction=a,this.J())}); +v.defineProperty(Y,{breadthLimit:"breadthLimit"},function(){return this.ua.breadthLimit},function(a){this.ua.breadthLimit!==a&&(v.j(a,"number",Y,"breadthLimit"),0<=a&&(this.ua.breadthLimit=a,this.J()))});v.defineProperty(Y,{rowSpacing:"rowSpacing"},function(){return this.ua.rowSpacing},function(a){this.ua.rowSpacing!==a&&(v.j(a,"number",Y,"rowSpacing"),this.ua.rowSpacing=a,this.J())}); +v.defineProperty(Y,{rowIndent:"rowIndent"},function(){return this.ua.rowIndent},function(a){this.ua.rowIndent!==a&&(v.j(a,"number",Y,"rowIndent"),0<=a&&(this.ua.rowIndent=a,this.J()))});v.defineProperty(Y,{commentSpacing:"commentSpacing"},function(){return this.ua.commentSpacing},function(a){this.ua.commentSpacing!==a&&(v.j(a,"number",Y,"commentSpacing"),this.ua.commentSpacing=a,this.J())}); +v.defineProperty(Y,{commentMargin:"commentMargin"},function(){return this.ua.commentMargin},function(a){this.ua.commentMargin!==a&&(v.j(a,"number",Y,"commentMargin"),this.ua.commentMargin=a,this.J())});v.defineProperty(Y,{setsPortSpot:"setsPortSpot"},function(){return this.ua.setsPortSpot},function(a){this.ua.setsPortSpot!==a&&(v.j(a,"boolean",Y,"setsPortSpot"),this.ua.setsPortSpot=a,this.J())}); +v.defineProperty(Y,{portSpot:"portSpot"},function(){return this.ua.portSpot},function(a){v.F(a,L,Y,"portSpot");this.ua.portSpot.L(a)||(this.ua.portSpot=a,this.J())});v.defineProperty(Y,{setsChildPortSpot:"setsChildPortSpot"},function(){return this.ua.setsChildPortSpot},function(a){this.ua.setsChildPortSpot!==a&&(v.j(a,"boolean",Y,"setsChildPortSpot"),this.ua.setsChildPortSpot=a,this.J())}); +v.defineProperty(Y,{childPortSpot:"childPortSpot"},function(){return this.ua.childPortSpot},function(a){v.F(a,L,Y,"childPortSpot");this.ua.childPortSpot.L(a)||(this.ua.childPortSpot=a,this.J())});v.defineProperty(Y,{tK:"alternateSorting"},function(){return this.va.sorting},function(a){this.va.sorting!==a&&(v.nb(a,Y,Y,"alternateSorting"),a===xv||a===yv||a===zv||Av)&&(this.va.sorting=a,this.J())}); +v.defineProperty(Y,{hK:"alternateComparer"},function(){return this.va.comparer},function(a){this.va.comparer!==a&&(v.j(a,"function",Y,"alternateComparer"),this.va.comparer=a,this.J())});v.defineProperty(Y,{bK:"alternateAngle"},function(){return this.va.angle},function(a){this.va.angle!==a&&(v.j(a,"number",Y,"alternateAngle"),0===a||90===a||180===a||270===a)&&(this.va.angle=a,this.J())}); +v.defineProperty(Y,{aK:"alternateAlignment"},function(){return this.va.alignment},function(a){this.va.alignment!==a&&(v.nb(a,Y,Y,"alternateAlignment"),this.va.alignment=a,this.J())});v.defineProperty(Y,{lK:"alternateNodeIndent"},function(){return this.va.nodeIndent},function(a){this.va.nodeIndent!==a&&(v.j(a,"number",Y,"alternateNodeIndent"),0<=a&&(this.va.nodeIndent=a,this.J()))}); +v.defineProperty(Y,{mK:"alternateNodeIndentPastParent"},function(){return this.va.nodeIndentPastParent},function(a){this.va.nodeIndentPastParent!==a&&(v.j(a,"number",Y,"alternateNodeIndentPastParent"),0<=a&&1>=a&&(this.va.nodeIndentPastParent=a,this.J()))});v.defineProperty(Y,{nK:"alternateNodeSpacing"},function(){return this.va.nodeSpacing},function(a){this.va.nodeSpacing!==a&&(v.j(a,"number",Y,"alternateNodeSpacing"),this.va.nodeSpacing=a,this.J())}); +v.defineProperty(Y,{jK:"alternateLayerSpacing"},function(){return this.va.layerSpacing},function(a){this.va.layerSpacing!==a&&(v.j(a,"number",Y,"alternateLayerSpacing"),this.va.layerSpacing=a,this.J())});v.defineProperty(Y,{kK:"alternateLayerSpacingParentOverlap"},function(){return this.va.layerSpacingParentOverlap},function(a){this.va.layerSpacingParentOverlap!==a&&(v.j(a,"number",Y,"alternateLayerSpacingParentOverlap"),0<=a&&1>=a&&(this.va.layerSpacingParentOverlap=a,this.J()))}); +v.defineProperty(Y,{gK:"alternateCompaction"},function(){return this.va.compaction},function(a){this.va.compaction!==a&&(v.nb(a,Y,Y,"alternateCompaction"),a===Iv||a===Kv)&&(this.va.compaction=a,this.J())});v.defineProperty(Y,{cK:"alternateBreadthLimit"},function(){return this.va.breadthLimit},function(a){this.va.breadthLimit!==a&&(v.j(a,"number",Y,"alternateBreadthLimit"),0<=a&&(this.va.breadthLimit=a,this.J()))}); +v.defineProperty(Y,{qK:"alternateRowSpacing"},function(){return this.va.rowSpacing},function(a){this.va.rowSpacing!==a&&(v.j(a,"number",Y,"alternateRowSpacing"),this.va.rowSpacing=a,this.J())});v.defineProperty(Y,{pK:"alternateRowIndent"},function(){return this.va.rowIndent},function(a){this.va.rowIndent!==a&&(v.j(a,"number",Y,"alternateRowIndent"),0<=a&&(this.va.rowIndent=a,this.J()))}); +v.defineProperty(Y,{fK:"alternateCommentSpacing"},function(){return this.va.commentSpacing},function(a){this.va.commentSpacing!==a&&(v.j(a,"number",Y,"alternateCommentSpacing"),this.va.commentSpacing=a,this.J())});v.defineProperty(Y,{eK:"alternateCommentMargin"},function(){return this.va.commentMargin},function(a){this.va.commentMargin!==a&&(v.j(a,"number",Y,"alternateCommentMargin"),this.va.commentMargin=a,this.J())}); +v.defineProperty(Y,{sK:"alternateSetsPortSpot"},function(){return this.va.setsPortSpot},function(a){this.va.setsPortSpot!==a&&(v.j(a,"boolean",Y,"alternateSetsPortSpot"),this.va.setsPortSpot=a,this.J())});v.defineProperty(Y,{oK:"alternatePortSpot"},function(){return this.va.portSpot},function(a){v.F(a,L,Y,"alternatePortSpot");this.va.portSpot.L(a)||(this.va.portSpot=a,this.J())}); +v.defineProperty(Y,{rK:"alternateSetsChildPortSpot"},function(){return this.va.setsChildPortSpot},function(a){this.va.setsChildPortSpot!==a&&(v.j(a,"boolean",Y,"alternateSetsChildPortSpot"),this.va.setsChildPortSpot=a,this.J())});v.defineProperty(Y,{dK:"alternateChildPortSpot"},function(){return this.va.childPortSpot},function(a){v.F(a,L,Y,"alternateChildPortSpot");this.va.childPortSpot.L(a)||(this.va.childPortSpot=a,this.J())});var av;Y.PathDefault=av=v.p(Y,"PathDefault",-1);var bv; +Y.PathDestination=bv=v.p(Y,"PathDestination",0);var iv;Y.PathSource=iv=v.p(Y,"PathSource",1);var xv;Y.SortingForwards=xv=v.p(Y,"SortingForwards",10);var yv;Y.SortingReverse=yv=v.p(Y,"SortingReverse",11);var zv;Y.SortingAscending=zv=v.p(Y,"SortingAscending",12);var Av;Y.SortingDescending=Av=v.p(Y,"SortingDescending",13);var Cw;Y.AlignmentCenterSubtrees=Cw=v.p(Y,"AlignmentCenterSubtrees",20);var Bv;Y.AlignmentCenterChildren=Bv=v.p(Y,"AlignmentCenterChildren",21);var Mv; +Y.AlignmentStart=Mv=v.p(Y,"AlignmentStart",22);var Nv;Y.AlignmentEnd=Nv=v.p(Y,"AlignmentEnd",23);var Dv;Y.AlignmentBus=Dv=v.p(Y,"AlignmentBus",24);var sv;Y.AlignmentBusBranching=sv=v.p(Y,"AlignmentBusBranching",25);var Ev;Y.AlignmentTopLeftBus=Ev=v.p(Y,"AlignmentTopLeftBus",26);var Fv;Y.AlignmentBottomRightBus=Fv=v.p(Y,"AlignmentBottomRightBus",27);var Iv;Y.CompactionNone=Iv=v.p(Y,"CompactionNone",30);var Kv;Y.CompactionBlock=Kv=v.p(Y,"CompactionBlock",31);var cv; +Y.StyleLayered=cv=v.p(Y,"StyleLayered",40);var wv;Y.StyleLastParents=wv=v.p(Y,"StyleLastParents",41);var vv;Y.StyleAlternating=vv=v.p(Y,"StyleAlternating",42);var uv;Y.StyleRootOnly=uv=v.p(Y,"StyleRootOnly",43);var ev;Y.ArrangementVertical=ev=v.p(Y,"ArrangementVertical",50);var Lw;Y.ArrangementHorizontal=Lw=v.p(Y,"ArrangementHorizontal",51);var hv;Y.ArrangementFixedRoots=hv=v.p(Y,"ArrangementFixedRoots",52);var dv;Y.LayerIndividual=dv=v.p(Y,"LayerIndividual",60);var qv; +Y.LayerSiblings=qv=v.p(Y,"LayerSiblings",61);var pv;Y.LayerUniform=pv=v.p(Y,"LayerUniform",62);function gv(){ug.call(this)}v.Ma(gv,ug);v.ga("TreeNetwork",gv);gv.prototype.createVertex=function(){return new fv};gv.prototype.createEdge=function(){return new Nw}; +function fv(){fs.call(this);this.initialized=!1;this.parent=null;this.children=[];this.maxGenerationCount=this.maxChildrenCount=this.descendantCount=this.level=0;this.comments=null;this.qa=new y(0,0);this.jb=new ia(0,0);this.Pa=new y(0,0);this.pq=this.oq=this.sJ=!1;this.xu=this.du=null;this.sorting=xv;this.comparer=ls;this.angle=0;this.alignment=Bv;this.nodeIndentPastParent=this.nodeIndent=0;this.nodeSpacing=20;this.layerSpacing=50;this.layerSpacingParentOverlap=0;this.compaction=Kv;this.breadthLimit= +0;this.rowSpacing=25;this.commentSpacing=this.rowIndent=10;this.commentMargin=20;this.setsPortSpot=!0;this.portSpot=nc;this.setsChildPortSpot=!0;this.childPortSpot=nc}v.Ma(fv,fs);v.ga("TreeVertex",fv); +fv.prototype.copyInheritedPropertiesFrom=function(a){null!==a&&(this.sorting=a.sorting,this.comparer=a.comparer,this.angle=a.angle,this.alignment=a.alignment,this.nodeIndent=a.nodeIndent,this.nodeIndentPastParent=a.nodeIndentPastParent,this.nodeSpacing=a.nodeSpacing,this.layerSpacing=a.layerSpacing,this.layerSpacingParentOverlap=a.layerSpacingParentOverlap,this.compaction=a.compaction,this.breadthLimit=a.breadthLimit,this.rowSpacing=a.rowSpacing,this.rowIndent=a.rowIndent,this.commentSpacing=a.commentSpacing, +this.commentMargin=a.commentMargin,this.setsPortSpot=a.setsPortSpot,this.portSpot=a.portSpot,this.setsChildPortSpot=a.setsChildPortSpot,this.childPortSpot=a.childPortSpot)};v.u(fv,{mn:"childrenCount"},function(){return this.children.length});v.defineProperty(fv,{DL:"relativePosition"},function(){return this.qa},function(a){this.qa.set(a)});v.defineProperty(fv,{PL:"subtreeSize"},function(){return this.jb},function(a){this.jb.set(a)}); +v.defineProperty(fv,{OL:"subtreeOffset"},function(){return this.Pa},function(a){this.Pa.set(a)});function Nw(){gs.call(this);this.Cs=new y(0,0)}v.Ma(Nw,gs);v.ga("TreeEdge",Nw); +Nw.prototype.commit=function(){var a=this.link;if(null!==a&&!a.Ck){var b=this.network.Rb,c=null,d=null;switch(b.If){case bv:c=this.fromVertex;d=this.toVertex;break;case iv:c=this.toVertex;d=this.fromVertex;break;default:v.k("Unhandled path value "+b.If.toString())}if(null!==c&&null!==d)if(b=this.Cs,0!==b.x||0!==b.y||c.sJ){var d=c.kb,e=Lv(c),f=Ov(c),h=c.rowSpacing;a.Yn();var k=a.Ze===jj,l=a.mc,m=0,n,p;a.dm();if(l||k){for(m=2;4q.y+c.rowIndent&&(r=Math.min(r,Math.max(n.y,r-Pv(c))))):c.alignment===Mv?(r=d.top+b.y,0===b.y&&n.yq.x+c.rowIndent&&(r=Math.min(r,Math.max(n.x,r-Pv(c))))):c.alignment===Mv?(r=d.left+b.x,0===b.x&&n.xq.y+c.rowIndent&&(r=Math.min(r,Math.max(n.y,r-Pv(c))))):c.alignment===Mv?(r=d.top+b.y,0===b.y&&n.yq.x+c.rowIndent&&(r=Math.min(r,Math.max(n.x,r-Pv(c))))):c.alignment===Mv?(r=d.left+b.x,0===b.x&&n.x +
+ + +
@@ -35,9 +39,9 @@
    -
  • Contact Info
  • -
  • Demographics
  • -
  • End of Intake
  • +
  • Contact Info
  • +
  • Demographics
  • +
  • End of Intake
From 3c78298c597b09fc23905bf9d629bd10a8757a54 Mon Sep 17 00:00:00 2001 From: Niharika Singh Date: Tue, 28 Mar 2017 07:48:13 -0400 Subject: [PATCH 4/4] final commit, now see dj_sitebuilder --- gojs.py | 4 ++-- tempNo.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gojs.py b/gojs.py index 682659d..49204b3 100644 --- a/gojs.py +++ b/gojs.py @@ -5,7 +5,7 @@ currModel = {} tempNo = 0 -with open('templates/datum.json') as data_file: +with open('../templates/jstemplates/datum.json') as data_file: currModel = json.load(data_file) @app.route('/') @@ -31,7 +31,7 @@ def loadtemplate(): loadFileName = request.args.get("payload") print "******bp2 " + loadFileName loadTemplate = {} - with open("templates/" + loadFileName) as loadFile: + with open("../templates/jstemplates/" + loadFileName) as loadFile: loadTemplate = loadFile.readlines() print "******bp3 " + " ".join(loadTemplate) return " ".join(loadTemplate), 200 diff --git a/tempNo.txt b/tempNo.txt index 19c7bdb..8e2afd3 100644 --- a/tempNo.txt +++ b/tempNo.txt @@ -1 +1 @@ -16 \ No newline at end of file +17 \ No newline at end of file