/*! bpmn-js - bpmn-viewer v0.17.0 | (c) 2014, 2015 camunda Services GmbH | bpmn.io/license */ ! function(e) { if ("object" == typeof exports && "undefined" != typeof module) module.exports = e(); else if ("function" == typeof define && define.amd) define([], e); else { var t; t = "undefined" != typeof window ? window: "undefined" != typeof global ? global: "undefined" != typeof self ? self: this, t.BpmnJS = e() } } (function() { var e; return function e(t, n, r) { function i(a, s) { if (!n[a]) { if (!t[a]) { var c = "function" == typeof require && require; if (!s && c) return c(a, !0); if (o) return o(a, !0); var l = new Error("Cannot find module '" + a + "'"); throw l.code = "MODULE_NOT_FOUND", l } var u = n[a] = { exports: {} }; t[a][0].call(u.exports, function(e) { var n = t[a][1][e]; return i(n ? n: e) }, u, u.exports, e, t, n, r) } return n[a].exports } for (var o = "function" == typeof require && require, a = 0; a < r.length; a++) i(r[a]); return i } ({ 1 : [function(e, t, n) { "use strict"; function r(e) { var t = /unparsable content <([^>]+)> detected([\s\S]*)$/, n = t.exec(e.message); return n && (e.message = "unparsable content <" + n[1] + "> detected; this may indicate an invalid BPMN 2.0 diagram file" + n[2]), e } function i(e) { return e + (u(e) ? "px": "") } function o(e) { e = s({}, v, e), this.moddle = this._createModdle(e), this.container = this._createContainer(e), a(this.container), this._init(this.container, this.moddle, e) } function a(e) { var t = x.BPMNIO_LOGO, n = '', r = p(n); e.appendChild(r), b.bind(r, "click", function(e) { x.open(), e.preventDefault() }) } var s = e(197), c = e(201), l = e(194), u = e(191), p = e(212), f = e(214), h = e(215), d = e(36), m = e(15), y = e(77), g = e(8), v = { width: "100%", height: "100%", position: "relative", container: "body" }; y(o, d), t.exports = o, o.prototype.importXML = function(e, t) { t = t || function() {}; var n = this; e = this._emit("import.parse.start", { xml: e }) || e, this.moddle.fromXML(e, "bpmn:Definitions", function(e, i, o) { if (i = n._emit("import.parse.complete", { error: e, definitions: i, context: o }) || i, e) return e = r(e), n._emit("import.done", { error: e }), t(e); var a = o.warnings; n.importDefinitions(i, function(e, r) { var i = [].concat(a, r || []); n._emit("import.done", { error: e, warnings: i }), t(e, i) }) }) }, o.prototype.saveXML = function(e, t) { t || (t = e, e = {}); var n = this.definitions; return n ? void this.moddle.toXML(n, e, t) : t(new Error("no definitions loaded")) }, o.prototype.saveSVG = function(e, t) { t || (t = e, e = {}); var n = this.get("canvas"), r = n.getDefaultLayer(), i = n._svg.select("defs"), o = r.innerSVG(), a = i && i.outerSVG() || "", s = r.getBBox(), c = '\n\n\n' + a + o + ""; t(null, c) }, o.prototype.importDefinitions = function(e, t) { try { this.definitions && this.clear(), this.definitions = e, g.importBpmnDiagram(this, e, t) } catch(e) { t(e) } }, o.prototype.getModules = function() { return this._modules }, o.prototype.destroy = function() { d.prototype.destroy.call(this), h(this.container) }, o.prototype.on = function(e, t, n, r) { return this.get("eventBus").on(e, t, n, r) }, o.prototype.off = function(e, t) { this.get("eventBus").off(e, t) }, o.prototype._init = function(e, t, n) { var r = n.modules || this.getModules(), i = n.additionalModules || [], o = [{ bpmnjs: ["value", this], moddle: ["value", t] }], a = [].concat(o, r, i), l = s(c(n, "additionalModules"), { canvas: s({}, n.canvas, { container: e }), modules: a }); d.call(this, l) }, o.prototype._emit = function(e, t) { return this.get("eventBus").fire(e, t) }, o.prototype._createContainer = function(e) { var t, n = e.container; return n.get && (n = n.get(0)), l(n) && (n = f(n)), t = p('
'), s(t.style, { width: i(e.width), height: i(e.height), position: e.position }), n.appendChild(t), t }, o.prototype._createModdle = function(e) { var t = s({}, this._moddleExtensions, e.moddleExtensions); return new m(t) }, o.prototype._modules = [e(2), e(58), e(57), e(53)], o.prototype._moddleExtensions = {}; var x = e(14), b = e(213) }, { 14 : 14, 15 : 15, 191 : 191, 194 : 194, 197 : 197, 2 : 2, 201 : 201, 212 : 212, 213 : 213, 214 : 214, 215 : 215, 36 : 36, 53 : 53, 57 : 57, 58 : 58, 77 : 77, 8 : 8 }], 2 : [function(e, t, n) { t.exports = { __depends__: [e(5), e(10)] } }, { 10 : 10, 5 : 5 }], 3 : [function(e, t, n) { "use strict"; function r(e, t, n, r) { function l(e, t) { V[e] = t } function u(e) { return V[e] } function p(e) { function t(e, t) { var n = m({ fill: "black", strokeWidth: 1, strokeLinecap: "round", strokeDasharray: "none" }, t.attrs), r = t.ref || { x: 0, y: 0 }, i = t.scale || 1; "none" === n.strokeDasharray && (n.strokeDasharray = [1e4, 1]); var o = t.element.attr(n).marker(0, 0, 20, 20, r.x, r.y).attr({ markerWidth: 20 * i, markerHeight: 20 * i }); return l(e, o) } t("sequenceflow-end", { element: e.path("M 1 5 L 11 10 L 1 15 Z"), ref: { x: 11, y: 10 }, scale: .5 }), t("messageflow-start", { element: e.circle(6, 6, 3.5), attrs: { fill: "white", stroke: "black" }, ref: { x: 6, y: 6 } }), t("messageflow-end", { element: e.path("m 1 5 l 0 -3 l 7 3 l -7 3 z"), attrs: { fill: "white", stroke: "black", strokeLinecap: "butt" }, ref: { x: 8.5, y: 5 } }), t("association-start", { element: e.path("M 11 5 L 1 10 L 11 15"), attrs: { fill: "none", stroke: "black", strokeWidth: 1.5 }, ref: { x: 1, y: 10 }, scale: .5 }), t("association-end", { element: e.path("M 1 5 L 11 10 L 1 15"), attrs: { fill: "none", stroke: "black", strokeWidth: 1.5 }, ref: { x: 12, y: 10 }, scale: .5 }), t("conditional-flow-marker", { element: e.path("M 0 10 L 8 6 L 16 10 L 8 14 Z"), attrs: { fill: "white", stroke: "black" }, ref: { x: -1, y: 10 }, scale: .5 }), t("conditional-default-flow-marker", { element: e.path("M 1 4 L 5 16"), attrs: { stroke: "black" }, ref: { x: -5, y: 10 }, scale: .5 }) } function f(e, t, n, r, i) { d(r) && (i = r, r = 0), r = r || 0, i = G(i, { stroke: "black", strokeWidth: 2, fill: "white" }); var o = t / 2, a = n / 2; return e.circle(o, a, Math.round((t + n) / 4 - r)).attr(i) } function h(e, t, n, r, i, o) { return d(i) && (o = i, i = 0), i = i || 0, o = G(o, { stroke: "black", strokeWidth: 2, fill: "white" }), e.rect(i, i, t - 2 * i, n - 2 * i, r).attr(o) } function g(e, t, n, r) { var i = t / 2, o = n / 2, a = [i, 0, t, o, i, n, 0, o]; return r = G(r, { stroke: "black", strokeWidth: 2, fill: "white" }), e.polygon(a).attr(r) } function x(e, t, n) { return n = G(n, ["no-fill"], { stroke: "black", strokeWidth: 2, fill: "none" }), T(t, n).appendTo(e) } function A(e, t, n) { return n = G(n, ["no-fill"], { strokeWidth: 2, stroke: "black" }), e.path(t).attr(n) } function _(e, t, n, r) { return A(t, n, m({ "data-marker": e }, r)) } function S(e) { return function(t, n) { return U[e](t, n) } } function M(e) { return U[e] } function P(e, t) { var n = c(e), r = o(n); return i(n, "bpmn:MessageEventDefinition") ? M("bpmn:MessageEventDefinition")(t, e, r) : i(n, "bpmn:TimerEventDefinition") ? M("bpmn:TimerEventDefinition")(t, e, r) : i(n, "bpmn:ConditionalEventDefinition") ? M("bpmn:ConditionalEventDefinition")(t, e) : i(n, "bpmn:SignalEventDefinition") ? M("bpmn:SignalEventDefinition")(t, e, r) : i(n, "bpmn:CancelEventDefinition") && i(n, "bpmn:TerminateEventDefinition", { parallelMultiple: !1 }) ? M("bpmn:MultipleEventDefinition")(t, e, r) : i(n, "bpmn:CancelEventDefinition") && i(n, "bpmn:TerminateEventDefinition", { parallelMultiple: !0 }) ? M("bpmn:ParallelMultipleEventDefinition")(t, e, r) : i(n, "bpmn:EscalationEventDefinition") ? M("bpmn:EscalationEventDefinition")(t, e, r) : i(n, "bpmn:LinkEventDefinition") ? M("bpmn:LinkEventDefinition")(t, e, r) : i(n, "bpmn:ErrorEventDefinition") ? M("bpmn:ErrorEventDefinition")(t, e, r) : i(n, "bpmn:CancelEventDefinition") ? M("bpmn:CancelEventDefinition")(t, e, r) : i(n, "bpmn:CompensateEventDefinition") ? M("bpmn:CompensateEventDefinition")(t, e, r) : i(n, "bpmn:TerminateEventDefinition") ? M("bpmn:TerminateEventDefinition")(t, e, r) : null } function D(e, t, n) { return j.createText(e, t || "", n).addClass("djs-label") } function k(e, t, n) { var r = c(t); return D(e, r.name, { box: t, align: n, padding: 5 }) } function O(e, t) { var n = c(t), r = { width: 90, height: 30, x: t.width / 2 + t.x, y: t.height / 2 + t.y }; return D(e, n.name, { box: r, style: { fontSize: "11px" } }) } function B(e, t, n) { var r = D(e, t, { box: { height: 30, width: n.height }, align: "center-middle" }), i = -1 * n.height; r.transform("rotate(270) translate(" + i + ",0)") } function I(e) { for (var t = e.waypoints, n = "m " + t[0].x + "," + t[0].y, r = 1; r < t.length; r++) n += "L" + t[r].x + "," + t[r].y + " "; return n } function L(e, t, n) { var r, i = c(t), o = v(n, "SubProcessMarker"); r = o ? { seq: -21, parallel: -22, compensation: -42, loop: -18, adhoc: 10 }: { seq: -3, parallel: -6, compensation: -27, loop: 0, adhoc: 10 }, y(n, function(n) { M(n)(e, t, r) }), i.isForCompensation && M("CompensationMarker")(e, t, r), "bpmn:AdHocSubProcess" === i.$type && M("AdhocMarker")(e, t, r); var a = i.loopCharacteristics, s = a && a.isSequential; a && (void 0 === s && M("LoopMarker")(e, t, r), s === !1 && M("ParallelMarker")(e, t, r), s === !0 && M("SequentialMarker")(e, t, r)) } function F(e, t) { var r = (t.height - 16) / t.height, i = n.getScaledPath("DATA_OBJECT_COLLECTION_PATH", { xScaleFactor: 1, yScaleFactor: 1, containerWidth: t.width, containerHeight: t.height, position: { mx: .451, my: r } }); A(e, i, { strokeWidth: 2 }) } b.call(this, e, r); var j = new E({ style: N, size: { width: 100 } }), V = {}, G = t.computeStyle, U = this.handlers = { "bpmn:Event": function(e, t, n) { return f(e, t.width, t.height, n) }, "bpmn:StartEvent": function(e, t) { var n = {}, r = c(t); r.isInterrupting || (n = { strokeDasharray: "6", strokeLinecap: "round" }); var i = M("bpmn:Event")(e, t, n); return P(t, e), i }, "bpmn:MessageEventDefinition": function(e, t, r) { var i = n.getScaledPath("EVENT_MESSAGE", { xScaleFactor: .9, yScaleFactor: .9, containerWidth: t.width, containerHeight: t.height, position: { mx: .235, my: .315 } }), o = r ? "black": "white", a = r ? "white": "black", s = A(e, i, { strokeWidth: 1, fill: o, stroke: a }); return s }, "bpmn:TimerEventDefinition": function(e, t) { var r = f(e, t.width, t.height, .2 * t.height, { strokeWidth: 2 }), i = n.getScaledPath("EVENT_TIMER_WH", { xScaleFactor: .75, yScaleFactor: .75, containerWidth: t.width, containerHeight: t.height, position: { mx: .5, my: .5 } }); A(e, i, { strokeWidth: 2, strokeLinecap: "square" }); for (var o = 0; o < 12; o++) { var a = n.getScaledPath("EVENT_TIMER_LINE", { xScaleFactor: .75, yScaleFactor: .75, containerWidth: t.width, containerHeight: t.height, position: { mx: .5, my: .5 } }), s = t.width / 2, c = t.height / 2; A(e, a, { strokeWidth: 1, strokeLinecap: "square", transform: "rotate(" + 30 * o + "," + c + "," + s + ")" }) } return r }, "bpmn:EscalationEventDefinition": function(e, t, r) { var i = n.getScaledPath("EVENT_ESCALATION", { xScaleFactor: 1, yScaleFactor: 1, containerWidth: t.width, containerHeight: t.height, position: { mx: .5, my: .2 } }), o = r ? "black": "none"; return A(e, i, { strokeWidth: 1, fill: o }) }, "bpmn:ConditionalEventDefinition": function(e, t) { var r = n.getScaledPath("EVENT_CONDITIONAL", { xScaleFactor: 1, yScaleFactor: 1, containerWidth: t.width, containerHeight: t.height, position: { mx: .5, my: .222 } }); return A(e, r, { strokeWidth: 1 }) }, "bpmn:LinkEventDefinition": function(e, t, r) { var i = n.getScaledPath("EVENT_LINK", { xScaleFactor: 1, yScaleFactor: 1, containerWidth: t.width, containerHeight: t.height, position: { mx: .57, my: .263 } }), o = r ? "black": "none"; return A(e, i, { strokeWidth: 1, fill: o }) }, "bpmn:ErrorEventDefinition": function(e, t, r) { var i = n.getScaledPath("EVENT_ERROR", { xScaleFactor: 1.1, yScaleFactor: 1.1, containerWidth: t.width, containerHeight: t.height, position: { mx: .2, my: .722 } }), o = r ? "black": "none"; return A(e, i, { strokeWidth: 1, fill: o }) }, "bpmn:CancelEventDefinition": function(e, t, r) { var i = n.getScaledPath("EVENT_CANCEL_45", { xScaleFactor: 1, yScaleFactor: 1, containerWidth: t.width, containerHeight: t.height, position: { mx: .638, my: -.055 } }), o = r ? "black": "none"; return A(e, i, { strokeWidth: 1, fill: o }).transform("rotate(45)") }, "bpmn:CompensateEventDefinition": function(e, t, r) { var i = n.getScaledPath("EVENT_COMPENSATION", { xScaleFactor: 1, yScaleFactor: 1, containerWidth: t.width, containerHeight: t.height, position: { mx: .22, my: .5 } }), o = r ? "black": "none"; return A(e, i, { strokeWidth: 1, fill: o }) }, "bpmn:SignalEventDefinition": function(e, t, r) { var i = n.getScaledPath("EVENT_SIGNAL", { xScaleFactor: .9, yScaleFactor: .9, containerWidth: t.width, containerHeight: t.height, position: { mx: .5, my: .2 } }), o = r ? "black": "none"; return A(e, i, { strokeWidth: 1, fill: o }) }, "bpmn:MultipleEventDefinition": function(e, t, r) { var i = n.getScaledPath("EVENT_MULTIPLE", { xScaleFactor: 1.1, yScaleFactor: 1.1, containerWidth: t.width, containerHeight: t.height, position: { mx: .222, my: .36 } }), o = r ? "black": "none"; return A(e, i, { strokeWidth: 1, fill: o }) }, "bpmn:ParallelMultipleEventDefinition": function(e, t) { var r = n.getScaledPath("EVENT_PARALLEL_MULTIPLE", { xScaleFactor: 1.2, yScaleFactor: 1.2, containerWidth: t.width, containerHeight: t.height, position: { mx: .458, my: .194 } }); return A(e, r, { strokeWidth: 1 }) }, "bpmn:EndEvent": function(e, t) { var n = M("bpmn:Event")(e, t, { strokeWidth: 4 }); return P(t, e, !0), n }, "bpmn:TerminateEventDefinition": function(e, t) { var n = f(e, t.width, t.height, 8, { strokeWidth: 4, fill: "black" }); return n }, "bpmn:IntermediateEvent": function(e, t) { var n = M("bpmn:Event")(e, t, { strokeWidth: 1 }); return f(e, t.width, t.height, R, { strokeWidth: 1, fill: "none" }), P(t, e), n }, "bpmn:IntermediateCatchEvent": S("bpmn:IntermediateEvent"), "bpmn:IntermediateThrowEvent": S("bpmn:IntermediateEvent"), "bpmn:Activity": function(e, t, n) { return h(e, t.width, t.height, C, n) }, "bpmn:Task": function(e, t, n) { var r = M("bpmn:Activity")(e, t, n); return k(e, t, "center-middle"), L(e, t), r }, "bpmn:ServiceTask": function(e, t) { var r = M("bpmn:Task")(e, t), i = n.getScaledPath("TASK_TYPE_SERVICE", { abspos: { x: 12, y: 18 } }); A(e, i, { strokeWidth: 1, fill: "none" }); var o = n.getScaledPath("TASK_TYPE_SERVICE_FILL", { abspos: { x: 17.2, y: 18 } }); A(e, o, { strokeWidth: 0, stroke: "none", fill: "white" }); var a = n.getScaledPath("TASK_TYPE_SERVICE", { abspos: { x: 17, y: 22 } }); return A(e, a, { strokeWidth: 1, fill: "white" }), r }, "bpmn:UserTask": function(e, t) { var r = M("bpmn:Task")(e, t), i = 15, o = 12, a = n.getScaledPath("TASK_TYPE_USER_1", { abspos: { x: i, y: o } }); A(e, a, { strokeWidth: .5, fill: "none" }); var s = n.getScaledPath("TASK_TYPE_USER_2", { abspos: { x: i, y: o } }); A(e, s, { strokeWidth: .5, fill: "none" }); var c = n.getScaledPath("TASK_TYPE_USER_3", { abspos: { x: i, y: o } }); return A(e, c, { strokeWidth: .5, fill: "black" }), r }, "bpmn:ManualTask": function(e, t) { var r = M("bpmn:Task")(e, t), i = n.getScaledPath("TASK_TYPE_MANUAL", { abspos: { x: 17, y: 15 } }); return A(e, i, { strokeWidth: .25, fill: "white", stroke: "black" }), r }, "bpmn:SendTask": function(e, t) { var r = M("bpmn:Task")(e, t), i = n.getScaledPath("TASK_TYPE_SEND", { xScaleFactor: 1, yScaleFactor: 1, containerWidth: 21, containerHeight: 14, position: { mx: .285, my: .357 } }); return A(e, i, { strokeWidth: 1, fill: "black", stroke: "white" }), r }, "bpmn:ReceiveTask": function(e, t) { var r, i = c(t), o = M("bpmn:Task")(e, t); return i.instantiate ? (f(e, 28, 28, 4.4, { strokeWidth: 1 }), r = n.getScaledPath("TASK_TYPE_INSTANTIATING_SEND", { abspos: { x: 7.77, y: 9.52 } })) : r = n.getScaledPath("TASK_TYPE_SEND", { xScaleFactor: .9, yScaleFactor: .9, containerWidth: 21, containerHeight: 14, position: { mx: .3, my: .4 } }), A(e, r, { strokeWidth: 1 }), o }, "bpmn:ScriptTask": function(e, t) { var r = M("bpmn:Task")(e, t), i = n.getScaledPath("TASK_TYPE_SCRIPT", { abspos: { x: 15, y: 20 } }); return A(e, i, { strokeWidth: 1 }), r }, "bpmn:BusinessRuleTask": function(e, t) { var r = M("bpmn:Task")(e, t), i = n.getScaledPath("TASK_TYPE_BUSINESS_RULE_HEADER", { abspos: { x: 8, y: 8 } }), o = A(e, i); o.attr({ strokeWidth: 1, fill: "AAA" }); var a = n.getScaledPath("TASK_TYPE_BUSINESS_RULE_MAIN", { abspos: { x: 8, y: 8 } }), s = A(e, a); return s.attr({ strokeWidth: 1 }), r }, "bpmn:SubProcess": function(e, t, n) { n = m({ fillOpacity: .95 }, n); var r = M("bpmn:Activity")(e, t, n), i = w.isExpanded(t), o = w.isEventSubProcess(t); return o && r.attr({ strokeDasharray: "1,2" }), k(e, t, i ? "center-top": "center-middle"), i ? L(e, t) : L(e, t, ["SubProcessMarker"]), r }, "bpmn:AdHocSubProcess": function(e, t) { return M("bpmn:SubProcess")(e, t) }, "bpmn:Transaction": function(e, n) { var r = M("bpmn:SubProcess")(e, n), i = t.style(["no-fill", "no-events"]); return h(e, n.width, n.height, C - 2, R, i), r }, "bpmn:CallActivity": function(e, t) { return M("bpmn:SubProcess")(e, t, { strokeWidth: 5 }) }, "bpmn:Participant": function(e, t) { var n = M("bpmn:Lane")(e, t, { fillOpacity: .95, fill: "White" }), r = w.isExpanded(t); if (r) { x(e, [{ x: 30, y: 0 }, { x: 30, y: t.height }]); var i = c(t).name; B(e, i, t) } else { var o = c(t).name; D(e, o, { box: t, align: "center-middle" }) } var a = !!c(t).participantMultiplicity; return a && M("ParticipantMultiplicityMarker")(e, t), n }, "bpmn:Lane": function(e, t, n) { var r = h(e, t.width, t.height, 0, n || { fill: "none" }), i = c(t); if ("bpmn:Lane" === i.$type) { var o = i.name; B(e, o, t) } return r }, "bpmn:InclusiveGateway": function(e, t) { var n = g(e, t.width, t.height); return f(e, t.width, t.height, .24 * t.height, { strokeWidth: 2.5, fill: "none" }), n }, "bpmn:ExclusiveGateway": function(e, t) { var r = g(e, t.width, t.height), i = n.getScaledPath("GATEWAY_EXCLUSIVE", { xScaleFactor: .4, yScaleFactor: .4, containerWidth: t.width, containerHeight: t.height, position: { mx: .32, my: .3 } }); return s(t).isMarkerVisible && A(e, i, { strokeWidth: 1, fill: "black" }), r }, "bpmn:ComplexGateway": function(e, t) { var r = g(e, t.width, t.height), i = n.getScaledPath("GATEWAY_COMPLEX", { xScaleFactor: .5, yScaleFactor: .5, containerWidth: t.width, containerHeight: t.height, position: { mx: .46, my: .26 } }); return A(e, i, { strokeWidth: 1, fill: "black" }), r }, "bpmn:ParallelGateway": function(e, t) { var r = g(e, t.width, t.height), i = n.getScaledPath("GATEWAY_PARALLEL", { xScaleFactor: .6, yScaleFactor: .6, containerWidth: t.width, containerHeight: t.height, position: { mx: .46, my: .2 } }); return A(e, i, { strokeWidth: 1, fill: "black" }), r }, "bpmn:EventBasedGateway": function(e, t) { function r() { var r = n.getScaledPath("GATEWAY_EVENT_BASED", { xScaleFactor: .18, yScaleFactor: .18, containerWidth: t.width, containerHeight: t.height, position: { mx: .36, my: .44 } }); A(e, r, { strokeWidth: 2, fill: "none" }) } var i = c(t), o = g(e, t.width, t.height); f(e, t.width, t.height, .2 * t.height, { strokeWidth: 1, fill: "none" }); var a = i.eventGatewayType, s = !!i.instantiate; if ("Parallel" === a) { var l = n.getScaledPath("GATEWAY_PARALLEL", { xScaleFactor: .4, yScaleFactor: .4, containerWidth: t.width, containerHeight: t.height, position: { mx: .474, my: .296 } }), u = A(e, l); u.attr({ strokeWidth: 1, fill: "none" }) } else if ("Exclusive" === a) { if (!s) { var p = f(e, t.width, t.height, .26 * t.height); p.attr({ strokeWidth: 1, fill: "none" }) } r() } return o }, "bpmn:Gateway": function(e, t) { return g(e, t.width, t.height) }, "bpmn:SequenceFlow": function(e, t) { var n = I(t), r = A(e, n, { strokeLinejoin: "round", markerEnd: u("sequenceflow-end") }), i = c(t), o = t.source.businessObject; return i.conditionExpression && o.$instanceOf("bpmn:Activity") && r.attr({ markerStart: u("conditional-flow-marker") }), o. default && (o.$instanceOf("bpmn:Gateway") || o.$instanceOf("bpmn:Activity")) && o. default === i && r.attr({ markerStart: u("conditional-default-flow-marker") }), r }, "bpmn:Association": function(e, t, n) { var r = c(t); return n = m({ strokeDasharray: "0.5, 5", strokeLinecap: "round", strokeLinejoin: "round" }, n || {}), "One" !== r.associationDirection && "Both" !== r.associationDirection || (n.markerEnd = u("association-end")), "Both" === r.associationDirection && (n.markerStart = u("association-start")), x(e, t.waypoints, n) }, "bpmn:DataInputAssociation": function(e, t) { return M("bpmn:Association")(e, t, { markerEnd: u("association-end") }) }, "bpmn:DataOutputAssociation": function(e, t) { return M("bpmn:Association")(e, t, { markerEnd: u("association-end") }) }, "bpmn:MessageFlow": function(e, t) { var r = c(t), i = s(t), o = I(t), a = A(e, o, { markerEnd: u("messageflow-end"), markerStart: u("messageflow-start"), strokeDasharray: "10, 12", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5px" }); if (r.messageRef) { var l = a.getPointAtLength(a.getTotalLength() / 2), p = n.getScaledPath("MESSAGE_FLOW_MARKER", { abspos: { x: l.x, y: l.y } }), f = { strokeWidth: 1 }; "initiating" === i.messageVisibleKind ? (f.fill = "white", f.stroke = "black") : (f.fill = "#888", f.stroke = "white"), A(e, p, f) } return a }, "bpmn:DataObject": function(e, t) { var r = n.getScaledPath("DATA_OBJECT_PATH", { xScaleFactor: 1, yScaleFactor: 1, containerWidth: t.width, containerHeight: t.height, position: { mx: .474, my: .296 } }), i = A(e, r, { fill: "white" }), o = c(t); return a(o) && F(e, t), i }, "bpmn:DataObjectReference": S("bpmn:DataObject"), "bpmn:DataInput": function(e, t) { var r = n.getRawPath("DATA_ARROW"), i = M("bpmn:DataObject")(e, t); return A(e, r, { strokeWidth: 1 }), i }, "bpmn:DataOutput": function(e, t) { var r = n.getRawPath("DATA_ARROW"), i = M("bpmn:DataObject")(e, t); return A(e, r, { strokeWidth: 1, fill: "black" }), i }, "bpmn:DataStoreReference": function(e, t) { var r = n.getScaledPath("DATA_STORE", { xScaleFactor: 1, yScaleFactor: 1, containerWidth: t.width, containerHeight: t.height, position: { mx: 0, my: .133 } }), i = A(e, r, { strokeWidth: 2, fill: "white" }); return i }, "bpmn:BoundaryEvent": function(e, t) { var n = c(t), r = n.cancelActivity, i = { strokeWidth: 1 }; r || (i.strokeDasharray = "6", i.strokeLinecap = "round"); var o = M("bpmn:Event")(e, t, i); return f(e, t.width, t.height, R, m(i, { fill: "none" })), P(t, e), o }, "bpmn:Group": function(e, t) { return h(e, t.width, t.height, C, { strokeWidth: 1, strokeDasharray: "8,3,1,3", fill: "none", pointerEvents: "none" }) }, label: function(e, t) { var n = O(e, t), r = n.getBBox(); return t.x = Math.round(t.x + t.width / 2) - Math.round(r.width / 2), t.width = Math.ceil(r.width), t.height = Math.ceil(r.height), n.attr({ transform: "translate(" + -1 * r.x + ",0)" }), n }, "bpmn:TextAnnotation": function(e, t) { var r = { fill: "none", stroke: "none" }, i = h(e, t.width, t.height, 0, 0, r), o = n.getScaledPath("TEXT_ANNOTATION", { xScaleFactor: 1, yScaleFactor: 1, containerWidth: t.width, containerHeight: t.height, position: { mx: 0, my: 0 } }); A(e, o); var a = c(t).text || ""; return D(e, a, { box: t, align: "left-middle", padding: 5 }), i }, ParticipantMultiplicityMarker: function(e, t) { var r = n.getScaledPath("MARKER_PARALLEL", { xScaleFactor: 1, yScaleFactor: 1, containerWidth: t.width, containerHeight: t.height, position: { mx: t.width / 2 / t.width, my: (t.height - 15) / t.height } }); _("participant-multiplicity", e, r) }, SubProcessMarker: function(e, t) { var r = h(e, 14, 14, 0, { strokeWidth: 1 }); r.transform("translate(" + (t.width / 2 - 7.5) + "," + (t.height - 20) + ")"); var i = n.getScaledPath("MARKER_SUB_PROCESS", { xScaleFactor: 1.5, yScaleFactor: 1.5, containerWidth: t.width, containerHeight: t.height, position: { mx: (t.width / 2 - 7.5) / t.width, my: (t.height - 20) / t.height } }); _("sub-process", e, i) }, ParallelMarker: function(e, t, r) { var i = n.getScaledPath("MARKER_PARALLEL", { xScaleFactor: 1, yScaleFactor: 1, containerWidth: t.width, containerHeight: t.height, position: { mx: (t.width / 2 + r.parallel) / t.width, my: (t.height - 20) / t.height } }); _("parallel", e, i) }, SequentialMarker: function(e, t, r) { var i = n.getScaledPath("MARKER_SEQUENTIAL", { xScaleFactor: 1, yScaleFactor: 1, containerWidth: t.width, containerHeight: t.height, position: { mx: (t.width / 2 + r.seq) / t.width, my: (t.height - 19) / t.height } }); _("sequential", e, i) }, CompensationMarker: function(e, t, r) { var i = n.getScaledPath("MARKER_COMPENSATION", { xScaleFactor: 1, yScaleFactor: 1, containerWidth: t.width, containerHeight: t.height, position: { mx: (t.width / 2 + r.compensation) / t.width, my: (t.height - 13) / t.height } }); _("compensation", e, i, { strokeWidth: 1 }) }, LoopMarker: function(e, t, r) { var i = n.getScaledPath("MARKER_LOOP", { xScaleFactor: 1, yScaleFactor: 1, containerWidth: t.width, containerHeight: t.height, position: { mx: (t.width / 2 + r.loop) / t.width, my: (t.height - 7) / t.height } }); _("loop", e, i, { strokeWidth: 1, fill: "none", strokeLinecap: "round", strokeMiterlimit: .5 }) }, AdhocMarker: function(e, t, r) { var i = n.getScaledPath("MARKER_ADHOC", { xScaleFactor: 1, yScaleFactor: 1, containerWidth: t.width, containerHeight: t.height, position: { mx: (t.width / 2 + r.adhoc) / t.width, my: (t.height - 15) / t.height } }); _("adhoc", e, i, { strokeWidth: 1, fill: "black" }) } }; e.on("canvas.init", function(e) { p(e.svg) }) } function i(e, t, n) { function r(e, t) { return g(t, function(t, n) { return e[n] == t }) } return x(e.eventDefinitions, function(i) { return i.$type === t && r(e, n) }) } function o(e) { return "bpmn:IntermediateThrowEvent" === e.$type || "bpmn:EndEvent" === e.$type } function a(e) { return e.isCollection || e.elementObjectRef && e.elementObjectRef.isCollection } function s(e) { return e.businessObject.di } function c(e) { return e.businessObject } function l(e) { var t = e.x + e.width / 2, n = e.y + e.height / 2, r = e.width / 2, i = [["M", t, n], ["m", 0, -r], ["a", r, r, 0, 1, 1, 0, 2 * r], ["a", r, r, 0, 1, 1, 0, -2 * r], ["z"]]; return S(i) } function u(e, t) { var n = e.x, r = e.y, i = e.width, o = e.height, a = [["M", n + t, r], ["l", i - 2 * t, 0], ["a", t, t, 0, 0, 1, t, t], ["l", 0, o - 2 * t], ["a", t, t, 0, 0, 1, -t, t], ["l", 2 * t - i, 0], ["a", t, t, 0, 0, 1, -t, -t], ["l", 0, 2 * t - o], ["a", t, t, 0, 0, 1, t, -t], ["z"]]; return S(a) } function p(e) { var t = e.width, n = e.height, r = e.x, i = e.y, o = t / 2, a = n / 2, s = [["M", r + o, i], ["l", o, a], ["l", -o, a], ["l", -o, -a], ["z"]]; return S(s) } function f(e) { var t = e.x, n = e.y, r = e.width, i = e.height, o = [["M", t, n], ["l", r, 0], ["l", 0, i], ["l", -r, 0], ["z"]]; return S(o) } var h = e(77), d = e(192), m = e(197), y = e(83), g = e(80), v = e(85), x = e(88), b = e(44), E = e(69), w = e(11), A = e(13).is, _ = e(68), S = _.componentsToPath, T = _.createLine, C = 10, R = 3, N = { fontFamily: "Arial, sans-serif", fontSize: "12px" }; h(r, b), r.$inject = ["eventBus", "styles", "pathMap"], t.exports = r, r.prototype.canRender = function(e) { return A(e, "bpmn:BaseElement") }, r.prototype.drawShape = function(e, t) { var n = t.type, r = this.handlers[n]; return r(e, t) }, r.prototype.drawConnection = function(e, t) { var n = t.type, r = this.handlers[n]; return r(e, t) }, r.prototype.getShapePath = function(e) { return A(e, "bpmn:Event") ? l(e) : A(e, "bpmn:Activity") ? u(e, C) : A(e, "bpmn:Gateway") ? p(e) : f(e) } }, { 11 : 11, 13 : 13, 192 : 192, 197 : 197, 44 : 44, 68 : 68, 69 : 69, 77 : 77, 80 : 80, 83 : 83, 85 : 85, 88 : 88 }], 4 : [function(e, t, n) { "use strict"; function r() { this.pathMap = { EVENT_MESSAGE: { d: "m {mx},{my} l 0,{e.y1} l {e.x1},0 l 0,-{e.y1} z l {e.x0},{e.y0} l {e.x0},-{e.y0}", height: 36, width: 36, heightElements: [6, 14], widthElements: [10.5, 21] }, EVENT_SIGNAL: { d: "M {mx},{my} l {e.x0},{e.y0} l -{e.x1},0 Z", height: 36, width: 36, heightElements: [18], widthElements: [10, 20] }, EVENT_ESCALATION: { d: "M {mx},{my} l {e.x0},{e.y0} l -{e.x0},-{e.y1} l -{e.x0},{e.y1} Z", height: 36, width: 36, heightElements: [20, 7], widthElements: [8] }, EVENT_CONDITIONAL: { d: "M {e.x0},{e.y0} l {e.x1},0 l 0,{e.y2} l -{e.x1},0 Z M {e.x2},{e.y3} l {e.x0},0 M {e.x2},{e.y4} l {e.x0},0 M {e.x2},{e.y5} l {e.x0},0 M {e.x2},{e.y6} l {e.x0},0 M {e.x2},{e.y7} l {e.x0},0 M {e.x2},{e.y8} l {e.x0},0 ", height: 36, width: 36, heightElements: [8.5, 14.5, 18, 11.5, 14.5, 17.5, 20.5, 23.5, 26.5], widthElements: [10.5, 14.5, 12.5] }, EVENT_LINK: { d: "m {mx},{my} 0,{e.y0} -{e.x1},0 0,{e.y1} {e.x1},0 0,{e.y0} {e.x0},-{e.y2} -{e.x0},-{e.y2} z", height: 36, width: 36, heightElements: [4.4375, 6.75, 7.8125], widthElements: [9.84375, 13.5] }, EVENT_ERROR: { d: "m {mx},{my} {e.x0},-{e.y0} {e.x1},-{e.y1} {e.x2},{e.y2} {e.x3},-{e.y3} -{e.x4},{e.y4} -{e.x5},-{e.y5} z", height: 36, width: 36, heightElements: [.023, 8.737, 8.151, 16.564, 10.591, 8.714], widthElements: [.085, 6.672, 6.97, 4.273, 5.337, 6.636] }, EVENT_CANCEL_45: { d: "m {mx},{my} -{e.x1},0 0,{e.x0} {e.x1},0 0,{e.y1} {e.x0},0 0,-{e.y1} {e.x1},0 0,-{e.y0} -{e.x1},0 0,-{e.y1} -{e.x0},0 z", height: 36, width: 36, heightElements: [4.75, 8.5], widthElements: [4.75, 8.5] }, EVENT_COMPENSATION: { d: "m {mx},{my} {e.x0},-{e.y0} 0,{e.y1} z m {e.x1},-{e.y2} {e.x2},-{e.y3} 0,{e.y1} -{e.x2},-{e.y3} z", height: 36, width: 36, heightElements: [6.5, 13, .4, 6.1], widthElements: [9, 9.3, 8.7] }, EVENT_TIMER_WH: { d: "M {mx},{my} l {e.x0},-{e.y0} m -{e.x0},{e.y0} l {e.x1},{e.y1} ", height: 36, width: 36, heightElements: [10, 2], widthElements: [3, 7] }, EVENT_TIMER_LINE: { d: "M {mx},{my} m {e.x0},{e.y0} l -{e.x1},{e.y1} ", height: 36, width: 36, heightElements: [10, 3], widthElements: [0, 0] }, EVENT_MULTIPLE: { d: "m {mx},{my} {e.x1},-{e.y0} {e.x1},{e.y0} -{e.x0},{e.y1} -{e.x2},0 z", height: 36, width: 36, heightElements: [6.28099, 12.56199], widthElements: [3.1405, 9.42149, 12.56198] }, EVENT_PARALLEL_MULTIPLE: { d: "m {mx},{my} {e.x0},0 0,{e.y1} {e.x1},0 0,{e.y0} -{e.x1},0 0,{e.y1} -{e.x0},0 0,-{e.y1} -{e.x1},0 0,-{e.y0} {e.x1},0 z", height: 36, width: 36, heightElements: [2.56228, 7.68683], widthElements: [2.56228, 7.68683] }, GATEWAY_EXCLUSIVE: { d: "m {mx},{my} {e.x0},{e.y0} {e.x1},{e.y0} {e.x2},0 {e.x4},{e.y2} {e.x4},{e.y1} {e.x2},0 {e.x1},{e.y3} {e.x0},{e.y3} {e.x3},0 {e.x5},{e.y1} {e.x5},{e.y2} {e.x3},0 z", height: 17.5, width: 17.5, heightElements: [8.5, 6.5312, -6.5312, -8.5], widthElements: [6.5, -6.5, 3, -3, 5, -5] }, GATEWAY_PARALLEL: { d: "m {mx},{my} 0,{e.y1} -{e.x1},0 0,{e.y0} {e.x1},0 0,{e.y1} {e.x0},0 0,-{e.y1} {e.x1},0 0,-{e.y0} -{e.x1},0 0,-{e.y1} -{e.x0},0 z", height: 30, width: 30, heightElements: [5, 12.5], widthElements: [5, 12.5] }, GATEWAY_EVENT_BASED: { d: "m {mx},{my} {e.x0},{e.y0} {e.x0},{e.y1} {e.x1},{e.y2} {e.x2},0 z", height: 11, width: 11, heightElements: [ - 6, 6, 12, -12], widthElements: [9, -3, -12] }, GATEWAY_COMPLEX: { d: "m {mx},{my} 0,{e.y0} -{e.x0},-{e.y1} -{e.x1},{e.y2} {e.x0},{e.y1} -{e.x2},0 0,{e.y3} {e.x2},0 -{e.x0},{e.y1} l {e.x1},{e.y2} {e.x0},-{e.y1} 0,{e.y0} {e.x3},0 0,-{e.y0} {e.x0},{e.y1} {e.x1},-{e.y2} -{e.x0},-{e.y1} {e.x2},0 0,-{e.y3} -{e.x2},0 {e.x0},-{e.y1} -{e.x1},-{e.y2} -{e.x0},{e.y1} 0,-{e.y0} -{e.x3},0 z", height: 17.125, width: 17.125, heightElements: [4.875, 3.4375, 2.125, 3], widthElements: [3.4375, 2.125, 4.875, 3] }, DATA_OBJECT_PATH: { d: "m 0,0 {e.x1},0 {e.x0},{e.y0} 0,{e.y1} -{e.x2},0 0,-{e.y2} {e.x1},0 0,{e.y0} {e.x0},0", height: 61, width: 51, heightElements: [10, 50, 60], widthElements: [10, 40, 50, 60] }, DATA_OBJECT_COLLECTION_PATH: { d: "m {mx}, {my} m 0 15 l 0 -15 m 4 15 l 0 -15 m 4 15 l 0 -15 ", height: 61, width: 51, heightElements: [12], widthElements: [1, 6, 12, 15] }, DATA_ARROW: { d: "m 5,9 9,0 0,-3 5,5 -5,5 0,-3 -9,0 z", height: 61, width: 51, heightElements: [], widthElements: [] }, DATA_STORE: { d: "m {mx},{my} l 0,{e.y2} c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0 l 0,-{e.y2} c -{e.x0},-{e.y1} -{e.x1},-{e.y1} -{e.x2},0c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0 m -{e.x2},{e.y0}c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0m -{e.x2},{e.y0}c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0", height: 61, width: 61, heightElements: [7, 10, 45], widthElements: [2, 58, 60] }, TEXT_ANNOTATION: { d: "m {mx}, {my} m 10,0 l -10,0 l 0,{e.y0} l 10,0", height: 30, width: 10, heightElements: [30], widthElements: [10] }, MARKER_SUB_PROCESS: { d: "m{mx},{my} m 7,2 l 0,10 m -5,-5 l 10,0", height: 10, width: 10, heightElements: [], widthElements: [] }, MARKER_PARALLEL: { d: "m{mx},{my} m 3,2 l 0,10 m 3,-10 l 0,10 m 3,-10 l 0,10", height: 10, width: 10, heightElements: [], widthElements: [] }, MARKER_SEQUENTIAL: { d: "m{mx},{my} m 0,3 l 10,0 m -10,3 l 10,0 m -10,3 l 10,0", height: 10, width: 10, heightElements: [], widthElements: [] }, MARKER_COMPENSATION: { d: "m {mx},{my} 7,-5 0,10 z m 7.1,-0.3 6.9,-4.7 0,10 -6.9,-4.7 z", height: 10, width: 21, heightElements: [], widthElements: [] }, MARKER_LOOP: { d: "m {mx},{my} c 3.526979,0 6.386161,-2.829858 6.386161,-6.320661 0,-3.490806 -2.859182,-6.320661 -6.386161,-6.320661 -3.526978,0 -6.38616,2.829855 -6.38616,6.320661 0,1.745402 0.714797,3.325567 1.870463,4.469381 0.577834,0.571908 1.265885,1.034728 2.029916,1.35457 l -0.718163,-3.909793 m 0.718163,3.909793 -3.885211,0.802902", height: 13.9, width: 13.7, heightElements: [], widthElements: [] }, MARKER_ADHOC: { d: "m {mx},{my} m 0.84461,2.64411 c 1.05533,-1.23780996 2.64337,-2.07882 4.29653,-1.97997996 2.05163,0.0805 3.85579,1.15803 5.76082,1.79107 1.06385,0.34139996 2.24454,0.1438 3.18759,-0.43767 0.61743,-0.33642 1.2775,-0.64078 1.7542,-1.17511 0,0.56023 0,1.12046 0,1.6807 -0.98706,0.96237996 -2.29792,1.62393996 -3.6918,1.66181996 -1.24459,0.0927 -2.46671,-0.2491 -3.59505,-0.74812 -1.35789,-0.55965 -2.75133,-1.33436996 -4.27027,-1.18121996 -1.37741,0.14601 -2.41842,1.13685996 -3.44288,1.96782996 z", height: 4, width: 15, heightElements: [], widthElements: [] }, TASK_TYPE_SEND: { d: "m {mx},{my} l 0,{e.y1} l {e.x1},0 l 0,-{e.y1} z l {e.x0},{e.y0} l {e.x0},-{e.y0}", height: 14, width: 21, heightElements: [6, 14], widthElements: [10.5, 21] }, TASK_TYPE_SCRIPT: { d: "m {mx},{my} c 9.966553,-6.27276 -8.000926,-7.91932 2.968968,-14.938 l -8.802728,0 c -10.969894,7.01868 6.997585,8.66524 -2.968967,14.938 z m -7,-12 l 5,0 m -4.5,3 l 4.5,0 m -3,3 l 5,0m -4,3 l 5,0", height: 15, width: 12.6, heightElements: [6, 14], widthElements: [10.5, 21] }, TASK_TYPE_USER_1: { d: "m {mx},{my} c 0.909,-0.845 1.594,-2.049 1.594,-3.385 0,-2.554 -1.805,-4.62199999 -4.357,-4.62199999 -2.55199998,0 -4.28799998,2.06799999 -4.28799998,4.62199999 0,1.348 0.974,2.562 1.89599998,3.405 -0.52899998,0.187 -5.669,2.097 -5.794,4.7560005 v 6.718 h 17 v -6.718 c 0,-2.2980005 -5.5279996,-4.5950005 -6.0509996,-4.7760005 zm -8,6 l 0,5.5 m 11,0 l 0,-5" }, TASK_TYPE_USER_2: { d: "m {mx},{my} m 2.162,1.009 c 0,2.4470005 -2.158,4.4310005 -4.821,4.4310005 -2.66499998,0 -4.822,-1.981 -4.822,-4.4310005 " }, TASK_TYPE_USER_3: { d: "m {mx},{my} m -6.9,-3.80 c 0,0 2.25099998,-2.358 4.27399998,-1.177 2.024,1.181 4.221,1.537 4.124,0.965 -0.098,-0.57 -0.117,-3.79099999 -4.191,-4.13599999 -3.57499998,0.001 -4.20799998,3.36699999 -4.20699998,4.34799999 z" }, TASK_TYPE_MANUAL: { d: "m {mx},{my} c 0.234,-0.01 5.604,0.008 8.029,0.004 0.808,0 1.271,-0.172 1.417,-0.752 0.227,-0.898 -0.334,-1.314 -1.338,-1.316 -2.467,-0.01 -7.886,-0.004 -8.108,-0.004 -0.014,-0.079 0.016,-0.533 0,-0.61 0.195,-0.042 8.507,0.006 9.616,0.002 0.877,-0.007 1.35,-0.438 1.353,-1.208 0.003,-0.768 -0.479,-1.09 -1.35,-1.091 -2.968,-0.002 -9.619,-0.013 -9.619,-0.013 v -0.591 c 0,0 5.052,-0.016 7.225,-0.016 0.888,-0.002 1.354,-0.416 1.351,-1.193 -0.006,-0.761 -0.492,-1.196 -1.361,-1.196 -3.473,-0.005 -10.86,-0.003 -11.0829995,-0.003 -0.022,-0.047 -0.045,-0.094 -0.069,-0.139 0.3939995,-0.319 2.0409995,-1.626 2.4149995,-2.017 0.469,-0.4870005 0.519,-1.1650005 0.162,-1.6040005 -0.414,-0.511 -0.973,-0.5 -1.48,-0.236 -1.4609995,0.764 -6.5999995,3.6430005 -7.7329995,4.2710005 -0.9,0.499 -1.516,1.253 -1.882,2.19 -0.37000002,0.95 -0.17,2.01 -0.166,2.979 0.004,0.718 -0.27300002,1.345 -0.055,2.063 0.629,2.087 2.425,3.312 4.859,3.318 4.6179995,0.014 9.2379995,-0.139 13.8569995,-0.158 0.755,-0.004 1.171,-0.301 1.182,-1.033 0.012,-0.754 -0.423,-0.969 -1.183,-0.973 -1.778,-0.01 -5.824,-0.004 -6.04,-0.004 10e-4,-0.084 0.003,-0.586 10e-4,-0.67 z" }, TASK_TYPE_INSTANTIATING_SEND: { d: "m {mx},{my} l 0,8.4 l 12.6,0 l 0,-8.4 z l 6.3,3.6 l 6.3,-3.6" }, TASK_TYPE_SERVICE: { d: "m {mx},{my} v -1.71335 c 0.352326,-0.0705 0.703932,-0.17838 1.047628,-0.32133 0.344416,-0.14465 0.665822,-0.32133 0.966377,-0.52145 l 1.19431,1.18005 1.567487,-1.57688 -1.195028,-1.18014 c 0.403376,-0.61394 0.683079,-1.29908 0.825447,-2.01824 l 1.622133,-0.01 v -2.2196 l -1.636514,0.01 c -0.07333,-0.35153 -0.178319,-0.70024 -0.323564,-1.04372 -0.145244,-0.34406 -0.321407,-0.6644 -0.522735,-0.96217 l 1.131035,-1.13631 -1.583305,-1.56293 -1.129598,1.13589 c -0.614052,-0.40108 -1.302883,-0.68093 -2.022633,-0.82247 l 0.0093,-1.61852 h -2.241173 l 0.0042,1.63124 c -0.353763,0.0736 -0.705369,0.17977 -1.049785,0.32371 -0.344415,0.14437 -0.665102,0.32092 -0.9635006,0.52046 l -1.1698628,-1.15823 -1.5667691,1.5792 1.1684265,1.15669 c -0.4026573,0.61283 -0.68308,1.29797 -0.8247287,2.01713 l -1.6588041,0.003 v 2.22174 l 1.6724648,-0.006 c 0.073327,0.35077 0.1797598,0.70243 0.3242851,1.04472 0.1452428,0.34448 0.3214064,0.6644 0.5227339,0.96066 l -1.1993431,1.19723 1.5840256,1.56011 1.1964668,-1.19348 c 0.6140517,0.40346 1.3028827,0.68232 2.0233517,0.82331 l 7.19e-4,1.69892 h 2.226848 z m 0.221462,-3.9957 c -1.788948,0.7502 -3.8576,-0.0928 -4.6097055,-1.87438 -0.7521065,-1.78321 0.090598,-3.84627 1.8802645,-4.59604 1.78823,-0.74936 3.856881,0.0929 4.608987,1.87437 0.752106,1.78165 -0.0906,3.84612 -1.879546,4.59605 z" }, TASK_TYPE_SERVICE_FILL: { d: "m {mx},{my} c -1.788948,0.7502 -3.8576,-0.0928 -4.6097055,-1.87438 -0.7521065,-1.78321 0.090598,-3.84627 1.8802645,-4.59604 1.78823,-0.74936 3.856881,0.0929 4.608987,1.87437 0.752106,1.78165 -0.0906,3.84612 -1.879546,4.59605 z" }, TASK_TYPE_BUSINESS_RULE_HEADER: { d: "m {mx},{my} 0,4 20,0 0,-4 z" }, TASK_TYPE_BUSINESS_RULE_MAIN: { d: "m {mx},{my} 0,12 20,0 0,-12 zm 0,8 l 20,0 m -13,-4 l 0,8" }, MESSAGE_FLOW_MARKER: { d: "m {mx},{my} m -10.5 ,-7 l 0,14 l 21,0 l 0,-14 z l 10.5,6 l 10.5,-6" } }, this.getRawPath = function(e) { return this.pathMap[e].d }, this.getScaledPath = function(e, t) { var n, r, o = this.pathMap[e]; t.abspos ? (n = t.abspos.x, r = t.abspos.y) : (n = t.containerWidth * t.position.mx, r = t.containerHeight * t.position.my); var a = {}; if (t.position) { for (var s = t.containerHeight / o.height * t.yScaleFactor, c = t.containerWidth / o.width * t.xScaleFactor, l = 0; l < o.heightElements.length; l++) a["y" + l] = o.heightElements[l] * s; for (var u = 0; u < o.widthElements.length; u++) a["x" + u] = o.widthElements[u] * c } var p = i.format(o.d, { mx: n, my: r, e: a }); return p } } var i = e(76); t.exports = r }, { 76 : 76 }], 5 : [function(e, t, n) { t.exports = { __init__: ["bpmnRenderer"], bpmnRenderer: ["type", e(3)], pathMap: ["type", e(4)] } }, { 3 : 3, 4 : 4 }], 6 : [function(e, t, n) { "use strict"; function r(e, t) { return s({ id: e.id, type: e.$type, businessObject: e }, t) } function i(e) { return c(e, function(e) { return { x: e.x, y: e.y } }) } function o(e, t, n, r) { return new Error(e("element {element} referenced by {referenced}#{property} not yet drawn", { element: d(n), referenced: d(t), property: r })) } function a(e, t, n, r, i) { this._eventBus = e, this._canvas = t, this._elementFactory = n, this._elementRegistry = r, this._translate = i } var s = e(197), c = e(86), l = e(12), u = e(13).is, p = l.hasExternalLabel, f = l.getExternalLabelBounds, h = e(11).isExpanded, d = e(9).elementToString; a.$inject = ["eventBus", "canvas", "elementFactory", "elementRegistry", "translate"], t.exports = a, a.prototype.add = function(e, t) { var n, o, a = e.di, s = this._translate; if (u(a, "bpmndi:BPMNPlane")) n = this._elementFactory.createRoot(r(e)), this._canvas.setRootElement(n); else if (u(a, "bpmndi:BPMNShape")) { var c = !h(e); o = t && (t.hidden || t.collapsed); var l = e.di.bounds; n = this._elementFactory.createShape(r(e, { collapsed: c, hidden: o, x: Math.round(l.x), y: Math.round(l.y), width: Math.round(l.width), height: Math.round(l.height) })), u(e, "bpmn:BoundaryEvent") && this._attachBoundary(e, n), this._canvas.addShape(n, t) } else { if (!u(a, "bpmndi:BPMNEdge")) throw new Error(s("unknown di {di} for element {semantic}", { di: d(a), semantic: d(e) })); var f = this._getSource(e), m = this._getTarget(e); o = t && (t.hidden || t.collapsed), n = this._elementFactory.createConnection(r(e, { hidden: o, source: f, target: m, waypoints: i(e.di.waypoint) })), (u(e, "bpmn:DataInputAssociation") || u(e, "bpmn:DataOutputAssociation")) && (t = null), this._canvas.addConnection(n, t) } return p(e) && this.addLabel(e, n), this._eventBus.fire("bpmnElement.added", { element: n }), n }, a.prototype._attachBoundary = function(e, t) { var n = this._translate, r = e.attachedToRef; if (!r) throw new Error(n("missing {semantic}#attachedToRef", { semantic: d(e) })); var i = this._elementRegistry.get(r.id), a = i && i.attachers; if (!i) throw o(n, e, r, "attachedToRef"); t.host = i, a || (i.attachers = a = []), a.indexOf(t) === -1 && a.push(t) }, a.prototype.addLabel = function(e, t) { var n = f(e, t), i = this._elementFactory.createLabel(r(e, { id: e.id + "_label", labelTarget: t, type: "label", hidden: t.hidden || !e.name, x: Math.round(n.x), y: Math.round(n.y), width: Math.round(n.width), height: Math.round(n.height) })); return this._canvas.addShape(i, t.parent) }, a.prototype._getEnd = function(e, t) { var n, r, i = e.$type, a = this._translate; if (r = e[t + "Ref"], "source" === t && "bpmn:DataInputAssociation" === i && (r = r && r[0]), ("source" === t && "bpmn:DataOutputAssociation" === i || "target" === t && "bpmn:DataInputAssociation" === i) && (r = e.$parent), n = r && this._getElement(r)) return n; throw r ? o(a, e, r, t + "Ref") : new Error(a("{semantic}#{side} Ref not specified", { semantic: d(e), side: t })) }, a.prototype._getSource = function(e) { return this._getEnd(e, "source") }, a.prototype._getTarget = function(e) { return this._getEnd(e, "target") }, a.prototype._getElement = function(e) { return this._elementRegistry.get(e.id) } }, { 11 : 11, 12 : 12, 13 : 13, 197 : 197, 86 : 86, 9 : 9 }], 7 : [function(e, t, n) { "use strict"; function r(e, t) { return e.$instanceOf(t) } function i(e) { return s(e.rootElements, function(e) { return r(e, "bpmn:Process") || r(e, "bpmn:Collaboration") }) } function o(e, t) { function n(e, t) { return function(n) { e(n, t) } } function o(e) { z[e.id] = e } function s(e) { return z[e.id] } function l(n, r) { var i = n.gfx; if (i) throw new Error(t("already rendered {element}", { element: u(n) })); return e.element(n, r) } function f(t, n) { return e.root(t, n) } function h(e, n) { try { var r = e.di && l(e, n); return o(e), r } catch(n) { d(n.message, { element: e, error: n }), console.error(t("failed to import {element}", { element: u(e) })), console.error(n) } } function d(t, n) { e.error(t, n) } function m(e) { var n = e.bpmnElement; n ? n.di ? d(t("multiple DI elements defined for {element}", { element: u(n) }), { element: n }) : (p.bind(n, "di"), n.di = e) : d(t("no bpmnElement referenced in {element}", { element: u(e) }), { element: e }) } function y(e) { g(e.plane) } function g(e) { m(e), c(e.planeElement, v) } function v(e) { m(e) } function x(e, n) { var o = e.diagrams; if (n && o.indexOf(n) === -1) throw new Error(t("diagram not part of bpmn:Definitions")); if (!n && o && o.length && (n = o[0]), !n) throw new Error(t("no diagram to display")); y(n); var a = n.plane; if (!a) throw new Error(t("no plane for {element}", { element: u(n) })); var s = a.bpmnElement; if (!s) { if (s = i(e), !s) throw new Error(t("no process or collaboration to display")); d(t("correcting missing bpmnElement on {plane} to {rootElement}", { plane: u(a), rootElement: u(s) })), a.bpmnElement = s, m(a) } var c = f(s, a); if (r(s, "bpmn:Process")) E(s, c); else { if (!r(s, "bpmn:Collaboration")) throw new Error(t("unsupported bpmnElement for {plane}: {rootElement}", { plane: u(a), rootElement: u(s) })); U(s, c), w(e.rootElements, c) } b(q) } function b(e) { c(e, function(e) { e() }) } function E(e, t) { j(e, t), M(e.ioSpecification, t), N(e.artifacts, t), o(e) } function w(e) { var t = a(e, function(e) { return ! s(e) && r(e, "bpmn:Process") && e.laneSets }); t.forEach(n(E)) } function A(e, t) { h(e, t) } function _(e, t) { c(e, n(A, t)) } function S(e, t) { h(e, t) } function T(e, t) { h(e, t) } function C(e, t) { h(e, t) } function R(e, t) { h(e, t) } function N(e, t) { c(e, function(e) { r(e, "bpmn:Association") ? q.push(function() { R(e, t) }) : R(e, t) }) } function M(e, t) { e && (c(e.dataInputs, n(T, t)), c(e.dataOutputs, n(C, t))) } function P(e, t) { j(e, t), N(e.artifacts, t) } function D(e, t) { var i = h(e, t); r(e, "bpmn:SubProcess") && P(e, i || t), r(e, "bpmn:Activity") && M(e.ioSpecification, t), q.push(function() { c(e.dataInputAssociations, n(S, t)), c(e.dataOutputAssociations, n(S, t)) }) } function k(e, t) { h(e, t) } function O(e, t) { h(e, t) } function B(e, t) { h(e, t) } function I(e, t) { var n = h(e, t); e.childLaneSet && L(e.childLaneSet, n || t), W(e) } function L(e, t) { c(e.lanes, n(I, t)) } function F(e, t) { c(e, n(L, t)) } function j(e, t) { e.laneSets && F(e.laneSets, t), V(e.flowElements, t) } function V(e, n) { c(e, function(e) { r(e, "bpmn:SequenceFlow") ? q.push(function() { k(e, n) }) : r(e, "bpmn:BoundaryEvent") ? q.unshift(function() { B(e, n) }) : r(e, "bpmn:FlowNode") ? D(e, n) : r(e, "bpmn:DataObject") || (r(e, "bpmn:DataStoreReference") ? O(e, n) : r(e, "bpmn:DataObjectReference") ? O(e, n) : d(t("unrecognized flowElement {element} in context {context}", { element: u(e), context: n ? u(n.businessObject) : "null" }), { element: e, context: n })) }) } function G(e, t) { var n = h(e, t), r = e.processRef; r && E(r, n || t) } function U(e) { c(e.participants, n(G)), N(e.artifacts), q.push(function() { _(e.messageFlows) }) } function W(e) { c(e.flowNodeRef, function(t) { var n = t.get("lanes"); n && n.push(e) }) } var z = {}, q = []; return { handleDefinitions: x } } var a = e(81), s = e(82), c = e(83), l = e(224), u = e(9).elementToString, p = new l({ name: "bpmnElement", enumerable: !0 }, { name: "di" }); t.exports = o }, { 224 : 224, 81 : 81, 82 : 82, 83 : 83, 9 : 9 }], 8 : [function(e, t, n) { "use strict"; function r(e, t, n) { function r(e) { var t = { root: function(e) { return a.add(e) }, element: function(e, t) { return a.add(e, t) }, error: function(e, t) { l.push({ message: e, context: t }) } }, n = new i(t, c); n.handleDefinitions(e) } var o, a = e.get("bpmnImporter"), s = e.get("eventBus"), c = e.get("translate"), l = []; s.fire("import.render.start", { definitions: t }); try { r(t) } catch(e) { o = e } s.fire("import.render.complete", { error: o, warnings: l }), n(o, l) } var i = e(7); t.exports.importBpmnDiagram = r }, { 7 : 7 }], 9 : [function(e, t, n) { "use strict"; t.exports.elementToString = function(e) { return e ? "<" + e.$type + (e.id ? ' id="' + e.id: "") + '" />': "" } }, {}], 10 : [function(e, t, n) { t.exports = { __depends__: [e(58)], bpmnImporter: ["type", e(6)] } }, { 58 : 58, 6 : 6 }], 11 : [function(e, t, n) { "use strict"; var r = e(13).is, i = e(13).getBusinessObject; t.exports.isExpanded = function(e) { return ! r(e, "bpmn:CallActivity") && (r(e, "bpmn:SubProcess") ? !!i(e).di.isExpanded: !r(e, "bpmn:Participant") || !!i(e).processRef) }, t.exports.isInterrupting = function(e) { return e && i(e).isInterrupting !== !1 }, t.exports.isEventSubProcess = function(e) { return e && !!i(e).triggeredByEvent } }, { 13 : 13 }], 12 : [function(e, t, n) { "use strict"; function r(e) { var t = e.length / 2 - 1, n = e[Math.floor(t)], r = e[Math.ceil(t + .01)], o = i(e), a = Math.atan((r.y - n.y) / (r.x - n.x)), s = o.x, c = o.y; return Math.abs(a) < Math.PI / 2 ? c -= l: s += l, { x: s, y: c } } function i(e) { var t = e.length / 2 - 1, n = e[Math.floor(t)], r = e[Math.ceil(t + .01)]; return { x: n.x + (r.x - n.x) / 2, y: n.y + (r.y - n.y) / 2 } } function o(e) { return e.waypoints ? r(e.waypoints) : { x: e.x + e.width / 2, y: e.y + e.height + c.height / 2 } } var a = e(197), s = e(13).is, c = t.exports.DEFAULT_LABEL_SIZE = { width: 90, height: 20 }, l = t.exports.FLOW_LABEL_INDENT = 15; t.exports.hasExternalLabel = function(e) { return s(e, "bpmn:Event") || s(e, "bpmn:Gateway") || s(e, "bpmn:DataStoreReference") || s(e, "bpmn:DataObjectReference") || s(e, "bpmn:SequenceFlow") || s(e, "bpmn:MessageFlow") }, t.exports.getFlowLabelPosition = r, t.exports.getWaypointsMid = i, t.exports.getExternalLabelMid = o, t.exports.getExternalLabelBounds = function(e, t) { var n, r, i, s = e.di, l = s.label; return l && l.bounds ? (i = l.bounds, r = { width: Math.max(c.width, i.width), height: i.height }, n = { x: i.x + i.width / 2, y: i.y + i.height / 2 }) : (n = o(t), r = c), a({ x: n.x - r.width / 2, y: n.y - r.height / 2 }, r) } }, { 13 : 13, 197 : 197 }], 13 : [function(e, t, n) { "use strict"; function r(e, t) { var n = i(e); return n && "function" == typeof n.$instanceOf && n.$instanceOf(t) } function i(e) { return e && e.businessObject || e } t.exports.is = r, t.exports.getBusinessObject = i }, {}], 14 : [function(e, t, n) { "use strict"; function r(e) { return e.join(";") } function i() { o || (o = a(f), s.bind(o, ".backdrop", "click", function(e) { document.body.removeChild(o) })), document.body.appendChild(o) } var o, a = e(212), s = e(211), c = t.exports.BPMNIO_LOGO = "iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAMAAADypuvZAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADBQTFRFiMte9PrwldFwfcZPqtqN0+zEyOe1XLgjvuKncsJAZ70y6fXh3vDT////UrQV////G2zN+AAAABB0Uk5T////////////////////AOAjXRkAAAHDSURBVHjavJZJkoUgDEBJmAX8979tM8u3E6x20VlYJfFFMoL4vBDxATxZcakIOJTWSmxvKWVIkJ8jHvlRv1F2LFrVISCZI+tCtQx+XfewgVTfyY3plPiQEAzI3zWy+kR6NBhFBYeBuscJLOUuA2WVLpCjVIaFzrNQZArxAZKUQm6gsj37L9Cb7dnIBUKxENaaMJQqMpDXvSL+ktxdGRm2IsKgJGGPg7atwUG5CcFUEuSv+CwQqizTrvDTNXdMU2bMiDWZd8d7QIySWVRsb2vBBioxOFt4OinPBapL+neAb5KL5IJ8szOza2/DYoipUCx+CjO0Bpsv0V6mktNZ+k8rlABlWG0FrOpKYVo8DT3dBeLEjUBAj7moDogVii7nSS9QzZnFcOVBp1g2PyBQ3Vr5aIapN91VJy33HTJLC1iX2FY6F8gRdaAeIEfVONgtFCzZTmoLEdOjBDfsIOA6128gw3eu1shAajdZNAORxuQDJN5A5PbEG6gNIu24QJD5iNyRMZIr6bsHbCtCU/OaOaSvgkUyDMdDa1BXGf5HJ1To+/Ym6mCKT02Y+/Sa126ZKyd3jxhzpc1r8zVL6YM1Qy/kR4ABAFJ6iQUnivhAAAAAAElFTkSuQmCC", l = r(["z-index: 1001", "position: fixed", "top: 0", "left: 0", "right: 0", "bottom: 0"]), u = r(["width: 100%", "height: 100%", "background: rgba(0,0,0,0.2)"]), p = r(["position: absolute", "left: 50%", "top: 40%", "margin: 0 -130px", "width: 260px", "padding: 10px", "background: white", "border: solid 1px #AAA", "border-radius: 3px", "font-family: Helvetica, Arial, sans-serif", "font-size: 14px", "line-height: 1.2em"]), f = '
Web-based tooling for BPMN, DMN and CMMN diagrams powered by bpmn.io.
'; t.exports.open = i }, { 211 : 211, 212 : 212 }], 15 : [function(e, t, n) { t.exports = e(17) }, { 17 : 17 }], 16 : [function(e, t, n) { "use strict"; function r(e, t) { s.call(this, e, t) } var i = e(194), o = e(189), a = e(197), s = e(23), c = e(19), l = e(20); r.prototype = Object.create(s.prototype), t.exports = r, r.prototype.fromXML = function(e, t, n, r) { i(t) || (r = n, n = t, t = "bpmn:Definitions"), o(n) && (r = n, n = {}); var s = new c(a({ model: this, lax: !0 }, n)), l = s.handler(t); s.fromXML(e, l, r) }, r.prototype.toXML = function(e, t, n) { o(t) && (n = t, t = {}); var r = new l(t); try { var i = r.toXML(e); n(null, i) } catch(e) { n(e) } } }, { 189 : 189, 19 : 19, 194 : 194, 197 : 197, 20 : 20, 23 : 23 }], 17 : [function(e, t, n) { "use strict"; var r = e(197), i = e(16), o = { bpmn: e(32), bpmndi: e(33), dc: e(34), di: e(35) }; t.exports = function(e, t) { return new i(r({}, o, e), t) } }, { 16 : 16, 197 : 197, 32 : 32, 33 : 33, 34 : 34, 35 : 35 }], 18 : [function(e, t, n) { "use strict"; function r(e) { return e.charAt(0).toUpperCase() + e.slice(1) } function i(e) { return e.charAt(0).toLowerCase() + e.slice(1) } function o(e) { return e.xml && "lowerCase" === e.xml.tagAlias } function a(e) { return e.xml && e.xml.serialize } t.exports.aliasToName = function(e, t) { return o(t) ? r(e) : e }, t.exports.nameToAlias = function(e, t) { return o(t) ? i(e) : e }, t.exports.DEFAULT_NS_MAP = { xsi: "http://www.w3.org/2001/XMLSchema-instance" }; var s = t.exports.XSI_TYPE = "xsi:type"; t.exports.serializeAsType = function(e) { return a(e) === s }, t.exports.serializeAsProperty = function(e) { return "property" === a(e) } }, {}], 19 : [function(e, t, n) { "use strict"; function r(e) { var t = e.attributes; return v(t, function(e, t, n) { var r, i; return t.local ? (i = T(t.name, t.prefix), r = i.name) : r = t.prefix, e[r] = t.value, e }, {}) } function i(e, t, n) { var r, i = T(t.value), o = e.ns[i.prefix || ""], a = i.localName, s = o && n.getPackage(o); s && (r = s.xml && s.xml.typePrefix, r && 0 === a.indexOf(r) && (a = a.slice(r.length)), t.value = s.prefix + ":" + a) } function o(e, t, n) { var r, a; if (r = e.uri || n) { var s = t.getPackage(r); a = s ? s.prefix: e.prefix, e.prefix = a, e.uri = r } x(e.attributes, function(n) { n.uri === D && "type" === n.local && i(e, n, t), o(n, t, null) }) } function a(e) { return new Error(e) } function s(e) { return e.$descriptor } function c(e) { E(this, e), this.elementsById = {}, this.references = [], this.warnings = [], this.addReference = function(e) { this.references.push(e) }, this.addElement = function(e) { if (!e) throw a("expected element"); var t, n = this.elementsById, r = s(e), i = r.idProperty; if (i && (t = e.get(i.name))) { if (n[t]) throw a("duplicate ID <" + t + ">"); n[t] = e } }, this.addWarning = function(e) { this.warnings.push(e) } } function l() {} function u() {} function p() {} function f(e, t) { this.property = e, this.context = t } function h(e, t) { this.element = t, this.propertyDesc = e } function d() {} function m(e, t, n) { this.model = e, this.type = e.getType(t), this.context = n } function y(e, t, n) { this.model = e, this.context = n } function g(e) { e instanceof S && (e = { model: e }), E(this, { lax: !1 }, e) } var v = e(87), x = e(83), b = e(82), E = e(197), w = e(92), A = e(22), _ = e(21).parser, S = e(23), T = e(28).parseName, C = e(31), R = C.coerceType, N = C.isSimple, M = e(18), P = M.XSI_TYPE, D = M.DEFAULT_NS_MAP.xsi, k = M.serializeAsType, O = M.aliasToName; l.prototype.handleEnd = function() {}, l.prototype.handleText = function() {}, l.prototype.handleNode = function() {}, u.prototype = new l, u.prototype.handleNode = function() { return this }, p.prototype = new l, p.prototype.handleText = function(e) { this.body = (this.body || "") + e }, f.prototype = new p, f.prototype.handleNode = function(e) { if (this.element) throw a("expected no sub nodes"); return this.element = this.createReference(e), this }, f.prototype.handleEnd = function() { this.element.id = this.body }, f.prototype.createReference = function(e) { return { property: this.property.ns.name, id: "" } }, h.prototype = new p, h.prototype.handleEnd = function() { var e = this.body, t = this.element, n = this.propertyDesc; e = R(n.type, e), n.isMany ? t.get(n.name).push(e) : t.set(n.name, e) }, d.prototype = Object.create(p.prototype), d.prototype.handleNode = function(e) { var t = this, n = this.element; return n ? t = this.handleChild(e) : (n = this.element = this.createElement(e), this.context.addElement(n)), t }, m.prototype = new d, m.prototype.addReference = function(e) { this.context.addReference(e) }, m.prototype.handleEnd = function() { var e = this.body, t = this.element, n = s(t), r = n.bodyProperty; r && void 0 !== e && (e = R(r.type, e), t.set(r.name, e)) }, m.prototype.createElement = function(e) { var t = r(e), n = this.type, i = s(n), o = this.context, a = new n({}); return x(t, function(e, t) { var n, r = i.propertiesByName[t]; r && r.isReference ? r.isMany ? (n = e.split(" "), x(n, function(e) { o.addReference({ element: a, property: r.ns.name, id: e }) })) : o.addReference({ element: a, property: r.ns.name, id: e }) : (r && (e = R(r.type, e)), a.set(t, e)) }), a }, m.prototype.getPropertyForNode = function(e) { var t, n, r, i = T(e.local, e.prefix), o = this.type, c = this.model, l = s(o), u = i.name, p = l.propertiesByName[u]; if (p) return k(p) && (r = e.attributes[P]) ? (t = r.value, n = c.getType(t), E({}, p, { effectiveType: s(n).name })) : p; var f = c.getPackage(i.prefix); if (f) { if (t = i.prefix + ":" + O(i.localName, l.$pkg), n = c.getType(t), p = b(l.properties, function(e) { return ! e.isVirtual && !e.isReference && !e.isAttribute && n.hasType(e.type) })) return E({}, p, { effectiveType: s(n).name }) } else if (p = b(l.properties, function(e) { return ! e.isReference && !e.isAttribute && "Element" === e.type })) return p; throw a("unrecognized element <" + i.name + ">") }, m.prototype.toString = function() { return "ElementDescriptor[" + s(this.type).name + "]" }, m.prototype.valueHandler = function(e, t) { return new h(e, t) }, m.prototype.referenceHandler = function(e) { return new f(e, this.context) }, m.prototype.handler = function(e) { return "Element" === e ? new y(this.model, e, this.context) : new m(this.model, e, this.context) }, m.prototype.handleChild = function(e) { var t, n, r, i; if (t = this.getPropertyForNode(e), r = this.element, n = t.effectiveType || t.type, N(n)) return this.valueHandler(t, r); i = t.isReference ? this.referenceHandler(t).handleNode(e) : this.handler(n).handleNode(e); var o = i.element; return void 0 !== o && (t.isMany ? r.get(t.name).push(o) : r.set(t.name, o), t.isReference ? (E(o, { element: r }), this.context.addReference(o)) : o.$parent = r), i }, y.prototype = Object.create(d.prototype), y.prototype.createElement = function(e) { var t = e.name, n = e.prefix, r = e.ns[n], i = e.attributes; return this.model.createAny(t, r, i) }, y.prototype.handleChild = function(e) { var t, n = new y(this.model, "Element", this.context).handleNode(e), r = this.element, i = n.element; return void 0 !== i && (t = r.$children = r.$children || [], t.push(i), i.$parent = r), n }, y.prototype.handleText = function(e) { this.body = this.body || "" + e }, y.prototype.handleEnd = function() { this.body && (this.element.$body = this.body) }, g.prototype.fromXML = function(e, t, n) { function r() { var e, t, n = y.elementsById, r = y.references; for (e = 0; t = r[e]; e++) { var i = t.element, o = n[t.id], a = s(i).propertiesByName[t.property]; if (o || y.addWarning({ message: "unresolved reference <" + t.id + ">", element: t.element, property: t.property, value: t.id }), a.isMany) { var c = i.get(a.name), l = c.indexOf(t); l === -1 && (l = c.length), o ? c[l] = o: c.splice(l, 1) } else i.set(a.name, o) } } function i(e) { v.pop().handleEnd() } function l(e) { var t = v.peek(); o(e, h); try { v.push(t.handleNode(e)) } catch(t) { var n = this.line, r = this.column, i = "unparsable content <" + e.name + "> detected\n\tline: " + n + "\n\tcolumn: " + r + "\n\tnested error: " + t.message; if (!d) throw console.error("could not parse document"), console.error(t), a(i); y.addWarning({ message: i, error: t }), console.warn("could not parse node"), console.warn(t), v.push(new u) } } function p(e) { v.peek().handleText(e) } var f = t.rootHandler; t instanceof m ? (f = t, t = {}) : "string" == typeof t ? (f = this.handler(t), t = {}) : "string" == typeof f && (f = this.handler(f)); var h = this.model, d = this.lax, y = new c(E({}, t, { rootHandler: f })), g = new _(!0, { xmlns: !0, trim: !0 }), v = new A; f.context = y, v.push(f), g.onopentag = l, g.oncdata = g.ontext = p, g.onclosetag = i, g.onend = r, w(function() { var t; try { g.write(e).close() } catch(e) { t = e } n(t, t ? void 0 : f.element, y) }) }, g.prototype.handler = function(e) { return new m(this.model, e) }, t.exports = g, t.exports.ElementHandler = m }, { 18 : 18, 197 : 197, 21 : 21, 22 : 22, 23 : 23, 28 : 28, 31 : 31, 82 : 82, 83 : 83, 87 : 87, 92 : 92 }], 20 : [function(e, t, n) { "use strict"; function r(e) { return E(e) ? e: (e.prefix ? e.prefix + ":": "") + e.localName } function i(e) { function t(t) { return e.used[t.uri] } function n(e) { var t = "xmlns" + (e.prefix ? ":" + e.prefix: ""); return { name: t, value: e.uri } } var r = [].concat(e.wellknown, e.custom); return x(w(r, t), n) } function o(e, t) { return t.isGeneric ? t.name: A({ localName: C(t.ns.localName, t.$pkg) }, e) } function a(e, t) { return A({ localName: t.ns.localName }, e) } function s(e) { var t = e.$descriptor; return w(t.properties, function(t) { var n = t.name; if (t.isVirtual) return ! 1; if (!e.hasOwnProperty(n)) return ! 1; var r = e[n]; return r !== t. default && (null !== r && (!t.isMany || r.length)) }) } function c(e) { return e = E(e) ? e: "" + e, e.replace(P, function(e) { return "&#" + O[e] + ";" }) } function l(e) { return w(e, function(e) { return e.isAttr }) } function u(e) { return w(e, function(e) { return ! e.isAttr }) } function p(e, t) { this.ns = t } function f() {} function h(e) { this.ns = e } function d(e, t) { this.body = [], this.attrs = [], this.parent = e, this.ns = t } function m(e, t) { d.call(this, e, t) } function y() { this.value = "", this.write = function(e) { this.value += e } } function g(e, t) { var n = [""]; this.append = function(t) { return e.write(t), this }, this.appendNewLine = function() { return t && e.write("\n"), this }, this.appendIndent = function() { return t && e.write(n.join(" ")), this }, this.indent = function() { return n.push(""), this }, this.unindent = function() { return n.pop(), this } } function v(e) { function t(t, n) { var r = n || new y, i = new g(r, e.format); if (e.preamble && i.append(M), (new d).build(t).serializeTo(i), !n) return r.value } return e = A({ format: !1, preamble: !0 }, e || {}), { toXML: t } } var x = e(86), b = e(83), E = e(194), w = e(81), A = e(197), _ = e(31), S = e(28).parseName, T = e(18), C = T.nameToAlias, R = T.serializeAsType, N = T.serializeAsProperty, M = '\n', P = /(<|>|'|"|&|\n\r|\n)/g, D = T.DEFAULT_NS_MAP, k = T.XSI_TYPE, O = { "\n": "10", "\n\r": "10", '"': "34", "'": "39", "<": "60", ">": "62", "&": "38" }; p.prototype.build = function(e) { return this.element = e, this }, p.prototype.serializeTo = function(e) { e.appendIndent().append("<" + r(this.ns) + ">" + this.element.id + "").appendNewLine() }, f.prototype.serializeValue = f.prototype.serializeTo = function(e) { var t = this.escape; t && e.append("") }, f.prototype.build = function(e, t) { return this.value = t, "String" === e.type && t.search(P) !== -1 && (this.escape = !0), this }, h.prototype = new f, h.prototype.serializeTo = function(e) { e.appendIndent().append("<" + r(this.ns) + ">"), this.serializeValue(e), e.append("").appendNewLine() }, d.prototype.build = function(e) { this.element = e; var t = this.parseNsAttributes(e); if (this.ns || (this.ns = this.nsTagName(e.$descriptor)), e.$descriptor.isGeneric) this.parseGeneric(e); else { var n = s(e); this.parseAttributes(l(n)), this.parseContainments(u(n)), this.parseGenericAttributes(e, t) } return this }, d.prototype.nsTagName = function(e) { var t = this.logNamespaceUsed(e.ns); return o(t, e) }, d.prototype.nsPropertyTagName = function(e) { var t = this.logNamespaceUsed(e.ns); return a(t, e) }, d.prototype.isLocalNs = function(e) { return e.uri === this.ns.uri }, d.prototype.nsAttributeName = function(e) { var t; if (t = E(e) ? S(e) : e.ns, e.inherited) return { localName: t.localName }; var n = this.logNamespaceUsed(t); return this.isLocalNs(n) ? { localName: t.localName }: A({ localName: t.localName }, n) }, d.prototype.parseGeneric = function(e) { var t = this, n = this.body, r = this.attrs; b(e, function(e, i) { "$body" === i ? n.push((new f).build({ type: "String" }, e)) : "$children" === i ? b(e, function(e) { n.push(new d(t).build(e)) }) : 0 !== i.indexOf("$") && r.push({ name: i, value: c(e) }) }) }, d.prototype.parseNsAttributes = function(e) { var t = this, n = e.$attrs, r = e.$model, i = []; return b(n, function(e, n) { var o, a = S(n); "xmlns" === a.prefix && (o = { prefix: a.localName, uri: e }), a.prefix || "xmlns" !== a.localName || (o = { uri: e }), o ? r.getPackage(e) ? t.logNamespace(o, !0) : t.logNamespaceUsed(o) : i.push({ name: n, value: e }) }), i }, d.prototype.parseGenericAttributes = function(e, t) { var n = this; b(t, function(t) { if (t.name !== k) try { n.addAttribute(n.nsAttributeName(t.name), t.value) } catch(n) { console.warn("missing namespace information for ", t.name, "=", t.value, "on", e, n) } }) }, d.prototype.parseContainments = function(e) { var t = this, n = this.body, r = this.element; b(e, function(e) { var i = r.get(e.name), o = e.isReference, a = e.isMany, s = t.nsPropertyTagName(e); if (a || (i = [i]), e.isBody) n.push((new f).build(e, i[0])); else if (_.isSimple(e.type)) b(i, function(t) { n.push(new h(s).build(e, t)) }); else if (o) b(i, function(e) { n.push(new p(t, s).build(e)) }); else { var c = R(e), l = N(e); b(i, function(e) { var r; r = c ? new m(t, s) : l ? new d(t, s) : new d(t), n.push(r.build(e)) }) } }) }, d.prototype.getNamespaces = function() { var e = this.namespaces, t = this.parent; return e || (e = this.namespaces = t ? t.getNamespaces() : { prefixMap: {}, uriMap: {}, used: {}, wellknown: [], custom: [] }), e }, d.prototype.logNamespace = function(e, t) { var n = this.getNamespaces(), r = e.uri, i = n.uriMap[r]; return i || (n.uriMap[r] = e, t ? n.wellknown.push(e) : n.custom.push(e)), n.prefixMap[e.prefix] = r, e }, d.prototype.logNamespaceUsed = function(e) { var t = this.element, n = t.$model, r = this.getNamespaces(), i = e.prefix, o = D[i] || n && (n.getPackage(i) || {}).uri, a = e.uri || r.prefixMap[i] || o; if (!a) throw new Error("no namespace uri given for prefix <" + e.prefix + ">"); return e = r.uriMap[a], e || (e = this.logNamespace({ prefix: i, uri: a }, o)), r.used[e.uri] || (r.used[e.uri] = e), e }, d.prototype.parseAttributes = function(e) { var t = this, n = this.element; b(e, function(e) { var r = n.get(e.name); if (e.isReference) if (e.isMany) { var i = []; b(r, function(e) { i.push(e.id) }), r = i.join(" ") } else r = r.id; t.addAttribute(t.nsAttributeName(e), r) }) }, d.prototype.addAttribute = function(e, t) { var n = this.attrs; E(t) && (t = c(t)), n.push({ name: e, value: t }) }, d.prototype.serializeAttributes = function(e) { var t = this.attrs, n = !this.parent; n && (t = i(this.namespaces).concat(t)), b(t, function(t) { e.append(" ").append(r(t.name)).append('="').append(t.value).append('"') }) }, d.prototype.serializeTo = function(e) { var t = this.body.length, n = !(1 === this.body.length && this.body[0] instanceof f); e.appendIndent().append("<" + r(this.ns)), this.serializeAttributes(e), e.append(t ? ">": " />"), t && (n && e.appendNewLine().indent(), b(this.body, function(t) { t.serializeTo(e) }), n && e.unindent().appendIndent(), e.append("")), e.appendNewLine() }, m.prototype = new d, m.prototype.build = function(e) { var t = e.$descriptor; this.element = e, this.typeNs = this.nsTagName(t); var n = this.typeNs, r = e.$model.getPackage(n.uri), i = r.xml && r.xml.typePrefix || ""; return this.addAttribute(this.nsAttributeName(k), (n.prefix ? n.prefix + ":": "") + i + t.ns.localName), d.prototype.build.call(this, e) }, m.prototype.isLocalNs = function(e) { return e.uri === this.typeNs.uri }, t.exports = v }, { 18 : 18, 194 : 194, 197 : 197, 28 : 28, 31 : 31, 81 : 81, 83 : 83, 86 : 86 }], 21 : [function(e, t, n) { (function(t) { ! function(n) { function r(e, t) { if (! (this instanceof r)) return new r(e, t); var i = this; o(i), i.q = i.c = "", i.bufferCheckPosition = n.MAX_BUFFER_LENGTH, i.opt = t || {}, i.opt.lowercase = i.opt.lowercase || i.opt.lowercasetags, i.looseCase = i.opt.lowercase ? "toLowerCase": "toUpperCase", i.tags = [], i.closed = i.closedRoot = i.sawRoot = !1, i.tag = i.error = null, i.strict = !!e, i.noscript = !(!e && !i.opt.noscript), i.state = W.BEGIN, i.ENTITIES = Object.create(n.ENTITIES), i.attribList = [], i.opt.xmlns && (i.ns = Object.create(V)), i.trackPosition = i.opt.position !== !1, i.trackPosition && (i.position = i.line = i.column = 0), h(i, "onready") } function i(e) { for (var t = Math.max(n.MAX_BUFFER_LENGTH, 10), r = 0, i = 0, o = C.length; i < o; i++) { var a = e[C[i]].length; if (a > t) switch (C[i]) { case "textNode": m(e); break; case "cdata": d(e, "oncdata", e.cdata), e.cdata = ""; break; case "script": d(e, "onscript", e.script), e.script = ""; break; default: g(e, "Max buffer length exceeded: " + C[i]) } r = Math.max(r, a) } e.bufferCheckPosition = n.MAX_BUFFER_LENGTH - r + e.position } function o(e) { for (var t = 0, n = C.length; t < n; t++) e[C[t]] = "" } function a(e) { m(e), "" !== e.cdata && (d(e, "oncdata", e.cdata), e.cdata = ""), "" !== e.script && (d(e, "onscript", e.script), e.script = "") } function s(e, t) { return new c(e, t) } function c(e, t) { if (! (this instanceof c)) return new c(e, t); R.apply(this), this._parser = new r(e, t), this.writable = !0, this.readable = !0; var n = this; this._parser.onend = function() { n.emit("end") }, this._parser.onerror = function(e) { n.emit("error", e), n._parser.error = null }, this._decoder = null, N.forEach(function(e) { Object.defineProperty(n, "on" + e, { get: function() { return n._parser["on" + e] }, set: function(t) { return t ? void n.on(e, t) : (n.removeAllListeners(e), n._parser["on" + e] = t) }, enumerable: !0, configurable: !1 }) }) } function l(e) { return e.split("").reduce(function(e, t) { return e[t] = !0, e }, {}) } function u(e) { return "[object RegExp]" === Object.prototype.toString.call(e) } function p(e, t) { return u(e) ? !!t.match(e) : e[t] } function f(e, t) { return ! p(e, t) } function h(e, t, n) { e[t] && e[t](n) } function d(e, t, n) { e.textNode && m(e), h(e, t, n) } function m(e) { e.textNode = y(e.opt, e.textNode), e.textNode && h(e, "ontext", e.textNode), e.textNode = "" } function y(e, t) { return e.trim && (t = t.trim()), e.normalize && (t = t.replace(/\s+/g, " ")), t } function g(e, t) { return m(e), e.trackPosition && (t += "\nLine: " + e.line + "\nColumn: " + e.column + "\nChar: " + e.c), t = new Error(t), e.error = t, h(e, "onerror", t), e } function v(e) { return e.closedRoot || x(e, "Unclosed root tag"), e.state !== W.BEGIN && e.state !== W.TEXT && g(e, "Unexpected end"), m(e), e.c = "", e.closed = !0, h(e, "onend"), r.call(e, e.strict, e.opt), e } function x(e, t) { if ("object" != typeof e || !(e instanceof r)) throw new Error("bad call to strictFail"); e.strict && g(e, t) } function b(e) { e.strict || (e.tagName = e.tagName[e.looseCase]()); var t = e.tags[e.tags.length - 1] || e, n = e.tag = { name: e.tagName, attributes: {} }; e.opt.xmlns && (n.ns = t.ns), e.attribList.length = 0 } function E(e, t) { var n = e.indexOf(":"), r = n < 0 ? ["", e] : e.split(":"), i = r[0], o = r[1]; return t && "xmlns" === e && (i = "xmlns", o = ""), { prefix: i, local: o } } function w(e) { if (e.strict || (e.attribName = e.attribName[e.looseCase]()), e.attribList.indexOf(e.attribName) !== -1 || e.tag.attributes.hasOwnProperty(e.attribName)) return e.attribName = e.attribValue = ""; if (e.opt.xmlns) { var t = E(e.attribName, !0), n = t.prefix, r = t.local; if ("xmlns" === n) if ("xml" === r && e.attribValue !== F) x(e, "xml: prefix must be bound to " + F + "\nActual: " + e.attribValue); else if ("xmlns" === r && e.attribValue !== j) x(e, "xmlns: prefix must be bound to " + j + "\nActual: " + e.attribValue); else { var i = e.tag, o = e.tags[e.tags.length - 1] || e; i.ns === o.ns && (i.ns = Object.create(o.ns)), i.ns[r] = e.attribValue } e.attribList.push([e.attribName, e.attribValue]) } else e.tag.attributes[e.attribName] = e.attribValue, d(e, "onattribute", { name: e.attribName, value: e.attribValue }); e.attribName = e.attribValue = "" } function A(e, t) { if (e.opt.xmlns) { var n = e.tag, r = E(e.tagName); n.prefix = r.prefix, n.local = r.local, n.uri = n.ns[r.prefix] || "", n.prefix && !n.uri && (x(e, "Unbound namespace prefix: " + JSON.stringify(e.tagName)), n.uri = r.prefix); var i = e.tags[e.tags.length - 1] || e; n.ns && i.ns !== n.ns && Object.keys(n.ns).forEach(function(t) { d(e, "onopennamespace", { prefix: t, uri: n.ns[t] }) }); for (var o = 0, a = e.attribList.length; o < a; o++) { var s = e.attribList[o], c = s[0], l = s[1], u = E(c, !0), p = u.prefix, f = u.local, h = "" == p ? "": n.ns[p] || "", m = { name: c, value: l, prefix: p, local: f, uri: h }; p && "xmlns" != p && !h && (x(e, "Unbound namespace prefix: " + JSON.stringify(p)), m.uri = p), e.tag.attributes[c] = m, d(e, "onattribute", m) } e.attribList.length = 0 } e.tag.isSelfClosing = !!t, e.sawRoot = !0, e.tags.push(e.tag), d(e, "onopentag", e.tag), t || (e.noscript || "script" !== e.tagName.toLowerCase() ? e.state = W.TEXT: e.state = W.SCRIPT, e.tag = null, e.tagName = ""), e.attribName = e.attribValue = "", e.attribList.length = 0 } function _(e) { if (!e.tagName) return x(e, "Weird empty close tag."), e.textNode += "", void(e.state = W.TEXT); if (e.script) { if ("script" !== e.tagName) return e.script += "", e.tagName = "", void(e.state = W.SCRIPT); d(e, "onscript", e.script), e.script = "" } var t = e.tags.length, n = e.tagName; e.strict || (n = n[e.looseCase]()); for (var r = n; t--;) { var i = e.tags[t]; if (i.name === r) break; x(e, "Unexpected close tag") } if (t < 0) return x(e, "Unmatched closing tag: " + e.tagName), e.textNode += "", void(e.state = W.TEXT); e.tagName = n; for (var o = e.tags.length; o-->t;) { var a = e.tag = e.tags.pop(); e.tagName = e.tag.name, d(e, "onclosetag", e.tagName); var s = {}; for (var c in a.ns) s[c] = a.ns[c]; var l = e.tags[e.tags.length - 1] || e; e.opt.xmlns && a.ns !== l.ns && Object.keys(a.ns).forEach(function(t) { var n = a.ns[t]; d(e, "onclosenamespace", { prefix: t, uri: n }) }) } 0 === t && (e.closedRoot = !0), e.tagName = e.attribValue = e.attribName = "", e.attribList.length = 0, e.state = W.TEXT } function S(e) { var t, n = e.entity, r = n.toLowerCase(), i = ""; return e.ENTITIES[n] ? e.ENTITIES[n] : e.ENTITIES[r] ? e.ENTITIES[r] : (n = r, "#" === n.charAt(0) && ("x" === n.charAt(1) ? (n = n.slice(2), t = parseInt(n, 16), i = t.toString(16)) : (n = n.slice(1), t = parseInt(n, 10), i = t.toString(10))), n = n.replace(/^0+/, ""), i.toLowerCase() !== n ? (x(e, "Invalid character entity"), "&" + e.entity + ";") : String.fromCodePoint(t)) } function T(e) { var t = this; if (this.error) throw this.error; if (t.closed) return g(t, "Cannot write after close. Assign an onready handler."); if (null === e) return v(t); for (var n = 0, r = ""; t.c = r = e.charAt(n++);) switch (t.trackPosition && (t.position++, "\n" === r ? (t.line++, t.column = 0) : t.column++), t.state) { case W.BEGIN: "<" === r ? (t.state = W.OPEN_WAKA, t.startTagPosition = t.position) : f(M, r) && (x(t, "Non-whitespace before first tag."), t.textNode = r, t.state = W.TEXT); continue; case W.TEXT: if (t.sawRoot && !t.closedRoot) { for (var o = n - 1; r && "<" !== r && "&" !== r;) r = e.charAt(n++), r && t.trackPosition && (t.position++, "\n" === r ? (t.line++, t.column = 0) : t.column++); t.textNode += e.substring(o, n - 1) } "<" === r ? (t.state = W.OPEN_WAKA, t.startTagPosition = t.position) : (!f(M, r) || t.sawRoot && !t.closedRoot || x(t, "Text data outside of root node."), "&" === r ? t.state = W.TEXT_ENTITY: t.textNode += r); continue; case W.SCRIPT: "<" === r ? t.state = W.SCRIPT_ENDING: t.script += r; continue; case W.SCRIPT_ENDING: "/" === r ? t.state = W.CLOSE_TAG: (t.script += "<" + r, t.state = W.SCRIPT); continue; case W.OPEN_WAKA: if ("!" === r) t.state = W.SGML_DECL, t.sgmlDecl = ""; else if (p(M, r)); else if (p(G, r)) t.state = W.OPEN_TAG, t.tagName = r; else if ("/" === r) t.state = W.CLOSE_TAG, t.tagName = ""; else if ("?" === r) t.state = W.PROC_INST, t.procInstName = t.procInstBody = ""; else { if (x(t, "Unencoded <"), t.startTagPosition + 1 < t.position) { var a = t.position - t.startTagPosition; r = new Array(a).join(" ") + r } t.textNode += "<" + r, t.state = W.TEXT } continue; case W.SGML_DECL: (t.sgmlDecl + r).toUpperCase() === I ? (d(t, "onopencdata"), t.state = W.CDATA, t.sgmlDecl = "", t.cdata = "") : t.sgmlDecl + r === "--" ? (t.state = W.COMMENT, t.comment = "", t.sgmlDecl = "") : (t.sgmlDecl + r).toUpperCase() === L ? (t.state = W.DOCTYPE, (t.doctype || t.sawRoot) && x(t, "Inappropriately located doctype declaration"), t.doctype = "", t.sgmlDecl = "") : ">" === r ? (d(t, "onsgmldeclaration", t.sgmlDecl), t.sgmlDecl = "", t.state = W.TEXT) : p(k, r) ? (t.state = W.SGML_DECL_QUOTED, t.sgmlDecl += r) : t.sgmlDecl += r; continue; case W.SGML_DECL_QUOTED: r === t.q && (t.state = W.SGML_DECL, t.q = ""), t.sgmlDecl += r; continue; case W.DOCTYPE: ">" === r ? (t.state = W.TEXT, d(t, "ondoctype", t.doctype), t.doctype = !0) : (t.doctype += r, "[" === r ? t.state = W.DOCTYPE_DTD: p(k, r) && (t.state = W.DOCTYPE_QUOTED, t.q = r)); continue; case W.DOCTYPE_QUOTED: t.doctype += r, r === t.q && (t.q = "", t.state = W.DOCTYPE); continue; case W.DOCTYPE_DTD: t.doctype += r, "]" === r ? t.state = W.DOCTYPE: p(k, r) && (t.state = W.DOCTYPE_DTD_QUOTED, t.q = r); continue; case W.DOCTYPE_DTD_QUOTED: t.doctype += r, r === t.q && (t.state = W.DOCTYPE_DTD, t.q = ""); continue; case W.COMMENT: "-" === r ? t.state = W.COMMENT_ENDING: t.comment += r; continue; case W.COMMENT_ENDING: "-" === r ? (t.state = W.COMMENT_ENDED, t.comment = y(t.opt, t.comment), t.comment && d(t, "oncomment", t.comment), t.comment = "") : (t.comment += "-" + r, t.state = W.COMMENT); continue; case W.COMMENT_ENDED: ">" !== r ? (x(t, "Malformed comment"), t.comment += "--" + r, t.state = W.COMMENT) : t.state = W.TEXT; continue; case W.CDATA: "]" === r ? t.state = W.CDATA_ENDING: t.cdata += r; continue; case W.CDATA_ENDING: "]" === r ? t.state = W.CDATA_ENDING_2: (t.cdata += "]" + r, t.state = W.CDATA); continue; case W.CDATA_ENDING_2: ">" === r ? (t.cdata && d(t, "oncdata", t.cdata), d(t, "onclosecdata"), t.cdata = "", t.state = W.TEXT) : "]" === r ? t.cdata += "]": (t.cdata += "]]" + r, t.state = W.CDATA); continue; case W.PROC_INST: "?" === r ? t.state = W.PROC_INST_ENDING: p(M, r) ? t.state = W.PROC_INST_BODY: t.procInstName += r; continue; case W.PROC_INST_BODY: if (!t.procInstBody && p(M, r)) continue; "?" === r ? t.state = W.PROC_INST_ENDING: t.procInstBody += r; continue; case W.PROC_INST_ENDING: ">" === r ? (d(t, "onprocessinginstruction", { name: t.procInstName, body: t.procInstBody }), t.procInstName = t.procInstBody = "", t.state = W.TEXT) : (t.procInstBody += "?" + r, t.state = W.PROC_INST_BODY); continue; case W.OPEN_TAG: p(U, r) ? t.tagName += r: (b(t), ">" === r ? A(t) : "/" === r ? t.state = W.OPEN_TAG_SLASH: (f(M, r) && x(t, "Invalid character in tag name"), t.state = W.ATTRIB)); continue; case W.OPEN_TAG_SLASH: ">" === r ? (A(t, !0), _(t)) : (x(t, "Forward-slash in opening tag not followed by >"), t.state = W.ATTRIB); continue; case W.ATTRIB: if (p(M, r)) continue; ">" === r ? A(t) : "/" === r ? t.state = W.OPEN_TAG_SLASH: p(G, r) ? (t.attribName = r, t.attribValue = "", t.state = W.ATTRIB_NAME) : x(t, "Invalid attribute name"); continue; case W.ATTRIB_NAME: "=" === r ? t.state = W.ATTRIB_VALUE: ">" === r ? (x(t, "Attribute without value"), t.attribValue = t.attribName, w(t), A(t)) : p(M, r) ? t.state = W.ATTRIB_NAME_SAW_WHITE: p(U, r) ? t.attribName += r: x(t, "Invalid attribute name"); continue; case W.ATTRIB_NAME_SAW_WHITE: if ("=" === r) t.state = W.ATTRIB_VALUE; else { if (p(M, r)) continue; x(t, "Attribute without value"), t.tag.attributes[t.attribName] = "", t.attribValue = "", d(t, "onattribute", { name: t.attribName, value: "" }), t.attribName = "", ">" === r ? A(t) : p(G, r) ? (t.attribName = r, t.state = W.ATTRIB_NAME) : (x(t, "Invalid attribute name"), t.state = W.ATTRIB) } continue; case W.ATTRIB_VALUE: if (p(M, r)) continue; p(k, r) ? (t.q = r, t.state = W.ATTRIB_VALUE_QUOTED) : (x(t, "Unquoted attribute value"), t.state = W.ATTRIB_VALUE_UNQUOTED, t.attribValue = r); continue; case W.ATTRIB_VALUE_QUOTED: if (r !== t.q) { "&" === r ? t.state = W.ATTRIB_VALUE_ENTITY_Q: t.attribValue += r; continue } w(t), t.q = "", t.state = W.ATTRIB_VALUE_CLOSED; continue; case W.ATTRIB_VALUE_CLOSED: p(M, r) ? t.state = W.ATTRIB: ">" === r ? A(t) : "/" === r ? t.state = W.OPEN_TAG_SLASH: p(G, r) ? (x(t, "No whitespace between attributes"), t.attribName = r, t.attribValue = "", t.state = W.ATTRIB_NAME) : x(t, "Invalid attribute name"); continue; case W.ATTRIB_VALUE_UNQUOTED: if (f(B, r)) { "&" === r ? t.state = W.ATTRIB_VALUE_ENTITY_U: t.attribValue += r; continue } w(t), ">" === r ? A(t) : t.state = W.ATTRIB; continue; case W.CLOSE_TAG: if (t.tagName)">" === r ? _(t) : p(U, r) ? t.tagName += r: t.script ? (t.script += "" === r ? _(t) : x(t, "Invalid characters in closing tag"); continue; case W.TEXT_ENTITY: case W.ATTRIB_VALUE_ENTITY_Q: case W.ATTRIB_VALUE_ENTITY_U: switch (t.state) { case W.TEXT_ENTITY: var s = W.TEXT, c = "textNode"; break; case W.ATTRIB_VALUE_ENTITY_Q: var s = W.ATTRIB_VALUE_QUOTED, c = "attribValue"; break; case W.ATTRIB_VALUE_ENTITY_U: var s = W.ATTRIB_VALUE_UNQUOTED, c = "attribValue" } ";" === r ? (t[c] += S(t), t.entity = "", t.state = s) : p(O, r) ? t.entity += r: (x(t, "Invalid character entity"), t[c] += "&" + t.entity + r, t.entity = "", t.state = s); continue; default: throw new Error(t, "Unknown state: " + t.state) } return t.position >= t.bufferCheckPosition && i(t), t } n.parser = function(e, t) { return new r(e, t) }, n.SAXParser = r, n.SAXStream = c, n.createStream = s, n.MAX_BUFFER_LENGTH = 65536; var C = ["comment", "sgmlDecl", "textNode", "tagName", "doctype", "procInstName", "procInstBody", "entity", "attribName", "attribValue", "cdata", "script"]; n.EVENTS = ["text", "processinginstruction", "sgmldeclaration", "doctype", "comment", "attribute", "opentag", "closetag", "opencdata", "cdata", "closecdata", "error", "end", "ready", "script", "opennamespace", "closenamespace"], Object.create || (Object.create = function(e) { function t() { this.__proto__ = e } return t.prototype = e, new t }), Object.getPrototypeOf || (Object.getPrototypeOf = function(e) { return e.__proto__ }), Object.keys || (Object.keys = function(e) { var t = []; for (var n in e) e.hasOwnProperty(n) && t.push(n); return t }), r.prototype = { end: function() { v(this) }, write: T, resume: function() { return this.error = null, this }, close: function() { return this.write(null) }, flush: function() { a(this) } }; try { var R = e("stream").Stream } catch(e) { var R = function() {} } var N = n.EVENTS.filter(function(e) { return "error" !== e && "end" !== e }); c.prototype = Object.create(R.prototype, { constructor: { value: c } }), c.prototype.write = function(n) { if ("function" == typeof t && "function" == typeof t.isBuffer && t.isBuffer(n)) { if (!this._decoder) { var r = e("string_decoder").StringDecoder; this._decoder = new r("utf8") } n = this._decoder.write(n) } return this._parser.write(n.toString()), this.emit("data", n), !0 }, c.prototype.end = function(e) { return e && e.length && this.write(e), this._parser.end(), !0 }, c.prototype.on = function(e, t) { var n = this; return n._parser["on" + e] || N.indexOf(e) === -1 || (n._parser["on" + e] = function() { var t = 1 === arguments.length ? [arguments[0]] : Array.apply(null, arguments); t.splice(0, 0, e), n.emit.apply(n, t) }), R.prototype.on.call(n, e, t) }; var M = "\r\n\t ", P = "0124356789", D = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", k = "'\"", O = P + D + "#", B = M + ">", I = "[CDATA[", L = "DOCTYPE", F = "http://www.w3.org/XML/1998/namespace", j = "http://www.w3.org/2000/xmlns/", V = { xml: F, xmlns: j }; M = l(M), P = l(P), D = l(D); var G = /[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/, U = /[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040\.\d-]/; k = l(k), O = l(O), B = l(B); var W = 0; n.STATE = { BEGIN: W++, TEXT: W++, TEXT_ENTITY: W++, OPEN_WAKA: W++, SGML_DECL: W++, SGML_DECL_QUOTED: W++, DOCTYPE: W++, DOCTYPE_QUOTED: W++, DOCTYPE_DTD: W++, DOCTYPE_DTD_QUOTED: W++, COMMENT_STARTING: W++, COMMENT: W++, COMMENT_ENDING: W++, COMMENT_ENDED: W++, CDATA: W++, CDATA_ENDING: W++, CDATA_ENDING_2: W++, PROC_INST: W++, PROC_INST_BODY: W++, PROC_INST_ENDING: W++, OPEN_TAG: W++, OPEN_TAG_SLASH: W++, ATTRIB: W++, ATTRIB_NAME: W++, ATTRIB_NAME_SAW_WHITE: W++, ATTRIB_VALUE: W++, ATTRIB_VALUE_QUOTED: W++, ATTRIB_VALUE_CLOSED: W++, ATTRIB_VALUE_UNQUOTED: W++, ATTRIB_VALUE_ENTITY_Q: W++, ATTRIB_VALUE_ENTITY_U: W++, CLOSE_TAG: W++, CLOSE_TAG_SAW_WHITE: W++, SCRIPT: W++, SCRIPT_ENDING: W++ }, n.ENTITIES = { amp: "&", gt: ">", lt: "<", quot: '"', apos: "'", AElig: 198, Aacute: 193, Acirc: 194, Agrave: 192, Aring: 197, Atilde: 195, Auml: 196, Ccedil: 199, ETH: 208, Eacute: 201, Ecirc: 202, Egrave: 200, Euml: 203, Iacute: 205, Icirc: 206, Igrave: 204, Iuml: 207, Ntilde: 209, Oacute: 211, Ocirc: 212, Ograve: 210, Oslash: 216, Otilde: 213, Ouml: 214, THORN: 222, Uacute: 218, Ucirc: 219, Ugrave: 217, Uuml: 220, Yacute: 221, aacute: 225, acirc: 226, aelig: 230, agrave: 224, aring: 229, atilde: 227, auml: 228, ccedil: 231, eacute: 233, ecirc: 234, egrave: 232, eth: 240, euml: 235, iacute: 237, icirc: 238, igrave: 236, iuml: 239, ntilde: 241, oacute: 243, ocirc: 244, ograve: 242, oslash: 248, otilde: 245, ouml: 246, szlig: 223, thorn: 254, uacute: 250, ucirc: 251, ugrave: 249, uuml: 252, yacute: 253, yuml: 255, copy: 169, reg: 174, nbsp: 160, iexcl: 161, cent: 162, pound: 163, curren: 164, yen: 165, brvbar: 166, sect: 167, uml: 168, ordf: 170, laquo: 171, not: 172, shy: 173, macr: 175, deg: 176, plusmn: 177, sup1: 185, sup2: 178, sup3: 179, acute: 180, micro: 181, para: 182, middot: 183, cedil: 184, ordm: 186, raquo: 187, frac14: 188, frac12: 189, frac34: 190, iquest: 191, times: 215, divide: 247, OElig: 338, oelig: 339, Scaron: 352, scaron: 353, Yuml: 376, fnof: 402, circ: 710, tilde: 732, Alpha: 913, Beta: 914, Gamma: 915, Delta: 916, Epsilon: 917, Zeta: 918, Eta: 919, Theta: 920, Iota: 921, Kappa: 922, Lambda: 923, Mu: 924, Nu: 925, Xi: 926, Omicron: 927, Pi: 928, Rho: 929, Sigma: 931, Tau: 932, Upsilon: 933, Phi: 934, Chi: 935, Psi: 936, Omega: 937, alpha: 945, beta: 946, gamma: 947, delta: 948, epsilon: 949, zeta: 950, eta: 951, theta: 952, iota: 953, kappa: 954, lambda: 955, mu: 956, nu: 957, xi: 958, omicron: 959, pi: 960, rho: 961, sigmaf: 962, sigma: 963, tau: 964, upsilon: 965, phi: 966, chi: 967, psi: 968, omega: 969, thetasym: 977, upsih: 978, piv: 982, ensp: 8194, emsp: 8195, thinsp: 8201, zwnj: 8204, zwj: 8205, lrm: 8206, rlm: 8207, ndash: 8211, mdash: 8212, lsquo: 8216, rsquo: 8217, sbquo: 8218, ldquo: 8220, rdquo: 8221, bdquo: 8222, dagger: 8224, Dagger: 8225, bull: 8226, hellip: 8230, permil: 8240, prime: 8242, Prime: 8243, lsaquo: 8249, rsaquo: 8250, oline: 8254, frasl: 8260, euro: 8364, image: 8465, weierp: 8472, real: 8476, trade: 8482, alefsym: 8501, larr: 8592, uarr: 8593, rarr: 8594, darr: 8595, harr: 8596, crarr: 8629, lArr: 8656, uArr: 8657, rArr: 8658, dArr: 8659, hArr: 8660, forall: 8704, part: 8706, exist: 8707, empty: 8709, nabla: 8711, isin: 8712, notin: 8713, ni: 8715, prod: 8719, sum: 8721, minus: 8722, lowast: 8727, radic: 8730, prop: 8733, infin: 8734, ang: 8736, and: 8743, or: 8744, cap: 8745, cup: 8746, int: 8747, there4: 8756, sim: 8764, cong: 8773, asymp: 8776, ne: 8800, equiv: 8801, le: 8804, ge: 8805, sub: 8834, sup: 8835, nsub: 8836, sube: 8838, supe: 8839, oplus: 8853, otimes: 8855, perp: 8869, sdot: 8901, lceil: 8968, rceil: 8969, lfloor: 8970, rfloor: 8971, lang: 9001, rang: 9002, loz: 9674, spades: 9824, clubs: 9827, hearts: 9829, diams: 9830 }, Object.keys(n.ENTITIES).forEach(function(e) { var t = n.ENTITIES[e], r = "number" == typeof t ? String.fromCharCode(t) : t; n.ENTITIES[e] = r }); for (var W in n.STATE) n.STATE[n.STATE[W]] = W; W = n.STATE, String.fromCodePoint || ! function() { var e = String.fromCharCode, t = Math.floor, n = function() { var n, r, i = 16384, o = [], a = -1, s = arguments.length; if (!s) return ""; for (var c = ""; ++a < s;) { var l = Number(arguments[a]); if (!isFinite(l) || l < 0 || l > 1114111 || t(l) != l) throw RangeError("Invalid code point: " + l); l <= 65535 ? o.push(l) : (l -= 65536, n = (l >> 10) + 55296, r = l % 1024 + 56320, o.push(n, r)), (a + 1 == s || o.length > i) && (c += e.apply(null, o), o.length = 0) } return c }; Object.defineProperty ? Object.defineProperty(String, "fromCodePoint", { value: n, configurable: !0, writable: !0 }) : String.fromCodePoint = n } () } ("undefined" == typeof n ? sax = {}: n) }).call(this, void 0) }, { undefined: void 0 }], 22 : [function(t, n, r) { ! function(t) { "use strict"; function i() { this.data = [null], this.top = 0 } function o() { return new i } i.prototype.clear = function() { return this.data = [null], this.top = 0, this }, i.prototype.length = function() { return this.top }, i.prototype.peek = function() { return this.data[this.top] }, i.prototype.pop = function() { return this.top > 0 ? (this.top--, this.data.pop()) : void 0 }, i.prototype.push = function(e) { return this.data[++this.top] = e, this }, "undefined" != typeof r ? n.exports = o: "function" == typeof e ? e(function() { return o }) : t.stack = o } (this) }, {}], 23 : [function(e, t, n) { t.exports = e(27) }, { 27 : 27 }], 24 : [function(e, t, n) { "use strict"; function r() {} r.prototype.get = function(e) { return this.$model.properties.get(this, e) }, r.prototype.set = function(e, t) { this.$model.properties.set(this, e, t) }, t.exports = r }, {}], 25 : [function(e, t, n) { "use strict"; function r(e) { this.ns = e, this.name = e.name, this.allTypes = [], this.properties = [], this.propertiesByName = {} } var i = e(203), o = e(197), a = e(83), s = e(28).parseName; t.exports = r, r.prototype.build = function() { return i(this, ["ns", "name", "allTypes", "properties", "propertiesByName", "bodyProperty", "idProperty"]) }, r.prototype.addProperty = function(e, t, n) { "boolean" == typeof t && (n = t, t = void 0), this.addNamedProperty(e, n !== !1); var r = this.properties; void 0 !== t ? r.splice(t, 0, e) : r.push(e) }, r.prototype.replaceProperty = function(e, t, n) { var r = e.ns, i = this.properties, o = this.propertiesByName, a = e.name !== t.name; if (e.isId) { if (!t.isId) throw new Error("property <" + t.ns.name + "> must be id property to refine <" + e.ns.name + ">"); this.setIdProperty(t, !1) } if (e.isBody) { if (!t.isBody) throw new Error("property <" + t.ns.name + "> must be body property to refine <" + e.ns.name + ">"); this.setBodyProperty(t, !1) } var s = i.indexOf(e); if (s === -1) throw new Error("property <" + r.name + "> not found in property list"); i.splice(s, 1), this.addProperty(t, n ? void 0 : s, a), o[r.name] = o[r.localName] = t }, r.prototype.redefineProperty = function(e, t, n) { var r = e.ns.prefix, i = t.split("#"), o = s(i[0], r), a = s(i[1], o.prefix).name, c = this.propertiesByName[a]; if (!c) throw new Error("refined property <" + a + "> not found"); this.replaceProperty(c, e, n), delete e.redefines }, r.prototype.addNamedProperty = function(e, t) { var n = e.ns, r = this.propertiesByName; t && (this.assertNotDefined(e, n.name), this.assertNotDefined(e, n.localName)), r[n.name] = r[n.localName] = e }, r.prototype.removeNamedProperty = function(e) { var t = e.ns, n = this.propertiesByName; delete n[t.name], delete n[t.localName] }, r.prototype.setBodyProperty = function(e, t) { if (t && this.bodyProperty) throw new Error("body property defined multiple times (<" + this.bodyProperty.ns.name + ">, <" + e.ns.name + ">)"); this.bodyProperty = e }, r.prototype.setIdProperty = function(e, t) { if (t && this.idProperty) throw new Error("id property defined multiple times (<" + this.idProperty.ns.name + ">, <" + e.ns.name + ">)"); this.idProperty = e }, r.prototype.assertNotDefined = function(e, t) { var n = e.name, r = this.propertiesByName[n]; if (r) throw new Error("property <" + n + "> already defined; override of <" + r.definedBy.ns.name + "#" + r.ns.name + "> by <" + e.definedBy.ns.name + "#" + e.ns.name + "> not allowed without redefines") }, r.prototype.hasProperty = function(e) { return this.propertiesByName[e] }, r.prototype.addTrait = function(e, t) { var n = this.allTypes; n.indexOf(e) === -1 && (a(e.properties, function(n) { n = o({}, n, { name: n.ns.localName, inherited: t }), Object.defineProperty(n, "definedBy", { value: e }); var r = n.replaces, i = n.redefines; r || i ? this.redefineProperty(n, r || i, r) : (n.isBody && this.setBodyProperty(n), n.isId && this.setIdProperty(n), this.addProperty(n)) }, this), n.push(e)) } }, { 197 : 197, 203 : 203, 28 : 28, 83 : 83 }], 26 : [function(e, t, n) { "use strict"; function r(e, t) { this.model = e, this.properties = t } var i = e(83), o = e(24); t.exports = r, r.prototype.createType = function(e) { function t(e) { r.define(this, "$type", { value: s, enumerable: !0 }), r.define(this, "$attrs", { value: {} }), r.define(this, "$parent", { writable: !0 }), i(e, function(e, t) { this.set(t, e) }, this) } var n = this.model, r = this.properties, a = Object.create(o.prototype); i(e.properties, function(e) { e.isMany || void 0 === e. default || (a[e.name] = e. default) }), r.defineModel(a, n), r.defineDescriptor(a, e); var s = e.ns.name; return t.prototype = a, t.hasType = a.$instanceOf = this.model.hasType, r.defineModel(t, n), r.defineDescriptor(t, e), t } }, { 24 : 24, 83 : 83 }], 27 : [function(e, t, n) { "use strict"; function r(e) { this.properties = new u(this), this.factory = new c(this, this.properties), this.registry = new l(e, this.properties), this.typeCache = {} } var i = e(194), o = e(192), a = e(83), s = e(82), c = e(26), l = e(30), u = e(29), p = e(28).parseName; t.exports = r, r.prototype.create = function(e, t) { var n = this.getType(e); if (!n) throw new Error("unknown type <" + e + ">"); return new n(t) }, r.prototype.getType = function(e) { var t = this.typeCache, n = i(e) ? e: e.ns.name, r = t[n]; return r || (e = this.registry.getEffectiveDescriptor(n), r = t[n] = this.factory.createType(e)), r }, r.prototype.createAny = function(e, t, n) { var r = p(e), i = { $type: e }, s = { name: e, isGeneric: !0, ns: { prefix: r.prefix, localName: r.localName, uri: t } }; return this.properties.defineDescriptor(i, s), this.properties.defineModel(i, this), this.properties.define(i, "$parent", { enumerable: !1, writable: !0 }), a(n, function(e, t) { o(e) && void 0 !== e.value ? i[e.name] = e.value: i[t] = e }), i }, r.prototype.getPackage = function(e) { return this.registry.getPackage(e) }, r.prototype.getPackages = function() { return this.registry.getPackages() }, r.prototype.getElementDescriptor = function(e) { return e.$descriptor }, r.prototype.hasType = function(e, t) { void 0 === t && (t = e, e = this); var n = e.$model.getElementDescriptor(e); return !! s(n.allTypes, function(e) { return e.name === t }) }, r.prototype.getPropertyDescriptor = function(e, t) { return this.getElementDescriptor(e).propertiesByName[t] } }, { 192 : 192, 194 : 194, 26 : 26, 28 : 28, 29 : 29, 30 : 30, 82 : 82, 83 : 83 }], 28 : [function(e, t, n) { "use strict"; t.exports.parseName = function(e, t) { var n, r, i = e.split(/:/); if (1 === i.length) n = e, r = t; else { if (2 !== i.length) throw new Error("expected or , got " + e); n = i[1], r = i[0] } return e = (r ? r + ":": "") + n, { name: e, prefix: r, localName: n } } }, {}], 29 : [function(e, t, n) { "use strict"; function r(e) { this.model = e } function i(e) { return "undefined" == typeof e } function o(e, t, n) { Object.defineProperty(e, t.name, { enumerable: !t.isReference, writable: !0, value: n, configurable: !0 }) } t.exports = r, r.prototype.set = function(e, t, n) { var r = this.model.getPropertyDescriptor(e, t), a = r && r.name; i(n) ? r ? delete e[a] : delete e.$attrs[t] : r ? a in e ? e[a] = n: o(e, r, n) : e.$attrs[t] = n }, r.prototype.get = function(e, t) { var n = this.model.getPropertyDescriptor(e, t); if (!n) return e.$attrs[t]; var r = n.name; return ! e[r] && n.isMany && o(e, n, []), e[r] }, r.prototype.define = function(e, t, n) { Object.defineProperty(e, t, n) }, r.prototype.defineDescriptor = function(e, t) { this.define(e, "$descriptor", { value: t }) }, r.prototype.defineModel = function(e, t) { this.define(e, "$model", { value: t }) } }, {}], 30 : [function(e, t, n) { "use strict"; function r(e, t) { this.packageMap = {}, this.typeMap = {}, this.packages = [], this.properties = t, o(e, this.registerPackage, this) } var i = e(197), o = e(83), a = e(31), s = e(25), c = e(28).parseName, l = a.isBuiltIn; t.exports = r, r.prototype.getPackage = function(e) { return this.packageMap[e] }, r.prototype.getPackages = function() { return this.packages }, r.prototype.registerPackage = function(e) { e = i({}, e), o(e.types, function(t) { this.registerType(t, e) }, this), this.packageMap[e.uri] = this.packageMap[e.prefix] = e, this.packages.push(e) }, r.prototype.registerType = function(e, t) { e = i({}, e, { superClass: (e.superClass || []).slice(), extends: (e.extends || []).slice(), properties: (e.properties || []).slice() }); var n = c(e.name, t.prefix), r = n.name, a = {}; o(e.properties, function(e) { var t = c(e.name, n.prefix), r = t.name; l(e.type) || (e.type = c(e.type, t.prefix).name), i(e, { ns: t, name: r }), a[r] = e }), i(e, { ns: n, name: r, propertiesByName: a }), o(e.extends, function(e) { var t = this.typeMap[e]; t.traits = t.traits || [], t.traits.push(r) }, this), this.definePackage(e, t), this.typeMap[r] = e }, r.prototype.mapTypes = function(e, t, n) { function r(e) { return i(e, !0) } function i(n, r) { var i = c(n, l(n) ? "": e.prefix); s.mapTypes(i, t, r) } var a = l(e.name) ? { name: e.name }: this.typeMap[e.name], s = this; if (!a) throw new Error("unknown type <" + e.name + ">"); o(a.superClass, n ? r: i), t(a, !n), o(a.traits, r) }, r.prototype.getEffectiveDescriptor = function(e) { var t = c(e), n = new s(t); this.mapTypes(t, function(e, t) { n.addTrait(e, t) }); var r = n.build(); return this.definePackage(r, r.allTypes[r.allTypes.length - 1].$pkg), r }, r.prototype.definePackage = function(e, t) { this.properties.define(e, "$pkg", { value: t }) } }, { 197 : 197, 25 : 25, 28 : 28, 31 : 31, 83 : 83 }], 31 : [function(e, t, n) { "use strict"; var r = { String: !0, Boolean: !0, Integer: !0, Real: !0, Element: !0 }, i = { String: function(e) { return e }, Boolean: function(e) { return "true" === e }, Integer: function(e) { return parseInt(e, 10) }, Real: function(e) { return parseFloat(e, 10) } }; t.exports.coerceType = function(e, t) { var n = i[e]; return n ? n(t) : t }, t.exports.isBuiltIn = function(e) { return !! r[e] }, t.exports.isSimple = function(e) { return !! i[e] } }, {}], 32 : [function(e, t, n) { t.exports = { name: "BPMN20", uri: "http://www.omg.org/spec/BPMN/20100524/MODEL", associations: [], types: [{ name: "Interface", superClass: ["RootElement"], properties: [{ name: "name", isAttr: !0, type: "String" }, { name: "operations", type: "Operation", isMany: !0 }, { name: "implementationRef", type: "String", isAttr: !0 }] }, { name: "Operation", superClass: ["BaseElement"], properties: [{ name: "name", isAttr: !0, type: "String" }, { name: "inMessageRef", type: "Message", isReference: !0 }, { name: "outMessageRef", type: "Message", isReference: !0 }, { name: "errorRef", type: "Error", isMany: !0, isReference: !0 }, { name: "implementationRef", type: "String", isAttr: !0 }] }, { name: "EndPoint", superClass: ["RootElement"] }, { name: "Auditing", superClass: ["BaseElement"] }, { name: "GlobalTask", superClass: ["CallableElement"], properties: [{ name: "resources", type: "ResourceRole", isMany: !0 }] }, { name: "Monitoring", superClass: ["BaseElement"] }, { name: "Performer", superClass: ["ResourceRole"] }, { name: "Process", superClass: ["FlowElementsContainer", "CallableElement"], properties: [{ name: "processType", type: "ProcessType", isAttr: !0 }, { name: "isClosed", isAttr: !0, type: "Boolean" }, { name: "auditing", type: "Auditing" }, { name: "monitoring", type: "Monitoring" }, { name: "properties", type: "Property", isMany: !0 }, { name: "laneSets", type: "LaneSet", isMany: !0, replaces: "FlowElementsContainer#laneSets" }, { name: "flowElements", type: "FlowElement", isMany: !0, replaces: "FlowElementsContainer#flowElements" }, { name: "artifacts", type: "Artifact", isMany: !0 }, { name: "resources", type: "ResourceRole", isMany: !0 }, { name: "correlationSubscriptions", type: "CorrelationSubscription", isMany: !0 }, { name: "supports", type: "Process", isMany: !0, isReference: !0 }, { name: "definitionalCollaborationRef", type: "Collaboration", isAttr: !0, isReference: !0 }, { name: "isExecutable", isAttr: !0, type: "Boolean" }] }, { name: "LaneSet", superClass: ["BaseElement"], properties: [{ name: "lanes", type: "Lane", isMany: !0 }, { name: "name", isAttr: !0, type: "String" }] }, { name: "Lane", superClass: ["BaseElement"], properties: [{ name: "name", isAttr: !0, type: "String" }, { name: "partitionElementRef", type: "BaseElement", isAttr: !0, isReference: !0 }, { name: "partitionElement", type: "BaseElement" }, { name: "flowNodeRef", type: "FlowNode", isMany: !0, isReference: !0 }, { name: "childLaneSet", type: "LaneSet", xml: { serialize: "xsi:type" } }] }, { name: "GlobalManualTask", superClass: ["GlobalTask"] }, { name: "ManualTask", superClass: ["Task"] }, { name: "UserTask", superClass: ["Task"], properties: [{ name: "renderings", type: "Rendering", isMany: !0 }, { name: "implementation", isAttr: !0, type: "String" }] }, { name: "Rendering", superClass: ["BaseElement"] }, { name: "HumanPerformer", superClass: ["Performer"] }, { name: "PotentialOwner", superClass: ["HumanPerformer"] }, { name: "GlobalUserTask", superClass: ["GlobalTask"], properties: [{ name: "implementation", isAttr: !0, type: "String" }, { name: "renderings", type: "Rendering", isMany: !0 }] }, { name: "Gateway", isAbstract: !0, superClass: ["FlowNode"], properties: [{ name: "gatewayDirection", type: "GatewayDirection", default: "Unspecified", isAttr: !0 }] }, { name: "EventBasedGateway", superClass: ["Gateway"], properties: [{ name: "instantiate", default: !1, isAttr: !0, type: "Boolean" }, { name: "eventGatewayType", type: "EventBasedGatewayType", isAttr: !0, default: "Exclusive" }] }, { name: "ComplexGateway", superClass: ["Gateway"], properties: [{ name: "activationCondition", type: "Expression", xml: { serialize: "xsi:type" } }, { name: "default", type: "SequenceFlow", isAttr: !0, isReference: !0 }] }, { name: "ExclusiveGateway", superClass: ["Gateway"], properties: [{ name: "default", type: "SequenceFlow", isAttr: !0, isReference: !0 }] }, { name: "InclusiveGateway", superClass: ["Gateway"], properties: [{ name: "default", type: "SequenceFlow", isAttr: !0, isReference: !0 }] }, { name: "ParallelGateway", superClass: ["Gateway"] }, { name: "RootElement", isAbstract: !0, superClass: ["BaseElement"] }, { name: "Relationship", superClass: ["BaseElement"], properties: [{ name: "type", isAttr: !0, type: "String" }, { name: "direction", type: "RelationshipDirection", isAttr: !0 }, { name: "source", isMany: !0, isReference: !0, type: "Element" }, { name: "target", isMany: !0, isReference: !0, type: "Element" }] }, { name: "BaseElement", isAbstract: !0, properties: [{ name: "id", isAttr: !0, type: "String", isId: !0 }, { name: "documentation", type: "Documentation", isMany: !0 }, { name: "extensionDefinitions", type: "ExtensionDefinition", isMany: !0, isReference: !0 }, { name: "extensionElements", type: "ExtensionElements" }] }, { name: "Extension", properties: [{ name: "mustUnderstand", default: !1, isAttr: !0, type: "Boolean" }, { name: "definition", type: "ExtensionDefinition" }] }, { name: "ExtensionDefinition", properties: [{ name: "name", isAttr: !0, type: "String" }, { name: "extensionAttributeDefinitions", type: "ExtensionAttributeDefinition", isMany: !0 }] }, { name: "ExtensionAttributeDefinition", properties: [{ name: "name", isAttr: !0, type: "String" }, { name: "type", isAttr: !0, type: "String" }, { name: "isReference", default: !1, isAttr: !0, type: "Boolean" }, { name: "extensionDefinition", type: "ExtensionDefinition", isAttr: !0, isReference: !0 }] }, { name: "ExtensionElements", properties: [{ name: "valueRef", isAttr: !0, isReference: !0, type: "Element" }, { name: "values", type: "Element", isMany: !0 }, { name: "extensionAttributeDefinition", type: "ExtensionAttributeDefinition", isAttr: !0, isReference: !0 }] }, { name: "Documentation", superClass: ["BaseElement"], properties: [{ name: "text", type: "String", isBody: !0 }, { name: "textFormat", default: "text/plain", isAttr: !0, type: "String" }] }, { name: "Event", isAbstract: !0, superClass: ["FlowNode", "InteractionNode"], properties: [{ name: "properties", type: "Property", isMany: !0 }] }, { name: "IntermediateCatchEvent", superClass: ["CatchEvent"] }, { name: "IntermediateThrowEvent", superClass: ["ThrowEvent"] }, { name: "EndEvent", superClass: ["ThrowEvent"] }, { name: "StartEvent", superClass: ["CatchEvent"], properties: [{ name: "isInterrupting", default: !0, isAttr: !0, type: "Boolean" }] }, { name: "ThrowEvent", isAbstract: !0, superClass: ["Event"], properties: [{ name: "dataInputs", type: "DataInput", isMany: !0 }, { name: "dataInputAssociations", type: "DataInputAssociation", isMany: !0 }, { name: "inputSet", type: "InputSet" }, { name: "eventDefinitions", type: "EventDefinition", isMany: !0 }, { name: "eventDefinitionRef", type: "EventDefinition", isMany: !0, isReference: !0 }] }, { name: "CatchEvent", isAbstract: !0, superClass: ["Event"], properties: [{ name: "parallelMultiple", isAttr: !0, type: "Boolean", default: !1 }, { name: "dataOutputs", type: "DataOutput", isMany: !0 }, { name: "dataOutputAssociations", type: "DataOutputAssociation", isMany: !0 }, { name: "outputSet", type: "OutputSet" }, { name: "eventDefinitions", type: "EventDefinition", isMany: !0 }, { name: "eventDefinitionRef", type: "EventDefinition", isMany: !0, isReference: !0 }] }, { name: "BoundaryEvent", superClass: ["CatchEvent"], properties: [{ name: "cancelActivity", default: !0, isAttr: !0, type: "Boolean" }, { name: "attachedToRef", type: "Activity", isAttr: !0, isReference: !0 }] }, { name: "EventDefinition", isAbstract: !0, superClass: ["RootElement"] }, { name: "CancelEventDefinition", superClass: ["EventDefinition"] }, { name: "ErrorEventDefinition", superClass: ["EventDefinition"], properties: [{ name: "errorRef", type: "Error", isAttr: !0, isReference: !0 }] }, { name: "TerminateEventDefinition", superClass: ["EventDefinition"] }, { name: "EscalationEventDefinition", superClass: ["EventDefinition"], properties: [{ name: "escalationRef", type: "Escalation", isAttr: !0, isReference: !0 }] }, { name: "Escalation", properties: [{ name: "structureRef", type: "ItemDefinition", isAttr: !0, isReference: !0 }, { name: "name", isAttr: !0, type: "String" }, { name: "escalationCode", isAttr: !0, type: "String" }], superClass: ["RootElement"] }, { name: "CompensateEventDefinition", superClass: ["EventDefinition"], properties: [{ name: "waitForCompletion", isAttr: !0, type: "Boolean" }, { name: "activityRef", type: "Activity", isAttr: !0, isReference: !0 }] }, { name: "TimerEventDefinition", superClass: ["EventDefinition"], properties: [{ name: "timeDate", type: "Expression", xml: { serialize: "xsi:type" } }, { name: "timeCycle", type: "Expression", xml: { serialize: "xsi:type" } }, { name: "timeDuration", type: "Expression", xml: { serialize: "xsi:type" } }] }, { name: "LinkEventDefinition", superClass: ["EventDefinition"], properties: [{ name: "name", isAttr: !0, type: "String" }, { name: "target", type: "LinkEventDefinition", isAttr: !0, isReference: !0 }, { name: "source", type: "LinkEventDefinition", isMany: !0, isReference: !0 }] }, { name: "MessageEventDefinition", superClass: ["EventDefinition"], properties: [{ name: "messageRef", type: "Message", isAttr: !0, isReference: !0 }, { name: "operationRef", type: "Operation", isAttr: !0, isReference: !0 }] }, { name: "ConditionalEventDefinition", superClass: ["EventDefinition"], properties: [{ name: "condition", type: "Expression", xml: { serialize: "xsi:type" } }] }, { name: "SignalEventDefinition", superClass: ["EventDefinition"], properties: [{ name: "signalRef", type: "Signal", isAttr: !0, isReference: !0 }] }, { name: "Signal", superClass: ["RootElement"], properties: [{ name: "structureRef", type: "ItemDefinition", isAttr: !0, isReference: !0 }, { name: "name", isAttr: !0, type: "String" }] }, { name: "ImplicitThrowEvent", superClass: ["ThrowEvent"] }, { name: "DataState", superClass: ["BaseElement"], properties: [{ name: "name", isAttr: !0, type: "String" }] }, { name: "ItemAwareElement", superClass: ["BaseElement"], properties: [{ name: "itemSubjectRef", type: "ItemDefinition", isAttr: !0, isReference: !0 }, { name: "dataState", type: "DataState" }] }, { name: "DataAssociation", superClass: ["BaseElement"], properties: [{ name: "assignment", type: "Assignment", isMany: !0 }, { name: "sourceRef", type: "ItemAwareElement", isMany: !0, isReference: !0 }, { name: "targetRef", type: "ItemAwareElement", isReference: !0 }, { name: "transformation", type: "FormalExpression", xml: { serialize: "property" } }] }, { name: "DataInput", superClass: ["ItemAwareElement"], properties: [{ name: "name", isAttr: !0, type: "String" }, { name: "isCollection", default: !1, isAttr: !0, type: "Boolean" }, { name: "inputSetRef", type: "InputSet", isVirtual: !0, isMany: !0, isReference: !0 }, { name: "inputSetWithOptional", type: "InputSet", isVirtual: !0, isMany: !0, isReference: !0 }, { name: "inputSetWithWhileExecuting", type: "InputSet", isVirtual: !0, isMany: !0, isReference: !0 }] }, { name: "DataOutput", superClass: ["ItemAwareElement"], properties: [{ name: "name", isAttr: !0, type: "String" }, { name: "isCollection", default: !1, isAttr: !0, type: "Boolean" }, { name: "outputSetRef", type: "OutputSet", isVirtual: !0, isMany: !0, isReference: !0 }, { name: "outputSetWithOptional", type: "OutputSet", isVirtual: !0, isMany: !0, isReference: !0 }, { name: "outputSetWithWhileExecuting", type: "OutputSet", isVirtual: !0, isMany: !0, isReference: !0 }] }, { name: "InputSet", superClass: ["BaseElement"], properties: [{ name: "name", isAttr: !0, type: "String" }, { name: "dataInputRefs", type: "DataInput", isMany: !0, isReference: !0 }, { name: "optionalInputRefs", type: "DataInput", isMany: !0, isReference: !0 }, { name: "whileExecutingInputRefs", type: "DataInput", isMany: !0, isReference: !0 }, { name: "outputSetRefs", type: "OutputSet", isMany: !0, isReference: !0 }] }, { name: "OutputSet", superClass: ["BaseElement"], properties: [{ name: "dataOutputRefs", type: "DataOutput", isMany: !0, isReference: !0 }, { name: "name", isAttr: !0, type: "String" }, { name: "inputSetRefs", type: "InputSet", isMany: !0, isReference: !0 }, { name: "optionalOutputRefs", type: "DataOutput", isMany: !0, isReference: !0 }, { name: "whileExecutingOutputRefs", type: "DataOutput", isMany: !0, isReference: !0 }] }, { name: "Property", superClass: ["ItemAwareElement"], properties: [{ name: "name", isAttr: !0, type: "String" }] }, { name: "DataInputAssociation", superClass: ["DataAssociation"] }, { name: "DataOutputAssociation", superClass: ["DataAssociation"] }, { name: "InputOutputSpecification", superClass: ["BaseElement"], properties: [{ name: "dataInputs", type: "DataInput", isMany: !0 }, { name: "dataOutputs", type: "DataOutput", isMany: !0 }, { name: "inputSets", type: "InputSet", isMany: !0 }, { name: "outputSets", type: "OutputSet", isMany: !0 }] }, { name: "DataObject", superClass: ["FlowElement", "ItemAwareElement"], properties: [{ name: "isCollection", default: !1, isAttr: !0, type: "Boolean" }] }, { name: "InputOutputBinding", properties: [{ name: "inputDataRef", type: "InputSet", isAttr: !0, isReference: !0 }, { name: "outputDataRef", type: "OutputSet", isAttr: !0, isReference: !0 }, { name: "operationRef", type: "Operation", isAttr: !0, isReference: !0 }] }, { name: "Assignment", superClass: ["BaseElement"], properties: [{ name: "from", type: "Expression", xml: { serialize: "xsi:type" } }, { name: "to", type: "Expression", xml: { serialize: "xsi:type" } }] }, { name: "DataStore", superClass: ["RootElement", "ItemAwareElement"], properties: [{ name: "name", isAttr: !0, type: "String" }, { name: "capacity", isAttr: !0, type: "Integer" }, { name: "isUnlimited", default: !0, isAttr: !0, type: "Boolean" }] }, { name: "DataStoreReference", superClass: ["ItemAwareElement", "FlowElement"], properties: [{ name: "dataStoreRef", type: "DataStore", isAttr: !0, isReference: !0 }] }, { name: "DataObjectReference", superClass: ["ItemAwareElement", "FlowElement"], properties: [{ name: "dataObjectRef", type: "DataObject", isAttr: !0, isReference: !0 }] }, { name: "ConversationLink", superClass: ["BaseElement"], properties: [{ name: "sourceRef", type: "InteractionNode", isAttr: !0, isReference: !0 }, { name: "targetRef", type: "InteractionNode", isAttr: !0, isReference: !0 }, { name: "name", isAttr: !0, type: "String" }] }, { name: "ConversationAssociation", superClass: ["BaseElement"], properties: [{ name: "innerConversationNodeRef", type: "ConversationNode", isAttr: !0, isReference: !0 }, { name: "outerConversationNodeRef", type: "ConversationNode", isAttr: !0, isReference: !0 }] }, { name: "CallConversation", superClass: ["ConversationNode"], properties: [{ name: "calledCollaborationRef", type: "Collaboration", isAttr: !0, isReference: !0 }, { name: "participantAssociations", type: "ParticipantAssociation", isMany: !0 }] }, { name: "Conversation", superClass: ["ConversationNode"] }, { name: "SubConversation", superClass: ["ConversationNode"], properties: [{ name: "conversationNodes", type: "ConversationNode", isMany: !0 }] }, { name: "ConversationNode", isAbstract: !0, superClass: ["InteractionNode", "BaseElement"], properties: [{ name: "name", isAttr: !0, type: "String" }, { name: "participantRefs", type: "Participant", isMany: !0, isReference: !0 }, { name: "messageFlowRefs", type: "MessageFlow", isMany: !0, isReference: !0 }, { name: "correlationKeys", type: "CorrelationKey", isMany: !0 }] }, { name: "GlobalConversation", superClass: ["Collaboration"] }, { name: "PartnerEntity", superClass: ["RootElement"], properties: [{ name: "name", isAttr: !0, type: "String" }, { name: "participantRef", type: "Participant", isMany: !0, isReference: !0 }] }, { name: "PartnerRole", superClass: ["RootElement"], properties: [{ name: "name", isAttr: !0, type: "String" }, { name: "participantRef", type: "Participant", isMany: !0, isReference: !0 }] }, { name: "CorrelationProperty", superClass: ["RootElement"], properties: [{ name: "correlationPropertyRetrievalExpression", type: "CorrelationPropertyRetrievalExpression", isMany: !0 }, { name: "name", isAttr: !0, type: "String" }, { name: "type", type: "ItemDefinition", isAttr: !0, isReference: !0 }] }, { name: "Error", superClass: ["RootElement"], properties: [{ name: "structureRef", type: "ItemDefinition", isAttr: !0, isReference: !0 }, { name: "name", isAttr: !0, type: "String" }, { name: "errorCode", isAttr: !0, type: "String" }] }, { name: "CorrelationKey", superClass: ["BaseElement"], properties: [{ name: "correlationPropertyRef", type: "CorrelationProperty", isMany: !0, isReference: !0 }, { name: "name", isAttr: !0, type: "String" }] }, { name: "Expression", superClass: ["BaseElement"], isAbstract: !0 }, { name: "FormalExpression", superClass: ["Expression"], properties: [{ name: "language", isAttr: !0, type: "String" }, { name: "body", type: "String", isBody: !0 }, { name: "evaluatesToTypeRef", type: "ItemDefinition", isAttr: !0, isReference: !0 }] }, { name: "Message", superClass: ["RootElement"], properties: [{ name: "name", isAttr: !0, type: "String" }, { name: "itemRef", type: "ItemDefinition", isAttr: !0, isReference: !0 }] }, { name: "ItemDefinition", superClass: ["RootElement"], properties: [{ name: "itemKind", type: "ItemKind", isAttr: !0 }, { name: "structureRef", type: "String", isAttr: !0 }, { name: "isCollection", default: !1, isAttr: !0, type: "Boolean" }, { name: "import", type: "Import", isAttr: !0, isReference: !0 }] }, { name: "FlowElement", isAbstract: !0, superClass: ["BaseElement"], properties: [{ name: "name", isAttr: !0, type: "String" }, { name: "auditing", type: "Auditing" }, { name: "monitoring", type: "Monitoring" }, { name: "categoryValueRef", type: "CategoryValue", isMany: !0, isReference: !0 }] }, { name: "SequenceFlow", superClass: ["FlowElement"], properties: [{ name: "isImmediate", isAttr: !0, type: "Boolean" }, { name: "conditionExpression", type: "Expression", xml: { serialize: "xsi:type" } }, { name: "sourceRef", type: "FlowNode", isAttr: !0, isReference: !0 }, { name: "targetRef", type: "FlowNode", isAttr: !0, isReference: !0 }] }, { name: "FlowElementsContainer", isAbstract: !0, superClass: ["BaseElement"], properties: [{ name: "laneSets", type: "LaneSet", isMany: !0 }, { name: "flowElements", type: "FlowElement", isMany: !0 }] }, { name: "CallableElement", isAbstract: !0, superClass: ["RootElement"], properties: [{ name: "name", isAttr: !0, type: "String" }, { name: "ioSpecification", type: "InputOutputSpecification", xml: { serialize: "property" } }, { name: "supportedInterfaceRef", type: "Interface", isMany: !0, isReference: !0 }, { name: "ioBinding", type: "InputOutputBinding", isMany: !0, xml: { serialize: "property" } }] }, { name: "FlowNode", isAbstract: !0, superClass: ["FlowElement"], properties: [{ name: "incoming", type: "SequenceFlow", isMany: !0, isReference: !0 }, { name: "outgoing", type: "SequenceFlow", isMany: !0, isReference: !0 }, { name: "lanes", type: "Lane", isVirtual: !0, isMany: !0, isReference: !0 }] }, { name: "CorrelationPropertyRetrievalExpression", superClass: ["BaseElement"], properties: [{ name: "messagePath", type: "FormalExpression" }, { name: "messageRef", type: "Message", isAttr: !0, isReference: !0 }] }, { name: "CorrelationPropertyBinding", superClass: ["BaseElement"], properties: [{ name: "dataPath", type: "FormalExpression" }, { name: "correlationPropertyRef", type: "CorrelationProperty", isAttr: !0, isReference: !0 }] }, { name: "Resource", superClass: ["RootElement"], properties: [{ name: "name", isAttr: !0, type: "String" }, { name: "resourceParameters", type: "ResourceParameter", isMany: !0 }] }, { name: "ResourceParameter", superClass: ["BaseElement"], properties: [{ name: "name", isAttr: !0, type: "String" }, { name: "isRequired", isAttr: !0, type: "Boolean" }, { name: "type", type: "ItemDefinition", isAttr: !0, isReference: !0 }] }, { name: "CorrelationSubscription", superClass: ["BaseElement"], properties: [{ name: "correlationKeyRef", type: "CorrelationKey", isAttr: !0, isReference: !0 }, { name: "correlationPropertyBinding", type: "CorrelationPropertyBinding", isMany: !0 }] }, { name: "MessageFlow", superClass: ["BaseElement"], properties: [{ name: "name", isAttr: !0, type: "String" }, { name: "sourceRef", type: "InteractionNode", isAttr: !0, isReference: !0 }, { name: "targetRef", type: "InteractionNode", isAttr: !0, isReference: !0 }, { name: "messageRef", type: "Message", isAttr: !0, isReference: !0 }] }, { name: "MessageFlowAssociation", superClass: ["BaseElement"], properties: [{ name: "innerMessageFlowRef", type: "MessageFlow", isAttr: !0, isReference: !0 }, { name: "outerMessageFlowRef", type: "MessageFlow", isAttr: !0, isReference: !0 }] }, { name: "InteractionNode", isAbstract: !0, properties: [{ name: "incomingConversationLinks", type: "ConversationLink", isVirtual: !0, isMany: !0, isReference: !0 }, { name: "outgoingConversationLinks", type: "ConversationLink", isVirtual: !0, isMany: !0, isReference: !0 }] }, { name: "Participant", superClass: ["InteractionNode", "BaseElement"], properties: [{ name: "name", isAttr: !0, type: "String" }, { name: "interfaceRef", type: "Interface", isMany: !0, isReference: !0 }, { name: "participantMultiplicity", type: "ParticipantMultiplicity" }, { name: "endPointRefs", type: "EndPoint", isMany: !0, isReference: !0 }, { name: "processRef", type: "Process", isAttr: !0, isReference: !0 }] }, { name: "ParticipantAssociation", superClass: ["BaseElement"], properties: [{ name: "innerParticipantRef", type: "Participant", isAttr: !0, isReference: !0 }, { name: "outerParticipantRef", type: "Participant", isAttr: !0, isReference: !0 }] }, { name: "ParticipantMultiplicity", properties: [{ name: "minimum", default: 0, isAttr: !0, type: "Integer" }, { name: "maximum", default: 1, isAttr: !0, type: "Integer" }] }, { name: "Collaboration", superClass: ["RootElement"], properties: [{ name: "name", isAttr: !0, type: "String" }, { name: "isClosed", isAttr: !0, type: "Boolean" }, { name: "participants", type: "Participant", isMany: !0 }, { name: "messageFlows", type: "MessageFlow", isMany: !0 }, { name: "artifacts", type: "Artifact", isMany: !0 }, { name: "conversations", type: "ConversationNode", isMany: !0 }, { name: "conversationAssociations", type: "ConversationAssociation" }, { name: "participantAssociations", type: "ParticipantAssociation", isMany: !0 }, { name: "messageFlowAssociations", type: "MessageFlowAssociation", isMany: !0 }, { name: "correlationKeys", type: "CorrelationKey", isMany: !0 }, { name: "choreographyRef", type: "Choreography", isMany: !0, isReference: !0 }, { name: "conversationLinks", type: "ConversationLink", isMany: !0 }] }, { name: "ChoreographyActivity", isAbstract: !0, superClass: ["FlowNode"], properties: [{ name: "participantRefs", type: "Participant", isMany: !0, isReference: !0 }, { name: "initiatingParticipantRef", type: "Participant", isAttr: !0, isReference: !0 }, { name: "correlationKeys", type: "CorrelationKey", isMany: !0 }, { name: "loopType", type: "ChoreographyLoopType", default: "None", isAttr: !0 }] }, { name: "CallChoreography", superClass: ["ChoreographyActivity"], properties: [{ name: "calledChoreographyRef", type: "Choreography", isAttr: !0, isReference: !0 }, { name: "participantAssociations", type: "ParticipantAssociation", isMany: !0 }] }, { name: "SubChoreography", superClass: ["ChoreographyActivity", "FlowElementsContainer"], properties: [{ name: "artifacts", type: "Artifact", isMany: !0 }] }, { name: "ChoreographyTask", superClass: ["ChoreographyActivity"], properties: [{ name: "messageFlowRef", type: "MessageFlow", isMany: !0, isReference: !0 }] }, { name: "Choreography", superClass: ["FlowElementsContainer", "Collaboration"] }, { name: "GlobalChoreographyTask", superClass: ["Choreography"], properties: [{ name: "initiatingParticipantRef", type: "Participant", isAttr: !0, isReference: !0 }] }, { name: "TextAnnotation", superClass: ["Artifact"], properties: [{ name: "text", type: "String" }, { name: "textFormat", default: "text/plain", isAttr: !0, type: "String" }] }, { name: "Group", superClass: ["Artifact"], properties: [{ name: "categoryValueRef", type: "CategoryValue", isAttr: !0, isReference: !0 }] }, { name: "Association", superClass: ["Artifact"], properties: [{ name: "associationDirection", type: "AssociationDirection", isAttr: !0 }, { name: "sourceRef", type: "BaseElement", isAttr: !0, isReference: !0 }, { name: "targetRef", type: "BaseElement", isAttr: !0, isReference: !0 }] }, { name: "Category", superClass: ["RootElement"], properties: [{ name: "categoryValue", type: "CategoryValue", isMany: !0 }, { name: "name", isAttr: !0, type: "String" }] }, { name: "Artifact", isAbstract: !0, superClass: ["BaseElement"] }, { name: "CategoryValue", superClass: ["BaseElement"], properties: [{ name: "categorizedFlowElements", type: "FlowElement", isVirtual: !0, isMany: !0, isReference: !0 }, { name: "value", isAttr: !0, type: "String" }] }, { name: "Activity", isAbstract: !0, superClass: ["FlowNode"], properties: [{ name: "isForCompensation", default: !1, isAttr: !0, type: "Boolean" }, { name: "default", type: "SequenceFlow", isAttr: !0, isReference: !0 }, { name: "ioSpecification", type: "InputOutputSpecification", xml: { serialize: "property" } }, { name: "boundaryEventRefs", type: "BoundaryEvent", isMany: !0, isReference: !0 }, { name: "properties", type: "Property", isMany: !0 }, { name: "dataInputAssociations", type: "DataInputAssociation", isMany: !0 }, { name: "dataOutputAssociations", type: "DataOutputAssociation", isMany: !0 }, { name: "startQuantity", default: 1, isAttr: !0, type: "Integer" }, { name: "resources", type: "ResourceRole", isMany: !0 }, { name: "completionQuantity", default: 1, isAttr: !0, type: "Integer" }, { name: "loopCharacteristics", type: "LoopCharacteristics" }] }, { name: "ServiceTask", superClass: ["Task"], properties: [{ name: "implementation", isAttr: !0, type: "String" }, { name: "operationRef", type: "Operation", isAttr: !0, isReference: !0 }] }, { name: "SubProcess", superClass: ["Activity", "FlowElementsContainer", "InteractionNode"], properties: [{ name: "triggeredByEvent", default: !1, isAttr: !0, type: "Boolean" }, { name: "artifacts", type: "Artifact", isMany: !0 }] }, { name: "LoopCharacteristics", isAbstract: !0, superClass: ["BaseElement"] }, { name: "MultiInstanceLoopCharacteristics", superClass: ["LoopCharacteristics"], properties: [{ name: "isSequential", default: !1, isAttr: !0, type: "Boolean" }, { name: "behavior", type: "MultiInstanceBehavior", default: "All", isAttr: !0 }, { name: "loopCardinality", type: "Expression", xml: { serialize: "xsi:type" } }, { name: "loopDataInputRef", type: "ItemAwareElement", isReference: !0 }, { name: "loopDataOutputRef", type: "ItemAwareElement", isReference: !0 }, { name: "inputDataItem", type: "DataInput", xml: { serialize: "property" } }, { name: "outputDataItem", type: "DataOutput", xml: { serialize: "property" } }, { name: "complexBehaviorDefinition", type: "ComplexBehaviorDefinition", isMany: !0 }, { name: "completionCondition", type: "Expression", xml: { serialize: "xsi:type" } }, { name: "oneBehaviorEventRef", type: "EventDefinition", isAttr: !0, isReference: !0 }, { name: "noneBehaviorEventRef", type: "EventDefinition", isAttr: !0, isReference: !0 }] }, { name: "StandardLoopCharacteristics", superClass: ["LoopCharacteristics"], properties: [{ name: "testBefore", default: !1, isAttr: !0, type: "Boolean" }, { name: "loopCondition", type: "Expression", xml: { serialize: "xsi:type" } }, { name: "loopMaximum", type: "Expression", xml: { serialize: "xsi:type" } }] }, { name: "CallActivity", superClass: ["Activity"], properties: [{ name: "calledElement", type: "String", isAttr: !0 }] }, { name: "Task", superClass: ["Activity", "InteractionNode"] }, { name: "SendTask", superClass: ["Task"], properties: [{ name: "implementation", isAttr: !0, type: "String" }, { name: "operationRef", type: "Operation", isAttr: !0, isReference: !0 }, { name: "messageRef", type: "Message", isAttr: !0, isReference: !0 }] }, { name: "ReceiveTask", superClass: ["Task"], properties: [{ name: "implementation", isAttr: !0, type: "String" }, { name: "instantiate", default: !1, isAttr: !0, type: "Boolean" }, { name: "operationRef", type: "Operation", isAttr: !0, isReference: !0 }, { name: "messageRef", type: "Message", isAttr: !0, isReference: !0 }] }, { name: "ScriptTask", superClass: ["Task"], properties: [{ name: "scriptFormat", isAttr: !0, type: "String" }, { name: "script", type: "String" }] }, { name: "BusinessRuleTask", superClass: ["Task"], properties: [{ name: "implementation", isAttr: !0, type: "String" }] }, { name: "AdHocSubProcess", superClass: ["SubProcess"], properties: [{ name: "completionCondition", type: "Expression", xml: { serialize: "xsi:type" } }, { name: "ordering", type: "AdHocOrdering", isAttr: !0 }, { name: "cancelRemainingInstances", default: !0, isAttr: !0, type: "Boolean" }] }, { name: "Transaction", superClass: ["SubProcess"], properties: [{ name: "protocol", isAttr: !0, type: "String" }, { name: "method", isAttr: !0, type: "String" }] }, { name: "GlobalScriptTask", superClass: ["GlobalTask"], properties: [{ name: "scriptLanguage", isAttr: !0, type: "String" }, { name: "script", isAttr: !0, type: "String" }] }, { name: "GlobalBusinessRuleTask", superClass: ["GlobalTask"], properties: [{ name: "implementation", isAttr: !0, type: "String" }] }, { name: "ComplexBehaviorDefinition", superClass: ["BaseElement"], properties: [{ name: "condition", type: "FormalExpression" }, { name: "event", type: "ImplicitThrowEvent" }] }, { name: "ResourceRole", superClass: ["BaseElement"], properties: [{ name: "resourceRef", type: "Resource", isReference: !0 }, { name: "resourceParameterBindings", type: "ResourceParameterBinding", isMany: !0 }, { name: "resourceAssignmentExpression", type: "ResourceAssignmentExpression" }, { name: "name", isAttr: !0, type: "String" }] }, { name: "ResourceParameterBinding", properties: [{ name: "expression", type: "Expression", xml: { serialize: "xsi:type" } }, { name: "parameterRef", type: "ResourceParameter", isAttr: !0, isReference: !0 }] }, { name: "ResourceAssignmentExpression", properties: [{ name: "expression", type: "Expression", xml: { serialize: "xsi:type" } }], superClass: ["BaseElement"] }, { name: "Import", properties: [{ name: "importType", isAttr: !0, type: "String" }, { name: "location", isAttr: !0, type: "String" }, { name: "namespace", isAttr: !0, type: "String" }] }, { name: "Definitions", superClass: ["BaseElement"], properties: [{ name: "name", isAttr: !0, type: "String" }, { name: "targetNamespace", isAttr: !0, type: "String" }, { name: "expressionLanguage", default: "http://www.w3.org/1999/XPath", isAttr: !0, type: "String" }, { name: "typeLanguage", default: "http://www.w3.org/2001/XMLSchema", isAttr: !0, type: "String" }, { name: "imports", type: "Import", isMany: !0 }, { name: "extensions", type: "Extension", isMany: !0 }, { name: "rootElements", type: "RootElement", isMany: !0 }, { name: "diagrams", isMany: !0, type: "bpmndi:BPMNDiagram" }, { name: "exporter", isAttr: !0, type: "String" }, { name: "relationships", type: "Relationship", isMany: !0 }, { name: "exporterVersion", isAttr: !0, type: "String" }] }], emumerations: [{ name: "ProcessType", literalValues: [{ name: "None" }, { name: "Public" }, { name: "Private" }] }, { name: "GatewayDirection", literalValues: [{ name: "Unspecified" }, { name: "Converging" }, { name: "Diverging" }, { name: "Mixed" }] }, { name: "EventBasedGatewayType", literalValues: [{ name: "Parallel" }, { name: "Exclusive" }] }, { name: "RelationshipDirection", literalValues: [{ name: "None" }, { name: "Forward" }, { name: "Backward" }, { name: "Both" }] }, { name: "ItemKind", literalValues: [{ name: "Physical" }, { name: "Information" }] }, { name: "ChoreographyLoopType", literalValues: [{ name: "None" }, { name: "Standard" }, { name: "MultiInstanceSequential" }, { name: "MultiInstanceParallel" }] }, { name: "AssociationDirection", literalValues: [{ name: "None" }, { name: "One" }, { name: "Both" }] }, { name: "MultiInstanceBehavior", literalValues: [{ name: "None" }, { name: "One" }, { name: "All" }, { name: "Complex" }] }, { name: "AdHocOrdering", literalValues: [{ name: "Parallel" }, { name: "Sequential" }] }], prefix: "bpmn", xml: { tagAlias: "lowerCase", typePrefix: "t" } } }, {}], 33 : [function(e, t, n) { t.exports = { name: "BPMNDI", uri: "http://www.omg.org/spec/BPMN/20100524/DI", types: [{ name: "BPMNDiagram", properties: [{ name: "plane", type: "BPMNPlane", redefines: "di:Diagram#rootElement" }, { name: "labelStyle", type: "BPMNLabelStyle", isMany: !0 }], superClass: ["di:Diagram"] }, { name: "BPMNPlane", properties: [{ name: "bpmnElement", isAttr: !0, isReference: !0, type: "bpmn:BaseElement", redefines: "di:DiagramElement#modelElement" }], superClass: ["di:Plane"] }, { name: "BPMNShape", properties: [{ name: "bpmnElement", isAttr: !0, isReference: !0, type: "bpmn:BaseElement", redefines: "di:DiagramElement#modelElement" }, { name: "isHorizontal", isAttr: !0, type: "Boolean" }, { name: "isExpanded", isAttr: !0, type: "Boolean" }, { name: "isMarkerVisible", isAttr: !0, type: "Boolean" }, { name: "label", type: "BPMNLabel" }, { name: "isMessageVisible", isAttr: !0, type: "Boolean" }, { name: "participantBandKind", type: "ParticipantBandKind", isAttr: !0 }, { name: "choreographyActivityShape", type: "BPMNShape", isAttr: !0, isReference: !0 }], superClass: ["di:LabeledShape"] }, { name: "BPMNEdge", properties: [{ name: "label", type: "BPMNLabel" }, { name: "bpmnElement", isAttr: !0, isReference: !0, type: "bpmn:BaseElement", redefines: "di:DiagramElement#modelElement" }, { name: "sourceElement", isAttr: !0, isReference: !0, type: "di:DiagramElement", redefines: "di:Edge#source" }, { name: "targetElement", isAttr: !0, isReference: !0, type: "di:DiagramElement", redefines: "di:Edge#target" }, { name: "messageVisibleKind", type: "MessageVisibleKind", isAttr: !0, default: "initiating" }], superClass: ["di:LabeledEdge"] }, { name: "BPMNLabel", properties: [{ name: "labelStyle", type: "BPMNLabelStyle", isAttr: !0, isReference: !0, redefines: "di:DiagramElement#style" }], superClass: ["di:Label"] }, { name: "BPMNLabelStyle", properties: [{ name: "font", type: "dc:Font" }], superClass: ["di:Style"] }], emumerations: [{ name: "ParticipantBandKind", literalValues: [{ name: "top_initiating" }, { name: "middle_initiating" }, { name: "bottom_initiating" }, { name: "top_non_initiating" }, { name: "middle_non_initiating" }, { name: "bottom_non_initiating" }] }, { name: "MessageVisibleKind", literalValues: [{ name: "initiating" }, { name: "non_initiating" }] }], associations: [], prefix: "bpmndi" } }, {}], 34 : [function(e, t, n) { t.exports = { name: "DC", uri: "http://www.omg.org/spec/DD/20100524/DC", types: [{ name: "Boolean" }, { name: "Integer" }, { name: "Real" }, { name: "String" }, { name: "Font", properties: [{ name: "name", type: "String", isAttr: !0 }, { name: "size", type: "Real", isAttr: !0 }, { name: "isBold", type: "Boolean", isAttr: !0 }, { name: "isItalic", type: "Boolean", isAttr: !0 }, { name: "isUnderline", type: "Boolean", isAttr: !0 }, { name: "isStrikeThrough", type: "Boolean", isAttr: !0 }] }, { name: "Point", properties: [{ name: "x", type: "Real", default: "0", isAttr: !0 }, { name: "y", type: "Real", default: "0", isAttr: !0 }] }, { name: "Bounds", properties: [{ name: "x", type: "Real", default: "0", isAttr: !0 }, { name: "y", type: "Real", default: "0", isAttr: !0 }, { name: "width", type: "Real", isAttr: !0 }, { name: "height", type: "Real", isAttr: !0 }] }], prefix: "dc", associations: [] } }, {}], 35 : [function(e, t, n) { t.exports = { name: "DI", uri: "http://www.omg.org/spec/DD/20100524/DI", types: [{ name: "DiagramElement", isAbstract: !0, properties: [{ name: "id", type: "String", isAttr: !0, isId: !0 }, { name: "extension", type: "Extension" }, { name: "owningDiagram", type: "Diagram", isReadOnly: !0, isVirtual: !0, isReference: !0 }, { name: "owningElement", type: "DiagramElement", isReadOnly: !0, isVirtual: !0, isReference: !0 }, { name: "modelElement", isReadOnly: !0, isVirtual: !0, isReference: !0, type: "Element" }, { name: "style", type: "Style", isReadOnly: !0, isVirtual: !0, isReference: !0 }, { name: "ownedElement", type: "DiagramElement", isReadOnly: !0, isVirtual: !0, isMany: !0 }] }, { name: "Node", isAbstract: !0, superClass: ["DiagramElement"] }, { name: "Edge", isAbstract: !0, superClass: ["DiagramElement"], properties: [{ name: "source", type: "DiagramElement", isReadOnly: !0, isVirtual: !0, isReference: !0 }, { name: "target", type: "DiagramElement", isReadOnly: !0, isVirtual: !0, isReference: !0 }, { name: "waypoint", isUnique: !1, isMany: !0, type: "dc:Point", xml: { serialize: "xsi:type" } }] }, { name: "Diagram", isAbstract: !0, properties: [{ name: "id", type: "String", isAttr: !0, isId: !0 }, { name: "rootElement", type: "DiagramElement", isReadOnly: !0, isVirtual: !0 }, { name: "name", isAttr: !0, type: "String" }, { name: "documentation", isAttr: !0, type: "String" }, { name: "resolution", isAttr: !0, type: "Real" }, { name: "ownedStyle", type: "Style", isReadOnly: !0, isVirtual: !0, isMany: !0 }] }, { name: "Shape", isAbstract: !0, superClass: ["Node"], properties: [{ name: "bounds", type: "dc:Bounds" }] }, { name: "Plane", isAbstract: !0, superClass: ["Node"], properties: [{ name: "planeElement", type: "DiagramElement", subsettedProperty: "DiagramElement-ownedElement", isMany: !0 }] }, { name: "LabeledEdge", isAbstract: !0, superClass: ["Edge"], properties: [{ name: "ownedLabel", type: "Label", isReadOnly: !0, subsettedProperty: "DiagramElement-ownedElement", isVirtual: !0, isMany: !0 }] }, { name: "LabeledShape", isAbstract: !0, superClass: ["Shape"], properties: [{ name: "ownedLabel", type: "Label", isReadOnly: !0, subsettedProperty: "DiagramElement-ownedElement", isVirtual: !0, isMany: !0 }] }, { name: "Label", isAbstract: !0, superClass: ["Node"], properties: [{ name: "bounds", type: "dc:Bounds" }] }, { name: "Style", isAbstract: !0, properties: [{ name: "id", type: "String", isAttr: !0, isId: !0 }] }, { name: "Extension", properties: [{ name: "values", type: "Element", isMany: !0 }] }], associations: [], prefix: "di", xml: { tagAlias: "lowerCase" } } }, {}], 36 : [function(e, t, n) { t.exports = e(37) }, { 37 : 37 }], 37 : [function(e, t, n) { "use strict"; function r(e) { function t(e) { return i.indexOf(e) >= 0 } function n(e) { i.push(e) } function r(e) { t(e) || ((e.__depends__ || []).forEach(r), t(e) || (n(e), (e.__init__ || []).forEach(function(e) { o.push(e) }))) } var i = [], o = []; e.forEach(r); var s = new a.Injector(i); return o.forEach(function(e) { try { s["string" == typeof e ? "get": "invoke"](e) } catch(e) { throw console.error("Failed to instantiate component"), console.error(e.stack), e } }), s } function i(t) { t = t || {}; var n = { config: ["value", t] }, i = e(43), o = [n, i].concat(t.modules || []); return r(o) } function o(e, t) { this.injector = t = t || i(e), this.get = t.get, this.invoke = t.invoke, this.get("eventBus").fire("diagram.init") } var a = e(71); t.exports = o, o.prototype.destroy = function() { this.get("eventBus").fire("diagram.destroy") }, o.prototype.clear = function() { this.get("eventBus").fire("diagram.clear") } }, { 43 : 43, 71 : 71 }], 38 : [function(e, t, n) { "use strict"; function r(e, t) { return Math.round(e * t) / t } function i(e) { return l(e) ? e + "px": e } function o(e) { e = u({}, { width: "100%", height: "100%" }, e); var t = e.container || document.body, n = document.createElement("div"); return n.setAttribute("class", "djs-container"), u(n.style, { position: "relative", overflow: "hidden", width: i(e.width), height: i(e.height) }), t.appendChild(n), n } function a(e, t) { return e.group().attr({ class: t }) } function s(e, t, n, r) { this._eventBus = t, this._elementRegistry = r, this._graphicsFactory = n, this._init(e || {}) } function c(e, t) { var n = "matrix(" + t.a + "," + t.b + "," + t.c + "," + t.d + "," + t.e + "," + t.f + ")"; e.setAttribute("transform", n) } var l = e(191), u = e(197), p = e(83), f = e(80), h = e(91), d = e(61), m = e(62), y = e(76), g = "base", v = { shape: ["x", "y", "width", "height"], connection: ["waypoints"] }; s.$inject = ["config.canvas", "eventBus", "graphicsFactory", "elementRegistry"], t.exports = s, s.prototype._init = function(e) { var t = this._eventBus, n = this._container = o(e), r = this._svg = y.createSnapAt("100%", "100%", n), i = this._viewport = a(r, "viewport"); this._layers = {}, e.deferUpdate !== !1 && (this._viewboxChanged = h(this._viewboxChanged, 300)), t.on("diagram.init", function() { t.fire("canvas.init", { svg: r, viewport: i }), this.resized() }, this), t.on("diagram.destroy", 500, this._destroy, this), t.on("diagram.clear", 500, this._clear, this) }, s.prototype._destroy = function(e) { this._eventBus.fire("canvas.destroy", { svg: this._svg, viewport: this._viewport }); var t = this._container.parentNode; t && t.removeChild(this._container), delete this._svg, delete this._container, delete this._layers, delete this._rootElement, delete this._viewport }, s.prototype._clear = function() { var e = this, t = this._elementRegistry.getAll(); t.forEach(function(t) { var n = m.getType(t); "root" === n ? e.setRootElement(null, !0) : e._removeElement(t, n) }), delete this._cachedViewbox }, s.prototype.getDefaultLayer = function() { return this.getLayer(g) }, s.prototype.getLayer = function(e) { if (!e) throw new Error("must specify a name"); var t = this._layers[e]; return t || (t = this._layers[e] = a(this._viewport, "layer-" + e)), t }, s.prototype.getContainer = function() { return this._container }, s.prototype._updateMarker = function(e, t, n) { var r; e.id || (e = this._elementRegistry.get(e)), r = this._elementRegistry._elements[e.id], r && (p([r.gfx, r.secondaryGfx], function(e) { e && e[n ? "addClass": "removeClass"](t) }), this._eventBus.fire("element.marker.update", { element: e, gfx: r.gfx, marker: t, add: !!n })) }, s.prototype.addMarker = function(e, t) { this._updateMarker(e, t, !0) }, s.prototype.removeMarker = function(e, t) { this._updateMarker(e, t, !1) }, s.prototype.hasMarker = function(e, t) { e.id || (e = this._elementRegistry.get(e)); var n = this.getGraphics(e); return n && n.hasClass(t) }, s.prototype.toggleMarker = function(e, t) { this.hasMarker(e, t) ? this.removeMarker(e, t) : this.addMarker(e, t) }, s.prototype.getRootElement = function() { return this._rootElement || this.setRootElement({ id: "__implicitroot", children: [] }), this._rootElement }, s.prototype.setRootElement = function(e, t) { e && this._ensureValid("root", e); var n = this._rootElement, r = this._elementRegistry, i = this._eventBus; if (n) { if (!t) throw new Error("rootElement already set, need to specify override"); i.fire("root.remove", { element: n }), i.fire("root.removed", { element: n }), r.remove(n) } if (e) { var o = this.getDefaultLayer(); i.fire("root.add", { element: e }), r.add(e, o, this._svg), i.fire("root.added", { element: e, gfx: o }) } return this._rootElement = e, e }, s.prototype._ensureValid = function(e, t) { if (!t.id) throw new Error("element must have an id"); if (this._elementRegistry.get(t.id)) throw new Error("element with id " + t.id + " already exists"); var n = v[e], r = f(n, function(e) { return "undefined" != typeof t[e] }); if (!r) throw new Error("must supply { " + n.join(", ") + " } with " + e) }, s.prototype._setParent = function(e, t, n) { d.add(t.children, e, n), e.parent = t }, s.prototype._addElement = function(e, t, n, r) { n = n || this.getRootElement(); var i = this._eventBus, o = this._graphicsFactory; this._ensureValid(e, t), i.fire(e + ".add", { element: t, parent: n }), this._setParent(t, n, r); var a = o.create(e, t); return this._elementRegistry.add(t, a), o.update(e, t, a), i.fire(e + ".added", { element: t, gfx: a }), t }, s.prototype.addShape = function(e, t, n) { return this._addElement("shape", e, t, n) }, s.prototype.addConnection = function(e, t, n) { return this._addElement("connection", e, t, n) }, s.prototype._removeElement = function(e, t) { var n = this._elementRegistry, r = this._graphicsFactory, i = this._eventBus; if (e = n.get(e.id || e)) return i.fire(t + ".remove", { element: e }), r.remove(e), d.remove(e.parent && e.parent.children, e), e.parent = null, i.fire(t + ".removed", { element: e }), n.remove(e), e }, s.prototype.removeShape = function(e) { return this._removeElement(e, "shape") }, s.prototype.removeConnection = function(e) { return this._removeElement(e, "connection") }, s.prototype.getGraphics = function(e, t) { return this._elementRegistry.getGraphics(e, t) }, s.prototype._changeViewbox = function(e) { this._eventBus.fire("canvas.viewbox.changing"), e.apply(this), this._cachedViewbox = null, this._viewboxChanged() }, s.prototype._viewboxChanged = function() { this._eventBus.fire("canvas.viewbox.changed", { viewbox: this.viewbox() }) }, s.prototype.viewbox = function(e) { if (void 0 === e && this._cachedViewbox) return this._cachedViewbox; var t, n, i, o, a, s = this._viewport, c = this.getSize(); return e ? (this._changeViewbox(function() { i = Math.min(c.width / e.width, c.height / e.height), n = (new y.Matrix).scale(i).translate( - e.x, -e.y), s.transform(n) }), e) : (t = this.getDefaultLayer().getBBox(!0), n = s.transform().localMatrix, i = r(n.a, 1e3), o = r( - n.e || 0, 1e3), a = r( - n.f || 0, 1e3), e = this._cachedViewbox = { x: o ? o / i: 0, y: a ? a / i: 0, width: c.width / i, height: c.height / i, scale: i, inner: { width: t.width, height: t.height, x: t.x, y: t.y }, outer: c }) }, s.prototype.scroll = function(e) { var t = this._viewport.node, n = t.getCTM(); return e && this._changeViewbox(function() { e = u({ dx: 0, dy: 0 }, e || {}), n = this._svg.node.createSVGMatrix().translate(e.dx, e.dy).multiply(n), c(t, n) }), { x: n.e, y: n.f } }, s.prototype.zoom = function(e, t) { if (!e) return this.viewbox(e).scale; if ("fit-viewport" === e) return this._fitViewport(t); var n, i; return this._changeViewbox(function() { "object" != typeof t && (n = this.viewbox().outer, t = { x: n.width / 2, y: n.height / 2 }), i = this._setZoom(e, t) }), r(i.a, 1e3) }, s.prototype._fitViewport = function(e) { var t, n, r = this.viewbox(), i = r.outer, o = r.inner; return o.x >= 0 && o.y >= 0 && o.x + o.width <= i.width && o.y + o.height <= i.height && !e ? n = { x: 0, y: 0, width: Math.max(o.width + o.x, i.width), height: Math.max(o.height + o.y, i.height) }: (t = Math.min(1, i.width / o.width, i.height / o.height), n = { x: o.x + (e ? o.width / 2 - i.width / t / 2 : 0), y: o.y + (e ? o.height / 2 - i.height / t / 2 : 0), width: i.width / t, height: i.height / t }), this.viewbox(n), this.viewbox(!1).scale }, s.prototype._setZoom = function(e, t) { var n, r, i, o, a, s = this._svg.node, l = this._viewport.node, p = s.createSVGMatrix(), f = s.createSVGPoint(); i = l.getCTM(); var h = i.a; return t ? (n = u(f, t), r = n.matrixTransform(i.inverse()), o = p.translate(r.x, r.y).scale(1 / h * e).translate( - r.x, -r.y), a = i.multiply(o)) : a = p.scale(e), c(this._viewport.node, a), a }, s.prototype.getSize = function() { return { width: this._container.clientWidth, height: this._container.clientHeight } }, s.prototype.getAbsoluteBBox = function(e) { var t, n = this.viewbox(); if (e.waypoints) { var r = this.getGraphics(e), i = r.getBBox(!0); t = r.getBBox(), t.x -= i.x, t.y -= i.y, t.width += 2 * i.x, t.height += 2 * i.y } else t = e; var o = t.x * n.scale - n.x * n.scale, a = t.y * n.scale - n.y * n.scale, s = t.width * n.scale, c = t.height * n.scale; return { x: o, y: a, width: s, height: c } }, s.prototype.resized = function() { delete this._cachedViewbox, this._eventBus.fire("canvas.resized") } }, { 191 : 191, 197 : 197, 61 : 61, 62 : 62, 76 : 76, 80 : 80, 83 : 83, 91 : 91 }], 39 : [function(e, t, n) { "use strict"; function r() { this._uid = 12 } var i = e(60), o = e(197); t.exports = r, r.prototype.createRoot = function(e) { return this.create("root", e) }, r.prototype.createLabel = function(e) { return this.create("label", e) }, r.prototype.createShape = function(e) { return this.create("shape", e) }, r.prototype.createConnection = function(e) { return this.create("connection", e) }, r.prototype.create = function(e, t) { return t = o({}, t || {}), t.id || (t.id = e + "_" + this._uid++), i.create(e, t) } }, { 197 : 197, 60 : 60 }], 40 : [function(e, t, n) { "use strict"; function r() { this._elements = {} } var i = "data-element-id"; t.exports = r, r.prototype.add = function(e, t, n) { var r = e.id; this._validateId(r), t.attr(i, r), n && n.attr(i, r), this._elements[r] = { element: e, gfx: t, secondaryGfx: n } }, r.prototype.remove = function(e) { var t = this._elements, n = e.id || e, r = n && t[n]; r && (r.gfx.attr(i, ""), r.secondaryGfx && r.secondaryGfx.attr(i, ""), delete t[n]) }, r.prototype.updateId = function(e, t) { this._validateId(t), "string" == typeof e && (e = this.get(e)); var n = this.getGraphics(e), r = this.getGraphics(e, !0); this.remove(e), e.id = t, this.add(e, n, r) }, r.prototype.get = function(e) { var t; t = "string" == typeof e ? e: e && e.attr(i); var n = this._elements[t]; return n && n.element }, r.prototype.filter = function(e) { var t = []; return this.forEach(function(n, r) { e(n, r) && t.push(n) }), t }, r.prototype.getAll = function() { return this.filter(function(e) { return e }) }, r.prototype.forEach = function(e) { var t = this._elements; Object.keys(t).forEach(function(n) { var r = t[n], i = r.element, o = r.gfx; return e(i, o) }) }, r.prototype.getGraphics = function(e, t) { var n = e.id || e, r = this._elements[n]; return r && (t ? r.secondaryGfx: r.gfx) }, r.prototype._validateId = function(e) { if (!e) throw new Error("element must have an id"); if (this._elements[e]) throw new Error("element with id " + e + " already added") } }, {}], 41 : [function(e, t, n) { "use strict"; function r() { this._listeners = {}, this.on("diagram.destroy", 1, this._destroy, this) } function i() {} function o(e, t) { return e.apply(null, t) } var a = e(189), s = e(188), c = e(191), l = e(90), u = e(197), p = "__fn", f = 1e3, h = Array.prototype.slice; t.exports = r, r.prototype.on = function(e, t, n, r) { if (e = s(e) ? e: [e], a(t) && (r = n, n = t, t = f), !c(t)) throw new Error("priority must be a number"); var i = n; r && (i = l(n, r), i[p] = n[p] || n); var o = this, u = { priority: t, callback: i }; e.forEach(function(e) { o._addListener(e, u) }) }, r.prototype.once = function(e, t, n, r) { function i() { return o.off(e, i), n.apply(r, arguments) } var o = this; if (a(t) && (r = n, n = t, t = f), !c(t)) throw new Error("priority must be a number"); i[p] = n, this.on(e, t, i) }, r.prototype.off = function(e, t) { var n, r, i, o = this._getListeners(e); if (t) for (i = o.length - 1; n = o[i]; i--) r = n.callback, r !== t && r[p] !== t || o.splice(i, 1); else o.length = 0 }, r.prototype.fire = function(e, t) { var n, r, o, a; if (a = h.call(arguments), "object" == typeof e && (n = e, e = n.type), !e) throw new Error("no event type specified"); if (r = this._listeners[e]) { t instanceof i ? n = t: (n = new i, n.init(t)), a[0] = n; var s = n.type; e !== s && (n.type = e); try { o = this._invokeListeners(n, a, r) } finally { e !== s && (n.type = s) } return void 0 === o && n.defaultPrevented && (o = !1), o } }, r.prototype.handleError = function(e) { return this.fire("error", { error: e }) === !1 }, r.prototype._destroy = function() { this._listeners = {} }, r.prototype._invokeListeners = function(e, t, n) { var r, i, o; for (r = 0; (i = n[r]) && !e.cancelBubble; r++) o = this._invokeListener(e, t, i); return o }, r.prototype._invokeListener = function(e, t, n) { var r; try { r = o(n.callback, t), void 0 !== r && (e.returnValue = r, e.stopPropagation()), r === !1 && e.preventDefault() } catch(e) { if (!this.handleError(e)) throw console.error("unhandled error in event listener"), console.error(e.stack), e } return r }, r.prototype._addListener = function(e, t) { var n, r, i = this._getListeners(e); for (r = 0; n = i[r]; r++) if (n.priority < t.priority) return void i.splice(r, 0, t); i.push(t) }, r.prototype._getListeners = function(e) { var t = this._listeners[e]; return t || (this._listeners[e] = t = []), t }, t.exports.Event = i, i.prototype.stopPropagation = function() { this.cancelBubble = !0 }, i.prototype.preventDefault = function() { this.defaultPrevented = !0 }, i.prototype.init = function(e) { u(this, e || {}) } }, { 188 : 188, 189 : 189, 191 : 191, 197 : 197, 90 : 90 }], 42 : [function(e, t, n) { "use strict"; function r(e, t) { this._eventBus = e, this._elementRegistry = t } var i = e(83), o = e(87), a = e(64), s = e(210); r.$inject = ["eventBus", "elementRegistry"], t.exports = r, r.prototype._getChildren = function(e) { var t, n = this._elementRegistry.getGraphics(e); return e.parent ? (t = a.getChildren(n), t || (t = n.parent().group().attr("class", "djs-children"))) : t = n, t }, r.prototype._clear = function(e) { var t = a.getVisual(e); return s(t.node), t }, r.prototype._createContainer = function(e, t) { var n = t.group().attr("class", "djs-group"), r = n.group().attr("class", "djs-element djs-" + e); return r.group().attr("class", "djs-visual"), r }, r.prototype.create = function(e, t) { var n = this._getChildren(t.parent); return this._createContainer(e, n) }, r.prototype.updateContainments = function(e) { var t, n = this, r = this._elementRegistry; t = o(e, function(e, t) { return t.parent && (e[t.parent.id] = t.parent), e }, {}), i(t, function(e) { var t = n._getChildren(e), o = e.children; o && i(o.slice().reverse(), function(e) { var n = r.getGraphics(e); n.parent().prependTo(t) }) }) }, r.prototype.drawShape = function(e, t) { var n = this._eventBus; return n.fire("render.shape", { gfx: e, element: t }) }, r.prototype.getShapePath = function(e) { var t = this._eventBus; return t.fire("render.getShapePath", e) }, r.prototype.drawConnection = function(e, t) { var n = this._eventBus; return n.fire("render.connection", { gfx: e, element: t }) }, r.prototype.getConnectionPath = function(e) { var t = this._eventBus; return t.fire("render.getConnectionPath", e) }, r.prototype.update = function(e, t, n) { if (t.parent) { var r = this._clear(n); if ("shape" === e) this.drawShape(r, t), n.translate(t.x, t.y); else { if ("connection" !== e) throw new Error("unknown type: " + e); this.drawConnection(r, t) } n.attr("display", t.hidden ? "none": "block") } }, r.prototype.remove = function(e) { var t = this._elementRegistry.getGraphics(e); t.parent().remove() } }, { 210 : 210, 64 : 64, 83 : 83, 87 : 87 }], 43 : [function(e, t, n) { t.exports = { __depends__: [e(47)], __init__: ["canvas"], canvas: ["type", e(38)], elementRegistry: ["type", e(40)], elementFactory: ["type", e(39)], eventBus: ["type", e(41)], graphicsFactory: ["type", e(42)] } }, { 38 : 38, 39 : 39, 40 : 40, 41 : 41, 42 : 42, 47 : 47 }], 44 : [function(e, t, n) { "use strict"; function r(e, t) { var n = this; t = t || i, e.on(["render.shape", "render.connection"], t, function(e, t) { var r = e.type, i = t.element, o = t.gfx; if (n.canRender(i)) return "render.shape" === r ? n.drawShape(o, i) : n.drawConnection(o, i) }), e.on(["render.getShapePath", "render.getConnectionPath"], t, function(e, t) { if (n.canRender(t)) return "render.getShapePath" === e.type ? n.getShapePath(t) : n.getConnectionPath(t) }) } var i = 1e3; r.prototype.canRender = function() {}, r.prototype.drawShape = function() {}, r.prototype.drawConnection = function() {}, r.prototype.getShapePath = function() {}, r.prototype.getConnectionPath = function() {}, t.exports = r }, {}], 45 : [function(e, t, n) { "use strict"; function r(e, t) { o.call(this, e, l), this.CONNECTION_STYLE = t.style(["no-fill"], { strokeWidth: 5, stroke: "fuchsia" }), this.SHAPE_STYLE = t.style({ fill: "white", stroke: "fuchsia", strokeWidth: 2 }) } var i = e(77), o = e(44), a = e(68), s = a.componentsToPath, c = a.createLine, l = 1; i(r, o), r.prototype.canRender = function() { return ! 0 }, r.prototype.drawShape = function(e, t) { return e.rect(0, 0, t.width || 0, t.height || 0).attr(this.SHAPE_STYLE) }, r.prototype.drawConnection = function(e, t) { return c(t.waypoints, this.CONNECTION_STYLE).appendTo(e) }, r.prototype.getShapePath = function(e) { var t = e.x, n = e.y, r = e.width, i = e.height, o = [["M", t, n], ["l", r, 0], ["l", 0, i], ["l", -r, 0], ["z"]]; return s(o) }, r.prototype.getConnectionPath = function(e) { var t, n, r = e.waypoints, i = []; for (t = 0; n = r[t]; t++) n = n.original || n, i.push([0 === t ? "M": "L", n.x, n.y]); return s(i) }, r.$inject = ["eventBus", "styles"], t.exports = r }, { 44 : 44, 68 : 68, 77 : 77 }], 46 : [function(e, t, n) { "use strict"; function r() { var e = { "no-fill": { fill: "none" }, "no-border": { strokeOpacity: 0 }, "no-events": { pointerEvents: "none" } }, t = this; this.cls = function(e, t, n) { var r = this.style(t, n); return o(r, { class: e }) }, this.style = function(t, n) { i(t) || n || (n = t, t = []); var r = a(t, function(t, n) { return o(t, e[n] || {}) }, {}); return n ? o(r, n) : r }, this.computeStyle = function(e, n, r) { return i(n) || (r = n, n = []), t.style(n || [], o({}, r, e || {})) } } var i = e(188), o = e(197), a = e(87); t.exports = r }, { 188 : 188, 197 : 197, 87 : 87 }], 47 : [function(e, t, n) { t.exports = { __init__: ["defaultRenderer"], defaultRenderer: ["type", e(45)], styles: ["type", e(46)] } }, { 45 : 45, 46 : 46 }], 48 : [function(e, t, n) { "use strict"; function r(e, t, n) { function r(n, r, i) { if (a(r)) { var o, c, l; i ? c = t.getGraphics(i) : (o = r.delegateTarget || r.target, o && (c = new s(o), i = t.get(c))), c && i && (l = e.fire(n, { element: i, gfx: c, originalEvent: r }), l === !1 && (r.stopPropagation(), r.preventDefault())) } } function c(e) { var t = v[e]; return t || (t = v[e] = function(t) { r(e, t) }), t } function f(e, t, n) { var i = x[e]; if (!i) throw new Error("unmapped DOM event name <" + e + ">"); return r(i, t, n) } function h(e, t, n) { var r = c(n); r.$delegate = o.bind(e, b, t, r) } function d(e, t, n) { o.unbind(e, t, c(n).$delegate) } function m(e) { i(x, function(t, n) { h(e.node, n, t) }) } function y(e) { i(x, function(t, n) { d(e.node, n, t) }) } var g = n.cls("djs-hit", ["no-fill", "no-border"], { stroke: "white", strokeWidth: 15 }), v = {}, x = { mouseover: "element.hover", mouseout: "element.out", click: "element.click", dblclick: "element.dblclick", mousedown: "element.mousedown", mouseup: "element.mouseup" }, b = "svg, .djs-element"; e.on("canvas.destroy", function(e) { y(e.svg) }), e.on("canvas.init", function(e) { m(e.svg) }), e.on(["shape.added", "connection.added"], function(e) { var t, n = e.element, r = e.gfx; t = n.waypoints ? l(n.waypoints) : s.create("rect", { x: 0, y: 0, width: n.width, height: n.height }), t.attr(g).appendTo(r.node) }), e.on("shape.changed", p, function(e) { var t = e.element, n = e.gfx, r = n.select(".djs-hit"); r.attr({ width: t.width, height: t.height }) }), e.on("connection.changed", function(e) { var t = e.element, n = e.gfx, r = n.select(".djs-hit"); u(r, t.waypoints) }), this.fire = r, this.triggerMouseEvent = f, this.mouseHandler = c, this.registerEvent = h, this.unregisterEvent = d } var i = e(83), o = e(211), a = e(66).isPrimaryButton, s = e(76), c = e(68), l = c.createLine, u = c.updateLine, p = 500; r.$inject = ["eventBus", "elementRegistry", "styles"], t.exports = r }, { 211 : 211, 66 : 66, 68 : 68, 76 : 76, 83 : 83 }], 49 : [function(e, t, n) { t.exports = { __init__: ["interactionEvents"], interactionEvents: ["type", e(48)] } }, { 48 : 48 }], 50 : [function(e, t, n) { "use strict"; function r(e, t, n) { function r(e, t) { return e.rect(10, 10, 0, 0).attr(i) } this.offset = 6; var i = t.cls("djs-outline", ["no-fill"]), a = this; e.on(["shape.added", "shape.changed"], o, function(e) { var t = e.element, n = e.gfx, i = n.select(".djs-outline"); i || (i = r(n, t)), a.updateShapeOutline(i, t) }), e.on(["connection.added", "connection.changed"], function(e) { var t = e.element, n = e.gfx, i = n.select(".djs-outline"); i || (i = r(n, t)), a.updateConnectionOutline(i, t) }) } var i = e(62).getBBox, o = 500; r.prototype.updateShapeOutline = function(e, t) { e.attr({ x: -this.offset, y: -this.offset, width: t.width + 2 * this.offset, height: t.height + 2 * this.offset }) }, r.prototype.updateConnectionOutline = function(e, t) { var n = i(t); e.attr({ x: n.x - this.offset, y: n.y - this.offset, width: n.width + 2 * this.offset, height: n.height + 2 * this.offset }) }, r.$inject = ["eventBus", "styles", "elementRegistry"], t.exports = r }, { 62 : 62 }], 51 : [function(e, t, n) { "use strict"; t.exports = { __init__: ["outline"], outline: ["type", e(50)] } }, { 50 : 50 }], 52 : [function(e, t, n) { "use strict"; function r(e) { var t = d('
'); return e.insertBefore(t, e.firstChild), t } function i(e, t, n) { u(e.style, { left: t + "px", top: n + "px" }) } function o(e, t) { e.style.display = t === !1 ? "none": "" } function a(e, t, n) { this._eventBus = e, this._canvas = t, this._elementRegistry = n, this._ids = b, this._overlayDefaults = { show: { minZoom: .7, maxZoom: 5 } }, this._overlays = {}, this._overlayContainers = [], this._overlayRoot = r(t.getContainer()), this._init() } var s = e(188), c = e(194), l = e(192), u = e(197), p = e(83), f = e(82), h = e(81), d = e(212), m = e(209), y = e(208), g = e(215), v = e(210), x = e(62).getBBox, b = new(e(65))("ov"); a.$inject = ["eventBus", "canvas", "elementRegistry"], t.exports = a, a.prototype.get = function(e) { if (c(e) && (e = { id: e }), c(e.element) && (e.element = this._elementRegistry.get(e.element)), e.element) { var t = this._getOverlayContainer(e.element, !0); return t ? e.type ? h(t.overlays, { type: e.type }) : t.overlays.slice() : [] } return e.type ? h(this._overlays, { type: e.type }) : e.id ? this._overlays[e.id] : null }, a.prototype.add = function(e, t, n) { if (l(t) && (n = t, t = null), e.id || (e = this._elementRegistry.get(e)), !n.position) throw new Error("must specifiy overlay position"); if (!n.html) throw new Error("must specifiy overlay html"); if (!e) throw new Error("invalid element specified"); var r = this._ids.next(); return n = u({}, this._overlayDefaults, n, { id: r, type: t, element: e, html: n.html }), this._addOverlay(n), r }, a.prototype.remove = function(e) { var t = this.get(e) || []; s(t) || (t = [t]); var n = this; p(t, function(e) { var t = n._getOverlayContainer(e.element, !0); if (e && (g(e.html), g(e.htmlContainer), delete e.htmlContainer, delete e.element, delete n._overlays[e.id]), t) { var r = t.overlays.indexOf(e); r !== -1 && t.overlays.splice(r, 1) } }) }, a.prototype.show = function() { o(this._overlayRoot) }, a.prototype.hide = function() { o(this._overlayRoot, !1) }, a.prototype.clear = function() { this._overlays = {}, this._overlayContainers = [], v(this._overlayRoot) }, a.prototype._updateOverlayContainer = function(e) { var t = e.element, n = e.html, r = t.x, o = t.y; if (t.waypoints) { var a = x(t); r = a.x, o = a.y } i(n, r, o), y(e.html, "data-container-id", t.id) }, a.prototype._updateOverlay = function(e) { var t = e.position, n = e.htmlContainer, r = e.element, o = t.left, a = t.top; if (void 0 !== t.right) { var s; s = r.waypoints ? x(r).width: r.width, o = t.right * -1 + s } if (void 0 !== t.bottom) { var c; c = r.waypoints ? x(r).height: r.height, a = t.bottom * -1 + c } i(n, o || 0, a || 0) }, a.prototype._createOverlayContainer = function(e) { var t = d('
'); this._overlayRoot.appendChild(t); var n = { html: t, element: e, overlays: [] }; return this._updateOverlayContainer(n), this._overlayContainers.push(n), n }, a.prototype._updateRoot = function(e) { var t = e.scale || 1, n = e.scale || 1, r = "matrix(" + t + ",0,0," + n + "," + -1 * e.x * t + "," + -1 * e.y * n + ")"; this._overlayRoot.style.transform = r, this._overlayRoot.style["-ms-transform"] = r, this._overlayRoot.style["-webkit-transform"] = r }, a.prototype._getOverlayContainer = function(e, t) { var n = f(this._overlayContainers, function(t) { return t.element === e }); return n || t ? n: this._createOverlayContainer(e) }, a.prototype._addOverlay = function(e) { var t, n, r = e.id, i = e.element, o = e.html; o.get && (o = o.get(0)), c(o) && (o = d(o)), n = this._getOverlayContainer(i), t = d('
'), t.appendChild(o), e.type && m(t).add("djs-overlay-" + e.type), e.htmlContainer = t, n.overlays.push(e), n.html.appendChild(t), this._overlays[r] = e, this._updateOverlay(e), this._updateOverlayVisibilty(e, this._canvas.viewbox()) }, a.prototype._updateOverlayVisibilty = function(e, t) { var n = e.show, r = e.htmlContainer, i = !0; n && ((n.minZoom > t.scale || n.maxZoom < t.scale) && (i = !1), o(r, i)) }, a.prototype._updateOverlaysVisibilty = function(e) { var t = this; p(this._overlays, function(n) { t._updateOverlayVisibilty(n, e) }) }, a.prototype._init = function() { function e(e) { n._updateRoot(e), n._updateOverlaysVisibilty(e), n.show() } var t = this._eventBus, n = this; t.on("canvas.viewbox.changing", function(e) { n.hide() }), t.on("canvas.viewbox.changed", function(t) { e(t.viewbox) }), t.on(["shape.remove", "connection.remove"], function(e) { var t = e.element, r = n.get({ element: t }); p(r, function(e) { n.remove(e.id) }); var i = n._getOverlayContainer(t); if (i) { g(i.html); var o = n._overlayContainers.indexOf(i); o !== -1 && n._overlayContainers.splice(o, 1) } }), t.on(["element.changed"], function(e) { var t = e.element, r = n._getOverlayContainer(t, !0); r && (p(r.overlays, function(e) { n._updateOverlay(e) }), n._updateOverlayContainer(r)) }), t.on("element.marker.update", function(e) { var t = n._getOverlayContainer(e.element, !0); t && m(t.html)[e.add ? "add": "remove"](e.marker) }), t.on("diagram.clear", this.clear, this) } }, { 188 : 188, 192 : 192, 194 : 194, 197 : 197, 208 : 208, 209 : 209, 210 : 210, 212 : 212, 215 : 215, 62 : 62, 65 : 65, 81 : 81, 82 : 82, 83 : 83 }], 53 : [function(e, t, n) { t.exports = { __init__: ["overlays"], overlays: ["type", e(52)] } }, { 52 : 52 }], 54 : [function(e, t, n) { "use strict"; function r(e) { this._eventBus = e, this._selectedElements = []; var t = this; e.on(["shape.remove", "connection.remove"], function(e) { var n = e.element; t.deselect(n) }), e.on(["diagram.clear"], function(e) { t.select(null) }) } var i = e(188), o = e(83); r.$inject = ["eventBus"], t.exports = r, r.prototype.deselect = function(e) { var t = this._selectedElements, n = t.indexOf(e); if (n !== -1) { var r = t.slice(); t.splice(n, 1), this._eventBus.fire("selection.changed", { oldSelection: r, newSelection: t }) } }, r.prototype.get = function() { return this._selectedElements }, r.prototype.isSelected = function(e) { return this._selectedElements.indexOf(e) !== -1 }, r.prototype.select = function(e, t) { var n = this._selectedElements, r = n.slice(); i(e) || (e = e ? [e] : []), t ? o(e, function(e) { n.indexOf(e) === -1 && n.push(e) }) : this._selectedElements = n = e.slice(), this._eventBus.fire("selection.changed", { oldSelection: r, newSelection: n }) } }, { 188 : 188, 83 : 83 }], 55 : [function(e, t, n) { "use strict"; function r(e, t, n, r) { e.on("create.end", 500, function(e) { e.context.canExecute && t.select(e.context.shape) }), e.on("connect.end", 500, function(e) { e.context.canExecute && e.context.target && t.select(e.context.target) }), e.on("shape.move.end", 500, function(e) { var n = e.previousSelection || [], i = r.get(e.context.shape.id), a = o(n, function(e) { return i.id === e.id }); a || t.select(i) }), e.on("element.click", function(e) { var r = e.element; r === n.getRootElement() && (r = null); var o = t.isSelected(r), a = t.get().length > 1, s = i(e); return o && a ? s ? t.deselect(r) : t.select(r) : void(o ? t.deselect(r) : t.select(r, s)) }) } var i = e(66).hasPrimaryModifier, o = e(82); r.$inject = ["eventBus", "selection", "canvas", "elementRegistry"], t.exports = r }, { 66 : 66, 82 : 82 }], 56 : [function(e, t, n) { "use strict"; function r(e, t, n, r, s) { function c(e, n) { t.addMarker(e, n) } function l(e, n) { t.removeMarker(e, n) } this._multiSelectionBox = null, e.on("element.hover", function(e) { c(e.element, o) }), e.on("element.out", function(e) { l(e.element, o) }), e.on("selection.changed", function(e) { function t(e) { l(e, a) } function n(e) { c(e, a) } var r = e.oldSelection, o = e.newSelection; i(r, function(e) { o.indexOf(e) === -1 && t(e) }), i(o, function(e) { r.indexOf(e) === -1 && n(e) }) }) } var i = e(83), o = "hover", a = "selected"; r.$inject = ["eventBus", "canvas", "selection", "graphicsFactory", "styles"], t.exports = r }, { 83 : 83 }], 57 : [function(e, t, n) { t.exports = { __init__: ["selectionVisuals", "selectionBehavior"], __depends__: [e(49), e(51)], selection: ["type", e(54)], selectionVisuals: ["type", e(56)], selectionBehavior: ["type", e(55)] } }, { 49 : 49, 51 : 51, 54 : 54, 55 : 55, 56 : 56 }], 58 : [function(e, t, n) { t.exports = { translate: ["value", e(59)] } }, { 59 : 59 }], 59 : [function(e, t, n) { "use strict"; t.exports = function(e, t) { return t = t || {}, e.replace(/{([^}]+)}/g, function(e, n) { return t[n] || "{" + n + "}" }) } }, {}], 60 : [function(e, t, n) { "use strict"; function r() { Object.defineProperty(this, "businessObject", { writable: !0 }), p.bind(this, "parent"), f.bind(this, "label"), d.bind(this, "outgoing"), m.bind(this, "incoming") } function i() { r.call(this), p.bind(this, "children"), h.bind(this, "host"), h.bind(this, "attachers") } function o() { i.call(this) } function a() { i.call(this), f.bind(this, "labelTarget") } function s() { r.call(this), d.bind(this, "source"), m.bind(this, "target") } var c = e(197), l = e(77), u = e(224), p = new u({ name: "children", enumerable: !0, collection: !0 }, { name: "parent" }), f = new u({ name: "label", enumerable: !0 }, { name: "labelTarget" }), h = new u({ name: "attachers", collection: !0 }, { name: "host" }), d = new u({ name: "outgoing", collection: !0 }, { name: "source" }), m = new u({ name: "incoming", collection: !0 }, { name: "target" }); l(i, r), l(o, i), l(a, i), l(s, r); var y = { connection: s, shape: i, label: a, root: o }; t.exports.create = function(e, t) { var n = y[e]; if (!n) throw new Error("unknown type: <" + e + ">"); return c(new n, t) }, t.exports.Base = r, t.exports.Root = o, t.exports.Shape = i, t.exports.Connection = s, t.exports.Label = a }, { 197 : 197, 224 : 224, 77 : 77 }], 61 : [function(e, t, n) { "use strict"; t.exports.remove = function(e, t) { if (!e || !t) return - 1; var n = e.indexOf(t); return n !== -1 && e.splice(n, 1), n }, t.exports.add = function(e, t, n) { if (e && t) { "number" != typeof n && (n = -1); var r = e.indexOf(t); if (r !== -1) { if (r === n) return; if (n === -1) return; e.splice(r, 1) } n !== -1 ? e.splice(n, 0, t) : e.push(t) } }, t.exports.indexOf = function(e, t) { return e && t ? e.indexOf(t) : -1 } }, {}], 62 : [function(e, t, n) { "use strict"; function r(e, t, n) { var r = !n || e.indexOf(t) === -1; return r && e.push(t), r } function i(e, t, n) { n = n || 0, f(e) || (e = [e]), m(e, function(e, r) { var o = t(e, r, n); f(o) && o.length && i(o, t, n + 1) }) } function o(e, t, n) { var o = [], a = []; return i(e, function(e, i, s) { r(o, e, t); var c = e.children; if ((n === -1 || s < n) && c && r(a, c, t)) return c }), o } function a(e, t) { return o(e, !t, 1) } function s(e, t) { return o(e, !t, -1) } function c(e) { function t(e) { r[e.source.id] && r[e.target.id] && (r[e.id] = e), o[e.source.id] && o[e.target.id] && (c[e.id] = s[e.id] = e), a[e.id] = e } function n(e) { return s[e.id] = e, e.waypoints ? void(c[e.id] = a[e.id] = e) : (o[e.id] = e, m(e.incoming, t), m(e.outgoing, t), e.children) } var r = d(e, function(e) { return e.id }), o = {}, a = {}, s = {}, c = {}; return i(e, n), { allShapes: o, allConnections: a, topLevel: r, enclosedConnections: c, enclosedElements: s } } function l(e, t) { t = !!t, f(e) || (e = [e]); var n, r, i, o; return m(e, function(e) { var a = e; e.waypoints && !t && (a = l(e.waypoints, !0)); var s = a.x, c = a.y, u = a.height || 0, p = a.width || 0; (s < n || void 0 === n) && (n = s), (c < r || void 0 === r) && (r = c), (s + p > i || void 0 === i) && (i = s + p), (c + u > o || void 0 === o) && (o = c + u) }), { x: n, y: r, height: o - r, width: i - n } } function u(e, t) { var n = {}; return m(e, function(e) { var r = e; r.waypoints && (r = l(r)), !h(t.y) && r.x > t.x && (n[e.id] = e), !h(t.x) && r.y > t.y && (n[e.id] = e), r.x > t.x && r.y > t.y && (h(t.width) && h(t.height) && r.width + r.x < t.width + t.x && r.height + r.y < t.height + t.y ? n[e.id] = e: h(t.width) && h(t.height) || (n[e.id] = e)) }), n } function p(e) { return "waypoints" in e ? "connection": "x" in e ? "shape": "root" } var f = e(188), h = e(191), d = e(84), m = e(83); t.exports.add = r, t.exports.eachElement = i, t.exports.selfAndDirectChildren = a, t.exports.selfAndAllChildren = s, t.exports.getBBox = l, t.exports.getEnclosedElements = u, t.exports.getClosure = c, t.exports.getType = p }, { 188 : 188, 191 : 191, 83 : 83, 84 : 84 }], 63 : [function(e, t, n) { "use strict"; function r(e) { return e && e.preventDefault() } function i(e, t) { e && (e.stopPropagation && e.stopPropagation(), t && e.stopImmediatePropagation && e.stopImmediatePropagation()) } function o(e) { return e.originalEvent || e.srcEvent } function a(e, t) { c(e, t), s(e) } function s(e) { r(e), r(o(e)) } function c(e, t) { i(e, t), i(o(e), t) } function l(e) { return e.pointers && e.pointers.length && (e = e.pointers[0]), e.touches && e.touches.length && (e = e.touches[0]), e ? { x: e.clientX, y: e.clientY }: null } t.exports.getOriginal = o, t.exports.stopEvent = a, t.exports.preventDefault = s, t.exports.stopPropagation = c, t.exports.toPoint = l }, {}], 64 : [function(e, t, n) { "use strict"; function r(e) { return e.select(".djs-visual") } function i(e) { return e.parent().children()[1] } function o(e) { return r(e).select("*").getBBox() } t.exports.getVisual = r, t.exports.getChildren = i, t.exports.getBBox = o }, {}], 65 : [function(e, t, n) { "use strict"; function r(e) { this._counter = 0, this._prefix = (e ? e + "-": "") + Math.floor(1e9 * Math.random()) + "-" } t.exports = r, r.prototype.next = function() { return this._prefix + ++this._counter } }, {}], 66 : [function(e, t, n) { "use strict"; function r(e) { return ! (i(e) || e).button } var i = e(63).getOriginal, o = e(67).isMac; t.exports.isPrimaryButton = r, t.exports.isMac = o, t.exports.hasPrimaryModifier = function(e) { var t = i(e) || e; return !! r(e) && (o() ? t.metaKey: t.ctrlKey) }, t.exports.hasSecondaryModifier = function(e) { var t = i(e) || e; return r(e) && t.shiftKey } }, { 63 : 63, 67 : 67 }], 67 : [function(e, t, n) { "use strict"; t.exports.isMac = function() { return /mac/i.test(navigator.platform) } }, {}], 68 : [function(e, t, n) { "use strict"; function r(e) { for (var t, n = "", r = 0; t = e[r]; r++) n += t.x + "," + t.y + " "; return n } var i = e(76); t.exports.componentsToPath = function(e) { return e.join(",").replace(/,?([A-z]),?/g, "$1") }, t.exports.toSVGPoints = r, t.exports.createLine = function(e, t) { return i.create("polyline", { points: r(e) }).attr(t || {}) }, t.exports.updateLine = function(e, t) { return e.attr({ points: r(t) }) } }, { 76 : 76 }], 69 : [function(e, t, n) { "use strict"; function r(e) { var t = e.split("-"); return { horizontal: t[0] || "center", vertical: t[1] || "top" } } function i(e) { return p(e) ? f({ top: 0, left: 0, right: 0, bottom: 0 }, e) : { top: e, left: e, right: e, bottom: e } } function o(e, t) { return t.textContent = e, h(t.getBBox(), ["width", "height"]) } function a(e, t, n) { for (var r, i = e.shift(), a = i;;) { if (r = o(a, n), r.width = a ? r.width: 0, " " === a || "" === a || r.width < Math.round(t) || a.length < 4) return s(e, a, i, r); a = l(a, r.width, t) } } function s(e, t, n, r) { if (t.length < n.length) { var i = e[0] || "", o = n.slice(t.length).trim(); i = /-\s*$/.test(o) ? o + i.replace(/^\s+/, "") : o + " " + i, e[0] = i } return { width: r.width, height: r.height, text: t } } function c(e, t) { var n, r = e.split(/(\s|-)/g), i = [], o = 0; if (r.length > 1) for (; n = r.shift();) { if (! (n.length + o < t)) { "-" === n && i.pop(); break } i.push(n), o += n.length } return i.join("") } function l(e, t, n) { var r = Math.max(e.length * (n / t), 1), i = c(e, r); return i || (i = e.slice(0, Math.max(Math.round(r - 1), 1))), i } function u(e) { this._config = f({}, { size: x, padding: v, style: {}, align: "center-top" }, e || {}) } var p = e(192), f = e(197), h = e(203), d = e(83), m = e(87), y = e(200), g = e(76), v = 0, x = { width: 150, height: 50 }; u.prototype.createText = function(e, t, n) { for (var o = y({}, this._config.size, n.box || {}), s = y({}, this._config.style, n.style || {}), c = r(n.align || this._config.align), l = i(void 0 !== n.padding ? n.padding: this._config.padding), u = t.split(/\r?\n/g), p = [], f = o.width - l.left - l.right, h = e.paper.text(0, 0, "").attr(s).node; u.length;) p.push(a(u, f, h)); var v, x, b = m(p, function(e, t, n) { return e + t.height }, 0); switch (c.vertical) { case "middle": v = (o.height - b) / 2 - p[0].height / 4; break; default: v = l.top } var E = e.text().attr(s); return d(p, function(e) { switch (v += e.height, c.horizontal) { case "left": x = l.left; break; case "right": x = f - l.right - e.width; break; default: x = Math.max((f - e.width) / 2 + l.left, 0) } var t = g.create("tspan", { x: x, y: v }).node; t.textContent = e.text, E.append(t) }), h.parentNode.removeChild(h), E }, t.exports = u }, { 192 : 192, 197 : 197, 200 : 200, 203 : 203, 76 : 76, 83 : 83, 87 : 87 }], 70 : [function(e, t, n) { var r = function(e) { return "[object Array]" === Object.prototype.toString.call(e) }, i = function() { var e = Array.prototype.slice.call(arguments); 1 === e.length && r(e[0]) && (e = e[0]); var t = e.pop(); return t.$inject = e, t }, o = /^function\s*[^\(]*\(\s*([^\)]*)\)/m, a = /\/\*([^\*]*)\*\//m, s = function(e) { if ("function" != typeof e) throw new Error('Cannot annotate "' + e + '". Expected a function!'); var t = e.toString().match(o); return t[1] && t[1].split(",").map(function(e) { return t = e.match(a), t ? t[1].trim() : e.trim() }) || [] }; n.annotate = i, n.parse = s, n.isArray = r }, {}], 71 : [function(e, t, n) { t.exports = { annotate: e(70).annotate, Module: e(73), Injector: e(72) } }, { 70 : 70, 72 : 72, 73 : 73 }], 72 : [function(e, t, n) { var r = e(73), i = e(70).parse, o = e(70).annotate, a = e(70).isArray, s = function(e, t) { t = t || { get: function(e, t) { if (n.push(e), t === !1) return null; throw p('No provider for "' + e + '"!') } }; var n = [], c = this._providers = Object.create(t._providers || null), l = this._instances = Object.create(null), u = l.injector = this, p = function(e) { var t = n.join(" -> "); return n.length = 0, new Error(t ? e + " (Resolving: " + t + ")": e) }, f = function(e, r) { if (!c[e] && e.indexOf(".") !== -1) { for (var i = e.split("."), o = f(i.shift()); i.length;) o = o[i.shift()]; return o } if (Object.hasOwnProperty.call(l, e)) return l[e]; if (Object.hasOwnProperty.call(c, e)) { if (n.indexOf(e) !== -1) throw n.push(e), p("Cannot resolve circular dependency!"); return n.push(e), l[e] = c[e][0](c[e][1]), n.pop(), l[e] } return t.get(e, r) }, h = function(e) { var t = Object.create(e.prototype), n = d(e, t); return "object" == typeof n ? n: t }, d = function(e, t) { if ("function" != typeof e) { if (!a(e)) throw new Error('Cannot invoke "' + e + '". Expected a function!'); e = o(e.slice()) } var n = e.$inject && e.$inject || i(e), r = n.map(function(e) { return f(e) }); return e.apply(t, r) }, m = function(e) { return o(function(t) { return e.get(t) }) }, y = function(e, t) { if (t && t.length) { var n, r, i, o, a = Object.create(null), l = Object.create(null), p = [], f = [], h = []; for (var d in c) n = c[d], t.indexOf(d) !== -1 && ("private" === n[2] ? (r = p.indexOf(n[3]), r === -1 ? (i = n[3].createChild([], t), o = m(i), p.push(n[3]), f.push(i), h.push(o), a[d] = [o, d, "private", i]) : a[d] = [h[r], d, "private", f[r]]) : a[d] = [n[2], n[1]], l[d] = !0), "factory" !== n[2] && "type" !== n[2] || !n[1].$scope || t.forEach(function(e) { n[1].$scope.indexOf(e) !== -1 && (a[d] = [n[2], n[1]], l[e] = !0) }); t.forEach(function(e) { if (!l[e]) throw new Error('No provider for "' + e + '". Cannot use provider from the parent!') }), e.unshift(a) } return new s(e, u) }, g = { factory: d, type: h, value: function(e) { return e } }; e.forEach(function(e) { function t(e, t) { return "value" !== e && a(t) && (t = o(t.slice())), t } if (e instanceof r) e.forEach(function(e) { var n = e[0], r = e[1], i = e[2]; c[n] = [g[r], t(r, i), r] }); else if ("object" == typeof e) if (e.__exports__) { var n = Object.keys(e).reduce(function(t, n) { return "__" !== n.substring(0, 2) && (t[n] = e[n]), t }, Object.create(null)), i = new s((e.__modules__ || []).concat([n]), u), l = o(function(e) { return i.get(e) }); e.__exports__.forEach(function(e) { c[e] = [l, e, "private", i] }) } else Object.keys(e).forEach(function(n) { if ("private" === e[n][2]) return void(c[n] = e[n]); var r = e[n][0], i = e[n][1]; c[n] = [g[r], t(r, i), r] }) }), this.get = f, this.invoke = d, this.instantiate = h, this.createChild = y }; t.exports = s }, { 70 : 70, 73 : 73 }], 73 : [function(e, t, n) { var r = function() { var e = []; this.factory = function(t, n) { return e.push([t, "factory", n]), this }, this.value = function(t, n) { return e.push([t, "value", n]), this }, this.type = function(t, n) { return e.push([t, "type", n]), this }, this.forEach = function(t) { e.forEach(t) } }; t.exports = r }, {}], 74 : [function(t, n, r) { ! function(t) { var r, i, o = "0.4.2", a = "hasOwnProperty", s = /[\.\/]/, c = /\s*,\s*/, l = "*", u = function(e, t) { return e - t }, p = { n: {} }, f = function() { for (var e = 0, t = this.length; e < t; e++) if ("undefined" != typeof this[e]) return this[e] }, h = function() { for (var e = this.length; --e;) if ("undefined" != typeof this[e]) return this[e] }, d = function(e, t) { e = String(e); var n, o = i, a = Array.prototype.slice.call(arguments, 2), s = d.listeners(e), c = 0, l = [], p = {}, m = [], y = r; m.firstDefined = f, m.lastDefined = h, r = e, i = 0; for (var g = 0, v = s.length; g < v; g++)"zIndex" in s[g] && (l.push(s[g].zIndex), s[g].zIndex < 0 && (p[s[g].zIndex] = s[g])); for (l.sort(u); l[c] < 0;) if (n = p[l[c++]], m.push(n.apply(t, a)), i) return i = o, m; for (g = 0; g < v; g++) if (n = s[g], "zIndex" in n) if (n.zIndex == l[c]) { if (m.push(n.apply(t, a)), i) break; do if (c++, n = p[l[c]], n && m.push(n.apply(t, a)), i) break; while (n) } else p[n.zIndex] = n; else if (m.push(n.apply(t, a)), i) break; return i = o, r = y, m }; d._events = p, d.listeners = function(e) { var t, n, r, i, o, a, c, u, f = e.split(s), h = p, d = [h], m = []; for (i = 0, o = f.length; i < o; i++) { for (u = [], a = 0, c = d.length; a < c; a++) for (h = d[a].n, n = [h[f[i]], h[l]], r = 2; r--;) t = n[r], t && (u.push(t), m = m.concat(t.f || [])); d = u } return m }, d.on = function(e, t) { if (e = String(e), "function" != typeof t) return function() {}; for (var n = e.split(c), r = 0, i = n.length; r < i; r++) ! function(e) { for (var n, r = e.split(s), i = p, o = 0, a = r.length; o < a; o++) i = i.n, i = i.hasOwnProperty(r[o]) && i[r[o]] || (i[r[o]] = { n: {} }); for (i.f = i.f || [], o = 0, a = i.f.length; o < a; o++) if (i.f[o] == t) { n = !0; break } ! n && i.f.push(t) } (n[r]); return function(e) { + e == +e && (t.zIndex = +e) } }, d.f = function(e) { var t = [].slice.call(arguments, 1); return function() { d.apply(null, [e, null].concat(t).concat([].slice.call(arguments, 0))) } }, d.stop = function() { i = 1 }, d.nt = function(e) { return e ? new RegExp("(?:\\.|\\/|^)" + e + "(?:\\.|\\/|$)").test(r) : r }, d.nts = function() { return r.split(s) }, d.off = d.unbind = function(e, t) { if (!e) return void(d._events = p = { n: {} }); var n = e.split(c); if (n.length > 1) for (var r = 0, i = n.length; r < i; r++) d.off(n[r], t); else { n = e.split(s); var o, u, f, r, i, h, m, y = [p]; for (r = 0, i = n.length; r < i; r++) for (h = 0; h < y.length; h += f.length - 2) { if (f = [h, 1], o = y[h].n, n[r] != l) o[n[r]] && f.push(o[n[r]]); else for (u in o) o[a](u) && f.push(o[u]); y.splice.apply(y, f) } for (r = 0, i = y.length; r < i; r++) for (o = y[r]; o.n;) { if (t) { if (o.f) { for (h = 0, m = o.f.length; h < m; h++) if (o.f[h] == t) { o.f.splice(h, 1); break } ! o.f.length && delete o.f } for (u in o.n) if (o.n[a](u) && o.n[u].f) { var g = o.n[u].f; for (h = 0, m = g.length; h < m; h++) if (g[h] == t) { g.splice(h, 1); break } ! g.length && delete o.n[u].f } } else { delete o.f; for (u in o.n) o.n[a](u) && o.n[u].f && delete o.n[u].f } o = o.n } } }, d.once = function(e, t) { var n = function() { return d.unbind(e, n), t.apply(this, arguments) }; return d.on(e, n) }, d.version = o, d.toString = function() { return "You are running Eve " + o }, "undefined" != typeof n && n.exports ? n.exports = d: "function" == typeof e && e.amd ? e("eve", [], function() { return d }) : t.eve = d } (this) }, {}], 75 : [function(t, n, r) { ! function(i, o) { if ("function" == typeof e && e.amd) e(["eve"], function(e) { return o(i, e) }); else if ("undefined" != typeof r) { var a = t(74); n.exports = o(i, a) } else o(i, i.eve) } (window || this, function(e, t) { var n = function(t) { var n = {}, r = e.requestAnimationFrame || e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || e.oRequestAnimationFrame || e.msRequestAnimationFrame || function(e) { setTimeout(e, 16) }, i = Array.isArray || function(e) { return e instanceof Array || "[object Array]" == Object.prototype.toString.call(e) }, o = 0, a = "M" + ( + new Date).toString(36), s = function() { return a + (o++).toString(36) }, c = Date.now || function() { return + new Date }, l = function(e) { var t = this; if (null == e) return t.s; var n = t.s - e; t.b += t.dur * n, t.B += t.dur * n, t.s = e }, u = function(e) { var t = this; return null == e ? t.spd: void(t.spd = e) }, p = function(e) { var t = this; return null == e ? t.dur: (t.s = t.s * e / t.dur, void(t.dur = e)) }, f = function() { var e = this; delete n[e.id], e.update(), t("mina.stop." + e.id, e) }, h = function() { var e = this; e.pdif || (delete n[e.id], e.update(), e.pdif = e.get() - e.b) }, d = function() { var e = this; e.pdif && (e.b = e.get() - e.pdif, delete e.pdif, n[e.id] = e) }, m = function() { var e, t = this; if (i(t.start)) { e = []; for (var n = 0, r = t.start.length; n < r; n++) e[n] = +t.start[n] + (t.end[n] - t.start[n]) * t.easing(t.s) } else e = +t.start + (t.end - t.start) * t.easing(t.s); t.set(e) }, y = function() { var e = 0; for (var i in n) if (n.hasOwnProperty(i)) { var o = n[i], a = o.get(); e++, o.s = (a - o.b) / (o.dur / o.spd), o.s >= 1 && (delete n[i], o.s = 1, e--, function(e) { setTimeout(function() { t("mina.finish." + e.id, e) }) } (o)), o.update() } e && r(y) }, g = function(e, t, i, o, a, c, v) { var x = { id: s(), start: e, end: t, b: i, s: 0, dur: o - i, spd: 1, get: a, set: c, easing: v || g.linear, status: l, speed: u, duration: p, stop: f, pause: h, resume: d, update: m }; n[x.id] = x; var b, E = 0; for (b in n) if (n.hasOwnProperty(b) && (E++, 2 == E)) break; return 1 == E && r(y), x }; return g.time = c, g.getById = function(e) { return n[e] || null }, g.linear = function(e) { return e }, g.easeout = function(e) { return Math.pow(e, 1.7) }, g.easein = function(e) { return Math.pow(e, .48) }, g.easeinout = function(e) { if (1 == e) return 1; if (0 == e) return 0; var t = .48 - e / 1.04, n = Math.sqrt(.1734 + t * t), r = n - t, i = Math.pow(Math.abs(r), 1 / 3) * (r < 0 ? -1 : 1), o = -n - t, a = Math.pow(Math.abs(o), 1 / 3) * (o < 0 ? -1 : 1), s = i + a + .5; return 3 * (1 - s) * s * s + s * s * s }, g.backin = function(e) { if (1 == e) return 1; var t = 1.70158; return e * e * ((t + 1) * e - t) }, g.backout = function(e) { if (0 == e) return 0; e -= 1; var t = 1.70158; return e * e * ((t + 1) * e + t) + 1 }, g.elastic = function(e) { return e == !!e ? e: Math.pow(2, -10 * e) * Math.sin((e - .075) * (2 * Math.PI) / .3) + 1 }, g.bounce = function(e) { var t, n = 7.5625, r = 2.75; return e < 1 / r ? t = n * e * e: e < 2 / r ? (e -= 1.5 / r, t = n * e * e + .75) : e < 2.5 / r ? (e -= 2.25 / r, t = n * e * e + .9375) : (e -= 2.625 / r, t = n * e * e + .984375), t }, e.mina = g, g } ("undefined" == typeof t ? function() {}: t), r = function(e) { function n(e, t) { if (e) { if (e.tagName) return w(e); if (i(e, "array") && n.set) return n.set.apply(n, e); if (e instanceof v) return e; if (null == t) return e = A.doc.querySelector(e), w(e) } return e = null == e ? "100%": e, t = null == t ? "100%": t, new E(e, t) } function r(e, t) { if (t) { if ("#text" == e && (e = A.doc.createTextNode(t.text || "")), "string" == typeof e && (e = r(e)), "string" == typeof t) return "xlink:" == t.substring(0, 6) ? e.getAttributeNS(z, t.substring(6)) : "xml:" == t.substring(0, 4) ? e.getAttributeNS(q, t.substring(4)) : e.getAttribute(t); for (var n in t) if (t[_](n)) { var i = S(t[n]); i ? "xlink:" == n.substring(0, 6) ? e.setAttributeNS(z, n.substring(6), i) : "xml:" == n.substring(0, 4) ? e.setAttributeNS(q, n.substring(4), i) : e.setAttribute(n, i) : e.removeAttribute(n) } } else e = A.doc.createElementNS(q, e); return e } function i(e, t) { return t = S.prototype.toLowerCase.call(t), "finite" == t ? isFinite(e) : !("array" != t || !(e instanceof Array || Array.isArray && Array.isArray(e))) || ("null" == t && null === e || t == typeof e && null !== e || "object" == t && e === Object(e) || O.call(e).slice(8, -1).toLowerCase() == t) } function o(e) { if ("function" == typeof e || Object(e) !== e) return e; var t = new e.constructor; for (var n in e) e[_](n) && (t[n] = o(e[n])); return t } function a(e, t) { for (var n = 0, r = e.length; n < r; n++) if (e[n] === t) return e.push(e.splice(n, 1)[0]) } function s(e, t, n) { function r() { var i = Array.prototype.slice.call(arguments, 0), o = i.join("␀"), s = r.cache = r.cache || {}, c = r.count = r.count || []; return s[_](o) ? (a(c, o), n ? n(s[o]) : s[o]) : (c.length >= 1e3 && delete s[c.shift()], c.push(o), s[o] = e.apply(t, i), n ? n(s[o]) : s[o]) } return r } function c(e, t, n, r, i, o) { if (null == i) { var a = e - n, s = t - r; return a || s ? (180 + 180 * R.atan2( - s, -a) / D + 360) % 360 : 0 } return c(e, t, i, o) - c(n, r, i, o) } function l(e) { return e % 360 * D / 180 } function u(e) { return 180 * e / D % 360 } function p(e) { var t = []; return e = e.replace(/(?:^|\s)(\w+)\(([^)]+)\)/g, function(e, n, r) { return r = r.split(/\s*,\s*|\s+/), "rotate" == n && 1 == r.length && r.push(0, 0), "scale" == n && (r.length > 2 ? r = r.slice(0, 2) : 2 == r.length && r.push(0, 0), 1 == r.length && r.push(r[0], 0, 0)), "skewX" == n ? t.push(["m", 1, 0, R.tan(l(r[0])), 1, 0, 0]) : "skewY" == n ? t.push(["m", 1, R.tan(l(r[0])), 0, 1, 0, 0]) : t.push([n.charAt(0)].concat(r)), e }), t } function f(e, t) { var r = J(e), i = new n.Matrix; if (r) for (var o = 0, a = r.length; o < a; o++) { var s, c, l, u, p, f = r[o], h = f.length, d = S(f[0]).toLowerCase(), m = f[0] != d, y = m ? i.invert() : 0; "t" == d && 2 == h ? i.translate(f[1], 0) : "t" == d && 3 == h ? m ? (s = y.x(0, 0), c = y.y(0, 0), l = y.x(f[1], f[2]), u = y.y(f[1], f[2]), i.translate(l - s, u - c)) : i.translate(f[1], f[2]) : "r" == d ? 2 == h ? (p = p || t, i.rotate(f[1], p.x + p.width / 2, p.y + p.height / 2)) : 4 == h && (m ? (l = y.x(f[2], f[3]), u = y.y(f[2], f[3]), i.rotate(f[1], l, u)) : i.rotate(f[1], f[2], f[3])) : "s" == d ? 2 == h || 3 == h ? (p = p || t, i.scale(f[1], f[h - 1], p.x + p.width / 2, p.y + p.height / 2)) : 4 == h ? m ? (l = y.x(f[2], f[3]), u = y.y(f[2], f[3]), i.scale(f[1], f[1], l, u)) : i.scale(f[1], f[1], f[2], f[3]) : 5 == h && (m ? (l = y.x(f[3], f[4]), u = y.y(f[3], f[4]), i.scale(f[1], f[2], l, u)) : i.scale(f[1], f[2], f[3], f[4])) : "m" == d && 7 == h && i.add(f[1], f[2], f[3], f[4], f[5], f[6]) } return i } function h(e) { var t = e.node.ownerSVGElement && w(e.node.ownerSVGElement) || e.node.parentNode && w(e.node.parentNode) || n.select("svg") || n(0, 0), r = t.select("defs"), i = null != r && r.node; return i || (i = b("defs", t.node).node), i } function d(e) { return e.node.ownerSVGElement && w(e.node.ownerSVGElement) || n.select("svg") } function m(e, t, n) { function i(e) { if (null == e) return k; if (e == +e) return e; r(l, { width: e }); try { return l.getBBox().width } catch(e) { return 0 } } function o(e) { if (null == e) return k; if (e == +e) return e; r(l, { height: e }); try { return l.getBBox().height } catch(e) { return 0 } } function a(r, i) { null == t ? c[r] = i(e.attr(r) || 0) : r == t && (c = i(null == n ? e.attr(r) || 0 : n)) } var s = d(e).node, c = {}, l = s.querySelector(".svg---mgr"); switch (l || (l = r("rect"), r(l, { x: -9e9, y: -9e9, width: 10, height: 10, class: "svg---mgr", fill: "none" }), s.appendChild(l)), e.type) { case "rect": a("rx", i), a("ry", o); case "image": a("width", i), a("height", o); case "text": a("x", i), a("y", o); break; case "circle": a("cx", i), a("cy", o), a("r", i); break; case "ellipse": a("cx", i), a("cy", o), a("rx", i), a("ry", o); break; case "line": a("x1", i), a("x2", i), a("y1", o), a("y2", o); break; case "marker": a("refX", i), a("markerWidth", i), a("refY", o), a("markerHeight", o); break; case "radialGradient": a("fx", i), a("fy", o); break; case "tspan": a("dx", i), a("dy", o); break; default: a(t, i) } return s.removeChild(l), c } function y(e) { i(e, "array") || (e = Array.prototype.slice.call(arguments, 0)); for (var t = 0, n = 0, r = this.node; this[t];) delete this[t++]; for (t = 0; t < e.length; t++)"set" == e[t].type ? e[t].forEach(function(e) { r.appendChild(e.node) }) : r.appendChild(e[t].node); var o = r.childNodes; for (t = 0; t < o.length; t++) this[n++] = w(o[t]); return this } function v(e) { if (e.snap in H) return H[e.snap]; var t; try { t = e.ownerSVGElement } catch(e) {} this.node = e, t && (this.paper = new E(t)), this.type = e.tagName; var n = this.id = W(this); if (this.anims = {}, this._ = { transform: [] }, e.snap = n, H[n] = this, "g" == this.type && (this.add = y), this.type in { g: 1, mask: 1, pattern: 1, symbol: 1 }) for (var r in E.prototype) E.prototype[_](r) && (this[r] = E.prototype[r]) } function x(e) { this.node = e } function b(e, t) { var n = r(e); t.appendChild(n); var i = w(n); return i } function E(e, t) { var n, i, o, a = E.prototype; if (e && "svg" == e.tagName) { if (e.snap in H) return H[e.snap]; var s = e.ownerDocument; n = new v(e), i = e.getElementsByTagName("desc")[0], o = e.getElementsByTagName("defs")[0], i || (i = r("desc"), i.appendChild(s.createTextNode("Created with Snap")), n.node.appendChild(i)), o || (o = r("defs"), n.node.appendChild(o)), n.defs = o; for (var c in a) a[_](c) && (n[c] = a[c]); n.paper = n.root = n } else n = b("svg", A.doc.body), r(n.node, { height: t, version: 1.1, width: e, xmlns: q }); return n } function w(e) { return e ? e instanceof v || e instanceof x ? e: e.tagName && "svg" == e.tagName.toLowerCase() ? new E(e) : e.tagName && "object" == e.tagName.toLowerCase() && "image/svg+xml" == e.type ? new E(e.contentDocument.getElementsByTagName("svg")[0]) : new v(e) : e } n.version = "0.3.0", n.toString = function() { return "Snap v" + this.version }, n._ = {}; var A = { win: e.window, doc: e.window.document }; n._.glob = A; var _ = "hasOwnProperty", S = String, T = parseFloat, C = parseInt, R = Math, N = R.max, M = R.min, P = R.abs, D = (R.pow, R.PI), k = (R.round, ""), O = Object.prototype.toString, B = /^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?%?)\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?%?)\s*\))\s*$/i, I = (n._.separator = /[,\s]+/, /[\s]*,[\s]*/), L = { hs: 1, rg: 1 }, F = /([a-z])[\s,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\s]*,?[\s]*)+)/gi, j = /([rstm])[\s,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\s]*,?[\s]*)+)/gi, V = /(-?\d*\.?\d*(?:e[\-+]?\\d+)?)[\s]*,?[\s]*/gi, G = 0, U = "S" + ( + new Date).toString(36), W = function(e) { return (e && e.type ? e.type: k) + U + (G++).toString(36) }, z = "http://www.w3.org/1999/xlink", q = "http://www.w3.org/2000/svg", H = {}; n.url = function(e) { return "url('#" + e + "')" }; n._.$ = r, n._.id = W, n.format = function() { var e = /\{([^\}]+)\}/g, t = /(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g, n = function(e, n, r) { var i = r; return n.replace(t, function(e, t, n, r, o) { t = t || r, i && (t in i && (i = i[t]), "function" == typeof i && o && (i = i())) }), i = (null == i || i == r ? e: i) + "" }; return function(t, r) { return S(t).replace(e, function(e, t) { return n(e, t, r) }) } } (), n._.clone = o, n._.cacher = s, n.rad = l, n.deg = u, n.angle = c, n.is = i, n.snapTo = function(e, t, n) { if (n = i(n, "finite") ? n: 10, i(e, "array")) { for (var r = e.length; r--;) if (P(e[r] - t) <= n) return e[r] } else { e = +e; var o = t % e; if (o < n) return t - o; if (o > e - n) return t - o + e } return t }, n.getRGB = s(function(e) { if (!e || (e = S(e)).indexOf("-") + 1) return { r: -1, g: -1, b: -1, hex: "none", error: 1, toString: X }; if ("none" == e) return { r: -1, g: -1, b: -1, hex: "none", toString: X }; if (! (L[_](e.toLowerCase().substring(0, 2)) || "#" == e.charAt()) && (e = Y(e)), !e) return { r: -1, g: -1, b: -1, hex: "none", error: 1, toString: X }; var t, r, o, a, s, c, l = e.match(B); return l ? (l[2] && (o = C(l[2].substring(5), 16), r = C(l[2].substring(3, 5), 16), t = C(l[2].substring(1, 3), 16)), l[3] && (o = C((s = l[3].charAt(3)) + s, 16), r = C((s = l[3].charAt(2)) + s, 16), t = C((s = l[3].charAt(1)) + s, 16)), l[4] && (c = l[4].split(I), t = T(c[0]), "%" == c[0].slice( - 1) && (t *= 2.55), r = T(c[1]), "%" == c[1].slice( - 1) && (r *= 2.55), o = T(c[2]), "%" == c[2].slice( - 1) && (o *= 2.55), "rgba" == l[1].toLowerCase().slice(0, 4) && (a = T(c[3])), c[3] && "%" == c[3].slice( - 1) && (a /= 100)), l[5] ? (c = l[5].split(I), t = T(c[0]), "%" == c[0].slice( - 1) && (t /= 100), r = T(c[1]), "%" == c[1].slice( - 1) && (r /= 100), o = T(c[2]), "%" == c[2].slice( - 1) && (o /= 100), ("deg" == c[0].slice( - 3) || "°" == c[0].slice( - 1)) && (t /= 360), "hsba" == l[1].toLowerCase().slice(0, 4) && (a = T(c[3])), c[3] && "%" == c[3].slice( - 1) && (a /= 100), n.hsb2rgb(t, r, o, a)) : l[6] ? (c = l[6].split(I), t = T(c[0]), "%" == c[0].slice( - 1) && (t /= 100), r = T(c[1]), "%" == c[1].slice( - 1) && (r /= 100), o = T(c[2]), "%" == c[2].slice( - 1) && (o /= 100), ("deg" == c[0].slice( - 3) || "°" == c[0].slice( - 1)) && (t /= 360), "hsla" == l[1].toLowerCase().slice(0, 4) && (a = T(c[3])), c[3] && "%" == c[3].slice( - 1) && (a /= 100), n.hsl2rgb(t, r, o, a)) : (t = M(R.round(t), 255), r = M(R.round(r), 255), o = M(R.round(o), 255), a = M(N(a, 0), 1), l = { r: t, g: r, b: o, toString: X }, l.hex = "#" + (16777216 | o | r << 8 | t << 16).toString(16).slice(1), l.opacity = i(a, "finite") ? a: 1, l)) : { r: -1, g: -1, b: -1, hex: "none", error: 1, toString: X } }, n), n.hsb = s(function(e, t, r) { return n.hsb2rgb(e, t, r).hex }), n.hsl = s(function(e, t, r) { return n.hsl2rgb(e, t, r).hex }), n.rgb = s(function(e, t, n, r) { if (i(r, "finite")) { var o = R.round; return "rgba(" + [o(e), o(t), o(n), +r.toFixed(2)] + ")" } return "#" + (16777216 | n | t << 8 | e << 16).toString(16).slice(1) }); var Y = function(e) { var t = A.doc.getElementsByTagName("head")[0] || A.doc.getElementsByTagName("svg")[0], n = "rgb(255, 0, 0)"; return (Y = s(function(e) { if ("red" == e.toLowerCase()) return n; t.style.color = n, t.style.color = e; var r = A.doc.defaultView.getComputedStyle(t, k).getPropertyValue("color"); return r == n ? null: r }))(e) }, $ = function() { return "hsb(" + [this.h, this.s, this.b] + ")" }, K = function() { return "hsl(" + [this.h, this.s, this.l] + ")" }, X = function() { return 1 == this.opacity || null == this.opacity ? this.hex: "rgba(" + [this.r, this.g, this.b, this.opacity] + ")" }, Q = function(e, t, r) { if (null == t && i(e, "object") && "r" in e && "g" in e && "b" in e && (r = e.b, t = e.g, e = e.r), null == t && i(e, string)) { var o = n.getRGB(e); e = o.r, t = o.g, r = o.b } return (e > 1 || t > 1 || r > 1) && (e /= 255, t /= 255, r /= 255), [e, t, r] }, Z = function(e, t, r, o) { e = R.round(255 * e), t = R.round(255 * t), r = R.round(255 * r); var a = { r: e, g: t, b: r, opacity: i(o, "finite") ? o: 1, hex: n.rgb(e, t, r), toString: X }; return i(o, "finite") && (a.opacity = o), a }; n.color = function(e) { var t; return i(e, "object") && "h" in e && "s" in e && "b" in e ? (t = n.hsb2rgb(e), e.r = t.r, e.g = t.g, e.b = t.b, e.opacity = 1, e.hex = t.hex) : i(e, "object") && "h" in e && "s" in e && "l" in e ? (t = n.hsl2rgb(e), e.r = t.r, e.g = t.g, e.b = t.b, e.opacity = 1, e.hex = t.hex) : (i(e, "string") && (e = n.getRGB(e)), i(e, "object") && "r" in e && "g" in e && "b" in e && !("error" in e) ? (t = n.rgb2hsl(e), e.h = t.h, e.s = t.s, e.l = t.l, t = n.rgb2hsb(e), e.v = t.b) : (e = { hex: "none" }, e.r = e.g = e.b = e.h = e.s = e.v = e.l = -1, e.error = 1)), e.toString = X, e }, n.hsb2rgb = function(e, t, n, r) { i(e, "object") && "h" in e && "s" in e && "b" in e && (n = e.b, t = e.s, e = e.h, r = e.o), e *= 360; var o, a, s, c, l; return e = e % 360 / 60, l = n * t, c = l * (1 - P(e % 2 - 1)), o = a = s = n - l, e = ~~e, o += [l, c, 0, 0, c, l][e], a += [c, l, l, c, 0, 0][e], s += [0, 0, c, l, l, c][e], Z(o, a, s, r) }, n.hsl2rgb = function(e, t, n, r) { i(e, "object") && "h" in e && "s" in e && "l" in e && (n = e.l, t = e.s, e = e.h), (e > 1 || t > 1 || n > 1) && (e /= 360, t /= 100, n /= 100), e *= 360; var o, a, s, c, l; return e = e % 360 / 60, l = 2 * t * (n < .5 ? n: 1 - n), c = l * (1 - P(e % 2 - 1)), o = a = s = n - l / 2, e = ~~e, o += [l, c, 0, 0, c, l][e], a += [c, l, l, c, 0, 0][e], s += [0, 0, c, l, l, c][e], Z(o, a, s, r) }, n.rgb2hsb = function(e, t, n) { n = Q(e, t, n), e = n[0], t = n[1], n = n[2]; var r, i, o, a; return o = N(e, t, n), a = o - M(e, t, n), r = 0 == a ? null: o == e ? (t - n) / a: o == t ? (n - e) / a + 2 : (e - t) / a + 4, r = (r + 360) % 6 * 60 / 360, i = 0 == a ? 0 : a / o, { h: r, s: i, b: o, toString: $ } }, n.rgb2hsl = function(e, t, n) { n = Q(e, t, n), e = n[0], t = n[1], n = n[2]; var r, i, o, a, s, c; return a = N(e, t, n), s = M(e, t, n), c = a - s, r = 0 == c ? null: a == e ? (t - n) / c: a == t ? (n - e) / c + 2 : (e - t) / c + 4, r = (r + 360) % 6 * 60 / 360, o = (a + s) / 2, i = 0 == c ? 0 : o < .5 ? c / (2 * o) : c / (2 - 2 * o), { h: r, s: i, l: o, toString: K } }, n.parsePathString = function(e) { if (!e) return null; var t = n.path(e); if (t.arr) return n.path.clone(t.arr); var r = { a: 7, c: 6, o: 2, h: 1, l: 2, m: 2, r: 4, q: 4, s: 4, t: 2, v: 1, u: 3, z: 0 }, o = []; return i(e, "array") && i(e[0], "array") && (o = n.path.clone(e)), o.length || S(e).replace(F, function(e, t, n) { var i = [], a = t.toLowerCase(); if (n.replace(V, function(e, t) { t && i.push( + t) }), "m" == a && i.length > 2 && (o.push([t].concat(i.splice(0, 2))), a = "l", t = "m" == t ? "l": "L"), "o" == a && 1 == i.length && o.push([t, i[0]]), "r" == a) o.push([t].concat(i)); else for (; i.length >= r[a] && (o.push([t].concat(i.splice(0, r[a]))), r[a]);); }), o.toString = n.path.toString, t.arr = n.path.clone(o), o }; var J = n.parseTransformString = function(e) { if (!e) return null; var t = []; return i(e, "array") && i(e[0], "array") && (t = n.path.clone(e)), t.length || S(e).replace(j, function(e, n, r) { var i = []; n.toLowerCase(); r.replace(V, function(e, t) { t && i.push( + t) }), t.push([n].concat(i)) }), t.toString = n.path.toString, t }; n._.svgTransform2string = p, n._.rgTransform = /^[a-z][\s]*-?\.?\d/i, n._.transform2matrix = f, n._unit2px = m; A.doc.contains || A.doc.compareDocumentPosition ? function(e, t) { var n = 9 == e.nodeType ? e.documentElement: e, r = t && t.parentNode; return e == r || !(!r || 1 != r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r))) }: function(e, t) { if (t) for (; t;) if (t = t.parentNode, t == e) return ! 0; return ! 1 }; n._.getSomeDefs = h, n._.getSomeSVG = d, n.select = function(e) { return e = S(e).replace(/([^\\]):/g, "$1\\:"), w(A.doc.querySelector(e)) }, n.selectAll = function(e) { for (var t = A.doc.querySelectorAll(e), r = (n.set || Array)(), i = 0; i < t.length; i++) r.push(w(t[i])); return r }, setInterval(function() { for (var e in H) if (H[_](e)) { var t = H[e], n = t.node; ("svg" != t.type && !n.ownerSVGElement || "svg" == t.type && (!n.parentNode || "ownerSVGElement" in n.parentNode && !n.ownerSVGElement)) && delete H[e] } }, 1e4), v.prototype.attr = function(e, n) { var r = this; r.node; if (!e) return r; if (i(e, "string")) { if (! (arguments.length > 1)) return t("snap.util.getattr." + e, r).firstDefined(); var o = {}; o[e] = n, e = o } for (var a in e) e[_](a) && t("snap.util.attr." + a, r, e[a]); return r }, n.parse = function(e) { var t = A.doc.createDocumentFragment(), n = !0, r = A.doc.createElement("div"); if (e = S(e), e.match(/^\s*<\s*svg(?:\s|>)/) || (e = "" + e + "", n = !1), r.innerHTML = e, e = r.getElementsByTagName("svg")[0]) if (n) t = e; else { for (; e.firstChild;) t.appendChild(e.firstChild); r.innerHTML = k } return new x(t) }, n.fragment = function() { for (var e = Array.prototype.slice.call(arguments, 0), t = A.doc.createDocumentFragment(), r = 0, i = e.length; r < i; r++) { var o = e[r]; o.node && o.node.nodeType && t.appendChild(o.node), o.nodeType && t.appendChild(o), "string" == typeof o && t.appendChild(n.parse(o).node) } return new x(t) }, n._.make = b, n._.wrap = w, E.prototype.el = function(e, t) { var n = b(e, this.node); return t && n.attr(t), n }, t.on("snap.util.getattr", function() { var e = t.nt(); e = e.substring(e.lastIndexOf(".") + 1); var n = e.replace(/[A-Z]/g, function(e) { return "-" + e.toLowerCase() }); return ee[_](n) ? this.node.ownerDocument.defaultView.getComputedStyle(this.node, null).getPropertyValue(n) : r(this.node, e) }); var ee = { "alignment-baseline": 0, "baseline-shift": 0, clip: 0, "clip-path": 0, "clip-rule": 0, color: 0, "color-interpolation": 0, "color-interpolation-filters": 0, "color-profile": 0, "color-rendering": 0, cursor: 0, direction: 0, display: 0, "dominant-baseline": 0, "enable-background": 0, fill: 0, "fill-opacity": 0, "fill-rule": 0, filter: 0, "flood-color": 0, "flood-opacity": 0, font: 0, "font-family": 0, "font-size": 0, "font-size-adjust": 0, "font-stretch": 0, "font-style": 0, "font-variant": 0, "font-weight": 0, "glyph-orientation-horizontal": 0, "glyph-orientation-vertical": 0, "image-rendering": 0, kerning: 0, "letter-spacing": 0, "lighting-color": 0, marker: 0, "marker-end": 0, "marker-mid": 0, "marker-start": 0, mask: 0, opacity: 0, overflow: 0, "pointer-events": 0, "shape-rendering": 0, "stop-color": 0, "stop-opacity": 0, stroke: 0, "stroke-dasharray": 0, "stroke-dashoffset": 0, "stroke-linecap": 0, "stroke-linejoin": 0, "stroke-miterlimit": 0, "stroke-opacity": 0, "stroke-width": 0, "text-anchor": 0, "text-decoration": 0, "text-rendering": 0, "unicode-bidi": 0, visibility: 0, "word-spacing": 0, "writing-mode": 0 }; t.on("snap.util.attr", function(e) { var n = t.nt(), i = {}; n = n.substring(n.lastIndexOf(".") + 1), i[n] = e; var o = n.replace(/-(\w)/gi, function(e, t) { return t.toUpperCase() }), a = n.replace(/[A-Z]/g, function(e) { return "-" + e.toLowerCase() }); ee[_](a) ? this.node.style[o] = null == e ? k: e: r(this.node, i) }), function(e) {} (E.prototype), n.ajax = function(e, n, r, o) { var a = new XMLHttpRequest, s = W(); if (a) { if (i(n, "function")) o = r, r = n, n = null; else if (i(n, "object")) { var c = []; for (var l in n) n.hasOwnProperty(l) && c.push(encodeURIComponent(l) + "=" + encodeURIComponent(n[l])); n = c.join("&") } return a.open(n ? "POST": "GET", e, !0), n && (a.setRequestHeader("X-Requested-With", "XMLHttpRequest"), a.setRequestHeader("Content-type", "application/x-www-form-urlencoded")), r && (t.once("snap.ajax." + s + ".0", r), t.once("snap.ajax." + s + ".200", r), t.once("snap.ajax." + s + ".304", r)), a.onreadystatechange = function() { 4 == a.readyState && t("snap.ajax." + s + "." + a.status, o, a) }, 4 == a.readyState ? a: (a.send(n), a) } }, n.load = function(e, t, r) { n.ajax(e, function(e) { var i = n.parse(e.responseText); r ? t.call(r, i) : t(i) }) }; var te = function(e) { var t = e.getBoundingClientRect(), n = e.ownerDocument, r = n.body, i = n.documentElement, o = i.clientTop || r.clientTop || 0, a = i.clientLeft || r.clientLeft || 0, s = t.top + (g.win.pageYOffset || i.scrollTop || r.scrollTop) - o, c = t.left + (g.win.pageXOffset || i.scrollLeft || r.scrollLeft) - a; return { y: s, x: c } }; return n.getElementByPoint = function(e, t) { var n = this, r = (n.canvas, A.doc.elementFromPoint(e, t)); if (A.win.opera && "svg" == r.tagName) { var i = te(r), o = r.createSVGRect(); o.x = e - i.x, o.y = t - i.y, o.width = o.height = 1; var a = r.getIntersectionList(o, null); a.length && (r = a[a.length - 1]) } return r ? w(r) : null }, n.plugin = function(e) { e(n, v, E, A, x) }, A.win.Snap = n, n } (e || this); return r.plugin(function(r, i, o, a, s) { function c(e, t) { if (null == t) { var n = !0; if (t = "linearGradient" == e.type || "radialGradient" == e.type ? e.node.getAttribute("gradientTransform") : "pattern" == e.type ? e.node.getAttribute("patternTransform") : e.node.getAttribute("transform"), !t) return new r.Matrix; t = r._.svgTransform2string(t) } else t = r._.rgTransform.test(t) ? d(t).replace(/\.{3}|\u2026/g, e._.transform || E) : r._.svgTransform2string(t), h(t, "array") && (t = r.path ? r.path.toString.call(t) : d(t)), e._.transform = t; var i = r._.transform2matrix(t, e.getBBox(1)); return n ? i: void(e.matrix = i) } function l(e) { function t(e, t) { var n = y(e.node, t); n = n && n.match(o), n = n && n[2], n && "#" == n.charAt() && (n = n.substring(1), n && (s[n] = (s[n] || []).concat(function(n) { var r = {}; r[t] = URL(n), y(e.node, r) }))) } function n(e) { var t = y(e.node, "xlink:href"); t && "#" == t.charAt() && (t = t.substring(1), t && (s[t] = (s[t] || []).concat(function(t) { e.attr("xlink:href", "#" + t) }))) } for (var r, i = e.selectAll("*"), o = /^\s*url\(("|'|)(.*)\1\)\s*$/, a = [], s = {}, c = 0, l = i.length; c < l; c++) { r = i[c], t(r, "fill"), t(r, "stroke"), t(r, "filter"), t(r, "mask"), t(r, "clip-path"), n(r); var u = y(r.node, "id"); u && (y(r.node, { id: r.id }), a.push({ old: u, id: r.id })) } for (c = 0, l = a.length; c < l; c++) { var p = s[a[c].old]; if (p) for (var f = 0, h = p.length; f < h; f++) p[f](a[c].id) } } function u(e, t, n) { return function(r) { var i = r.slice(e, t); return 1 == i.length && (i = i[0]), n ? n(i) : i } } function p(e) { return function() { var t = e ? "<" + this.type: "", n = this.node.attributes, r = this.node.childNodes; if (e) for (var i = 0, o = n.length; i < o; i++) t += " " + n[i].name + '="' + n[i].value.replace(/"/g, '\\"') + '"'; if (r.length) { for (e && (t += ">"), i = 0, o = r.length; i < o; i++) 3 == r[i].nodeType ? t += r[i].nodeValue: 1 == r[i].nodeType && (t += b(r[i]).toString()); e && (t += "") } else e && (t += "/>"); return t } } var f = i.prototype, h = r.is, d = String, m = r._unit2px, y = r._.$, g = r._.make, v = r._.getSomeDefs, x = "hasOwnProperty", b = r._.wrap; f.getBBox = function(e) { if (!r.Matrix || !r.path) return this.node.getBBox(); var t = this, n = new r.Matrix; if (t.removed) return r._.box(); for (; "use" == t.type;) if (e || (n = n.add(t.transform().localMatrix.translate(t.attr("x") || 0, t.attr("y") || 0))), t.original) t = t.original; else { var i = t.attr("xlink:href"); t = t.original = t.node.ownerDocument.getElementById(i.substring(i.indexOf("#") + 1)) } var o = t._, a = r.path.get[t.type] || r.path.get.deflt; try { return e ? (o.bboxwt = a ? r.path.getBBox(t.realPath = a(t)) : r._.box(t.node.getBBox()), r._.box(o.bboxwt)) : (t.realPath = a(t), t.matrix = t.transform().localMatrix, o.bbox = r.path.getBBox(r.path.map(t.realPath, n.add(t.matrix))), r._.box(o.bbox)) } catch(e) { return r._.box() } }; var w = function() { return this.string }; f.transform = function(e) { var t = this._; if (null == e) { for (var n, i = this, o = new r.Matrix(this.node.getCTM()), a = c(this), s = [a], l = new r.Matrix, u = a.toTransformString(), p = d(a) == d(this.matrix) ? d(t.transform) : u; "svg" != i.type && (i = i.parent());) s.push(c(i)); for (n = s.length; n--;) l.add(s[n]); return { string: p, globalMatrix: o, totalMatrix: l, localMatrix: a, diffMatrix: o.clone().add(a.invert()), global: o.toTransformString(), total: l.toTransformString(), local: u, toString: w } } return e instanceof r.Matrix ? (this.matrix = e, this._.transform = e.toTransformString()) : c(this, e), this.node && ("linearGradient" == this.type || "radialGradient" == this.type ? y(this.node, { gradientTransform: this.matrix }) : "pattern" == this.type ? y(this.node, { patternTransform: this.matrix }) : y(this.node, { transform: this.matrix })), this }, f.parent = function() { return b(this.node.parentNode) }, f.append = f.add = function(e) { if (e) { if ("set" == e.type) { var t = this; return e.forEach(function(e) { t.add(e) }), this } e = b(e), this.node.appendChild(e.node), e.paper = this.paper } return this }, f.appendTo = function(e) { return e && (e = b(e), e.append(this)), this }, f.prepend = function(e) { if (e) { if ("set" == e.type) { var t, n = this; return e.forEach(function(e) { t ? t.after(e) : n.prepend(e), t = e }), this } e = b(e); var r = e.parent(); this.node.insertBefore(e.node, this.node.firstChild), this.add && this.add(), e.paper = this.paper, this.parent() && this.parent().add(), r && r.add() } return this }, f.prependTo = function(e) { return e = b(e), e.prepend(this), this }, f.before = function(e) { if ("set" == e.type) { var t = this; return e.forEach(function(e) { var n = e.parent(); t.node.parentNode.insertBefore(e.node, t.node), n && n.add() }), this.parent().add(), this } e = b(e); var n = e.parent(); return this.node.parentNode.insertBefore(e.node, this.node), this.parent() && this.parent().add(), n && n.add(), e.paper = this.paper, this }, f.after = function(e) { e = b(e); var t = e.parent(); return this.node.nextSibling ? this.node.parentNode.insertBefore(e.node, this.node.nextSibling) : this.node.parentNode.appendChild(e.node), this.parent() && this.parent().add(), t && t.add(), e.paper = this.paper, this }, f.insertBefore = function(e) { e = b(e); var t = this.parent(); return e.node.parentNode.insertBefore(this.node, e.node), this.paper = e.paper, t && t.add(), e.parent() && e.parent().add(), this }, f.insertAfter = function(e) { e = b(e); var t = this.parent(); return e.node.parentNode.insertBefore(this.node, e.node.nextSibling), this.paper = e.paper, t && t.add(), e.parent() && e.parent().add(), this }, f.remove = function() { var e = this.parent(); return this.node.parentNode && this.node.parentNode.removeChild(this.node), delete this.paper, this.removed = !0, e && e.add(), this }, f.select = function(e) { return e = d(e).replace(/([^\\]):/g, "$1\\:"), b(this.node.querySelector(e)) }, f.selectAll = function(e) { for (var t = this.node.querySelectorAll(e), n = (r.set || Array)(), i = 0; i < t.length; i++) n.push(b(t[i])); return n }, f.asPX = function(e, t) { return null == t && (t = this.attr(e)), +m(this, e, t) }, f.use = function() { var e, t = this.node.id; return t || (t = this.id, y(this.node, { id: t })), e = "linearGradient" == this.type || "radialGradient" == this.type || "pattern" == this.type ? g(this.type, this.node.parentNode) : g("use", this.node.parentNode), y(e.node, { "xlink:href": "#" + t }), e.original = this, e }, f.clone = function() { var e = b(this.node.cloneNode(!0)); return y(e.node, "id") && y(e.node, { id: e.id }), l(e), e.insertAfter(this), e }, f.toDefs = function() { var e = v(this); return e.appendChild(this.node), this }, f.pattern = f.toPattern = function(e, t, n, r) { var i = g("pattern", v(this)); return null == e && (e = this.getBBox()), h(e, "object") && "x" in e && (t = e.y, n = e.width, r = e.height, e = e.x), y(i.node, { x: e, y: t, width: n, height: r, patternUnits: "userSpaceOnUse", id: i.id, viewBox: [e, t, n, r].join(" ") }), i.node.appendChild(this.node), i }, f.marker = function(e, t, n, r, i, o) { var a = g("marker", v(this)); return null == e && (e = this.getBBox()), h(e, "object") && "x" in e && (t = e.y, n = e.width, r = e.height, i = e.refX || e.cx, o = e.refY || e.cy, e = e.x), y(a.node, { viewBox: [e, t, n, r].join(" "), markerWidth: n, markerHeight: r, orient: "auto", refX: i || 0, refY: o || 0, id: a.id }), a.node.appendChild(this.node), a }; var A = function(e, t, r, i) { "function" != typeof r || r.length || (i = r, r = n.linear), this.attr = e, this.dur = t, r && (this.easing = r), i && (this.callback = i) }; r._.Animation = A, r.animation = function(e, t, n, r) { return new A(e, t, n, r) }, f.inAnim = function() { var e = this, t = []; for (var n in e.anims) e.anims[x](n) && ! function(e) { t.push({ anim: new A(e._attrs, e.dur, e.easing, e._callback), mina: e, curStatus: e.status(), status: function(t) { return e.status(t) }, stop: function() { e.stop() } }) } (e.anims[n]); return t }, r.animate = function(e, r, i, o, a, s) { "function" != typeof a || a.length || (s = a, a = n.linear); var c = n.time(), l = n(e, r, c, c + o, n.time, i, a); return s && t.once("mina.finish." + l.id, s), l }, f.stop = function() { for (var e = this.inAnim(), t = 0, n = e.length; t < n; t++) e[t].stop(); return this }, f.animate = function(e, r, i, o) { "function" != typeof i || i.length || (o = i, i = n.linear), e instanceof A && (o = e.callback, i = e.easing, r = i.dur, e = e.attr); var a, s, c, l, p = [], f = [], m = {}, y = this; for (var g in e) if (e[x](g)) { y.equal ? (l = y.equal(g, d(e[g])), a = l.from, s = l.to, c = l.f) : (a = +y.attr(g), s = +e[g]); var v = h(a, "array") ? a.length: 1; m[g] = u(p.length, p.length + v, c), p = p.concat(a), f = f.concat(s) } var b = n.time(), E = n(p, f, b, b + r, n.time, function(e) { var t = {}; for (var n in m) m[x](n) && (t[n] = m[n](e)); y.attr(t) }, i); return y.anims[E.id] = E, E._attrs = e, E._callback = o, t("snap.animcreated." + y.id, E), t.once("mina.finish." + E.id, function() { delete y.anims[E.id], o && o.call(y) }), t.once("mina.stop." + E.id, function() { delete y.anims[E.id] }), y }; var _ = {}; f.data = function(e, n) { var i = _[this.id] = _[this.id] || {}; if (0 == arguments.length) return t("snap.data.get." + this.id, this, i, null), i; if (1 == arguments.length) { if (r.is(e, "object")) { for (var o in e) e[x](o) && this.data(o, e[o]); return this } return t("snap.data.get." + this.id, this, i[e], e), i[e] } return i[e] = n, t("snap.data.set." + this.id, this, n, e), this }, f.removeData = function(e) { return null == e ? _[this.id] = {}: _[this.id] && delete _[this.id][e], this }, f.outerSVG = f.toString = p(1), f.innerSVG = p(), f.toDataURL = function() { if (e && e.btoa) { var t = this.getBBox(), n = r.format('{contents}', { x: +t.x.toFixed(3), y: +t.y.toFixed(3), width: +t.width.toFixed(3), height: +t.height.toFixed(3), contents: this.outerSVG() }); return "data:image/svg+xml;base64," + btoa(unescape(encodeURIComponent(n))) } }, s.prototype.select = f.select, s.prototype.selectAll = f.selectAll }), r.plugin(function(e, t, n, r, i) { function o(e, t, n, r, i, o) { return null == t && "[object SVGMatrix]" == a.call(e) ? (this.a = e.a, this.b = e.b, this.c = e.c, this.d = e.d, this.e = e.e, void(this.f = e.f)) : void(null != e ? (this.a = +e, this.b = +t, this.c = +n, this.d = +r, this.e = +i, this.f = +o) : (this.a = 1, this.b = 0, this.c = 0, this.d = 1, this.e = 0, this.f = 0)) } var a = Object.prototype.toString, s = String, c = Math, l = ""; ! function(t) { function n(e) { return e[0] * e[0] + e[1] * e[1] } function r(e) { var t = c.sqrt(n(e)); e[0] && (e[0] /= t), e[1] && (e[1] /= t) } t.add = function(e, t, n, r, i, a) { var s, c, l, u, p = [[], [], []], f = [[this.a, this.c, this.e], [this.b, this.d, this.f], [0, 0, 1]], h = [[e, n, i], [t, r, a], [0, 0, 1]]; for (e && e instanceof o && (h = [[e.a, e.c, e.e], [e.b, e.d, e.f], [0, 0, 1]]), s = 0; s < 3; s++) for (c = 0; c < 3; c++) { for (u = 0, l = 0; l < 3; l++) u += f[s][l] * h[l][c]; p[s][c] = u } return this.a = p[0][0], this.b = p[1][0], this.c = p[0][1], this.d = p[1][1], this.e = p[0][2], this.f = p[1][2], this }, t.invert = function() { var e = this, t = e.a * e.d - e.b * e.c; return new o(e.d / t, -e.b / t, -e.c / t, e.a / t, (e.c * e.f - e.d * e.e) / t, (e.b * e.e - e.a * e.f) / t) }, t.clone = function() { return new o(this.a, this.b, this.c, this.d, this.e, this.f) }, t.translate = function(e, t) { return this.add(1, 0, 0, 1, e, t) }, t.scale = function(e, t, n, r) { return null == t && (t = e), (n || r) && this.add(1, 0, 0, 1, n, r), this.add(e, 0, 0, t, 0, 0), (n || r) && this.add(1, 0, 0, 1, -n, -r), this }, t.rotate = function(t, n, r) { t = e.rad(t), n = n || 0, r = r || 0; var i = +c.cos(t).toFixed(9), o = +c.sin(t).toFixed(9); return this.add(i, o, -o, i, n, r), this.add(1, 0, 0, 1, -n, -r) }, t.x = function(e, t) { return e * this.a + t * this.c + this.e }, t.y = function(e, t) { return e * this.b + t * this.d + this.f }, t.get = function(e) { return + this[s.fromCharCode(97 + e)].toFixed(4) }, t.toString = function() { return "matrix(" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)].join() + ")" }, t.offset = function() { return [this.e.toFixed(4), this.f.toFixed(4)] }, t.determinant = function() { return this.a * this.d - this.b * this.c }, t.split = function() { var t = {}; t.dx = this.e, t.dy = this.f; var i = [[this.a, this.c], [this.b, this.d]]; t.scalex = c.sqrt(n(i[0])), r(i[0]), t.shear = i[0][0] * i[1][0] + i[0][1] * i[1][1], i[1] = [i[1][0] - i[0][0] * t.shear, i[1][1] - i[0][1] * t.shear], t.scaley = c.sqrt(n(i[1])), r(i[1]), t.shear /= t.scaley, this.determinant() < 0 && (t.scalex = -t.scalex); var o = -i[0][1], a = i[1][1]; return a < 0 ? (t.rotate = e.deg(c.acos(a)), o < 0 && (t.rotate = 360 - t.rotate)) : t.rotate = e.deg(c.asin(o)), t.isSimple = !( + t.shear.toFixed(9) || t.scalex.toFixed(9) != t.scaley.toFixed(9) && t.rotate), t.isSuperSimple = !+t.shear.toFixed(9) && t.scalex.toFixed(9) == t.scaley.toFixed(9) && !t.rotate, t.noRotation = !+t.shear.toFixed(9) && !t.rotate, t }, t.toTransformString = function(e) { var t = e || this.split(); return + t.shear.toFixed(9) ? "m" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)] : (t.scalex = +t.scalex.toFixed(4), t.scaley = +t.scaley.toFixed(4), t.rotate = +t.rotate.toFixed(4), (t.dx || t.dy ? "t" + [ + t.dx.toFixed(4), +t.dy.toFixed(4)] : l) + (1 != t.scalex || 1 != t.scaley ? "s" + [t.scalex, t.scaley, 0, 0] : l) + (t.rotate ? "r" + [ + t.rotate.toFixed(4), 0, 0] : l)) } } (o.prototype), e.Matrix = o, e.matrix = function(e, t, n, r, i, a) { return new o(e, t, n, r, i, a) } }), r.plugin(function(e, n, r, i, o) { function a(r) { return function(i) { if (t.stop(), i instanceof o && 1 == i.node.childNodes.length && ("radialGradient" == i.node.firstChild.tagName || "linearGradient" == i.node.firstChild.tagName || "pattern" == i.node.firstChild.tagName) && (i = i.node.firstChild, h(this).appendChild(i), i = p(i)), i instanceof n) if ("radialGradient" == i.type || "linearGradient" == i.type || "pattern" == i.type) { i.node.id || m(i.node, { id: i.id }); var a = y(i.node.id) } else a = i.attr(r); else if (a = e.color(i), a.error) { var s = e(h(this).ownerSVGElement).gradient(i); s ? (s.node.id || m(s.node, { id: s.id }), a = y(s.node.id)) : a = i } else a = g(a); var c = {}; c[r] = a, m(this.node, c), this.node.style[r] = x } } function s(e) { t.stop(), e == +e && (e += "px"), this.node.style.fontSize = e } function c(e) { for (var t = [], n = e.childNodes, r = 0, i = n.length; r < i; r++) { var o = n[r]; 3 == o.nodeType && t.push(o.nodeValue), "tspan" == o.tagName && (1 == o.childNodes.length && 3 == o.firstChild.nodeType ? t.push(o.firstChild.nodeValue) : t.push(c(o))) } return t } function l() { return t.stop(), this.node.style.fontSize } var u = e._.make, p = e._.wrap, f = e.is, h = e._.getSomeDefs, d = /^url\(#?([^)]+)\)$/, m = e._.$, y = e.url, g = String, v = e._.separator, x = ""; t.on("snap.util.attr.mask", function(e) { if (e instanceof n || e instanceof o) { if (t.stop(), e instanceof o && 1 == e.node.childNodes.length && (e = e.node.firstChild, h(this).appendChild(e), e = p(e)), "mask" == e.type) var r = e; else r = u("mask", h(this)), r.node.appendChild(e.node); ! r.node.id && m(r.node, { id: r.id }), m(this.node, { mask: y(r.id) }) } }), function(e) { t.on("snap.util.attr.clip", e), t.on("snap.util.attr.clip-path", e), t.on("snap.util.attr.clipPath", e) } (function(e) { if (e instanceof n || e instanceof o) { if (t.stop(), "clipPath" == e.type) var r = e; else r = u("clipPath", h(this)), r.node.appendChild(e.node), !r.node.id && m(r.node, { id: r.id }); m(this.node, { "clip-path": y(r.node.id || r.id) }) } }), t.on("snap.util.attr.fill", a("fill")), t.on("snap.util.attr.stroke", a("stroke")); var b = /^([lr])(?:\(([^)]*)\))?(.*)$/i; t.on("snap.util.grad.parse", function(e) { e = g(e); var t = e.match(b); if (!t) return null; var n = t[1], r = t[2], i = t[3]; return r = r.split(/\s*,\s*/).map(function(e) { return + e == e ? +e: e }), 1 == r.length && 0 == r[0] && (r = []), i = i.split("-"), i = i.map(function(e) { e = e.split(":"); var t = { color: e[0] }; return e[1] && (t.offset = parseFloat(e[1])), t }), { type: n, params: r, stops: i } }), t.on("snap.util.attr.d", function(n) { t.stop(), f(n, "array") && f(n[0], "array") && (n = e.path.toString.call(n)), n = g(n), n.match(/[ruo]/i) && (n = e.path.toAbsolute(n)), m(this.node, { d: n }) })( - 1), t.on("snap.util.attr.#text", function(e) { t.stop(), e = g(e); for (var n = i.doc.createTextNode(e); this.node.firstChild;) this.node.removeChild(this.node.firstChild); this.node.appendChild(n) })( - 1), t.on("snap.util.attr.path", function(e) { t.stop(), this.attr({ d: e }) })( - 1), t.on("snap.util.attr.class", function(e) { t.stop(), this.node.className.baseVal = e })( - 1), t.on("snap.util.attr.viewBox", function(e) { var n; n = f(e, "object") && "x" in e ? [e.x, e.y, e.width, e.height].join(" ") : f(e, "array") ? e.join(" ") : e, m(this.node, { viewBox: n }), t.stop() })( - 1), t.on("snap.util.attr.transform", function(e) { this.transform(e), t.stop() })( - 1), t.on("snap.util.attr.r", function(e) { "rect" == this.type && (t.stop(), m(this.node, { rx: e, ry: e })) })( - 1), t.on("snap.util.attr.textpath", function(e) { if (t.stop(), "text" == this.type) { var r, i, o; if (!e && this.textPath) { for (i = this.textPath; i.node.firstChild;) this.node.appendChild(i.node.firstChild); return i.remove(), void delete this.textPath } if (f(e, "string")) { var a = h(this), s = p(a.parentNode).path(e); a.appendChild(s.node), r = s.id, s.attr({ id: r }) } else e = p(e), e instanceof n && (r = e.attr("id"), r || (r = e.id, e.attr({ id: r }))); if (r) if (i = this.textPath, o = this.node, i) i.attr({ "xlink:href": "#" + r }); else { for (i = m("textPath", { "xlink:href": "#" + r }); o.firstChild;) i.appendChild(o.firstChild); o.appendChild(i), this.textPath = p(i) } } })( - 1), t.on("snap.util.attr.text", function(e) { if ("text" == this.type) { for (var n = this.node, r = function(e) { var t = m("tspan"); if (f(e, "array")) for (var n = 0; n < e.length; n++) t.appendChild(r(e[n])); else t.appendChild(i.doc.createTextNode(e)); return t.normalize && t.normalize(), t }; n.firstChild;) n.removeChild(n.firstChild); for (var o = r(e); o.firstChild;) n.appendChild(o.firstChild) } t.stop() })( - 1), t.on("snap.util.attr.fontSize", s)( - 1), t.on("snap.util.attr.font-size", s)( - 1), t.on("snap.util.getattr.transform", function() { return t.stop(), this.transform() })( - 1), t.on("snap.util.getattr.textpath", function() { return t.stop(), this.textPath })( - 1), function() { function n(n) { return function() { t.stop(); var r = i.doc.defaultView.getComputedStyle(this.node, null).getPropertyValue("marker-" + n); return "none" == r ? r: e(i.doc.getElementById(r.match(d)[1])) } } function r(e) { return function(n) { t.stop(); var r = "marker" + e.charAt(0).toUpperCase() + e.substring(1); if ("" == n || !n) return void(this.node.style[r] = "none"); if ("marker" == n.type) { var i = n.node.id; return i || m(n.node, { id: n.id }), void(this.node.style[r] = y(i)) } } } t.on("snap.util.getattr.marker-end", n("end"))( - 1), t.on("snap.util.getattr.markerEnd", n("end"))( - 1), t.on("snap.util.getattr.marker-start", n("start"))( - 1), t.on("snap.util.getattr.markerStart", n("start"))( - 1), t.on("snap.util.getattr.marker-mid", n("mid"))( - 1), t.on("snap.util.getattr.markerMid", n("mid"))( - 1), t.on("snap.util.attr.marker-end", r("end"))( - 1), t.on("snap.util.attr.markerEnd", r("end"))( - 1), t.on("snap.util.attr.marker-start", r("start"))( - 1), t.on("snap.util.attr.markerStart", r("start"))( - 1), t.on("snap.util.attr.marker-mid", r("mid"))( - 1), t.on("snap.util.attr.markerMid", r("mid"))( - 1) } (), t.on("snap.util.getattr.r", function() { if ("rect" == this.type && m(this.node, "rx") == m(this.node, "ry")) return t.stop(), m(this.node, "rx") })( - 1), t.on("snap.util.getattr.text", function() { if ("text" == this.type || "tspan" == this.type) { t.stop(); var e = c(this.node); return 1 == e.length ? e[0] : e } })( - 1), t.on("snap.util.getattr.#text", function() { return this.node.textContent })( - 1), t.on("snap.util.getattr.viewBox", function() { t.stop(); var n = m(this.node, "viewBox"); return n ? (n = n.split(v), e._.box( + n[0], +n[1], +n[2], +n[3])) : void 0 })( - 1), t.on("snap.util.getattr.points", function() { var e = m(this.node, "points"); return t.stop(), e ? e.split(v) : void 0 })( - 1), t.on("snap.util.getattr.path", function() { var e = m(this.node, "d"); return t.stop(), e })( - 1), t.on("snap.util.getattr.class", function() { return this.node.className.baseVal })( - 1), t.on("snap.util.getattr.fontSize", l)( - 1), t.on("snap.util.getattr.font-size", l)( - 1) }), r.plugin(function(n, r, i, o, a) { var s = i.prototype, c = n.is; s.rect = function(e, t, n, r, i, o) { var a; return null == o && (o = i), c(e, "object") && "[object Object]" == e ? a = e: null != e && (a = { x: e, y: t, width: n, height: r }, null != i && (a.rx = i, a.ry = o)), this.el("rect", a) }, s.circle = function(e, t, n) { var r; return c(e, "object") && "[object Object]" == e ? r = e: null != e && (r = { cx: e, cy: t, r: n }), this.el("circle", r) }; var l = function() { function e() { this.parentNode.removeChild(this) } return function(t, n) { var r = o.doc.createElement("img"), i = o.doc.body; r.style.cssText = "position:absolute;left:-9999em;top:-9999em", r.onload = function() { n.call(r), r.onload = r.onerror = null, i.removeChild(r) }, r.onerror = e, i.appendChild(r), r.src = t } } (); s.image = function(e, t, r, i, o) { var a = this.el("image"); if (c(e, "object") && "src" in e) a.attr(e); else if (null != e) { var s = { "xlink:href": e, preserveAspectRatio: "none" }; null != t && null != r && (s.x = t, s.y = r), null != i && null != o ? (s.width = i, s.height = o) : l(e, function() { n._.$(a.node, { width: this.offsetWidth, height: this.offsetHeight }) }), n._.$(a.node, s) } return a }, s.ellipse = function(e, t, n, r) { var i; return c(e, "object") && "[object Object]" == e ? i = e: null != e && (i = { cx: e, cy: t, rx: n, ry: r }), this.el("ellipse", i) }, s.path = function(e) { var t; return c(e, "object") && !c(e, "array") ? t = e: e && (t = { d: e }), this.el("path", t) }, s.group = s.g = function(e) { var t = this.el("g"); return 1 == arguments.length && e && !e.type ? t.attr(e) : arguments.length && t.add(Array.prototype.slice.call(arguments, 0)), t }, s.svg = function(e, t, n, r, i, o, a, s) { var l = {}; return c(e, "object") && null == t ? l = e: (null != e && (l.x = e), null != t && (l.y = t), null != n && (l.width = n), null != r && (l.height = r), null != i && null != o && null != a && null != s && (l.viewBox = [i, o, a, s])), this.el("svg", l) }, s.mask = function(e) { var t = this.el("mask"); return 1 == arguments.length && e && !e.type ? t.attr(e) : arguments.length && t.add(Array.prototype.slice.call(arguments, 0)), t }, s.ptrn = function(e, t, n, r, i, o, a, s) { if (c(e, "object")) var l = e; else l = { patternUnits: "userSpaceOnUse" }, e && (l.x = e), t && (l.y = t), null != n && (l.width = n), null != r && (l.height = r), null != i && null != o && null != a && null != s && (l.viewBox = [i, o, a, s]); return this.el("pattern", l) }, s.use = function(e) { return null != e ? (e instanceof r && (e.attr("id") || e.attr({ id: n._.id(e) }), e = e.attr("id")), "#" == String(e).charAt() && (e = e.substring(1)), this.el("use", { "xlink:href": "#" + e })) : r.prototype.use.call(this) }, s.symbol = function(e, t, n, r) { var i = {}; return null != e && null != t && null != n && null != r && (i.viewBox = [e, t, n, r]), this.el("symbol", i) }, s.text = function(e, t, n) { var r = {}; return c(e, "object") ? r = e: null != e && (r = { x: e, y: t, text: n || "" }), this.el("text", r) }, s.line = function(e, t, n, r) { var i = {}; return c(e, "object") ? i = e: null != e && (i = { x1: e, x2: n, y1: t, y2: r }), this.el("line", i) }, s.polyline = function(e) { arguments.length > 1 && (e = Array.prototype.slice.call(arguments, 0)); var t = {}; return c(e, "object") && !c(e, "array") ? t = e: null != e && (t = { points: e }), this.el("polyline", t) }, s.polygon = function(e) { arguments.length > 1 && (e = Array.prototype.slice.call(arguments, 0)); var t = {}; return c(e, "object") && !c(e, "array") ? t = e: null != e && (t = { points: e }), this.el("polygon", t) }, function() { function r() { return this.selectAll("stop") } function i(e, t) { var r = u("stop"), i = { offset: +t + "%" }; return e = n.color(e), i["stop-color"] = e.hex, e.opacity < 1 && (i["stop-opacity"] = e.opacity), u(r, i), this.node.appendChild(r), this } function o() { if ("linearGradient" == this.type) { var e = u(this.node, "x1") || 0, t = u(this.node, "x2") || 1, r = u(this.node, "y1") || 0, i = u(this.node, "y2") || 0; return n._.box(e, r, math.abs(t - e), math.abs(i - r)) } var o = this.node.cx || .5, a = this.node.cy || .5, s = this.node.r || 0; return n._.box(o - s, a - s, 2 * s, 2 * s) } function a(e, n) { function r(e, t) { for (var n = (t - p) / (e - f), r = f; r < e; r++) a[r].offset = +( + p + n * (r - f)).toFixed(2); f = e, p = t } var i, o = t("snap.util.grad.parse", null, n).firstDefined(); if (!o) return null; o.params.unshift(e), i = "l" == o.type.toLowerCase() ? c.apply(0, o.params) : l.apply(0, o.params), o.type != o.type.toLowerCase() && u(i.node, { gradientUnits: "userSpaceOnUse" }); var a = o.stops, s = a.length, p = 0, f = 0; s--; for (var h = 0; h < s; h++)"offset" in a[h] && r(h, a[h].offset); for (a[s].offset = a[s].offset || 100, r(s, a[s].offset), h = 0; h <= s; h++) { var d = a[h]; i.addStop(d.color, d.offset) } return i } function c(e, t, a, s, c) { var l = n._.make("linearGradient", e); return l.stops = r, l.addStop = i, l.getBBox = o, null != t && u(l.node, { x1: t, y1: a, x2: s, y2: c }), l } function l(e, t, a, s, c, l) { var p = n._.make("radialGradient", e); return p.stops = r, p.addStop = i, p.getBBox = o, null != t && u(p.node, { cx: t, cy: a, r: s }), null != c && null != l && u(p.node, { fx: c, fy: l }), p } var u = n._.$; s.gradient = function(e) { return a(this.defs, e) }, s.gradientLinear = function(e, t, n, r) { return c(this.defs, e, t, n, r) }, s.gradientRadial = function(e, t, n, r, i) { return l(this.defs, e, t, n, r, i) }, s.toString = function() { var e, t = this.node.ownerDocument, r = t.createDocumentFragment(), i = t.createElement("div"), o = this.node.cloneNode(!0); return r.appendChild(i), i.appendChild(o), n._.$(o, { xmlns: "http://www.w3.org/2000/svg" }), e = i.innerHTML, r.removeChild(r.firstChild), e }, s.toDataURL = function() { if (e && e.btoa) return "data:image/svg+xml;base64," + btoa(unescape(encodeURIComponent(this))) }, s.clear = function() { for (var e, t = this.node.firstChild; t;) e = t.nextSibling, "defs" != t.tagName ? t.parentNode.removeChild(t) : s.clear.call({ node: t }), t = e } } () }), r.plugin(function(e, t, n, r) { function i(e) { var t = i.ps = i.ps || {}; return t[e] ? t[e].sleep = 100 : t[e] = { sleep: 100 }, setTimeout(function() { for (var n in t) t[F](n) && n != e && (t[n].sleep--, !t[n].sleep && delete t[n]) }), t[e] } function o(e, t, n, r) { return null == e && (e = t = n = r = 0), null == t && (t = e.y, n = e.width, r = e.height, e = e.x), { x: e, y: t, width: n, w: n, height: r, h: r, x2: e + n, y2: t + r, cx: e + n / 2, cy: t + r / 2, r1: G.min(n, r) / 2, r2: G.max(n, r) / 2, r0: G.sqrt(n * n + r * r) / 2, path: _(e, t, n, r), vb: [e, t, n, r].join(" ") } } function a() { return this.join(",").replace(j, "$1") } function s(e) { var t = L(e); return t.toString = a, t } function c(e, t, n, r, i, o, a, s, c) { return null == c ? m(e, t, n, r, i, o, a, s) : u(e, t, n, r, i, o, a, s, y(e, t, n, r, i, o, a, s, c)) } function l(n, r) { function i(e) { return + ( + e).toFixed(3) } return e._.cacher(function(e, o, a) { e instanceof t && (e = e.attr("d")), e = D(e); for (var s, l, p, f, h, d = "", m = {}, y = 0, g = 0, v = e.length; g < v; g++) { if (p = e[g], "M" == p[0]) s = +p[1], l = +p[2]; else { if (f = c(s, l, p[1], p[2], p[3], p[4], p[5], p[6]), y + f > o) { if (r && !m.start) { if (h = c(s, l, p[1], p[2], p[3], p[4], p[5], p[6], o - y), d += ["C" + i(h.start.x), i(h.start.y), i(h.m.x), i(h.m.y), i(h.x), i(h.y)], a) return d; m.start = d, d = ["M" + i(h.x), i(h.y) + "C" + i(h.n.x), i(h.n.y), i(h.end.x), i(h.end.y), i(p[5]), i(p[6])].join(), y += f, s = +p[5], l = +p[6]; continue } if (!n && !r) return h = c(s, l, p[1], p[2], p[3], p[4], p[5], p[6], o - y) } y += f, s = +p[5], l = +p[6] } d += p.shift() + p } return m.end = d, h = n ? y: r ? m: u(s, l, p[0], p[1], p[2], p[3], p[4], p[5], 1) }, null, e._.clone) } function u(e, t, n, r, i, o, a, s, c) { var l = 1 - c, u = q(l, 3), p = q(l, 2), f = c * c, h = f * c, d = u * e + 3 * p * c * n + 3 * l * c * c * i + h * a, m = u * t + 3 * p * c * r + 3 * l * c * c * o + h * s, y = e + 2 * c * (n - e) + f * (i - 2 * n + e), g = t + 2 * c * (r - t) + f * (o - 2 * r + t), v = n + 2 * c * (i - n) + f * (a - 2 * i + n), x = r + 2 * c * (o - r) + f * (s - 2 * o + r), b = l * e + c * n, E = l * t + c * r, w = l * i + c * a, A = l * o + c * s, _ = 90 - 180 * G.atan2(y - v, g - x) / U; return { x: d, y: m, m: { x: y, y: g }, n: { x: v, y: x }, start: { x: b, y: E }, end: { x: w, y: A }, alpha: _ } } function p(t, n, r, i, a, s, c, l) { e.is(t, "array") || (t = [t, n, r, i, a, s, c, l]); var u = P.apply(null, t); return o(u.min.x, u.min.y, u.max.x - u.min.x, u.max.y - u.min.y) } function f(e, t, n) { return t >= e.x && t <= e.x + e.width && n >= e.y && n <= e.y + e.height } function h(e, t) { return e = o(e), t = o(t), f(t, e.x, e.y) || f(t, e.x2, e.y) || f(t, e.x, e.y2) || f(t, e.x2, e.y2) || f(e, t.x, t.y) || f(e, t.x2, t.y) || f(e, t.x, t.y2) || f(e, t.x2, t.y2) || (e.x < t.x2 && e.x > t.x || t.x < e.x2 && t.x > e.x) && (e.y < t.y2 && e.y > t.y || t.y < e.y2 && t.y > e.y) } function d(e, t, n, r, i) { var o = -3 * t + 9 * n - 9 * r + 3 * i, a = e * o + 6 * t - 12 * n + 6 * r; return e * a - 3 * t + 3 * n } function m(e, t, n, r, i, o, a, s, c) { null == c && (c = 1), c = c > 1 ? 1 : c < 0 ? 0 : c; for (var l = c / 2, u = 12, p = [ - .1252, .1252, -.3678, .3678, -.5873, .5873, -.7699, .7699, -.9041, .9041, -.9816, .9816], f = [.2491, .2491, .2335, .2335, .2032, .2032, .1601, .1601, .1069, .1069, .0472, .0472], h = 0, m = 0; m < u; m++) { var y = l * p[m] + l, g = d(y, e, n, i, a), v = d(y, t, r, o, s), x = g * g + v * v; h += f[m] * G.sqrt(x) } return l * h } function y(e, t, n, r, i, o, a, s, c) { if (! (c < 0 || m(e, t, n, r, i, o, a, s) < c)) { var l, u = 1, p = u / 2, f = u - p, h = .01; for (l = m(e, t, n, r, i, o, a, s, f); H(l - c) > h;) p /= 2, f += (l < c ? 1 : -1) * p, l = m(e, t, n, r, i, o, a, s, f); return f } } function g(e, t, n, r, i, o, a, s) { if (! (z(e, n) < W(i, a) || W(e, n) > z(i, a) || z(t, r) < W(o, s) || W(t, r) > z(o, s))) { var c = (e * r - t * n) * (i - a) - (e - n) * (i * s - o * a), l = (e * r - t * n) * (o - s) - (t - r) * (i * s - o * a), u = (e - n) * (o - s) - (t - r) * (i - a); if (u) { var p = c / u, f = l / u, h = +p.toFixed(2), d = +f.toFixed(2); if (! (h < +W(e, n).toFixed(2) || h > +z(e, n).toFixed(2) || h < +W(i, a).toFixed(2) || h > +z(i, a).toFixed(2) || d < +W(t, r).toFixed(2) || d > +z(t, r).toFixed(2) || d < +W(o, s).toFixed(2) || d > +z(o, s).toFixed(2))) return { x: p, y: f } } } } function v(e, t, n) { var r = p(e), i = p(t); if (!h(r, i)) return n ? 0 : []; for (var o = m.apply(0, e), a = m.apply(0, t), s = ~~ (o / 8), c = ~~ (a / 8), l = [], f = [], d = {}, y = n ? 0 : [], v = 0; v < s + 1; v++) { var x = u.apply(0, e.concat(v / s)); l.push({ x: x.x, y: x.y, t: v / s }) } for (v = 0; v < c + 1; v++) x = u.apply(0, t.concat(v / c)), f.push({ x: x.x, y: x.y, t: v / c }); for (v = 0; v < s; v++) for (var b = 0; b < c; b++) { var E = l[v], w = l[v + 1], A = f[b], _ = f[b + 1], S = H(w.x - E.x) < .001 ? "y": "x", T = H(_.x - A.x) < .001 ? "y": "x", C = g(E.x, E.y, w.x, w.y, A.x, A.y, _.x, _.y); if (C) { if (d[C.x.toFixed(4)] == C.y.toFixed(4)) continue; d[C.x.toFixed(4)] = C.y.toFixed(4); var R = E.t + H((C[S] - E[S]) / (w[S] - E[S])) * (w.t - E.t), N = A.t + H((C[T] - A[T]) / (_[T] - A[T])) * (_.t - A.t); R >= 0 && R <= 1 && N >= 0 && N <= 1 && (n ? y++:y.push({ x: C.x, y: C.y, t1: R, t2: N })) } } return y } function x(e, t) { return E(e, t) } function b(e, t) { return E(e, t, 1) } function E(e, t, n) { e = D(e), t = D(t); for (var r, i, o, a, s, c, l, u, p, f, h = n ? 0 : [], d = 0, m = e.length; d < m; d++) { var y = e[d]; if ("M" == y[0]) r = s = y[1], i = c = y[2]; else { "C" == y[0] ? (p = [r, i].concat(y.slice(1)), r = p[6], i = p[7]) : (p = [r, i, r, i, s, c, s, c], r = s, i = c); for (var g = 0, x = t.length; g < x; g++) { var b = t[g]; if ("M" == b[0]) o = l = b[1], a = u = b[2]; else { "C" == b[0] ? (f = [o, a].concat(b.slice(1)), o = f[6], a = f[7]) : (f = [o, a, o, a, l, u, l, u], o = l, a = u); var E = v(p, f, n); if (n) h += E; else { for (var w = 0, A = E.length; w < A; w++) E[w].segment1 = d, E[w].segment2 = g, E[w].bez1 = p, E[w].bez2 = f; h = h.concat(E) } } } } } return h } function w(e, t, n) { var r = A(e); return f(r, t, n) && E(e, [["M", t, n], ["H", r.x2 + 10]], 1) % 2 == 1 } function A(e) { var t = i(e); if (t.bbox) return L(t.bbox); if (!e) return o(); e = D(e); for (var n, r = 0, a = 0, s = [], c = [], l = 0, u = e.length; l < u; l++) if (n = e[l], "M" == n[0]) r = n[1], a = n[2], s.push(r), c.push(a); else { var p = P(r, a, n[1], n[2], n[3], n[4], n[5], n[6]); s = s.concat(p.min.x, p.max.x), c = c.concat(p.min.y, p.max.y), r = n[5], a = n[6] } var f = W.apply(0, s), h = W.apply(0, c), d = z.apply(0, s), m = z.apply(0, c), y = o(f, h, d - f, m - h); return t.bbox = L(y), y } function _(e, t, n, r, i) { if (i) return [["M", +e + +i, t], ["l", n - 2 * i, 0], ["a", i, i, 0, 0, 1, i, i], ["l", 0, r - 2 * i], ["a", i, i, 0, 0, 1, -i, i], ["l", 2 * i - n, 0], ["a", i, i, 0, 0, 1, -i, -i], ["l", 0, 2 * i - r], ["a", i, i, 0, 0, 1, i, -i], ["z"]]; var o = [["M", e, t], ["l", n, 0], ["l", 0, r], ["l", -n, 0], ["z"]]; return o.toString = a, o } function S(e, t, n, r, i) { if (null == i && null == r && (r = n), e = +e, t = +t, n = +n, r = +r, null != i) var o = Math.PI / 180, s = e + n * Math.cos( - r * o), c = e + n * Math.cos( - i * o), l = t + n * Math.sin( - r * o), u = t + n * Math.sin( - i * o), p = [["M", s, l], ["A", n, n, 0, +(i - r > 180), 0, c, u]]; else p = [["M", e, t], ["m", 0, -r], ["a", n, r, 0, 1, 1, 0, 2 * r], ["a", n, r, 0, 1, 1, 0, -2 * r], ["z"]]; return p.toString = a, p } function T(t) { var n = i(t), r = String.prototype.toLowerCase; if (n.rel) return s(n.rel); e.is(t, "array") && e.is(t && t[0], "array") || (t = e.parsePathString(t)); var o = [], c = 0, l = 0, u = 0, p = 0, f = 0; "M" == t[0][0] && (c = t[0][1], l = t[0][2], u = c, p = l, f++, o.push(["M", c, l])); for (var h = f, d = t.length; h < d; h++) { var m = o[h] = [], y = t[h]; if (y[0] != r.call(y[0])) switch (m[0] = r.call(y[0]), m[0]) { case "a": m[1] = y[1], m[2] = y[2], m[3] = y[3], m[4] = y[4], m[5] = y[5], m[6] = +(y[6] - c).toFixed(3), m[7] = +(y[7] - l).toFixed(3); break; case "v": m[1] = +(y[1] - l).toFixed(3); break; case "m": u = y[1], p = y[2]; default: for (var g = 1, v = y.length; g < v; g++) m[g] = +(y[g] - (g % 2 ? c: l)).toFixed(3) } else { m = o[h] = [], "m" == y[0] && (u = y[1] + c, p = y[2] + l); for (var x = 0, b = y.length; x < b; x++) o[h][x] = y[x] } var E = o[h].length; switch (o[h][0]) { case "z": c = u, l = p; break; case "h": c += +o[h][E - 1]; break; case "v": l += +o[h][E - 1]; break; default: c += +o[h][E - 2], l += +o[h][E - 1] } } return o.toString = a, n.rel = s(o), o } function C(t) { var n = i(t); if (n.abs) return s(n.abs); if (I(t, "array") && I(t && t[0], "array") || (t = e.parsePathString(t)), !t || !t.length) return [["M", 0, 0]]; var r, o = [], c = 0, l = 0, u = 0, p = 0, f = 0; "M" == t[0][0] && (c = +t[0][1], l = +t[0][2], u = c, p = l, f++, o[0] = ["M", c, l]); for (var h, d, m = 3 == t.length && "M" == t[0][0] && "R" == t[1][0].toUpperCase() && "Z" == t[2][0].toUpperCase(), y = f, g = t.length; y < g; y++) { if (o.push(h = []), d = t[y], r = d[0], r != r.toUpperCase()) switch (h[0] = r.toUpperCase(), h[0]) { case "A": h[1] = d[1], h[2] = d[2], h[3] = d[3], h[4] = d[4], h[5] = d[5], h[6] = +d[6] + c, h[7] = +d[7] + l; break; case "V": h[1] = +d[1] + l; break; case "H": h[1] = +d[1] + c; break; case "R": for (var v = [c, l].concat(d.slice(1)), x = 2, b = v.length; x < b; x++) v[x] = +v[x] + c, v[++x] = +v[x] + l; o.pop(), o = o.concat(O(v, m)); break; case "O": o.pop(), v = S(c, l, d[1], d[2]), v.push(v[0]), o = o.concat(v); break; case "U": o.pop(), o = o.concat(S(c, l, d[1], d[2], d[3])), h = ["U"].concat(o[o.length - 1].slice( - 2)); break; case "M": u = +d[1] + c, p = +d[2] + l; default: for (x = 1, b = d.length; x < b; x++) h[x] = +d[x] + (x % 2 ? c: l) } else if ("R" == r) v = [c, l].concat(d.slice(1)), o.pop(), o = o.concat(O(v, m)), h = ["R"].concat(d.slice( - 2)); else if ("O" == r) o.pop(), v = S(c, l, d[1], d[2]), v.push(v[0]), o = o.concat(v); else if ("U" == r) o.pop(), o = o.concat(S(c, l, d[1], d[2], d[3])), h = ["U"].concat(o[o.length - 1].slice( - 2)); else for (var E = 0, w = d.length; E < w; E++) h[E] = d[E]; if (r = r.toUpperCase(), "O" != r) switch (h[0]) { case "Z": c = +u, l = +p; break; case "H": c = h[1]; break; case "V": l = h[1]; break; case "M": u = h[h.length - 2], p = h[h.length - 1]; default: c = h[h.length - 2], l = h[h.length - 1] } } return o.toString = a, n.abs = s(o), o } function R(e, t, n, r) { return [e, t, n, r, n, r] } function N(e, t, n, r, i, o) { var a = 1 / 3, s = 2 / 3; return [a * e + s * n, a * t + s * r, a * i + s * n, a * o + s * r, i, o] } function M(t, n, r, i, o, a, s, c, l, u) { var p, f = 120 * U / 180, h = U / 180 * ( + o || 0), d = [], m = e._.cacher(function(e, t, n) { var r = e * G.cos(n) - t * G.sin(n), i = e * G.sin(n) + t * G.cos(n); return { x: r, y: i } }); if (u) _ = u[0], S = u[1], w = u[2], A = u[3]; else { p = m(t, n, -h), t = p.x, n = p.y, p = m(c, l, -h), c = p.x, l = p.y; var y = (G.cos(U / 180 * o), G.sin(U / 180 * o), (t - c) / 2), g = (n - l) / 2, v = y * y / (r * r) + g * g / (i * i); v > 1 && (v = G.sqrt(v), r = v * r, i = v * i); var x = r * r, b = i * i, E = (a == s ? -1 : 1) * G.sqrt(H((x * b - x * g * g - b * y * y) / (x * g * g + b * y * y))), w = E * r * g / i + (t + c) / 2, A = E * -i * y / r + (n + l) / 2, _ = G.asin(((n - A) / i).toFixed(9)), S = G.asin(((l - A) / i).toFixed(9)); _ = t < w ? U - _: _, S = c < w ? U - S: S, _ < 0 && (_ = 2 * U + _), S < 0 && (S = 2 * U + S), s && _ > S && (_ -= 2 * U), !s && S > _ && (S -= 2 * U) } var T = S - _; if (H(T) > f) { var C = S, R = c, N = l; S = _ + f * (s && S > _ ? 1 : -1), c = w + r * G.cos(S), l = A + i * G.sin(S), d = M(c, l, r, i, o, 0, s, R, N, [S, C, w, A]) } T = S - _; var P = G.cos(_), D = G.sin(_), k = G.cos(S), O = G.sin(S), B = G.tan(T / 4), I = 4 / 3 * r * B, L = 4 / 3 * i * B, F = [t, n], j = [t + I * D, n - L * P], V = [c + I * O, l - L * k], W = [c, l]; if (j[0] = 2 * F[0] - j[0], j[1] = 2 * F[1] - j[1], u) return [j, V, W].concat(d); d = [j, V, W].concat(d).join().split(","); for (var z = [], q = 0, Y = d.length; q < Y; q++) z[q] = q % 2 ? m(d[q - 1], d[q], h).y: m(d[q], d[q + 1], h).x; return z } function P(e, t, n, r, i, o, a, s) { for (var c, l, u, p, f, h, d, m, y = [], g = [[], []], v = 0; v < 2; ++v) if (0 == v ? (l = 6 * e - 12 * n + 6 * i, c = -3 * e + 9 * n - 9 * i + 3 * a, u = 3 * n - 3 * e) : (l = 6 * t - 12 * r + 6 * o, c = -3 * t + 9 * r - 9 * o + 3 * s, u = 3 * r - 3 * t), H(c) < 1e-12) { if (H(l) < 1e-12) continue; p = -u / l, 0 < p && p < 1 && y.push(p) } else d = l * l - 4 * u * c, m = G.sqrt(d), d < 0 || (f = ( - l + m) / (2 * c), 0 < f && f < 1 && y.push(f), h = ( - l - m) / (2 * c), 0 < h && h < 1 && y.push(h)); for (var x, b = y.length, E = b; b--;) p = y[b], x = 1 - p, g[0][b] = x * x * x * e + 3 * x * x * p * n + 3 * x * p * p * i + p * p * p * a, g[1][b] = x * x * x * t + 3 * x * x * p * r + 3 * x * p * p * o + p * p * p * s; return g[0][E] = e, g[1][E] = t, g[0][E + 1] = a, g[1][E + 1] = s, g[0].length = g[1].length = E + 2, { min: { x: W.apply(0, g[0]), y: W.apply(0, g[1]) }, max: { x: z.apply(0, g[0]), y: z.apply(0, g[1]) } } } function D(e, t) { var n = !t && i(e); if (!t && n.curve) return s(n.curve); for (var r = C(e), o = t && C(t), a = { x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null }, c = { x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null }, l = (function(e, t, n) { var r, i; if (!e) return ["C", t.x, t.y, t.x, t.y, t.x, t.y]; switch (! (e[0] in { T: 1, Q: 1 }) && (t.qx = t.qy = null), e[0]) { case "M": t.X = e[1], t.Y = e[2]; break; case "A": e = ["C"].concat(M.apply(0, [t.x, t.y].concat(e.slice(1)))); break; case "S": "C" == n || "S" == n ? (r = 2 * t.x - t.bx, i = 2 * t.y - t.by) : (r = t.x, i = t.y), e = ["C", r, i].concat(e.slice(1)); break; case "T": "Q" == n || "T" == n ? (t.qx = 2 * t.x - t.qx, t.qy = 2 * t.y - t.qy) : (t.qx = t.x, t.qy = t.y), e = ["C"].concat(N(t.x, t.y, t.qx, t.qy, e[1], e[2])); break; case "Q": t.qx = e[1], t.qy = e[2], e = ["C"].concat(N(t.x, t.y, e[1], e[2], e[3], e[4])); break; case "L": e = ["C"].concat(R(t.x, t.y, e[1], e[2])); break; case "H": e = ["C"].concat(R(t.x, t.y, e[1], t.y)); break; case "V": e = ["C"].concat(R(t.x, t.y, t.x, e[1])); break; case "Z": e = ["C"].concat(R(t.x, t.y, t.X, t.Y)) } return e }), u = function(e, t) { if (e[t].length > 7) { e[t].shift(); for (var n = e[t]; n.length;) f[t] = "A", o && (h[t] = "A"), e.splice(t++, 0, ["C"].concat(n.splice(0, 6))); e.splice(t, 1), g = z(r.length, o && o.length || 0) } }, p = function(e, t, n, i, a) { e && t && "M" == e[a][0] && "M" != t[a][0] && (t.splice(a, 0, ["M", i.x, i.y]), n.bx = 0, n.by = 0, n.x = e[a][1], n.y = e[a][2], g = z(r.length, o && o.length || 0)) }, f = [], h = [], d = "", m = "", y = 0, g = z(r.length, o && o.length || 0); y < g; y++) { r[y] && (d = r[y][0]), "C" != d && (f[y] = d, y && (m = f[y - 1])), r[y] = l(r[y], a, m), "A" != f[y] && "C" == d && (f[y] = "C"), u(r, y), o && (o[y] && (d = o[y][0]), "C" != d && (h[y] = d, y && (m = h[y - 1])), o[y] = l(o[y], c, m), "A" != h[y] && "C" == d && (h[y] = "C"), u(o, y)), p(r, o, a, c, y), p(o, r, c, a, y); var v = r[y], x = o && o[y], b = v.length, E = o && x.length; a.x = v[b - 2], a.y = v[b - 1], a.bx = V(v[b - 4]) || a.x, a.by = V(v[b - 3]) || a.y, c.bx = o && (V(x[E - 4]) || c.x), c.by = o && (V(x[E - 3]) || c.y), c.x = o && x[E - 2], c.y = o && x[E - 1] } return o || (n.curve = s(r)), o ? [r, o] : r } function k(e, t) { if (!t) return e; var n, r, i, o, a, s, c; for (e = D(e), i = 0, a = e.length; i < a; i++) for (c = e[i], o = 1, s = c.length; o < s; o += 2) n = t.x(c[o], c[o + 1]), r = t.y(c[o], c[o + 1]), c[o] = n, c[o + 1] = r; return e } function O(e, t) { for (var n = [], r = 0, i = e.length; i - 2 * !t > r; r += 2) { var o = [{ x: +e[r - 2], y: +e[r - 1] }, { x: +e[r], y: +e[r + 1] }, { x: +e[r + 2], y: +e[r + 3] }, { x: +e[r + 4], y: +e[r + 5] }]; t ? r ? i - 4 == r ? o[3] = { x: +e[0], y: +e[1] }: i - 2 == r && (o[2] = { x: +e[0], y: +e[1] }, o[3] = { x: +e[2], y: +e[3] }) : o[0] = { x: +e[i - 2], y: +e[i - 1] }: i - 4 == r ? o[3] = o[2] : r || (o[0] = { x: +e[r], y: +e[r + 1] }), n.push(["C", ( - o[0].x + 6 * o[1].x + o[2].x) / 6, ( - o[0].y + 6 * o[1].y + o[2].y) / 6, (o[1].x + 6 * o[2].x - o[3].x) / 6, (o[1].y + 6 * o[2].y - o[3].y) / 6, o[2].x, o[2].y]) } return n } var B = t.prototype, I = e.is, L = e._.clone, F = "hasOwnProperty", j = /,?([a-z]),?/gi, V = parseFloat, G = Math, U = G.PI, W = G.min, z = G.max, q = G.pow, H = G.abs, Y = l(1), $ = l(), K = l(0, 1), X = e._unit2px, Q = { path: function(e) { return e.attr("path") }, circle: function(e) { var t = X(e); return S(t.cx, t.cy, t.r) }, ellipse: function(e) { var t = X(e); return S(t.cx || 0, t.cy || 0, t.rx, t.ry) }, rect: function(e) { var t = X(e); return _(t.x || 0, t.y || 0, t.width, t.height, t.rx, t.ry) }, image: function(e) { var t = X(e); return _(t.x || 0, t.y || 0, t.width, t.height) }, line: function(e) { return "M" + [e.attr("x1") || 0, e.attr("y1") || 0, e.attr("x2"), e.attr("y2")] }, polyline: function(e) { return "M" + e.attr("points") }, polygon: function(e) { return "M" + e.attr("points") + "z" }, deflt: function(e) { var t = e.node.getBBox(); return _(t.x, t.y, t.width, t.height) } }; e.path = i, e.path.getTotalLength = Y, e.path.getPointAtLength = $, e.path.getSubpath = function(e, t, n) { if (this.getTotalLength(e) - n < 1e-6) return K(e, t).end; var r = K(e, n, 1); return t ? K(r, t).end: r }, B.getTotalLength = function() { if (this.node.getTotalLength) return this.node.getTotalLength() }, B.getPointAtLength = function(e) { return $(this.attr("d"), e) }, B.getSubpath = function(t, n) { return e.path.getSubpath(this.attr("d"), t, n) }, e._.box = o, e.path.findDotsAtSegment = u, e.path.bezierBBox = p, e.path.isPointInsideBBox = f, e.path.isBBoxIntersect = h, e.path.intersection = x, e.path.intersectionNumber = b, e.path.isPointInside = w, e.path.getBBox = A, e.path.get = Q, e.path.toRelative = T, e.path.toAbsolute = C, e.path.toCubic = D, e.path.map = k, e.path.toString = a, e.path.clone = s }), r.plugin(function(e, n, r, i) { for (var o = n.prototype, a = "hasOwnProperty", s = ("createTouch" in i.doc), c = ["click", "dblclick", "mousedown", "mousemove", "mouseout", "mouseover", "mouseup", "touchstart", "touchmove", "touchend", "touchcancel"], l = { mousedown: "touchstart", mousemove: "touchmove", mouseup: "touchend" }, u = (function(e, t) { var n = "y" == e ? "scrollTop": "scrollLeft", r = t && t.node ? t.node.ownerDocument: i.doc; return r[n in r.documentElement ? "documentElement": "body"][n] }), p = function() { this.returnValue = !1 }, f = function() { return this.originalEvent.preventDefault() }, h = function() { this.cancelBubble = !0 }, d = function() { return this.originalEvent.stopPropagation() }, m = function() { return i.doc.addEventListener ? function(e, t, n, r) { var i = s && l[t] ? l[t] : t, o = function(i) { var o = u("y", r), c = u("x", r); if (s && l[a](t)) for (var p = 0, h = i.targetTouches && i.targetTouches.length; p < h; p++) if (i.targetTouches[p].target == e || e.contains(i.targetTouches[p].target)) { var m = i; i = i.targetTouches[p], i.originalEvent = m, i.preventDefault = f, i.stopPropagation = d; break } var y = i.clientX + c, g = i.clientY + o; return n.call(r, i, y, g) }; return t !== i && e.addEventListener(t, o, !1), e.addEventListener(i, o, !1), function() { return t !== i && e.removeEventListener(t, o, !1), e.removeEventListener(i, o, !1), !0 } }: i.doc.attachEvent ? function(e, t, n, r) { var i = function(e) { e = e || r.node.ownerDocument.window.event; var t = u("y", r), i = u("x", r), o = e.clientX + i, a = e.clientY + t; return e.preventDefault = e.preventDefault || p, e.stopPropagation = e.stopPropagation || h, n.call(r, e, o, a) }; e.attachEvent("on" + t, i); var o = function() { return e.detachEvent("on" + t, i), !0 }; return o }: void 0 } (), y = [], g = function(e) { for (var n, r = e.clientX, i = e.clientY, o = u("y"), a = u("x"), c = y.length; c--;) { if (n = y[c], s) { for (var l, p = e.touches && e.touches.length; p--;) if (l = e.touches[p], l.identifier == n.el._drag.id || n.el.node.contains(l.target)) { r = l.clientX, i = l.clientY, (e.originalEvent ? e.originalEvent: e).preventDefault(); break } } else e.preventDefault(); var f = n.el.node; f.nextSibling, f.parentNode, f.style.display; r += a, i += o, t("snap.drag.move." + n.el.id, n.move_scope || n.el, r - n.el._drag.x, i - n.el._drag.y, r, i, e) } }, v = function(n) { e.unmousemove(g).unmouseup(v); for (var r, i = y.length; i--;) r = y[i], r.el._drag = {}, t("snap.drag.end." + r.el.id, r.end_scope || r.start_scope || r.move_scope || r.el, n); y = [] }, x = c.length; x--;) ! function(t) { e[t] = o[t] = function(n, r) { return e.is(n, "function") && (this.events = this.events || [], this.events.push({ name: t, f: n, unbind: m(this.node || document, t, n, r || this) })), this }, e["un" + t] = o["un" + t] = function(e) { for (var n = this.events || [], r = n.length; r--;) if (n[r].name == t && (n[r].f == e || !e)) return n[r].unbind(), n.splice(r, 1), !n.length && delete this.events, this; return this } } (c[x]); o.hover = function(e, t, n, r) { return this.mouseover(e, n).mouseout(t, r || n) }, o.unhover = function(e, t) { return this.unmouseover(e).unmouseout(t) }; var b = []; o.drag = function(n, r, i, o, a, s) { function c(c, l, u) { (c.originalEvent || c).preventDefault(), this._drag.x = l, this._drag.y = u, this._drag.id = c.identifier, !y.length && e.mousemove(g).mouseup(v), y.push({ el: this, move_scope: o, start_scope: a, end_scope: s }), r && t.on("snap.drag.start." + this.id, r), n && t.on("snap.drag.move." + this.id, n), i && t.on("snap.drag.end." + this.id, i), t("snap.drag.start." + this.id, a || o || this, l, u, c) } if (!arguments.length) { var l; return this.drag(function(e, t) { this.attr({ transform: l + (l ? "T": "t") + [e, t] }) }, function() { l = this.transform().local }) } return this._drag = {}, b.push({ el: this, start: c }), this.mousedown(c), this }, o.undrag = function() { for (var n = b.length; n--;) b[n].el == this && (this.unmousedown(b[n].start), b.splice(n, 1), t.unbind("snap.drag.*." + this.id)); return ! b.length && e.unmousemove(g).unmouseup(v), this } }), r.plugin(function(e, n, r, i) { var o = (n.prototype, r.prototype), a = /^\s*url\((.+)\)/, s = String, c = e._.$; e.filter = {}, o.filter = function(t) { var r = this; "svg" != r.type && (r = r.paper); var i = e.parse(s(t)), o = e._.id(), a = (r.node.offsetWidth, r.node.offsetHeight, c("filter")); return c(a, { id: o, filterUnits: "userSpaceOnUse" }), a.appendChild(i.node), r.defs.appendChild(a), new n(a) }, t.on("snap.util.getattr.filter", function() { t.stop(); var n = c(this.node, "filter"); if (n) { var r = s(n).match(a); return r && e.select(r[1]) } }), t.on("snap.util.attr.filter", function(r) { if (r instanceof n && "filter" == r.type) { t.stop(); var i = r.node.id; i || (c(r.node, { id: r.id }), i = r.id), c(this.node, { filter: e.url(i) }) } r && "none" != r || (t.stop(), this.node.removeAttribute("filter")) }), e.filter.blur = function(t, n) { null == t && (t = 2); var r = null == n ? t: [t, n]; return e.format('', { def: r }) }, e.filter.blur.toString = function() { return this() }, e.filter.shadow = function(t, n, r, i, o) { return "string" == typeof r && (i = r, o = i, r = 4), "string" != typeof i && (o = i, i = "#000"), i = i || "#000", null == r && (r = 4), null == o && (o = 1), null == t && (t = 0, n = 2), null == n && (n = t), i = e.color(i), e.format('', { color: i, dx: t, dy: n, blur: r, opacity: o }) }, e.filter.shadow.toString = function() { return this() }, e.filter.grayscale = function(t) { return null == t && (t = 1), e.format('', { a: .2126 + .7874 * (1 - t), b: .7152 - .7152 * (1 - t), c: .0722 - .0722 * (1 - t), d: .2126 - .2126 * (1 - t), e: .7152 + .2848 * (1 - t), f: .0722 - .0722 * (1 - t), g: .2126 - .2126 * (1 - t), h: .0722 + .9278 * (1 - t) }) }, e.filter.grayscale.toString = function() { return this() }, e.filter.sepia = function(t) { return null == t && (t = 1), e.format('', { a: .393 + .607 * (1 - t), b: .769 - .769 * (1 - t), c: .189 - .189 * (1 - t), d: .349 - .349 * (1 - t), e: .686 + .314 * (1 - t), f: .168 - .168 * (1 - t), g: .272 - .272 * (1 - t), h: .534 - .534 * (1 - t), i: .131 + .869 * (1 - t) }) }, e.filter.sepia.toString = function() { return this() }, e.filter.saturate = function(t) { return null == t && (t = 1), e.format('', { amount: 1 - t }) }, e.filter.saturate.toString = function() { return this() }, e.filter.hueRotate = function(t) { return t = t || 0, e.format('', { angle: t }) }, e.filter.hueRotate.toString = function() { return this() }, e.filter.invert = function(t) { return null == t && (t = 1), e.format('', { amount: t, amount2: 1 - t }) }, e.filter.invert.toString = function() { return this() }, e.filter.brightness = function(t) { return null == t && (t = 1), e.format('', { amount: t }) }, e.filter.brightness.toString = function() { return this() }, e.filter.contrast = function(t) { return null == t && (t = 1), e.format('', { amount: t, amount2: .5 - t / 2 }) }, e.filter.contrast.toString = function() { return this() } }), r }) }, { 74 : 74 }], 76 : [function(e, t, n) { "use strict"; var r = t.exports = e(75); r.plugin(function(e, t) { t.prototype.children = function() { for (var t = [], n = this.node.childNodes, r = 0, i = n.length; r < i; r++) t[r] = new e(n[r]); return t } }), r.plugin(function(e, t, n, r) { function i(e) { return e.split(/\s+/) } function o(e) { return e.join(" ") } function a(e) { return i(e.attr("class") || "") } function s(e, t) { e.attr("class", o(t)) } t.prototype.addClass = function(e) { var t, n, r = a(this), o = i(e); for (t = 0, n; n = o[t]; t++) r.indexOf(n) === -1 && r.push(n); return s(this, r), this }, t.prototype.hasClass = function(e) { if (!e) throw new Error("[snapsvg] syntax: hasClass(clsStr)"); return a(this).indexOf(e) !== -1 }, t.prototype.removeClass = function(e) { var t, n, r, o = a(this), c = i(e); for (t = 0, n; n = c[t]; t++) r = o.indexOf(n), r !== -1 && o.splice(r, 1); return s(this, o), this } }), r.plugin(function(e, t, n, r) { t.prototype.translate = function(t, n) { var r = new e.Matrix; return r.translate(t, n), this.transform(r) } }), r.plugin(function(e) { e.create = function(t, n) { return e._.wrap(e._.$(t, n)) } }), r.plugin(function(e, t, n, r) { e.createSnapAt = function(t, n, r) { var i = document.createElementNS("http://www.w3.org/2000/svg", "svg"); return i.setAttribute("width", t), i.setAttribute("height", n), r || (r = document.body), r.appendChild(i), new e(i) } }) }, { 75 : 75 }], 77 : [function(e, t, n) { "function" == typeof Object.create ? t.exports = function(e, t) { e.super_ = t, e.prototype = Object.create(t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }) }: t.exports = function(e, t) { e.super_ = t; var n = function() {}; n.prototype = t.prototype, e.prototype = new n, e.prototype.constructor = e } }, {}], 78 : [function(e, t, n) { function r(e) { var t = e ? e.length: 0; return t ? e[t - 1] : void 0 } t.exports = r }, {}], 79 : [function(e, t, n) { function r(e) { if (c(e) && !s(e) && !(e instanceof i)) { if (e instanceof o) return e; if (p.call(e, "__chain__") && p.call(e, "__wrapped__")) return l(e) } return new o(e) } var i = e(94), o = e(95), a = e(126), s = e(188), c = e(173), l = e(186), u = Object.prototype, p = u.hasOwnProperty; r.prototype = a.prototype, t.exports = r }, { 126 : 126, 173 : 173, 186 : 186, 188 : 188, 94 : 94, 95 : 95 }], 80 : [function(e, t, n) { function r(e, t, n) { var r = s(e) ? i: a; return n && c(e, t, n) && (t = void 0), "function" == typeof t && void 0 === n || (t = o(t, n, 3)), r(e, t) } var i = e(99), o = e(107), a = e(113), s = e(188), c = e(169); t.exports = r }, { 107 : 107, 113 : 113, 169 : 169, 188 : 188, 99 : 99 }], 81 : [function(e, t, n) { function r(e, t, n) { var r = s(e) ? i: a; return t = o(t, n, 3), r(e, t) } var i = e(100), o = e(107), a = e(114), s = e(188); t.exports = r }, { 100 : 100, 107 : 107, 114 : 114, 188 : 188 }], 82 : [function(e, t, n) { var r = e(112), i = e(152), o = i(r); t.exports = o }, { 112 : 112, 152 : 152 }], 83 : [function(e, t, n) { var r = e(98), i = e(112), o = e(153), a = o(r, i); t.exports = a }, { 112 : 112, 153 : 153, 98 : 98 }], 84 : [function(e, t, n) { var r = e(145), i = Object.prototype, o = i.hasOwnProperty, a = r(function(e, t, n) { o.call(e, n) ? e[n].push(t) : e[n] = [t] }); t.exports = a }, { 145 : 145 }], 85 : [function(e, t, n) { function r(e, t, n, r) { var f = e ? o(e) : 0; return c(f) || (e = u(e), f = e.length), n = "number" != typeof n || r && s(t, n, r) ? 0 : n < 0 ? p(f + n, 0) : n || 0, "string" == typeof e || !a(e) && l(e) ? n <= f && e.indexOf(t, n) > -1 : !!f && i(e, t, n) > -1 } var i = e(122), o = e(163), a = e(188), s = e(169), c = e(172), l = e(194), u = e(204), p = Math.max; t.exports = r }, { 122 : 122, 163 : 163, 169 : 169, 172 : 172, 188 : 188, 194 : 194, 204 : 204 }], 86 : [function(e, t, n) { function r(e, t, n) { var r = s(e) ? i: a; return t = o(t, n, 3), r(e, t) } var i = e(101), o = e(107), a = e(127), s = e(188); t.exports = r }, { 101 : 101, 107 : 107, 127 : 127, 188 : 188 }], 87 : [function(e, t, n) { var r = e(103), i = e(112), o = e(156), a = o(r, i); t.exports = a }, { 103 : 103, 112 : 112, 156 : 156 }], 88 : [function(e, t, n) { function r(e, t, n) { var r = s(e) ? i: a; return n && c(e, t, n) && (t = void 0), "function" == typeof t && void 0 === n || (t = o(t, n, 3)), r(e, t) } var i = e(104), o = e(107), a = e(137), s = e(188), c = e(169); t.exports = r }, { 104 : 104, 107 : 107, 137 : 137, 169 : 169, 188 : 188 }], 89 : [function(e, t, n) { var r = e(165), i = r(Date, "now"), o = i || function() { return (new Date).getTime() }; t.exports = o }, { 165 : 165 }], 90 : [function(e, t, n) { var r = e(157), i = e(181), o = e(93), a = 1, s = 32, c = o(function(e, t, n) { var o = a; if (n.length) { var l = i(n, c.placeholder); o |= s } return r(e, o, t, n, l) }); c.placeholder = {}, t.exports = c }, { 157 : 157, 181 : 181, 93 : 93 }], 91 : [function(e, t, n) { function r(e, t, n) { function r() { g && clearTimeout(g), h && clearTimeout(h), x = 0, h = g = v = void 0 } function c(t, n) { n && clearTimeout(n), h = g = v = void 0, t && (x = o(), d = e.apply(y, f), g || h || (f = y = void 0)) } function l() { var e = t - (o() - m); e <= 0 || e > t ? c(v, h) : g = setTimeout(l, e) } function u() { c(E, g) } function p() { if (f = arguments, m = o(), y = this, v = E && (g || !w), b === !1) var n = w && !g; else { h || w || (x = m); var r = b - (m - x), i = r <= 0 || r > b; i ? (h && (h = clearTimeout(h)), x = m, d = e.apply(y, f)) : h || (h = setTimeout(u, r)) } return i && g ? g = clearTimeout(g) : g || t === b || (g = setTimeout(l, t)), n && (i = !0, d = e.apply(y, f)), !i || g || h || (f = y = void 0), d } var f, h, d, m, y, g, v, x = 0, b = !1, E = !0; if ("function" != typeof e) throw new TypeError(a); if (t = t < 0 ? 0 : +t || 0, n === !0) { var w = !0; E = !1 } else i(n) && (w = !!n.leading, b = "maxWait" in n && s( + n.maxWait || 0, t), E = "trailing" in n ? !!n.trailing: E); return p.cancel = r, p } var i = e(192), o = e(89), a = "Expected a function", s = Math.max; t.exports = r }, { 192 : 192, 89 : 89 }], 92 : [function(e, t, n) { var r = e(110), i = e(93), o = i(function(e, t) { return r(e, 1, t) }); t.exports = o }, { 110 : 110, 93 : 93 }], 93 : [function(e, t, n) { function r(e, t) { if ("function" != typeof e) throw new TypeError(i); return t = o(void 0 === t ? e.length - 1 : +t || 0, 0), function() { for (var n = arguments, r = -1, i = o(n.length - t, 0), a = Array(i); ++r < i;) a[r] = n[t + r]; switch (t) { case 0: return e.call(this, a); case 1: return e.call(this, n[0], a); case 2: return e.call(this, n[0], n[1], a) } var s = Array(t + 1); for (r = -1; ++r < t;) s[r] = n[r]; return s[t] = a, e.apply(this, s) } } var i = "Expected a function", o = Math.max; t.exports = r }, {}], 94 : [function(e, t, n) { function r(e) { this.__wrapped__ = e, this.__actions__ = [], this.__dir__ = 1, this.__filtered__ = !1, this.__iteratees__ = [], this.__takeCount__ = a, this.__views__ = [] } var i = e(109), o = e(126), a = Number.POSITIVE_INFINITY; r.prototype = i(o.prototype), r.prototype.constructor = r, t.exports = r }, { 109 : 109, 126 : 126 }], 95 : [function(e, t, n) { function r(e, t, n) { this.__wrapped__ = e, this.__actions__ = n || [], this.__chain__ = !!t } var i = e(109), o = e(126); r.prototype = i(o.prototype), r.prototype.constructor = r, t.exports = r }, { 109 : 109, 126 : 126 }], 96 : [function(e, t, n) { (function(n) { function r(e) { var t = e ? e.length: 0; for (this.data = { hash: s(null), set: new a }; t--;) this.push(e[t]) } var i = e(142), o = e(165), a = o(n, "Set"), s = o(Object, "create"); r.prototype.push = i, t.exports = r }).call(this, "undefined" != typeof global ? global: "undefined" != typeof self ? self: "undefined" != typeof window ? window: {}) }, { 142 : 142, 165 : 165 }], 97 : [function(e, t, n) { function r(e, t) { var n = -1, r = e.length; for (t || (t = Array(r)); ++n < r;) t[n] = e[n]; return t } t.exports = r }, {}], 98 : [function(e, t, n) { function r(e, t) { for (var n = -1, r = e.length; ++n < r && t(e[n], n, e) !== !1;); return e } t.exports = r }, {}], 99 : [function(e, t, n) { function r(e, t) { for (var n = -1, r = e.length; ++n < r;) if (!t(e[n], n, e)) return ! 1; return ! 0 } t.exports = r }, {}], 100 : [function(e, t, n) { function r(e, t) { for (var n = -1, r = e.length, i = -1, o = []; ++n < r;) { var a = e[n]; t(a, n, e) && (o[++i] = a) } return o } t.exports = r }, {}], 101 : [function(e, t, n) { function r(e, t) { for (var n = -1, r = e.length, i = Array(r); ++n < r;) i[n] = t(e[n], n, e); return i } t.exports = r }, {}], 102 : [function(e, t, n) { function r(e, t) { for (var n = -1, r = t.length, i = e.length; ++n < r;) e[i + n] = t[n]; return e } t.exports = r }, {}], 103 : [function(e, t, n) { function r(e, t, n, r) { var i = -1, o = e.length; for (r && o && (n = e[++i]); ++i < o;) n = t(n, e[i], i, e); return n } t.exports = r }, {}], 104 : [function(e, t, n) { function r(e, t) { for (var n = -1, r = e.length; ++n < r;) if (t(e[n], n, e)) return ! 0; return ! 1 } t.exports = r }, {}], 105 : [function(e, t, n) { function r(e, t, n) { for (var r = -1, o = i(t), a = o.length; ++r < a;) { var s = o[r], c = e[s], l = n(c, t[s], s, e, t); (l === l ? l === c: c !== c) && (void 0 !== c || s in e) || (e[s] = l) } return e } var i = e(198); t.exports = r }, { 198 : 198 }], 106 : [function(e, t, n) { function r(e, t) { return null == t ? e: i(t, o(t), e) } var i = e(108), o = e(198); t.exports = r }, { 108 : 108, 198 : 198 }], 107 : [function(e, t, n) { function r(e, t, n) { var r = typeof e; return "function" == r ? void 0 === t ? e: a(e, t, n) : null == e ? s: "object" == r ? i(e) : void 0 === t ? c(e) : o(e, t) } var i = e(128), o = e(129), a = e(140), s = e(205), c = e(207); t.exports = r }, { 128 : 128, 129 : 129, 140 : 140, 205 : 205, 207 : 207 }], 108 : [function(e, t, n) { function r(e, t, n) { n || (n = {}); for (var r = -1, i = t.length; ++r < i;) { var o = t[r]; n[o] = e[o] } return n } t.exports = r }, {}], 109 : [function(e, t, n) { var r = e(192), i = function() { function e() {} return function(t) { if (r(t)) { e.prototype = t; var n = new e; e.prototype = void 0 } return n || {} } } (); t.exports = i }, { 192 : 192 }], 110 : [function(e, t, n) { function r(e, t, n) { if ("function" != typeof e) throw new TypeError(i); return setTimeout(function() { e.apply(void 0, n) }, t) } var i = "Expected a function"; t.exports = r }, {}], 111 : [function(e, t, n) { function r(e, t) { var n = e ? e.length: 0, r = []; if (!n) return r; var c = -1, l = i, u = !0, p = u && t.length >= s ? a(t) : null, f = t.length; p && (l = o, u = !1, t = p); e: for (; ++c < n;) { var h = e[c]; if (u && h === h) { for (var d = f; d--;) if (t[d] === h) continue e; r.push(h) } else l(t, h, 0) < 0 && r.push(h) } return r } var i = e(122), o = e(141), a = e(150), s = 200; t.exports = r }, { 122 : 122, 141 : 141, 150 : 150 }], 112 : [function(e, t, n) { var r = e(120), i = e(147), o = i(r); t.exports = o }, { 120 : 120, 147 : 147 }], 113 : [function(e, t, n) { function r(e, t) { var n = !0; return i(e, function(e, r, i) { return n = !!t(e, r, i) }), n } var i = e(112); t.exports = r }, { 112 : 112 }], 114 : [function(e, t, n) { function r(e, t) { var n = []; return i(e, function(e, r, i) { t(e, r, i) && n.push(e) }), n } var i = e(112); t.exports = r }, { 112 : 112 }], 115 : [function(e, t, n) { function r(e, t, n, r) { var i; return n(e, function(e, n, o) { if (t(e, n, o)) return i = r ? n: e, !1 }), i } t.exports = r }, {}], 116 : [function(e, t, n) { function r(e, t, n) { for (var r = e.length, i = n ? r: -1; n ? i--:++i < r;) if (t(e[i], i, e)) return i; return - 1 } t.exports = r }, {}], 117 : [function(e, t, n) { function r(e, t, n, l) { l || (l = []); for (var u = -1, p = e.length; ++u < p;) { var f = e[u]; c(f) && s(f) && (n || a(f) || o(f)) ? t ? r(f, t, n, l) : i(l, f) : n || (l[l.length] = f) } return l } var i = e(102), o = e(187), a = e(188), s = e(167), c = e(173); t.exports = r }, { 102 : 102, 167 : 167, 173 : 173, 187 : 187, 188 : 188 }], 118 : [function(e, t, n) { var r = e(148), i = r(); t.exports = i }, { 148 : 148 }], 119 : [function(e, t, n) { function r(e, t) { return i(e, t, o) } var i = e(118), o = e(199); t.exports = r }, { 118 : 118, 199 : 199 }], 120 : [function(e, t, n) { function r(e, t) { return i(e, t, o) } var i = e(118), o = e(198); t.exports = r }, { 118 : 118, 198 : 198 }], 121 : [function(e, t, n) { function r(e, t, n) { if (null != e) { void 0 !== n && n in i(e) && (t = [n]); for (var r = 0, o = t.length; null != e && r < o;) e = e[t[r++]]; return r && r == o ? e: void 0 } } var i = e(184); t.exports = r }, { 184 : 184 }], 122 : [function(e, t, n) { function r(e, t, n) { if (t !== t) return i(e, n); for (var r = n - 1, o = e.length; ++r < o;) if (e[r] === t) return r; return - 1 } var i = e(166); t.exports = r }, { 166 : 166 }], 123 : [function(e, t, n) { function r(e, t, n, s, c, l) { return e === t || (null == e || null == t || !o(e) && !a(t) ? e !== e && t !== t: i(e, t, r, n, s, c, l)) } var i = e(124), o = e(192), a = e(173); t.exports = r }, { 124 : 124, 173 : 173, 192 : 192 }], 124 : [function(e, t, n) { function r(e, t, n, r, f, m, y) { var g = s(e), v = s(t), x = u, b = u; g || (x = d.call(e), x == l ? x = p: x != p && (g = c(e))), v || (b = d.call(t), b == l ? b = p: b != p && (v = c(t))); var E = x == p, w = b == p, A = x == b; if (A && !g && !E) return o(e, t, x); if (!f) { var _ = E && h.call(e, "__wrapped__"), S = w && h.call(t, "__wrapped__"); if (_ || S) return n(_ ? e.value() : e, S ? t.value() : t, r, f, m, y) } if (!A) return ! 1; m || (m = []), y || (y = []); for (var T = m.length; T--;) if (m[T] == e) return y[T] == t; m.push(e), y.push(t); var C = (g ? i: a)(e, t, n, r, f, m, y); return m.pop(), y.pop(), C } var i = e(158), o = e(159), a = e(160), s = e(188), c = e(195), l = "[object Arguments]", u = "[object Array]", p = "[object Object]", f = Object.prototype, h = f.hasOwnProperty, d = f.toString; t.exports = r }, { 158 : 158, 159 : 159, 160 : 160, 188 : 188, 195 : 195 }], 125 : [function(e, t, n) { function r(e, t, n) { var r = t.length, a = r, s = !n; if (null == e) return ! a; for (e = o(e); r--;) { var c = t[r]; if (s && c[2] ? c[1] !== e[c[0]] : !(c[0] in e)) return ! 1 } for (; ++r < a;) { c = t[r]; var l = c[0], u = e[l], p = c[1]; if (s && c[2]) { if (void 0 === u && !(l in e)) return ! 1 } else { var f = n ? n(u, p, l) : void 0; if (! (void 0 === f ? i(p, u, n, !0) : f)) return ! 1 } } return ! 0 } var i = e(123), o = e(184); t.exports = r }, { 123 : 123, 184 : 184 }], 126 : [function(e, t, n) { function r() {} t.exports = r }, {}], 127 : [function(e, t, n) { function r(e, t) { var n = -1, r = o(e) ? Array(e.length) : []; return i(e, function(e, i, o) { r[++n] = t(e, i, o) }), r } var i = e(112), o = e(167); t.exports = r }, { 112 : 112, 167 : 167 }], 128 : [function(e, t, n) { function r(e) { var t = o(e); if (1 == t.length && t[0][2]) { var n = t[0][0], r = t[0][1]; return function(e) { return null != e && (e[n] === r && (void 0 !== r || n in a(e))) } } return function(e) { return i(e, t) } } var i = e(125), o = e(164), a = e(184); t.exports = r }, { 125 : 125, 164 : 164, 184 : 184 }], 129 : [function(e, t, n) { function r(e, t) { var n = s(e), r = c(e) && l(t), h = e + ""; return e = f(e), function(s) { if (null == s) return ! 1; var c = h; if (s = p(s), (n || !r) && !(c in s)) { if (s = 1 == e.length ? s: i(s, a(e, 0, -1)), null == s) return ! 1; c = u(e), s = p(s) } return s[c] === t ? void 0 !== t || c in s: o(t, s[c], void 0, !0) } } var i = e(121), o = e(123), a = e(136), s = e(188), c = e(170), l = e(174), u = e(78), p = e(184), f = e(185); t.exports = r }, { 121 : 121, 123 : 123, 136 : 136, 170 : 170, 174 : 174, 184 : 184, 185 : 185, 188 : 188, 78 : 78 }], 130 : [function(e, t, n) { function r(e, t, n, f, h) { if (!c(e)) return e; var d = s(t) && (a(t) || u(t)), m = d ? void 0 : p(t); return i(m || t, function(i, a) { if (m && (a = i, i = t[a]), l(i)) f || (f = []), h || (h = []), o(e, t, a, r, n, f, h); else { var s = e[a], c = n ? n(s, i, a, e, t) : void 0, u = void 0 === c; u && (c = i), void 0 === c && (!d || a in e) || !u && (c === c ? c === s: s !== s) || (e[a] = c) } }), e } var i = e(98), o = e(131), a = e(188), s = e(167), c = e(192), l = e(173), u = e(195), p = e(198); t.exports = r }, { 131 : 131, 167 : 167, 173 : 173, 188 : 188, 192 : 192, 195 : 195, 198 : 198, 98 : 98 }], 131 : [function(e, t, n) { function r(e, t, n, r, p, f, h) { for (var d = f.length, m = t[n]; d--;) if (f[d] == m) return void(e[n] = h[d]); var y = e[n], g = p ? p(y, m, n, e, t) : void 0, v = void 0 === g; v && (g = m, s(m) && (a(m) || l(m)) ? g = a(y) ? y: s(y) ? i(y) : [] : c(m) || o(m) ? g = o(y) ? u(y) : c(y) ? y: {}: v = !1), f.push(m), h.push(g), v ? e[n] = r(g, m, p, f, h) : (g === g ? g !== y: y === y) && (e[n] = g) } var i = e(97), o = e(187), a = e(188), s = e(167), c = e(193), l = e(195), u = e(196); t.exports = r }, { 167 : 167, 187 : 187, 188 : 188, 193 : 193, 195 : 195, 196 : 196, 97 : 97 }], 132 : [function(e, t, n) { function r(e) { return function(t) { return null == t ? void 0 : t[e] } } t.exports = r }, {}], 133 : [function(e, t, n) { function r(e) { var t = e + ""; return e = o(e), function(n) { return i(n, e, t) } } var i = e(121), o = e(185); t.exports = r }, { 121 : 121, 185 : 185 }], 134 : [function(e, t, n) { function r(e, t, n, r, i) { return i(e, function(e, i, o) { n = r ? (r = !1, e) : t(n, e, i, o) }), n } t.exports = r }, {}], 135 : [function(e, t, n) { var r = e(205), i = e(176), o = i ? function(e, t) { return i.set(e, t), e }: r; t.exports = o }, { 176 : 176, 205 : 205 }], 136 : [function(e, t, n) { function r(e, t, n) { var r = -1, i = e.length; t = null == t ? 0 : +t || 0, t < 0 && (t = -t > i ? 0 : i + t), n = void 0 === n || n > i ? i: +n || 0, n < 0 && (n += i), i = t > n ? 0 : n - t >>> 0, t >>>= 0; for (var o = Array(i); ++r < i;) o[r] = e[r + t]; return o } t.exports = r }, {}], 137 : [function(e, t, n) { function r(e, t) { var n; return i(e, function(e, r, i) { return n = t(e, r, i), !n }), !!n } var i = e(112); t.exports = r }, { 112 : 112 }], 138 : [function(e, t, n) { function r(e) { return null == e ? "": e + "" } t.exports = r }, {}], 139 : [function(e, t, n) { function r(e, t) { for (var n = -1, r = t.length, i = Array(r); ++n < r;) i[n] = e[t[n]]; return i } t.exports = r }, {}], 140 : [function(e, t, n) { function r(e, t, n) { if ("function" != typeof e) return i; if (void 0 === t) return e; switch (n) { case 1: return function(n) { return e.call(t, n) }; case 3: return function(n, r, i) { return e.call(t, n, r, i) }; case 4: return function(n, r, i, o) { return e.call(t, n, r, i, o) }; case 5: return function(n, r, i, o, a) { return e.call(t, n, r, i, o, a) } } return function() { return e.apply(t, arguments) } } var i = e(205); t.exports = r }, { 205 : 205 }], 141 : [function(e, t, n) { function r(e, t) { var n = e.data, r = "string" == typeof t || i(t) ? n.set.has(t) : n.hash[t]; return r ? 0 : -1 } var i = e(192); t.exports = r }, { 192 : 192 }], 142 : [function(e, t, n) { function r(e) { var t = this.data; "string" == typeof e || i(e) ? t.set.add(e) : t.hash[e] = !0 } var i = e(192); t.exports = r }, { 192 : 192 }], 143 : [function(e, t, n) { function r(e, t, n) { for (var r = n.length, o = -1, a = i(e.length - r, 0), s = -1, c = t.length, l = Array(c + a); ++s < c;) l[s] = t[s]; for (; ++o < r;) l[n[o]] = e[o]; for (; a--;) l[s++] = e[o++]; return l } var i = Math.max; t.exports = r }, {}], 144 : [function(e, t, n) { function r(e, t, n) { for (var r = -1, o = n.length, a = -1, s = i(e.length - o, 0), c = -1, l = t.length, u = Array(s + l); ++a < s;) u[a] = e[a]; for (var p = a; ++c < l;) u[p + c] = t[c]; for (; ++r < o;) u[p + n[r]] = e[a++]; return u } var i = Math.max; t.exports = r }, {}], 145 : [function(e, t, n) { function r(e, t) { return function(n, r, s) { var c = t ? t() : {}; if (r = i(r, s, 3), a(n)) for (var l = -1, u = n.length; ++l < u;) { var p = n[l]; e(c, p, r(p, l, n), n) } else o(n, function(t, n, i) { e(c, t, r(t, n, i), i) }); return c } } var i = e(107), o = e(112), a = e(188); t.exports = r }, { 107 : 107, 112 : 112, 188 : 188 }], 146 : [function(e, t, n) { function r(e) { return a(function(t, n) { var r = -1, a = null == t ? 0 : n.length, s = a > 2 ? n[a - 2] : void 0, c = a > 2 ? n[2] : void 0, l = a > 1 ? n[a - 1] : void 0; for ("function" == typeof s ? (s = i(s, l, 5), a -= 2) : (s = "function" == typeof l ? l: void 0, a -= s ? 1 : 0), c && o(n[0], n[1], c) && (s = a < 3 ? void 0 : s, a = 1); ++r < a;) { var u = n[r]; u && e(t, u, s) } return t }) } var i = e(140), o = e(169), a = e(93); t.exports = r }, { 140 : 140, 169 : 169, 93 : 93 }], 147 : [function(e, t, n) { function r(e, t) { return function(n, r) { var s = n ? i(n) : 0; if (!o(s)) return e(n, r); for (var c = t ? s: -1, l = a(n); (t ? c--:++c < s) && r(l[c], c, l) !== !1;); return n } } var i = e(163), o = e(172), a = e(184); t.exports = r }, { 163 : 163, 172 : 172, 184 : 184 }], 148 : [function(e, t, n) { function r(e) { return function(t, n, r) { for (var o = i(t), a = r(t), s = a.length, c = e ? s: -1; e ? c--:++c < s;) { var l = a[c]; if (n(o[l], l, o) === !1) break } return t } } var i = e(184); t.exports = r }, { 184 : 184 }], 149 : [function(e, t, n) { (function(n) { function r(e, t) { function r() { var i = this && this !== n && this instanceof r ? o: e; return i.apply(t, arguments) } var o = i(e); return r } var i = e(151); t.exports = r }).call(this, "undefined" != typeof global ? global: "undefined" != typeof self ? self: "undefined" != typeof window ? window: {}) }, { 151 : 151 }], 150 : [function(e, t, n) { (function(n) { function r(e) { return s && a ? new i(e) : null } var i = e(96), o = e(165), a = o(n, "Set"), s = o(Object, "create"); t.exports = r }).call(this, "undefined" != typeof global ? global: "undefined" != typeof self ? self: "undefined" != typeof window ? window: {}) }, { 165 : 165, 96 : 96 }], 151 : [function(e, t, n) { function r(e) { return function() { var t = arguments; switch (t.length) { case 0: return new e; case 1: return new e(t[0]); case 2: return new e(t[0], t[1]); case 3: return new e(t[0], t[1], t[2]); case 4: return new e(t[0], t[1], t[2], t[3]); case 5: return new e(t[0], t[1], t[2], t[3], t[4]); case 6: return new e(t[0], t[1], t[2], t[3], t[4], t[5]); case 7: return new e(t[0], t[1], t[2], t[3], t[4], t[5], t[6]) } var n = i(e.prototype), r = e.apply(n, t); return o(r) ? r: n } } var i = e(109), o = e(192); t.exports = r }, { 109 : 109, 192 : 192 }], 152 : [function(e, t, n) { function r(e, t) { return function(n, r, c) { if (r = i(r, c, 3), s(n)) { var l = a(n, r, t); return l > -1 ? n[l] : void 0 } return o(n, r, e) } } var i = e(107), o = e(115), a = e(116), s = e(188); t.exports = r }, { 107 : 107, 115 : 115, 116 : 116, 188 : 188 }], 153 : [function(e, t, n) { function r(e, t) { return function(n, r, a) { return "function" == typeof r && void 0 === a && o(n) ? e(n, r) : t(n, i(r, a, 3)) } } var i = e(140), o = e(188); t.exports = r }, { 140 : 140, 188 : 188 }], 154 : [function(e, t, n) { (function(n) { function r(e, t, E, w, A, _, S, T, C, R) { function N() { for (var d = arguments.length, m = d, y = Array(d); m--;) y[m] = arguments[m]; if (w && (y = o(y, w, A)), _ && (y = a(y, _, S)), k || B) { var x = N.placeholder, L = u(y, x); if (d -= L.length, d < R) { var F = T ? i(T) : void 0, j = b(R - d, 0), V = k ? L: void 0, G = k ? void 0 : L, U = k ? y: void 0, W = k ? void 0 : y; t |= k ? g: v, t &= ~ (k ? v: g), O || (t &= ~ (f | h)); var z = [e, t, E, U, V, W, G, F, C, j], q = r.apply(void 0, z); return c(e) && p(q, z), q.placeholder = x, q } } var H = P ? E: this, Y = D ? H[e] : e; return T && (y = l(y, T)), M && C < y.length && (y.length = C), this && this !== n && this instanceof N && (Y = I || s(e)), Y.apply(H, y) } var M = t & x, P = t & f, D = t & h, k = t & m, O = t & d, B = t & y, I = D ? void 0 : s(e); return N } var i = e(97), o = e(143), a = e(144), s = e(151), c = e(171), l = e(180), u = e(181), p = e(182), f = 1, h = 2, d = 4, m = 8, y = 16, g = 32, v = 64, x = 128, b = Math.max; t.exports = r }).call(this, "undefined" != typeof global ? global: "undefined" != typeof self ? self: "undefined" != typeof window ? window: {}) }, { 143 : 143, 144 : 144, 151 : 151, 171 : 171, 180 : 180, 181 : 181, 182 : 182, 97 : 97 }], 155 : [function(e, t, n) { (function(n) { function r(e, t, r, a) { function s() { for (var t = -1, i = arguments.length, o = -1, u = a.length, p = Array(u + i); ++o < u;) p[o] = a[o]; for (; i--;) p[o++] = arguments[++t]; var f = this && this !== n && this instanceof s ? l: e; return f.apply(c ? r: this, p) } var c = t & o, l = i(e); return s } var i = e(151), o = 1; t.exports = r }).call(this, "undefined" != typeof global ? global: "undefined" != typeof self ? self: "undefined" != typeof window ? window: {}) }, { 151 : 151 }], 156 : [function(e, t, n) { function r(e, t) { return function(n, r, s, c) { var l = arguments.length < 3; return "function" == typeof r && void 0 === c && a(n) ? e(n, r, s, l) : o(n, i(r, c, 4), s, l, t) } } var i = e(107), o = e(134), a = e(188); t.exports = r }, { 107 : 107, 134 : 134, 188 : 188 }], 157 : [function(e, t, n) { function r(e, t, n, r, g, v, x, b) { var E = t & f; if (!E && "function" != typeof e) throw new TypeError(m); var w = r ? r.length: 0; if (w || (t &= ~ (h | d), r = g = void 0), w -= g ? g.length: 0, t & d) { var A = r, _ = g; r = g = void 0 } var S = E ? void 0 : c(e), T = [e, t, n, r, g, A, _, v, x, b]; if (S && (l(T, S), t = T[1], b = T[9]), T[9] = null == b ? E ? 0 : e.length: y(b - w, 0) || 0, t == p) var C = o(T[0], T[2]); else C = t != h && t != (p | h) || T[4].length ? a.apply(void 0, T) : s.apply(void 0, T); var R = S ? i: u; return R(C, T) } var i = e(135), o = e(149), a = e(154), s = e(155), c = e(161), l = e(175), u = e(182), p = 1, f = 2, h = 32, d = 64, m = "Expected a function", y = Math.max; t.exports = r }, { 135 : 135, 149 : 149, 154 : 154, 155 : 155, 161 : 161, 175 : 175, 182 : 182 }], 158 : [function(e, t, n) { function r(e, t, n, r, o, a, s) { var c = -1, l = e.length, u = t.length; if (l != u && !(o && u > l)) return ! 1; for (; ++c < l;) { var p = e[c], f = t[c], h = r ? r(o ? f: p, o ? p: f, c) : void 0; if (void 0 !== h) { if (h) continue; return ! 1 } if (o) { if (!i(t, function(e) { return p === e || n(p, e, r, o, a, s) })) return ! 1 } else if (p !== f && !n(p, f, r, o, a, s)) return ! 1 } return ! 0 } var i = e(104); t.exports = r }, { 104 : 104 }], 159 : [function(e, t, n) { function r(e, t, n) { switch (n) { case i: case o: return + e == +t; case a: return e.name == t.name && e.message == t.message; case s: return e != +e ? t != +t: e == +t; case c: case l: return e == t + "" } return ! 1 } var i = "[object Boolean]", o = "[object Date]", a = "[object Error]", s = "[object Number]", c = "[object RegExp]", l = "[object String]"; t.exports = r }, {}], 160 : [function(e, t, n) { function r(e, t, n, r, o, s, c) { var l = i(e), u = l.length, p = i(t), f = p.length; if (u != f && !o) return ! 1; for (var h = u; h--;) { var d = l[h]; if (! (o ? d in t: a.call(t, d))) return ! 1 } for (var m = o; ++h < u;) { d = l[h]; var y = e[d], g = t[d], v = r ? r(o ? g: y, o ? y: g, d) : void 0; if (! (void 0 === v ? n(y, g, r, o, s, c) : v)) return ! 1; m || (m = "constructor" == d) } if (!m) { var x = e.constructor, b = t.constructor; if (x != b && "constructor" in e && "constructor" in t && !("function" == typeof x && x instanceof x && "function" == typeof b && b instanceof b)) return ! 1 } return ! 0 } var i = e(198), o = Object.prototype, a = o.hasOwnProperty; t.exports = r }, { 198 : 198 }], 161 : [function(e, t, n) { var r = e(176), i = e(206), o = r ? function(e) { return r.get(e) }: i; t.exports = o }, { 176 : 176, 206 : 206 }], 162 : [function(e, t, n) { function r(e) { for (var t = e.name + "", n = i[t], r = n ? n.length: 0; r--;) { var o = n[r], a = o.func; if (null == a || a == e) return o.name } return t } var i = e(179); t.exports = r }, { 179 : 179 }], 163 : [function(e, t, n) { var r = e(132), i = r("length"); t.exports = i }, { 132 : 132 }], 164 : [function(e, t, n) { function r(e) { for (var t = o(e), n = t.length; n--;) t[n][2] = i(t[n][1]); return t } var i = e(174), o = e(202); t.exports = r }, { 174 : 174, 202 : 202 }], 165 : [function(e, t, n) { function r(e, t) { var n = null == e ? void 0 : e[t]; return i(n) ? n: void 0 } var i = e(190); t.exports = r }, { 190 : 190 }], 166 : [function(e, t, n) { function r(e, t, n) { for (var r = e.length, i = t + (n ? 0 : -1); n ? i--:++i < r;) { var o = e[i]; if (o !== o) return i } return - 1 } t.exports = r }, {}], 167 : [function(e, t, n) { function r(e) { return null != e && o(i(e)) } var i = e(163), o = e(172); t.exports = r }, { 163 : 163, 172 : 172 }], 168 : [function(e, t, n) { function r(e, t) { return e = "number" == typeof e || i.test(e) ? +e: -1, t = null == t ? o: t, e > -1 && e % 1 == 0 && e < t } var i = /^\d+$/, o = 9007199254740991; t.exports = r }, {}], 169 : [function(e, t, n) { function r(e, t, n) { if (!a(n)) return ! 1; var r = typeof t; if ("number" == r ? i(n) && o(t, n.length) : "string" == r && t in n) { var s = n[t]; return e === e ? e === s: s !== s } return ! 1 } var i = e(167), o = e(168), a = e(192); t.exports = r }, { 167 : 167, 168 : 168, 192 : 192 }], 170 : [function(e, t, n) { function r(e, t) { var n = typeof e; if ("string" == n && s.test(e) || "number" == n) return ! 0; if (i(e)) return ! 1; var r = !a.test(e); return r || null != t && e in o(t) } var i = e(188), o = e(184), a = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/, s = /^\w*$/; t.exports = r }, { 184 : 184, 188 : 188 }], 171 : [function(e, t, n) { function r(e) { var t = a(e), n = s[t]; if ("function" != typeof n || !(t in i.prototype)) return ! 1; if (e === n) return ! 0; var r = o(n); return !! r && e === r[0] } var i = e(94), o = e(161), a = e(162), s = e(79); t.exports = r }, { 161 : 161, 162 : 162, 79 : 79, 94 : 94 }], 172 : [function(e, t, n) { function r(e) { return "number" == typeof e && e > -1 && e % 1 == 0 && e <= i } var i = 9007199254740991; t.exports = r }, {}], 173 : [function(e, t, n) { function r(e) { return !! e && "object" == typeof e } t.exports = r }, {}], 174 : [function(e, t, n) { function r(e) { return e === e && !i(e) } var i = e(192); t.exports = r }, { 192 : 192 }], 175 : [function(e, t, n) { function r(e, t) { var n = e[1], r = t[1], m = n | r, y = m < p, g = r == p && n == u || r == p && n == f && e[7].length <= t[8] || r == (p | f) && n == u; if (!y && !g) return e; r & c && (e[2] = t[2], m |= n & c ? 0 : l); var v = t[3]; if (v) { var x = e[3]; e[3] = x ? o(x, v, t[4]) : i(v), e[4] = x ? s(e[3], h) : i(t[4]) } return v = t[5], v && (x = e[5], e[5] = x ? a(x, v, t[6]) : i(v), e[6] = x ? s(e[5], h) : i(t[6])), v = t[7], v && (e[7] = i(v)), r & p && (e[8] = null == e[8] ? t[8] : d(e[8], t[8])), null == e[9] && (e[9] = t[9]), e[0] = t[0], e[1] = m, e } var i = e(97), o = e(143), a = e(144), s = e(181), c = 1, l = 4, u = 8, p = 128, f = 256, h = "__lodash_placeholder__", d = Math.min; t.exports = r }, { 143 : 143, 144 : 144, 181 : 181, 97 : 97 }], 176 : [function(e, t, n) { (function(n) { var r = e(165), i = r(n, "WeakMap"), o = i && new i; t.exports = o }).call(this, "undefined" != typeof global ? global: "undefined" != typeof self ? self: "undefined" != typeof window ? window: {}) }, { 165 : 165 }], 177 : [function(e, t, n) { function r(e, t) { e = i(e); for (var n = -1, r = t.length, o = {}; ++n < r;) { var a = t[n]; a in e && (o[a] = e[a]) } return o } var i = e(184); t.exports = r }, { 184 : 184 }], 178 : [function(e, t, n) { function r(e, t) { var n = {}; return i(e, function(e, r, i) { t(e, r, i) && (n[r] = e) }), n } var i = e(119); t.exports = r }, { 119 : 119 }], 179 : [function(e, t, n) { var r = {}; t.exports = r }, {}], 180 : [function(e, t, n) { function r(e, t) { for (var n = e.length, r = a(t.length, n), s = i(e); r--;) { var c = t[r]; e[r] = o(c, n) ? s[c] : void 0 } return e } var i = e(97), o = e(168), a = Math.min; t.exports = r }, { 168 : 168, 97 : 97 }], 181 : [function(e, t, n) { function r(e, t) { for (var n = -1, r = e.length, o = -1, a = []; ++n < r;) e[n] === t && (e[n] = i, a[++o] = n); return a } var i = "__lodash_placeholder__"; t.exports = r }, {}], 182 : [function(e, t, n) { var r = e(135), i = e(89), o = 150, a = 16, s = function() { var e = 0, t = 0; return function(n, s) { var c = i(), l = a - (c - t); if (t = c, l > 0) { if (++e >= o) return n } else e = 0; return r(n, s) } } (); t.exports = s }, { 135 : 135, 89 : 89 }], 183 : [function(e, t, n) { function r(e) { for (var t = c(e), n = t.length, r = n && e.length, l = !!r && s(r) && (o(e) || i(e)), p = -1, f = []; ++p < n;) { var h = t[p]; (l && a(h, r) || u.call(e, h)) && f.push(h) } return f } var i = e(187), o = e(188), a = e(168), s = e(172), c = e(199), l = Object.prototype, u = l.hasOwnProperty; t.exports = r }, { 168 : 168, 172 : 172, 187 : 187, 188 : 188, 199 : 199 }], 184 : [function(e, t, n) { function r(e) { return i(e) ? e: Object(e) } var i = e(192); t.exports = r }, { 192 : 192 }], 185 : [function(e, t, n) { function r(e) { if (o(e)) return e; var t = []; return i(e).replace(a, function(e, n, r, i) { t.push(r ? i.replace(s, "$1") : n || e) }), t } var i = e(138), o = e(188), a = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g, s = /\\(\\)?/g; t.exports = r }, { 138 : 138, 188 : 188 }], 186 : [function(e, t, n) { function r(e) { return e instanceof i ? e.clone() : new o(e.__wrapped__, e.__chain__, a(e.__actions__)) } var i = e(94), o = e(95), a = e(97); t.exports = r }, { 94 : 94, 95 : 95, 97 : 97 }], 187 : [function(e, t, n) { function r(e) { return o(e) && i(e) && s.call(e, "callee") && !c.call(e, "callee") } var i = e(167), o = e(173), a = Object.prototype, s = a.hasOwnProperty, c = a.propertyIsEnumerable; t.exports = r }, { 167 : 167, 173 : 173 }], 188 : [function(e, t, n) { var r = e(165), i = e(172), o = e(173), a = "[object Array]", s = Object.prototype, c = s.toString, l = r(Array, "isArray"), u = l || function(e) { return o(e) && i(e.length) && c.call(e) == a }; t.exports = u }, { 165 : 165, 172 : 172, 173 : 173 }], 189 : [function(e, t, n) { function r(e) { return i(e) && s.call(e) == o } var i = e(192), o = "[object Function]", a = Object.prototype, s = a.toString; t.exports = r }, { 192 : 192 }], 190 : [function(e, t, n) { function r(e) { return null != e && (i(e) ? u.test(c.call(e)) : o(e) && a.test(e)) } var i = e(189), o = e(173), a = /^\[object .+?Constructor\]$/, s = Object.prototype, c = Function.prototype.toString, l = s.hasOwnProperty, u = RegExp("^" + c.call(l).replace(/[\\^$.*+?()[\]{}|]/g, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"); t.exports = r }, { 173 : 173, 189 : 189 }], 191 : [function(e, t, n) { function r(e) { return "number" == typeof e || i(e) && s.call(e) == o } var i = e(173), o = "[object Number]", a = Object.prototype, s = a.toString; t.exports = r }, { 173 : 173 }], 192 : [function(e, t, n) { function r(e) { var t = typeof e; return !! e && ("object" == t || "function" == t) } t.exports = r }, {}], 193 : [function(e, t, n) { function r(e) { var t; if (!a(e) || u.call(e) != s || o(e) || !l.call(e, "constructor") && (t = e.constructor, "function" == typeof t && !(t instanceof t))) return ! 1; var n; return i(e, function(e, t) { n = t }), void 0 === n || l.call(e, n) } var i = e(119), o = e(187), a = e(173), s = "[object Object]", c = Object.prototype, l = c.hasOwnProperty, u = c.toString; t.exports = r }, { 119 : 119, 173 : 173, 187 : 187 }], 194 : [function(e, t, n) { function r(e) { return "string" == typeof e || i(e) && s.call(e) == o } var i = e(173), o = "[object String]", a = Object.prototype, s = a.toString; t.exports = r }, { 173 : 173 }], 195 : [function(e, t, n) { function r(e) { return o(e) && i(e.length) && !!N[P.call(e)] } var i = e(172), o = e(173), a = "[object Arguments]", s = "[object Array]", c = "[object Boolean]", l = "[object Date]", u = "[object Error]", p = "[object Function]", f = "[object Map]", h = "[object Number]", d = "[object Object]", m = "[object RegExp]", y = "[object Set]", g = "[object String]", v = "[object WeakMap]", x = "[object ArrayBuffer]", b = "[object Float32Array]", E = "[object Float64Array]", w = "[object Int8Array]", A = "[object Int16Array]", _ = "[object Int32Array]", S = "[object Uint8Array]", T = "[object Uint8ClampedArray]", C = "[object Uint16Array]", R = "[object Uint32Array]", N = {}; N[b] = N[E] = N[w] = N[A] = N[_] = N[S] = N[T] = N[C] = N[R] = !0, N[a] = N[s] = N[x] = N[c] = N[l] = N[u] = N[p] = N[f] = N[h] = N[d] = N[m] = N[y] = N[g] = N[v] = !1; var M = Object.prototype, P = M.toString; t.exports = r }, { 172 : 172, 173 : 173 }], 196 : [function(e, t, n) { function r(e) { return i(e, o(e)) } var i = e(108), o = e(199); t.exports = r }, { 108 : 108, 199 : 199 }], 197 : [function(e, t, n) { var r = e(105), i = e(106), o = e(146), a = o(function(e, t, n) { return n ? r(e, t, n) : i(e, t) }); t.exports = a }, { 105 : 105, 106 : 106, 146 : 146 }], 198 : [function(e, t, n) { var r = e(165), i = e(167), o = e(192), a = e(183), s = r(Object, "keys"), c = s ? function(e) { var t = null == e ? void 0 : e.constructor; return "function" == typeof t && t.prototype === e || "function" != typeof e && i(e) ? a(e) : o(e) ? s(e) : [] }: a; t.exports = c }, { 165 : 165, 167 : 167, 183 : 183, 192 : 192 }], 199 : [function(e, t, n) { function r(e) { if (null == e) return []; c(e) || (e = Object(e)); var t = e.length; t = t && s(t) && (o(e) || i(e)) && t || 0; for (var n = e.constructor, r = -1, l = "function" == typeof n && n.prototype === e, p = Array(t), f = t > 0; ++r < t;) p[r] = r + ""; for (var h in e) f && a(h, t) || "constructor" == h && (l || !u.call(e, h)) || p.push(h); return p } var i = e(187), o = e(188), a = e(168), s = e(172), c = e(192), l = Object.prototype, u = l.hasOwnProperty; t.exports = r }, { 168 : 168, 172 : 172, 187 : 187, 188 : 188, 192 : 192 }], 200 : [function(e, t, n) { var r = e(130), i = e(146), o = i(r); t.exports = o }, { 130 : 130, 146 : 146 }], 201 : [function(e, t, n) { var r = e(101), i = e(111), o = e(117), a = e(140), s = e(199), c = e(177), l = e(178), u = e(93), p = u(function(e, t) { if (null == e) return {}; if ("function" != typeof t[0]) { var t = r(o(t), String); return c(e, i(s(e), t)) } var n = a(t[0], t[1], 3); return l(e, function(e, t, r) { return ! n(e, t, r) }) }); t.exports = p }, { 101 : 101, 111 : 111, 117 : 117, 140 : 140, 177 : 177, 178 : 178, 199 : 199, 93 : 93 }], 202 : [function(e, t, n) { function r(e) { e = o(e); for (var t = -1, n = i(e), r = n.length, a = Array(r); ++t < r;) { var s = n[t]; a[t] = [s, e[s]] } return a } var i = e(198), o = e(184); t.exports = r }, { 184 : 184, 198 : 198 }], 203 : [function(e, t, n) { var r = e(117), i = e(140), o = e(177), a = e(178), s = e(93), c = s(function(e, t) { return null == e ? {}: "function" == typeof t[0] ? a(e, i(t[0], t[1], 3)) : o(e, r(t)) }); t.exports = c }, { 117 : 117, 140 : 140, 177 : 177, 178 : 178, 93 : 93 }], 204 : [function(e, t, n) { function r(e) { return i(e, o(e)) } var i = e(139), o = e(198); t.exports = r }, { 139 : 139, 198 : 198 }], 205 : [function(e, t, n) { function r(e) { return e } t.exports = r }, {}], 206 : [function(e, t, n) { function r() {} t.exports = r }, {}], 207 : [function(e, t, n) { function r(e) { return a(e) ? i(e) : o(e) } var i = e(132), o = e(133), a = e(170); t.exports = r }, { 132 : 132, 133 : 133, 170 : 170 }], 208 : [function(e, t, n) { t.exports = function(e, t, n) { return 2 == arguments.length ? e.getAttribute(t) : null === n ? e.removeAttribute(t) : (e.setAttribute(t, n), e) } }, {}], 209 : [function(e, t, n) { t.exports = e(216) }, { 216 : 216 }], 210 : [function(e, t, n) { t.exports = function(e) { for (var t; e.childNodes.length;) t = e.childNodes[0], e.removeChild(t); return e } }, {}], 211 : [function(e, t, n) { t.exports = e(219) }, { 219 : 219 }], 212 : [function(e, t, n) { t.exports = e(223) }, { 223 : 223 }], 213 : [function(e, t, n) { t.exports = e(220) }, { 220 : 220 }], 214 : [function(e, t, n) { t.exports = e(222) }, { 222 : 222 }], 215 : [function(e, t, n) { t.exports = function(e) { e.parentNode && e.parentNode.removeChild(e) } }, {}], 216 : [function(e, t, n) { function r(e) { if (!e || !e.nodeType) throw new Error("A DOM element reference is required"); this.el = e, this.list = e.classList } try { var i = e(217) } catch(t) { var i = e(217) } var o = /\s+/, a = Object.prototype.toString; t.exports = function(e) { return new r(e) }, r.prototype.add = function(e) { if (this.list) return this.list.add(e), this; var t = this.array(), n = i(t, e); return~n || t.push(e), this.el.className = t.join(" "), this }, r.prototype.remove = function(e) { if ("[object RegExp]" == a.call(e)) return this.removeMatching(e); if (this.list) return this.list.remove(e), this; var t = this.array(), n = i(t, e); return~n && t.splice(n, 1), this.el.className = t.join(" "), this }, r.prototype.removeMatching = function(e) { for (var t = this.array(), n = 0; n < t.length; n++) e.test(t[n]) && this.remove(t[n]); return this }, r.prototype.toggle = function(e, t) { return this.list ? ("undefined" != typeof t ? t !== this.list.toggle(e, t) && this.list.toggle(e) : this.list.toggle(e), this) : ("undefined" != typeof t ? t ? this.add(e) : this.remove(e) : this.has(e) ? this.remove(e) : this.add(e), this) }, r.prototype.array = function() { var e = this.el.getAttribute("class") || "", t = e.replace(/^\s+|\s+$/g, ""), n = t.split(o); return "" === n[0] && n.shift(), n }, r.prototype.has = r.prototype.contains = function(e) { return this.list ? this.list.contains(e) : !!~i(this.array(), e) } }, { 217 : 217 }], 217 : [function(e, t, n) { t.exports = function(e, t) { if (e.indexOf) return e.indexOf(t); for (var n = 0; n < e.length; ++n) if (e[n] === t) return n; return - 1 } }, {}], 218 : [function(e, t, n) { var r = e(221); t.exports = function(e, t, n, i) { for (e = n ? { parentNode: e }: e, i = i || document; (e = e.parentNode) && e !== document;) { if (r(e, t)) return e; if (e === i) return } } }, { 221 : 221 }], 219 : [function(e, t, n) { try { var r = e(218) } catch(t) { var r = e(218) } try { var i = e(220) } catch(t) { var i = e(220) } n.bind = function(e, t, n, o, a) { return i.bind(e, n, function(n) { var i = n.target || n.srcElement; n.delegateTarget = r(i, t, !0, e), n.delegateTarget && o.call(e, n) }, a) }, n.unbind = function(e, t, n, r) { i.unbind(e, t, n, r) } }, { 218 : 218, 220 : 220 }], 220 : [function(e, t, n) { var r = window.addEventListener ? "addEventListener": "attachEvent", i = window.removeEventListener ? "removeEventListener": "detachEvent", o = "addEventListener" !== r ? "on": ""; n.bind = function(e, t, n, i) { return e[r](o + t, n, i || !1), n }, n.unbind = function(e, t, n, r) { return e[i](o + t, n, r || !1), n } }, {}], 221 : [function(e, t, n) { function r(e, t) { if (!e || 1 !== e.nodeType) return ! 1; if (a) return a.call(e, t); for (var n = i.all(t, e.parentNode), r = 0; r < n.length; ++r) if (n[r] == e) return ! 0; return ! 1 } try { var i = e(222) } catch(t) { var i = e(222) } var o = Element.prototype, a = o.matches || o.webkitMatchesSelector || o.mozMatchesSelector || o.msMatchesSelector || o.oMatchesSelector; t.exports = r }, { 222 : 222 }], 222 : [function(e, t, n) { function r(e, t) { return t.querySelector(e) } n = t.exports = function(e, t) { return t = t || document, r(e, t) }, n.all = function(e, t) { return t = t || document, t.querySelectorAll(e) }, n.engine = function(e) { if (!e.one) throw new Error(".one callback required"); if (!e.all) throw new Error(".all callback required"); return r = e.one, n.all = e.all, n } }, {}], 223 : [function(e, t, n) { function r(e, t) { if ("string" != typeof e) throw new TypeError("String expected"); t || (t = document); var n = /<([\w:]+)/.exec(e); if (!n) return t.createTextNode(e); e = e.replace(/^\s+|\s+$/g, ""); var r = n[1]; if ("body" == r) { var i = t.createElement("html"); return i.innerHTML = e, i.removeChild(i.lastChild) } var o = a[r] || a._default, s = o[0], c = o[1], l = o[2], i = t.createElement("div"); for (i.innerHTML = c + e + l; s--;) i = i.lastChild; if (i.firstChild == i.lastChild) return i.removeChild(i.firstChild); for (var u = t.createDocumentFragment(); i.firstChild;) u.appendChild(i.removeChild(i.firstChild)); return u } t.exports = r; var i, o = !1; "undefined" != typeof document && (i = document.createElement("div"), i.innerHTML = '
a', o = !i.getElementsByTagName("link").length, i = void 0); var a = { legend: [1, "
", "
"], tr: [2, "", "
"], col: [2, "", "
"], _default: o ? [1, "X
", "
"] : [0, "", ""] }; a.td = a.th = [3, "", "
"], a.option = a.optgroup = [1, '"], a.thead = a.tbody = a.colgroup = a.caption = a.tfoot = [1, "", "
"], a.polyline = a.ellipse = a.polygon = a.circle = a.text = a.line = a.path = a.rect = a.g = [1, '', ""] }, {}], 224 : [function(e, t, n) { t.exports = e(226), t.exports.Collection = e(225) }, { 225 : 225, 226 : 226 }], 225 : [function(e, t, n) { "use strict"; function r(e, t, n, r) { var i = n.inverse; return Object.defineProperty(e, "remove", { value: function(e) { var n = this.indexOf(e); return n !== -1 && (this.splice(n, 1), t.unset(e, i, r)), e } }), Object.defineProperty(e, "contains", { value: function(e) { return this.indexOf(e) !== -1 } }), Object.defineProperty(e, "add", { value: function(e) { this.contains(e) || (this.push(e), t.set(e, i, r)) } }), Object.defineProperty(e, "__refs_collection", { value: !0 }), e } function i(e) { return e.__refs_collection === !0 } t.exports.extend = r, t.exports.isExtended = i }, {}], 226 : [function(e, t, n) { "use strict"; function r(e, t) { return Object.prototype.hasOwnProperty.call(e, t.name || t) } function i(e, t, n) { Object.defineProperty(n, t.name, { enumerable: t.enumerable, value: s.extend(n[t.name] || [], e, t, n) }) } function o(e, t, n) { var r = t.inverse, i = n[t.name]; Object.defineProperty(n, t.name, { enumerable: t.enumerable, get: function() { return i }, set: function(t) { if (t !== i) { var o = i; i = null, o && e.unset(o, r, n), i = t, e.set(i, r, n) } } }) } function a(e, t) { return this instanceof a ? (e.inverse = t, t.inverse = e, this.props = {}, this.props[e.name] = e, void(this.props[t.name] = t)) : new a(e, t) } var s = e(225); a.prototype.bind = function(e, t) { if ("string" == typeof t) { if (!this.props[t]) throw new Error("no property <" + t + "> in ref"); t = this.props[t] } t.collection ? i(this, t, e) : o(this, t, e) }, a.prototype.ensureRefsCollection = function(e, t) { var n = e[t.name]; return s.isExtended(n) || i(this, t, e), n }, a.prototype.ensureBound = function(e, t) { r(e, t) || this.bind(e, t) }, a.prototype.unset = function(e, t, n) { e && (this.ensureBound(e, t), t.collection ? this.ensureRefsCollection(e, t).remove(n) : e[t.name] = void 0) }, a.prototype.set = function(e, t, n) { e && (this.ensureBound(e, t), t.collection ? this.ensureRefsCollection(e, t).add(n) : e[t.name] = n) }, t.exports = a }, { 225 : 225 }] }, {}, [1])(1) });