(function (global, factory) {
	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('ckeditor5')) :
	typeof define === 'function' && define.amd ? define(['exports', 'ckeditor5'], factory) :
	(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["@ckeditor/ckeditor5-mermaid"] = {}, global.CKEDITOR));
})(this, (function (exports, ckeditor5) { 'use strict';
	var a,o,s='\n',u='\n',l='\n',h='\n',f='\n',d="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},g={exports:{}};o=g.exports,(a=g).exports=function(){function t(t){for(var e=[],n=1;n=e?t:""+Array(e+1-i.length).join(n)+t},y={s:w,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),i=Math.floor(n/60),r=n%60;return (e<=0?"+":"-")+w(i,2,"0")+":"+w(r,2,"0")},m:function t(e,n){if(e.date()1)return t(o[0])}else {var s=e.name;v[s]=e,r=s;}return !i&&r&&(m=r),r||!i&&m},_=function(t,e){if(x(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new T(n)},E=y;E.l=k,E.i=x,E.w=function(t,e){return _(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var T=function(){function b(t){this.$L=k(t.locale,null,!0),this.parse(t);}var w=b.prototype;return w.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(E.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var i=e.match(g);if(i){var r=i[2]-1||0,a=(i[7]||"0").substring(0,3);return n?new Date(Date.UTC(i[1],r,i[3]||1,i[4]||0,i[5]||0,i[6]||0,a)):new Date(i[1],r,i[3]||1,i[4]||0,i[5]||0,i[6]||0,a)}}return new Date(e)}(t),this.$x=t.x||{},this.init();},w.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},w.$utils=function(){return E},w.isValid=function(){return !(this.$d.toString()===d)},w.isSame=function(t,e){var n=_(t);return this.startOf(e)<=n&&n<=this.endOf(e)},w.isAfter=function(t,e){return _(t){},debug:(...t)=>{},info:(...t)=>{},warn:(...t)=>{},error:(...t)=>{},fatal:(...t)=>{}},h=function(t="fatal"){let e=u.fatal;"string"==typeof t?(t=t.toLowerCase())in u&&(e=u[t]):"number"==typeof t&&(e=t),l.trace=()=>{},l.debug=()=>{},l.info=()=>{},l.warn=()=>{},l.error=()=>{},l.fatal=()=>{},e<=u.fatal&&(l.fatal=console.error?console.error.bind(console,f("FATAL"),"color: orange"):console.log.bind(console,"[35m",f("FATAL"))),e<=u.error&&(l.error=console.error?console.error.bind(console,f("ERROR"),"color: orange"):console.log.bind(console,"[31m",f("ERROR"))),e<=u.warn&&(l.warn=console.warn?console.warn.bind(console,f("WARN"),"color: orange"):console.log.bind(console,"[33m",f("WARN"))),e<=u.info&&(l.info=console.info?console.info.bind(console,f("INFO"),"color: lightblue"):console.log.bind(console,"[34m",f("INFO"))),e<=u.debug&&(l.debug=console.debug?console.debug.bind(console,f("DEBUG"),"color: lightgreen"):console.log.bind(console,"[32m",f("DEBUG"))),e<=u.trace&&(l.trace=console.debug?console.debug.bind(console,f("TRACE"),"color: lightgreen"):console.log.bind(console,"[32m",f("TRACE")));},f=t=>`%c${s().format("ss.SSS")} : ${t} : `;var g={};Object.defineProperty(g,"__esModule",{value:!0});var p=g.sanitizeUrl=void 0,b=/^([^\w]*)(javascript|data|vbscript)/im,w=/(\w+)(^\w|;)?/g,y=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,m=/^([^:]+):/gm,v=[".","/"];function x(t){return v.indexOf(t[0])>-1}function k(t){return t.replace(w,(function(t,e){return String.fromCharCode(e)}))}function _(t){var e=k(t||"").replace(y,"").trim();if(!e)return "about:blank";if(x(e))return e;var n=e.match(m);if(!n)return e;var i=n[0];return b.test(i)?"about:blank":e}function E(t,e){return null==t||null==e?NaN:te?1:t>=e?0:NaN}function T(t,e){return null==t||null==e?NaN:et?1:e>=t?0:NaN}function C(t){let e,n,i;function r(t,i,r=0,a=t.length){if(r>>1;n(t[e],i)<0?r=e+1:a=e;}while(r>>1;n(t[e],i)<=0?r=e+1:a=e;}while(rn&&i(t[o-1],e)>-i(t[o],e)?o-1:o}return 2!==t.length?(e=E,n=(e,n)=>E(t(e),n),i=(e,n)=>t(e)-n):(e=t===E||t===T?t:S,n=t,i=t),{left:r,center:o,right:a}}function S(){return 0}function A(t){return null===t?NaN:+t}p=g.sanitizeUrl=_;const M=C(E).right;C(A).center;const I=M;class O extends Map{constructor(t,e=P){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:e}}),null!=t)for(const[e,n]of t)this.set(e,n);}get(t){return super.get(L(this,t))}has(t){return super.has(L(this,t))}set(t,e){return super.set(D(this,t),e)}delete(t){return super.delete(N(this,t))}}function L({_intern:t,_key:e},n){const i=e(n);return t.has(i)?t.get(i):n}function D({_intern:t,_key:e},n){const i=e(n);return t.has(i)?t.get(i):(t.set(i,n),n)}function N({_intern:t,_key:e},n){const i=e(n);return t.has(i)&&(n=t.get(i),t.delete(i)),n}function P(t){return null!==t&&"object"==typeof t?t.valueOf():t}var B=Math.sqrt(50),R=Math.sqrt(10),j=Math.sqrt(2);function $(t,e,n){var i,r,a,o,s=-1;if(n=+n,(t=+t)==(e=+e)&&n>0)return [t];if((i=e0){let n=Math.round(t/o),i=Math.round(e/o);for(n*oe&&--i,a=new Array(r=i-n+1);++se&&--i,a=new Array(r=i-n+1);++s=0?(a>=B?10:a>=R?5:a>=j?2:1)*Math.pow(10,r):-Math.pow(10,-r)/(a>=B?10:a>=R?5:a>=j?2:1)}function z(t,e,n){var i=Math.abs(e-t)/Math.max(0,n),r=Math.pow(10,Math.floor(Math.log(i)/Math.LN10)),a=i/r;return a>=B?r*=10:a>=R?r*=5:a>=j&&(r*=2),e=e)&&(n=e);else {let i=-1;for(let r of t)null!=(r=e(r,++i,t))&&(n=r)&&(n=r);}return n}function U(t,e){let n;if(void 0===e)for(const e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else {let i=-1;for(let r of t)null!=(r=e(r,++i,t))&&(n>r||void 0===n&&r>=r)&&(n=r);}return n}function G(t){return t}var q=1,K=2,Y=3,W=4,X=1e-6;function V(t){return "translate("+t+",0)"}function Z(t){return "translate(0,"+t+")"}function Q(t){return e=>+t(e)}function J(t,e){return e=Math.max(0,t.bandwidth()-2*e)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function tt(){return !this.__axis}function et(t,e){var n=[],i=null,r=null,a=6,o=6,s=3,c="undefined"!=typeof window&&window.devicePixelRatio>1?0:.5,u=t===q||t===W?-1:1,l=t===W||t===K?"x":"y",h=t===q||t===Y?V:Z;function f(f){var d=null==i?e.ticks?e.ticks.apply(e,n):e.domain():i,g=null==r?e.tickFormat?e.tickFormat.apply(e,n):G:r,p=Math.max(a,0)+s,b=e.range(),w=+b[0]+c,y=+b[b.length-1]+c,m=(e.bandwidth?J:Q)(e.copy(),c),v=f.selection?f.selection():f,x=v.selectAll(".domain").data([null]),k=v.selectAll(".tick").data(d,e).order(),_=k.exit(),E=k.enter().append("g").attr("class","tick"),T=k.select("line"),C=k.select("text");x=x.merge(x.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),k=k.merge(E),T=T.merge(E.append("line").attr("stroke","currentColor").attr(l+"2",u*a)),C=C.merge(E.append("text").attr("fill","currentColor").attr(l,u*p).attr("dy",t===q?"0em":t===Y?"0.71em":"0.32em")),f!==v&&(x=x.transition(f),k=k.transition(f),T=T.transition(f),C=C.transition(f),_=_.transition(f).attr("opacity",X).attr("transform",(function(t){return isFinite(t=m(t))?h(t+c):this.getAttribute("transform")})),E.attr("opacity",X).attr("transform",(function(t){var e=this.parentNode.__axis;return h((e&&isFinite(e=e(t))?e:m(t))+c)}))),_.remove(),x.attr("d",t===W||t===K?o?"M"+u*o+","+w+"H"+c+"V"+y+"H"+u*o:"M"+c+","+w+"V"+y:o?"M"+w+","+u*o+"V"+c+"H"+y+"V"+u*o:"M"+w+","+c+"H"+y),k.attr("opacity",1).attr("transform",(function(t){return h(m(t)+c)})),T.attr(l+"2",u*a),C.attr(l,u*p).text(g),v.filter(tt).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===K?"start":t===W?"end":"middle"),v.each((function(){this.__axis=m;}));}return f.scale=function(t){return arguments.length?(e=t,f):e},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(t){return arguments.length?(n=null==t?[]:Array.from(t),f):n.slice()},f.tickValues=function(t){return arguments.length?(i=null==t?null:Array.from(t),f):i&&i.slice()},f.tickFormat=function(t){return arguments.length?(r=t,f):r},f.tickSize=function(t){return arguments.length?(a=o=+t,f):a},f.tickSizeInner=function(t){return arguments.length?(a=+t,f):a},f.tickSizeOuter=function(t){return arguments.length?(o=+t,f):o},f.tickPadding=function(t){return arguments.length?(s=+t,f):s},f.offset=function(t){return arguments.length?(c=+t,f):c},f}function nt(t){return et(q,t)}function it(t){return et(Y,t)}var rt={value:()=>{}};function at(){for(var t,e=0,n=arguments.length,i={};e=0&&(n=t.slice(i+1),t=t.slice(0,i)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return {type:t,name:n}}))}function ct(t,e){for(var n,i=0,r=t.length;i0)for(var n,i,r=new Array(n),a=0;a=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),ht.hasOwnProperty(e)?{space:ht[e],local:t}:t}function dt(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===lt&&e.documentElement.namespaceURI===lt?e.createElement(t):e.createElementNS(n,t)}}function gt(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function pt(t){var e=ft(t);return (e.local?gt:dt)(e)}function bt(){}function wt(t){return null==t?bt:function(){return this.querySelector(t)}}function yt(t){"function"!=typeof t&&(t=wt(t));for(var e=this._groups,n=e.length,i=new Array(n),r=0;r=v&&(v=m+1);!(y=b[v])&&++v=0;)(i=r[a])&&(o&&4^i.compareDocumentPosition(o)&&o.parentNode.insertBefore(i,o),o=i);return this}function Wt(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=Xt);for(var n=this._groups,i=n.length,r=new Array(i),a=0;ae?1:t>=e?0:NaN}function Vt(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Zt(){return Array.from(this)}function Qt(){for(var t=this._groups,e=0,n=t.length;e1?this.each((null==e?le:"function"==typeof e?fe:he)(t,e,null==n?"":n)):ge(this.node(),t)}function ge(t,e){return t.style.getPropertyValue(e)||ue(t).getComputedStyle(t,null).getPropertyValue(e)}function pe(t){return function(){delete this[t];}}function be(t,e){return function(){this[t]=e;}}function we(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n;}}function ye(t,e){return arguments.length>1?this.each((null==e?pe:"function"==typeof e?we:be)(t,e)):this.node()[t]}function me(t){return t.trim().split(/^|\s+/)}function ve(t){return t.classList||new xe(t)}function xe(t){this._node=t,this._names=me(t.getAttribute("class")||"");}function ke(t,e){for(var n=ve(t),i=-1,r=e.length;++i=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}))}function Ze(t){return function(){var e=this.__on;if(e){for(var n,i=0,r=-1,a=e.length;i=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")));},contains:function(t){return this._names.indexOf(t)>=0}};var on=[null];function sn(t,e){this._groups=t,this._parents=e;}function cn(){return new sn([[document.documentElement]],on)}function un(){return this}function ln(t){return "string"==typeof t?new sn([[document.querySelector(t)]],[document.documentElement]):new sn([[t]],on)}function hn(t){return "string"==typeof t?new sn([document.querySelectorAll(t)],[document.documentElement]):new sn([mt(t)],on)}function fn(t,e,n){t.prototype=e.prototype=n,n.constructor=t;}function dn(t,e){var n=Object.create(t.prototype);for(var i in e)n[i]=e[i];return n}function gn(){}sn.prototype=cn.prototype={constructor:sn,select:yt,selectAll:_t,selectChild:Mt,selectChildren:Dt,filter:Nt,data:Ht,enter:Bt,exit:Gt,join:qt,merge:Kt,selection:un,order:Yt,sort:Wt,call:Vt,nodes:Zt,node:Qt,size:Jt,empty:te,each:ee,attr:ce,style:de,property:ye,classed:Se,text:Oe,html:Pe,raise:Re,lower:$e,append:Fe,insert:He,remove:Ge,clone:Ye,datum:We,on:Je,dispatch:rn,[Symbol.iterator]:an};var pn=.7,bn=1/pn,wn="\\s*([+-]?\\d+)\\s*",yn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",mn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",vn=/^#([0-9a-f]{3,8})$/,xn=new RegExp(`^rgb\\(${wn},${wn},${wn}\\)$`),kn=new RegExp(`^rgb\\(${mn},${mn},${mn}\\)$`),_n=new RegExp(`^rgba\\(${wn},${wn},${wn},${yn}\\)$`),En=new RegExp(`^rgba\\(${mn},${mn},${mn},${yn}\\)$`),Tn=new RegExp(`^hsl\\(${yn},${mn},${mn}\\)$`),Cn=new RegExp(`^hsla\\(${yn},${mn},${mn},${yn}\\)$`),Sn={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function An(){return this.rgb().formatHex()}function Mn(){return this.rgb().formatHex8()}function In(){return qn(this).formatHsl()}function On(){return this.rgb().formatRgb()}function Ln(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=vn.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?Dn(e):3===n?new Rn(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?Nn(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?Nn(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=xn.exec(t))?new Rn(e[1],e[2],e[3],1):(e=kn.exec(t))?new Rn(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=_n.exec(t))?Nn(e[1],e[2],e[3],e[4]):(e=En.exec(t))?Nn(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=Tn.exec(t))?Gn(e[1],e[2]/100,e[3]/100,1):(e=Cn.exec(t))?Gn(e[1],e[2]/100,e[3]/100,e[4]):Sn.hasOwnProperty(t)?Dn(Sn[t]):"transparent"===t?new Rn(NaN,NaN,NaN,0):null}function Dn(t){return new Rn(t>>16&255,t>>8&255,255&t,1)}function Nn(t,e,n,i){return i<=0&&(t=e=n=NaN),new Rn(t,e,n,i)}function Pn(t){return t instanceof gn||(t=Ln(t)),t?new Rn((t=t.rgb()).r,t.g,t.b,t.opacity):new Rn}function Bn(t,e,n,i){return 1===arguments.length?Pn(t):new Rn(t,e,n,null==i?1:i)}function Rn(t,e,n,i){this.r=+t,this.g=+e,this.b=+n,this.opacity=+i;}function jn(){return `#${Un(this.r)}${Un(this.g)}${Un(this.b)}`}function $n(){return `#${Un(this.r)}${Un(this.g)}${Un(this.b)}${Un(255*(isNaN(this.opacity)?1:this.opacity))}`}function Fn(){const t=zn(this.opacity);return `${1===t?"rgb(":"rgba("}${Hn(this.r)}, ${Hn(this.g)}, ${Hn(this.b)}${1===t?")":`, ${t})`}`}function zn(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Hn(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Un(t){return ((t=Hn(t))<16?"0":"")+t.toString(16)}function Gn(t,e,n,i){return i<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Yn(t,e,n,i)}function qn(t){if(t instanceof Yn)return new Yn(t.h,t.s,t.l,t.opacity);if(t instanceof gn||(t=Ln(t)),!t)return new Yn;if(t instanceof Yn)return t;var e=(t=t.rgb()).r/255,n=t.g/255,i=t.b/255,r=Math.min(e,n,i),a=Math.max(e,n,i),o=NaN,s=a-r,c=(a+r)/2;return s?(o=e===a?(n-i)/s+6*(n0&&c<1?0:o,new Yn(o,s,c,t.opacity)}function Kn(t,e,n,i){return 1===arguments.length?qn(t):new Yn(t,e,n,null==i?1:i)}function Yn(t,e,n,i){this.h=+t,this.s=+e,this.l=+n,this.opacity=+i;}function Wn(t){return (t=(t||0)%360)<0?t+360:t}function Xn(t){return Math.max(0,Math.min(1,t||0))}function Vn(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}fn(gn,Ln,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:An,formatHex:An,formatHex8:Mn,formatHsl:In,formatRgb:On,toString:On}),fn(Rn,Bn,dn(gn,{brighter(t){return t=null==t?bn:Math.pow(bn,t),new Rn(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?pn:Math.pow(pn,t),new Rn(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Rn(Hn(this.r),Hn(this.g),Hn(this.b),zn(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:jn,formatHex:jn,formatHex8:$n,formatRgb:Fn,toString:Fn})),fn(Yn,Kn,dn(gn,{brighter(t){return t=null==t?bn:Math.pow(bn,t),new Yn(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?pn:Math.pow(pn,t),new Yn(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*e,r=2*n-i;return new Rn(Vn(t>=240?t-240:t+120,r,i),Vn(t,r,i),Vn(t<120?t+240:t-120,r,i),this.opacity)},clamp(){return new Yn(Wn(this.h),Xn(this.s),Xn(this.l),zn(this.opacity))},displayable(){return (0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=zn(this.opacity);return `${1===t?"hsl(":"hsla("}${Wn(this.h)}, ${100*Xn(this.s)}%, ${100*Xn(this.l)}%${1===t?")":`, ${t})`}`}}));const Zn=Math.PI/180,Qn=180/Math.PI,Jn=18,ti=.96422,ei=1,ni=.82521,ii=4/29,ri=6/29,ai=3*ri*ri,oi=ri*ri*ri;function si(t){if(t instanceof ui)return new ui(t.l,t.a,t.b,t.opacity);if(t instanceof bi)return wi(t);t instanceof Rn||(t=Pn(t));var e,n,i=di(t.r),r=di(t.g),a=di(t.b),o=li((.2225045*i+.7168786*r+.0606169*a)/ei);return i===r&&r===a?e=n=o:(e=li((.4360747*i+.3850649*r+.1430804*a)/ti),n=li((.0139322*i+.0971045*r+.7141733*a)/ni)),new ui(116*o-16,500*(e-o),200*(o-n),t.opacity)}function ci(t,e,n,i){return 1===arguments.length?si(t):new ui(t,e,n,null==i?1:i)}function ui(t,e,n,i){this.l=+t,this.a=+e,this.b=+n,this.opacity=+i;}function li(t){return t>oi?Math.pow(t,1/3):t/ai+ii}function hi(t){return t>ri?t*t*t:ai*(t-ii)}function fi(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function di(t){return (t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function gi(t){if(t instanceof bi)return new bi(t.h,t.c,t.l,t.opacity);if(t instanceof ui||(t=si(t)),0===t.a&&0===t.b)return new bi(NaN,0()=>t;function mi(t,e){return function(n){return t+n*e}}function vi(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(i){return Math.pow(t+i*e,n)}}function xi(t,e){var n=e-t;return n?mi(t,n>180||n<-180?n-360*Math.round(n/360):n):yi(isNaN(t)?e:t)}function ki(t){return 1==(t=+t)?_i:function(e,n){return n-e?vi(e,n,t):yi(isNaN(e)?n:e)}}function _i(t,e){var n=e-t;return n?mi(t,n):yi(isNaN(t)?e:t)}const Ei=function t(e){var n=ki(e);function i(t,e){var i=n((t=Bn(t)).r,(e=Bn(e)).r),r=n(t.g,e.g),a=n(t.b,e.b),o=_i(t.opacity,e.opacity);return function(e){return t.r=i(e),t.g=r(e),t.b=a(e),t.opacity=o(e),t+""}}return i.gamma=t,i}(1);function Ti(t,e){e||(e=[]);var n,i=t?Math.min(e.length,t.length):0,r=e.slice();return function(a){for(n=0;na&&(r=e.slice(a,r),s[o]?s[o]+=r:s[++o]=r),(n=n[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:Mi(n,i)})),a=Li.lastIndex;return a180?e+=360:e-t>180&&(t+=360),a.push({i:n.push(r(n)+"rotate(",null,i)-2,x:Mi(t,e)})):e&&n.push(r(n)+"rotate("+e+i);}function s(t,e,n,a){t!==e?a.push({i:n.push(r(n)+"skewX(",null,i)-2,x:Mi(t,e)}):e&&n.push(r(n)+"skewX("+e+i);}function c(t,e,n,i,a,o){if(t!==n||e!==i){var s=a.push(r(a)+"scale(",null,",",null,")");o.push({i:s-4,x:Mi(t,n)},{i:s-2,x:Mi(e,i)});}else 1===n&&1===i||a.push(r(a)+"scale("+n+","+i+")");}return function(e,n){var i=[],r=[];return e=t(e),n=t(n),a(e.translateX,e.translateY,n.translateX,n.translateY,i,r),o(e.rotate,n.rotate,i,r),s(e.skewX,n.skewX,i,r),c(e.scaleX,e.scaleY,n.scaleX,n.scaleY,i,r),e=n=null,function(t){for(var e,n=-1,a=r.length;++n=0&&e._call.call(void 0,t),e=e._next;--Zi;}function hr(){nr=(er=rr.now())+ir,Zi=Qi=0;try{lr();}finally{Zi=0,dr(),nr=0;}}function fr(){var t=rr.now(),e=t-er;e>tr&&(ir-=e,er=t);}function dr(){for(var t,e,n=Xi,i=1/0;n;)n._call?(i>n._time&&(i=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:Xi=e);Vi=t,gr(i);}function gr(t){Zi||(Qi&&(Qi=clearTimeout(Qi)),t-nr>24?(t<1/0&&(Qi=setTimeout(hr,t-rr.now()-ir)),Ji&&(Ji=clearInterval(Ji))):(Ji||(er=rr.now(),Ji=setInterval(fr,tr)),Zi=1,ar(hr)));}function pr(t,e,n){var i=new cr;return e=null==e?0:+e,i.restart((n=>{i.stop(),t(n+e);}),e,n),i}cr.prototype=ur.prototype={constructor:cr,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?or():+n)+(null==e?0:+e),this._next||Vi===this||(Vi?Vi._next=this:Xi=this,Vi=this),this._call=t,this._time=n,gr();},stop:function(){this._call&&(this._call=null,this._time=1/0,gr());}};var br=at("start","end","cancel","interrupt"),wr=[],yr=0,mr=1,vr=2,xr=3,kr=4,_r=5,Er=6;function Tr(t,e,n,i,r,a){var o=t.__transition;if(o){if(n in o)return}else t.__transition={};Mr(t,n,{name:e,index:i,group:r,on:br,tween:wr,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:yr});}function Cr(t,e){var n=Ar(t,e);if(n.state>yr)throw new Error("too late; already scheduled");return n}function Sr(t,e){var n=Ar(t,e);if(n.state>xr)throw new Error("too late; already running");return n}function Ar(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function Mr(t,e,n){var i,r=t.__transition;function a(t){n.state=mr,n.timer.restart(o,n.delay,n.time),n.delay<=t&&o(t-n.delay);}function o(a){var u,l,h,f;if(n.state!==mr)return c();for(u in r)if((f=r[u]).name===n.name){if(f.state===xr)return pr(o);f.state===kr?(f.state=Er,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete r[u]):+uvr&&n.state<_r,n.state=Er,n.timer.stop(),n.on.call(i?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete a[r]):o=!1;o&&delete t.__transition;}}function Or(t){return this.each((function(){Ir(this,t);}))}function Lr(t,e){var n,i;return function(){var r=Sr(this,t),a=r.tween;if(a!==n)for(var o=0,s=(i=n=a).length;o=0&&(t=t.slice(0,e)),!t||"start"===t}))}function ca(t,e,n){var i,r,a=sa(e)?Cr:Sr;return function(){var o=a(this,t),s=o.on;s!==i&&(r=(i=s).copy()).on(e,n),o.on=r;}}function ua(t,e){var n=this._id;return arguments.length<2?Ar(this.node(),n).on.on(t):this.each(ca(n,t,e))}function la(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this);}}function ha(){return this.on("end.remove",la(this._id))}function fa(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=wt(t));for(var i=this._groups,r=i.length,a=new Array(r),o=0;oWa(e,n).then((e=>(new DOMParser).parseFromString(e,t)))}qa.prototype=Ka.prototype={constructor:qa,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e);},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z");},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e);},quadraticCurveTo:function(t,e,n,i){this._+="Q"+ +t+","+ +e+","+(this._x1=+n)+","+(this._y1=+i);},bezierCurveTo:function(t,e,n,i,r,a){this._+="C"+ +t+","+ +e+","+ +n+","+ +i+","+(this._x1=+r)+","+(this._y1=+a);},arcTo:function(t,e,n,i,r){t=+t,e=+e,n=+n,i=+i,r=+r;var a=this._x1,o=this._y1,s=n-t,c=i-e,u=a-t,l=o-e,h=u*u+l*l;if(r<0)throw new Error("negative radius: "+r);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(h>Ua)if(Math.abs(l*s-c*u)>Ua&&r){var f=n-a,d=i-o,g=s*s+c*c,p=f*f+d*d,b=Math.sqrt(g),w=Math.sqrt(h),y=r*Math.tan((za-Math.acos((g+h-p)/(2*b*w)))/2),m=y/w,v=y/b;Math.abs(m-1)>Ua&&(this._+="L"+(t+m*u)+","+(e+m*l)),this._+="A"+r+","+r+",0,0,"+ +(l*f>u*d)+","+(this._x1=t+v*s)+","+(this._y1=e+v*c);}else this._+="L"+(this._x1=t)+","+(this._y1=e);},arc:function(t,e,n,i,r,a){t=+t,e=+e,a=!!a;var o=(n=+n)*Math.cos(i),s=n*Math.sin(i),c=t+o,u=e+s,l=1^a,h=a?i-r:r-i;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+c+","+u:(Math.abs(this._x1-c)>Ua||Math.abs(this._y1-u)>Ua)&&(this._+="L"+c+","+u),n&&(h<0&&(h=h%Ha+Ha),h>Ga?this._+="A"+n+","+n+",0,1,"+l+","+(t-o)+","+(e-s)+"A"+n+","+n+",0,1,"+l+","+(this._x1=c)+","+(this._y1=u):h>Ua&&(this._+="A"+n+","+n+",0,"+ +(h>=za)+","+l+","+(this._x1=t+n*Math.cos(r))+","+(this._y1=e+n*Math.sin(r))));},rect:function(t,e,n,i){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +i+"h"+-n+"Z";},toString:function(){return this._}};var Va=Xa("image/svg+xml");function Za(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Qa(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,i=t.slice(0,n);return [i.length>1?i[0]+i.slice(2):i,+t.slice(n+1)]}function Ja(t){return (t=Qa(Math.abs(t)))?t[1]:NaN}function to(t,e){return function(n,i){for(var r=n.length,a=[],o=0,s=t[0],c=0;r>0&&s>0&&(c+s+1>i&&(s=Math.max(1,i-c)),a.push(n.substring(r-=s,r+s)),!((c+=s+1)>i));)s=t[o=(o+1)%t.length];return a.reverse().join(e)}}function eo(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}var no,io=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function ro(t){if(!(e=io.exec(t)))throw new Error("invalid format: "+t);var e;return new ao({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function ao(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+"";}function oo(t){t:for(var e,n=t.length,i=1,r=-1;i0&&(r=0);}return r>0?t.slice(0,r)+t.slice(e+1):t}function so(t,e){var n=Qa(t,e);if(!n)return t+"";var i=n[0],r=n[1],a=r-(no=3*Math.max(-8,Math.min(8,Math.floor(r/3))))+1,o=i.length;return a===o?i:a>o?i+new Array(a-o+1).join("0"):a>0?i.slice(0,a)+"."+i.slice(a):"0."+new Array(1-a).join("0")+Qa(t,Math.max(0,e+a-1))[0]}function co(t,e){var n=Qa(t,e);if(!n)return t+"";var i=n[0],r=n[1];return r<0?"0."+new Array(-r).join("0")+i:i.length>r+1?i.slice(0,r+1)+"."+i.slice(r+1):i+new Array(r-i.length+2).join("0")}ro.prototype=ao.prototype,ao.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const uo={"%":(t,e)=>(100*t).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:Za,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>co(100*t,e),r:co,s:so,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function lo(t){return t}var ho,fo,go,po=Array.prototype.map,bo=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function wo(t){var e=void 0===t.grouping||void 0===t.thousands?lo:to(po.call(t.grouping,Number),t.thousands+""),n=void 0===t.currency?"":t.currency[0]+"",i=void 0===t.currency?"":t.currency[1]+"",r=void 0===t.decimal?".":t.decimal+"",a=void 0===t.numerals?lo:eo(po.call(t.numerals,String)),o=void 0===t.percent?"%":t.percent+"",s=void 0===t.minus?"−":t.minus+"",c=void 0===t.nan?"NaN":t.nan+"";function u(t){var u=(t=ro(t)).fill,l=t.align,h=t.sign,f=t.symbol,d=t.zero,g=t.width,p=t.comma,b=t.precision,w=t.trim,y=t.type;"n"===y?(p=!0,y="g"):uo[y]||(void 0===b&&(b=12),w=!0,y="g"),(d||"0"===u&&"="===l)&&(d=!0,u="0",l="=");var m="$"===f?n:"#"===f&&/[boxX]/.test(y)?"0"+y.toLowerCase():"",v="$"===f?i:/[%p]/.test(y)?o:"",x=uo[y],k=/[defgprs%]/.test(y);function _(t){var n,i,o,f=m,_=v;if("c"===y)_=x(t)+_,t="";else {var E=(t=+t)<0||1/t<0;if(t=isNaN(t)?c:x(Math.abs(t),b),w&&(t=oo(t)),E&&0==+t&&"+"!==h&&(E=!1),f=(E?"("===h?h:s:"-"===h||"("===h?"":h)+f,_=("s"===y?bo[8+no/3]:"")+_+(E&&"("===h?")":""),k)for(n=-1,i=t.length;++n(o=t.charCodeAt(n))||o>57){_=(46===o?r+t.slice(n+1):t.slice(n))+_,t=t.slice(0,n);break}}p&&!d&&(t=e(t,1/0));var T=f.length+t.length+_.length,C=T>1)+f+t+_+C.slice(T);break;default:t=C+f+t+_;}return a(t)}return b=void 0===b?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),_.toString=function(){return t+""},_}function l(t,e){var n=u(((t=ro(t)).type="f",t)),i=3*Math.max(-8,Math.min(8,Math.floor(Ja(e)/3))),r=Math.pow(10,-i),a=bo[8+i/3];return function(t){return n(r*t)+a}}return {format:u,formatPrefix:l}}function yo(t){return ho=wo(t),fo=ho.format,go=ho.formatPrefix,ho}function mo(t){return Math.max(0,-Ja(Math.abs(t)))}function vo(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Ja(e)/3)))-Ja(Math.abs(t)))}function xo(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Ja(e)-Ja(t))+1}function ko(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);}return this}yo({thousands:",",grouping:[3],currency:["$",""]});const _o=Symbol("implicit");function Eo(){var t=new O,e=[],n=[],i=_o;function r(r){let a=t.get(r);if(void 0===a){if(i!==_o)return i;t.set(r,a=e.push(r)-1);}return n[a%n.length]}return r.domain=function(n){if(!arguments.length)return e.slice();e=[],t=new O;for(const i of n)t.has(i)||t.set(i,e.push(i)-1);return r},r.range=function(t){return arguments.length?(n=Array.from(t),r):n.slice()},r.unknown=function(t){return arguments.length?(i=t,r):i},r.copy=function(){return Eo(e,n).unknown(i)},ko.apply(r,arguments),r}function To(t){return function(){return t}}function Co(t){return +t}var So=[0,1];function Ao(t){return t}function Mo(t,e){return (e-=t=+t)?function(n){return (n-t)/e}:To(isNaN(e)?NaN:.5)}function Io(t,e){var n;return t>e&&(n=t,t=e,e=n),function(n){return Math.max(t,Math.min(e,n))}}function Oo(t,e,n){var i=t[0],r=t[1],a=e[0],o=e[1];return r2?Lo:Oo,r=a=null,h}function h(e){return null==e||isNaN(e=+e)?n:(r||(r=i(o.map(t),s,c)))(t(u(e)))}return h.invert=function(n){return u(e((a||(a=i(s,o.map(t),Mi)))(n)))},h.domain=function(t){return arguments.length?(o=Array.from(t,Co),l()):o.slice()},h.range=function(t){return arguments.length?(s=Array.from(t),l()):s.slice()},h.rangeRound=function(t){return s=Array.from(t),c=Ri,l()},h.clamp=function(t){return arguments.length?(u=!!t||Ao,l()):u!==Ao},h.interpolate=function(t){return arguments.length?(c=t,l()):c},h.unknown=function(t){return arguments.length?(n=t,h):n},function(n,i){return t=n,e=i,l()}}function Po(){return No()(Ao,Ao)}function Bo(t,e,n,i){var r,a=z(t,e,n);switch((i=ro(null==i?",f":i)).type){case"s":var o=Math.max(Math.abs(t),Math.abs(e));return null!=i.precision||isNaN(r=vo(a,o))||(i.precision=r),go(i,o);case"":case"e":case"g":case"p":case"r":null!=i.precision||isNaN(r=xo(a,Math.max(Math.abs(t),Math.abs(e))))||(i.precision=r-("e"===i.type));break;case"f":case"%":null!=i.precision||isNaN(r=mo(a))||(i.precision=r-2*("%"===i.type));}return fo(i)}function Ro(t){var e=t.domain;return t.ticks=function(t){var n=e();return $(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){var i=e();return Bo(i[0],i[i.length-1],null==t?10:t,n)},t.nice=function(n){null==n&&(n=10);var i,r,a=e(),o=0,s=a.length-1,c=a[o],u=a[s],l=10;for(u0;){if((r=F(c,u,n))===i)return a[o]=c,a[s]=u,e(a);if(r>0)c=Math.floor(c/r)*r,u=Math.ceil(u/r)*r;else {if(!(r<0))break;c=Math.ceil(c*r)/r,u=Math.floor(u*r)/r;}i=r;}return t},t}function jo(){var t=Po();return t.copy=function(){return Do(t,jo())},ko.apply(t,arguments),Ro(t)}function $o(t,e){var n,i=0,r=(t=t.slice()).length-1,a=t[i],o=t[r];return o0))return s;do{s.push(o=new Date(+n)),e(n,a),t(n);}while(o=e)for(;t(e),!n(e);)e.setTime(e-1);}),(function(t,i){if(t>=t)if(i<0)for(;++i<=0;)for(;e(t,-1),!n(t););else for(;--i>=0;)for(;e(t,1),!n(t););}))},n&&(r.count=function(e,i){return Fo.setTime(+e),zo.setTime(+i),t(Fo),t(zo),Math.floor(n(Fo,zo))},r.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?r.filter(i?function(e){return i(e)%t==0}:function(e){return r.count(0,e)%t==0}):r:null}),r}var Uo=Ho((function(){}),(function(t,e){t.setTime(+t+e);}),(function(t,e){return e-t}));Uo.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?Ho((function(e){e.setTime(Math.floor(e/t)*t);}),(function(e,n){e.setTime(+e+n*t);}),(function(e,n){return (n-e)/t})):Uo:null};const Go=Uo;Uo.range;const qo=1e3,Ko=60*qo,Yo=60*Ko,Wo=24*Yo,Xo=7*Wo,Vo=30*Wo,Zo=365*Wo;var Qo=Ho((function(t){t.setTime(t-t.getMilliseconds());}),(function(t,e){t.setTime(+t+e*qo);}),(function(t,e){return (e-t)/qo}),(function(t){return t.getUTCSeconds()}));const Jo=Qo;Qo.range;var ts=Ho((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*qo);}),(function(t,e){t.setTime(+t+e*Ko);}),(function(t,e){return (e-t)/Ko}),(function(t){return t.getMinutes()}));const es=ts;ts.range;var ns=Ho((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*qo-t.getMinutes()*Ko);}),(function(t,e){t.setTime(+t+e*Yo);}),(function(t,e){return (e-t)/Yo}),(function(t){return t.getHours()}));const is=ns;ns.range;var rs=Ho((t=>t.setHours(0,0,0,0)),((t,e)=>t.setDate(t.getDate()+e)),((t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Ko)/Wo),(t=>t.getDate()-1));const as=rs;function os(t){return Ho((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0);}),(function(t,e){t.setDate(t.getDate()+7*e);}),(function(t,e){return (e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Ko)/Xo}))}rs.range;var ss=os(0),cs=os(1),us=os(2),ls=os(3),hs=os(4),fs=os(5),ds=os(6);ss.range,cs.range,us.range,ls.range,hs.range,fs.range,ds.range;var gs=Ho((function(t){t.setDate(1),t.setHours(0,0,0,0);}),(function(t,e){t.setMonth(t.getMonth()+e);}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()}));const ps=gs;gs.range;var bs=Ho((function(t){t.setMonth(0,1),t.setHours(0,0,0,0);}),(function(t,e){t.setFullYear(t.getFullYear()+e);}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));bs.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Ho((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0);}),(function(e,n){e.setFullYear(e.getFullYear()+n*t);})):null};const ws=bs;bs.range,Ho((function(t){t.setUTCSeconds(0,0);}),(function(t,e){t.setTime(+t+e*Ko);}),(function(t,e){return (e-t)/Ko}),(function(t){return t.getUTCMinutes()})).range,Ho((function(t){t.setUTCMinutes(0,0,0);}),(function(t,e){t.setTime(+t+e*Yo);}),(function(t,e){return (e-t)/Yo}),(function(t){return t.getUTCHours()})).range;var ys=Ho((function(t){t.setUTCHours(0,0,0,0);}),(function(t,e){t.setUTCDate(t.getUTCDate()+e);}),(function(t,e){return (e-t)/Wo}),(function(t){return t.getUTCDate()-1}));const ms=ys;function vs(t){return Ho((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0);}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e);}),(function(t,e){return (e-t)/Xo}))}ys.range;var xs=vs(0),ks=vs(1),_s=vs(2),Es=vs(3),Ts=vs(4),Cs=vs(5),Ss=vs(6);xs.range,ks.range,_s.range,Es.range,Ts.range,Cs.range,Ss.range,Ho((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0);}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e);}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})).range;var As=Ho((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0);}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e);}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));As.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Ho((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0);}),(function(e,n){e.setUTCFullYear(e.getUTCFullYear()+n*t);})):null};const Ms=As;function Is(t,e,n,i,r,a){const o=[[Jo,1,qo],[Jo,5,5*qo],[Jo,15,15*qo],[Jo,30,30*qo],[a,1,Ko],[a,5,5*Ko],[a,15,15*Ko],[a,30,30*Ko],[r,1,Yo],[r,3,3*Yo],[r,6,6*Yo],[r,12,12*Yo],[i,1,Wo],[i,2,2*Wo],[n,1,Xo],[e,1,Vo],[e,3,3*Vo],[t,1,Zo]];function s(t,e,n){const i=et)).right(o,r);if(a===o.length)return t.every(z(e/Zo,n/Zo,i));if(0===a)return Go.every(Math.max(z(e,n,i),1));const[s,c]=o[r/o[a-1][2]53)return null;"w"in a||(a.w=1),"Z"in a?(r=(i=Ns(Ps(a.y,0,1))).getUTCDay(),i=r>4||0===r?ks.ceil(i):ks(i),i=ms.offset(i,7*(a.V-1)),a.y=i.getUTCFullYear(),a.m=i.getUTCMonth(),a.d=i.getUTCDate()+(a.w+6)%7):(r=(i=Ds(Ps(a.y,0,1))).getDay(),i=r>4||0===r?cs.ceil(i):cs(i),i=as.offset(i,7*(a.V-1)),a.y=i.getFullYear(),a.m=i.getMonth(),a.d=i.getDate()+(a.w+6)%7);}else ("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:"W"in a?1:0),r="Z"in a?Ns(Ps(a.y,0,1)).getUTCDay():Ds(Ps(a.y,0,1)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(r+5)%7:a.w+7*a.U-(r+6)%7);return "Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,Ns(a)):Ds(a)}}function E(t,e,n,i){for(var r,a,o=0,s=e.length,c=n.length;o=c)return -1;if(37===(r=e.charCodeAt(o++))){if(r=e.charAt(o++),!(a=x[r in $s?e.charAt(o++):r])||(i=a(t,n,i))<0)return -1}else if(r!=n.charCodeAt(i++))return -1}return i}function T(t,e,n){var i=u.exec(e.slice(n));return i?(t.p=l.get(i[0].toLowerCase()),n+i[0].length):-1}function C(t,e,n){var i=d.exec(e.slice(n));return i?(t.w=g.get(i[0].toLowerCase()),n+i[0].length):-1}function S(t,e,n){var i=h.exec(e.slice(n));return i?(t.w=f.get(i[0].toLowerCase()),n+i[0].length):-1}function A(t,e,n){var i=w.exec(e.slice(n));return i?(t.m=y.get(i[0].toLowerCase()),n+i[0].length):-1}function M(t,e,n){var i=p.exec(e.slice(n));return i?(t.m=b.get(i[0].toLowerCase()),n+i[0].length):-1}function I(t,n,i){return E(t,e,n,i)}function O(t,e,i){return E(t,n,e,i)}function L(t,e,n){return E(t,i,e,n)}function D(t){return o[t.getDay()]}function N(t){return a[t.getDay()]}function P(t){return c[t.getMonth()]}function B(t){return s[t.getMonth()]}function R(t){return r[+(t.getHours()>=12)]}function j(t){return 1+~~(t.getMonth()/3)}function $(t){return o[t.getUTCDay()]}function F(t){return a[t.getUTCDay()]}function z(t){return c[t.getUTCMonth()]}function H(t){return s[t.getUTCMonth()]}function U(t){return r[+(t.getUTCHours()>=12)]}function G(t){return 1+~~(t.getUTCMonth()/3)}return m.x=k(n,m),m.X=k(i,m),m.c=k(e,m),v.x=k(n,v),v.X=k(i,v),v.c=k(e,v),{format:function(t){var e=k(t+="",m);return e.toString=function(){return t},e},parse:function(t){var e=_(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=k(t+="",v);return e.toString=function(){return t},e},utcParse:function(t){var e=_(t+="",!0);return e.toString=function(){return t},e}}}var Rs,js,$s={"-":"",_:" ",0:"0"},Fs=/^\s*\d+/,zs=/^%/,Hs=/[\\^$*+?|[\]().{}]/g;function Us(t,e,n){var i=t<0?"-":"",r=(i?-t:t)+"",a=r.length;return i+(a[t.toLowerCase(),e])))}function Ys(t,e,n){var i=Fs.exec(e.slice(n,n+1));return i?(t.w=+i[0],n+i[0].length):-1}function Ws(t,e,n){var i=Fs.exec(e.slice(n,n+1));return i?(t.u=+i[0],n+i[0].length):-1}function Xs(t,e,n){var i=Fs.exec(e.slice(n,n+2));return i?(t.U=+i[0],n+i[0].length):-1}function Vs(t,e,n){var i=Fs.exec(e.slice(n,n+2));return i?(t.V=+i[0],n+i[0].length):-1}function Zs(t,e,n){var i=Fs.exec(e.slice(n,n+2));return i?(t.W=+i[0],n+i[0].length):-1}function Qs(t,e,n){var i=Fs.exec(e.slice(n,n+4));return i?(t.y=+i[0],n+i[0].length):-1}function Js(t,e,n){var i=Fs.exec(e.slice(n,n+2));return i?(t.y=+i[0]+(+i[0]>68?1900:2e3),n+i[0].length):-1}function tc(t,e,n){var i=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return i?(t.Z=i[1]?0:-(i[2]+(i[3]||"00")),n+i[0].length):-1}function ec(t,e,n){var i=Fs.exec(e.slice(n,n+1));return i?(t.q=3*i[0]-3,n+i[0].length):-1}function nc(t,e,n){var i=Fs.exec(e.slice(n,n+2));return i?(t.m=i[0]-1,n+i[0].length):-1}function ic(t,e,n){var i=Fs.exec(e.slice(n,n+2));return i?(t.d=+i[0],n+i[0].length):-1}function rc(t,e,n){var i=Fs.exec(e.slice(n,n+3));return i?(t.m=0,t.d=+i[0],n+i[0].length):-1}function ac(t,e,n){var i=Fs.exec(e.slice(n,n+2));return i?(t.H=+i[0],n+i[0].length):-1}function oc(t,e,n){var i=Fs.exec(e.slice(n,n+2));return i?(t.M=+i[0],n+i[0].length):-1}function sc(t,e,n){var i=Fs.exec(e.slice(n,n+2));return i?(t.S=+i[0],n+i[0].length):-1}function cc(t,e,n){var i=Fs.exec(e.slice(n,n+3));return i?(t.L=+i[0],n+i[0].length):-1}function uc(t,e,n){var i=Fs.exec(e.slice(n,n+6));return i?(t.L=Math.floor(i[0]/1e3),n+i[0].length):-1}function lc(t,e,n){var i=zs.exec(e.slice(n,n+1));return i?n+i[0].length:-1}function hc(t,e,n){var i=Fs.exec(e.slice(n));return i?(t.Q=+i[0],n+i[0].length):-1}function fc(t,e,n){var i=Fs.exec(e.slice(n));return i?(t.s=+i[0],n+i[0].length):-1}function dc(t,e){return Us(t.getDate(),e,2)}function gc(t,e){return Us(t.getHours(),e,2)}function pc(t,e){return Us(t.getHours()%12||12,e,2)}function bc(t,e){return Us(1+as.count(ws(t),t),e,3)}function wc(t,e){return Us(t.getMilliseconds(),e,3)}function yc(t,e){return wc(t,e)+"000"}function mc(t,e){return Us(t.getMonth()+1,e,2)}function vc(t,e){return Us(t.getMinutes(),e,2)}function xc(t,e){return Us(t.getSeconds(),e,2)}function kc(t){var e=t.getDay();return 0===e?7:e}function _c(t,e){return Us(ss.count(ws(t)-1,t),e,2)}function Ec(t){var e=t.getDay();return e>=4||0===e?hs(t):hs.ceil(t)}function Tc(t,e){return t=Ec(t),Us(hs.count(ws(t),t)+(4===ws(t).getDay()),e,2)}function Cc(t){return t.getDay()}function Sc(t,e){return Us(cs.count(ws(t)-1,t),e,2)}function Ac(t,e){return Us(t.getFullYear()%100,e,2)}function Mc(t,e){return Us((t=Ec(t)).getFullYear()%100,e,2)}function Ic(t,e){return Us(t.getFullYear()%1e4,e,4)}function Oc(t,e){var n=t.getDay();return Us((t=n>=4||0===n?hs(t):hs.ceil(t)).getFullYear()%1e4,e,4)}function Lc(t){var e=t.getTimezoneOffset();return (e>0?"-":(e*=-1,"+"))+Us(e/60|0,"0",2)+Us(e%60,"0",2)}function Dc(t,e){return Us(t.getUTCDate(),e,2)}function Nc(t,e){return Us(t.getUTCHours(),e,2)}function Pc(t,e){return Us(t.getUTCHours()%12||12,e,2)}function Bc(t,e){return Us(1+ms.count(Ms(t),t),e,3)}function Rc(t,e){return Us(t.getUTCMilliseconds(),e,3)}function jc(t,e){return Rc(t,e)+"000"}function $c(t,e){return Us(t.getUTCMonth()+1,e,2)}function Fc(t,e){return Us(t.getUTCMinutes(),e,2)}function zc(t,e){return Us(t.getUTCSeconds(),e,2)}function Hc(t){var e=t.getUTCDay();return 0===e?7:e}function Uc(t,e){return Us(xs.count(Ms(t)-1,t),e,2)}function Gc(t){var e=t.getUTCDay();return e>=4||0===e?Ts(t):Ts.ceil(t)}function qc(t,e){return t=Gc(t),Us(Ts.count(Ms(t),t)+(4===Ms(t).getUTCDay()),e,2)}function Kc(t){return t.getUTCDay()}function Yc(t,e){return Us(ks.count(Ms(t)-1,t),e,2)}function Wc(t,e){return Us(t.getUTCFullYear()%100,e,2)}function Xc(t,e){return Us((t=Gc(t)).getUTCFullYear()%100,e,2)}function Vc(t,e){return Us(t.getUTCFullYear()%1e4,e,4)}function Zc(t,e){var n=t.getUTCDay();return Us((t=n>=4||0===n?Ts(t):Ts.ceil(t)).getUTCFullYear()%1e4,e,4)}function Qc(){return "+0000"}function Jc(){return "%"}function tu(t){return +t}function eu(t){return Math.floor(+t/1e3)}function nu(t){return Rs=Bs(t),js=Rs.format,Rs.parse,Rs.utcFormat,Rs.utcParse,Rs}function iu(t){return new Date(t)}function ru(t){return t instanceof Date?+t:+new Date(+t)}function au(t,e,n,i,r,a,o,s,c,u){var l=Po(),h=l.invert,f=l.domain,d=u(".%L"),g=u(":%S"),p=u("%I:%M"),b=u("%I %p"),w=u("%a %d"),y=u("%b %d"),m=u("%B"),v=u("%Y");function x(t){return (c(t)1?0:t<-1?bu:Math.acos(t)}function vu(t){return t>=1?wu:t<=-1?-wu:Math.asin(t)}function xu(t){return t.innerRadius}function ku(t){return t.outerRadius}function _u(t){return t.startAngle}function Eu(t){return t.endAngle}function Tu(t){return t&&t.padAngle}function Cu(t,e,n,i,r,a,o,s){var c=n-t,u=i-e,l=o-r,h=s-a,f=h*c-l*u;if(!(f*fI*I+O*O&&(E=C,T=S),{cx:E,cy:T,x01:-l,y01:-h,x11:E*(r/x-1),y11:T*(r/x-1)}}function Au(){var t=xu,e=ku,n=su(0),i=null,r=_u,a=Eu,o=Tu,s=null;function c(){var c,u,l=+t.apply(this,arguments),h=+e.apply(this,arguments),f=r.apply(this,arguments)-wu,d=a.apply(this,arguments)-wu,g=cu(d-f),p=d>f;if(s||(s=c=Ka()),hpu)if(g>yu-pu)s.moveTo(h*lu(f),h*du(f)),s.arc(0,0,h,f,d,!p),l>pu&&(s.moveTo(l*lu(d),l*du(d)),s.arc(0,0,l,d,f,p));else {var b,w,y=f,m=d,v=f,x=d,k=g,_=g,E=o.apply(this,arguments)/2,T=E>pu&&(i?+i.apply(this,arguments):gu(l*l+h*h)),C=fu(cu(h-l)/2,+n.apply(this,arguments)),S=C,A=C;if(T>pu){var M=vu(T/l*du(E)),I=vu(T/h*du(E));(k-=2*M)>pu?(v+=M*=p?1:-1,x-=M):(k=0,v=x=(f+d)/2),(_-=2*I)>pu?(y+=I*=p?1:-1,m-=I):(_=0,y=m=(f+d)/2);}var O=h*lu(y),L=h*du(y),D=l*lu(x),N=l*du(x);if(C>pu){var P,B=h*lu(m),R=h*du(m),j=l*lu(v),$=l*du(v);if(gpu?A>pu?(b=Su(j,$,O,L,h,A,p),w=Su(B,R,D,N,h,A,p),s.moveTo(b.cx+b.x01,b.cy+b.y01),Apu&&k>pu?S>pu?(b=Su(D,N,B,R,l,-S,p),w=Su(O,L,j,$,l,-S,p),s.lineTo(b.cx+b.x01,b.cy+b.y01),St?1:e>=t?0:NaN}function Bu(t){return t}function Ru(){var t=Bu,e=Pu,n=null,i=su(0),r=su(yu),a=su(0);function o(o){var s,c,u,l,h,f=(o=Mu(o)).length,d=0,g=new Array(f),p=new Array(f),b=+i.apply(this,arguments),w=Math.min(yu,Math.max(-yu,r.apply(this,arguments)-b)),y=Math.min(Math.abs(w)/f,a.apply(this,arguments)),m=y*(w<0?-1:1);for(s=0;s0&&(d+=h);for(null!=e?g.sort((function(t,n){return e(p[t],p[n])})):null!=n&&g.sort((function(t,e){return n(o[t],o[e])})),s=0,u=d?(w-f*m)/d:0;s0?h*u:0)+m,p[c]={data:o[c],index:s,value:h,startAngle:b,endAngle:l,padAngle:y};return p}return o.value=function(e){return arguments.length?(t="function"==typeof e?e:su(+e),o):t},o.sortValues=function(t){return arguments.length?(e=t,n=null,o):e},o.sort=function(t){return arguments.length?(n=t,e=null,o):n},o.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:su(+t),o):i},o.endAngle=function(t){return arguments.length?(r="function"==typeof t?t:su(+t),o):r},o.padAngle=function(t){return arguments.length?(a="function"==typeof t?t:su(+t),o):a},o}Iu.prototype={areaStart:function(){this._line=0;},areaEnd:function(){this._line=NaN;},lineStart:function(){this._point=0;},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line;},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);}}};class ju{constructor(t,e){this._context=t,this._x=e;}areaStart(){this._line=0;}areaEnd(){this._line=NaN;}lineStart(){this._point=0;}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line;}point(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,e,t,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,t,this._y0,t,e);}this._x0=t,this._y0=e;}}function $u(t){return new ju(t,!0)}function Fu(t){return new ju(t,!1)}function zu(){}function Hu(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6);}function Uu(t){this._context=t;}function Gu(t){return new Uu(t)}function qu(t){this._context=t;}function Ku(t){return new qu(t)}function Yu(t){this._context=t;}function Wu(t){return new Yu(t)}function Xu(t,e){this._basis=new Uu(t),this._beta=e;}Uu.prototype={areaStart:function(){this._line=0;},areaEnd:function(){this._line=NaN;},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0;},lineEnd:function(){switch(this._point){case 3:Hu(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line;},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Hu(this,t,e);}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e;}},qu.prototype={areaStart:zu,areaEnd:zu,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0;},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Hu(this,t,e);}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e;}},Yu.prototype={areaStart:function(){this._line=0;},areaEnd:function(){this._line=NaN;},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0;},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line;},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,i=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,i):this._context.moveTo(n,i);break;case 3:this._point=4;default:Hu(this,t,e);}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e;}},Xu.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart();},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var i,r=t[0],a=e[0],o=t[n]-r,s=e[n]-a,c=-1;++c<=n;)i=c/n,this._basis.point(this._beta*t[c]+(1-this._beta)*(r+i*o),this._beta*e[c]+(1-this._beta)*(a+i*s));this._x=this._y=null,this._basis.lineEnd();},point:function(t,e){this._x.push(+t),this._y.push(+e);}};const Vu=function t(e){function n(t){return 1===e?new Uu(t):new Xu(t,e)}return n.beta=function(e){return t(+e)},n}(.85);function Zu(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2);}function Qu(t,e){this._context=t,this._k=(1-e)/6;}Qu.prototype={areaStart:function(){this._line=0;},areaEnd:function(){this._line=NaN;},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0;},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Zu(this,this._x1,this._y1);}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line;},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Zu(this,t,e);}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e;}};const Ju=function t(e){function n(t){return new Qu(t,e)}return n.tension=function(e){return t(+e)},n}(0);function tl(t,e){this._context=t,this._k=(1-e)/6;}tl.prototype={areaStart:zu,areaEnd:zu,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0;},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Zu(this,t,e);}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e;}};const el=function t(e){function n(t){return new tl(t,e)}return n.tension=function(e){return t(+e)},n}(0);function nl(t,e){this._context=t,this._k=(1-e)/6;}nl.prototype={areaStart:function(){this._line=0;},areaEnd:function(){this._line=NaN;},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0;},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line;},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Zu(this,t,e);}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e;}};const il=function t(e){function n(t){return new nl(t,e)}return n.tension=function(e){return t(+e)},n}(0);function rl(t,e,n){var i=t._x1,r=t._y1,a=t._x2,o=t._y2;if(t._l01_a>pu){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);i=(i*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,r=(r*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/c;}if(t._l23_a>pu){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,l=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*u+t._x1*t._l23_2a-e*t._l12_2a)/l,o=(o*u+t._y1*t._l23_2a-n*t._l12_2a)/l;}t._context.bezierCurveTo(i,r,a,o,t._x2,t._y2);}function al(t,e){this._context=t,this._alpha=e;}al.prototype={areaStart:function(){this._line=0;},areaEnd:function(){this._line=NaN;},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0;},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line;},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha));}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:rl(this,t,e);}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e;}};const ol=function t(e){function n(t){return e?new al(t,e):new Qu(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function sl(t,e){this._context=t,this._alpha=e;}sl.prototype={areaStart:zu,areaEnd:zu,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0;},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha));}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:rl(this,t,e);}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e;}};const cl=function t(e){function n(t){return e?new sl(t,e):new tl(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function ul(t,e){this._context=t,this._alpha=e;}ul.prototype={areaStart:function(){this._line=0;},areaEnd:function(){this._line=NaN;},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0;},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line;},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha));}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:rl(this,t,e);}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e;}};const ll=function t(e){function n(t){return e?new ul(t,e):new nl(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function hl(t){this._context=t;}function fl(t){return new hl(t)}function dl(t){return t<0?-1:1}function gl(t,e,n){var i=t._x1-t._x0,r=e-t._x1,a=(t._y1-t._y0)/(i||r<0&&-0),o=(n-t._y1)/(r||i<0&&-0),s=(a*r+o*i)/(i+r);return (dl(a)+dl(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function pl(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function bl(t,e,n){var i=t._x0,r=t._y0,a=t._x1,o=t._y1,s=(a-i)/3;t._context.bezierCurveTo(i+s,r+s*e,a-s,o-s*n,a,o);}function wl(t){this._context=t;}function yl(t){this._context=new ml(t);}function ml(t){this._context=t;}function vl(t){return new wl(t)}function xl(t){return new yl(t)}function kl(t){this._context=t;}function _l(t){var e,n,i=t.length-1,r=new Array(i),a=new Array(i),o=new Array(i);for(r[0]=0,a[0]=2,o[0]=t[0]+2*t[1],e=1;e=0;--e)r[e]=(o[e]-r[e+1])/a[e];for(a[i-1]=(t[i]+r[i-1])/2,e=0;et.length)&&(e=t.length);for(var n=0,i=new Array(e);n=0&&(this._t=1-this._t,this._line=1-this._line);},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else {var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e);}}this._x=t,this._y=e;}},Ml.prototype={constructor:Ml,scale:function(t){return 1===t?this:new Ml(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new Ml(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return [t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return [(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return (t-this.x)/this.k},invertY:function(t){return (t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return "translate("+this.x+","+this.y+") scale("+this.k+")"}},Ml.prototype;var Fl=Object.hasOwnProperty,zl=Object.setPrototypeOf,Hl=Object.isFrozen,Ul=Object.getPrototypeOf,Gl=Object.getOwnPropertyDescriptor,ql=Object.freeze,Kl=Object.seal,Yl=Object.create,Wl="undefined"!=typeof Reflect&&Reflect,Xl=Wl.apply,Vl=Wl.construct;Xl||(Xl=function(t,e,n){return t.apply(e,n)}),ql||(ql=function(t){return t}),Kl||(Kl=function(t){return t}),Vl||(Vl=function(t,e){return Dl(t,Nl(e))});var Zl=ch(Array.prototype.forEach),Ql=ch(Array.prototype.pop),Jl=ch(Array.prototype.push),th=ch(String.prototype.toLowerCase),eh=ch(String.prototype.toString),nh=ch(String.prototype.match),ih=ch(String.prototype.replace),rh=ch(String.prototype.indexOf),ah=ch(String.prototype.trim),oh=ch(RegExp.prototype.test),sh=uh(TypeError);function ch(t){return function(e){for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r/gm),Ch=Kl(/\${[\w\W]*}/gm),Sh=Kl(/^data-[\-\w.\u00B7-\uFFFF]/),Ah=Kl(/^aria-[\-\w]+$/),Mh=Kl(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ih=Kl(/^(?:\w+script|data):/i),Oh=Kl(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Lh=Kl(/^html$/i),Dh=function(){return "undefined"==typeof window?null:window},Nh=function(t,e){if("object"!==Il(t)||"function"!=typeof t.createPolicy)return null;var n=null,i="data-tt-policy-suffix";e.currentScript&&e.currentScript.hasAttribute(i)&&(n=e.currentScript.getAttribute(i));var r="dompurify"+(n?"#"+n:"");try{return t.createPolicy(r,{createHTML:function(t){return t},createScriptURL:function(t){return t}})}catch(t){return console.warn("TrustedTypes policy "+r+" could not be created."),null}};function Ph(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Dh(),e=function(t){return Ph(t)};if(e.version="2.4.3",e.removed=[],!t||!t.document||9!==t.document.nodeType)return e.isSupported=!1,e;var n=t.document,i=t.document,r=t.DocumentFragment,a=t.HTMLTemplateElement,o=t.Node,s=t.Element,c=t.NodeFilter,u=t.NamedNodeMap,l=void 0===u?t.NamedNodeMap||t.MozNamedAttrMap:u,h=t.HTMLFormElement,f=t.DOMParser,d=t.trustedTypes,g=s.prototype,p=fh(g,"cloneNode"),b=fh(g,"nextSibling"),w=fh(g,"childNodes"),y=fh(g,"parentNode");if("function"==typeof a){var m=i.createElement("template");m.content&&m.content.ownerDocument&&(i=m.content.ownerDocument);}var v=Nh(d,n),x=v?v.createHTML(""):"",k=i,_=k.implementation,E=k.createNodeIterator,T=k.createDocumentFragment,C=k.getElementsByTagName,S=n.importNode,A={};try{A=hh(i).documentMode?i.documentMode:{};}catch(t){}var M={};e.isSupported="function"==typeof y&&_&&void 0!==_.createHTMLDocument&&9!==A;var I,O,L=Eh,D=Th,N=Ch,P=Sh,B=Ah,R=Ih,j=Oh,$=Mh,F=null,z=lh({},[].concat(Nl(dh),Nl(gh),Nl(ph),Nl(wh),Nl(mh))),H=null,U=lh({},[].concat(Nl(vh),Nl(xh),Nl(kh),Nl(_h))),G=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),q=null,K=null,Y=!0,W=!0,X=!1,V=!1,Z=!1,Q=!1,J=!1,tt=!1,et=!1,nt=!1,it=!0,rt=!1,at="user-content-",ot=!0,st=!1,ct={},ut=null,lt=lh({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),ht=null,ft=lh({},["audio","video","img","source","image","track"]),dt=null,gt=lh({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),pt="http://www.w3.org/1998/Math/MathML",bt="http://www.w3.org/2000/svg",wt="http://www.w3.org/1999/xhtml",yt=wt,mt=!1,vt=null,xt=lh({},[pt,bt,wt],eh),kt=["application/xhtml+xml","text/html"],_t="text/html",Et=null,Tt=i.createElement("form"),Ct=function(t){return t instanceof RegExp||t instanceof Function},St=function(t){Et&&Et===t||(t&&"object"===Il(t)||(t={}),t=hh(t),I=I=-1===kt.indexOf(t.PARSER_MEDIA_TYPE)?_t:t.PARSER_MEDIA_TYPE,O="application/xhtml+xml"===I?eh:th,F="ALLOWED_TAGS"in t?lh({},t.ALLOWED_TAGS,O):z,H="ALLOWED_ATTR"in t?lh({},t.ALLOWED_ATTR,O):U,vt="ALLOWED_NAMESPACES"in t?lh({},t.ALLOWED_NAMESPACES,eh):xt,dt="ADD_URI_SAFE_ATTR"in t?lh(hh(gt),t.ADD_URI_SAFE_ATTR,O):gt,ht="ADD_DATA_URI_TAGS"in t?lh(hh(ft),t.ADD_DATA_URI_TAGS,O):ft,ut="FORBID_CONTENTS"in t?lh({},t.FORBID_CONTENTS,O):lt,q="FORBID_TAGS"in t?lh({},t.FORBID_TAGS,O):{},K="FORBID_ATTR"in t?lh({},t.FORBID_ATTR,O):{},ct="USE_PROFILES"in t&&t.USE_PROFILES,Y=!1!==t.ALLOW_ARIA_ATTR,W=!1!==t.ALLOW_DATA_ATTR,X=t.ALLOW_UNKNOWN_PROTOCOLS||!1,V=t.SAFE_FOR_TEMPLATES||!1,Z=t.WHOLE_DOCUMENT||!1,tt=t.RETURN_DOM||!1,et=t.RETURN_DOM_FRAGMENT||!1,nt=t.RETURN_TRUSTED_TYPE||!1,J=t.FORCE_BODY||!1,it=!1!==t.SANITIZE_DOM,rt=t.SANITIZE_NAMED_PROPS||!1,ot=!1!==t.KEEP_CONTENT,st=t.IN_PLACE||!1,$=t.ALLOWED_URI_REGEXP||$,yt=t.NAMESPACE||wt,t.CUSTOM_ELEMENT_HANDLING&&Ct(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(G.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&Ct(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(G.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(G.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),V&&(W=!1),et&&(tt=!0),ct&&(F=lh({},Nl(mh)),H=[],!0===ct.html&&(lh(F,dh),lh(H,vh)),!0===ct.svg&&(lh(F,gh),lh(H,xh),lh(H,_h)),!0===ct.svgFilters&&(lh(F,ph),lh(H,xh),lh(H,_h)),!0===ct.mathMl&&(lh(F,wh),lh(H,kh),lh(H,_h))),t.ADD_TAGS&&(F===z&&(F=hh(F)),lh(F,t.ADD_TAGS,O)),t.ADD_ATTR&&(H===U&&(H=hh(H)),lh(H,t.ADD_ATTR,O)),t.ADD_URI_SAFE_ATTR&&lh(dt,t.ADD_URI_SAFE_ATTR,O),t.FORBID_CONTENTS&&(ut===lt&&(ut=hh(ut)),lh(ut,t.FORBID_CONTENTS,O)),ot&&(F["#text"]=!0),Z&&lh(F,["html","head","body"]),F.table&&(lh(F,["tbody"]),delete q.tbody),ql&&ql(t),Et=t);},At=lh({},["mi","mo","mn","ms","mtext"]),Mt=lh({},["foreignobject","desc","title","annotation-xml"]),It=lh({},["title","style","font","a","script"]),Ot=lh({},gh);lh(Ot,ph),lh(Ot,bh);var Lt=lh({},wh);lh(Lt,yh);var Dt=function(t){var e=y(t);e&&e.tagName||(e={namespaceURI:yt,tagName:"template"});var n=th(t.tagName),i=th(e.tagName);return !!vt[t.namespaceURI]&&(t.namespaceURI===bt?e.namespaceURI===wt?"svg"===n:e.namespaceURI===pt?"svg"===n&&("annotation-xml"===i||At[i]):Boolean(Ot[n]):t.namespaceURI===pt?e.namespaceURI===wt?"math"===n:e.namespaceURI===bt?"math"===n&&Mt[i]:Boolean(Lt[n]):t.namespaceURI===wt?!(e.namespaceURI===bt&&!Mt[i])&&!(e.namespaceURI===pt&&!At[i])&&!Lt[n]&&(It[n]||!Ot[n]):!("application/xhtml+xml"!==I||!vt[t.namespaceURI]))},Nt=function(t){Jl(e.removed,{element:t});try{t.parentNode.removeChild(t);}catch(e){try{t.outerHTML=x;}catch(e){t.remove();}}},Pt=function(t,n){try{Jl(e.removed,{attribute:n.getAttributeNode(t),from:n});}catch(t){Jl(e.removed,{attribute:null,from:n});}if(n.removeAttribute(t),"is"===t&&!H[t])if(tt||et)try{Nt(n);}catch(t){}else try{n.setAttribute(t,"");}catch(t){}},Bt=function(t){var e,n;if(J)t=""+t;else {var r=nh(t,/^[\r\n\t ]+/);n=r&&r[0];}"application/xhtml+xml"===I&&yt===wt&&(t=''+t+"");var a=v?v.createHTML(t):t;if(yt===wt)try{e=(new f).parseFromString(a,I);}catch(t){}if(!e||!e.documentElement){e=_.createDocument(yt,"template",null);try{e.documentElement.innerHTML=mt?x:a;}catch(t){}}var o=e.body||e.documentElement;return t&&n&&o.insertBefore(i.createTextNode(n),o.childNodes[0]||null),yt===wt?C.call(e,Z?"html":"body")[0]:Z?e.documentElement:o},Rt=function(t){return E.call(t.ownerDocument||t,t,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT,null,!1)},jt=function(t){return t instanceof h&&("string"!=typeof t.nodeName||"string"!=typeof t.textContent||"function"!=typeof t.removeChild||!(t.attributes instanceof l)||"function"!=typeof t.removeAttribute||"function"!=typeof t.setAttribute||"string"!=typeof t.namespaceURI||"function"!=typeof t.insertBefore||"function"!=typeof t.hasChildNodes)},$t=function(t){return "object"===Il(o)?t instanceof o:t&&"object"===Il(t)&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName},Ft=function(t,n,i){M[t]&&Zl(M[t],(function(t){t.call(e,n,i,Et);}));},zt=function(t){var n;if(Ft("beforeSanitizeElements",t,null),jt(t))return Nt(t),!0;if(oh(/[\u0080-\uFFFF]/,t.nodeName))return Nt(t),!0;var i=O(t.nodeName);if(Ft("uponSanitizeElement",t,{tagName:i,allowedTags:F}),t.hasChildNodes()&&!$t(t.firstElementChild)&&(!$t(t.content)||!$t(t.content.firstElementChild))&&oh(/<[/\w]/g,t.innerHTML)&&oh(/<[/\w]/g,t.textContent))return Nt(t),!0;if("select"===i&&oh(/=0;--o)r.insertBefore(p(a[o],!0),b(t));}return Nt(t),!0}return t instanceof s&&!Dt(t)?(Nt(t),!0):"noscript"!==i&&"noembed"!==i||!oh(/<\/no(script|embed)/i,t.innerHTML)?(V&&3===t.nodeType&&(n=t.textContent,n=ih(n,L," "),n=ih(n,D," "),n=ih(n,N," "),t.textContent!==n&&(Jl(e.removed,{element:t.cloneNode()}),t.textContent=n)),Ft("afterSanitizeElements",t,null),!1):(Nt(t),!0)},Ht=function(t,e,n){if(it&&("id"===e||"name"===e)&&(n in i||n in Tt))return !1;if(W&&!K[e]&&oh(P,e));else if(Y&&oh(B,e));else if(!H[e]||K[e]){if(!(Ut(t)&&(G.tagNameCheck instanceof RegExp&&oh(G.tagNameCheck,t)||G.tagNameCheck instanceof Function&&G.tagNameCheck(t))&&(G.attributeNameCheck instanceof RegExp&&oh(G.attributeNameCheck,e)||G.attributeNameCheck instanceof Function&&G.attributeNameCheck(e))||"is"===e&&G.allowCustomizedBuiltInElements&&(G.tagNameCheck instanceof RegExp&&oh(G.tagNameCheck,n)||G.tagNameCheck instanceof Function&&G.tagNameCheck(n))))return !1}else if(dt[e]);else if(oh($,ih(n,j,"")));else if("src"!==e&&"xlink:href"!==e&&"href"!==e||"script"===t||0!==rh(n,"data:")||!ht[t])if(X&&!oh(R,ih(n,j,"")));else if(n)return !1;return !0},Ut=function(t){return t.indexOf("-")>0},Gt=function(t){var n,i,r,a;Ft("beforeSanitizeAttributes",t,null);var o=t.attributes;if(o){var s={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:H};for(a=o.length;a--;){var c=n=o[a],u=c.name,l=c.namespaceURI;if(i="value"===u?n.value:ah(n.value),r=O(u),s.attrName=r,s.attrValue=i,s.keepAttr=!0,s.forceKeepAttr=void 0,Ft("uponSanitizeAttribute",t,s),i=s.attrValue,!s.forceKeepAttr&&(Pt(u,t),s.keepAttr))if(oh(/\/>/i,i))Pt(u,t);else {V&&(i=ih(i,L," "),i=ih(i,D," "),i=ih(i,N," "));var h=O(t.nodeName);if(Ht(h,r,i)){if(!rt||"id"!==r&&"name"!==r||(Pt(u,t),i=at+i),v&&"object"===Il(d)&&"function"==typeof d.getAttributeType)if(l);else switch(d.getAttributeType(h,r)){case"TrustedHTML":i=v.createHTML(i);break;case"TrustedScriptURL":i=v.createScriptURL(i);}try{l?t.setAttributeNS(l,u,i):t.setAttribute(u,i),Ql(e.removed);}catch(t){}}}}Ft("afterSanitizeAttributes",t,null);}},qt=function t(e){var n,i=Rt(e);for(Ft("beforeSanitizeShadowDOM",e,null);n=i.nextNode();)Ft("uponSanitizeShadowNode",n,null),zt(n)||(n.content instanceof r&&t(n.content),Gt(n));Ft("afterSanitizeShadowDOM",e,null);};return e.sanitize=function(i){var a,s,c,u,l,h=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if((mt=!i)&&(i="\x3c!--\x3e"),"string"!=typeof i&&!$t(i)){if("function"!=typeof i.toString)throw sh("toString is not a function");if("string"!=typeof(i=i.toString()))throw sh("dirty is not a string, aborting")}if(!e.isSupported){if("object"===Il(t.toStaticHTML)||"function"==typeof t.toStaticHTML){if("string"==typeof i)return t.toStaticHTML(i);if($t(i))return t.toStaticHTML(i.outerHTML)}return i}if(Q||St(h),e.removed=[],"string"==typeof i&&(st=!1),st){if(i.nodeName){var f=O(i.nodeName);if(!F[f]||q[f])throw sh("root node is forbidden and cannot be sanitized in-place")}}else if(i instanceof o)1===(s=(a=Bt("\x3c!----\x3e")).ownerDocument.importNode(i,!0)).nodeType&&"BODY"===s.nodeName||"HTML"===s.nodeName?a=s:a.appendChild(s);else {if(!tt&&!V&&!Z&&-1===i.indexOf("<"))return v&&nt?v.createHTML(i):i;if(!(a=Bt(i)))return tt?null:nt?x:""}a&&J&&Nt(a.firstChild);for(var d=Rt(st?i:a);c=d.nextNode();)3===c.nodeType&&c===u||zt(c)||(c.content instanceof r&&qt(c.content),Gt(c),u=c);if(u=null,st)return i;if(tt){if(et)for(l=T.call(a.ownerDocument);a.firstChild;)l.appendChild(a.firstChild);else l=a;return H.shadowroot&&(l=S.call(n,l,!0)),l}var g=Z?a.outerHTML:a.innerHTML;return Z&&F["!doctype"]&&a.ownerDocument&&a.ownerDocument.doctype&&a.ownerDocument.doctype.name&&oh(Lh,a.ownerDocument.doctype.name)&&(g="\n"+g),V&&(g=ih(g,L," "),g=ih(g,D," "),g=ih(g,N," ")),v&&nt?v.createHTML(g):g},e.setConfig=function(t){St(t),Q=!0;},e.clearConfig=function(){Et=null,Q=!1;},e.isValidAttribute=function(t,e,n){Et||St({});var i=O(t),r=O(e);return Ht(i,r,n)},e.addHook=function(t,e){"function"==typeof e&&(M[t]=M[t]||[],Jl(M[t],e));},e.removeHook=function(t){if(M[t])return Ql(M[t])},e.removeHooks=function(t){M[t]&&(M[t]=[]);},e.removeAllHooks=function(){M={};},e}var Bh=Ph();const Rh=t=>t?Gh(t).replace(/\\n/g,"#br#").split("#br#"):[""],jh=t=>Bh.sanitize(t),$h=(t,e)=>{var n;if(!1!==(null==(n=e.flowchart)?void 0:n.htmlLabels)){const n=e.securityLevel;"antiscript"===n||"strict"===n?t=jh(t):"loose"!==n&&(t=(t=(t=Gh(t)).replace(//g,">")).replace(/=/g,"="),t=Uh(t));}return t},Fh=(t,e)=>t?t=e.dompurifyConfig?Bh.sanitize($h(t,e),e.dompurifyConfig).toString():Bh.sanitize($h(t,e),{FORBID_TAGS:["style"]}).toString():t,zh=(t,e)=>"string"==typeof t?Fh(t,e):t.flat().map((t=>Fh(t,e))),Hh=/
/gi,Uh=t=>t.replace(/#br#/g,"
"),Gh=t=>t.replace(Hh,"#br#"),qh=t=>!1!==t&&!["false","null","0"].includes(String(t).trim().toLowerCase()),Kh=function(t){let e=t;if(t.split("~").length-1>=2){let t=e;do{e=t,t=e.replace(/~([^\s,:;]+)~/,"<$1>");}while(t!=e);return Kh(t)}return e},Yh={getRows:Rh,sanitizeText:Fh,sanitizeTextOrArray:zh,hasBreaks:t=>Hh.test(t),splitBreaks:t=>t.split(Hh),lineBreakRegex:Hh,removeScript:jh,getUrl:t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=e.replaceAll(/\(/g,"\\("),e=e.replaceAll(/\)/g,"\\)")),e},evaluate:qh},Wh={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t),hsl2rgb:({h:t,s:e,l:n},i)=>{if(!e)return 2.55*n;t/=360,e/=100;const r=(n/=100)<.5?n*(1+e):n+e-n*e,a=2*n-r;switch(i){case"r":return 255*Wh.hue2rgb(a,r,t+1/3);case"g":return 255*Wh.hue2rgb(a,r,t);case"b":return 255*Wh.hue2rgb(a,r,t-1/3)}},rgb2hsl:({r:t,g:e,b:n},i)=>{t/=255,e/=255,n/=255;const r=Math.max(t,e,n),a=Math.min(t,e,n),o=(r+a)/2;if("l"===i)return 100*o;if(r===a)return 0;const s=r-a;if("s"===i)return 100*(o>.5?s/(2-r-a):s/(r+a));switch(r){case t:return 60*((e-n)/s+(ee>n?Math.min(e,Math.max(n,t)):Math.min(n,Math.max(e,t)),round:t=>Math.round(1e10*t)/1e10},unit:{dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}}},Vh={};for(let t=0;t<=255;t++)Vh[t]=Xh.unit.dec2hex(t);const Zh={ALL:0,RGB:1,HSL:2};class Qh{constructor(){this.type=Zh.ALL;}get(){return this.type}set(t){if(this.type&&this.type!==t)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=t;}reset(){this.type=Zh.ALL;}is(t){return this.type===t}}const Jh=Qh;class tf{constructor(t,e){this.color=e,this.changed=!1,this.data=t,this.type=new Jh;}set(t,e){return this.color=e,this.changed=!1,this.data=t,this.type.type=Zh.ALL,this}_ensureHSL(){const t=this.data,{h:e,s:n,l:i}=t;void 0===e&&(t.h=Xh.channel.rgb2hsl(t,"h")),void 0===n&&(t.s=Xh.channel.rgb2hsl(t,"s")),void 0===i&&(t.l=Xh.channel.rgb2hsl(t,"l"));}_ensureRGB(){const t=this.data,{r:e,g:n,b:i}=t;void 0===e&&(t.r=Xh.channel.hsl2rgb(t,"r")),void 0===n&&(t.g=Xh.channel.hsl2rgb(t,"g")),void 0===i&&(t.b=Xh.channel.hsl2rgb(t,"b"));}get r(){const t=this.data,e=t.r;return this.type.is(Zh.HSL)||void 0===e?(this._ensureHSL(),Xh.channel.hsl2rgb(t,"r")):e}get g(){const t=this.data,e=t.g;return this.type.is(Zh.HSL)||void 0===e?(this._ensureHSL(),Xh.channel.hsl2rgb(t,"g")):e}get b(){const t=this.data,e=t.b;return this.type.is(Zh.HSL)||void 0===e?(this._ensureHSL(),Xh.channel.hsl2rgb(t,"b")):e}get h(){const t=this.data,e=t.h;return this.type.is(Zh.RGB)||void 0===e?(this._ensureRGB(),Xh.channel.rgb2hsl(t,"h")):e}get s(){const t=this.data,e=t.s;return this.type.is(Zh.RGB)||void 0===e?(this._ensureRGB(),Xh.channel.rgb2hsl(t,"s")):e}get l(){const t=this.data,e=t.l;return this.type.is(Zh.RGB)||void 0===e?(this._ensureRGB(),Xh.channel.rgb2hsl(t,"l")):e}get a(){return this.data.a}set r(t){this.type.set(Zh.RGB),this.changed=!0,this.data.r=t;}set g(t){this.type.set(Zh.RGB),this.changed=!0,this.data.g=t;}set b(t){this.type.set(Zh.RGB),this.changed=!0,this.data.b=t;}set h(t){this.type.set(Zh.HSL),this.changed=!0,this.data.h=t;}set s(t){this.type.set(Zh.HSL),this.changed=!0,this.data.s=t;}set l(t){this.type.set(Zh.HSL),this.changed=!0,this.data.l=t;}set a(t){this.changed=!0,this.data.a=t;}}const ef=new tf({r:0,g:0,b:0,a:0},"transparent"),nf={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(35!==t.charCodeAt(0))return;const e=t.match(nf.re);if(!e)return;const n=e[1],i=parseInt(n,16),r=n.length,a=r%4==0,o=r>4,s=o?1:17,c=o?8:4,u=a?0:-1,l=o?255:15;return ef.set({r:(i>>c*(u+3)&l)*s,g:(i>>c*(u+2)&l)*s,b:(i>>c*(u+1)&l)*s,a:a?(i&l)*s/255:1},t)},stringify:t=>{const{r:e,g:n,b:i,a:r}=t;return r<1?`#${Vh[Math.round(e)]}${Vh[Math.round(n)]}${Vh[Math.round(i)]}${Vh[Math.round(255*r)]}`:`#${Vh[Math.round(e)]}${Vh[Math.round(n)]}${Vh[Math.round(i)]}`}},rf=nf,af={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(af.hueRe);if(e){const[,t,n]=e;switch(n){case"grad":return Xh.channel.clamp.h(.9*parseFloat(t));case"rad":return Xh.channel.clamp.h(180*parseFloat(t)/Math.PI);case"turn":return Xh.channel.clamp.h(360*parseFloat(t))}}return Xh.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(104!==e&&72!==e)return;const n=t.match(af.re);if(!n)return;const[,i,r,a,o,s]=n;return ef.set({h:af._hue2deg(i),s:Xh.channel.clamp.s(parseFloat(r)),l:Xh.channel.clamp.l(parseFloat(a)),a:o?Xh.channel.clamp.a(s?parseFloat(o)/100:parseFloat(o)):1},t)},stringify:t=>{const{h:e,s:n,l:i,a:r}=t;return r<1?`hsla(${Xh.lang.round(e)}, ${Xh.lang.round(n)}%, ${Xh.lang.round(i)}%, ${r})`:`hsl(${Xh.lang.round(e)}, ${Xh.lang.round(n)}%, ${Xh.lang.round(i)}%)`}},of=af,sf={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=sf.colors[t];if(e)return rf.parse(e)},stringify:t=>{const e=rf.stringify(t);for(const t in sf.colors)if(sf.colors[t]===e)return t}},cf=sf,uf={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(114!==e&&82!==e)return;const n=t.match(uf.re);if(!n)return;const[,i,r,a,o,s,c,u,l]=n;return ef.set({r:Xh.channel.clamp.r(r?2.55*parseFloat(i):parseFloat(i)),g:Xh.channel.clamp.g(o?2.55*parseFloat(a):parseFloat(a)),b:Xh.channel.clamp.b(c?2.55*parseFloat(s):parseFloat(s)),a:u?Xh.channel.clamp.a(l?parseFloat(u)/100:parseFloat(u)):1},t)},stringify:t=>{const{r:e,g:n,b:i,a:r}=t;return r<1?`rgba(${Xh.lang.round(e)}, ${Xh.lang.round(n)}, ${Xh.lang.round(i)}, ${Xh.lang.round(r)})`:`rgb(${Xh.lang.round(e)}, ${Xh.lang.round(n)}, ${Xh.lang.round(i)})`}},lf=uf,hf={format:{keyword:cf,hex:rf,rgb:lf,rgba:lf,hsl:of,hsla:of},parse:t=>{if("string"!=typeof t)return t;const e=rf.parse(t)||lf.parse(t)||of.parse(t)||cf.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(Zh.HSL)||void 0===t.data.r?of.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?lf.stringify(t):rf.stringify(t)},ff=(t,e)=>{const n=hf.parse(t);for(const t in e)n[t]=Xh.channel.clamp[t](e[t]);return hf.stringify(n)},df=(t,e,n=0,i=1)=>{if("number"!=typeof t)return ff(t,{a:e});const r=ef.set({r:Xh.channel.clamp.r(t),g:Xh.channel.clamp.g(e),b:Xh.channel.clamp.b(n),a:Xh.channel.clamp.a(i)});return hf.stringify(r)},gf=t=>{const{r:e,g:n,b:i}=hf.parse(t),r=.2126*Xh.channel.toLinear(e)+.7152*Xh.channel.toLinear(n)+.0722*Xh.channel.toLinear(i);return Xh.lang.round(r)},pf=t=>gf(t)>=.5,bf=t=>!pf(t),wf=(t,e,n)=>{const i=hf.parse(t),r=i[e],a=Xh.channel.clamp[e](r+n);return r!==a&&(i[e]=a),hf.stringify(i)},yf=(t,e)=>wf(t,"l",e),mf=(t,e)=>wf(t,"l",-e),vf=(t,e)=>{const n=hf.parse(t),i={};for(const t in e)e[t]&&(i[t]=n[t]+e[t]);return ff(t,i)},xf=(t,e,n=50)=>{const{r:i,g:r,b:a,a:o}=hf.parse(t),{r:s,g:c,b:u,a:l}=hf.parse(e),h=n/100,f=2*h-1,d=o-l,g=((f*d==-1?f:(f+d)/(1+f*d))+1)/2,p=1-g;return df(i*g+s*p,r*g+c*p,a*g+u*p,o*h+l*(1-h))},kf=(t,e=100)=>{const n=hf.parse(t);return n.r=255-n.r,n.g=255-n.g,n.b=255-n.b,xf(n,t,e)},_f=(t,e)=>vf(t,e?{s:-40,l:10}:{s:-40,l:-10}),Ef="#ffffff",Tf="#f2f2f2";let Cf=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px";}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||vf(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||vf(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||_f(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||_f(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||_f(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||_f(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||kf(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||kf(this.tertiaryColor),this.lineColor=this.lineColor||kf(this.background),this.textColor=this.textColor||this.primaryTextColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?mf(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||mf(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||kf(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||yf(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||vf(this.primaryColor,{h:30}),this.cScale4=this.cScale4||vf(this.primaryColor,{h:60}),this.cScale5=this.cScale5||vf(this.primaryColor,{h:90}),this.cScale6=this.cScale6||vf(this.primaryColor,{h:120}),this.cScale7=this.cScale7||vf(this.primaryColor,{h:150}),this.cScale8=this.cScale8||vf(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||vf(this.primaryColor,{h:270}),this.cScale10=this.cScale10||vf(this.primaryColor,{h:300}),this.cScale11=this.cScale11||vf(this.primaryColor,{h:330}),this.darkMode)for(let t=0;t{this[e]=t[e];})),this.updateColors(),e.forEach((e=>{this[e]=t[e];}));}};const Sf=t=>{const e=new Cf;return e.calculate(t),e};let Af=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=yf(this.primaryColor,16),this.tertiaryColor=vf(this.primaryColor,{h:-160}),this.primaryBorderColor=kf(this.background),this.secondaryBorderColor=_f(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=_f(this.tertiaryColor,this.darkMode),this.primaryTextColor=kf(this.primaryColor),this.secondaryTextColor=kf(this.secondaryColor),this.tertiaryTextColor=kf(this.tertiaryColor),this.lineColor=kf(this.background),this.textColor=kf(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=yf(kf("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=df(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=mf("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.taskBorderColor=df(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=df(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder="calculated",this.personBkg="calculated",this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd";}updateColors(){this.secondBkg=yf(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=yf(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=yf(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=vf(this.primaryColor,{h:64}),this.fillType3=vf(this.secondaryColor,{h:64}),this.fillType4=vf(this.primaryColor,{h:-64}),this.fillType5=vf(this.secondaryColor,{h:-64}),this.fillType6=vf(this.primaryColor,{h:128}),this.fillType7=vf(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||vf(this.primaryColor,{h:30}),this.cScale4=this.cScale4||vf(this.primaryColor,{h:60}),this.cScale5=this.cScale5||vf(this.primaryColor,{h:90}),this.cScale6=this.cScale6||vf(this.primaryColor,{h:120}),this.cScale7=this.cScale7||vf(this.primaryColor,{h:150}),this.cScale8=this.cScale8||vf(this.primaryColor,{h:210}),this.cScale9=this.cScale9||vf(this.primaryColor,{h:270}),this.cScale10=this.cScale10||vf(this.primaryColor,{h:300}),this.cScale11=this.cScale11||vf(this.primaryColor,{h:330});for(let t=0;t{this[e]=t[e];})),this.updateColors(),e.forEach((e=>{this[e]=t[e];}));}};const Mf=t=>{const e=new Af;return e.calculate(t),e};let If=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=vf(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=vf(this.primaryColor,{h:-160}),this.primaryBorderColor=_f(this.primaryColor,this.darkMode),this.secondaryBorderColor=_f(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=_f(this.tertiaryColor,this.darkMode),this.primaryTextColor=kf(this.primaryColor),this.secondaryTextColor=kf(this.secondaryColor),this.tertiaryTextColor=kf(this.tertiaryColor),this.lineColor=kf(this.background),this.textColor=kf(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=df(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder="calculated",this.personBkg="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors();}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||vf(this.primaryColor,{h:30}),this.cScale4=this.cScale4||vf(this.primaryColor,{h:60}),this.cScale5=this.cScale5||vf(this.primaryColor,{h:90}),this.cScale6=this.cScale6||vf(this.primaryColor,{h:120}),this.cScale7=this.cScale7||vf(this.primaryColor,{h:150}),this.cScale8=this.cScale8||vf(this.primaryColor,{h:210}),this.cScale9=this.cScale9||vf(this.primaryColor,{h:270}),this.cScale10=this.cScale10||vf(this.primaryColor,{h:300}),this.cScale11=this.cScale11||vf(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||mf(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||mf(this.tertiaryColor,40);for(let t=0;t{this[e]=t[e];})),this.updateColors(),e.forEach((e=>{this[e]=t[e];}));}};const Of=t=>{const e=new If;return e.calculate(t),e};let Lf=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=yf("#cde498",10),this.primaryBorderColor=_f(this.primaryColor,this.darkMode),this.secondaryBorderColor=_f(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=_f(this.tertiaryColor,this.darkMode),this.primaryTextColor=kf(this.primaryColor),this.secondaryTextColor=kf(this.secondaryColor),this.tertiaryTextColor=kf(this.primaryColor),this.lineColor=kf(this.background),this.textColor=kf(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder="calculated",this.personBkg="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222";}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||vf(this.primaryColor,{h:30}),this.cScale4=this.cScale4||vf(this.primaryColor,{h:60}),this.cScale5=this.cScale5||vf(this.primaryColor,{h:90}),this.cScale6=this.cScale6||vf(this.primaryColor,{h:120}),this.cScale7=this.cScale7||vf(this.primaryColor,{h:150}),this.cScale8=this.cScale8||vf(this.primaryColor,{h:210}),this.cScale9=this.cScale9||vf(this.primaryColor,{h:270}),this.cScale10=this.cScale10||vf(this.primaryColor,{h:300}),this.cScale11=this.cScale11||vf(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||mf(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||mf(this.tertiaryColor,40);for(let t=0;t{this[e]=t[e];})),this.updateColors(),e.forEach((e=>{this[e]=t[e];}));}};const Df=t=>{const e=new Lf;return e.calculate(t),e};class Nf{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=yf(this.contrast,55),this.background="#ffffff",this.tertiaryColor=vf(this.primaryColor,{h:-160}),this.primaryBorderColor=_f(this.primaryColor,this.darkMode),this.secondaryBorderColor=_f(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=_f(this.tertiaryColor,this.darkMode),this.primaryTextColor=kf(this.primaryColor),this.secondaryTextColor=kf(this.secondaryColor),this.tertiaryTextColor=kf(this.tertiaryColor),this.lineColor=kf(this.background),this.textColor=kf(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder="calculated",this.personBkg="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222";}updateColors(){this.secondBkg=yf(this.contrast,55),this.border2=this.contrast,this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let t=0;t{this[e]=t[e];})),this.updateColors(),e.forEach((e=>{this[e]=t[e];}));}}const Pf={base:{getThemeVariables:Sf},dark:{getThemeVariables:Mf},default:{getThemeVariables:Of},forest:{getThemeVariables:Df},neutral:{getThemeVariables:t=>{const e=new Nf;return e.calculate(t),e}}},Bf={theme:"default",themeVariables:Pf.default.getThemeVariables(),themeCSS:void 0,maxTextSize:5e4,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize"],deterministicIds:!1,deterministicIDSeed:void 0,flowchart:{titleTopMargin:25,diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,useMaxWidth:!0,defaultRenderer:"dagre-wrapper"},sequence:{hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20,messageFont:function(){return {fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return {fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return {fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",tickInterval:void 0,useMaxWidth:!0,topAxis:!1,useWidth:void 0},journey:{diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},timeline:{diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},class:{titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,useMaxWidth:!0,defaultRenderer:"dagre-wrapper"},state:{titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,useMaxWidth:!0,defaultRenderer:"dagre-wrapper"},er:{titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12,useMaxWidth:!0},pie:{useWidth:void 0,useMaxWidth:!0},requirement:{useWidth:void 0,useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},gitGraph:{titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0},c4:{useWidth:void 0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,useMaxWidth:!0,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,personFont:function(){return {fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return {fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return {fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return {fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return {fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return {fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return {fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return {fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return {fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return {fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return {fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return {fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return {fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return {fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return {fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return {fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return {fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return {fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return {fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return {fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return {fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return {fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},fontSize:16};Bf.class&&(Bf.class.arrowMarkerAbsolute=Bf.arrowMarkerAbsolute),Bf.gitGraph&&(Bf.gitGraph.arrowMarkerAbsolute=Bf.arrowMarkerAbsolute);const Rf=(t,e="")=>Object.keys(t).reduce(((n,i)=>Array.isArray(t[i])?n:"object"==typeof t[i]&&null!==t[i]?[...n,e+i,...Rf(t[i],"")]:[...n,e+i]),[]),jf=Rf(Bf,""),$f=Bf;function Ff(t){return null==t}function zf(t){return "object"==typeof t&&null!==t}function Hf(t){return Array.isArray(t)?t:Ff(t)?[]:[t]}function Uf(t,e){var n,i,r,a;if(e)for(n=0,i=(a=Object.keys(e)).length;ns&&(e=i-s+(a=" ... ").length),n-i>s&&(n=i+s-(o=" ...").length),{str:a+t.slice(e,n).replace(/\t/g,"→")+o,pos:i-e+a.length}}function Zf(t,e){return Kf.repeat(" ",e-t.length)+t}function Qf(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),"number"!=typeof e.indent&&(e.indent=1),"number"!=typeof e.linesBefore&&(e.linesBefore=3),"number"!=typeof e.linesAfter&&(e.linesAfter=2);for(var n,i=/\r?\n|\r|\0/g,r=[0],a=[],o=-1;n=i.exec(t.buffer);)a.push(n.index),r.push(n.index+n[0].length),t.position<=n.index&&o<0&&(o=r.length-2);o<0&&(o=r.length-1);var s,c,u="",l=Math.min(t.line+e.linesAfter,a.length).toString().length,h=e.maxLength-(e.indent+l+3);for(s=1;s<=e.linesBefore&&!(o-s<0);s++)c=Vf(t.buffer,r[o-s],a[o-s],t.position-(r[o]-r[o-s]),h),u=Kf.repeat(" ",e.indent)+Zf((t.line-s+1).toString(),l)+" | "+c.str+"\n"+u;for(c=Vf(t.buffer,r[o],a[o],t.position,h),u+=Kf.repeat(" ",e.indent)+Zf((t.line+1).toString(),l)+" | "+c.str+"\n",u+=Kf.repeat("-",e.indent+l+3+c.pos)+"^\n",s=1;s<=e.linesAfter&&!(o+s>=a.length);s++)c=Vf(t.buffer,r[o+s],a[o+s],t.position-(r[o]-r[o+s]),h),u+=Kf.repeat(" ",e.indent)+Zf((t.line+s+1).toString(),l)+" | "+c.str+"\n";return u.replace(/\n$/,"")}var Jf=Qf,td=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],ed=["scalar","sequence","mapping"];function nd(t){var e={};return null!==t&&Object.keys(t).forEach((function(n){t[n].forEach((function(t){e[String(t)]=n;}));})),e}function id(t,e){if(e=e||{},Object.keys(e).forEach((function(e){if(-1===td.indexOf(e))throw new Xf('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')})),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return !0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=nd(e.styleAliases||null),-1===ed.indexOf(this.kind))throw new Xf('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}var rd=id;function ad(t,e){var n=[];return t[e].forEach((function(t){var e=n.length;n.forEach((function(n,i){n.tag===t.tag&&n.kind===t.kind&&n.multi===t.multi&&(e=i);})),n[e]=t;})),n}function od(){var t,e,n={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function i(t){t.multi?(n.multi[t.kind].push(t),n.multi.fallback.push(t)):n[t.kind][t.tag]=n.fallback[t.tag]=t;}for(t=0,e=arguments.length;t=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Ad=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Md(t){return null!==t&&!(!Ad.test(t)||"_"===t[t.length-1])}function Id(t){var e,n;return n="-"===(e=t.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:n*parseFloat(e,10)}var Od=/^[-+]?[0-9]+e/;function Ld(t,e){var n;if(isNaN(t))switch(e){case"lowercase":return ".nan";case"uppercase":return ".NAN";case"camelcase":return ".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return ".inf";case"uppercase":return ".INF";case"camelcase":return ".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return "-.inf";case"uppercase":return "-.INF";case"camelcase":return "-.Inf"}else if(Kf.isNegativeZero(t))return "-0.0";return n=t.toString(10),Od.test(n)?n.replace("e",".e"):n}function Dd(t){return "[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||Kf.isNegativeZero(t))}var Nd=new rd("tag:yaml.org,2002:float",{kind:"scalar",resolve:Md,construct:Id,predicate:Dd,represent:Ld,defaultStyle:"lowercase"}),Pd=fd.extend({implicit:[bd,vd,Sd,Nd]}),Bd=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Rd=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function jd(t){return null!==t&&(null!==Bd.exec(t)||null!==Rd.exec(t))}function $d(t){var e,n,i,r,a,o,s,c,u=0,l=null;if(null===(e=Bd.exec(t))&&(e=Rd.exec(t)),null===e)throw new Error("Date resolve error");if(n=+e[1],i=+e[2]-1,r=+e[3],!e[4])return new Date(Date.UTC(n,i,r));if(a=+e[4],o=+e[5],s=+e[6],e[7]){for(u=e[7].slice(0,3);u.length<3;)u+="0";u=+u;}return e[9]&&(l=6e4*(60*+e[10]+ +(e[11]||0)),"-"===e[9]&&(l=-l)),c=new Date(Date.UTC(n,i,r,a,o,s,u)),l&&c.setTime(c.getTime()-l),c}function Fd(t){return t.toISOString()}var zd=new rd("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:jd,construct:$d,instanceOf:Date,represent:Fd});function Hd(t){return "<<"===t||null===t}var Ud=new rd("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Hd}),Gd="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";function qd(t){if(null===t)return !1;var e,n,i=0,r=t.length,a=Gd;for(n=0;n64)){if(e<0)return !1;i+=6;}return i%8==0}function Kd(t){var e,n,i=t.replace(/[\r\n=]/g,""),r=i.length,a=Gd,o=0,s=[];for(e=0;e>16&255),s.push(o>>8&255),s.push(255&o)),o=o<<6|a.indexOf(i.charAt(e));return 0==(n=r%4*6)?(s.push(o>>16&255),s.push(o>>8&255),s.push(255&o)):18===n?(s.push(o>>10&255),s.push(o>>2&255)):12===n&&s.push(o>>4&255),new Uint8Array(s)}function Yd(t){var e,n,i="",r=0,a=t.length,o=Gd;for(e=0;e>18&63],i+=o[r>>12&63],i+=o[r>>6&63],i+=o[63&r]),r=(r<<8)+t[e];return 0==(n=a%3)?(i+=o[r>>18&63],i+=o[r>>12&63],i+=o[r>>6&63],i+=o[63&r]):2===n?(i+=o[r>>10&63],i+=o[r>>4&63],i+=o[r<<2&63],i+=o[64]):1===n&&(i+=o[r>>2&63],i+=o[r<<4&63],i+=o[64],i+=o[64]),i}function Wd(t){return "[object Uint8Array]"===Object.prototype.toString.call(t)}var Xd=new rd("tag:yaml.org,2002:binary",{kind:"scalar",resolve:qd,construct:Kd,predicate:Wd,represent:Yd}),Vd=Object.prototype.hasOwnProperty,Zd=Object.prototype.toString;function Qd(t){if(null===t)return !0;var e,n,i,r,a,o=[],s=t;for(e=0,n=s.length;e>10),56320+(t-65536&1023))}for(var Dg=new Array(256),Ng=new Array(256),Pg=0;Pg<256;Pg++)Dg[Pg]=Og(Pg)?1:0,Ng[Pg]=Og(Pg);function Bg(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||ug,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[];}function Rg(t,e){var n={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return n.snippet=Jf(n),new Xf(e,n)}function jg(t,e){throw Rg(t,e)}function $g(t,e){t.onWarning&&t.onWarning.call(null,Rg(t,e));}var Fg={YAML:function(t,e,n){var i,r,a;null!==t.version&&jg(t,"duplication of %YAML directive"),1!==n.length&&jg(t,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&jg(t,"ill-formed argument of the YAML directive"),r=parseInt(i[1],10),a=parseInt(i[2],10),1!==r&&jg(t,"unacceptable YAML version of the document"),t.version=n[0],t.checkLineBreaks=a<2,1!==a&&2!==a&&$g(t,"unsupported YAML version of the document");},TAG:function(t,e,n){var i,r;2!==n.length&&jg(t,"TAG directive accepts exactly two arguments"),i=n[0],r=n[1],xg.test(i)||jg(t,"ill-formed tag handle (first argument) of the TAG directive"),lg.call(t.tagMap,i)&&jg(t,'there is a previously declared suffix for "'+i+'" tag handle'),kg.test(r)||jg(t,"ill-formed tag prefix (second argument) of the TAG directive");try{r=decodeURIComponent(r);}catch(e){jg(t,"tag prefix is malformed: "+r);}t.tagMap[i]=r;}};function zg(t,e,n,i){var r,a,o,s;if(e1&&(t.result+=Kf.repeat("\n",e-1));}function Wg(t,e,n){var i,r,a,o,s,c,u,l,h=t.kind,f=t.result;if(Cg(l=t.input.charCodeAt(t.position))||Sg(l)||35===l||38===l||42===l||33===l||124===l||62===l||39===l||34===l||37===l||64===l||96===l)return !1;if((63===l||45===l)&&(Cg(i=t.input.charCodeAt(t.position+1))||n&&Sg(i)))return !1;for(t.kind="scalar",t.result="",r=a=t.position,o=!1;0!==l;){if(58===l){if(Cg(i=t.input.charCodeAt(t.position+1))||n&&Sg(i))break}else if(35===l){if(Cg(t.input.charCodeAt(t.position-1)))break}else {if(t.position===t.lineStart&&Kg(t)||n&&Sg(l))break;if(Eg(l)){if(s=t.line,c=t.lineStart,u=t.lineIndent,qg(t,!1,-1),t.lineIndent>=e){o=!0,l=t.input.charCodeAt(t.position);continue}t.position=a,t.line=s,t.lineStart=c,t.lineIndent=u;break}}o&&(zg(t,r,a,!1),Yg(t,t.line-s),r=a=t.position,o=!1),Tg(l)||(a=t.position+1),l=t.input.charCodeAt(++t.position);}return zg(t,r,a,!1),!!t.result||(t.kind=h,t.result=f,!1)}function Xg(t,e){var n,i,r;if(39!==(n=t.input.charCodeAt(t.position)))return !1;for(t.kind="scalar",t.result="",t.position++,i=r=t.position;0!==(n=t.input.charCodeAt(t.position));)if(39===n){if(zg(t,i,t.position,!0),39!==(n=t.input.charCodeAt(++t.position)))return !0;i=t.position,t.position++,r=t.position;}else Eg(n)?(zg(t,i,r,!0),Yg(t,qg(t,!1,e)),i=r=t.position):t.position===t.lineStart&&Kg(t)?jg(t,"unexpected end of the document within a single quoted scalar"):(t.position++,r=t.position);jg(t,"unexpected end of the stream within a single quoted scalar");}function Vg(t,e){var n,i,r,a,o,s;if(34!==(s=t.input.charCodeAt(t.position)))return !1;for(t.kind="scalar",t.result="",t.position++,n=i=t.position;0!==(s=t.input.charCodeAt(t.position));){if(34===s)return zg(t,n,t.position,!0),t.position++,!0;if(92===s){if(zg(t,n,t.position,!0),Eg(s=t.input.charCodeAt(++t.position)))qg(t,!1,e);else if(s<256&&Dg[s])t.result+=Ng[s],t.position++;else if((o=Mg(s))>0){for(r=o,a=0;r>0;r--)(o=Ag(s=t.input.charCodeAt(++t.position)))>=0?a=(a<<4)+o:jg(t,"expected hexadecimal character");t.result+=Lg(a),t.position++;}else jg(t,"unknown escape sequence");n=i=t.position;}else Eg(s)?(zg(t,n,i,!0),Yg(t,qg(t,!1,e)),n=i=t.position):t.position===t.lineStart&&Kg(t)?jg(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position);}jg(t,"unexpected end of the stream within a double quoted scalar");}function Zg(t,e){var n,i,r,a,o,s,c,u,l,h,f,d,g=!0,p=t.tag,b=t.anchor,w=Object.create(null);if(91===(d=t.input.charCodeAt(t.position)))o=93,u=!1,a=[];else {if(123!==d)return !1;o=125,u=!0,a={};}for(null!==t.anchor&&(t.anchorMap[t.anchor]=a),d=t.input.charCodeAt(++t.position);0!==d;){if(qg(t,!0,e),(d=t.input.charCodeAt(t.position))===o)return t.position++,t.tag=p,t.anchor=b,t.kind=u?"mapping":"sequence",t.result=a,!0;g?44===d&&jg(t,"expected the node content, but found ','"):jg(t,"missed comma between flow collection entries"),h=l=f=null,s=c=!1,63===d&&Cg(t.input.charCodeAt(t.position+1))&&(s=c=!0,t.position++,qg(t,!0,e)),n=t.line,i=t.lineStart,r=t.position,rp(t,e,hg,!1,!0),h=t.tag,l=t.result,qg(t,!0,e),d=t.input.charCodeAt(t.position),!c&&t.line!==n||58!==d||(s=!0,d=t.input.charCodeAt(++t.position),qg(t,!0,e),rp(t,e,hg,!1,!0),f=t.result),u?Ug(t,a,w,h,l,f,n,i,r):s?a.push(Ug(t,null,w,h,l,f,n,i,r)):a.push(l),qg(t,!0,e),44===(d=t.input.charCodeAt(t.position))?(g=!0,d=t.input.charCodeAt(++t.position)):g=!1;}jg(t,"unexpected end of the stream within a flow collection");}function Qg(t,e){var n,i,r,a,o=pg,s=!1,c=!1,u=e,l=0,h=!1;if(124===(a=t.input.charCodeAt(t.position)))i=!1;else {if(62!==a)return !1;i=!0;}for(t.kind="scalar",t.result="";0!==a;)if(43===(a=t.input.charCodeAt(++t.position))||45===a)pg===o?o=43===a?wg:bg:jg(t,"repeat of a chomping mode identifier");else {if(!((r=Ig(a))>=0))break;0===r?jg(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?jg(t,"repeat of an indentation width identifier"):(u=e+r-1,c=!0);}if(Tg(a)){do{a=t.input.charCodeAt(++t.position);}while(Tg(a));if(35===a)do{a=t.input.charCodeAt(++t.position);}while(!Eg(a)&&0!==a)}for(;0!==a;){for(Gg(t),t.lineIndent=0,a=t.input.charCodeAt(t.position);(!c||t.lineIndentu&&(u=t.lineIndent),Eg(a))l++;else {if(t.lineIndente)&&0!==i)jg(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(w&&(o=t.line,s=t.lineStart,c=t.position),rp(t,e,gg,!0,r)&&(w?p=t.result:b=t.result),w||(Ug(t,f,d,g,p,b,o,s,c),g=p=b=null),qg(t,!0,-1),u=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&0!==u)jg(t,"bad indentation of a mapping entry");else if(t.lineIndente?g=1:t.lineIndent===e?g=0:t.lineIndente?g=1:t.lineIndent===e?g=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),c=0,u=t.implicitTypes.length;c"),null!==t.result&&h.kind!==t.kind&&jg(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+h.kind+'", not "'+t.kind+'"'),h.resolve(t.result,t.tag)?(t.result=h.construct(t.result,t.tag),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):jg(t,"cannot resolve a node with !<"+t.tag+"> explicit tag");}return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||b}function ap(t){var e,n,i,r,a=t.position,o=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);0!==(r=t.input.charCodeAt(t.position))&&(qg(t,!0,-1),r=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==r));){for(o=!0,r=t.input.charCodeAt(++t.position),e=t.position;0!==r&&!Cg(r);)r=t.input.charCodeAt(++t.position);for(i=[],(n=t.input.slice(e,t.position)).length<1&&jg(t,"directive name must not be less than one character in length");0!==r;){for(;Tg(r);)r=t.input.charCodeAt(++t.position);if(35===r){do{r=t.input.charCodeAt(++t.position);}while(0!==r&&!Eg(r));break}if(Eg(r))break;for(e=t.position;0!==r&&!Cg(r);)r=t.input.charCodeAt(++t.position);i.push(t.input.slice(e,t.position));}0!==r&&Gg(t),lg.call(Fg,n)?Fg[n](t,n,i):$g(t,'unknown document directive "'+n+'"');}qg(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,qg(t,!0,-1)):o&&jg(t,"directives end mark is expected"),rp(t,t.lineIndent-1,gg,!1,!0),qg(t,!0,-1),t.checkLineBreaks&&mg.test(t.input.slice(a,t.position))&&$g(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Kg(t)?46===t.input.charCodeAt(t.position)&&(t.position+=3,qg(t,!0,-1)):t.position{for(const{id:e,detector:n,loader:i}of t)yp(e,n,i);},yp=(t,e,n)=>{pp[t]?l.error(`Detector with key ${t} already exists`):pp[t]={detector:e,loader:n},l.debug(`Detector with key ${t} added${n?" with loader":""}`);},mp=t=>pp[t].loader,vp=function(t,e,n){const{depth:i,clobber:r}=Object.assign({depth:2,clobber:!1},n);return Array.isArray(e)&&!Array.isArray(t)?(e.forEach((e=>vp(t,e,n))),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach((e=>{t.includes(e)||t.push(e);})),t):void 0===t||i<=0?null!=t&&"object"==typeof t&&"object"==typeof e?Object.assign(t,e):e:(void 0!==e&&"object"==typeof t&&"object"==typeof e&&Object.keys(e).forEach((n=>{"object"!=typeof e[n]||void 0!==t[n]&&"object"!=typeof t[n]?(r||"object"!=typeof t[n]&&"object"!=typeof e[n])&&(t[n]=e[n]):(void 0===t[n]&&(t[n]=Array.isArray(e[n])?[]:{}),t[n]=vp(t[n],e[n],{depth:i-1,clobber:r}));})),t)},xp=vp;var kp="object"==typeof d&&d&&d.Object===Object&&d;const _p=kp;var Ep="object"==typeof self&&self&&self.Object===Object&&self,Tp=_p||Ep||Function("return this")();const Cp=Tp;var Sp=Cp.Symbol;const Ap=Sp;var Mp=Object.prototype,Ip=Mp.hasOwnProperty,Op=Mp.toString,Lp=Ap?Ap.toStringTag:void 0;function Dp(t){var e=Ip.call(t,Lp),n=t[Lp];try{t[Lp]=void 0;var i=!0;}catch(t){}var r=Op.call(t);return i&&(e?t[Lp]=n:delete t[Lp]),r}var Np=Object.prototype.toString;function Pp(t){return Np.call(t)}var Bp="[object Null]",Rp="[object Undefined]",jp=Ap?Ap.toStringTag:void 0;function $p(t){return null==t?void 0===t?Rp:Bp:jp&&jp in Object(t)?Dp(t):Pp(t)}function Fp(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}var zp="[object AsyncFunction]",Hp="[object Function]",Up="[object GeneratorFunction]",Gp="[object Proxy]";function qp(t){if(!Fp(t))return !1;var e=$p(t);return e==Hp||e==Up||e==zp||e==Gp}const Kp=Cp["__core-js_shared__"];var Yp,Wp=(Yp=/[^.]+$/.exec(Kp&&Kp.keys&&Kp.keys.IE_PROTO||""))?"Symbol(src)_1."+Yp:"";function Xp(t){return !!Wp&&Wp in t}var Vp=Function.prototype.toString;function Zp(t){if(null!=t){try{return Vp.call(t)}catch(t){}try{return t+""}catch(t){}}return ""}var Qp=/[\\^$.*+?()[\]{}|]/g,Jp=/^\[object .+?Constructor\]$/,tb=Function.prototype,eb=Object.prototype,nb=tb.toString,ib=eb.hasOwnProperty,rb=RegExp("^"+nb.call(ib).replace(Qp,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ab(t){return !(!Fp(t)||Xp(t))&&(qp(t)?rb:Jp).test(Zp(t))}function ob(t,e){return null==t?void 0:t[e]}function sb(t,e){var n=ob(t,e);return ab(n)?n:void 0}const cb=sb(Object,"create");function ub(){this.__data__=cb?cb(null):{},this.size=0;}function lb(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var hb="__lodash_hash_undefined__",fb=Object.prototype.hasOwnProperty;function db(t){var e=this.__data__;if(cb){var n=e[t];return n===hb?void 0:n}return fb.call(e,t)?e[t]:void 0}var gb=Object.prototype.hasOwnProperty;function pb(t){var e=this.__data__;return cb?void 0!==e[t]:gb.call(e,t)}var bb="__lodash_hash_undefined__";function wb(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=cb&&void 0===e?bb:e,this}function yb(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e-1}function Cb(t,e){var n=this.__data__,i=xb(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}function Sb(t){var e=-1,n=null==t?0:t.length;for(this.clear();++et.args));fw(t),i=xp(i,[...t]);}else i=n.args;if(i){let n=bp(t,e);["config"].forEach((t=>{void 0!==i[t]&&("flowchart-v2"===n&&(n="flowchart"),i[n]=i[t],delete i[t]);}));}return i},Ub=function(t,e=null){try{const n=new RegExp(`[%]{2}(?![{]${zb.source})(?=[}][%]{2}).*\n`,"ig");let i;t=t.trim().replace(n,"").replace(/'/gm,'"'),l.debug(`Detecting diagram directive${null!==e?" type:"+e:""} based on the text:${t}`);const r=[];for(;null!==(i=Fb.exec(t));)if(i.index===Fb.lastIndex&&Fb.lastIndex++,i&&!e||e&&i[1]&&i[1].match(e)||e&&i[2]&&i[2].match(e)){const t=i[1]?i[1]:i[2],e=i[3]?i[3].trim():i[4]?JSON.parse(i[4].trim()):null;r.push({type:t,args:e});}return 0===r.length&&r.push({type:t,args:null}),1===r.length?r[0]:r}catch(n){return l.error(`ERROR: ${n.message} - Unable to parse directive\n      ${null!==e?" type:"+e:""} based on the text:${t}`),{type:null,args:null}}},Gb=function(t,e){for(const[n,i]of e.entries())if(i.match(t))return n;return -1};function qb(t,e){if(!t)return e;const n=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return $b[n]||e}function Kb(t,e){const n=t.trim();if(n)return "loose"!==e.securityLevel?p(n):n}const Yb=(t,...e)=>{const n=t.split("."),i=n.length-1,r=n[i];let a=window;for(let t=0;t{n+=Wb(t,e),e=t;}));let i,r=n/2;return e=void 0,t.forEach((t=>{if(e&&!i){const n=Wb(t,e);if(n=1&&(i={x:t.x,y:t.y}),a>0&&a<1&&(i={x:(1-a)*e.x+a*t.x,y:(1-a)*e.y+a*t.y});}}e=t;})),i}function Vb(t){return 1===t.length?t[0]:Xb(t)}const Zb=(t,e,n)=>{let i;l.info(`our points ${JSON.stringify(e)}`),e[0]!==n&&(e=e.reverse());let r,a=25;i=void 0,e.forEach((t=>{if(i&&!r){const e=Wb(t,i);if(e=1&&(r={x:t.x,y:t.y}),n>0&&n<1&&(r={x:(1-n)*i.x+n*t.x,y:(1-n)*i.y+n*t.y});}}i=t;}));const o=t?10:5,s=Math.atan2(e[0].y-r.y,e[0].x-r.x),c={x:0,y:0};return c.x=Math.sin(s)*o+(e[0].x+r.x)/2,c.y=-Math.cos(s)*o+(e[0].y+r.y)/2,c};function Qb(t,e,n){let i,r=JSON.parse(JSON.stringify(n));l.info("our points",r),"start_left"!==e&&"start_right"!==e&&(r=r.reverse()),r.forEach((t=>{i=t;}));let a,o=25+t;i=void 0,r.forEach((t=>{if(i&&!a){const e=Wb(t,i);if(e=1&&(a={x:t.x,y:t.y}),n>0&&n<1&&(a={x:(1-n)*i.x+n*t.x,y:(1-n)*i.y+n*t.y});}}i=t;}));const s=10+.5*t,c=Math.atan2(r[0].y-a.y,r[0].x-a.x),u={x:0,y:0};return u.x=Math.sin(c)*s+(r[0].x+a.x)/2,u.y=-Math.cos(c)*s+(r[0].y+a.y)/2,"start_left"===e&&(u.x=Math.sin(c+Math.PI)*s+(r[0].x+a.x)/2,u.y=-Math.cos(c+Math.PI)*s+(r[0].y+a.y)/2),"end_right"===e&&(u.x=Math.sin(c-Math.PI)*s+(r[0].x+a.x)/2-5,u.y=-Math.cos(c-Math.PI)*s+(r[0].y+a.y)/2-5),"end_left"===e&&(u.x=Math.sin(c)*s+(r[0].x+a.x)/2-5,u.y=-Math.cos(c)*s+(r[0].y+a.y)/2-5),u}function Jb(t){let e="",n="";for(const i of t)void 0!==i&&(i.startsWith("color:")||i.startsWith("text-align:")?n=n+i+";":e=e+i+";");return {style:e,labelStyle:n}}let tw=0;const ew=()=>(tw++,"id-"+Math.random().toString(36).substr(2,12)+"-"+tw);function nw(t){let e="";const n="0123456789abcdef",i=n.length;for(let r=0;rnw(t.length),rw=function(){return {x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0}},aw=function(t,e){const n=e.text.replace(Yh.lineBreakRegex," "),[,i]=bw(e.fontSize),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.style("text-anchor",e.anchor),r.style("font-family",e.fontFamily),r.style("font-size",i),r.style("font-weight",e.fontWeight),r.attr("fill",e.fill),void 0!==e.class&&r.attr("class",e.class);const a=r.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.attr("fill",e.fill),a.text(n),r},ow=jb(((t,e,n)=>{if(!t)return t;if(n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},n),Yh.lineBreakRegex.test(t))return t;const i=t.split(" "),r=[];let a="";return i.forEach(((t,o)=>{const s=uw(`${t} `,n),c=uw(a,n);if(s>e){const{hyphenatedStrings:i,remainingWord:o}=sw(t,e,"-",n);r.push(a,...i),a=o;}else c+s>=e?(r.push(a),a=t):a=[a,t].filter(Boolean).join(" ");o+1===i.length&&r.push(a);})),r.filter((t=>""!==t)).join(n.joinWith)}),((t,e,n)=>`${t}${e}${n.fontSize}${n.fontWeight}${n.fontFamily}${n.joinWith}`)),sw=jb(((t,e,n="-",i)=>{i=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},i);const r=[...t],a=[];let o="";return r.forEach(((t,s)=>{const c=`${o}${t}`;if(uw(c,i)>=e){const t=s+1,e=r.length===t,i=`${c}${n}`;a.push(e?c:i),o="";}else o=c;})),{hyphenatedStrings:a,remainingWord:o}}),((t,e,n="-",i)=>`${t}${e}${n}${i.fontSize}${i.fontWeight}${i.fontFamily}`));function cw(t,e){return e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:15},e),lw(t,e).height}function uw(t,e){return e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},e),lw(t,e).width}const lw=jb(((t,e)=>{e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},e);const{fontSize:n,fontFamily:i,fontWeight:r}=e;if(!t)return {width:0,height:0};const[,a]=bw(n),o=["sans-serif",i],s=t.split(Yh.lineBreakRegex),c=[],u=ln("body");if(!u.remove)return {width:0,height:0,lineHeight:0};const l=u.append("svg");for(const t of o){let e=0;const n={width:0,height:0,lineHeight:0};for(const i of s){const o=rw();o.text=i;const s=aw(l,o).style("font-size",a).style("font-weight",r).style("font-family",t),c=(s._groups||s)[0][0].getBBox();n.width=Math.round(Math.max(n.width,c.width)),e=Math.round(c.height),n.height+=e,n.lineHeight=Math.round(Math.max(n.lineHeight,e));}c.push(n);}return l.remove(),c[isNaN(c[1].height)||isNaN(c[1].width)||isNaN(c[1].lineHeight)||c[0].height>c[1].height&&c[0].width>c[1].width&&c[0].lineHeight>c[1].lineHeight?0:1]}),((t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`));let hw;const fw=t=>{if(l.debug("directiveSanitizer called with",t),"object"==typeof t&&(t.length?t.forEach((t=>fw(t))):Object.keys(t).forEach((e=>{l.debug("Checking key",e),e.startsWith("__")&&(l.debug("sanitize deleting __ option",e),delete t[e]),e.includes("proto")&&(l.debug("sanitize deleting proto option",e),delete t[e]),e.includes("constr")&&(l.debug("sanitize deleting constr option",e),delete t[e]),e.includes("themeCSS")&&(l.debug("sanitizing themeCss option"),t[e]=dw(t[e])),e.includes("fontFamily")&&(l.debug("sanitizing fontFamily option"),t[e]=dw(t[e])),e.includes("altFontFamily")&&(l.debug("sanitizing altFontFamily option"),t[e]=dw(t[e])),jf.includes(e)?"object"==typeof t[e]&&(l.debug("sanitize deleting object",e),fw(t[e])):(l.debug("sanitize deleting option",e),delete t[e]);}))),t.themeVariables){const e=Object.keys(t.themeVariables);for(const n of e){const e=t.themeVariables[n];e&&e.match&&!e.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[n]="");}}l.debug("After sanitization",t);},dw=t=>{let e=0,n=0;for(const i of t){if(e{if("number"==typeof t)return [t,t+"px"];const e=parseInt(t,10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},ww={assignWithDepth:xp,wrapLabel:ow,calculateTextHeight:cw,calculateTextWidth:uw,calculateTextDimensions:lw,detectInit:Hb,detectDirective:Ub,isSubstringInArray:Gb,interpolateToCurve:qb,calcLabelPosition:Vb,calcCardinalityPosition:Zb,calcTerminalLabelPosition:Qb,formatUrl:Kb,getStylesFromArray:Jb,generateId:ew,random:iw,runFunc:Yb,entityDecode:function(t){return hw=hw||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),hw.innerHTML=t,unescape(hw.textContent)},initIdGenerator:class{constructor(t,e){this.deterministic=t,this.seed=e,this.count=e?e.length:0;}next(){return this.deterministic?this.count++:Date.now()}},directiveSanitizer:fw,sanitizeCss:dw,insertTitle:(t,e,n,i)=>{if(!i)return;const r=t.node().getBBox();t.append("text").text(i).attr("x",r.x+r.width/2).attr("y",-n).attr("class",e);},parseFontSize:bw};var yw="comm",mw="rule",vw="decl",xw="@import",kw="@keyframes",_w=Math.abs,Ew=String.fromCharCode;function Tw(t){return t.trim()}function Cw(t,e,n){return t.replace(e,n)}function Sw(t,e){return t.indexOf(e)}function Aw(t,e){return 0|t.charCodeAt(e)}function Mw(t,e,n){return t.slice(e,n)}function Iw(t){return t.length}function Ow(t){return t.length}function Lw(t,e){return e.push(t),t}var Dw=1,Nw=1,Pw=0,Bw=0,Rw=0,jw="";function $w(t,e,n,i,r,a,o){return {value:t,root:e,parent:n,type:i,props:r,children:a,line:Dw,column:Nw,length:o,return:""}}function Fw(){return Rw}function zw(){return Rw=Bw>0?Aw(jw,--Bw):0,Nw--,10===Rw&&(Nw=1,Dw--),Rw}function Hw(){return Rw=Bw2||Kw(Rw)>3?"":" "}function Zw(t,e){for(;--e&&Hw()&&!(Rw<48||Rw>102||Rw>57&&Rw<65||Rw>70&&Rw<97););return qw(t,Gw()+(e<6&&32==Uw()&&32==Hw()))}function Qw(t){for(;Hw();)switch(Rw){case t:return Bw;case 34:case 39:34!==t&&39!==t&&Qw(Rw);break;case 40:41===t&&Qw(t);break;case 92:Hw();}return Bw}function Jw(t,e){for(;Hw()&&t+Rw!==57&&(t+Rw!==84||47!==Uw()););return "/*"+qw(e,Bw-1)+"*"+Ew(47===t?t:Hw())}function ty(t){for(;!Kw(Uw());)Hw();return qw(t,Bw)}function ey(t){return Ww(ny("",null,null,null,[""],t=Yw(t),0,[0],t))}function ny(t,e,n,i,r,a,o,s,c){for(var u=0,l=0,h=o,f=0,d=0,g=0,p=1,b=1,w=1,y=0,m="",v=r,x=a,k=i,_=m;b;)switch(g=y,y=Hw()){case 40:if(108!=g&&58==Aw(_,h-1)){-1!=Sw(_+=Cw(Xw(y),"&","&\f"),"&\f")&&(w=-1);break}case 34:case 39:case 91:_+=Xw(y);break;case 9:case 10:case 13:case 32:_+=Vw(g);break;case 92:_+=Zw(Gw()-1,7);continue;case 47:switch(Uw()){case 42:case 47:Lw(ry(Jw(Hw(),Gw()),e,n),c);break;default:_+="/";}break;case 123*p:s[u++]=Iw(_)*w;case 125*p:case 59:case 0:switch(y){case 0:case 125:b=0;case 59+l:d>0&&Iw(_)-h&&Lw(d>32?ay(_+";",i,n,h-1):ay(Cw(_," ","")+";",i,n,h-2),c);break;case 59:_+=";";default:if(Lw(k=iy(_,e,n,u,l,r,s,m,v=[],x=[],h),a),123===y)if(0===l)ny(_,e,k,k,v,a,h,s,x);else switch(f){case 100:case 109:case 115:ny(t,k,k,i&&Lw(iy(t,k,k,0,0,r,s,m,r,v=[],h),x),r,x,h,s,i?v:x);break;default:ny(_,k,k,k,[""],x,0,s,x);}}u=l=d=0,p=w=1,m=_="",h=o;break;case 58:h=1+Iw(_),d=g;default:if(p<1)if(123==y)--p;else if(125==y&&0==p++&&125==zw())continue;switch(_+=Ew(y),y*p){case 38:w=l>0?1:(_+="\f",-1);break;case 44:s[u++]=(Iw(_)-1)*w,w=1;break;case 64:45===Uw()&&(_+=Xw(Hw())),f=Uw(),l=h=Iw(m=_+=ty(Gw())),y++;break;case 45:45===g&&2==Iw(_)&&(p=0);}}return a}function iy(t,e,n,i,r,a,o,s,c,u,l){for(var h=r-1,f=0===r?a:[""],d=Ow(f),g=0,p=0,b=0;g0?f[w]+" "+y:Cw(y,/&\f/g,f[w])))&&(c[b++]=m);return $w(t,e,n,0===r?mw:s,c,u,l)}function ry(t,e,n){return $w(t,e,n,yw,Ew(Fw()),Mw(t,2,-2),0)}function ay(t,e,n,i){return $w(t,e,n,vw,Mw(t,0,i),Mw(t,i+1,-1),i)}function oy(t,e){for(var n="",i=Ow(t),r=0;r{let n=xp({},t),i={};for(const t of e)xy(t),i=xp(i,t);if(n=xp(n,i),i.theme&&i.theme in Pf){const t=xp({},ly),e=xp(t.themeVariables||{},i.themeVariables);n.theme&&n.theme in Pf&&(n.themeVariables=Pf[n.theme].getThemeVariables(e));}return dy=n,Sy(dy),dy},py=t=>(hy=xp({},uy),hy=xp(hy,t),t.theme&&Pf[t.theme]&&(hy.themeVariables=Pf[t.theme].getThemeVariables(t.themeVariables)),gy(hy,fy),hy),by=t=>{ly=xp({},t);},wy=t=>(hy=xp(hy,t),gy(hy,fy),hy),yy=()=>xp({},hy),my=t=>(Sy(t),xp(dy,t),vy()),vy=()=>xp({},dy),xy=t=>{["secure",...hy.secure??[]].forEach((e=>{void 0!==t[e]&&(l.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e]);})),Object.keys(t).forEach((e=>{0===e.indexOf("__")&&delete t[e];})),Object.keys(t).forEach((e=>{"string"==typeof t[e]&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],"object"==typeof t[e]&&xy(t[e]);}));},ky=t=>{t.fontFamily&&(t.themeVariables&&t.themeVariables.fontFamily||(t.themeVariables={fontFamily:t.fontFamily})),fy.push(t),gy(hy,fy);},_y=(t=hy)=>{fy=[],gy(t,fy);};var Ey=(t=>(t.LAZY_LOAD_DEPRECATED="The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",t))(Ey||{});const Ty={},Cy=t=>{Ty[t]||(l.warn(Ey[t]),Ty[t]=!0);},Sy=t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&Cy("LAZY_LOAD_DEPRECATED");},Ay=function(t,e){for(let n of e)t.attr(n[0],n[1]);},My=function(t,e,n){let i=new Map;return n?(i.set("width","100%"),i.set("style",`max-width: ${e}px;`)):(i.set("height",t),i.set("width",e)),i},Iy=function(t,e,n,i){const r=My(e,n,i);Ay(t,r);},Oy=function(t,e,n,i){const r=e.node().getBBox(),a=r.width,o=r.height;l.info(`SVG bounds: ${a}x${o}`,r);let s=0,c=0;l.info(`Graph bounds: ${s}x${c}`,t),s=a+2*n,c=o+2*n,l.info(`Calculated bounds: ${s}x${c}`),Iy(e,c,s,i);const u=`${r.x-n} ${r.y-n} ${r.width+2*n} ${r.height+2*n}`;e.attr("viewBox",u);},Ly=t=>`g.classGroup text {\n  fill: ${t.nodeBorder};\n  fill: ${t.classText};\n  stroke: none;\n  font-family: ${t.fontFamily};\n  font-size: 10px;\n\n  .title {\n    font-weight: bolder;\n  }\n\n}\n\n.nodeLabel, .edgeLabel {\n  color: ${t.classText};\n}\n.edgeLabel .label rect {\n  fill: ${t.mainBkg};\n}\n.label text {\n  fill: ${t.classText};\n}\n.edgeLabel .label span {\n  background: ${t.mainBkg};\n}\n\n.classTitle {\n  font-weight: bolder;\n}\n.node rect,\n  .node circle,\n  .node ellipse,\n  .node polygon,\n  .node path {\n    fill: ${t.mainBkg};\n    stroke: ${t.nodeBorder};\n    stroke-width: 1px;\n  }\n\n\n.divider {\n  stroke: ${t.nodeBorder};\n  stroke: 1;\n}\n\ng.clickable {\n  cursor: pointer;\n}\n\ng.classGroup rect {\n  fill: ${t.mainBkg};\n  stroke: ${t.nodeBorder};\n}\n\ng.classGroup line {\n  stroke: ${t.nodeBorder};\n  stroke-width: 1;\n}\n\n.classLabel .box {\n  stroke: none;\n  stroke-width: 0;\n  fill: ${t.mainBkg};\n  opacity: 0.5;\n}\n\n.classLabel .label {\n  fill: ${t.nodeBorder};\n  font-size: 10px;\n}\n\n.relation {\n  stroke: ${t.lineColor};\n  stroke-width: 1;\n  fill: none;\n}\n\n.dashed-line{\n  stroke-dasharray: 3;\n}\n\n.dotted-line{\n  stroke-dasharray: 1 2;\n}\n\n#compositionStart, .composition {\n  fill: ${t.lineColor} !important;\n  stroke: ${t.lineColor} !important;\n  stroke-width: 1;\n}\n\n#compositionEnd, .composition {\n  fill: ${t.lineColor} !important;\n  stroke: ${t.lineColor} !important;\n  stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n  fill: ${t.lineColor} !important;\n  stroke: ${t.lineColor} !important;\n  stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n  fill: ${t.lineColor} !important;\n  stroke: ${t.lineColor} !important;\n  stroke-width: 1;\n}\n\n#extensionStart, .extension {\n  fill: ${t.mainBkg} !important;\n  stroke: ${t.lineColor} !important;\n  stroke-width: 1;\n}\n\n#extensionEnd, .extension {\n  fill: ${t.mainBkg} !important;\n  stroke: ${t.lineColor} !important;\n  stroke-width: 1;\n}\n\n#aggregationStart, .aggregation {\n  fill: ${t.mainBkg} !important;\n  stroke: ${t.lineColor} !important;\n  stroke-width: 1;\n}\n\n#aggregationEnd, .aggregation {\n  fill: ${t.mainBkg} !important;\n  stroke: ${t.lineColor} !important;\n  stroke-width: 1;\n}\n\n#lollipopStart, .lollipop {\n  fill: ${t.mainBkg} !important;\n  stroke: ${t.lineColor} !important;\n  stroke-width: 1;\n}\n\n#lollipopEnd, .lollipop {\n  fill: ${t.mainBkg} !important;\n  stroke: ${t.lineColor} !important;\n  stroke-width: 1;\n}\n\n.edgeTerminals {\n  font-size: 11px;\n}\n\n.classTitleText {\n  text-anchor: middle;\n  font-size: 18px;\n  fill: ${t.textColor};\n}\n`,Dy=t=>`\n  .entityBox {\n    fill: ${t.mainBkg};\n    stroke: ${t.nodeBorder};\n  }\n\n  .attributeBoxOdd {\n    fill: ${t.attributeBackgroundColorOdd};\n    stroke: ${t.nodeBorder};\n  }\n\n  .attributeBoxEven {\n    fill:  ${t.attributeBackgroundColorEven};\n    stroke: ${t.nodeBorder};\n  }\n\n  .relationshipLabelBox {\n    fill: ${t.tertiaryColor};\n    opacity: 0.7;\n    background-color: ${t.tertiaryColor};\n      rect {\n        opacity: 0.5;\n      }\n  }\n\n    .relationshipLine {\n      stroke: ${t.lineColor};\n    }\n\n  .entityTitleText {\n    text-anchor: middle;\n    font-size: 18px;\n    fill: ${t.textColor};\n  }    \n`,Ny=()=>"",Py=t=>`.label {\n    font-family: ${t.fontFamily};\n    color: ${t.nodeTextColor||t.textColor};\n  }\n  .cluster-label text {\n    fill: ${t.titleColor};\n  }\n  .cluster-label span {\n    color: ${t.titleColor};\n  }\n\n  .label text,span {\n    fill: ${t.nodeTextColor||t.textColor};\n    color: ${t.nodeTextColor||t.textColor};\n  }\n\n  .node rect,\n  .node circle,\n  .node ellipse,\n  .node polygon,\n  .node path {\n    fill: ${t.mainBkg};\n    stroke: ${t.nodeBorder};\n    stroke-width: 1px;\n  }\n\n  .node .label {\n    text-align: center;\n  }\n  .node.clickable {\n    cursor: pointer;\n  }\n\n  .arrowheadPath {\n    fill: ${t.arrowheadColor};\n  }\n\n  .edgePath .path {\n    stroke: ${t.lineColor};\n    stroke-width: 2.0px;\n  }\n\n  .flowchart-link {\n    stroke: ${t.lineColor};\n    fill: none;\n  }\n\n  .edgeLabel {\n    background-color: ${t.edgeLabelBackground};\n    rect {\n      opacity: 0.5;\n      background-color: ${t.edgeLabelBackground};\n      fill: ${t.edgeLabelBackground};\n    }\n    text-align: center;\n  }\n\n  .cluster rect {\n    fill: ${t.clusterBkg};\n    stroke: ${t.clusterBorder};\n    stroke-width: 1px;\n  }\n\n  .cluster text {\n    fill: ${t.titleColor};\n  }\n\n  .cluster span {\n    color: ${t.titleColor};\n  }\n  /* .cluster div {\n    color: ${t.titleColor};\n  } */\n\n  div.mermaidTooltip {\n    position: absolute;\n    text-align: center;\n    max-width: 200px;\n    padding: 2px;\n    font-family: ${t.fontFamily};\n    font-size: 12px;\n    background: ${t.tertiaryColor};\n    border: 1px solid ${t.border2};\n    border-radius: 2px;\n    pointer-events: none;\n    z-index: 100;\n  }\n\n  .flowchartTitleText {\n    text-anchor: middle;\n    font-size: 18px;\n    fill: ${t.textColor};\n  }\n`,By=t=>`\n  .mermaid-main-font {\n    font-family: "trebuchet ms", verdana, arial, sans-serif;\n    font-family: var(--mermaid-font-family);\n  }\n  .exclude-range {\n    fill: ${t.excludeBkgColor};\n  }\n\n  .section {\n    stroke: none;\n    opacity: 0.2;\n  }\n\n  .section0 {\n    fill: ${t.sectionBkgColor};\n  }\n\n  .section2 {\n    fill: ${t.sectionBkgColor2};\n  }\n\n  .section1,\n  .section3 {\n    fill: ${t.altSectionBkgColor};\n    opacity: 0.2;\n  }\n\n  .sectionTitle0 {\n    fill: ${t.titleColor};\n  }\n\n  .sectionTitle1 {\n    fill: ${t.titleColor};\n  }\n\n  .sectionTitle2 {\n    fill: ${t.titleColor};\n  }\n\n  .sectionTitle3 {\n    fill: ${t.titleColor};\n  }\n\n  .sectionTitle {\n    text-anchor: start;\n    // font-size: ${t.ganttFontSize};\n    // text-height: 14px;\n    font-family: 'trebuchet ms', verdana, arial, sans-serif;\n    font-family: var(--mermaid-font-family);\n\n  }\n\n\n  /* Grid and axis */\n\n  .grid .tick {\n    stroke: ${t.gridColor};\n    opacity: 0.8;\n    shape-rendering: crispEdges;\n    text {\n      font-family: ${t.fontFamily};\n      fill: ${t.textColor};\n    }\n  }\n\n  .grid path {\n    stroke-width: 0;\n  }\n\n\n  /* Today line */\n\n  .today {\n    fill: none;\n    stroke: ${t.todayLineColor};\n    stroke-width: 2px;\n  }\n\n\n  /* Task styling */\n\n  /* Default task */\n\n  .task {\n    stroke-width: 2;\n  }\n\n  .taskText {\n    text-anchor: middle;\n    font-family: 'trebuchet ms', verdana, arial, sans-serif;\n    font-family: var(--mermaid-font-family);\n  }\n\n  // .taskText:not([font-size]) {\n  //   font-size: ${t.ganttFontSize};\n  // }\n\n  .taskTextOutsideRight {\n    fill: ${t.taskTextDarkColor};\n    text-anchor: start;\n    // font-size: ${t.ganttFontSize};\n    font-family: 'trebuchet ms', verdana, arial, sans-serif;\n    font-family: var(--mermaid-font-family);\n\n  }\n\n  .taskTextOutsideLeft {\n    fill: ${t.taskTextDarkColor};\n    text-anchor: end;\n    // font-size: ${t.ganttFontSize};\n  }\n\n  /* Special case clickable */\n  .task.clickable {\n    cursor: pointer;\n  }\n  .taskText.clickable {\n    cursor: pointer;\n    fill: ${t.taskTextClickableColor} !important;\n    font-weight: bold;\n  }\n\n  .taskTextOutsideLeft.clickable {\n    cursor: pointer;\n    fill: ${t.taskTextClickableColor} !important;\n    font-weight: bold;\n  }\n\n  .taskTextOutsideRight.clickable {\n    cursor: pointer;\n    fill: ${t.taskTextClickableColor} !important;\n    font-weight: bold;\n  }\n\n  /* Specific task settings for the sections*/\n\n  .taskText0,\n  .taskText1,\n  .taskText2,\n  .taskText3 {\n    fill: ${t.taskTextColor};\n  }\n\n  .task0,\n  .task1,\n  .task2,\n  .task3 {\n    fill: ${t.taskBkgColor};\n    stroke: ${t.taskBorderColor};\n  }\n\n  .taskTextOutside0,\n  .taskTextOutside2\n  {\n    fill: ${t.taskTextOutsideColor};\n  }\n\n  .taskTextOutside1,\n  .taskTextOutside3 {\n    fill: ${t.taskTextOutsideColor};\n  }\n\n\n  /* Active task */\n\n  .active0,\n  .active1,\n  .active2,\n  .active3 {\n    fill: ${t.activeTaskBkgColor};\n    stroke: ${t.activeTaskBorderColor};\n  }\n\n  .activeText0,\n  .activeText1,\n  .activeText2,\n  .activeText3 {\n    fill: ${t.taskTextDarkColor} !important;\n  }\n\n\n  /* Completed task */\n\n  .done0,\n  .done1,\n  .done2,\n  .done3 {\n    stroke: ${t.doneTaskBorderColor};\n    fill: ${t.doneTaskBkgColor};\n    stroke-width: 2;\n  }\n\n  .doneText0,\n  .doneText1,\n  .doneText2,\n  .doneText3 {\n    fill: ${t.taskTextDarkColor} !important;\n  }\n\n\n  /* Tasks on the critical line */\n\n  .crit0,\n  .crit1,\n  .crit2,\n  .crit3 {\n    stroke: ${t.critBorderColor};\n    fill: ${t.critBkgColor};\n    stroke-width: 2;\n  }\n\n  .activeCrit0,\n  .activeCrit1,\n  .activeCrit2,\n  .activeCrit3 {\n    stroke: ${t.critBorderColor};\n    fill: ${t.activeTaskBkgColor};\n    stroke-width: 2;\n  }\n\n  .doneCrit0,\n  .doneCrit1,\n  .doneCrit2,\n  .doneCrit3 {\n    stroke: ${t.critBorderColor};\n    fill: ${t.doneTaskBkgColor};\n    stroke-width: 2;\n    cursor: pointer;\n    shape-rendering: crispEdges;\n  }\n\n  .milestone {\n    transform: rotate(45deg) scale(0.8,0.8);\n  }\n\n  .milestoneText {\n    font-style: italic;\n  }\n  .doneCritText0,\n  .doneCritText1,\n  .doneCritText2,\n  .doneCritText3 {\n    fill: ${t.taskTextDarkColor} !important;\n  }\n\n  .activeCritText0,\n  .activeCritText1,\n  .activeCritText2,\n  .activeCritText3 {\n    fill: ${t.taskTextDarkColor} !important;\n  }\n\n  .titleText {\n    text-anchor: middle;\n    font-size: 18px;\n    fill: ${t.textColor}    ;\n    font-family: 'trebuchet ms', verdana, arial, sans-serif;\n    font-family: var(--mermaid-font-family);\n  }\n`,Ry=()=>"",jy=t=>`\n  .pieCircle{\n    stroke: ${t.pieStrokeColor};\n    stroke-width : ${t.pieStrokeWidth};\n    opacity : ${t.pieOpacity};\n  }\n  .pieTitleText {\n    text-anchor: middle;\n    font-size: ${t.pieTitleTextSize};\n    fill: ${t.pieTitleTextColor};\n    font-family: ${t.fontFamily};\n  }\n  .slice {\n    font-family: ${t.fontFamily};\n    fill: ${t.pieSectionTextColor};\n    font-size:${t.pieSectionTextSize};\n    // fill: white;\n  }\n  .legend text {\n    fill: ${t.pieLegendTextColor};\n    font-family: ${t.fontFamily};\n    font-size: ${t.pieLegendTextSize};\n  }\n`,$y=t=>`\n\n  marker {\n    fill: ${t.relationColor};\n    stroke: ${t.relationColor};\n  }\n\n  marker.cross {\n    stroke: ${t.lineColor};\n  }\n\n  svg {\n    font-family: ${t.fontFamily};\n    font-size: ${t.fontSize};\n  }\n\n  .reqBox {\n    fill: ${t.requirementBackground};\n    fill-opacity: 100%;\n    stroke: ${t.requirementBorderColor};\n    stroke-width: ${t.requirementBorderSize};\n  }\n  \n  .reqTitle, .reqLabel{\n    fill:  ${t.requirementTextColor};\n  }\n  .reqLabelBox {\n    fill: ${t.relationLabelBackground};\n    fill-opacity: 100%;\n  }\n\n  .req-title-line {\n    stroke: ${t.requirementBorderColor};\n    stroke-width: ${t.requirementBorderSize};\n  }\n  .relationshipLine {\n    stroke: ${t.relationColor};\n    stroke-width: 1;\n  }\n  .relationshipLabel {\n    fill: ${t.relationLabelColor};\n  }\n\n`,Fy=t=>`.actor {\n    stroke: ${t.actorBorder};\n    fill: ${t.actorBkg};\n  }\n\n  text.actor > tspan {\n    fill: ${t.actorTextColor};\n    stroke: none;\n  }\n\n  .actor-line {\n    stroke: ${t.actorLineColor};\n  }\n\n  .messageLine0 {\n    stroke-width: 1.5;\n    stroke-dasharray: none;\n    stroke: ${t.signalColor};\n  }\n\n  .messageLine1 {\n    stroke-width: 1.5;\n    stroke-dasharray: 2, 2;\n    stroke: ${t.signalColor};\n  }\n\n  #arrowhead path {\n    fill: ${t.signalColor};\n    stroke: ${t.signalColor};\n  }\n\n  .sequenceNumber {\n    fill: ${t.sequenceNumberColor};\n  }\n\n  #sequencenumber {\n    fill: ${t.signalColor};\n  }\n\n  #crosshead path {\n    fill: ${t.signalColor};\n    stroke: ${t.signalColor};\n  }\n\n  .messageText {\n    fill: ${t.signalTextColor};\n    stroke: none;\n  }\n\n  .labelBox {\n    stroke: ${t.labelBoxBorderColor};\n    fill: ${t.labelBoxBkgColor};\n  }\n\n  .labelText, .labelText > tspan {\n    fill: ${t.labelTextColor};\n    stroke: none;\n  }\n\n  .loopText, .loopText > tspan {\n    fill: ${t.loopTextColor};\n    stroke: none;\n  }\n\n  .loopLine {\n    stroke-width: 2px;\n    stroke-dasharray: 2, 2;\n    stroke: ${t.labelBoxBorderColor};\n    fill: ${t.labelBoxBorderColor};\n  }\n\n  .note {\n    //stroke: #decc93;\n    stroke: ${t.noteBorderColor};\n    fill: ${t.noteBkgColor};\n  }\n\n  .noteText, .noteText > tspan {\n    fill: ${t.noteTextColor};\n    stroke: none;\n  }\n\n  .activation0 {\n    fill: ${t.activationBkgColor};\n    stroke: ${t.activationBorderColor};\n  }\n\n  .activation1 {\n    fill: ${t.activationBkgColor};\n    stroke: ${t.activationBorderColor};\n  }\n\n  .activation2 {\n    fill: ${t.activationBkgColor};\n    stroke: ${t.activationBorderColor};\n  }\n\n  .actorPopupMenu {\n    position: absolute;\n  }\n\n  .actorPopupMenuPanel {\n    position: absolute;\n    fill: ${t.actorBkg};\n    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);\n    filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));\n}\n  .actor-man line {\n    stroke: ${t.actorBorder};\n    fill: ${t.actorBkg};\n  }\n  .actor-man circle, line {\n    stroke: ${t.actorBorder};\n    fill: ${t.actorBkg};\n    stroke-width: 2px;\n  }\n`,zy=t=>`\ndefs #statediagram-barbEnd {\n    fill: ${t.transitionColor};\n    stroke: ${t.transitionColor};\n  }\ng.stateGroup text {\n  fill: ${t.nodeBorder};\n  stroke: none;\n  font-size: 10px;\n}\ng.stateGroup text {\n  fill: ${t.textColor};\n  stroke: none;\n  font-size: 10px;\n\n}\ng.stateGroup .state-title {\n  font-weight: bolder;\n  fill: ${t.stateLabelColor};\n}\n\ng.stateGroup rect {\n  fill: ${t.mainBkg};\n  stroke: ${t.nodeBorder};\n}\n\ng.stateGroup line {\n  stroke: ${t.lineColor};\n  stroke-width: 1;\n}\n\n.transition {\n  stroke: ${t.transitionColor};\n  stroke-width: 1;\n  fill: none;\n}\n\n.stateGroup .composit {\n  fill: ${t.background};\n  border-bottom: 1px\n}\n\n.stateGroup .alt-composit {\n  fill: #e0e0e0;\n  border-bottom: 1px\n}\n\n.state-note {\n  stroke: ${t.noteBorderColor};\n  fill: ${t.noteBkgColor};\n\n  text {\n    fill: ${t.noteTextColor};\n    stroke: none;\n    font-size: 10px;\n  }\n}\n\n.stateLabel .box {\n  stroke: none;\n  stroke-width: 0;\n  fill: ${t.mainBkg};\n  opacity: 0.5;\n}\n\n.edgeLabel .label rect {\n  fill: ${t.labelBackgroundColor};\n  opacity: 0.5;\n}\n.edgeLabel .label text {\n  fill: ${t.transitionLabelColor||t.tertiaryTextColor};\n}\n.label div .edgeLabel {\n  color: ${t.transitionLabelColor||t.tertiaryTextColor};\n}\n\n.stateLabel text {\n  fill: ${t.stateLabelColor};\n  font-size: 10px;\n  font-weight: bold;\n}\n\n.node circle.state-start {\n  fill: ${t.specialStateColor};\n  stroke: ${t.specialStateColor};\n}\n\n.node .fork-join {\n  fill: ${t.specialStateColor};\n  stroke: ${t.specialStateColor};\n}\n\n.node circle.state-end {\n  fill: ${t.innerEndBackground};\n  stroke: ${t.background};\n  stroke-width: 1.5\n}\n.end-state-inner {\n  fill: ${t.compositeBackground||t.background};\n  // stroke: ${t.background};\n  stroke-width: 1.5\n}\n\n.node rect {\n  fill: ${t.stateBkg||t.mainBkg};\n  stroke: ${t.stateBorder||t.nodeBorder};\n  stroke-width: 1px;\n}\n.node polygon {\n  fill: ${t.mainBkg};\n  stroke: ${t.stateBorder||t.nodeBorder};;\n  stroke-width: 1px;\n}\n#statediagram-barbEnd {\n  fill: ${t.lineColor};\n}\n\n.statediagram-cluster rect {\n  fill: ${t.compositeTitleBackground};\n  stroke: ${t.stateBorder||t.nodeBorder};\n  stroke-width: 1px;\n}\n\n.cluster-label, .nodeLabel {\n  color: ${t.stateLabelColor};\n}\n\n.statediagram-cluster rect.outer {\n  rx: 5px;\n  ry: 5px;\n}\n.statediagram-state .divider {\n  stroke: ${t.stateBorder||t.nodeBorder};\n}\n\n.statediagram-state .title-state {\n  rx: 5px;\n  ry: 5px;\n}\n.statediagram-cluster.statediagram-cluster .inner {\n  fill: ${t.compositeBackground||t.background};\n}\n.statediagram-cluster.statediagram-cluster-alt .inner {\n  fill: ${t.altBackground?t.altBackground:"#efefef"};\n}\n\n.statediagram-cluster .inner {\n  rx:0;\n  ry:0;\n}\n\n.statediagram-state rect.basic {\n  rx: 5px;\n  ry: 5px;\n}\n.statediagram-state rect.divider {\n  stroke-dasharray: 10,10;\n  fill: ${t.altBackground?t.altBackground:"#efefef"};\n}\n\n.note-edge {\n  stroke-dasharray: 5;\n}\n\n.statediagram-note rect {\n  fill: ${t.noteBkgColor};\n  stroke: ${t.noteBorderColor};\n  stroke-width: 1px;\n  rx: 0;\n  ry: 0;\n}\n.statediagram-note rect {\n  fill: ${t.noteBkgColor};\n  stroke: ${t.noteBorderColor};\n  stroke-width: 1px;\n  rx: 0;\n  ry: 0;\n}\n\n.statediagram-note text {\n  fill: ${t.noteTextColor};\n}\n\n.statediagram-note .nodeLabel {\n  color: ${t.noteTextColor};\n}\n.statediagram .edgeLabel {\n  color: red; // ${t.noteTextColor};\n}\n\n#dependencyStart, #dependencyEnd {\n  fill: ${t.lineColor};\n  stroke: ${t.lineColor};\n  stroke-width: 1;\n}\n\n.statediagramTitleText {\n  text-anchor: middle;\n  font-size: 18px;\n  fill: ${t.textColor};\n}\n`,Hy=t=>`.label {\n    font-family: 'trebuchet ms', verdana, arial, sans-serif;\n    font-family: var(--mermaid-font-family);\n    color: ${t.textColor};\n  }\n  .mouth {\n    stroke: #666;\n  }\n\n  line {\n    stroke: ${t.textColor}\n  }\n\n  .legend {\n    fill: ${t.textColor};\n  }\n\n  .label text {\n    fill: #333;\n  }\n  .label {\n    color: ${t.textColor}\n  }\n\n  .face {\n    ${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"};\n    stroke: #999;\n  }\n\n  .node rect,\n  .node circle,\n  .node ellipse,\n  .node polygon,\n  .node path {\n    fill: ${t.mainBkg};\n    stroke: ${t.nodeBorder};\n    stroke-width: 1px;\n  }\n\n  .node .label {\n    text-align: center;\n  }\n  .node.clickable {\n    cursor: pointer;\n  }\n\n  .arrowheadPath {\n    fill: ${t.arrowheadColor};\n  }\n\n  .edgePath .path {\n    stroke: ${t.lineColor};\n    stroke-width: 1.5px;\n  }\n\n  .flowchart-link {\n    stroke: ${t.lineColor};\n    fill: none;\n  }\n\n  .edgeLabel {\n    background-color: ${t.edgeLabelBackground};\n    rect {\n      opacity: 0.5;\n    }\n    text-align: center;\n  }\n\n  .cluster rect {\n  }\n\n  .cluster text {\n    fill: ${t.titleColor};\n  }\n\n  div.mermaidTooltip {\n    position: absolute;\n    text-align: center;\n    max-width: 200px;\n    padding: 2px;\n    font-family: 'trebuchet ms', verdana, arial, sans-serif;\n    font-family: var(--mermaid-font-family);\n    font-size: 12px;\n    background: ${t.tertiaryColor};\n    border: 1px solid ${t.border2};\n    border-radius: 2px;\n    pointer-events: none;\n    z-index: 100;\n  }\n\n  .task-type-0, .section-type-0  {\n    ${t.fillType0?`fill: ${t.fillType0}`:""};\n  }\n  .task-type-1, .section-type-1  {\n    ${t.fillType0?`fill: ${t.fillType1}`:""};\n  }\n  .task-type-2, .section-type-2  {\n    ${t.fillType0?`fill: ${t.fillType2}`:""};\n  }\n  .task-type-3, .section-type-3  {\n    ${t.fillType0?`fill: ${t.fillType3}`:""};\n  }\n  .task-type-4, .section-type-4  {\n    ${t.fillType0?`fill: ${t.fillType4}`:""};\n  }\n  .task-type-5, .section-type-5  {\n    ${t.fillType0?`fill: ${t.fillType5}`:""};\n  }\n  .task-type-6, .section-type-6  {\n    ${t.fillType0?`fill: ${t.fillType6}`:""};\n  }\n  .task-type-7, .section-type-7  {\n    ${t.fillType0?`fill: ${t.fillType7}`:""};\n  }\n\n  .actor-0 {\n    ${t.actor0?`fill: ${t.actor0}`:""};\n  }\n  .actor-1 {\n    ${t.actor1?`fill: ${t.actor1}`:""};\n  }\n  .actor-2 {\n    ${t.actor2?`fill: ${t.actor2}`:""};\n  }\n  .actor-3 {\n    ${t.actor3?`fill: ${t.actor3}`:""};\n  }\n  .actor-4 {\n    ${t.actor4?`fill: ${t.actor4}`:""};\n  }\n  .actor-5 {\n    ${t.actor5?`fill: ${t.actor5}`:""};\n  }\n`,Uy=t=>`.person {\n    stroke: ${t.personBorder};\n    fill: ${t.personBkg};\n  }\n`,Gy={flowchart:Py,"flowchart-v2":Py,sequence:Fy,gantt:By,classDiagram:Ly,"classDiagram-v2":Ly,class:Ly,stateDiagram:zy,state:zy,info:Ry,pie:jy,er:Dy,error:Ny,journey:Hy,requirement:$y,c4:Uy},qy=(t,e)=>{Gy[t]=e;},Ky=(t,e,n)=>{let i="";return t in Gy&&Gy[t]?i=Gy[t](n):l.warn(`No theme found for ${t}`),` & {\n    font-family: ${n.fontFamily};\n    font-size: ${n.fontSize};\n    fill: ${n.textColor}\n  }\n\n  /* Classes common for multiple diagrams */\n\n  & .error-icon {\n    fill: ${n.errorBkgColor};\n  }\n  & .error-text {\n    fill: ${n.errorTextColor};\n    stroke: ${n.errorTextColor};\n  }\n\n  & .edge-thickness-normal {\n    stroke-width: 2px;\n  }\n  & .edge-thickness-thick {\n    stroke-width: 3.5px\n  }\n  & .edge-pattern-solid {\n    stroke-dasharray: 0;\n  }\n\n  & .edge-pattern-dashed{\n    stroke-dasharray: 3;\n  }\n  .edge-pattern-dotted {\n    stroke-dasharray: 2;\n  }\n\n  & .marker {\n    fill: ${n.lineColor};\n    stroke: ${n.lineColor};\n  }\n  & .marker.cross {\n    stroke: ${n.lineColor};\n  }\n\n  & svg {\n    font-family: ${n.fontFamily};\n    font-size: ${n.fontSize};\n  }\n\n  ${i}\n\n  ${e}\n`};let Yy="",Wy="",Xy="";const Vy=t=>Fh(t,vy()),Zy=function(){Yy="",Xy="",Wy="";},Qy=function(t){Yy=Vy(t).replace(/^\s+/g,"");},Jy=function(){return Yy||Wy},tm=function(t){Xy=Vy(t).replace(/\n\s+/g,"\n");},em=function(){return Xy},nm=function(t){Wy=Vy(t);},im=function(){return Wy},rm={setAccTitle:Qy,getAccTitle:Jy,setDiagramTitle:nm,getDiagramTitle:im,getAccDescription:em,setAccDescription:tm,clear:Zy},am=Object.freeze(Object.defineProperty({__proto__:null,clear:Zy,default:rm,getAccDescription:em,getAccTitle:Jy,getDiagramTitle:im,setAccDescription:tm,setAccTitle:Qy,setDiagramTitle:nm},Symbol.toStringTag,{value:"Module"}));let om={};const sm=function(t,e,n,i){l.debug("parseDirective is being called",e,n,i);try{if(void 0!==e)switch(e=e.trim(),n){case"open_directive":om={};break;case"type_directive":if(!om)throw new Error("currentDirective is undefined");om.type=e.toLowerCase();break;case"arg_directive":if(!om)throw new Error("currentDirective is undefined");om.args=JSON.parse(e);break;case"close_directive":cm(t,om,i),om=void 0;}}catch(t){l.error(`Error while rendering sequenceDiagram directive: ${e} jison context: ${n}`),l.error(t.message);}},cm=function(t,e,n){switch(l.info(`Directive type=${e.type} with args:`,e.args),e.type){case"init":case"initialize":["config"].forEach((t=>{void 0!==e.args[t]&&("flowchart-v2"===n&&(n="flowchart"),e.args[n]=e.args[t],delete e.args[t]);})),l.info("sanitize in handleDirective",e.args),fw(e.args),l.info("sanitize in handleDirective (done)",e.args),ky(e.args);break;case"wrap":case"nowrap":t&&t.setWrap&&t.setWrap("wrap"===e.type);break;case"themeCss":l.warn("themeCss encountered");break;default:l.warn(`Unhandled directive: source: '%%{${e.type}: ${JSON.stringify(e.args?e.args:{})}}%%`,e);}},um=l,lm=h,hm=vy,fm=t=>Fh(t,hm()),dm=Oy,gm=()=>am,pm=(t,e,n,i)=>sm(t,e,n,i),bm={},wm=(t,e,n)=>{if(bm[t])throw new Error(`Diagram ${t} already registered.`);bm[t]=e,n&&yp(t,n),qy(t,e.styles),e.injectUtils&&e.injectUtils(um,lm,hm,fm,dm,gm(),pm);},ym=t=>{if(t in bm)return bm[t];throw new Error(`Diagram ${t} not found.`)};var mm=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,4],n=[1,7],i=[1,5],r=[1,9],a=[1,6],o=[2,6],s=[1,16],c=[6,8,14,20,22,24,25,27,29,32,37,40,50,55],u=[8,14,20,22,24,25,27,29,32,37,40],l=[8,13,14,20,22,24,25,27,29,32,37,40],h=[1,26],f=[6,8,14,50,55],d=[8,14,55],g=[1,53],p=[1,52],b=[8,14,30,33,35,38,55],w=[1,67],y=[1,68],m=[1,69],v=[8,14,33,35,42,55],x={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,GG:6,document:7,EOF:8,":":9,DIR:10,options:11,body:12,OPT:13,NL:14,line:15,statement:16,commitStatement:17,mergeStatement:18,cherryPickStatement:19,acc_title:20,acc_title_value:21,acc_descr:22,acc_descr_value:23,acc_descr_multiline_value:24,section:25,branchStatement:26,CHECKOUT:27,ref:28,BRANCH:29,ORDER:30,NUM:31,CHERRY_PICK:32,COMMIT_ID:33,STR:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,openDirective:46,typeDirective:47,closeDirective:48,argDirective:49,open_directive:50,type_directive:51,arg_directive:52,close_directive:53,ID:54,";":55,$accept:0,$end:1},terminals_:{2:"error",6:"GG",8:"EOF",9:":",10:"DIR",13:"OPT",14:"NL",20:"acc_title",21:"acc_title_value",22:"acc_descr",23:"acc_descr_value",24:"acc_descr_multiline_value",25:"section",27:"CHECKOUT",29:"BRANCH",30:"ORDER",31:"NUM",32:"CHERRY_PICK",33:"COMMIT_ID",34:"STR",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",50:"open_directive",51:"type_directive",52:"arg_directive",53:"close_directive",54:"ID",55:";"},productions_:[0,[3,2],[3,2],[3,3],[3,4],[3,5],[7,0],[7,2],[11,2],[11,1],[12,0],[12,2],[15,2],[15,1],[16,1],[16,1],[16,1],[16,2],[16,2],[16,1],[16,1],[16,1],[16,2],[26,2],[26,4],[19,3],[19,5],[19,5],[19,5],[19,5],[18,2],[18,4],[18,4],[18,4],[18,6],[18,6],[18,6],[18,6],[18,6],[18,6],[18,8],[18,8],[18,8],[18,8],[18,8],[18,8],[17,2],[17,3],[17,3],[17,5],[17,5],[17,3],[17,5],[17,5],[17,5],[17,5],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,3],[17,5],[17,5],[17,5],[17,5],[17,5],[17,5],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,7],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[17,9],[41,0],[41,1],[39,1],[39,1],[39,1],[5,3],[5,5],[46,1],[47,1],[49,1],[48,1],[28,1],[28,1],[4,1],[4,1],[4,1]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 3:return a[s];case 4:return a[s-1];case 5:return i.setDirection(a[s-3]),a[s-1];case 7:i.setOptions(a[s-1]),this.$=a[s];break;case 8:a[s-1]+=a[s],this.$=a[s-1];break;case 10:this.$=[];break;case 11:a[s-1].push(a[s]),this.$=a[s-1];break;case 12:this.$=a[s-1];break;case 17:this.$=a[s].trim(),i.setAccTitle(this.$);break;case 18:case 19:this.$=a[s].trim(),i.setAccDescription(this.$);break;case 20:i.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 22:i.checkout(a[s]);break;case 23:i.branch(a[s]);break;case 24:i.branch(a[s-2],a[s]);break;case 25:i.cherryPick(a[s],"",void 0);break;case 26:i.cherryPick(a[s-2],"",a[s]);break;case 27:case 29:i.cherryPick(a[s-2],"","");break;case 28:i.cherryPick(a[s],"",a[s-2]);break;case 30:i.merge(a[s],"","","");break;case 31:i.merge(a[s-2],a[s],"","");break;case 32:i.merge(a[s-2],"",a[s],"");break;case 33:i.merge(a[s-2],"","",a[s]);break;case 34:i.merge(a[s-4],a[s],"",a[s-2]);break;case 35:i.merge(a[s-4],"",a[s],a[s-2]);break;case 36:i.merge(a[s-4],"",a[s-2],a[s]);break;case 37:i.merge(a[s-4],a[s-2],a[s],"");break;case 38:i.merge(a[s-4],a[s-2],"",a[s]);break;case 39:i.merge(a[s-4],a[s],a[s-2],"");break;case 40:i.merge(a[s-6],a[s-4],a[s-2],a[s]);break;case 41:i.merge(a[s-6],a[s],a[s-4],a[s-2]);break;case 42:i.merge(a[s-6],a[s-4],a[s],a[s-2]);break;case 43:i.merge(a[s-6],a[s-2],a[s-4],a[s]);break;case 44:i.merge(a[s-6],a[s],a[s-2],a[s-4]);break;case 45:i.merge(a[s-6],a[s-2],a[s],a[s-4]);break;case 46:i.commit(a[s]);break;case 47:i.commit("","",i.commitType.NORMAL,a[s]);break;case 48:i.commit("","",a[s],"");break;case 49:i.commit("","",a[s],a[s-2]);break;case 50:i.commit("","",a[s-2],a[s]);break;case 51:i.commit("",a[s],i.commitType.NORMAL,"");break;case 52:i.commit("",a[s-2],i.commitType.NORMAL,a[s]);break;case 53:i.commit("",a[s],i.commitType.NORMAL,a[s-2]);break;case 54:i.commit("",a[s-2],a[s],"");break;case 55:i.commit("",a[s],a[s-2],"");break;case 56:i.commit("",a[s-4],a[s-2],a[s]);break;case 57:i.commit("",a[s-4],a[s],a[s-2]);break;case 58:i.commit("",a[s-2],a[s-4],a[s]);break;case 59:i.commit("",a[s],a[s-4],a[s-2]);break;case 60:i.commit("",a[s],a[s-2],a[s-4]);break;case 61:i.commit("",a[s-2],a[s],a[s-4]);break;case 62:i.commit(a[s],"",i.commitType.NORMAL,"");break;case 63:i.commit(a[s],"",i.commitType.NORMAL,a[s-2]);break;case 64:i.commit(a[s-2],"",i.commitType.NORMAL,a[s]);break;case 65:i.commit(a[s-2],"",a[s],"");break;case 66:i.commit(a[s],"",a[s-2],"");break;case 67:i.commit(a[s],a[s-2],i.commitType.NORMAL,"");break;case 68:i.commit(a[s-2],a[s],i.commitType.NORMAL,"");break;case 69:i.commit(a[s-4],"",a[s-2],a[s]);break;case 70:i.commit(a[s-4],"",a[s],a[s-2]);break;case 71:i.commit(a[s-2],"",a[s-4],a[s]);break;case 72:i.commit(a[s],"",a[s-4],a[s-2]);break;case 73:i.commit(a[s],"",a[s-2],a[s-4]);break;case 74:i.commit(a[s-2],"",a[s],a[s-4]);break;case 75:i.commit(a[s-4],a[s],a[s-2],"");break;case 76:i.commit(a[s-4],a[s-2],a[s],"");break;case 77:i.commit(a[s-2],a[s],a[s-4],"");break;case 78:i.commit(a[s],a[s-2],a[s-4],"");break;case 79:i.commit(a[s],a[s-4],a[s-2],"");break;case 80:i.commit(a[s-2],a[s-4],a[s],"");break;case 81:i.commit(a[s-4],a[s],i.commitType.NORMAL,a[s-2]);break;case 82:i.commit(a[s-4],a[s-2],i.commitType.NORMAL,a[s]);break;case 83:i.commit(a[s-2],a[s],i.commitType.NORMAL,a[s-4]);break;case 84:i.commit(a[s],a[s-2],i.commitType.NORMAL,a[s-4]);break;case 85:i.commit(a[s],a[s-4],i.commitType.NORMAL,a[s-2]);break;case 86:i.commit(a[s-2],a[s-4],i.commitType.NORMAL,a[s]);break;case 87:i.commit(a[s-6],a[s-4],a[s-2],a[s]);break;case 88:i.commit(a[s-6],a[s-4],a[s],a[s-2]);break;case 89:i.commit(a[s-6],a[s-2],a[s-4],a[s]);break;case 90:i.commit(a[s-6],a[s],a[s-4],a[s-2]);break;case 91:i.commit(a[s-6],a[s-2],a[s],a[s-4]);break;case 92:i.commit(a[s-6],a[s],a[s-2],a[s-4]);break;case 93:i.commit(a[s-4],a[s-6],a[s-2],a[s]);break;case 94:i.commit(a[s-4],a[s-6],a[s],a[s-2]);break;case 95:i.commit(a[s-2],a[s-6],a[s-4],a[s]);break;case 96:i.commit(a[s],a[s-6],a[s-4],a[s-2]);break;case 97:i.commit(a[s-2],a[s-6],a[s],a[s-4]);break;case 98:i.commit(a[s],a[s-6],a[s-2],a[s-4]);break;case 99:i.commit(a[s],a[s-4],a[s-2],a[s-6]);break;case 100:i.commit(a[s-2],a[s-4],a[s],a[s-6]);break;case 101:i.commit(a[s],a[s-2],a[s-4],a[s-6]);break;case 102:i.commit(a[s-2],a[s],a[s-4],a[s-6]);break;case 103:i.commit(a[s-4],a[s-2],a[s],a[s-6]);break;case 104:i.commit(a[s-4],a[s],a[s-2],a[s-6]);break;case 105:i.commit(a[s-2],a[s-4],a[s-6],a[s]);break;case 106:i.commit(a[s],a[s-4],a[s-6],a[s-2]);break;case 107:i.commit(a[s-2],a[s],a[s-6],a[s-4]);break;case 108:i.commit(a[s],a[s-2],a[s-6],a[s-4]);break;case 109:i.commit(a[s-4],a[s-2],a[s-6],a[s]);break;case 110:i.commit(a[s-4],a[s],a[s-6],a[s-2]);break;case 111:this.$="";break;case 112:this.$=a[s];break;case 113:this.$=i.commitType.NORMAL;break;case 114:this.$=i.commitType.REVERSE;break;case 115:this.$=i.commitType.HIGHLIGHT;break;case 118:i.parseDirective("%%{","open_directive");break;case 119:i.parseDirective(a[s],"type_directive");break;case 120:a[s]=a[s].trim().replace(/'/g,'"'),i.parseDirective(a[s],"arg_directive");break;case 121:i.parseDirective("}%%","close_directive","gitGraph");}},table:[{3:1,4:2,5:3,6:e,8:n,14:i,46:8,50:r,55:a},{1:[3]},{3:10,4:2,5:3,6:e,8:n,14:i,46:8,50:r,55:a},{3:11,4:2,5:3,6:e,8:n,14:i,46:8,50:r,55:a},{7:12,8:o,9:[1,13],10:[1,14],11:15,14:s},t(c,[2,124]),t(c,[2,125]),t(c,[2,126]),{47:17,51:[1,18]},{51:[2,118]},{1:[2,1]},{1:[2,2]},{8:[1,19]},{7:20,8:o,11:15,14:s},{9:[1,21]},t(u,[2,10],{12:22,13:[1,23]}),t(l,[2,9]),{9:[1,25],48:24,53:h},t([9,53],[2,119]),{1:[2,3]},{8:[1,27]},{7:28,8:o,11:15,14:s},{8:[2,7],14:[1,31],15:29,16:30,17:32,18:33,19:34,20:[1,35],22:[1,36],24:[1,37],25:[1,38],26:39,27:[1,40],29:[1,44],32:[1,43],37:[1,42],40:[1,41]},t(l,[2,8]),t(f,[2,116]),{49:45,52:[1,46]},t(f,[2,121]),{1:[2,4]},{8:[1,47]},t(u,[2,11]),{4:48,8:n,14:i,55:a},t(u,[2,13]),t(d,[2,14]),t(d,[2,15]),t(d,[2,16]),{21:[1,49]},{23:[1,50]},t(d,[2,19]),t(d,[2,20]),t(d,[2,21]),{28:51,34:g,54:p},t(d,[2,111],{41:54,33:[1,57],34:[1,59],35:[1,55],38:[1,56],42:[1,58]}),{28:60,34:g,54:p},{33:[1,61],35:[1,62]},{28:63,34:g,54:p},{48:64,53:h},{53:[2,120]},{1:[2,5]},t(u,[2,12]),t(d,[2,17]),t(d,[2,18]),t(d,[2,22]),t(b,[2,122]),t(b,[2,123]),t(d,[2,46]),{34:[1,65]},{39:66,43:w,44:y,45:m},{34:[1,70]},{34:[1,71]},t(d,[2,112]),t(d,[2,30],{33:[1,72],35:[1,74],38:[1,73]}),{34:[1,75]},{34:[1,76],36:[1,77]},t(d,[2,23],{30:[1,78]}),t(f,[2,117]),t(d,[2,47],{33:[1,80],38:[1,79],42:[1,81]}),t(d,[2,48],{33:[1,83],35:[1,82],42:[1,84]}),t(v,[2,113]),t(v,[2,114]),t(v,[2,115]),t(d,[2,51],{35:[1,85],38:[1,86],42:[1,87]}),t(d,[2,62],{33:[1,90],35:[1,88],38:[1,89]}),{34:[1,91]},{39:92,43:w,44:y,45:m},{34:[1,93]},t(d,[2,25],{35:[1,94]}),{33:[1,95]},{33:[1,96]},{31:[1,97]},{39:98,43:w,44:y,45:m},{34:[1,99]},{34:[1,100]},{34:[1,101]},{34:[1,102]},{34:[1,103]},{34:[1,104]},{39:105,43:w,44:y,45:m},{34:[1,106]},{34:[1,107]},{39:108,43:w,44:y,45:m},{34:[1,109]},t(d,[2,31],{35:[1,111],38:[1,110]}),t(d,[2,32],{33:[1,113],35:[1,112]}),t(d,[2,33],{33:[1,114],38:[1,115]}),{34:[1,116],36:[1,117]},{34:[1,118]},{34:[1,119]},t(d,[2,24]),t(d,[2,49],{33:[1,120],42:[1,121]}),t(d,[2,53],{38:[1,122],42:[1,123]}),t(d,[2,63],{33:[1,125],38:[1,124]}),t(d,[2,50],{33:[1,126],42:[1,127]}),t(d,[2,55],{35:[1,128],42:[1,129]}),t(d,[2,66],{33:[1,131],35:[1,130]}),t(d,[2,52],{38:[1,132],42:[1,133]}),t(d,[2,54],{35:[1,134],42:[1,135]}),t(d,[2,67],{35:[1,137],38:[1,136]}),t(d,[2,64],{33:[1,139],38:[1,138]}),t(d,[2,65],{33:[1,141],35:[1,140]}),t(d,[2,68],{35:[1,143],38:[1,142]}),{39:144,43:w,44:y,45:m},{34:[1,145]},{34:[1,146]},{34:[1,147]},{34:[1,148]},{39:149,43:w,44:y,45:m},t(d,[2,26]),t(d,[2,27]),t(d,[2,28]),t(d,[2,29]),{34:[1,150]},{34:[1,151]},{39:152,43:w,44:y,45:m},{34:[1,153]},{39:154,43:w,44:y,45:m},{34:[1,155]},{34:[1,156]},{34:[1,157]},{34:[1,158]},{34:[1,159]},{34:[1,160]},{34:[1,161]},{39:162,43:w,44:y,45:m},{34:[1,163]},{34:[1,164]},{34:[1,165]},{39:166,43:w,44:y,45:m},{34:[1,167]},{39:168,43:w,44:y,45:m},{34:[1,169]},{34:[1,170]},{34:[1,171]},{39:172,43:w,44:y,45:m},{34:[1,173]},t(d,[2,37],{35:[1,174]}),t(d,[2,38],{38:[1,175]}),t(d,[2,36],{33:[1,176]}),t(d,[2,39],{35:[1,177]}),t(d,[2,34],{38:[1,178]}),t(d,[2,35],{33:[1,179]}),t(d,[2,60],{42:[1,180]}),t(d,[2,73],{33:[1,181]}),t(d,[2,61],{42:[1,182]}),t(d,[2,84],{38:[1,183]}),t(d,[2,74],{33:[1,184]}),t(d,[2,83],{38:[1,185]}),t(d,[2,59],{42:[1,186]}),t(d,[2,72],{33:[1,187]}),t(d,[2,58],{42:[1,188]}),t(d,[2,78],{35:[1,189]}),t(d,[2,71],{33:[1,190]}),t(d,[2,77],{35:[1,191]}),t(d,[2,57],{42:[1,192]}),t(d,[2,85],{38:[1,193]}),t(d,[2,56],{42:[1,194]}),t(d,[2,79],{35:[1,195]}),t(d,[2,80],{35:[1,196]}),t(d,[2,86],{38:[1,197]}),t(d,[2,70],{33:[1,198]}),t(d,[2,81],{38:[1,199]}),t(d,[2,69],{33:[1,200]}),t(d,[2,75],{35:[1,201]}),t(d,[2,76],{35:[1,202]}),t(d,[2,82],{38:[1,203]}),{34:[1,204]},{39:205,43:w,44:y,45:m},{34:[1,206]},{34:[1,207]},{39:208,43:w,44:y,45:m},{34:[1,209]},{34:[1,210]},{34:[1,211]},{34:[1,212]},{39:213,43:w,44:y,45:m},{34:[1,214]},{39:215,43:w,44:y,45:m},{34:[1,216]},{34:[1,217]},{34:[1,218]},{34:[1,219]},{34:[1,220]},{34:[1,221]},{34:[1,222]},{39:223,43:w,44:y,45:m},{34:[1,224]},{34:[1,225]},{34:[1,226]},{39:227,43:w,44:y,45:m},{34:[1,228]},{39:229,43:w,44:y,45:m},{34:[1,230]},{34:[1,231]},{34:[1,232]},{39:233,43:w,44:y,45:m},t(d,[2,40]),t(d,[2,42]),t(d,[2,41]),t(d,[2,43]),t(d,[2,45]),t(d,[2,44]),t(d,[2,101]),t(d,[2,102]),t(d,[2,99]),t(d,[2,100]),t(d,[2,104]),t(d,[2,103]),t(d,[2,108]),t(d,[2,107]),t(d,[2,106]),t(d,[2,105]),t(d,[2,110]),t(d,[2,109]),t(d,[2,98]),t(d,[2,97]),t(d,[2,96]),t(d,[2,95]),t(d,[2,93]),t(d,[2,94]),t(d,[2,92]),t(d,[2,91]),t(d,[2,90]),t(d,[2,89]),t(d,[2,87]),t(d,[2,88])],defaultActions:{9:[2,118],10:[2,1],11:[2,2],19:[2,3],27:[2,4],46:[2,120],47:[2,5]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t);},parse:function(t){var e=this,n=[0],i=[],r=[null],a=[],o=this.table,s="",c=0,u=0,l=2,h=1,f=a.slice.call(arguments,1),d=Object.create(this.lexer),g={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(g.yy[p]=this.yy[p]);d.setInput(t,g.yy),g.yy.lexer=d,g.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var b=d.yylloc;a.push(b);var w=d.options&&d.options.ranges;function y(){var t;return "number"!=typeof(t=i.pop()||d.lex()||h)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,v,x,k,_,E,T,C,S={};;){if(v=n[n.length-1],this.defaultActions[v]?x=this.defaultActions[v]:(null==m&&(m=y()),x=o[v]&&o[v][m]),void 0===x||!x.length||!x[0]){var A="";for(_ in C=[],o[v])this.terminals_[_]&&_>l&&C.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(c+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(c+1)+": Unexpected "+(m==h?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:b,expected:C});}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+m);switch(x[0]){case 1:n.push(m),r.push(d.yytext),a.push(d.yylloc),n.push(x[1]),m=null,u=d.yyleng,s=d.yytext,c=d.yylineno,b=d.yylloc;break;case 2:if(E=this.productions_[x[1]][1],S.$=r[r.length-E],S._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},w&&(S._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(S,[s,u,c,g.yy,x[1],r,a].concat(f))))return k;E&&(n=n.slice(0,-1*E*2),r=r.slice(0,-1*E),a=a.slice(0,-1*E)),n.push(this.productions_[x[1]][0]),r.push(S.$),a.push(S._$),T=o[n[n.length-2]][n[n.length-1]],n.push(T);break;case 3:return !0}}return !0}},k={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e);},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t));},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return (t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return !1}return !1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return !1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t);},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return (t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t);},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:return this.begin("open_directive"),50;case 1:return this.begin("type_directive"),51;case 2:return this.popState(),this.begin("arg_directive"),9;case 3:return this.popState(),this.popState(),53;case 4:return 52;case 5:return this.begin("acc_title"),20;case 6:return this.popState(),"acc_title_value";case 7:return this.begin("acc_descr"),22;case 8:return this.popState(),"acc_descr_value";case 9:this.begin("acc_descr_multiline");break;case 10:case 34:case 38:this.popState();break;case 11:return "acc_descr_multiline_value";case 12:return 14;case 13:case 14:break;case 15:return 6;case 16:return 40;case 17:return 33;case 18:return 38;case 19:return 42;case 20:return 43;case 21:return 44;case 22:return 45;case 23:return 35;case 24:return 29;case 25:return 30;case 26:return 37;case 27:return 32;case 28:return 27;case 29:case 30:return 10;case 31:return 9;case 32:return "CARET";case 33:this.begin("options");break;case 35:return 13;case 36:return 36;case 37:this.begin("string");break;case 39:return 34;case 40:return 31;case 41:return 54;case 42:return 8}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit(?=\s|$))/i,/^(?:id:)/i,/^(?:type:)/i,/^(?:msg:)/i,/^(?:NORMAL\b)/i,/^(?:REVERSE\b)/i,/^(?:HIGHLIGHT\b)/i,/^(?:tag:)/i,/^(?:branch(?=\s|$))/i,/^(?:order:)/i,/^(?:merge(?=\s|$))/i,/^(?:cherry-pick(?=\s|$))/i,/^(?:checkout(?=\s|$))/i,/^(?:LR\b)/i,/^(?:BT\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:[ \r\n\t]+end\b)/i,/^(?:[\s\S]+(?=[ \r\n\t]+end))/i,/^(?:["]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[0-9]+(?=\s|$))/i,/^(?:\w([-\./\w]*[-\w])?)/i,/^(?:$)/i,/^(?:\s+)/i],conditions:{acc_descr_multiline:{rules:[10,11],inclusive:!1},acc_descr:{rules:[8],inclusive:!1},acc_title:{rules:[6],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},options:{rules:[34,35],inclusive:!1},string:{rules:[38,39],inclusive:!1},INITIAL:{rules:[0,5,7,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,36,37,40,41,42,43],inclusive:!0}}};function _(){this.yy={};}return x.lexer=k,_.prototype=x,x.Parser=_,new _}();mm.parser=mm;const vm=mm,xm=t=>null!==t.match(/^\s*gitGraph/);let km=vy().gitGraph.mainBranchName,_m=vy().gitGraph.mainBranchOrder,Em={},Tm=null,Cm={};Cm[km]={name:km,order:_m};let Sm={};Sm[km]=Tm;let Am=km,Mm="LR",Im=0;function Om(){return iw({length:7})}function Lm(t,e){const n=Object.create(null);return t.reduce(((t,i)=>{const r=e(i);return n[r]||(n[r]=!0,t.push(i)),t}),[])}let Dm={};const Nm=function(t,e,n,i){l.debug("Entering commit:",t,e,n,i),e=Yh.sanitizeText(e,vy()),t=Yh.sanitizeText(t,vy()),i=Yh.sanitizeText(i,vy());const r={id:e||Im+"-"+Om(),message:t,seq:Im++,type:n||Um.NORMAL,tag:i||"",parents:null==Tm?[]:[Tm.id],branch:Am};Tm=r,Em[r.id]=r,Sm[Am]=r.id,l.debug("in pushCommit "+r.id);},Pm=function(t,e){if(t=Yh.sanitizeText(t,vy()),void 0!==Sm[t]){let e=new Error('Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout '+t+'")');throw e.hash={text:"branch "+t,token:"branch "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+t+'"']},e}Sm[t]=null!=Tm?Tm.id:null,Cm[t]={name:t,order:e?parseInt(e,10):null},jm(t),l.debug("in createBranch");},Bm=function(t,e,n,i){t=Yh.sanitizeText(t,vy()),e=Yh.sanitizeText(e,vy());const r=Em[Sm[Am]],a=Em[Sm[t]];if(Am===t){let e=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw e.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},e}if(void 0===r||!r){let e=new Error('Incorrect usage of "merge". Current branch ('+Am+")has no commits");throw e.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["commit"]},e}if(void 0===Sm[t]){let e=new Error('Incorrect usage of "merge". Branch to be merged ('+t+") does not exist");throw e.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch "+t]},e}if(void 0===a||!a){let e=new Error('Incorrect usage of "merge". Branch to be merged ('+t+") has no commits");throw e.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"commit"']},e}if(r===a){let e=new Error('Incorrect usage of "merge". Both branches have same head');throw e.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},e}if(e&&void 0!==Em[e]){let r=new Error('Incorrect usage of "merge". Commit with id:'+e+" already exists, use different custom Id");throw r.hash={text:"merge "+t+e+n+i,token:"merge "+t+e+n+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["merge "+t+" "+e+"_UNIQUE "+n+" "+i]},r}const o={id:e||Im+"-"+Om(),message:"merged branch "+t+" into "+Am,seq:Im++,parents:[null==Tm?null:Tm.id,Sm[t]],branch:Am,type:Um.MERGE,customType:n,customId:!!e,tag:i||""};Tm=o,Em[o.id]=o,Sm[Am]=o.id,l.debug(Sm),l.debug("in mergeBranch");},Rm=function(t,e,n){if(l.debug("Entering cherryPick:",t,e,n),t=Yh.sanitizeText(t,vy()),e=Yh.sanitizeText(e,vy()),n=Yh.sanitizeText(n,vy()),!t||void 0===Em[t]){let n=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw n.hash={text:"cherryPick "+t+" "+e,token:"cherryPick "+t+" "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},n}let i=Em[t],r=i.branch;if(i.type===Um.MERGE){let n=new Error('Incorrect usage of "cherryPick". Source commit should not be a merge commit');throw n.hash={text:"cherryPick "+t+" "+e,token:"cherryPick "+t+" "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},n}if(!e||void 0===Em[e]){if(r===Am){let n=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw n.hash={text:"cherryPick "+t+" "+e,token:"cherryPick "+t+" "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},n}const a=Em[Sm[Am]];if(void 0===a||!a){let n=new Error('Incorrect usage of "cherry-pick". Current branch ('+Am+")has no commits");throw n.hash={text:"cherryPick "+t+" "+e,token:"cherryPick "+t+" "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},n}const o={id:Im+"-"+Om(),message:"cherry-picked "+i+" into "+Am,seq:Im++,parents:[null==Tm?null:Tm.id,i.id],branch:Am,type:Um.CHERRY_PICK,tag:n??"cherry-pick:"+i.id};Tm=o,Em[o.id]=o,Sm[Am]=o.id,l.debug(Sm),l.debug("in cherryPick");}},jm=function(t){if(t=Yh.sanitizeText(t,vy()),void 0===Sm[t]){let e=new Error('Trying to checkout branch which is not yet created. (Help try using "branch '+t+'")');throw e.hash={text:"checkout "+t,token:"checkout "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"branch '+t+'"']},e}{Am=t;const e=Sm[Am];Tm=Em[e];}};function $m(t,e,n){const i=t.indexOf(e);-1===i?t.push(n):t.splice(i,1,n);}function Fm(t){const e=t.reduce(((t,e)=>t.seq>e.seq?t:e),t[0]);let n="";t.forEach((function(t){n+=t===e?"\t*":"\t|";}));const i=[n,e.id,e.seq];for(let t in Sm)Sm[t]===e.id&&i.push(t);if(l.debug(i.join(" ")),e.parents&&2==e.parents.length){const n=Em[e.parents[0]];$m(t,e,n),t.push(Em[e.parents[1]]);}else {if(0==e.parents.length)return;{const n=Em[e.parents];$m(t,e,n);}}Fm(t=Lm(t,(t=>t.id)));}const zm=function(){l.debug(Em),Fm([Hm()[0]]);},Hm=function(){const t=Object.keys(Em).map((function(t){return Em[t]}));return t.forEach((function(t){l.debug(t.id);})),t.sort(((t,e)=>t.seq-e.seq)),t},Um={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},Gm={parseDirective:function(t,e,n){cU.parseDirective(this,t,e,n);},getConfig:()=>vy().gitGraph,setDirection:function(t){Mm=t;},setOptions:function(t){l.debug("options str",t),t=(t=t&&t.trim())||"{}";try{Dm=JSON.parse(t);}catch(t){l.error("error while parsing gitGraph options",t.message);}},getOptions:function(){return Dm},commit:Nm,branch:Pm,merge:Bm,cherryPick:Rm,checkout:jm,prettyPrint:zm,clear:function(){Em={},Tm=null;let t=vy().gitGraph.mainBranchName,e=vy().gitGraph.mainBranchOrder;Sm={},Sm[t]=null,Cm={},Cm[t]={name:t,order:e},Am=t,Im=0,Zy();},getBranchesAsObjArray:function(){return Object.values(Cm).map(((t,e)=>null!==t.order?t:{...t,order:parseFloat(`0.${e}`,10)})).sort(((t,e)=>t.order-e.order)).map((({name:t})=>({name:t})))},getBranches:function(){return Sm},getCommits:function(){return Em},getCommitsArray:Hm,getCurrentBranch:function(){return Am},getDirection:function(){return Mm},getHead:function(){return Tm},setAccTitle:Qy,getAccTitle:Jy,getAccDescription:em,setAccDescription:tm,setDiagramTitle:nm,getDiagramTitle:im,commitType:Um};let qm={};const Km={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},Ym=8;let Wm={},Xm={},Vm=[],Zm=0;const Qm=()=>{Wm={},Xm={},qm={},Zm=0,Vm=[];},Jm=t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","text");let n=[];n="string"==typeof t?t.split(/\\n|\n|
/gi):Array.isArray(t)?t:[];for(const t of n){const n=document.createElementNS("http://www.w3.org/2000/svg","tspan");n.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),n.setAttribute("dy","1em"),n.setAttribute("x","0"),n.setAttribute("class","row"),n.textContent=t.trim(),e.appendChild(n);}return e},tv=(t,e,n)=>{const i=hm().gitGraph,r=t.append("g").attr("class","commit-bullets"),a=t.append("g").attr("class","commit-labels");let o=0;Object.keys(e).sort(((t,n)=>e[t].seq-e[n].seq)).forEach((t=>{const s=e[t],c=Wm[s.branch].pos,u=o+10;if(n){let t,e=void 0!==s.customType&&""!==s.customType?s.customType:s.type;switch(e){case Km.NORMAL:t="commit-normal";break;case Km.REVERSE:t="commit-reverse";break;case Km.HIGHLIGHT:t="commit-highlight";break;case Km.MERGE:t="commit-merge";break;case Km.CHERRY_PICK:t="commit-cherry-pick";break;default:t="commit-normal";}if(e===Km.HIGHLIGHT){const e=r.append("rect");e.attr("x",u-10),e.attr("y",c-10),e.attr("height",20),e.attr("width",20),e.attr("class",`commit ${s.id} commit-highlight${Wm[s.branch].index%Ym} ${t}-outer`),r.append("rect").attr("x",u-6).attr("y",c-6).attr("height",12).attr("width",12).attr("class",`commit ${s.id} commit${Wm[s.branch].index%Ym} ${t}-inner`);}else if(e===Km.CHERRY_PICK)r.append("circle").attr("cx",u).attr("cy",c).attr("r",10).attr("class",`commit ${s.id} ${t}`),r.append("circle").attr("cx",u-3).attr("cy",c+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${s.id} ${t}`),r.append("circle").attr("cx",u+3).attr("cy",c+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${s.id} ${t}`),r.append("line").attr("x1",u+3).attr("y1",c+1).attr("x2",u).attr("y2",c-5).attr("stroke","#fff").attr("class",`commit ${s.id} ${t}`),r.append("line").attr("x1",u-3).attr("y1",c+1).attr("x2",u).attr("y2",c-5).attr("stroke","#fff").attr("class",`commit ${s.id} ${t}`);else {const n=r.append("circle");if(n.attr("cx",u),n.attr("cy",c),n.attr("r",s.type===Km.MERGE?9:10),n.attr("class",`commit ${s.id} commit${Wm[s.branch].index%Ym}`),e===Km.MERGE){const e=r.append("circle");e.attr("cx",u),e.attr("cy",c),e.attr("r",6),e.attr("class",`commit ${t} ${s.id} commit${Wm[s.branch].index%Ym}`);}e===Km.REVERSE&&r.append("path").attr("d",`M ${u-5},${c-5}L${u+5},${c+5}M${u-5},${c+5}L${u+5},${c-5}`).attr("class",`commit ${t} ${s.id} commit${Wm[s.branch].index%Ym}`);}}if(Xm[s.id]={x:o+10,y:c},n){const t=4,e=2;if(s.type!==Km.CHERRY_PICK&&(s.customId&&s.type===Km.MERGE||s.type!==Km.MERGE)&&i.showCommitLabel){const t=a.append("g"),n=t.insert("rect").attr("class","commit-label-bkg"),r=t.append("text").attr("x",o).attr("y",c+25).attr("class","commit-label").text(s.id);let u=r.node().getBBox();if(n.attr("x",o+10-u.width/2-e).attr("y",c+13.5).attr("width",u.width+2*e).attr("height",u.height+2*e),r.attr("x",o+10-u.width/2),i.rotateCommitLabel){let e=-7.5-(u.width+10)/25*9.5,n=10+u.width/25*8.5;t.attr("transform","translate("+e+", "+n+") rotate(-45, "+o+", "+c+")");}}if(s.tag){const n=a.insert("polygon"),i=a.append("circle"),r=a.append("text").attr("y",c-16).attr("class","tag-label").text(s.tag);let u=r.node().getBBox();r.attr("x",o+10-u.width/2);const l=u.height/2,h=c-19.2;n.attr("class","tag-label-bkg").attr("points",`\n          ${o-u.width/2-t/2},${h+e}\n          ${o-u.width/2-t/2},${h-e}\n          ${o+10-u.width/2-t},${h-l-e}\n          ${o+10+u.width/2+t},${h-l-e}\n          ${o+10+u.width/2+t},${h+l+e}\n          ${o+10-u.width/2-t},${h+l+e}`),i.attr("cx",o-u.width/2+t/2).attr("cy",h).attr("r",1.5).attr("class","tag-hole");}}o+=50,o>Zm&&(Zm=o);}));},ev=(t,e,n)=>Object.keys(n).filter((i=>n[i].branch===e.branch&&n[i].seq>t.seq&&n[i].seq0,nv=(t,e,n=0)=>{const i=t+Math.abs(t-e)/2;if(n>5)return i;if(Vm.every((t=>Math.abs(t-i)>=10)))return Vm.push(i),i;const r=Math.abs(t-e);return nv(t,e-r/5,n+1)},iv=(t,e,n,i)=>{const r=Xm[e.id],a=Xm[n.id],o=ev(e,n,i);let s,c="",u="",l=0,h=0,f=Wm[n.branch].index;if(o){c="A 10 10, 0, 0, 0,",u="A 10 10, 0, 0, 1,",l=10,h=10,f=Wm[n.branch].index;const t=r.ya.y&&(c="A 20 20, 0, 0, 0,",l=20,h=20,f=Wm[e.branch].index,s=`M ${r.x} ${r.y} L ${a.x-l} ${r.y} ${c} ${a.x} ${r.y-h} L ${a.x} ${a.y}`),r.y===a.y&&(f=Wm[e.branch].index,s=`M ${r.x} ${r.y} L ${r.x} ${a.y-l} ${c} ${r.x+h} ${a.y} L ${a.x} ${a.y}`);t.append("path").attr("d",s).attr("class","arrow arrow"+f%Ym);},rv=(t,e)=>{const n=t.append("g").attr("class","commit-arrows");Object.keys(e).forEach((t=>{const i=e[t];i.parents&&i.parents.length>0&&i.parents.forEach((t=>{iv(n,e[t],i,e);}));}));},av=(t,e)=>{const n=hm().gitGraph,i=t.append("g");e.forEach(((t,e)=>{const r=e%Ym,a=Wm[t.name].pos,o=i.append("line");o.attr("x1",0),o.attr("y1",a),o.attr("x2",Zm),o.attr("y2",a),o.attr("class","branch branch"+r),Vm.push(a);let s=t.name;const c=Jm(s),u=i.insert("rect"),l=i.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+r);l.node().appendChild(c);let h=c.getBBox();u.attr("class","branchLabelBkg label"+r).attr("rx",4).attr("ry",4).attr("x",-h.width-4-(!0===n.rotateCommitLabel?30:0)).attr("y",-h.height/2+8).attr("width",h.width+18).attr("height",h.height+4),l.attr("transform","translate("+(-h.width-14-(!0===n.rotateCommitLabel?30:0))+", "+(a-h.height/2-1)+")"),u.attr("transform","translate(-19, "+(a-h.height/2)+")");}));},ov={draw:function(t,e,n,i){Qm();const r=hm(),a=r.gitGraph;l.debug("in gitgraph renderer",t+"\n","id:",e,n),qm=i.db.getCommits();const o=i.db.getBranchesAsObjArray();let s=0;o.forEach(((t,e)=>{Wm[t.name]={pos:s,index:e},s+=50+(a.rotateCommitLabel?40:0);}));const c=ln(`[id="${e}"]`);tv(c,qm,!1),a.showBranches&&av(c,o),rv(c,qm),tv(c,qm,!0),ww.insertTitle(c,"gitTitleText",a.titleTopMargin,i.db.getDiagramTitle()),dm(void 0,c,a.diagramPadding,a.useMaxWidth??r.useMaxWidth);}},sv=t=>`\n  .commit-id,\n  .commit-msg,\n  .branch-label {\n    fill: lightgrey;\n    color: lightgrey;\n    font-family: 'trebuchet ms', verdana, arial, sans-serif;\n    font-family: var(--mermaid-font-family);\n  }\n  ${[0,1,2,3,4,5,6,7].map((e=>`\n        .branch-label${e} { fill: ${t["gitBranchLabel"+e]}; }\n        .commit${e} { stroke: ${t["git"+e]}; fill: ${t["git"+e]}; }\n        .commit-highlight${e} { stroke: ${t["gitInv"+e]}; fill: ${t["gitInv"+e]}; }\n        .label${e}  { fill: ${t["git"+e]}; }\n        .arrow${e} { stroke: ${t["git"+e]}; }\n        `)).join("\n")}\n\n  .branch {\n    stroke-width: 1;\n    stroke: ${t.lineColor};\n    stroke-dasharray: 2;\n  }\n  .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};}\n  .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; }\n  .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};}\n  .tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; }\n  .tag-hole { fill: ${t.textColor}; }\n\n  .commit-merge {\n    stroke: ${t.primaryColor};\n    fill: ${t.primaryColor};\n  }\n  .commit-reverse {\n    stroke: ${t.primaryColor};\n    fill: ${t.primaryColor};\n    stroke-width: 3;\n  }\n  .commit-highlight-outer {\n  }\n  .commit-highlight-inner {\n    stroke: ${t.primaryColor};\n    fill: ${t.primaryColor};\n  }\n\n  .arrow { stroke-width: 8; stroke-linecap: round; fill: none}\n  .gitTitleText {\n    text-anchor: middle;\n    font-size: 18px;\n    fill: ${t.textColor};\n  }\n  }\n`;var cv=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,6],n=[1,7],i=[1,8],r=[1,9],a=[1,16],o=[1,11],s=[1,12],u=[1,13],l=[1,14],h=[1,15],f=[1,27],d=[1,33],g=[1,34],p=[1,35],b=[1,36],w=[1,37],y=[1,72],m=[1,73],v=[1,74],x=[1,75],k=[1,76],_=[1,77],E=[1,78],T=[1,38],C=[1,39],S=[1,40],A=[1,41],M=[1,42],I=[1,43],O=[1,44],L=[1,45],D=[1,46],N=[1,47],P=[1,48],B=[1,49],R=[1,50],j=[1,51],$=[1,52],F=[1,53],z=[1,54],H=[1,55],U=[1,56],G=[1,57],q=[1,59],K=[1,60],Y=[1,61],W=[1,62],X=[1,63],V=[1,64],Z=[1,65],Q=[1,66],J=[1,67],tt=[1,68],et=[1,69],nt=[24,52],it=[24,44,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],rt=[15,24,44,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],at=[1,94],ot=[1,95],st=[1,96],ct=[1,97],ut=[15,24,52],lt=[7,8,9,10,18,22,25,26,27,28],ht=[15,24,43,52],ft=[15,24,43,52,86,87,89,90],dt=[15,43],gt=[44,46,47,48,49,50,51,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],pt={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,directive:6,direction_tb:7,direction_bt:8,direction_rl:9,direction_lr:10,graphConfig:11,openDirective:12,typeDirective:13,closeDirective:14,NEWLINE:15,":":16,argDirective:17,open_directive:18,type_directive:19,arg_directive:20,close_directive:21,C4_CONTEXT:22,statements:23,EOF:24,C4_CONTAINER:25,C4_COMPONENT:26,C4_DYNAMIC:27,C4_DEPLOYMENT:28,otherStatements:29,diagramStatements:30,otherStatement:31,title:32,accDescription:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,boundaryStatement:39,boundaryStartStatement:40,boundaryStopStatement:41,boundaryStart:42,LBRACE:43,ENTERPRISE_BOUNDARY:44,attributes:45,SYSTEM_BOUNDARY:46,BOUNDARY:47,CONTAINER_BOUNDARY:48,NODE:49,NODE_L:50,NODE_R:51,RBRACE:52,diagramStatement:53,PERSON:54,PERSON_EXT:55,SYSTEM:56,SYSTEM_DB:57,SYSTEM_QUEUE:58,SYSTEM_EXT:59,SYSTEM_EXT_DB:60,SYSTEM_EXT_QUEUE:61,CONTAINER:62,CONTAINER_DB:63,CONTAINER_QUEUE:64,CONTAINER_EXT:65,CONTAINER_EXT_DB:66,CONTAINER_EXT_QUEUE:67,COMPONENT:68,COMPONENT_DB:69,COMPONENT_QUEUE:70,COMPONENT_EXT:71,COMPONENT_EXT_DB:72,COMPONENT_EXT_QUEUE:73,REL:74,BIREL:75,REL_U:76,REL_D:77,REL_L:78,REL_R:79,REL_B:80,REL_INDEX:81,UPDATE_EL_STYLE:82,UPDATE_REL_STYLE:83,UPDATE_LAYOUT_CONFIG:84,attribute:85,STR:86,STR_KEY:87,STR_VALUE:88,ATTRIBUTE:89,ATTRIBUTE_EMPTY:90,$accept:0,$end:1},terminals_:{2:"error",7:"direction_tb",8:"direction_bt",9:"direction_rl",10:"direction_lr",15:"NEWLINE",16:":",18:"open_directive",19:"type_directive",20:"arg_directive",21:"close_directive",22:"C4_CONTEXT",24:"EOF",25:"C4_CONTAINER",26:"C4_COMPONENT",27:"C4_DYNAMIC",28:"C4_DEPLOYMENT",32:"title",33:"accDescription",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",43:"LBRACE",44:"ENTERPRISE_BOUNDARY",46:"SYSTEM_BOUNDARY",47:"BOUNDARY",48:"CONTAINER_BOUNDARY",49:"NODE",50:"NODE_L",51:"NODE_R",52:"RBRACE",54:"PERSON",55:"PERSON_EXT",56:"SYSTEM",57:"SYSTEM_DB",58:"SYSTEM_QUEUE",59:"SYSTEM_EXT",60:"SYSTEM_EXT_DB",61:"SYSTEM_EXT_QUEUE",62:"CONTAINER",63:"CONTAINER_DB",64:"CONTAINER_QUEUE",65:"CONTAINER_EXT",66:"CONTAINER_EXT_DB",67:"CONTAINER_EXT_QUEUE",68:"COMPONENT",69:"COMPONENT_DB",70:"COMPONENT_QUEUE",71:"COMPONENT_EXT",72:"COMPONENT_EXT_DB",73:"COMPONENT_EXT_QUEUE",74:"REL",75:"BIREL",76:"REL_U",77:"REL_D",78:"REL_L",79:"REL_R",80:"REL_B",81:"REL_INDEX",82:"UPDATE_EL_STYLE",83:"UPDATE_REL_STYLE",84:"UPDATE_LAYOUT_CONFIG",86:"STR",87:"STR_KEY",88:"STR_VALUE",89:"ATTRIBUTE",90:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[3,2],[5,1],[5,1],[5,1],[5,1],[4,1],[6,4],[6,6],[12,1],[13,1],[17,1],[14,1],[11,4],[11,4],[11,4],[11,4],[11,4],[23,1],[23,1],[23,2],[29,1],[29,2],[29,3],[31,1],[31,1],[31,2],[31,2],[31,1],[39,3],[40,3],[40,3],[40,4],[42,2],[42,2],[42,2],[42,2],[42,2],[42,2],[42,2],[41,1],[30,1],[30,2],[30,3],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,1],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[53,2],[45,1],[45,2],[85,1],[85,2],[85,1],[85,1]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 4:i.setDirection("TB");break;case 5:i.setDirection("BT");break;case 6:i.setDirection("RL");break;case 7:i.setDirection("LR");break;case 11:i.parseDirective("%%{","open_directive");break;case 12:break;case 13:a[s]=a[s].trim().replace(/'/g,'"'),i.parseDirective(a[s],"arg_directive");break;case 14:i.parseDirective("}%%","close_directive","c4Context");break;case 15:case 16:case 17:case 18:case 19:i.setC4Type(a[s-3]);break;case 26:i.setTitle(a[s].substring(6)),this.$=a[s].substring(6);break;case 27:i.setAccDescription(a[s].substring(15)),this.$=a[s].substring(15);break;case 28:this.$=a[s].trim(),i.setTitle(this.$);break;case 29:case 30:this.$=a[s].trim(),i.setAccDescription(this.$);break;case 35:case 36:a[s].splice(2,0,"ENTERPRISE"),i.addPersonOrSystemBoundary(...a[s]),this.$=a[s];break;case 37:i.addPersonOrSystemBoundary(...a[s]),this.$=a[s];break;case 38:a[s].splice(2,0,"CONTAINER"),i.addContainerBoundary(...a[s]),this.$=a[s];break;case 39:i.addDeploymentNode("node",...a[s]),this.$=a[s];break;case 40:i.addDeploymentNode("nodeL",...a[s]),this.$=a[s];break;case 41:i.addDeploymentNode("nodeR",...a[s]),this.$=a[s];break;case 42:i.popBoundaryParseStack();break;case 46:i.addPersonOrSystem("person",...a[s]),this.$=a[s];break;case 47:i.addPersonOrSystem("external_person",...a[s]),this.$=a[s];break;case 48:i.addPersonOrSystem("system",...a[s]),this.$=a[s];break;case 49:i.addPersonOrSystem("system_db",...a[s]),this.$=a[s];break;case 50:i.addPersonOrSystem("system_queue",...a[s]),this.$=a[s];break;case 51:i.addPersonOrSystem("external_system",...a[s]),this.$=a[s];break;case 52:i.addPersonOrSystem("external_system_db",...a[s]),this.$=a[s];break;case 53:i.addPersonOrSystem("external_system_queue",...a[s]),this.$=a[s];break;case 54:i.addContainer("container",...a[s]),this.$=a[s];break;case 55:i.addContainer("container_db",...a[s]),this.$=a[s];break;case 56:i.addContainer("container_queue",...a[s]),this.$=a[s];break;case 57:i.addContainer("external_container",...a[s]),this.$=a[s];break;case 58:i.addContainer("external_container_db",...a[s]),this.$=a[s];break;case 59:i.addContainer("external_container_queue",...a[s]),this.$=a[s];break;case 60:i.addComponent("component",...a[s]),this.$=a[s];break;case 61:i.addComponent("component_db",...a[s]),this.$=a[s];break;case 62:i.addComponent("component_queue",...a[s]),this.$=a[s];break;case 63:i.addComponent("external_component",...a[s]),this.$=a[s];break;case 64:i.addComponent("external_component_db",...a[s]),this.$=a[s];break;case 65:i.addComponent("external_component_queue",...a[s]),this.$=a[s];break;case 67:i.addRel("rel",...a[s]),this.$=a[s];break;case 68:i.addRel("birel",...a[s]),this.$=a[s];break;case 69:i.addRel("rel_u",...a[s]),this.$=a[s];break;case 70:i.addRel("rel_d",...a[s]),this.$=a[s];break;case 71:i.addRel("rel_l",...a[s]),this.$=a[s];break;case 72:i.addRel("rel_r",...a[s]),this.$=a[s];break;case 73:i.addRel("rel_b",...a[s]),this.$=a[s];break;case 74:a[s].splice(0,1),i.addRel("rel",...a[s]),this.$=a[s];break;case 75:i.updateElStyle("update_el_style",...a[s]),this.$=a[s];break;case 76:i.updateRelStyle("update_rel_style",...a[s]),this.$=a[s];break;case 77:i.updateLayoutConfig("update_layout_config",...a[s]),this.$=a[s];break;case 78:this.$=[a[s]];break;case 79:a[s].unshift(a[s-1]),this.$=a[s];break;case 80:case 82:this.$=a[s].trim();break;case 81:let t={};t[a[s-1].trim()]=a[s].trim(),this.$=t;break;case 83:this.$="";}},table:[{3:1,4:2,5:3,6:4,7:e,8:n,9:i,10:r,11:5,12:10,18:a,22:o,25:s,26:u,27:l,28:h},{1:[3]},{1:[2,1]},{1:[2,2]},{3:17,4:2,5:3,6:4,7:e,8:n,9:i,10:r,11:5,12:10,18:a,22:o,25:s,26:u,27:l,28:h},{1:[2,8]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{1:[2,7]},{13:18,19:[1,19]},{15:[1,20]},{15:[1,21]},{15:[1,22]},{15:[1,23]},{15:[1,24]},{19:[2,11]},{1:[2,3]},{14:25,16:[1,26],21:f},t([16,21],[2,12]),{23:28,29:29,30:30,31:31,32:d,33:g,34:p,36:b,38:w,39:58,40:70,42:71,44:y,46:m,47:v,48:x,49:k,50:_,51:E,53:32,54:T,55:C,56:S,57:A,58:M,59:I,60:O,61:L,62:D,63:N,64:P,65:B,66:R,67:j,68:$,69:F,70:z,71:H,72:U,73:G,74:q,75:K,76:Y,77:W,78:X,79:V,80:Z,81:Q,82:J,83:tt,84:et},{23:79,29:29,30:30,31:31,32:d,33:g,34:p,36:b,38:w,39:58,40:70,42:71,44:y,46:m,47:v,48:x,49:k,50:_,51:E,53:32,54:T,55:C,56:S,57:A,58:M,59:I,60:O,61:L,62:D,63:N,64:P,65:B,66:R,67:j,68:$,69:F,70:z,71:H,72:U,73:G,74:q,75:K,76:Y,77:W,78:X,79:V,80:Z,81:Q,82:J,83:tt,84:et},{23:80,29:29,30:30,31:31,32:d,33:g,34:p,36:b,38:w,39:58,40:70,42:71,44:y,46:m,47:v,48:x,49:k,50:_,51:E,53:32,54:T,55:C,56:S,57:A,58:M,59:I,60:O,61:L,62:D,63:N,64:P,65:B,66:R,67:j,68:$,69:F,70:z,71:H,72:U,73:G,74:q,75:K,76:Y,77:W,78:X,79:V,80:Z,81:Q,82:J,83:tt,84:et},{23:81,29:29,30:30,31:31,32:d,33:g,34:p,36:b,38:w,39:58,40:70,42:71,44:y,46:m,47:v,48:x,49:k,50:_,51:E,53:32,54:T,55:C,56:S,57:A,58:M,59:I,60:O,61:L,62:D,63:N,64:P,65:B,66:R,67:j,68:$,69:F,70:z,71:H,72:U,73:G,74:q,75:K,76:Y,77:W,78:X,79:V,80:Z,81:Q,82:J,83:tt,84:et},{23:82,29:29,30:30,31:31,32:d,33:g,34:p,36:b,38:w,39:58,40:70,42:71,44:y,46:m,47:v,48:x,49:k,50:_,51:E,53:32,54:T,55:C,56:S,57:A,58:M,59:I,60:O,61:L,62:D,63:N,64:P,65:B,66:R,67:j,68:$,69:F,70:z,71:H,72:U,73:G,74:q,75:K,76:Y,77:W,78:X,79:V,80:Z,81:Q,82:J,83:tt,84:et},{15:[1,83]},{17:84,20:[1,85]},{15:[2,14]},{24:[1,86]},t(nt,[2,20],{53:32,39:58,40:70,42:71,30:87,44:y,46:m,47:v,48:x,49:k,50:_,51:E,54:T,55:C,56:S,57:A,58:M,59:I,60:O,61:L,62:D,63:N,64:P,65:B,66:R,67:j,68:$,69:F,70:z,71:H,72:U,73:G,74:q,75:K,76:Y,77:W,78:X,79:V,80:Z,81:Q,82:J,83:tt,84:et}),t(nt,[2,21]),t(it,[2,23],{15:[1,88]}),t(nt,[2,43],{15:[1,89]}),t(rt,[2,26]),t(rt,[2,27]),{35:[1,90]},{37:[1,91]},t(rt,[2,30]),{45:92,85:93,86:at,87:ot,89:st,90:ct},{45:98,85:93,86:at,87:ot,89:st,90:ct},{45:99,85:93,86:at,87:ot,89:st,90:ct},{45:100,85:93,86:at,87:ot,89:st,90:ct},{45:101,85:93,86:at,87:ot,89:st,90:ct},{45:102,85:93,86:at,87:ot,89:st,90:ct},{45:103,85:93,86:at,87:ot,89:st,90:ct},{45:104,85:93,86:at,87:ot,89:st,90:ct},{45:105,85:93,86:at,87:ot,89:st,90:ct},{45:106,85:93,86:at,87:ot,89:st,90:ct},{45:107,85:93,86:at,87:ot,89:st,90:ct},{45:108,85:93,86:at,87:ot,89:st,90:ct},{45:109,85:93,86:at,87:ot,89:st,90:ct},{45:110,85:93,86:at,87:ot,89:st,90:ct},{45:111,85:93,86:at,87:ot,89:st,90:ct},{45:112,85:93,86:at,87:ot,89:st,90:ct},{45:113,85:93,86:at,87:ot,89:st,90:ct},{45:114,85:93,86:at,87:ot,89:st,90:ct},{45:115,85:93,86:at,87:ot,89:st,90:ct},{45:116,85:93,86:at,87:ot,89:st,90:ct},t(ut,[2,66]),{45:117,85:93,86:at,87:ot,89:st,90:ct},{45:118,85:93,86:at,87:ot,89:st,90:ct},{45:119,85:93,86:at,87:ot,89:st,90:ct},{45:120,85:93,86:at,87:ot,89:st,90:ct},{45:121,85:93,86:at,87:ot,89:st,90:ct},{45:122,85:93,86:at,87:ot,89:st,90:ct},{45:123,85:93,86:at,87:ot,89:st,90:ct},{45:124,85:93,86:at,87:ot,89:st,90:ct},{45:125,85:93,86:at,87:ot,89:st,90:ct},{45:126,85:93,86:at,87:ot,89:st,90:ct},{45:127,85:93,86:at,87:ot,89:st,90:ct},{30:128,39:58,40:70,42:71,44:y,46:m,47:v,48:x,49:k,50:_,51:E,53:32,54:T,55:C,56:S,57:A,58:M,59:I,60:O,61:L,62:D,63:N,64:P,65:B,66:R,67:j,68:$,69:F,70:z,71:H,72:U,73:G,74:q,75:K,76:Y,77:W,78:X,79:V,80:Z,81:Q,82:J,83:tt,84:et},{15:[1,130],43:[1,129]},{45:131,85:93,86:at,87:ot,89:st,90:ct},{45:132,85:93,86:at,87:ot,89:st,90:ct},{45:133,85:93,86:at,87:ot,89:st,90:ct},{45:134,85:93,86:at,87:ot,89:st,90:ct},{45:135,85:93,86:at,87:ot,89:st,90:ct},{45:136,85:93,86:at,87:ot,89:st,90:ct},{45:137,85:93,86:at,87:ot,89:st,90:ct},{24:[1,138]},{24:[1,139]},{24:[1,140]},{24:[1,141]},t(lt,[2,9]),{14:142,21:f},{21:[2,13]},{1:[2,15]},t(nt,[2,22]),t(it,[2,24],{31:31,29:143,32:d,33:g,34:p,36:b,38:w}),t(nt,[2,44],{29:29,30:30,31:31,53:32,39:58,40:70,42:71,23:144,32:d,33:g,34:p,36:b,38:w,44:y,46:m,47:v,48:x,49:k,50:_,51:E,54:T,55:C,56:S,57:A,58:M,59:I,60:O,61:L,62:D,63:N,64:P,65:B,66:R,67:j,68:$,69:F,70:z,71:H,72:U,73:G,74:q,75:K,76:Y,77:W,78:X,79:V,80:Z,81:Q,82:J,83:tt,84:et}),t(rt,[2,28]),t(rt,[2,29]),t(ut,[2,46]),t(ht,[2,78],{85:93,45:145,86:at,87:ot,89:st,90:ct}),t(ft,[2,80]),{88:[1,146]},t(ft,[2,82]),t(ft,[2,83]),t(ut,[2,47]),t(ut,[2,48]),t(ut,[2,49]),t(ut,[2,50]),t(ut,[2,51]),t(ut,[2,52]),t(ut,[2,53]),t(ut,[2,54]),t(ut,[2,55]),t(ut,[2,56]),t(ut,[2,57]),t(ut,[2,58]),t(ut,[2,59]),t(ut,[2,60]),t(ut,[2,61]),t(ut,[2,62]),t(ut,[2,63]),t(ut,[2,64]),t(ut,[2,65]),t(ut,[2,67]),t(ut,[2,68]),t(ut,[2,69]),t(ut,[2,70]),t(ut,[2,71]),t(ut,[2,72]),t(ut,[2,73]),t(ut,[2,74]),t(ut,[2,75]),t(ut,[2,76]),t(ut,[2,77]),{41:147,52:[1,148]},{15:[1,149]},{43:[1,150]},t(dt,[2,35]),t(dt,[2,36]),t(dt,[2,37]),t(dt,[2,38]),t(dt,[2,39]),t(dt,[2,40]),t(dt,[2,41]),{1:[2,16]},{1:[2,17]},{1:[2,18]},{1:[2,19]},{15:[1,151]},t(it,[2,25]),t(nt,[2,45]),t(ht,[2,79]),t(ft,[2,81]),t(ut,[2,31]),t(ut,[2,42]),t(gt,[2,32]),t(gt,[2,33],{15:[1,152]}),t(lt,[2,10]),t(gt,[2,34])],defaultActions:{2:[2,1],3:[2,2],5:[2,8],6:[2,4],7:[2,5],8:[2,6],9:[2,7],16:[2,11],17:[2,3],27:[2,14],85:[2,13],86:[2,15],138:[2,16],139:[2,17],140:[2,18],141:[2,19]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t);},parse:function(t){var e=this,n=[0],i=[],r=[null],a=[],o=this.table,s="",c=0,u=0,l=2,h=1,f=a.slice.call(arguments,1),d=Object.create(this.lexer),g={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(g.yy[p]=this.yy[p]);d.setInput(t,g.yy),g.yy.lexer=d,g.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var b=d.yylloc;a.push(b);var w=d.options&&d.options.ranges;function y(){var t;return "number"!=typeof(t=i.pop()||d.lex()||h)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,v,x,k,_,E,T,C,S={};;){if(v=n[n.length-1],this.defaultActions[v]?x=this.defaultActions[v]:(null==m&&(m=y()),x=o[v]&&o[v][m]),void 0===x||!x.length||!x[0]){var A="";for(_ in C=[],o[v])this.terminals_[_]&&_>l&&C.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(c+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(c+1)+": Unexpected "+(m==h?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:b,expected:C});}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+m);switch(x[0]){case 1:n.push(m),r.push(d.yytext),a.push(d.yylloc),n.push(x[1]),m=null,u=d.yyleng,s=d.yytext,c=d.yylineno,b=d.yylloc;break;case 2:if(E=this.productions_[x[1]][1],S.$=r[r.length-E],S._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},w&&(S._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(S,[s,u,c,g.yy,x[1],r,a].concat(f))))return k;E&&(n=n.slice(0,-1*E*2),r=r.slice(0,-1*E),a=a.slice(0,-1*E)),n.push(this.productions_[x[1]][0]),r.push(S.$),a.push(S._$),T=o[n[n.length-2]][n[n.length-1]],n.push(T);break;case 3:return !0}}return !0}},bt={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e);},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t));},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return (t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return !1}return !1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return !1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t);},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return (t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t);},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,i){switch(n){case 0:return this.begin("open_directive"),18;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 10;case 5:return this.begin("type_directive"),19;case 6:return this.popState(),this.begin("arg_directive"),16;case 7:return this.popState(),this.popState(),21;case 8:return 20;case 9:return 32;case 10:return 33;case 11:return this.begin("acc_title"),34;case 12:return this.popState(),"acc_title_value";case 13:return this.begin("acc_descr"),36;case 14:return this.popState(),"acc_descr_value";case 15:this.begin("acc_descr_multiline");break;case 16:case 78:this.popState();break;case 17:return "acc_descr_multiline_value";case 18:case 21:case 75:break;case 19:c;break;case 20:return 15;case 22:return 22;case 23:return 25;case 24:return 26;case 25:return 27;case 26:return 28;case 27:return this.begin("person_ext"),55;case 28:return this.begin("person"),54;case 29:return this.begin("system_ext_queue"),61;case 30:return this.begin("system_ext_db"),60;case 31:return this.begin("system_ext"),59;case 32:return this.begin("system_queue"),58;case 33:return this.begin("system_db"),57;case 34:return this.begin("system"),56;case 35:return this.begin("boundary"),47;case 36:return this.begin("enterprise_boundary"),44;case 37:return this.begin("system_boundary"),46;case 38:return this.begin("container_ext_queue"),67;case 39:return this.begin("container_ext_db"),66;case 40:return this.begin("container_ext"),65;case 41:return this.begin("container_queue"),64;case 42:return this.begin("container_db"),63;case 43:return this.begin("container"),62;case 44:return this.begin("container_boundary"),48;case 45:return this.begin("component_ext_queue"),73;case 46:return this.begin("component_ext_db"),72;case 47:return this.begin("component_ext"),71;case 48:return this.begin("component_queue"),70;case 49:return this.begin("component_db"),69;case 50:return this.begin("component"),68;case 51:case 52:return this.begin("node"),49;case 53:return this.begin("node_l"),50;case 54:return this.begin("node_r"),51;case 55:return this.begin("rel"),74;case 56:return this.begin("birel"),75;case 57:case 58:return this.begin("rel_u"),76;case 59:case 60:return this.begin("rel_d"),77;case 61:case 62:return this.begin("rel_l"),78;case 63:case 64:return this.begin("rel_r"),79;case 65:return this.begin("rel_b"),80;case 66:return this.begin("rel_index"),81;case 67:return this.begin("update_el_style"),82;case 68:return this.begin("update_rel_style"),83;case 69:return this.begin("update_layout_config"),84;case 70:return "EOF_IN_STRUCT";case 71:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 72:this.begin("attribute");break;case 73:case 84:this.popState(),this.popState();break;case 74:case 76:return 90;case 77:this.begin("string");break;case 79:case 85:return "STR";case 80:this.begin("string_kv");break;case 81:return this.begin("string_kv_key"),"STR_KEY";case 82:this.popState(),this.begin("string_kv_value");break;case 83:return "STR_VALUE";case 86:return "LBRACE";case 87:return "RBRACE";case 88:return "SPACE";case 89:return "EOL";case 90:return 24}},rules:[/^(?:%%\{)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[16,17],inclusive:!1},acc_descr:{rules:[14],inclusive:!1},acc_title:{rules:[12],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[7,8],inclusive:!1},type_directive:{rules:[6,7],inclusive:!1},open_directive:{rules:[5],inclusive:!1},string_kv_value:{rules:[83,84],inclusive:!1},string_kv_key:{rules:[82],inclusive:!1},string_kv:{rules:[81],inclusive:!1},string:{rules:[78,79],inclusive:!1},attribute:{rules:[73,74,75,76,77,80,85],inclusive:!1},update_layout_config:{rules:[70,71,72,73],inclusive:!1},update_rel_style:{rules:[70,71,72,73],inclusive:!1},update_el_style:{rules:[70,71,72,73],inclusive:!1},rel_b:{rules:[70,71,72,73],inclusive:!1},rel_r:{rules:[70,71,72,73],inclusive:!1},rel_l:{rules:[70,71,72,73],inclusive:!1},rel_d:{rules:[70,71,72,73],inclusive:!1},rel_u:{rules:[70,71,72,73],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[70,71,72,73],inclusive:!1},node_r:{rules:[70,71,72,73],inclusive:!1},node_l:{rules:[70,71,72,73],inclusive:!1},node:{rules:[70,71,72,73],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[70,71,72,73],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[70,71,72,73],inclusive:!1},component_ext:{rules:[70,71,72,73],inclusive:!1},component_queue:{rules:[70,71,72,73],inclusive:!1},component_db:{rules:[70,71,72,73],inclusive:!1},component:{rules:[70,71,72,73],inclusive:!1},container_boundary:{rules:[70,71,72,73],inclusive:!1},container_ext_queue:{rules:[],inclusive:!1},container_ext_db:{rules:[70,71,72,73],inclusive:!1},container_ext:{rules:[70,71,72,73],inclusive:!1},container_queue:{rules:[70,71,72,73],inclusive:!1},container_db:{rules:[70,71,72,73],inclusive:!1},container:{rules:[70,71,72,73],inclusive:!1},birel:{rules:[70,71,72,73],inclusive:!1},system_boundary:{rules:[70,71,72,73],inclusive:!1},enterprise_boundary:{rules:[70,71,72,73],inclusive:!1},boundary:{rules:[70,71,72,73],inclusive:!1},system_ext_queue:{rules:[70,71,72,73],inclusive:!1},system_ext_db:{rules:[70,71,72,73],inclusive:!1},system_ext:{rules:[70,71,72,73],inclusive:!1},system_queue:{rules:[70,71,72,73],inclusive:!1},system_db:{rules:[70,71,72,73],inclusive:!1},system:{rules:[70,71,72,73],inclusive:!1},person_ext:{rules:[70,71,72,73],inclusive:!1},person:{rules:[70,71,72,73],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,9,10,11,13,15,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,86,87,88,89,90],inclusive:!0}}};function wt(){this.yy={};}return pt.lexer=bt,wt.prototype=pt,pt.Parser=wt,new wt}();cv.parser=cv;const uv=cv,lv=t=>null!==t.match(/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/);let hv=[],fv=[""],dv="global",gv="",pv=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],bv=[],wv="",yv=!1,mv=4,vv=2;var xv;const kv=function(t,e,n,i,r,a,o,s,c){if(null==t||null==e||null==n||null==i)return;let u={};const l=bv.find((t=>t.from===e&&t.to===n));if(l?u=l:bv.push(u),u.type=t,u.from=e,u.to=n,u.label={text:i},null==r)u.techn={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];u[t]={text:e};}else u.techn={text:r};if(null==a)u.descr={text:""};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];u[t]={text:e};}else u.descr={text:a};if("object"==typeof o){let[t,e]=Object.entries(o)[0];u[t]=e;}else u.sprite=o;if("object"==typeof s){let[t,e]=Object.entries(s)[0];u[t]=e;}else u.tags=s;if("object"==typeof c){let[t,e]=Object.entries(c)[0];u[t]=e;}else u.link=c;u.wrap=Ov();},_v=function(t,e,n,i,r,a,o){if(null===e||null===n)return;let s={};const c=hv.find((t=>t.alias===e));if(c&&e===c.alias?s=c:(s.alias=e,hv.push(s)),s.label=null==n?{text:""}:{text:n},null==i)s.descr={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];s[t]={text:e};}else s.descr={text:i};if("object"==typeof r){let[t,e]=Object.entries(r)[0];s[t]=e;}else s.sprite=r;if("object"==typeof a){let[t,e]=Object.entries(a)[0];s[t]=e;}else s.tags=a;if("object"==typeof o){let[t,e]=Object.entries(o)[0];s[t]=e;}else s.link=o;s.typeC4Shape={text:t},s.parentBoundary=dv,s.wrap=Ov();},Ev=function(t,e,n,i,r,a,o,s){if(null===e||null===n)return;let c={};const u=hv.find((t=>t.alias===e));if(u&&e===u.alias?c=u:(c.alias=e,hv.push(c)),c.label=null==n?{text:""}:{text:n},null==i)c.techn={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];c[t]={text:e};}else c.techn={text:i};if(null==r)c.descr={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];c[t]={text:e};}else c.descr={text:r};if("object"==typeof a){let[t,e]=Object.entries(a)[0];c[t]=e;}else c.sprite=a;if("object"==typeof o){let[t,e]=Object.entries(o)[0];c[t]=e;}else c.tags=o;if("object"==typeof s){let[t,e]=Object.entries(s)[0];c[t]=e;}else c.link=s;c.wrap=Ov(),c.typeC4Shape={text:t},c.parentBoundary=dv;},Tv=function(t,e,n,i,r,a,o,s){if(null===e||null===n)return;let c={};const u=hv.find((t=>t.alias===e));if(u&&e===u.alias?c=u:(c.alias=e,hv.push(c)),c.label=null==n?{text:""}:{text:n},null==i)c.techn={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];c[t]={text:e};}else c.techn={text:i};if(null==r)c.descr={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];c[t]={text:e};}else c.descr={text:r};if("object"==typeof a){let[t,e]=Object.entries(a)[0];c[t]=e;}else c.sprite=a;if("object"==typeof o){let[t,e]=Object.entries(o)[0];c[t]=e;}else c.tags=o;if("object"==typeof s){let[t,e]=Object.entries(s)[0];c[t]=e;}else c.link=s;c.wrap=Ov(),c.typeC4Shape={text:t},c.parentBoundary=dv;},Cv=function(t,e,n,i,r){if(null===t||null===e)return;let a={};const o=pv.find((e=>e.alias===t));if(o&&t===o.alias?a=o:(a.alias=t,pv.push(a)),a.label=null==e?{text:""}:{text:e},null==n)a.type={text:"system"};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];a[t]={text:e};}else a.type={text:n};if("object"==typeof i){let[t,e]=Object.entries(i)[0];a[t]=e;}else a.tags=i;if("object"==typeof r){let[t,e]=Object.entries(r)[0];a[t]=e;}else a.link=r;a.parentBoundary=dv,a.wrap=Ov(),gv=dv,dv=t,fv.push(gv);},Sv=function(t,e,n,i,r){if(null===t||null===e)return;let a={};const o=pv.find((e=>e.alias===t));if(o&&t===o.alias?a=o:(a.alias=t,pv.push(a)),a.label=null==e?{text:""}:{text:e},null==n)a.type={text:"container"};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];a[t]={text:e};}else a.type={text:n};if("object"==typeof i){let[t,e]=Object.entries(i)[0];a[t]=e;}else a.tags=i;if("object"==typeof r){let[t,e]=Object.entries(r)[0];a[t]=e;}else a.link=r;a.parentBoundary=dv,a.wrap=Ov(),gv=dv,dv=t,fv.push(gv);},Av=function(t,e,n,i,r,a,o,s){if(null===e||null===n)return;let c={};const u=pv.find((t=>t.alias===e));if(u&&e===u.alias?c=u:(c.alias=e,pv.push(c)),c.label=null==n?{text:""}:{text:n},null==i)c.type={text:"node"};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];c[t]={text:e};}else c.type={text:i};if(null==r)c.descr={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];c[t]={text:e};}else c.descr={text:r};if("object"==typeof o){let[t,e]=Object.entries(o)[0];c[t]=e;}else c.tags=o;if("object"==typeof s){let[t,e]=Object.entries(s)[0];c[t]=e;}else c.link=s;c.nodeType=t,c.parentBoundary=dv,c.wrap=Ov(),gv=dv,dv=e,fv.push(gv);},Mv=function(t){return null==t?hv:hv.filter((e=>e.parentBoundary===t))},Iv=function(t){return Object.keys(Mv(t))},Ov=function(){return yv},Lv={addPersonOrSystem:_v,addPersonOrSystemBoundary:Cv,addContainer:Ev,addContainerBoundary:Sv,addComponent:Tv,addDeploymentNode:Av,popBoundaryParseStack:function(){dv=gv,fv.pop(),gv=fv.pop(),fv.push(gv);},addRel:kv,updateElStyle:function(t,e,n,i,r,a,o,s,c,u,l){let h=hv.find((t=>t.alias===e));if(void 0!==h||(h=pv.find((t=>t.alias===e)),void 0!==h)){if(null!=n)if("object"==typeof n){let[t,e]=Object.entries(n)[0];h[t]=e;}else h.bgColor=n;if(null!=i)if("object"==typeof i){let[t,e]=Object.entries(i)[0];h[t]=e;}else h.fontColor=i;if(null!=r)if("object"==typeof r){let[t,e]=Object.entries(r)[0];h[t]=e;}else h.borderColor=r;if(null!=a)if("object"==typeof a){let[t,e]=Object.entries(a)[0];h[t]=e;}else h.shadowing=a;if(null!=o)if("object"==typeof o){let[t,e]=Object.entries(o)[0];h[t]=e;}else h.shape=o;if(null!=s)if("object"==typeof s){let[t,e]=Object.entries(s)[0];h[t]=e;}else h.sprite=s;if(null!=c)if("object"==typeof c){let[t,e]=Object.entries(c)[0];h[t]=e;}else h.techn=c;if(null!=u)if("object"==typeof u){let[t,e]=Object.entries(u)[0];h[t]=e;}else h.legendText=u;if(null!=l)if("object"==typeof l){let[t,e]=Object.entries(l)[0];h[t]=e;}else h.legendSprite=l;}},updateRelStyle:function(t,e,n,i,r,a,o){const s=bv.find((t=>t.from===e&&t.to===n));if(void 0!==s){if(null!=i)if("object"==typeof i){let[t,e]=Object.entries(i)[0];s[t]=e;}else s.textColor=i;if(null!=r)if("object"==typeof r){let[t,e]=Object.entries(r)[0];s[t]=e;}else s.lineColor=r;if(null!=a)if("object"==typeof a){let[t,e]=Object.entries(a)[0];s[t]=parseInt(e);}else s.offsetX=parseInt(a);if(null!=o)if("object"==typeof o){let[t,e]=Object.entries(o)[0];s[t]=parseInt(e);}else s.offsetY=parseInt(o);}},updateLayoutConfig:function(t,e,n){let i=mv,r=vv;if("object"==typeof e){const t=Object.values(e)[0];i=parseInt(t);}else i=parseInt(e);if("object"==typeof n){const t=Object.values(n)[0];r=parseInt(t);}else r=parseInt(n);i>=1&&(mv=i),r>=1&&(vv=r);},autoWrap:Ov,setWrap:function(t){yv=t;},getC4ShapeArray:Mv,getC4Shape:function(t){return hv.find((e=>e.alias===t))},getC4ShapeKeys:Iv,getBoundarys:function(t){return null==t?pv:pv.filter((e=>e.parentBoundary===t))},getCurrentBoundaryParse:function(){return dv},getParentBoundaryParse:function(){return gv},getRels:function(){return bv},getTitle:function(){return wv},getC4Type:function(){return xv},getC4ShapeInRow:function(){return mv},getC4BoundaryInRow:function(){return vv},setAccTitle:Qy,getAccTitle:Jy,getAccDescription:em,setAccDescription:tm,parseDirective:function(t,e,n){cU.parseDirective(this,t,e,n);},getConfig:()=>vy().c4,clear:function(){hv=[],pv=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],gv="",dv="global",fv=[""],bv=[],fv=[""],wv="",yv=!1,mv=4,vv=2;},LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:function(t){let e=Fh(t,vy());wv=e;},setC4Type:function(t){let e=Fh(t,vy());xv=e;}},Dv=function(t,e){const n=t.append("rect");if(n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),n.attr("rx",e.rx),n.attr("ry",e.ry),"undefined"!==e.attrs&&null!==e.attrs)for(let t in e.attrs)n.attr(t,e.attrs[t]);return "undefined"!==e.class&&n.attr("class",e.class),n},Nv=function(t,e,n,i,r,a){const o=t.append("image");o.attr("width",e),o.attr("height",n),o.attr("x",i),o.attr("y",r);let s=a.startsWith("data:image/png;base64")?a:p(a);o.attr("xlink:href",s);},Pv=(t,e,n)=>{const i=t.append("g");let r=0;for(let t of e){let e=t.textColor?t.textColor:"#444444",a=t.lineColor?t.lineColor:"#444444",o=t.offsetX?parseInt(t.offsetX):0,s=t.offsetY?parseInt(t.offsetY):0,c="";if(0===r){let e=i.append("line");e.attr("x1",t.startPoint.x),e.attr("y1",t.startPoint.y),e.attr("x2",t.endPoint.x),e.attr("y2",t.endPoint.y),e.attr("stroke-width","1"),e.attr("stroke",a),e.style("fill","none"),"rel_b"!==t.type&&e.attr("marker-end","url("+c+"#arrowhead)"),"birel"!==t.type&&"rel_b"!==t.type||e.attr("marker-start","url("+c+"#arrowend)"),r=-1;}else {let e=i.append("path");e.attr("fill","none").attr("stroke-width","1").attr("stroke",a).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",t.startPoint.x).replaceAll("starty",t.startPoint.y).replaceAll("controlx",t.startPoint.x+(t.endPoint.x-t.startPoint.x)/2-(t.endPoint.x-t.startPoint.x)/4).replaceAll("controly",t.startPoint.y+(t.endPoint.y-t.startPoint.y)/2).replaceAll("stopx",t.endPoint.x).replaceAll("stopy",t.endPoint.y)),"rel_b"!==t.type&&e.attr("marker-end","url("+c+"#arrowhead)"),"birel"!==t.type&&"rel_b"!==t.type||e.attr("marker-start","url("+c+"#arrowend)");}let u=n.messageFont();Wv(n)(t.label.text,i,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+o,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+s,t.label.width,t.label.height,{fill:e},u),t.techn&&""!==t.techn.text&&(u=n.messageFont(),Wv(n)("["+t.techn.text+"]",i,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+o,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+n.messageFontSize+5+s,Math.max(t.label.width,t.techn.width),t.techn.height,{fill:e,"font-style":"italic"},u));}},Bv=function(t,e,n){const i=t.append("g");let r=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",o=e.fontColor?e.fontColor:"black",s={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(s={"stroke-width":1});let c={x:e.x,y:e.y,fill:r,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:s};Dv(i,c);let u=n.boundaryFont();u.fontWeight="bold",u.fontSize=u.fontSize+2,u.fontColor=o,Wv(n)(e.label.text,i,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},u),e.type&&""!==e.type.text&&(u=n.boundaryFont(),u.fontColor=o,Wv(n)(e.type.text,i,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},u)),e.descr&&""!==e.descr.text&&(u=n.boundaryFont(),u.fontSize=u.fontSize-2,u.fontColor=o,Wv(n)(e.descr.text,i,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},u));},Rv=function(t,e,n){var i;let r=e.bgColor?e.bgColor:n[e.typeC4Shape.text+"_bg_color"],a=e.borderColor?e.borderColor:n[e.typeC4Shape.text+"_border_color"],o=e.fontColor?e.fontColor:"#FFFFFF",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";}const c=t.append("g");c.attr("class","person-man");const u=Kv();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":u.x=e.x,u.y=e.y,u.fill=r,u.width=e.width,u.height=e.height,u.stroke=a,u.rx=2.5,u.ry=2.5,u.attrs={"stroke-width":.5},Dv(c,u);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":c.append("path").attr("fill",r).attr("stroke-width","0.5").attr("stroke",a).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),c.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",a).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":c.append("path").attr("fill",r).attr("stroke-width","0.5").attr("stroke",a).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),c.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",a).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2));}let l=Yv(n,e.typeC4Shape.text);switch(c.append("text").attr("fill",o).attr("font-family",l.fontFamily).attr("font-size",l.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":Nv(c,48,48,e.x+e.width/2-24,e.y+e.image.Y,s);}let h=n[e.typeC4Shape.text+"Font"]();return h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=o,Wv(n)(e.label.text,c,e.x,e.y+e.label.Y,e.width,e.height,{fill:o},h),h=n[e.typeC4Shape.text+"Font"](),h.fontColor=o,e.techn&&""!==(null==(i=e.techn)?void 0:i.text)?Wv(n)(e.techn.text,c,e.x,e.y+e.techn.Y,e.width,e.height,{fill:o,"font-style":"italic"},h):e.type&&""!==e.type.text&&Wv(n)(e.type.text,c,e.x,e.y+e.type.Y,e.width,e.height,{fill:o,"font-style":"italic"},h),e.descr&&""!==e.descr.text&&(h=n.personFont(),h.fontColor=o,Wv(n)(e.descr.text,c,e.x,e.y+e.descr.Y,e.width,e.height,{fill:o},h)),e.height},jv=function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z");},$v=function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z");},Fv=function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z");},zv=function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z");},Hv=function(t){t.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z");},Uv=function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z");},Gv=function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6);},qv=function(t){const e=t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);e.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),e.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7");},Kv=function(){return {x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},Yv=(t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),Wv=function(){function t(t,e,n,r,a,o,s){i(e.append("text").attr("x",n+a/2).attr("y",r+o/2+5).style("text-anchor","middle").text(t),s);}function e(t,e,n,r,a,o,s,c){const{fontSize:u,fontFamily:l,fontWeight:h}=c,f=t.split(Yh.lineBreakRegex);for(let t=0;t=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>Qv)&&(e=this.nextData.startx+t.margin+tx.nextLinePaddingX,i=this.nextData.stopy+2*t.margin,this.nextData.stopx=n=e+t.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=r=i+t.height,this.nextData.cnt=1),t.x=e,t.y=i,this.updateVal(this.data,"startx",e,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",r,Math.max),this.updateVal(this.nextData,"startx",e,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",r,Math.max);}init(t){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},nx(t.db.getConfig());}bumpLastMargin(t){this.data.stopx+=t,this.data.stopy+=t;}}const nx=function(t){xp(tx,t),t.fontFamily&&(tx.personFontFamily=tx.systemFontFamily=tx.messageFontFamily=t.fontFamily),t.fontSize&&(tx.personFontSize=tx.systemFontSize=tx.messageFontSize=t.fontSize),t.fontWeight&&(tx.personFontWeight=tx.systemFontWeight=tx.messageFontWeight=t.fontWeight);},ix=(t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),rx=t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),ax=t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight});function ox(t,e,n,i,r){if(!e[t].width)if(n)e[t].text=ow(e[t].text,r,i),e[t].textLines=e[t].text.split(Yh.lineBreakRegex).length,e[t].width=r,e[t].height=cw(e[t].text,i);else {let n=e[t].text.split(Yh.lineBreakRegex);e[t].textLines=n.length;let r=0;e[t].height=0,e[t].width=0;for(const a of n)e[t].width=Math.max(uw(a,i),e[t].width),r=cw(a,i),e[t].height=e[t].height+r;}}const sx=function(t,e,n){e.x=n.data.startx,e.y=n.data.starty,e.width=n.data.stopx-n.data.startx,e.height=n.data.stopy-n.data.starty,e.label.y=tx.c4ShapeMargin-35;let i=e.wrap&&tx.wrap,r=rx(tx);r.fontSize=r.fontSize+2,r.fontWeight="bold",ox("label",e,i,r,uw(e.label.text,r)),Xv.drawBoundary(t,e,tx);},cx=function(t,e,n,i){let r=0;for(const a of i){r=0;const i=n[a];let o=ix(tx,i.typeC4Shape.text);switch(o.fontSize=o.fontSize-2,i.typeC4Shape.width=uw("<<"+i.typeC4Shape.text+">>",o),i.typeC4Shape.height=o.fontSize+2,i.typeC4Shape.Y=tx.c4ShapePadding,r=i.typeC4Shape.Y+i.typeC4Shape.height-4,i.image={width:0,height:0,Y:0},i.typeC4Shape.text){case"person":case"external_person":i.image.width=48,i.image.height=48,i.image.Y=r,r=i.image.Y+i.image.height;}i.sprite&&(i.image.width=48,i.image.height=48,i.image.Y=r,r=i.image.Y+i.image.height);let s=i.wrap&&tx.wrap,c=tx.width-2*tx.c4ShapePadding,u=ix(tx,i.typeC4Shape.text);u.fontSize=u.fontSize+2,u.fontWeight="bold",ox("label",i,s,u,c),i.label.Y=r+8,r=i.label.Y+i.label.height,i.type&&""!==i.type.text?(i.type.text="["+i.type.text+"]",ox("type",i,s,ix(tx,i.typeC4Shape.text),c),i.type.Y=r+5,r=i.type.Y+i.type.height):i.techn&&""!==i.techn.text&&(i.techn.text="["+i.techn.text+"]",ox("techn",i,s,ix(tx,i.techn.text),c),i.techn.Y=r+5,r=i.techn.Y+i.techn.height);let l=r,h=i.label.width;i.descr&&""!==i.descr.text&&(ox("descr",i,s,ix(tx,i.typeC4Shape.text),c),i.descr.Y=r+20,r=i.descr.Y+i.descr.height,h=Math.max(i.label.width,i.descr.width),l=r-5*i.descr.textLines),h+=tx.c4ShapePadding,i.width=Math.max(i.width||tx.width,h,tx.width),i.height=Math.max(i.height||tx.height,l,tx.height),i.margin=i.margin||tx.c4ShapeMargin,t.insert(i),Xv.drawC4Shape(e,i,tx);}t.bumpLastMargin(tx.c4ShapeMargin);};let ux=class{constructor(t,e){this.x=t,this.y=e;}},lx=function(t,e){let n=t.x,i=t.y,r=e.x,a=e.y,o=n+t.width/2,s=i+t.height/2,c=Math.abs(n-r),u=Math.abs(i-a),l=u/c,h=t.height/t.width,f=null;return i==a&&nr?f=new ux(n,s):n==r&&ia&&(f=new ux(o,i)),n>r&&i=l?new ux(n,s+l*t.width/2):new ux(o-c/u*t.height/2,i+t.height):n=l?new ux(n+t.width,s+l*t.width/2):new ux(o+c/u*t.height/2,i+t.height):na?f=h>=l?new ux(n+t.width,s-l*t.width/2):new ux(o+t.height/2*c/u,i):n>r&&i>a&&(f=h>=l?new ux(n,s-t.width/2*l):new ux(o-t.height/2*c/u,i)),f},hx=function(t,e){let n={x:0,y:0};n.x=e.x+e.width/2,n.y=e.y+e.height/2;let i=lx(t,n);return n.x=t.x+t.width/2,n.y=t.y+t.height/2,{startPoint:i,endPoint:lx(e,n)}};const fx=function(t,e,n,i){let r=0;for(let t of e){r+=1;let e=t.wrap&&tx.wrap,a=ax(tx);"C4Dynamic"===i.db.getC4Type()&&(t.label.text=r+": "+t.label.text);let o=uw(t.label.text,a);ox("label",t,e,a,o),t.techn&&""!==t.techn.text&&(o=uw(t.techn.text,a),ox("techn",t,e,a,o)),t.descr&&""!==t.descr.text&&(o=uw(t.descr.text,a),ox("descr",t,e,a,o));let s=n(t.from),c=n(t.to),u=hx(s,c);t.startPoint=u.startPoint,t.endPoint=u.endPoint;}Xv.drawRels(t,e,tx);};function dx(t,e,n,i,r){let a=new ex(r);a.data.widthLimit=n.data.widthLimit/Math.min(Jv,i.length);for(let[o,s]of i.entries()){let i=0;s.image={width:0,height:0,Y:0},s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height);let c=s.wrap&&tx.wrap,u=rx(tx);if(u.fontSize=u.fontSize+2,u.fontWeight="bold",ox("label",s,c,u,a.data.widthLimit),s.label.Y=i+8,i=s.label.Y+s.label.height,s.type&&""!==s.type.text&&(s.type.text="["+s.type.text+"]",ox("type",s,c,rx(tx),a.data.widthLimit),s.type.Y=i+5,i=s.type.Y+s.type.height),s.descr&&""!==s.descr.text){let t=rx(tx);t.fontSize=t.fontSize-2,ox("descr",s,c,t,a.data.widthLimit),s.descr.Y=i+20,i=s.descr.Y+s.descr.height;}if(0==o||o%Jv==0){let t=n.data.startx+tx.diagramMarginX,e=n.data.stopy+tx.diagramMarginY+i;a.setData(t,t,e,e);}else {let t=a.data.stopx!==a.data.startx?a.data.stopx+tx.diagramMarginX:a.data.startx,e=a.data.starty;a.setData(t,t,e,e);}a.name=s.alias;let l=r.db.getC4ShapeArray(s.alias),h=r.db.getC4ShapeKeys(s.alias);h.length>0&&cx(a,t,l,h),e=s.alias;let f=r.db.getBoundarys(e);f.length>0&&dx(t,e,a,f,r),"global"!==s.alias&&sx(t,s,a),n.data.stopy=Math.max(a.data.stopy+tx.c4ShapeMargin,n.data.stopy),n.data.stopx=Math.max(a.data.stopx+tx.c4ShapeMargin,n.data.stopx),Vv=Math.max(Vv,n.data.stopx),Zv=Math.max(Zv,n.data.stopy);}}const gx={drawPersonOrSystemArray:cx,drawBoundary:sx,setConf:nx,draw:function(t,e,n,i){tx=vy().c4;const r=vy().securityLevel;let a;"sandbox"===r&&(a=ln("#i"+e));const o=ln("sandbox"===r?a.nodes()[0].contentDocument.body:"body");let s=i.db;i.db.setWrap(tx.wrap),Qv=s.getC4ShapeInRow(),Jv=s.getC4BoundaryInRow(),l.debug(`C:${JSON.stringify(tx,null,2)}`);const c="sandbox"===r?o.select(`[id="${e}"]`):ln(`[id="${e}"]`);Xv.insertComputerIcon(c),Xv.insertDatabaseIcon(c),Xv.insertClockIcon(c);let u=new ex(i);u.setData(tx.diagramMarginX,tx.diagramMarginX,tx.diagramMarginY,tx.diagramMarginY),u.data.widthLimit=screen.availWidth,Vv=tx.diagramMarginX,Zv=tx.diagramMarginY;const h=i.db.getTitle();dx(c,"",u,i.db.getBoundarys(""),i),Xv.insertArrowHead(c),Xv.insertArrowEnd(c),Xv.insertArrowCrossHead(c),Xv.insertArrowFilledHead(c),fx(c,i.db.getRels(),i.db.getC4Shape,i),u.data.stopx=Vv,u.data.stopy=Zv;const f=u.data;let d=f.stopy-f.starty+2*tx.diagramMarginY;const g=f.stopx-f.startx+2*tx.diagramMarginX;h&&c.append("text").text(h).attr("x",(f.stopx-f.startx)/2-4*tx.diagramMarginX).attr("y",f.starty+tx.diagramMarginY),Iy(c,d,g,tx.useMaxWidth);const p=h?60:0;c.attr("viewBox",f.startx-tx.diagramMarginX+" -"+(tx.diagramMarginY+p)+" "+g+" "+(d+p)),l.debug("models:",f);}};var px=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,3],n=[1,7],i=[1,8],r=[1,9],a=[1,10],o=[1,13],s=[1,12],c=[1,16,25],u=[1,20],l=[1,32],h=[1,33],f=[1,34],d=[1,36],g=[1,39],p=[1,37],b=[1,38],w=[1,44],y=[1,45],m=[1,40],v=[1,41],x=[1,42],k=[1,43],_=[1,48],E=[1,49],T=[1,50],C=[1,51],S=[16,25],A=[1,65],M=[1,66],I=[1,67],O=[1,68],L=[1,69],D=[1,70],N=[1,71],P=[1,80],B=[16,25,32,45,46,54,60,61,62,63,64,65,66,71,73],R=[16,25,30,32,45,46,50,54,60,61,62,63,64,65,66,71,73,88,89,90,91],j=[5,8,9,10,11,16,19,23,25],$=[54,88,89,90,91],F=[54,65,66,88,89,90,91],z=[54,60,61,62,63,64,88,89,90,91],H=[16,25,32],U=[1,107],G={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statments:5,direction:6,directive:7,direction_tb:8,direction_bt:9,direction_rl:10,direction_lr:11,graphConfig:12,openDirective:13,typeDirective:14,closeDirective:15,NEWLINE:16,":":17,argDirective:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,CLASS_DIAGRAM:23,statements:24,EOF:25,statement:26,className:27,alphaNumToken:28,classLiteralName:29,GENERICTYPE:30,relationStatement:31,LABEL:32,classStatement:33,methodStatement:34,annotationStatement:35,clickStatement:36,cssClassStatement:37,noteStatement:38,acc_title:39,acc_title_value:40,acc_descr:41,acc_descr_value:42,acc_descr_multiline_value:43,CLASS:44,STYLE_SEPARATOR:45,STRUCT_START:46,members:47,STRUCT_STOP:48,ANNOTATION_START:49,ANNOTATION_END:50,MEMBER:51,SEPARATOR:52,relation:53,STR:54,NOTE_FOR:55,noteText:56,NOTE:57,relationType:58,lineType:59,AGGREGATION:60,EXTENSION:61,COMPOSITION:62,DEPENDENCY:63,LOLLIPOP:64,LINE:65,DOTTED_LINE:66,CALLBACK:67,LINK:68,LINK_TARGET:69,CLICK:70,CALLBACK_NAME:71,CALLBACK_ARGS:72,HREF:73,CSSCLASS:74,commentToken:75,textToken:76,graphCodeTokens:77,textNoTagsToken:78,TAGSTART:79,TAGEND:80,"==":81,"--":82,PCT:83,DEFAULT:84,SPACE:85,MINUS:86,keywords:87,UNICODE_TEXT:88,NUM:89,ALPHA:90,BQUOTE_STR:91,$accept:0,$end:1},terminals_:{2:"error",5:"statments",8:"direction_tb",9:"direction_bt",10:"direction_rl",11:"direction_lr",16:"NEWLINE",17:":",19:"open_directive",20:"type_directive",21:"arg_directive",22:"close_directive",23:"CLASS_DIAGRAM",25:"EOF",30:"GENERICTYPE",32:"LABEL",39:"acc_title",40:"acc_title_value",41:"acc_descr",42:"acc_descr_value",43:"acc_descr_multiline_value",44:"CLASS",45:"STYLE_SEPARATOR",46:"STRUCT_START",48:"STRUCT_STOP",49:"ANNOTATION_START",50:"ANNOTATION_END",51:"MEMBER",52:"SEPARATOR",54:"STR",55:"NOTE_FOR",57:"NOTE",60:"AGGREGATION",61:"EXTENSION",62:"COMPOSITION",63:"DEPENDENCY",64:"LOLLIPOP",65:"LINE",66:"DOTTED_LINE",67:"CALLBACK",68:"LINK",69:"LINK_TARGET",70:"CLICK",71:"CALLBACK_NAME",72:"CALLBACK_ARGS",73:"HREF",74:"CSSCLASS",77:"graphCodeTokens",79:"TAGSTART",80:"TAGEND",81:"==",82:"--",83:"PCT",84:"DEFAULT",85:"SPACE",86:"MINUS",87:"keywords",88:"UNICODE_TEXT",89:"NUM",90:"ALPHA",91:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[3,1],[3,2],[6,1],[6,1],[6,1],[6,1],[4,1],[7,4],[7,6],[13,1],[14,1],[18,1],[15,1],[12,4],[24,1],[24,2],[24,3],[27,1],[27,1],[27,2],[27,2],[27,2],[26,1],[26,2],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,2],[26,2],[26,1],[33,2],[33,4],[33,5],[33,7],[35,4],[47,1],[47,2],[34,1],[34,2],[34,1],[34,1],[31,3],[31,4],[31,4],[31,5],[38,3],[38,2],[53,3],[53,2],[53,2],[53,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[36,3],[36,4],[36,3],[36,4],[36,4],[36,5],[36,3],[36,4],[36,4],[36,5],[36,3],[36,4],[36,4],[36,5],[37,3],[75,1],[75,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[76,1],[78,1],[78,1],[78,1],[78,1],[28,1],[28,1],[28,1],[29,1],[56,1]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 5:i.setDirection("TB");break;case 6:i.setDirection("BT");break;case 7:i.setDirection("RL");break;case 8:i.setDirection("LR");break;case 12:i.parseDirective("%%{","open_directive");break;case 13:i.parseDirective(a[s],"type_directive");break;case 14:a[s]=a[s].trim().replace(/'/g,'"'),i.parseDirective(a[s],"arg_directive");break;case 15:i.parseDirective("}%%","close_directive","class");break;case 20:case 21:this.$=a[s];break;case 22:this.$=a[s-1]+a[s];break;case 23:case 24:this.$=a[s-1]+"~"+a[s];break;case 25:i.addRelation(a[s]);break;case 26:a[s-1].title=i.cleanupLabel(a[s]),i.addRelation(a[s-1]);break;case 35:this.$=a[s].trim(),i.setAccTitle(this.$);break;case 36:case 37:this.$=a[s].trim(),i.setAccDescription(this.$);break;case 38:i.addClass(a[s]);break;case 39:i.addClass(a[s-2]),i.setCssClass(a[s-2],a[s]);break;case 40:i.addClass(a[s-3]),i.addMembers(a[s-3],a[s-1]);break;case 41:i.addClass(a[s-5]),i.setCssClass(a[s-5],a[s-3]),i.addMembers(a[s-5],a[s-1]);break;case 42:i.addAnnotation(a[s],a[s-2]);break;case 43:this.$=[a[s]];break;case 44:a[s].push(a[s-1]),this.$=a[s];break;case 45:case 47:case 48:break;case 46:i.addMember(a[s-1],i.cleanupLabel(a[s]));break;case 49:this.$={id1:a[s-2],id2:a[s],relation:a[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:a[s-3],id2:a[s],relation:a[s-1],relationTitle1:a[s-2],relationTitle2:"none"};break;case 51:this.$={id1:a[s-3],id2:a[s],relation:a[s-2],relationTitle1:"none",relationTitle2:a[s-1]};break;case 52:this.$={id1:a[s-4],id2:a[s],relation:a[s-2],relationTitle1:a[s-3],relationTitle2:a[s-1]};break;case 53:i.addNote(a[s],a[s-1]);break;case 54:i.addNote(a[s]);break;case 55:this.$={type1:a[s-2],type2:a[s],lineType:a[s-1]};break;case 56:this.$={type1:"none",type2:a[s],lineType:a[s-1]};break;case 57:this.$={type1:a[s-1],type2:"none",lineType:a[s]};break;case 58:this.$={type1:"none",type2:"none",lineType:a[s]};break;case 59:this.$=i.relationType.AGGREGATION;break;case 60:this.$=i.relationType.EXTENSION;break;case 61:this.$=i.relationType.COMPOSITION;break;case 62:this.$=i.relationType.DEPENDENCY;break;case 63:this.$=i.relationType.LOLLIPOP;break;case 64:this.$=i.lineType.LINE;break;case 65:this.$=i.lineType.DOTTED_LINE;break;case 66:case 72:this.$=a[s-2],i.setClickEvent(a[s-1],a[s]);break;case 67:case 73:this.$=a[s-3],i.setClickEvent(a[s-2],a[s-1]),i.setTooltip(a[s-2],a[s]);break;case 68:case 76:this.$=a[s-2],i.setLink(a[s-1],a[s]);break;case 69:case 77:this.$=a[s-3],i.setLink(a[s-2],a[s-1],a[s]);break;case 70:case 78:this.$=a[s-3],i.setLink(a[s-2],a[s-1]),i.setTooltip(a[s-2],a[s]);break;case 71:case 79:this.$=a[s-4],i.setLink(a[s-3],a[s-2],a[s]),i.setTooltip(a[s-3],a[s-1]);break;case 74:this.$=a[s-3],i.setClickEvent(a[s-2],a[s-1],a[s]);break;case 75:this.$=a[s-4],i.setClickEvent(a[s-3],a[s-2],a[s-1]),i.setTooltip(a[s-3],a[s]);break;case 80:i.setCssClass(a[s-1],a[s]);}},table:[{3:1,4:2,5:e,6:4,7:5,8:n,9:i,10:r,11:a,12:6,13:11,19:o,23:s},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{3:14,4:2,5:e,6:4,7:5,8:n,9:i,10:r,11:a,12:6,13:11,19:o,23:s},{1:[2,9]},t(c,[2,5]),t(c,[2,6]),t(c,[2,7]),t(c,[2,8]),{14:15,20:[1,16]},{16:[1,17]},{20:[2,12]},{1:[2,4]},{15:18,17:[1,19],22:u},t([17,22],[2,13]),{6:31,7:30,8:n,9:i,10:r,11:a,13:11,19:o,24:21,26:22,27:35,28:46,29:47,31:23,33:24,34:25,35:26,36:27,37:28,38:29,39:l,41:h,43:f,44:d,49:g,51:p,52:b,55:w,57:y,67:m,68:v,70:x,74:k,88:_,89:E,90:T,91:C},{16:[1,52]},{18:53,21:[1,54]},{16:[2,15]},{25:[1,55]},{16:[1,56],25:[2,17]},t(S,[2,25],{32:[1,57]}),t(S,[2,27]),t(S,[2,28]),t(S,[2,29]),t(S,[2,30]),t(S,[2,31]),t(S,[2,32]),t(S,[2,33]),t(S,[2,34]),{40:[1,58]},{42:[1,59]},t(S,[2,37]),t(S,[2,45],{53:60,58:63,59:64,32:[1,62],54:[1,61],60:A,61:M,62:I,63:O,64:L,65:D,66:N}),{27:72,28:46,29:47,88:_,89:E,90:T,91:C},t(S,[2,47]),t(S,[2,48]),{28:73,88:_,89:E,90:T},{27:74,28:46,29:47,88:_,89:E,90:T,91:C},{27:75,28:46,29:47,88:_,89:E,90:T,91:C},{27:76,28:46,29:47,88:_,89:E,90:T,91:C},{54:[1,77]},{27:78,28:46,29:47,88:_,89:E,90:T,91:C},{54:P,56:79},t(B,[2,20],{28:46,29:47,27:81,30:[1,82],88:_,89:E,90:T,91:C}),t(B,[2,21],{30:[1,83]}),t(R,[2,94]),t(R,[2,95]),t(R,[2,96]),t([16,25,30,32,45,46,54,60,61,62,63,64,65,66,71,73],[2,97]),t(j,[2,10]),{15:84,22:u},{22:[2,14]},{1:[2,16]},{6:31,7:30,8:n,9:i,10:r,11:a,13:11,19:o,24:85,25:[2,18],26:22,27:35,28:46,29:47,31:23,33:24,34:25,35:26,36:27,37:28,38:29,39:l,41:h,43:f,44:d,49:g,51:p,52:b,55:w,57:y,67:m,68:v,70:x,74:k,88:_,89:E,90:T,91:C},t(S,[2,26]),t(S,[2,35]),t(S,[2,36]),{27:86,28:46,29:47,54:[1,87],88:_,89:E,90:T,91:C},{53:88,58:63,59:64,60:A,61:M,62:I,63:O,64:L,65:D,66:N},t(S,[2,46]),{59:89,65:D,66:N},t($,[2,58],{58:90,60:A,61:M,62:I,63:O,64:L}),t(F,[2,59]),t(F,[2,60]),t(F,[2,61]),t(F,[2,62]),t(F,[2,63]),t(z,[2,64]),t(z,[2,65]),t(S,[2,38],{45:[1,91],46:[1,92]}),{50:[1,93]},{54:[1,94]},{54:[1,95]},{71:[1,96],73:[1,97]},{28:98,88:_,89:E,90:T},{54:P,56:99},t(S,[2,54]),t(S,[2,98]),t(B,[2,22]),t(B,[2,23]),t(B,[2,24]),{16:[1,100]},{25:[2,19]},t(H,[2,49]),{27:101,28:46,29:47,88:_,89:E,90:T,91:C},{27:102,28:46,29:47,54:[1,103],88:_,89:E,90:T,91:C},t($,[2,57],{58:104,60:A,61:M,62:I,63:O,64:L}),t($,[2,56]),{28:105,88:_,89:E,90:T},{47:106,51:U},{27:108,28:46,29:47,88:_,89:E,90:T,91:C},t(S,[2,66],{54:[1,109]}),t(S,[2,68],{54:[1,111],69:[1,110]}),t(S,[2,72],{54:[1,112],72:[1,113]}),t(S,[2,76],{54:[1,115],69:[1,114]}),t(S,[2,80]),t(S,[2,53]),t(j,[2,11]),t(H,[2,51]),t(H,[2,50]),{27:116,28:46,29:47,88:_,89:E,90:T,91:C},t($,[2,55]),t(S,[2,39],{46:[1,117]}),{48:[1,118]},{47:119,48:[2,43],51:U},t(S,[2,42]),t(S,[2,67]),t(S,[2,69]),t(S,[2,70],{69:[1,120]}),t(S,[2,73]),t(S,[2,74],{54:[1,121]}),t(S,[2,77]),t(S,[2,78],{69:[1,122]}),t(H,[2,52]),{47:123,51:U},t(S,[2,40]),{48:[2,44]},t(S,[2,71]),t(S,[2,75]),t(S,[2,79]),{48:[1,124]},t(S,[2,41])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],6:[2,9],13:[2,12],14:[2,4],20:[2,15],54:[2,14],55:[2,16],85:[2,19],119:[2,44]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t);},parse:function(t){var e=this,n=[0],i=[],r=[null],a=[],o=this.table,s="",c=0,u=0,l=2,h=1,f=a.slice.call(arguments,1),d=Object.create(this.lexer),g={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(g.yy[p]=this.yy[p]);d.setInput(t,g.yy),g.yy.lexer=d,g.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var b=d.yylloc;a.push(b);var w=d.options&&d.options.ranges;function y(){var t;return "number"!=typeof(t=i.pop()||d.lex()||h)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,v,x,k,_,E,T,C,S={};;){if(v=n[n.length-1],this.defaultActions[v]?x=this.defaultActions[v]:(null==m&&(m=y()),x=o[v]&&o[v][m]),void 0===x||!x.length||!x[0]){var A="";for(_ in C=[],o[v])this.terminals_[_]&&_>l&&C.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(c+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(c+1)+": Unexpected "+(m==h?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:b,expected:C});}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+m);switch(x[0]){case 1:n.push(m),r.push(d.yytext),a.push(d.yylloc),n.push(x[1]),m=null,u=d.yyleng,s=d.yytext,c=d.yylineno,b=d.yylloc;break;case 2:if(E=this.productions_[x[1]][1],S.$=r[r.length-E],S._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},w&&(S._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(S,[s,u,c,g.yy,x[1],r,a].concat(f))))return k;E&&(n=n.slice(0,-1*E*2),r=r.slice(0,-1*E),a=a.slice(0,-1*E)),n.push(this.productions_[x[1]][0]),r.push(S.$),a.push(S._$),T=o[n[n.length-2]][n[n.length-1]],n.push(T);break;case 3:return !0}}return !0}},q={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e);},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t));},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return (t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return !1}return !1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return !1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t);},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return (t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t);},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,i){switch(n){case 0:return this.begin("open_directive"),19;case 1:return 8;case 2:return 9;case 3:return 10;case 4:return 11;case 5:return this.begin("type_directive"),20;case 6:return this.popState(),this.begin("arg_directive"),17;case 7:return this.popState(),this.popState(),22;case 8:return 21;case 9:case 10:case 19:case 27:break;case 11:return this.begin("acc_title"),39;case 12:return this.popState(),"acc_title_value";case 13:return this.begin("acc_descr"),41;case 14:return this.popState(),"acc_descr_value";case 15:this.begin("acc_descr_multiline");break;case 16:case 39:case 42:case 45:case 48:case 51:case 54:this.popState();break;case 17:return "acc_descr_multiline_value";case 18:return 16;case 20:case 21:return 23;case 22:return this.begin("struct"),46;case 23:return "EDGE_STATE";case 24:return "EOF_IN_STRUCT";case 25:return "OPEN_IN_STRUCT";case 26:return this.popState(),48;case 28:return "MEMBER";case 29:return 44;case 30:return 74;case 31:return 67;case 32:return 68;case 33:return 70;case 34:return 55;case 35:return 57;case 36:return 49;case 37:return 50;case 38:this.begin("generic");break;case 40:return "GENERICTYPE";case 41:this.begin("string");break;case 43:return "STR";case 44:this.begin("bqstring");break;case 46:return "BQUOTE_STR";case 47:this.begin("href");break;case 49:return 73;case 50:this.begin("callback_name");break;case 52:this.popState(),this.begin("callback_args");break;case 53:return 71;case 55:return 72;case 56:case 57:case 58:case 59:return 69;case 60:case 61:return 61;case 62:case 63:return 63;case 64:return 62;case 65:return 60;case 66:return 64;case 67:return 65;case 68:return 66;case 69:return 32;case 70:return 45;case 71:return 86;case 72:return "DOT";case 73:return "PLUS";case 74:return 83;case 75:case 76:return "EQUALS";case 77:return 90;case 78:return "PUNCTUATION";case 79:return 89;case 80:return 88;case 81:return 85;case 82:return 25}},rules:[/^(?:%%\{)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:[{])/,/^(?:\[\*\])/,/^(?:$)/,/^(?:[{])/,/^(?:[}])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:class\b)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:[~])/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[`])/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[16,17],inclusive:!1},acc_descr:{rules:[14],inclusive:!1},acc_title:{rules:[12],inclusive:!1},arg_directive:{rules:[7,8],inclusive:!1},type_directive:{rules:[6,7],inclusive:!1},open_directive:{rules:[5],inclusive:!1},callback_args:{rules:[54,55],inclusive:!1},callback_name:{rules:[51,52,53],inclusive:!1},href:{rules:[48,49],inclusive:!1},struct:{rules:[23,24,25,26,27,28],inclusive:!1},generic:{rules:[39,40],inclusive:!1},bqstring:{rules:[45,46],inclusive:!1},string:{rules:[42,43],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,9,10,11,13,15,18,19,20,21,22,23,29,30,31,32,33,34,35,36,37,38,41,44,47,50,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82],inclusive:!0}}};function K(){this.yy={};}return G.lexer=q,K.prototype=G,G.Parser=K,new K}();px.parser=px;const bx=px,wx=(t,e)=>{var n;return "dagre-wrapper"!==(null==(n=null==e?void 0:e.class)?void 0:n.defaultRenderer)&&null!==t.match(/^\s*classDiagram/)},yx=(t,e)=>{var n;return null!==t.match(/^\s*classDiagram/)&&"dagre-wrapper"===(null==(n=null==e?void 0:e.class)?void 0:n.defaultRenderer)||null!==t.match(/^\s*classDiagram-v2/)},mx="classid-";let vx=[],xx={},kx=[],_x=0,Ex=[];const Tx=t=>Yh.sanitizeText(t,vy()),Cx=function(t,e,n){cU.parseDirective(this,t,e,n);},Sx=function(t){let e="",n=t;if(t.indexOf("~")>0){let i=t.split("~");n=i[0],e=Yh.sanitizeText(i[1],vy());}return {className:n,type:e}},Ax=function(t){let e=Sx(t);void 0===xx[e.className]&&(xx[e.className]={id:e.className,type:e.type,cssClasses:[],methods:[],members:[],annotations:[],domId:mx+e.className+"-"+_x},_x++);},Mx=function(t){const e=Object.keys(xx);for(const n of e)if(xx[n].id===t)return xx[n].domId},Ix=function(){vx=[],xx={},kx=[],Ex=[],Ex.push(Vx),Zy();},Ox=function(t){return xx[t]},Lx=function(){return xx},Dx=function(){return vx},Nx=function(){return kx},Px=function(t){l.debug("Adding relation: "+JSON.stringify(t)),Ax(t.id1),Ax(t.id2),t.id1=Sx(t.id1).className,t.id2=Sx(t.id2).className,t.relationTitle1=Yh.sanitizeText(t.relationTitle1.trim(),vy()),t.relationTitle2=Yh.sanitizeText(t.relationTitle2.trim(),vy()),vx.push(t);},Bx=function(t,e){const n=Sx(t).className;xx[n].annotations.push(e);},Rx=function(t,e){const n=Sx(t).className,i=xx[n];if("string"==typeof e){const t=e.trim();t.startsWith("<<")&&t.endsWith(">>")?i.annotations.push(Tx(t.substring(2,t.length-2))):t.indexOf(")")>0?i.methods.push(Tx(t)):t&&i.members.push(Tx(t));}},jx=function(t,e){Array.isArray(e)&&(e.reverse(),e.forEach((e=>Rx(t,e))));},$x=function(t,e){const n={id:`note${kx.length}`,class:e,text:t};kx.push(n);},Fx=function(t){return ":"===t.substring(0,1)?Yh.sanitizeText(t.substr(1).trim(),vy()):Tx(t.trim())},zx=function(t,e){t.split(",").forEach((function(t){let n=t;t[0].match(/\d/)&&(n=mx+n),void 0!==xx[n]&&xx[n].cssClasses.push(e);}));},Hx=function(t,e){const n=vy();t.split(",").forEach((function(t){void 0!==e&&(xx[t].tooltip=Yh.sanitizeText(e,n));}));},Ux=function(t){return xx[t].tooltip},Gx=function(t,e,n){const i=vy();t.split(",").forEach((function(t){let r=t;t[0].match(/\d/)&&(r=mx+r),void 0!==xx[r]&&(xx[r].link=ww.formatUrl(e,i),"sandbox"===i.securityLevel?xx[r].linkTarget="_top":xx[r].linkTarget="string"==typeof n?Tx(n):"_blank");})),zx(t,"clickable");},qx=function(t,e,n){t.split(",").forEach((function(t){Kx(t,e,n),xx[t].haveCallback=!0;})),zx(t,"clickable");},Kx=function(t,e,n){const i=vy();let r=t,a=Mx(r);if("loose"===i.securityLevel&&void 0!==e&&void 0!==xx[r]){let t=[];if("string"==typeof n){t=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let e=0;e")),t.classed("hover",!0);})).on("mouseout",(function(){e.transition().duration(500).style("opacity",0),ln(this).classed("hover",!1);}));};Ex.push(Vx);let Zx="TB";const Qx={parseDirective:Cx,setAccTitle:Qy,getAccTitle:Jy,getAccDescription:em,setAccDescription:tm,getConfig:()=>vy().class,addClass:Ax,bindFunctions:Yx,clear:Ix,getClass:Ox,getClasses:Lx,getNotes:Nx,addAnnotation:Bx,addNote:$x,getRelations:Dx,addRelation:Px,getDirection:()=>Zx,setDirection:t=>{Zx=t;},addMember:Rx,addMembers:jx,cleanupLabel:Fx,lineType:Wx,relationType:Xx,setClickEvent:qx,setCssClass:zx,setLink:Gx,getTooltip:Ux,setTooltip:Hx,lookUpDomId:Mx,setDiagramTitle:nm,getDiagramTitle:im};function Jx(t){return null!=t&&"object"==typeof t}var tk="[object Symbol]";function ek(t){return "symbol"==typeof t||Jx(t)&&$p(t)==tk}function nk(t,e){for(var n=-1,i=null==t?0:t.length,r=Array(i);++n0){if(++e>=Ik)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}function Nk(t){return function(){return t}}const Pk=function(){try{var t=sb(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),Bk=Dk(Pk?function(t,e){return Pk(t,"toString",{configurable:!0,enumerable:!1,value:Nk(e),writable:!0})}:kk);function Rk(t,e){for(var n=-1,i=null==t?0:t.length;++n-1}var Uk=9007199254740991,Gk=/^(?:0|[1-9]\d*)$/;function qk(t,e){var n=typeof t;return !!(e=null==e?Uk:e)&&("number"==n||"symbol"!=n&&Gk.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=Jk}function e_(t){return null!=t&&t_(t.length)&&!qp(t)}function n_(t,e,n){if(!Fp(n))return !1;var i=typeof e;return !!("number"==i?e_(n)&&qk(e,n.length):"string"==i&&e in n)&&vb(n[e],t)}function i_(t){return Qk((function(e,n){var i=-1,r=n.length,a=r>1?n[r-1]:void 0,o=r>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(r--,a):void 0,o&&n_(n[0],n[1],o)&&(a=r<3?void 0:a,r=1),e=Object(e);++is))return !1;var u=a.get(t),l=a.get(e);if(u&&l)return u==e&&l==t;var h=-1,f=!0,d=n&JC?new XC:void 0;for(a.set(t,e),a.set(e,t);++h2?e[2]:void 0;for(r&&n_(e[0],e[1],r)&&(i=1);++n-1?r[a?e[o]:o]:void 0}}var fA=Math.max;function dA(t,e,n){var i=null==t?0:t.length;if(!i)return -1;var r=null==n?0:xk(n);return r<0&&(r=fA(i+r,0)),jk(t,qS(e),r)}const gA=hA(dA);function pA(t,e){var n=-1,i=e_(t)?Array(t.length):[];return VS(t,(function(t,r,a){i[++n]=e(t,r,a);})),i}function bA(t,e){return (ik(t)?nk:pA)(t,qS(e))}function wA(t,e){return null==t?t:YS(t,sA(e),sE)}function yA(t,e){return t>e}var mA=Object.prototype,vA=mA.hasOwnProperty;function xA(t,e){return null!=t&&vA.call(t,e)}function kA(t,e){return null!=t&&RS(t,e,xA)}function _A(t,e){return nk(e,(function(e){return t[e]}))}function EA(t){return null==t?[]:_A(t,iE(t))}var TA="[object Map]",CA="[object Set]",SA=Object.prototype,AA=SA.hasOwnProperty;function MA(t){if(null==t)return !0;if(e_(t)&&(ik(t)||"string"==typeof t||"function"==typeof t.splice||y_(t)||V_(t)||d_(t)))return !t.length;var e=_T(t);if(e==TA||e==CA)return !t.size;if(a_(t))return !nE(t).length;for(var n in t)if(AA.call(t,n))return !1;return !0}function IA(t){return void 0===t}function OA(t,e){return te||a&&o&&c&&!s&&!u||i&&o&&c||!n&&c||!r)return 1;if(!i&&!a&&!u&&t=s?c:c*("desc"==n[i]?-1:1)}return t.index-e.index}function UA(t,e,n){e=e.length?nk(e,(function(t){return ik(t)?function(e){return vE(e,1===t.length?t[0]:t)}:t})):[kk];var i=-1;return e=nk(e,G_(qS)),FA(pA(t,(function(t,n,r){return {criteria:nk(e,(function(e){return e(t)})),index:++i,value:t}})),(function(t,e){return HA(t,e,n)}))}function GA(t,e){return $A(t,e,(function(e,n){return jS(t,n)}))}const qA=SE((function(t,e){return null==t?{}:GA(t,e)}));var KA=Math.ceil,YA=Math.max;function WA(t,e,n,i){for(var r=-1,a=YA(KA((e-t)/(n||1)),0),o=Array(a);a--;)o[++r]=t,t+=n;return o}function XA(t){return function(t,e,n){return n&&"number"!=typeof n&&n_(t,e,n)&&(e=n=void 0),t=vk(t),void 0===e?(e=t,t=0):e=vk(e),WA(t,e,n=void 0===n?t1&&n_(t,e[0],e[1])?e=[]:n>2&&n_(e[0],e[1],e[2])&&(e=[e[0]]),UA(t,TE(e),[])}));var tM=1/0;const eM=lT&&1/nS(new lT([,-0]))[1]==tM?function(t){return new lT(t)}:Ak;var nM=200;function iM(t,e,n){var i=-1,r=Hk,a=t.length,o=!0,s=[],c=s;if(a>=nM){var u=eM(t);if(u)return nS(u);o=!1,r=ZC,c=new XC;}else c=s;t:for(;++i1?i.setNode(t,e):i.setNode(t);})),this}setNode(t,e){return kA(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=lM,this._children[t]={},this._children[lM][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return kA(this._nodes,t)}removeNode(t){var e=this;if(kA(this._nodes,t)){var n=function(t){e.removeEdge(e._edgeObjs[t]);};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],cA(this.children(t),(function(t){e.setParent(t);})),delete this._children[t]),cA(iE(this._in[t]),n),delete this._in[t],delete this._preds[t],cA(iE(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount;}return this}setParent(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(IA(e))e=lM;else {for(var n=e+="";!IA(n);n=this.parent(n))if(n===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e);}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t];}parent(t){if(this._isCompound){var e=this._parent[t];if(e!==lM)return e}}children(t){if(IA(t)&&(t=lM),this._isCompound){var e=this._children[t];if(e)return iE(e)}else {if(t===lM)return this.nodes();if(this.hasNode(t))return []}}predecessors(t){var e=this._preds[t];if(e)return iE(e)}successors(t){var e=this._sucs[t];if(e)return iE(e)}neighbors(t){var e=this.predecessors(t);if(e)return rM(e,this.successors(t))}isLeaf(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length}filterNodes(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var n=this;cA(this._nodes,(function(n,i){t(i)&&e.setNode(i,n);})),cA(this._edgeObjs,(function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,n.edge(t));}));var i={};function r(t){var a=n.parent(t);return void 0===a||e.hasNode(a)?(i[t]=a,a):a in i?i[a]:r(a)}return this._isCompound&&cA(e.nodes(),(function(t){e.setParent(t,r(t));})),e}setDefaultEdgeLabel(t){return qp(t)||(t=Nk(t)),this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return EA(this._edgeObjs)}setPath(t,e){var n=this,i=arguments;return QA(t,(function(t,r){return i.length>1?n.setEdge(t,r,e):n.setEdge(t,r),r})),this}setEdge(){var t,e,n,i,r=!1,a=arguments[0];"object"==typeof a&&null!==a&&"v"in a?(t=a.v,e=a.w,n=a.name,2===arguments.length&&(i=arguments[1],r=!0)):(t=a,e=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],r=!0)),t=""+t,e=""+e,IA(n)||(n=""+n);var o=pM(this._isDirected,t,e,n);if(kA(this._edgeLabels,o))return r&&(this._edgeLabels[o]=i),this;if(!IA(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[o]=r?i:this._defaultEdgeLabelFn(t,e,n);var s=bM(this._isDirected,t,e,n);return t=s.v,e=s.w,Object.freeze(s),this._edgeObjs[o]=s,dM(this._preds[e],t),dM(this._sucs[t],e),this._in[e][o]=s,this._out[t][o]=s,this._edgeCount++,this}edge(t,e,n){var i=1===arguments.length?wM(this._isDirected,arguments[0]):pM(this._isDirected,t,e,n);return this._edgeLabels[i]}hasEdge(t,e,n){var i=1===arguments.length?wM(this._isDirected,arguments[0]):pM(this._isDirected,t,e,n);return kA(this._edgeLabels,i)}removeEdge(t,e,n){var i=1===arguments.length?wM(this._isDirected,arguments[0]):pM(this._isDirected,t,e,n),r=this._edgeObjs[i];return r&&(t=r.v,e=r.w,delete this._edgeLabels[i],delete this._edgeObjs[i],gM(this._preds[e],t),gM(this._sucs[t],e),delete this._in[e][i],delete this._out[t][i],this._edgeCount--),this}inEdges(t,e){var n=this._in[t];if(n){var i=EA(n);return e?lA(i,(function(t){return t.v===e})):i}}outEdges(t,e){var n=this._out[t];if(n){var i=EA(n);return e?lA(i,(function(t){return t.w===e})):i}}nodeEdges(t,e){var n=this.inEdges(t,e);if(n)return n.concat(this.outEdges(t,e))}}function dM(t,e){t[e]?t[e]++:t[e]=1;}function gM(t,e){--t[e]||delete t[e];}function pM(t,e,n,i){var r=""+e,a=""+n;if(!t&&r>a){var o=r;r=a,a=o;}return r+hM+a+hM+(IA(i)?uM:i)}function bM(t,e,n,i){var r=""+e,a=""+n;if(!t&&r>a){var o=r;r=a,a=o;}var s={v:r,w:a};return i&&(s.name=i),s}function wM(t,e){return pM(t,e.v,e.w,e.name)}fM.prototype._nodeCount=0,fM.prototype._edgeCount=0;class yM{constructor(){var t={};t._next=t._prev=t,this._sentinel=t;}dequeue(){var t=this._sentinel,e=t._prev;if(e!==t)return mM(e),e}enqueue(t){var e=this._sentinel;t._prev&&t._next&&mM(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e;}toString(){for(var t=[],e=this._sentinel,n=e._prev;n!==e;)t.push(JSON.stringify(n,vM)),n=n._prev;return "["+t.join(", ")+"]"}}function mM(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev;}function vM(t,e){if("_next"!==t&&"_prev"!==t)return e}var xM=Nk(1);function kM(t,e){if(t.nodeCount()<=1)return [];var n=TM(t,e||xM);return CE(bA(_M(n.graph,n.buckets,n.zeroIdx),(function(e){return t.outEdges(e.v,e.w)})))}function _M(t,e,n){for(var i,r=[],a=e[e.length-1],o=e[0];t.nodeCount();){for(;i=o.dequeue();)EM(t,e,n,i);for(;i=a.dequeue();)EM(t,e,n,i);if(t.nodeCount())for(var s=e.length-2;s>0;--s)if(i=e[s].dequeue()){r=r.concat(EM(t,e,n,i,!0));break}}return r}function EM(t,e,n,i,r){var a=r?[]:void 0;return cA(t.inEdges(i.v),(function(i){var o=t.edge(i),s=t.node(i.v);r&&a.push({v:i.v,w:i.w}),s.out-=o,CM(e,n,s);})),cA(t.outEdges(i.v),(function(i){var r=t.edge(i),a=i.w,o=t.node(a);o.in-=r,CM(e,n,o);})),t.removeNode(i.v),a}function TM(t,e){var n=new fM,i=0,r=0;cA(t.nodes(),(function(t){n.setNode(t,{v:t,in:0,out:0});})),cA(t.edges(),(function(t){var a=n.edge(t.v,t.w)||0,o=e(t),s=a+o;n.setEdge(t.v,t.w,s),r=Math.max(r,n.node(t.v).out+=o),i=Math.max(i,n.node(t.w).in+=o);}));var a=VA(r+i+3).map((function(){return new yM})),o=i+1;return cA(n.nodes(),(function(t){CM(a,o,n.node(t));})),{graph:n,buckets:a,zeroIdx:o}}function CM(t,e,n){n.out?n.in?t[n.out-n.in+e].enqueue(n):t[t.length-1].enqueue(n):t[0].enqueue(n);}function SM(t){function e(t){return function(e){return t.edge(e).weight}}cA("greedy"===t.graph().acyclicer?kM(t,e(t)):AM(t),(function(e){var n=t.edge(e);t.removeEdge(e),n.forwardName=e.name,n.reversed=!0,t.setEdge(e.w,e.v,n,oM("rev"));}));}function AM(t){var e=[],n={},i={};function r(a){kA(i,a)||(i[a]=!0,n[a]=!0,cA(t.outEdges(a),(function(t){kA(n,t.w)?e.push(t):r(t.w);})),delete n[a]);}return cA(t.nodes(),r),e}function MM(t){cA(t.edges(),(function(e){var n=t.edge(e);if(n.reversed){t.removeEdge(e);var i=n.forwardName;delete n.reversed,delete n.forwardName,t.setEdge(e.w,e.v,n,i);}}));}function IM(t,e,n,i){var r;do{r=oM(i);}while(t.hasNode(r));return n.dummy=e,t.setNode(r,n),r}function OM(t){var e=(new fM).setGraph(t.graph());return cA(t.nodes(),(function(n){e.setNode(n,t.node(n));})),cA(t.edges(),(function(n){var i=e.edge(n.v,n.w)||{weight:0,minlen:1},r=t.edge(n);e.setEdge(n.v,n.w,{weight:i.weight+r.weight,minlen:Math.max(i.minlen,r.minlen)});})),e}function LM(t){var e=new fM({multigraph:t.isMultigraph()}).setGraph(t.graph());return cA(t.nodes(),(function(n){t.children(n).length||e.setNode(n,t.node(n));})),cA(t.edges(),(function(n){e.setEdge(n,t.edge(n));})),e}function DM(t,e){var n,i,r=t.x,a=t.y,o=e.x-r,s=e.y-a,c=t.width/2,u=t.height/2;if(!o&&!s)throw new Error("Not possible to find intersection inside of the rectangle");return Math.abs(s)*c>Math.abs(o)*u?(s<0&&(u=-u),n=u*o/s,i=u):(o<0&&(c=-c),n=c,i=c*s/o),{x:r+n,y:a+i}}function NM(t){var e=bA(VA(jM(t)+1),(function(){return []}));return cA(t.nodes(),(function(n){var i=t.node(n),r=i.rank;IA(r)||(e[r][i.order]=n);})),e}function PM(t){var e=BA(bA(t.nodes(),(function(e){return t.node(e).rank})));cA(t.nodes(),(function(n){var i=t.node(n);kA(i,"rank")&&(i.rank-=e);}));}function BM(t){var e=BA(bA(t.nodes(),(function(e){return t.node(e).rank}))),n=[];cA(t.nodes(),(function(i){var r=t.node(i).rank-e;n[r]||(n[r]=[]),n[r].push(i);}));var i=0,r=t.graph().nodeRankFactor;cA(n,(function(e,n){IA(e)&&n%r!=0?--i:i&&cA(e,(function(e){t.node(e).rank+=i;}));}));}function RM(t,e,n,i){var r={width:0,height:0};return arguments.length>=4&&(r.rank=n,r.order=i),IM(t,"border",r,e)}function jM(t){return NA(bA(t.nodes(),(function(e){var n=t.node(e).rank;if(!IA(n))return n})))}function $M(t,e){var n={lhs:[],rhs:[]};return cA(t,(function(t){e(t)?n.lhs.push(t):n.rhs.push(t);})),n}function FM(t,e){return e()}function zM(t){function e(n){var i=t.children(n),r=t.node(n);if(i.length&&cA(i,e),kA(r,"minRank")){r.borderLeft=[],r.borderRight=[];for(var a=r.minRank,o=r.maxRank+1;ao.lim&&(s=o,c=!0),RA(lA(e.edges(),(function(e){return c===xI(t,t.node(e.v),s)&&c!==xI(t,t.node(e.w),s)})),(function(t){return eI(e,t)}))}function yI(t,e,n,i){var r=n.v,a=n.w;t.removeEdge(r,a),t.setEdge(i.v,i.w,{}),gI(t),hI(t,e),mI(t,e);}function mI(t,e){var n=gA(t.nodes(),(function(t){return !e.node(t).parent})),i=uI(t,n);cA(i=i.slice(1),(function(n){var i=t.node(n).parent,r=e.edge(n,i),a=!1;r||(r=e.edge(i,n),a=!0),e.node(n).rank=e.node(i).rank+(a?r.minlen:-r.minlen);}));}function vI(t,e,n){return t.hasEdge(e,n)}function xI(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}function kI(t){switch(t.graph().ranker){case"network-simplex":default:TI(t);break;case"tight-tree":EI(t);break;case"longest-path":_I(t);}}lI.initLowLimValues=gI,lI.initCutValues=hI,lI.calcCutValue=dI,lI.leaveEdge=bI,lI.enterEdge=wI,lI.exchangeEdges=yI;var _I=tI;function EI(t){tI(t),nI(t);}function TI(t){lI(t);}function CI(t){var e=IM(t,"root",{},"_root"),n=AI(t),i=NA(EA(n))-1,r=2*i+1;t.graph().nestingRoot=e,cA(t.edges(),(function(e){t.edge(e).minlen*=r;}));var a=MI(t)+1;cA(t.children(),(function(o){SI(t,e,r,a,i,n,o);})),t.graph().nodeRankFactor=r;}function SI(t,e,n,i,r,a,o){var s=t.children(o);if(s.length){var c=RM(t,"_bt"),u=RM(t,"_bb"),l=t.node(o);t.setParent(c,o),l.borderTop=c,t.setParent(u,o),l.borderBottom=u,cA(s,(function(s){SI(t,e,n,i,r,a,s);var l=t.node(s),h=l.borderTop?l.borderTop:s,f=l.borderBottom?l.borderBottom:s,d=l.borderTop?i:2*i,g=h!==f?1:r-a[o]+1;t.setEdge(c,h,{weight:d,minlen:g,nestingEdge:!0}),t.setEdge(f,u,{weight:d,minlen:g,nestingEdge:!0});})),t.parent(o)||t.setEdge(e,c,{weight:0,minlen:r+a[o]});}else o!==e&&t.setEdge(e,o,{weight:0,minlen:n});}function AI(t){var e={};function n(i,r){var a=t.children(i);a&&a.length&&cA(a,(function(t){n(t,r+1);})),e[i]=r;}return cA(t.children(),(function(t){n(t,1);})),e}function MI(t){return QA(t.edges(),(function(e,n){return e+t.edge(n).weight}),0)}function II(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,cA(t.edges(),(function(e){t.edge(e).nestingEdge&&t.removeEdge(e);}));}function OI(t,e,n){var i,r={};cA(n,(function(n){for(var a,o,s=t.parent(n);s;){if((a=t.parent(s))?(o=r[a],r[a]=s):(o=i,i=s),o&&o!==s)return void e.setEdge(o,s);s=a;}}));}function LI(t,e,n){var i=DI(t),r=new fM({compound:!0}).setGraph({root:i}).setDefaultNodeLabel((function(e){return t.node(e)}));return cA(t.nodes(),(function(a){var o=t.node(a),s=t.parent(a);(o.rank===e||o.minRank<=e&&e<=o.maxRank)&&(r.setNode(a),r.setParent(a,s||i),cA(t[n](a),(function(e){var n=e.v===a?e.w:e.v,i=r.edge(n,a),o=IA(i)?0:i.weight;r.setEdge(n,a,{weight:t.edge(e).weight+o});})),kA(o,"minRank")&&r.setNode(a,{borderLeft:o.borderLeft[e],borderRight:o.borderRight[e]}));})),r}function DI(t){for(var e;t.hasNode(e=oM("_root")););return e}function NI(t,e){for(var n=0,i=1;i0;)e%2&&(n+=s[e+1]),s[e=e-1>>1]+=t.weight;c+=t.weight*n;}))),c}function BI(t){var e={},n=lA(t.nodes(),(function(e){return !t.children(e).length})),i=NA(bA(n,(function(e){return t.node(e).rank}))),r=bA(VA(i+1),(function(){return []}));function a(n){if(!kA(e,n)){e[n]=!0;var i=t.node(n);r[i.rank].push(n),cA(t.successors(n),a);}}return cA(JA(n,(function(e){return t.node(e).rank})),a),r}function RI(t,e){return bA(e,(function(e){var n=t.inEdges(e);if(n.length){var i=QA(n,(function(e,n){var i=t.edge(n),r=t.node(n.v);return {sum:e.sum+i.weight*r.order,weight:e.weight+i.weight}}),{sum:0,weight:0});return {v:e,barycenter:i.sum/i.weight,weight:i.weight}}return {v:e}}))}function jI(t,e){var n={};return cA(t,(function(t,e){var i=n[t.v]={indegree:0,in:[],out:[],vs:[t.v],i:e};IA(t.barycenter)||(i.barycenter=t.barycenter,i.weight=t.weight);})),cA(e.edges(),(function(t){var e=n[t.v],i=n[t.w];IA(e)||IA(i)||(i.indegree++,e.out.push(n[t.w]));})),$I(lA(n,(function(t){return !t.indegree})))}function $I(t){var e=[];function n(t){return function(e){e.merged||(IA(e.barycenter)||IA(t.barycenter)||e.barycenter>=t.barycenter)&&FI(t,e);}}function i(e){return function(n){n.in.push(e),0==--n.indegree&&t.push(n);}}for(;t.length;){var r=t.pop();e.push(r),cA(r.in.reverse(),n(r)),cA(r.out,i(r));}return bA(lA(e,(function(t){return !t.merged})),(function(t){return qA(t,["vs","i","barycenter","weight"])}))}function FI(t,e){var n=0,i=0;t.weight&&(n+=t.barycenter*t.weight,i+=t.weight),e.weight&&(n+=e.barycenter*e.weight,i+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=n/i,t.weight=i,t.i=Math.min(e.i,t.i),e.merged=!0;}function zI(t,e){var n=$M(t,(function(t){return kA(t,"barycenter")})),i=n.lhs,r=JA(n.rhs,(function(t){return -t.i})),a=[],o=0,s=0,c=0;i.sort(UI(!!e)),c=HI(a,r,c),cA(i,(function(t){c+=t.vs.length,a.push(t.vs),o+=t.barycenter*t.weight,s+=t.weight,c=HI(a,r,c);}));var u={vs:CE(a)};return s&&(u.barycenter=o/s,u.weight=s),u}function HI(t,e,n){for(var i;e.length&&(i=oA(e)).i<=n;)e.pop(),t.push(i.vs),n++;return n}function UI(t){return function(e,n){return e.barycentern.barycenter?1:t?n.i-e.i:e.i-n.i}}function GI(t,e,n,i){var r=t.children(e),a=t.node(e),o=a?a.borderLeft:void 0,s=a?a.borderRight:void 0,c={};o&&(r=lA(r,(function(t){return t!==o&&t!==s})));var u=RI(t,r);cA(u,(function(e){if(t.children(e.v).length){var r=GI(t,e.v,n,i);c[e.v]=r,kA(r,"barycenter")&&KI(e,r);}}));var l=jI(u,n);qI(l,c);var h=zI(l,i);if(o&&(h.vs=CE([o,h.vs,s]),t.predecessors(o).length)){var f=t.node(t.predecessors(o)[0]),d=t.node(t.predecessors(s)[0]);kA(h,"barycenter")||(h.barycenter=0,h.weight=0),h.barycenter=(h.barycenter*h.weight+f.order+d.order)/(h.weight+2),h.weight+=2;}return h}function qI(t,e){cA(t,(function(t){t.vs=CE(t.vs.map((function(t){return e[t]?e[t].vs:t})));}));}function KI(t,e){IA(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight);}function YI(t){var e=jM(t),n=WI(t,VA(1,e+1),"inEdges"),i=WI(t,VA(e-1,-1,-1),"outEdges"),r=BI(t);VI(t,r);for(var a,o=Number.POSITIVE_INFINITY,s=0,c=0;c<4;++s,++c){XI(s%2?n:i,s%4>=2);var u=NI(t,r=NM(t));uc||u>e[r].lim));for(a=r,r=i;(r=t.parent(r))!==a;)s.push(r);return {path:o.concat(s.reverse()),lca:a}}function JI(t){var e={},n=0;function i(r){var a=n;cA(t.children(r),i),e[r]={low:a,lim:n++};}return cA(t.children(),i),e}function tO(t,e){var n={};function i(e,i){var r=0,a=0,o=e.length,s=oA(i);return cA(i,(function(e,c){var u=nO(t,e),l=u?t.node(u).order:o;(u||e===s)&&(cA(i.slice(a,c+1),(function(e){cA(t.predecessors(e),(function(i){var a=t.node(i),o=a.order;!(oo)&&iO(n,e,s);}));}));}function r(e,n){var r,a=-1,o=0;return cA(n,(function(s,c){if("border"===t.node(s).dummy){var u=t.predecessors(s);u.length&&(r=t.node(u[0]).order,i(n,o,c,a,r),o=c,a=r);}i(n,o,n.length,r,e.length);})),n}return QA(e,r),n}function nO(t,e){if(t.node(e).dummy)return gA(t.predecessors(e),(function(e){return t.node(e).dummy}))}function iO(t,e,n){if(e>n){var i=e;e=n,n=i;}var r=t[e];r||(t[e]=r={}),r[n]=!0;}function rO(t,e,n){if(e>n){var i=e;e=n,n=i;}return kA(t[e],n)}function aO(t,e,n,i){var r={},a={},o={};return cA(e,(function(t){cA(t,(function(t,e){r[t]=t,a[t]=t,o[t]=e;}));})),cA(e,(function(t){var e=-1;cA(t,(function(t){var s=i(t);if(s.length)for(var c=((s=JA(s,(function(t){return o[t]}))).length-1)/2,u=Math.floor(c),l=Math.ceil(c);u<=l;++u){var h=s[u];a[t]===t&&e");const h=s.append("tspan").text(u).attr("class","title");c||h.attr("dy",n.textHeight);const f=s.node().getBBox().height,d=o.append("line").attr("x1",0).attr("y1",n.padding+f+n.dividerMargin/2).attr("y2",n.padding+f+n.dividerMargin/2),g=o.append("text").attr("x",n.padding).attr("y",f+n.dividerMargin+n.textHeight).attr("fill","white").attr("class","classText");c=!0,e.members.forEach((function(t){WO(g,t,c,n),c=!1;}));const p=g.node().getBBox(),b=o.append("line").attr("x1",0).attr("y1",n.padding+f+n.dividerMargin+p.height).attr("y2",n.padding+f+n.dividerMargin+p.height),w=o.append("text").attr("x",n.padding).attr("y",f+2*n.dividerMargin+p.height+n.textHeight).attr("fill","white").attr("class","classText");c=!0,e.methods.forEach((function(t){WO(w,t,c,n),c=!1;}));const y=o.node().getBBox();var m=" ";e.cssClasses.length>0&&(m+=e.cssClasses.join(" "));const v=o.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",y.width+2*n.padding).attr("height",y.height+n.padding+.5*n.dividerMargin).attr("class",m).node().getBBox().width;return s.node().childNodes.forEach((function(t){t.setAttribute("x",(v-t.getBBox().width)/2);})),e.tooltip&&s.insert("title").text(e.tooltip),d.attr("x2",v),b.attr("x2",v),a.width=v,a.height=y.height+n.padding+.5*n.dividerMargin,a},GO=function(t){const e=/^([#+~-])?(\w+)(~\w+~|\[])?\s+(\w+) *([$*])?$/,n=/^([#+|~-])?(\w+) *\( *(.*)\) *([$*])? *(\w*[[\]|~]*\s*\w*~?)$/;let i=t.match(e),r=t.match(n);return i&&!r?qO(i):r?KO(r):YO(t)},qO=function(t){let e="",n="";try{let i=t[1]?t[1].trim():"",r=t[2]?t[2].trim():"",a=t[3]?Kh(t[3].trim()):"",o=t[4]?t[4].trim():"",s=t[5]?t[5].trim():"";n=i+r+a+" "+o,e=XO(s);}catch(e){n=t;}return {displayText:n,cssStyle:e}},KO=function(t){let e="",n="";try{let i=t[1]?t[1].trim():"",r=t[2]?t[2].trim():"",a=t[3]?Kh(t[3].trim()):"",o=t[4]?t[4].trim():"";n=i+r+"("+a+")"+(t[5]?" : "+Kh(t[5]).trim():""),e=XO(o);}catch(e){n=t;}return {displayText:n,cssStyle:e}},YO=function(t){let e="",n="",i="",r=t.indexOf("("),a=t.indexOf(")");if(r>1&&a>r&&a<=t.length){let o="",s="",c=t.substring(0,1);c.match(/\w/)?s=t.substring(0,r).trim():(c.match(/[#+~-]/)&&(o=c),s=t.substring(1,r).trim());const u=t.substring(r+1,a);t.substring(a+1,1),n=XO(t.substring(a+1,a+2)),e=o+s+"("+Kh(u.trim())+")",a!Number.isNaN(t.y)));const o=e.points,s=Nu().x((function(t){return t.x})).y((function(t){return t.y})).curve(Gu),c=t.append("path").attr("d",s(o)).attr("id","edge"+HO).attr("class","relation");let u,h,f="";i.arrowMarkerAbsolute&&(f=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,f=f.replace(/\(/g,"\\("),f=f.replace(/\)/g,"\\)")),1==n.relation.lineType&&c.attr("class","relation dashed-line"),10==n.relation.lineType&&c.attr("class","relation dotted-line"),"none"!==n.relation.type1&&c.attr("marker-start","url("+f+"#"+a(n.relation.type1)+"Start)"),"none"!==n.relation.type2&&c.attr("marker-end","url("+f+"#"+a(n.relation.type2)+"End)");const d=e.points.length;let g,p,b,w,y=ww.calcLabelPosition(e.points);if(u=y.x,h=y.y,d%2!=0&&d>1){let t=ww.calcCardinalityPosition("none"!==n.relation.type1,e.points,e.points[0]),i=ww.calcCardinalityPosition("none"!==n.relation.type2,e.points,e.points[d-1]);l.debug("cardinality_1_point "+JSON.stringify(t)),l.debug("cardinality_2_point "+JSON.stringify(i)),g=t.x,p=t.y,b=i.x,w=i.y;}if(void 0!==n.title){const e=t.append("g").attr("class","classLabel"),r=e.append("text").attr("class","label").attr("x",u).attr("y",h).attr("fill","red").attr("text-anchor","middle").text(n.title);window.label=r;const a=r.node().getBBox();e.insert("rect",":first-child").attr("class","box").attr("x",a.x-i.padding/2).attr("y",a.y-i.padding/2).attr("width",a.width+i.padding).attr("height",a.height+i.padding);}l.info("Rendering relation "+JSON.stringify(n)),void 0!==n.relationTitle1&&"none"!==n.relationTitle1&&t.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",g).attr("y",p).attr("fill","black").attr("font-size","6").text(n.relationTitle1),void 0!==n.relationTitle2&&"none"!==n.relationTitle2&&t.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",b).attr("y",w).attr("fill","black").attr("font-size","6").text(n.relationTitle2),HO++;},drawNote:function(t,e,n,i){l.debug("Rendering note ",e,n);const r=e.id,a={id:r,text:e.text,width:0,height:0},o=t.append("g").attr("id",r).attr("class","classGroup");let s=o.append("text").attr("y",n.textHeight+n.padding).attr("x",0);const c=JSON.parse(`"${e.text}"`).split("\n");c.forEach((function(t){l.debug(`Adding line: ${t}`),s.append("tspan").text(t).attr("class","title").attr("dy",n.textHeight);}));const u=o.node().getBBox(),h=o.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",u.width+2*n.padding).attr("height",u.height+c.length*n.textHeight+n.padding+.5*n.dividerMargin).node().getBBox().width;return s.node().childNodes.forEach((function(t){t.setAttribute("x",(h-t.getBBox().width)/2);})),a.width=h,a.height=u.height+c.length*n.textHeight+n.padding+.5*n.dividerMargin,a},parseMember:GO};let ZO={};const QO=20,JO=function(t){const e=Object.entries(ZO).find((e=>e[1].label===t));if(e)return e[0]},tL=function(t){t.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z");},eL={draw:function(t,e,n,i){const r=vy().class;ZO={},l.info("Rendering diagram "+t);const a=vy().securityLevel;let o;"sandbox"===a&&(o=ln("#i"+e));const s=ln("sandbox"===a?o.nodes()[0].contentDocument.body:"body"),c=s.select(`[id='${e}']`);tL(c);const u=new fM({multigraph:!0});u.setGraph({isMultiGraph:!0}),u.setDefaultEdgeLabel((function(){return {}}));const h=i.db.getClasses(),f=Object.keys(h);for(const t of f){const e=h[t],n=VO.drawClass(c,e,r,i);ZO[n.id]=n,u.setNode(n.id,n),l.info("Org height: "+n.height);}i.db.getRelations().forEach((function(t){l.info("tjoho"+JO(t.id1)+JO(t.id2)+JSON.stringify(t)),u.setEdge(JO(t.id1),JO(t.id2),{relation:t},t.title||"DEFAULT");})),i.db.getNotes().forEach((function(t){l.debug(`Adding note: ${JSON.stringify(t)}`);const e=VO.drawNote(c,t,r,i);ZO[e.id]=e,u.setNode(e.id,e),t.class&&t.class in h&&u.setEdge(t.id,JO(t.class),{relation:{id1:t.id,id2:t.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT");})),bO(u),u.nodes().forEach((function(t){void 0!==t&&void 0!==u.node(t)&&(l.debug("Node "+t+": "+JSON.stringify(u.node(t))),s.select("#"+(i.db.lookUpDomId(t)||t)).attr("transform","translate("+(u.node(t).x-u.node(t).width/2)+","+(u.node(t).y-u.node(t).height/2)+" )"));})),u.edges().forEach((function(t){void 0!==t&&void 0!==u.edge(t)&&(l.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(u.edge(t))),VO.drawEdge(c,u.edge(t),u.edge(t).relation,r,i));}));const d=c.node().getBBox(),g=d.width+2*QO,p=d.height+2*QO;Iy(c,p,g,r.useMaxWidth);const b=`${d.x-QO} ${d.y-QO} ${g} ${p}`;l.debug(`viewBox ${b}`),c.attr("viewBox",b);}};function nL(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:iL(t),edges:rL(t)};return IA(t.graph())||(e.value=HC(t.graph())),e}function iL(t){return bA(t.nodes(),(function(e){var n=t.node(e),i=t.parent(e),r={v:e};return IA(n)||(r.value=n),IA(i)||(r.parent=i),r}))}function rL(t){return bA(t.edges(),(function(e){var n=t.edge(e),i={v:e.v,w:e.w};return IA(e.name)||(i.name=e.name),IA(n)||(i.value=n),i}))}const aL=(t,e,n,i)=>{e.forEach((e=>{oL[e](t,n,i);}));},oL={extension:(t,e,n)=>{l.trace("Making markers for ",n),t.append("defs").append("marker").attr("id",e+"-extensionStart").attr("class","marker extension "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z");},composition:(t,e)=>{t.append("defs").append("marker").attr("id",e+"-compositionStart").attr("class","marker composition "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z");},aggregation:(t,e)=>{t.append("defs").append("marker").attr("id",e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z");},dependency:(t,e)=>{t.append("defs").append("marker").attr("id",e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z");},lollipop:(t,e)=>{t.append("defs").append("marker").attr("id",e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","white").attr("cx",6).attr("cy",7).attr("r",6);},point:(t,e)=>{t.append("marker").attr("id",e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 12 20").attr("refX",10).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0");},circle:(t,e)=>{t.append("marker").attr("id",e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0");},cross:(t,e)=>{t.append("marker").attr("id",e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0");},barb:(t,e)=>{t.append("defs").append("marker").attr("id",e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z");}},sL=aL;function cL(t,e){e&&t.attr("style",e);}function uL(t){const e=ln(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),n=e.append("xhtml:div"),i=t.label,r=t.isNode?"nodeLabel":"edgeLabel";return n.html('"+i+""),cL(n,t.labelStyle),n.style("display","inline-block"),n.style("white-space","nowrap"),n.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}const lL=(t,e,n,i)=>{let r=t||"";if("object"==typeof r&&(r=r[0]),qh(vy().flowchart.htmlLabels))return r=r.replace(/\\n|\n/g,"
"),l.info("vertexText"+r),uL({isNode:i,label:XH(r).replace(/fa[blrs]?:fa-[\w-]+/g,(t=>``)),labelStyle:e.replace("fill:","color:")});{const t=document.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("style",e.replace("color:","fill:"));let i=[];i="string"==typeof r?r.split(/\\n|\n|
/gi):Array.isArray(r)?r:[];for(const e of i){const i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),n?i.setAttribute("class","title-row"):i.setAttribute("class","row"),i.textContent=e.trim(),t.appendChild(i);}return t}},hL=(t,e,n,i)=>{let r;r=n||"node default";const a=t.insert("g").attr("class",r).attr("id",e.domId||e.id),o=a.insert("g").attr("class","label").attr("style",e.labelStyle);let s;s=void 0===e.labelText?"":"string"==typeof e.labelText?e.labelText:e.labelText[0];const c=o.node().appendChild(lL(Fh(XH(s),vy()),e.labelStyle,!1,i));let u=c.getBBox();if(qh(vy().flowchart.htmlLabels)){const t=c.children[0],e=ln(c);u=t.getBoundingClientRect(),e.attr("width",u.width),e.attr("height",u.height);}const l=e.padding/2;return o.attr("transform","translate("+-u.width/2+", "+-u.height/2+")"),{shapeSvg:a,bbox:u,halfPadding:l,label:o}},fL=(t,e)=>{const n=e.node().getBBox();t.width=n.width,t.height=n.height;};function dL(t,e,n,i){return t.insert("polygon",":first-child").attr("points",i.map((function(t){return t.x+","+t.y})).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+n/2+")")}let gL={},pL={},bL={};const wL=()=>{pL={},bL={},gL={};},yL=(t,e)=>(l.trace("In isDecendant",e," ",t," = ",pL[e].includes(t)),!!pL[e].includes(t)),mL=(t,e)=>(l.info("Decendants of ",e," is ",pL[e]),l.info("Edge is ",t),t.v!==e&&t.w!==e&&(pL[e]?pL[e].includes(t.v)||yL(t.v,e)||yL(t.w,e)||pL[e].includes(t.w):(l.debug("Tilt, ",e,",not in decendants"),!1))),vL=(t,e,n,i)=>{l.warn("Copying children of ",t,"root",i,"data",e.node(t),i);const r=e.children(t)||[];t!==i&&r.push(t),l.warn("Copying (nodes) clusterId",t,"nodes",r),r.forEach((r=>{if(e.children(r).length>0)vL(r,e,n,i);else {const a=e.node(r);l.info("cp ",r," to ",i," with parent ",t),n.setNode(r,a),i!==e.parent(r)&&(l.warn("Setting parent",r,e.parent(r)),n.setParent(r,e.parent(r))),t!==i&&r!==t?(l.debug("Setting parent",r,t),n.setParent(r,t)):(l.info("In copy ",t,"root",i,"data",e.node(t),i),l.debug("Not Setting parent for node=",r,"cluster!==rootId",t!==i,"node!==clusterId",r!==t));const o=e.edges(r);l.debug("Copying Edges",o),o.forEach((r=>{l.info("Edge",r);const a=e.edge(r.v,r.w,r.name);l.info("Edge data",a,i);try{mL(r,i)?(l.info("Copying as ",r.v,r.w,a,r.name),n.setEdge(r.v,r.w,a,r.name),l.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):l.info("Skipping copy of edge ",r.v,"--\x3e",r.w," rootId: ",i," clusterId:",t);}catch(t){l.error(t);}}));}l.debug("Removing node",r),e.removeNode(r);}));},xL=(t,e)=>{const n=e.children(t);let i=[...n];for(const r of n)bL[r]=t,i=[...i,...xL(r,e)];return i},kL=(t,e)=>{l.trace("Searching",t);const n=e.children(t);if(l.trace("Searching children of id ",t,n),n.length<1)return l.trace("This is a valid node",t),t;for(const i of n){const n=kL(i,e);if(n)return l.trace("Found replacement for",t," => ",n),n}},_L=t=>gL[t]&&gL[t].externalConnections&&gL[t]?gL[t].id:t,EL=(t,e)=>{!t||e>10?l.debug("Opting out, no graph "):(l.debug("Opting in, graph "),t.nodes().forEach((function(e){t.children(e).length>0&&(l.warn("Cluster identified",e," Replacement id in edges: ",kL(e,t)),pL[e]=xL(e,t),gL[e]={id:kL(e,t),clusterData:t.node(e)});})),t.nodes().forEach((function(e){const n=t.children(e),i=t.edges();n.length>0?(l.debug("Cluster identified",e,pL),i.forEach((t=>{t.v!==e&&t.w!==e&&yL(t.v,e)^yL(t.w,e)&&(l.warn("Edge: ",t," leaves cluster ",e),l.warn("Decendants of XXX ",e,": ",pL[e]),gL[e].externalConnections=!0);}))):l.debug("Not a cluster ",e,pL);})),t.edges().forEach((function(e){const n=t.edge(e);l.warn("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),l.warn("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(t.edge(e)));let i=e.v,r=e.w;if(l.warn("Fix XXX",gL,"ids:",e.v,e.w,"Translating: ",gL[e.v]," --- ",gL[e.w]),gL[e.v]&&gL[e.w]&&gL[e.v]===gL[e.w]){l.warn("Fixing and trixing link to self - removing XXX",e.v,e.w,e.name),l.warn("Fixing and trixing - removing XXX",e.v,e.w,e.name),i=_L(e.v),r=_L(e.w),t.removeEdge(e.v,e.w,e.name);const a=e.w+"---"+e.v;t.setNode(a,{domId:a,id:a,labelStyle:"",labelText:n.label,padding:0,shape:"labelRect",style:""});const o=JSON.parse(JSON.stringify(n)),s=JSON.parse(JSON.stringify(n));o.label="",o.arrowTypeEnd="none",s.label="",o.fromCluster=e.v,s.toCluster=e.v,t.setEdge(i,a,o,e.name+"-cyclic-special"),t.setEdge(a,r,s,e.name+"-cyclic-special");}else (gL[e.v]||gL[e.w])&&(l.warn("Fixing and trixing - removing XXX",e.v,e.w,e.name),i=_L(e.v),r=_L(e.w),t.removeEdge(e.v,e.w,e.name),i!==e.v&&(n.fromCluster=e.v),r!==e.w&&(n.toCluster=e.w),l.warn("Fix Replacing with XXX",i,r,e.name),t.setEdge(i,r,n,e.name));})),l.warn("Adjusted Graph",nL(t)),TL(t,0),l.trace(gL));},TL=(t,e)=>{if(l.warn("extractor - ",e,nL(t),t.children("D")),e>10)return void l.error("Bailing out");let n=t.nodes(),i=!1;for(const e of n){const n=t.children(e);i=i||n.length>0;}if(i){l.debug("Nodes = ",n,e);for(const i of n)if(l.debug("Extracting node",i,gL,gL[i]&&!gL[i].externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),gL[i])if(!gL[i].externalConnections&&t.children(i)&&t.children(i).length>0){l.warn("Cluster without external connections, without a parent and with children",i,e);let n="TB"===t.graph().rankdir?"LR":"TB";gL[i]&&gL[i].clusterData&&gL[i].clusterData.dir&&(n=gL[i].clusterData.dir,l.warn("Fixing dir",gL[i].clusterData.dir,n));const r=new fM({multigraph:!0,compound:!0}).setGraph({rankdir:n,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return {}}));l.warn("Old graph before copy",nL(t)),vL(i,t,r,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:gL[i].clusterData,labelText:gL[i].labelText,graph:r}),l.warn("New graph after copy node: (",i,")",nL(r)),l.debug("Old graph after copy",nL(t));}else l.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!gL[i].externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),l.debug(gL);else l.debug("Not a cluster",i,e);n=t.nodes(),l.warn("New list of nodes",n);for(const i of n){const n=t.node(i);l.warn(" Now next level",i,n),n.clusterNode&&TL(n.graph,e+1);}}else l.debug("Done, no node has children",t.nodes());},CL=(t,e)=>{if(0===e.length)return [];let n=Object.assign(e);return e.forEach((e=>{const i=t.children(e),r=CL(t,i);n=[...n,...r];})),n},SL=t=>CL(t,t.children());function AL(t,e){return t.intersect(e)}function ML(t,e,n,i){var r=t.x,a=t.y,o=r-i.x,s=a-i.y,c=Math.sqrt(e*e*s*s+n*n*o*o),u=Math.abs(e*n*o/c);i.x0}function DL(t,e,n){var i=t.x,r=t.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;"function"==typeof e.forEach?e.forEach((function(t){o=Math.min(o,t.x),s=Math.min(s,t.y);})):(o=Math.min(o,e.x),s=Math.min(s,e.y));for(var c=i-t.width/2-o,u=r-t.height/2-s,l=0;l1&&a.sort((function(t,e){var i=t.x-n.x,r=t.y-n.y,a=Math.sqrt(i*i+r*r),o=e.x-n.x,s=e.y-n.y,c=Math.sqrt(o*o+s*s);return a{var n,i,r=t.x,a=t.y,o=e.x-r,s=e.y-a,c=t.width/2,u=t.height/2;return Math.abs(s)*c>Math.abs(o)*u?(s<0&&(u=-u),n=0===s?0:u*o/s,i=u):(o<0&&(c=-c),n=c,i=0===o?0:c*s/o),{x:r+n,y:a+i}},PL={node:AL,circle:IL,ellipse:ML,polygon:DL,rect:NL},BL=(t,e)=>{const{shapeSvg:n,bbox:i}=hL(t,e,void 0,!0),r=i.width+e.padding+(i.height+e.padding),a=[{x:r/2,y:0},{x:r,y:-r/2},{x:r/2,y:-r},{x:0,y:-r/2}];l.info("Question main (Circle)");const o=dL(n,r,r,a);return o.attr("style",e.style),fL(e,o),e.intersect=function(t){return l.warn("Intersect called"),PL.polygon(e,a,t)},n};function RL(t,e,n,i){const r=[],a=t=>{r.push(t,0);},o=t=>{r.push(0,t);};e.includes("t")?(l.debug("add top border"),a(n)):o(n),e.includes("r")?(l.debug("add right border"),a(i)):o(i),e.includes("b")?(l.debug("add bottom border"),a(n)):o(n),e.includes("l")?(l.debug("add left border"),a(i)):o(i),t.attr("stroke-dasharray",r.join(" "));}const jL=(t,e,n)=>{const i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let r=70,a=10;"LR"===n&&(r=10,a=70);const o=i.append("rect").attr("x",-1*r/2).attr("y",-1*a/2).attr("width",r).attr("height",a).attr("class","fork-join");return fL(e,o),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(t){return PL.rect(e,t)},i},$L={rhombus:BL,question:BL,rect:(t,e)=>{const{shapeSvg:n,bbox:i,halfPadding:r}=hL(t,e,"node "+e.classes,!0);l.trace("Classes = ",e.classes);const a=n.insert("rect",":first-child"),o=i.width+e.padding,s=i.height+e.padding;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-r).attr("y",-i.height/2-r).attr("width",o).attr("height",s),e.props){const t=new Set(Object.keys(e.props));e.props.borders&&(RL(a,e.props.borders,o,s),t.delete("borders")),t.forEach((t=>{l.warn(`Unknown node property ${t}`);}));}return fL(e,a),e.intersect=function(t){return PL.rect(e,t)},n},labelRect:(t,e)=>{const{shapeSvg:n}=hL(t,e,"label",!0);l.trace("Classes = ",e.classes);const i=n.insert("rect",":first-child"),r=0,a=0;if(i.attr("width",r).attr("height",a),n.attr("class","label edgeLabel"),e.props){const t=new Set(Object.keys(e.props));e.props.borders&&(RL(i,e.props.borders,r,a),t.delete("borders")),t.forEach((t=>{l.warn(`Unknown node property ${t}`);}));}return fL(e,i),e.intersect=function(t){return PL.rect(e,t)},n},rectWithTitle:(t,e)=>{let n;n=e.classes?"node "+e.classes:"node default";const i=t.insert("g").attr("class",n).attr("id",e.domId||e.id),r=i.insert("rect",":first-child"),a=i.insert("line"),o=i.insert("g").attr("class","label"),s=e.labelText.flat?e.labelText.flat():e.labelText;let c="";c="object"==typeof s?s[0]:s,l.info("Label text abc79",c,s,"object"==typeof s);const u=o.node().appendChild(lL(c,e.labelStyle,!0,!0));let h={width:0,height:0};if(qh(vy().flowchart.htmlLabels)){const t=u.children[0],e=ln(u);h=t.getBoundingClientRect(),e.attr("width",h.width),e.attr("height",h.height);}l.info("Text 2",s);const f=s.slice(1,s.length);let d=u.getBBox();const g=o.node().appendChild(lL(f.join?f.join("
"):f,e.labelStyle,!0,!0));if(qh(vy().flowchart.htmlLabels)){const t=g.children[0],e=ln(g);h=t.getBoundingClientRect(),e.attr("width",h.width),e.attr("height",h.height);}const p=e.padding/2;return ln(g).attr("transform","translate( "+(h.width>d.width?0:(d.width-h.width)/2)+", "+(d.height+p+5)+")"),ln(u).attr("transform","translate( "+(h.width{const n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=28,r=[{x:0,y:i/2},{x:i/2,y:0},{x:0,y:-i/2},{x:-i/2,y:0}];return n.insert("polygon",":first-child").attr("points",r.map((function(t){return t.x+","+t.y})).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(t){return PL.circle(e,14,t)},n},circle:(t,e)=>{const{shapeSvg:n,bbox:i,halfPadding:r}=hL(t,e,void 0,!0),a=n.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",i.width/2+r).attr("width",i.width+e.padding).attr("height",i.height+e.padding),l.info("Circle main"),fL(e,a),e.intersect=function(t){return l.info("Circle intersect",e,i.width/2+r,t),PL.circle(e,i.width/2+r,t)},n},doublecircle:(t,e)=>{const{shapeSvg:n,bbox:i,halfPadding:r}=hL(t,e,void 0,!0),a=5,o=n.insert("g",":first-child"),s=o.insert("circle"),c=o.insert("circle");return s.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",i.width/2+r+a).attr("width",i.width+e.padding+2*a).attr("height",i.height+e.padding+2*a),c.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",i.width/2+r).attr("width",i.width+e.padding).attr("height",i.height+e.padding),l.info("DoubleCircle main"),fL(e,s),e.intersect=function(t){return l.info("DoubleCircle intersect",e,i.width/2+r+a,t),PL.circle(e,i.width/2+r+a,t)},n},stadium:(t,e)=>{const{shapeSvg:n,bbox:i}=hL(t,e,void 0,!0),r=i.height+e.padding,a=i.width+r/4+e.padding,o=n.insert("rect",":first-child").attr("style",e.style).attr("rx",r/2).attr("ry",r/2).attr("x",-a/2).attr("y",-r/2).attr("width",a).attr("height",r);return fL(e,o),e.intersect=function(t){return PL.rect(e,t)},n},hexagon:(t,e)=>{const{shapeSvg:n,bbox:i}=hL(t,e,void 0,!0),r=4,a=i.height+e.padding,o=a/r,s=i.width+2*o+e.padding,c=[{x:o,y:0},{x:s-o,y:0},{x:s,y:-a/2},{x:s-o,y:-a},{x:o,y:-a},{x:0,y:-a/2}],u=dL(n,s,a,c);return u.attr("style",e.style),fL(e,u),e.intersect=function(t){return PL.polygon(e,c,t)},n},rect_left_inv_arrow:(t,e)=>{const{shapeSvg:n,bbox:i}=hL(t,e,void 0,!0),r=i.width+e.padding,a=i.height+e.padding,o=[{x:-a/2,y:0},{x:r,y:0},{x:r,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return dL(n,r,a,o).attr("style",e.style),e.width=r+a,e.height=a,e.intersect=function(t){return PL.polygon(e,o,t)},n},lean_right:(t,e)=>{const{shapeSvg:n,bbox:i}=hL(t,e,void 0,!0),r=i.width+e.padding,a=i.height+e.padding,o=[{x:-2*a/6,y:0},{x:r-a/6,y:0},{x:r+2*a/6,y:-a},{x:a/6,y:-a}],s=dL(n,r,a,o);return s.attr("style",e.style),fL(e,s),e.intersect=function(t){return PL.polygon(e,o,t)},n},lean_left:(t,e)=>{const{shapeSvg:n,bbox:i}=hL(t,e,void 0,!0),r=i.width+e.padding,a=i.height+e.padding,o=[{x:2*a/6,y:0},{x:r+a/6,y:0},{x:r-2*a/6,y:-a},{x:-a/6,y:-a}],s=dL(n,r,a,o);return s.attr("style",e.style),fL(e,s),e.intersect=function(t){return PL.polygon(e,o,t)},n},trapezoid:(t,e)=>{const{shapeSvg:n,bbox:i}=hL(t,e,void 0,!0),r=i.width+e.padding,a=i.height+e.padding,o=[{x:-2*a/6,y:0},{x:r+2*a/6,y:0},{x:r-a/6,y:-a},{x:a/6,y:-a}],s=dL(n,r,a,o);return s.attr("style",e.style),fL(e,s),e.intersect=function(t){return PL.polygon(e,o,t)},n},inv_trapezoid:(t,e)=>{const{shapeSvg:n,bbox:i}=hL(t,e,void 0,!0),r=i.width+e.padding,a=i.height+e.padding,o=[{x:a/6,y:0},{x:r-a/6,y:0},{x:r+2*a/6,y:-a},{x:-2*a/6,y:-a}],s=dL(n,r,a,o);return s.attr("style",e.style),fL(e,s),e.intersect=function(t){return PL.polygon(e,o,t)},n},rect_right_inv_arrow:(t,e)=>{const{shapeSvg:n,bbox:i}=hL(t,e,void 0,!0),r=i.width+e.padding,a=i.height+e.padding,o=[{x:0,y:0},{x:r+a/2,y:0},{x:r,y:-a/2},{x:r+a/2,y:-a},{x:0,y:-a}],s=dL(n,r,a,o);return s.attr("style",e.style),fL(e,s),e.intersect=function(t){return PL.polygon(e,o,t)},n},cylinder:(t,e)=>{const{shapeSvg:n,bbox:i}=hL(t,e,void 0,!0),r=i.width+e.padding,a=r/2,o=a/(2.5+r/50),s=i.height+o+e.padding,c="M 0,"+o+" a "+a+","+o+" 0,0,0 "+r+" 0 a "+a+","+o+" 0,0,0 "+-r+" 0 l 0,"+s+" a "+a+","+o+" 0,0,0 "+r+" 0 l 0,"+-s,u=n.attr("label-offset-y",o).insert("path",":first-child").attr("style",e.style).attr("d",c).attr("transform","translate("+-r/2+","+-(s/2+o)+")");return fL(e,u),e.intersect=function(t){const n=PL.rect(e,t),i=n.x-e.x;if(0!=a&&(Math.abs(i)e.height/2-o)){let r=o*o*(1-i*i/(a*a));0!=r&&(r=Math.sqrt(r)),r=o-r,t.y-e.y>0&&(r=-r),n.y+=r;}return n},n},start:(t,e)=>{const n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=n.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),fL(e,i),e.intersect=function(t){return PL.circle(e,7,t)},n},end:(t,e)=>{const n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=n.insert("circle",":first-child"),r=n.insert("circle",":first-child");return r.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),i.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),fL(e,r),e.intersect=function(t){return PL.circle(e,7,t)},n},note:(t,e)=>{const{shapeSvg:n,bbox:i,halfPadding:r}=hL(t,e,"node "+e.classes,!0);l.info("Classes = ",e.classes);const a=n.insert("rect",":first-child");return a.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-r).attr("y",-i.height/2-r).attr("width",i.width+e.padding).attr("height",i.height+e.padding),fL(e,a),e.intersect=function(t){return PL.rect(e,t)},n},subroutine:(t,e)=>{const{shapeSvg:n,bbox:i}=hL(t,e,void 0,!0),r=i.width+e.padding,a=i.height+e.padding,o=[{x:0,y:0},{x:r,y:0},{x:r,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:r+8,y:0},{x:r+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],s=dL(n,r,a,o);return s.attr("style",e.style),fL(e,s),e.intersect=function(t){return PL.polygon(e,o,t)},n},fork:jL,join:jL,class_box:(t,e)=>{const n=e.padding/2,i=4,r=8;let a;a=e.classes?"node "+e.classes:"node default";const o=t.insert("g").attr("class",a).attr("id",e.domId||e.id),s=o.insert("rect",":first-child"),c=o.insert("line"),u=o.insert("line");let l=0,h=i;const f=o.insert("g").attr("class","label");let d=0;const g=e.classData.annotations&&e.classData.annotations[0],p=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",b=f.node().appendChild(lL(p,e.labelStyle,!0,!0));let w=b.getBBox();if(qh(vy().flowchart.htmlLabels)){const t=b.children[0],e=ln(b);w=t.getBoundingClientRect(),e.attr("width",w.width),e.attr("height",w.height);}e.classData.annotations[0]&&(h+=w.height+i,l+=w.width);let y=e.classData.id;void 0!==e.classData.type&&""!==e.classData.type&&(vy().flowchart.htmlLabels?y+="<"+e.classData.type+">":y+="<"+e.classData.type+">");const m=f.node().appendChild(lL(y,e.labelStyle,!0,!0));ln(m).attr("class","classTitle");let v=m.getBBox();if(qh(vy().flowchart.htmlLabels)){const t=m.children[0],e=ln(m);v=t.getBoundingClientRect(),e.attr("width",v.width),e.attr("height",v.height);}h+=v.height+i,v.width>l&&(l=v.width);const x=[];e.classData.members.forEach((t=>{const n=GO(t);let r=n.displayText;vy().flowchart.htmlLabels&&(r=r.replace(//g,">"));const a=f.node().appendChild(lL(r,n.cssStyle?n.cssStyle:e.labelStyle,!0,!0));let o=a.getBBox();if(qh(vy().flowchart.htmlLabels)){const t=a.children[0],e=ln(a);o=t.getBoundingClientRect(),e.attr("width",o.width),e.attr("height",o.height);}o.width>l&&(l=o.width),h+=o.height+i,x.push(a);})),h+=r;const k=[];if(e.classData.methods.forEach((t=>{const n=GO(t);let r=n.displayText;vy().flowchart.htmlLabels&&(r=r.replace(//g,">"));const a=f.node().appendChild(lL(r,n.cssStyle?n.cssStyle:e.labelStyle,!0,!0));let o=a.getBBox();if(qh(vy().flowchart.htmlLabels)){const t=a.children[0],e=ln(a);o=t.getBoundingClientRect(),e.attr("width",o.width),e.attr("height",o.height);}o.width>l&&(l=o.width),h+=o.height+i,k.push(a);})),h+=r,g){let t=(l-w.width)/2;ln(b).attr("transform","translate( "+(-1*l/2+t)+", "+-1*h/2+")"),d=w.height+i;}let _=(l-v.width)/2;return ln(m).attr("transform","translate( "+(-1*l/2+_)+", "+(-1*h/2+d)+")"),d+=v.height+i,c.attr("class","divider").attr("x1",-l/2-n).attr("x2",l/2+n).attr("y1",-h/2-n+r+d).attr("y2",-h/2-n+r+d),d+=r,x.forEach((t=>{ln(t).attr("transform","translate( "+-l/2+", "+(-1*h/2+d+r/2)+")"),d+=v.height+i;})),d+=r,u.attr("class","divider").attr("x1",-l/2-n).attr("x2",l/2+n).attr("y1",-h/2-n+r+d).attr("y2",-h/2-n+r+d),d+=r,k.forEach((t=>{ln(t).attr("transform","translate( "+-l/2+", "+(-1*h/2+d)+")"),d+=v.height+i;})),s.attr("class","outer title-state").attr("x",-l/2-n).attr("y",-h/2-n).attr("width",l+e.padding).attr("height",h+e.padding),fL(e,s),e.intersect=function(t){return PL.rect(e,t)},o}};let FL={};const zL=(t,e,n)=>{let i,r;if(e.link){let a;"sandbox"===vy().securityLevel?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),i=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),r=$L[e.shape](i,e,n);}else r=$L[e.shape](t,e,n),i=r;return e.tooltip&&r.attr("title",e.tooltip),e.class&&r.attr("class","node default "+e.class),FL[e.id]=i,e.haveCallback&&FL[e.id].attr("class",FL[e.id].attr("class")+" clickable"),i},HL=(t,e)=>{FL[e.id]=t;},UL=()=>{FL={};},GL=t=>{const e=FL[t.id];l.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const n=8,i=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+i-t.width/2)+", "+(t.y-t.height/2-n)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),i},qL={rect:(t,e)=>{l.trace("Creating subgraph rect for ",e.id,e);const n=t.insert("g").attr("class","cluster"+(e.class?" "+e.class:"")).attr("id",e.id),i=n.insert("rect",":first-child"),r=n.insert("g").attr("class","cluster-label"),a=r.node().appendChild(lL(e.labelText,e.labelStyle,void 0,!0));let o=a.getBBox();if(qh(vy().flowchart.htmlLabels)){const t=a.children[0],e=ln(a);o=t.getBoundingClientRect(),e.attr("width",o.width),e.attr("height",o.height);}const s=0*e.padding,c=s/2,u=e.width<=o.width+s?o.width+s:e.width;e.width<=o.width+s?e.diff=(o.width-e.width)/2-e.padding/2:e.diff=-e.padding/2,l.trace("Data ",e,JSON.stringify(e)),i.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-u/2).attr("y",e.y-e.height/2-c).attr("width",u).attr("height",e.height+s),r.attr("transform","translate("+(e.x-o.width/2)+", "+(e.y-e.height/2)+")");const h=i.node().getBBox();return e.width=h.width,e.height=h.height,e.intersect=function(t){return NL(e,t)},n},roundedWithTitle:(t,e)=>{const n=t.insert("g").attr("class",e.classes).attr("id",e.id),i=n.insert("rect",":first-child"),r=n.insert("g").attr("class","cluster-label"),a=n.append("rect"),o=r.node().appendChild(lL(e.labelText,e.labelStyle,void 0,!0));let s=o.getBBox();if(qh(vy().flowchart.htmlLabels)){const t=o.children[0],e=ln(o);s=t.getBoundingClientRect(),e.attr("width",s.width),e.attr("height",s.height);}s=o.getBBox();const c=0*e.padding,u=c/2,l=e.width<=s.width+e.padding?s.width+e.padding:e.width;e.width<=s.width+e.padding?e.diff=(s.width+0*e.padding-e.width)/2:e.diff=-e.padding/2,i.attr("class","outer").attr("x",e.x-l/2-u).attr("y",e.y-e.height/2-u).attr("width",l+c).attr("height",e.height+c),a.attr("class","inner").attr("x",e.x-l/2-u).attr("y",e.y-e.height/2-u+s.height-1).attr("width",l+c).attr("height",e.height+c-s.height-3),r.attr("transform","translate("+(e.x-s.width/2)+", "+(e.y-e.height/2-e.padding/3+(qh(vy().flowchart.htmlLabels)?5:3))+")");const h=i.node().getBBox();return e.height=h.height,e.intersect=function(t){return NL(e,t)},n},noteGroup:(t,e)=>{const n=t.insert("g").attr("class","note-cluster").attr("id",e.id),i=n.insert("rect",":first-child"),r=0*e.padding,a=r/2;i.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+r).attr("height",e.height+r).attr("fill","none");const o=i.node().getBBox();return e.width=o.width,e.height=o.height,e.intersect=function(t){return NL(e,t)},n},divider:(t,e)=>{const n=t.insert("g").attr("class",e.classes).attr("id",e.id),i=n.insert("rect",":first-child"),r=0*e.padding,a=r/2;i.attr("class","divider").attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2).attr("width",e.width+r).attr("height",e.height+r);const o=i.node().getBBox();return e.width=o.width,e.height=o.height,e.diff=-e.padding/2,e.intersect=function(t){return NL(e,t)},n}};let KL={};const YL=(t,e)=>{l.trace("Inserting cluster");const n=e.shape||"rect";KL[e.id]=qL[n](t,e);},WL=()=>{KL={};};let XL={},VL={};const ZL=()=>{XL={},VL={};},QL=(t,e)=>{const n=lL(e.label,e.labelStyle),i=t.insert("g").attr("class","edgeLabel"),r=i.insert("g").attr("class","label");r.node().appendChild(n);let a,o=n.getBBox();if(qh(vy().flowchart.htmlLabels)){const t=n.children[0],e=ln(n);o=t.getBoundingClientRect(),e.attr("width",o.width),e.attr("height",o.height);}if(r.attr("transform","translate("+-o.width/2+", "+-o.height/2+")"),XL[e.id]=i,e.width=o.width,e.height=o.height,e.startLabelLeft){const n=lL(e.startLabelLeft,e.labelStyle),i=t.insert("g").attr("class","edgeTerminals"),r=i.insert("g").attr("class","inner");a=r.node().appendChild(n);const o=n.getBBox();r.attr("transform","translate("+-o.width/2+", "+-o.height/2+")"),VL[e.id]||(VL[e.id]={}),VL[e.id].startLeft=i,JL(a,e.startLabelLeft);}if(e.startLabelRight){const n=lL(e.startLabelRight,e.labelStyle),i=t.insert("g").attr("class","edgeTerminals"),r=i.insert("g").attr("class","inner");a=i.node().appendChild(n),r.node().appendChild(n);const o=n.getBBox();r.attr("transform","translate("+-o.width/2+", "+-o.height/2+")"),VL[e.id]||(VL[e.id]={}),VL[e.id].startRight=i,JL(a,e.startLabelRight);}if(e.endLabelLeft){const n=lL(e.endLabelLeft,e.labelStyle),i=t.insert("g").attr("class","edgeTerminals"),r=i.insert("g").attr("class","inner");a=r.node().appendChild(n);const o=n.getBBox();r.attr("transform","translate("+-o.width/2+", "+-o.height/2+")"),i.node().appendChild(n),VL[e.id]||(VL[e.id]={}),VL[e.id].endLeft=i,JL(a,e.endLabelLeft);}if(e.endLabelRight){const n=lL(e.endLabelRight,e.labelStyle),i=t.insert("g").attr("class","edgeTerminals"),r=i.insert("g").attr("class","inner");a=r.node().appendChild(n);const o=n.getBBox();r.attr("transform","translate("+-o.width/2+", "+-o.height/2+")"),i.node().appendChild(n),VL[e.id]||(VL[e.id]={}),VL[e.id].endRight=i,JL(a,e.endLabelRight);}return n};function JL(t,e){vy().flowchart.htmlLabels&&t&&(t.style.width=9*e.length+"px",t.style.height="12px");}const tD=(t,e)=>{l.info("Moving label abc78 ",t.id,t.label,XL[t.id]);let n=e.updatedPath?e.updatedPath:e.originalPath;if(t.label){const i=XL[t.id];let r=t.x,a=t.y;if(n){const i=ww.calcLabelPosition(n);l.info("Moving label "+t.label+" from (",r,",",a,") to (",i.x,",",i.y,") abc78"),e.updatedPath&&(r=i.x,a=i.y);}i.attr("transform","translate("+r+", "+a+")");}if(t.startLabelLeft){const e=VL[t.id].startLeft;let i=t.x,r=t.y;if(n){const e=ww.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",n);i=e.x,r=e.y;}e.attr("transform","translate("+i+", "+r+")");}if(t.startLabelRight){const e=VL[t.id].startRight;let i=t.x,r=t.y;if(n){const e=ww.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",n);i=e.x,r=e.y;}e.attr("transform","translate("+i+", "+r+")");}if(t.endLabelLeft){const e=VL[t.id].endLeft;let i=t.x,r=t.y;if(n){const e=ww.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",n);i=e.x,r=e.y;}e.attr("transform","translate("+i+", "+r+")");}if(t.endLabelRight){const e=VL[t.id].endRight;let i=t.x,r=t.y;if(n){const e=ww.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",n);i=e.x,r=e.y;}e.attr("transform","translate("+i+", "+r+")");}},eD=(t,e)=>{const n=t.x,i=t.y,r=Math.abs(e.x-n),a=Math.abs(e.y-i),o=t.width/2,s=t.height/2;return r>=o||a>=s},nD=(t,e,n)=>{l.warn(`intersection calc abc89:\n  outsidePoint: ${JSON.stringify(e)}\n  insidePoint : ${JSON.stringify(n)}\n  node        : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const i=t.x,r=t.y,a=Math.abs(i-n.x),o=t.width/2;let s=n.xMath.abs(i-e.x)*c){let t=n.y{l.warn("abc88 cutPathAtIntersect",t,e);let n=[],i=t[0],r=!1;return t.forEach((t=>{if(l.info("abc88 checking point",t,e),eD(e,t)||r)l.warn("abc88 outside",t,i),i=t,r||n.push(t);else {const a=nD(e,i,t);l.warn("abc88 inside",t,i,a),l.warn("abc88 intersection",a);let o=!1;n.forEach((t=>{o=o||t.x===a.x&&t.y===a.y;})),n.some((t=>t.x===a.x&&t.y===a.y))?l.warn("abc88 no intersect",a,n):n.push(a),r=!0;}})),l.warn("abc88 returning points",n),n},rD=function(t,e,n,i,r,a){let o=n.points,s=!1;const c=a.node(e.v);var u=a.node(e.w);l.info("abc88 InsertEdge: ",n),u.intersect&&c.intersect&&(o=o.slice(1,n.points.length-1),o.unshift(c.intersect(o[0])),l.info("Last point",o[o.length-1],u,u.intersect(o[o.length-1])),o.push(u.intersect(o[o.length-1]))),n.toCluster&&(l.info("to cluster abc88",i[n.toCluster]),o=iD(n.points,i[n.toCluster].node),s=!0),n.fromCluster&&(l.info("from cluster abc88",i[n.fromCluster]),o=iD(o.reverse(),i[n.fromCluster].node).reverse(),s=!0);const h=o.filter((t=>!Number.isNaN(t.y)));let f;f=("graph"===r||"flowchart"===r)&&n.curve||Gu;const d=Nu().x((function(t){return t.x})).y((function(t){return t.y})).curve(f);let g;switch(n.thickness){case"normal":g="edge-thickness-normal";break;case"thick":g="edge-thickness-thick";break;default:g="";}switch(n.pattern){case"solid":g+=" edge-pattern-solid";break;case"dotted":g+=" edge-pattern-dotted";break;case"dashed":g+=" edge-pattern-dashed";}const p=t.append("path").attr("d",d(h)).attr("id",n.id).attr("class"," "+g+(n.classes?" "+n.classes:"")).attr("style",n.style);let b="";switch((vy().flowchart.arrowMarkerAbsolute||vy().state.arrowMarkerAbsolute)&&(b=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,b=b.replace(/\(/g,"\\("),b=b.replace(/\)/g,"\\)")),l.info("arrowTypeStart",n.arrowTypeStart),l.info("arrowTypeEnd",n.arrowTypeEnd),n.arrowTypeStart){case"arrow_cross":p.attr("marker-start","url("+b+"#"+r+"-crossStart)");break;case"arrow_point":p.attr("marker-start","url("+b+"#"+r+"-pointStart)");break;case"arrow_barb":p.attr("marker-start","url("+b+"#"+r+"-barbStart)");break;case"arrow_circle":p.attr("marker-start","url("+b+"#"+r+"-circleStart)");break;case"aggregation":p.attr("marker-start","url("+b+"#"+r+"-aggregationStart)");break;case"extension":p.attr("marker-start","url("+b+"#"+r+"-extensionStart)");break;case"composition":p.attr("marker-start","url("+b+"#"+r+"-compositionStart)");break;case"dependency":p.attr("marker-start","url("+b+"#"+r+"-dependencyStart)");break;case"lollipop":p.attr("marker-start","url("+b+"#"+r+"-lollipopStart)");}switch(n.arrowTypeEnd){case"arrow_cross":p.attr("marker-end","url("+b+"#"+r+"-crossEnd)");break;case"arrow_point":p.attr("marker-end","url("+b+"#"+r+"-pointEnd)");break;case"arrow_barb":p.attr("marker-end","url("+b+"#"+r+"-barbEnd)");break;case"arrow_circle":p.attr("marker-end","url("+b+"#"+r+"-circleEnd)");break;case"aggregation":p.attr("marker-end","url("+b+"#"+r+"-aggregationEnd)");break;case"extension":p.attr("marker-end","url("+b+"#"+r+"-extensionEnd)");break;case"composition":p.attr("marker-end","url("+b+"#"+r+"-compositionEnd)");break;case"dependency":p.attr("marker-end","url("+b+"#"+r+"-dependencyEnd)");break;case"lollipop":p.attr("marker-end","url("+b+"#"+r+"-lollipopEnd)");}let w={};return s&&(w.updatedPath=o),w.originalPath=n.points,w},aD=(t,e,n,i)=>{l.info("Graph in recursive render: XXX",nL(e),i);const r=e.graph().rankdir;l.trace("Dir in recursive render - dir:",r);const a=t.insert("g").attr("class","root");e.nodes()?l.info("Recursive render XXX",e.nodes()):l.info("No nodes found for",e),e.edges().length>0&&l.trace("Recursive edges",e.edge(e.edges()[0]));const o=a.insert("g").attr("class","clusters"),s=a.insert("g").attr("class","edgePaths"),c=a.insert("g").attr("class","edgeLabels"),u=a.insert("g").attr("class","nodes");e.nodes().forEach((function(t){const a=e.node(t);if(void 0!==i){const n=JSON.parse(JSON.stringify(i.clusterData));l.info("Setting data for cluster XXX (",t,") ",n,i),e.setNode(i.id,n),e.parent(t)||(l.trace("Setting parent",t,i.id),e.setParent(t,i.id,n));}if(l.info("(Insert) Node XXX"+t+": "+JSON.stringify(e.node(t))),a&&a.clusterNode){l.info("Cluster identified",t,a.width,e.node(t));const i=aD(u,a.graph,n,e.node(t)),r=i.elem;fL(a,r),a.diff=i.diff||0,l.info("Node bounds (abc123)",t,a,a.width,a.x,a.y),HL(r,a),l.warn("Recursive render complete ",r,a);}else e.children(t).length>0?(l.info("Cluster - the non recursive path XXX",t,a.id,a,e),l.info(kL(a.id,e)),gL[a.id]={id:kL(a.id,e),node:a}):(l.info("Node - the non recursive path",t,a.id,a),zL(u,e.node(t),r));})),e.edges().forEach((function(t){const n=e.edge(t.v,t.w,t.name);l.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),l.info("Edge "+t.v+" -> "+t.w+": ",t," ",JSON.stringify(e.edge(t))),l.info("Fix",gL,"ids:",t.v,t.w,"Translateing: ",gL[t.v],gL[t.w]),QL(c,n);})),e.edges().forEach((function(t){l.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t));})),l.info("#############################################"),l.info("###                Layout                 ###"),l.info("#############################################"),l.info(e),bO(e),l.info("Graph after layout:",nL(e));let h=0;return SL(e).forEach((function(t){const n=e.node(t);l.info("Position "+t+": "+JSON.stringify(e.node(t))),l.info("Position "+t+": ("+n.x,","+n.y,") width: ",n.width," height: ",n.height),n&&n.clusterNode?GL(n):e.children(t).length>0?(YL(o,n),gL[n.id].node=n):GL(n);})),e.edges().forEach((function(t){const i=e.edge(t);l.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(i),i);const r=rD(s,t,i,gL,n,e);tD(i,r);})),e.nodes().forEach((function(t){const n=e.node(t);l.info(t,n.type,n.diff),"group"===n.type&&(h=n.diff);})),{elem:a,diff:h}},oD=(t,e,n,i,r)=>{sL(t,n,i,r),UL(),ZL(),WL(),wL(),l.warn("Graph at first:",nL(e)),EL(e),l.warn("Graph after:",nL(e)),aD(t,e,i);},sD=t=>Yh.sanitizeText(t,vy());let cD={dividerMargin:10,padding:5,textHeight:10};const uD=function(t,e,n,i){const r=Object.keys(t);l.info("keys:",r),l.info(t),r.forEach((function(n){const r=t[n];let a="";r.cssClasses.length>0&&(a=a+" "+r.cssClasses.join(" "));const o={labelStyle:""};let s=void 0!==r.text?r.text:r.id,c=0,u="";r.type,u="class_box",e.setNode(r.id,{labelStyle:o.labelStyle,shape:u,labelText:sD(s),classData:r,rx:c,ry:c,class:a,style:o.style,id:r.id,domId:r.domId,tooltip:i.db.getTooltip(r.id)||"",haveCallback:r.haveCallback,link:r.link,width:"group"===r.type?500:void 0,type:r.type,padding:vy().flowchart.padding}),l.info("setNode",{labelStyle:o.labelStyle,shape:u,labelText:s,rx:c,ry:c,class:a,style:o.style,id:r.id,width:"group"===r.type?500:void 0,type:r.type,padding:vy().flowchart.padding});}));},lD=function(t,e,n,i){l.info(t),t.forEach((function(t,r){const a=t;let o="";const s={labelStyle:"",style:""};let c=a.text,u=0,h="note";if(e.setNode(a.id,{labelStyle:s.labelStyle,shape:h,labelText:sD(c),noteData:a,rx:u,ry:u,class:o,style:s.style,id:a.id,domId:a.id,tooltip:"",type:"note",padding:vy().flowchart.padding}),l.info("setNode",{labelStyle:s.labelStyle,shape:h,labelText:c,rx:u,ry:u,style:s.style,id:a.id,type:"note",padding:vy().flowchart.padding}),!a.class||!(a.class in i))return;const f=n+r,d={classes:"relation",pattern:"dotted"};d.id=`edgeNote${f}`,d.arrowhead="none",l.info(`Note edge: ${JSON.stringify(d)}, ${JSON.stringify(a)}`),d.startLabelRight="",d.endLabelLeft="",d.arrowTypeStart="none",d.arrowTypeEnd="none";let g="fill:none",p="";d.style=g,d.labelStyle=p,d.curve=qb(cD.curve,Ou),e.setEdge(a.id,a.class,d,f);}));},hD=function(t,e){const n=vy().flowchart;let i=0;t.forEach((function(r){i++;const a={classes:"relation"};a.pattern=1==r.relation.lineType?"dashed":"solid",a.id="id"+i,"arrow_open"===r.type?a.arrowhead="none":a.arrowhead="normal",l.info(a,r),a.startLabelRight="none"===r.relationTitle1?"":r.relationTitle1,a.endLabelLeft="none"===r.relationTitle2?"":r.relationTitle2,a.arrowTypeStart=fD(r.relation.type1),a.arrowTypeEnd=fD(r.relation.type2);let o="",s="";if(void 0!==r.style){const t=Jb(r.style);o=t.style,s=t.labelStyle;}else o="fill:none";a.style=o,a.labelStyle=s,void 0!==r.interpolate?a.curve=qb(r.interpolate,Ou):void 0!==t.defaultInterpolate?a.curve=qb(t.defaultInterpolate,Ou):a.curve=qb(n.curve,Ou),r.text=r.title,void 0===r.text?void 0!==r.style&&(a.arrowheadStyle="fill: #333"):(a.arrowheadStyle="fill: #333",a.labelpos="c",vy().flowchart.htmlLabels?(a.labelType="html",a.label=''+r.text+""):(a.labelType="text",a.label=r.text.replace(Yh.lineBreakRegex,"\n"),void 0===r.style&&(a.style=a.style||"stroke: #333; stroke-width: 1.5px;fill:none"),a.labelStyle=a.labelStyle.replace("color:","fill:"))),e.setEdge(r.id1,r.id2,a,i);}));};function fD(t){let e;switch(t){case 0:e="aggregation";break;case 1:e="extension";break;case 2:e="composition";break;case 3:e="dependency";break;case 4:e="lollipop";break;default:e="none";}return e}const dD={setConf:function(t){Object.keys(t).forEach((function(e){cD[e]=t[e];}));},draw:function(t,e,n,i){l.info("Drawing class - ",e);const r=vy().flowchart,a=vy().securityLevel;l.info("config:",r);const o=r.nodeSpacing||50,s=r.rankSpacing||50,c=new fM({multigraph:!0,compound:!0}).setGraph({rankdir:i.db.getDirection(),nodesep:o,ranksep:s,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return {}})),u=i.db.getClasses(),h=i.db.getRelations(),f=i.db.getNotes();let d;l.info(h),uD(u,c,e,i),hD(h,c),lD(f,c,h.length+1,u),"sandbox"===a&&(d=ln("#i"+e));const g=ln("sandbox"===a?d.nodes()[0].contentDocument.body:"body"),p=g.select(`[id="${e}"]`),b=g.select("#"+e+" g");if(oD(b,c,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",e),ww.insertTitle(p,"classTitleText",r.titleTopMargin,i.db.getDiagramTitle()),Oy(c,p,r.diagramPadding,r.useMaxWidth),!r.htmlLabels){const t="sandbox"===a?d.nodes()[0].contentDocument:document,n=t.querySelectorAll('[id="'+e+'"] .edgeLabel .label');for(const e of n){const n=e.getBBox(),i=t.createElementNS("http://www.w3.org/2000/svg","rect");i.setAttribute("rx",0),i.setAttribute("ry",0),i.setAttribute("width",n.width),i.setAttribute("height",n.height),e.insertBefore(i,e.firstChild);}}}};var gD=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,2],n=[1,5],i=[6,9,11,23,25,27,29,30,31,51],r=[1,17],a=[1,18],o=[1,19],s=[1,20],c=[1,21],u=[1,22],l=[1,25],h=[1,30],f=[1,31],d=[1,32],g=[1,33],p=[6,9,11,15,20,23,25,27,29,30,31,44,45,46,47,51],b=[1,45],w=[30,31,48,49],y=[4,6,9,11,23,25,27,29,30,31,51],m=[44,45,46,47],v=[22,37],x=[1,65],k=[1,64],_=[22,37,39,41],E={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,entityName:17,relSpec:18,role:19,BLOCK_START:20,attributes:21,BLOCK_STOP:22,title:23,title_value:24,acc_title:25,acc_title_value:26,acc_descr:27,acc_descr_value:28,acc_descr_multiline_value:29,ALPHANUM:30,ENTITY_NAME:31,attribute:32,attributeType:33,attributeName:34,attributeKeyTypeList:35,attributeComment:36,ATTRIBUTE_WORD:37,attributeKeyType:38,COMMA:39,ATTRIBUTE_KEY:40,COMMENT:41,cardinality:42,relType:43,ZERO_OR_ONE:44,ZERO_OR_MORE:45,ONE_OR_MORE:46,ONLY_ONE:47,NON_IDENTIFYING:48,IDENTIFYING:49,WORD:50,open_directive:51,type_directive:52,arg_directive:53,close_directive:54,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",20:"BLOCK_START",22:"BLOCK_STOP",23:"title",24:"title_value",25:"acc_title",26:"acc_title_value",27:"acc_descr",28:"acc_descr_value",29:"acc_descr_multiline_value",30:"ALPHANUM",31:"ENTITY_NAME",37:"ATTRIBUTE_WORD",39:"COMMA",40:"ATTRIBUTE_KEY",41:"COMMENT",44:"ZERO_OR_ONE",45:"ZERO_OR_MORE",46:"ONE_OR_MORE",47:"ONLY_ONE",48:"NON_IDENTIFYING",49:"IDENTIFYING",50:"WORD",51:"open_directive",52:"type_directive",53:"arg_directive",54:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,5],[10,4],[10,3],[10,1],[10,2],[10,2],[10,2],[10,1],[17,1],[17,1],[21,1],[21,2],[32,2],[32,3],[32,3],[32,4],[33,1],[34,1],[35,1],[35,3],[38,1],[36,1],[18,3],[42,1],[42,1],[42,1],[42,1],[43,1],[43,1],[19,1],[19,1],[19,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 1:break;case 3:case 7:case 8:this.$=[];break;case 4:a[s-1].push(a[s]),this.$=a[s-1];break;case 5:case 6:case 20:case 43:case 28:case 29:case 32:this.$=a[s];break;case 12:i.addEntity(a[s-4]),i.addEntity(a[s-2]),i.addRelationship(a[s-4],a[s],a[s-2],a[s-3]);break;case 13:i.addEntity(a[s-3]),i.addAttributes(a[s-3],a[s-1]);break;case 14:i.addEntity(a[s-2]);break;case 15:i.addEntity(a[s]);break;case 16:case 17:this.$=a[s].trim(),i.setAccTitle(this.$);break;case 18:case 19:this.$=a[s].trim(),i.setAccDescription(this.$);break;case 21:case 41:case 42:case 33:this.$=a[s].replace(/"/g,"");break;case 22:case 30:this.$=[a[s]];break;case 23:a[s].push(a[s-1]),this.$=a[s];break;case 24:this.$={attributeType:a[s-1],attributeName:a[s]};break;case 25:this.$={attributeType:a[s-2],attributeName:a[s-1],attributeKeyTypeList:a[s]};break;case 26:this.$={attributeType:a[s-2],attributeName:a[s-1],attributeComment:a[s]};break;case 27:this.$={attributeType:a[s-3],attributeName:a[s-2],attributeKeyTypeList:a[s-1],attributeComment:a[s]};break;case 31:a[s-2].push(a[s]),this.$=a[s-2];break;case 34:this.$={cardA:a[s],relType:a[s-1],cardB:a[s-2]};break;case 35:this.$=i.Cardinality.ZERO_OR_ONE;break;case 36:this.$=i.Cardinality.ZERO_OR_MORE;break;case 37:this.$=i.Cardinality.ONE_OR_MORE;break;case 38:this.$=i.Cardinality.ONLY_ONE;break;case 39:this.$=i.Identification.NON_IDENTIFYING;break;case 40:this.$=i.Identification.IDENTIFYING;break;case 44:i.parseDirective("%%{","open_directive");break;case 45:i.parseDirective(a[s],"type_directive");break;case 46:a[s]=a[s].trim().replace(/'/g,'"'),i.parseDirective(a[s],"arg_directive");break;case 47:i.parseDirective("}%%","close_directive","er");}},table:[{3:1,4:e,7:3,12:4,51:n},{1:[3]},t(i,[2,3],{5:6}),{3:7,4:e,7:3,12:4,51:n},{13:8,52:[1,9]},{52:[2,44]},{6:[1,10],7:15,8:11,9:[1,12],10:13,11:[1,14],12:4,17:16,23:r,25:a,27:o,29:s,30:c,31:u,51:n},{1:[2,2]},{14:23,15:[1,24],54:l},t([15,54],[2,45]),t(i,[2,8],{1:[2,1]}),t(i,[2,4]),{7:15,10:26,12:4,17:16,23:r,25:a,27:o,29:s,30:c,31:u,51:n},t(i,[2,6]),t(i,[2,7]),t(i,[2,11]),t(i,[2,15],{18:27,42:29,20:[1,28],44:h,45:f,46:d,47:g}),{24:[1,34]},{26:[1,35]},{28:[1,36]},t(i,[2,19]),t(p,[2,20]),t(p,[2,21]),{11:[1,37]},{16:38,53:[1,39]},{11:[2,47]},t(i,[2,5]),{17:40,30:c,31:u},{21:41,22:[1,42],32:43,33:44,37:b},{43:46,48:[1,47],49:[1,48]},t(w,[2,35]),t(w,[2,36]),t(w,[2,37]),t(w,[2,38]),t(i,[2,16]),t(i,[2,17]),t(i,[2,18]),t(y,[2,9]),{14:49,54:l},{54:[2,46]},{15:[1,50]},{22:[1,51]},t(i,[2,14]),{21:52,22:[2,22],32:43,33:44,37:b},{34:53,37:[1,54]},{37:[2,28]},{42:55,44:h,45:f,46:d,47:g},t(m,[2,39]),t(m,[2,40]),{11:[1,56]},{19:57,30:[1,60],31:[1,59],50:[1,58]},t(i,[2,13]),{22:[2,23]},t(v,[2,24],{35:61,36:62,38:63,40:x,41:k}),t([22,37,40,41],[2,29]),t([30,31],[2,34]),t(y,[2,10]),t(i,[2,12]),t(i,[2,41]),t(i,[2,42]),t(i,[2,43]),t(v,[2,25],{36:66,39:[1,67],41:k}),t(v,[2,26]),t(_,[2,30]),t(v,[2,33]),t(_,[2,32]),t(v,[2,27]),{38:68,40:x},t(_,[2,31])],defaultActions:{5:[2,44],7:[2,2],25:[2,47],39:[2,46],45:[2,28],52:[2,23]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t);},parse:function(t){var e=this,n=[0],i=[],r=[null],a=[],o=this.table,s="",c=0,u=0,l=2,h=1,f=a.slice.call(arguments,1),d=Object.create(this.lexer),g={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(g.yy[p]=this.yy[p]);d.setInput(t,g.yy),g.yy.lexer=d,g.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var b=d.yylloc;a.push(b);var w=d.options&&d.options.ranges;function y(){var t;return "number"!=typeof(t=i.pop()||d.lex()||h)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,v,x,k,_,E,T,C,S={};;){if(v=n[n.length-1],this.defaultActions[v]?x=this.defaultActions[v]:(null==m&&(m=y()),x=o[v]&&o[v][m]),void 0===x||!x.length||!x[0]){var A="";for(_ in C=[],o[v])this.terminals_[_]&&_>l&&C.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(c+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(c+1)+": Unexpected "+(m==h?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:b,expected:C});}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+m);switch(x[0]){case 1:n.push(m),r.push(d.yytext),a.push(d.yylloc),n.push(x[1]),m=null,u=d.yyleng,s=d.yytext,c=d.yylineno,b=d.yylloc;break;case 2:if(E=this.productions_[x[1]][1],S.$=r[r.length-E],S._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},w&&(S._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(S,[s,u,c,g.yy,x[1],r,a].concat(f))))return k;E&&(n=n.slice(0,-1*E*2),r=r.slice(0,-1*E),a=a.slice(0,-1*E)),n.push(this.productions_[x[1]][0]),r.push(S.$),a.push(S._$),T=o[n[n.length-2]][n[n.length-1]],n.push(T);break;case 3:return !0}}return !0}},T={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e);},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t));},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return (t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return !1}return !1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return !1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t);},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return (t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t);},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:return this.begin("acc_title"),25;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),27;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return "acc_descr_multiline_value";case 7:return this.begin("open_directive"),51;case 8:return this.begin("type_directive"),52;case 9:return this.popState(),this.begin("arg_directive"),15;case 10:return this.popState(),this.popState(),54;case 11:return 53;case 12:case 13:case 15:case 22:case 27:break;case 14:return 11;case 16:return 9;case 17:return 31;case 18:return 50;case 19:return 4;case 20:return this.begin("block"),20;case 21:return 39;case 23:return 40;case 24:case 25:return 37;case 26:return 41;case 28:return this.popState(),22;case 29:case 58:return e.yytext[0];case 30:case 34:case 35:case 48:return 44;case 31:case 32:case 33:case 41:case 43:case 50:return 46;case 36:case 37:case 38:case 39:case 40:case 42:case 49:return 45;case 44:case 45:case 46:case 47:return 47;case 51:case 54:case 55:case 56:return 48;case 52:case 53:return 49;case 57:return 30;case 59:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},open_directive:{rules:[8],inclusive:!1},type_directive:{rules:[9,10],inclusive:!1},arg_directive:{rules:[10,11],inclusive:!1},block:{rules:[21,22,23,24,25,26,27,28,29],inclusive:!1},INITIAL:{rules:[0,2,4,7,12,13,14,15,16,17,18,19,20,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59],inclusive:!0}}};function C(){this.yy={};}return E.lexer=T,C.prototype=E,E.Parser=C,new C}();gD.parser=gD;const pD=gD,bD=t=>null!==t.match(/^\s*erDiagram/);let wD={},yD=[];const mD=function(t){return void 0===wD[t]&&(wD[t]={attributes:[]},l.info("Added new entity :",t)),wD[t]},vD=function(t,e){let n,i=mD(t);for(n=e.length-1;n>=0;n--)i.attributes.push(e[n]),l.debug("Added attribute ",e[n].attributeName);},xD={Cardinality:{ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE"},Identification:{NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},parseDirective:function(t,e,n){cU.parseDirective(this,t,e,n);},getConfig:()=>vy().er,addEntity:mD,addAttributes:vD,getEntities:()=>wD,addRelationship:function(t,e,n,i){let r={entityA:t,roleA:e,entityB:n,relSpec:i};yD.push(r),l.debug("Added new relationship :",r);},getRelationships:()=>yD,clear:function(){wD={},yD=[],Zy();},setAccTitle:Qy,getAccTitle:Jy,setAccDescription:tm,getAccDescription:em,setDiagramTitle:nm,getDiagramTitle:im},kD={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END"},_D={ERMarkers:kD,insertMarkers:function(t,e){let n;t.append("defs").append("marker").attr("id",kD.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",kD.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),n=t.append("defs").append("marker").attr("id",kD.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),n.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18"),n=t.append("defs").append("marker").attr("id",kD.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),n.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),n.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,0 L21,18"),t.append("defs").append("marker").attr("id",kD.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",kD.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),n=t.append("defs").append("marker").attr("id",kD.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),n.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),n=t.append("defs").append("marker").attr("id",kD.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),n.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),n.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18");}},ED=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function TD(t){return "string"==typeof t&&ED.test(t)}const CD=[];for(let t=0;t<256;++t)CD.push((t+256).toString(16).slice(1));function SD(t,e=0){return (CD[t[e+0]]+CD[t[e+1]]+CD[t[e+2]]+CD[t[e+3]]+"-"+CD[t[e+4]]+CD[t[e+5]]+"-"+CD[t[e+6]]+CD[t[e+7]]+"-"+CD[t[e+8]]+CD[t[e+9]]+"-"+CD[t[e+10]]+CD[t[e+11]]+CD[t[e+12]]+CD[t[e+13]]+CD[t[e+14]]+CD[t[e+15]]).toLowerCase()}function AD(t){if(!TD(t))throw TypeError("Invalid UUID");let e;const n=new Uint8Array(16);return n[0]=(e=parseInt(t.slice(0,8),16))>>>24,n[1]=e>>>16&255,n[2]=e>>>8&255,n[3]=255&e,n[4]=(e=parseInt(t.slice(9,13),16))>>>8,n[5]=255&e,n[6]=(e=parseInt(t.slice(14,18),16))>>>8,n[7]=255&e,n[8]=(e=parseInt(t.slice(19,23),16))>>>8,n[9]=255&e,n[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,n[11]=e/4294967296&255,n[12]=e>>>24&255,n[13]=e>>>16&255,n[14]=e>>>8&255,n[15]=255&e,n}function MD(t){t=unescape(encodeURIComponent(t));const e=[];for(let n=0;n>>32-e}function PD(t){const e=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof t){const e=unescape(encodeURIComponent(t));t=[];for(let n=0;n>>0;u=c,c=s,s=ND(o,30)>>>0,o=r,r=a;}n[0]=n[0]+r>>>0,n[1]=n[1]+o>>>0,n[2]=n[2]+s>>>0,n[3]=n[3]+c>>>0,n[4]=n[4]+u>>>0;}return [n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]}const BD=LD("v5",80,PD),RD=/[^\dA-Za-z](\W)*/g;let jD={},$D=new Map;const FD=(t,e,n)=>{const i=jD.entityPadding/3,r=jD.entityPadding/3,a=.85*jD.fontSize,o=e.node().getBBox(),s=[];let c=!1,u=!1,l=0,h=0,f=0,d=0,g=o.height+2*i,p=1;n.forEach((t=>{void 0!==t.attributeKeyTypeList&&t.attributeKeyTypeList.length>0&&(c=!0),void 0!==t.attributeComment&&(u=!0);})),n.forEach((n=>{const r=`${e.node().id}-attr-${p}`;let o=0;const b=Kh(n.attributeType),w=t.append("text").classed("er entityLabel",!0).attr("id",`${r}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",vy().fontFamily).style("font-size",a+"px").text(b),y=t.append("text").classed("er entityLabel",!0).attr("id",`${r}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",vy().fontFamily).style("font-size",a+"px").text(n.attributeName),m={};m.tn=w,m.nn=y;const v=w.node().getBBox(),x=y.node().getBBox();if(l=Math.max(l,v.width),h=Math.max(h,x.width),o=Math.max(v.height,x.height),c){const e=void 0!==n.attributeKeyTypeList?n.attributeKeyTypeList.join(","):"",i=t.append("text").classed("er entityLabel",!0).attr("id",`${r}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",vy().fontFamily).style("font-size",a+"px").text(e);m.kn=i;const s=i.node().getBBox();f=Math.max(f,s.width),o=Math.max(o,s.height);}if(u){const e=t.append("text").classed("er entityLabel",!0).attr("id",`${r}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",vy().fontFamily).style("font-size",a+"px").text(n.attributeComment||"");m.cn=e;const i=e.node().getBBox();d=Math.max(d,i.width),o=Math.max(o,i.height);}m.height=o,s.push(m),g+=o+2*i,p+=1;}));let b=4;c&&(b+=2),u&&(b+=2);const w=l+h+f+d,y={width:Math.max(jD.minEntityWidth,Math.max(o.width+2*jD.entityPadding,w+r*b)),height:n.length>0?g:Math.max(jD.minEntityHeight,o.height+2*jD.entityPadding)};if(n.length>0){const n=Math.max(0,(y.width-w-r*b)/(b/2));e.attr("transform","translate("+y.width/2+","+(i+o.height/2)+")");let a=o.height+2*i,g="attributeBoxOdd";s.forEach((e=>{const o=a+i+e.height/2;e.tn.attr("transform","translate("+r+","+o+")");const s=t.insert("rect","#"+e.tn.node().id).classed(`er ${g}`,!0).attr("x",0).attr("y",a).attr("width",l+2*r+n).attr("height",e.height+2*i),p=parseFloat(s.attr("x"))+parseFloat(s.attr("width"));e.nn.attr("transform","translate("+(p+r)+","+o+")");const b=t.insert("rect","#"+e.nn.node().id).classed(`er ${g}`,!0).attr("x",p).attr("y",a).attr("width",h+2*r+n).attr("height",e.height+2*i);let w=parseFloat(b.attr("x"))+parseFloat(b.attr("width"));if(c){e.kn.attr("transform","translate("+(w+r)+","+o+")");const s=t.insert("rect","#"+e.kn.node().id).classed(`er ${g}`,!0).attr("x",w).attr("y",a).attr("width",f+2*r+n).attr("height",e.height+2*i);w=parseFloat(s.attr("x"))+parseFloat(s.attr("width"));}u&&(e.cn.attr("transform","translate("+(w+r)+","+o+")"),t.insert("rect","#"+e.cn.node().id).classed(`er ${g}`,"true").attr("x",w).attr("y",a).attr("width",d+2*r+n).attr("height",e.height+2*i)),a+=e.height+2*i,g="attributeBoxOdd"===g?"attributeBoxEven":"attributeBoxOdd";}));}else y.height=Math.max(jD.minEntityHeight,g),e.attr("transform","translate("+y.width/2+","+y.height/2+")");return y},zD=function(t,e,n){let i;return Object.keys(e).forEach((function(r){const a=WD(r,"entity");$D.set(r,a);const o=t.append("g").attr("id",a);i=void 0===i?a:i;const s="text-"+a,c=o.append("text").classed("er entityLabel",!0).attr("id",s).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",vy().fontFamily).style("font-size",jD.fontSize+"px").text(r),{width:u,height:l}=FD(o,c,e[r].attributes),h=o.insert("rect","#"+s).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",u).attr("height",l).node().getBBox();n.setNode(a,{width:h.width,height:h.height,shape:"rect",id:a});})),i},HD=function(t,e){e.nodes().forEach((function(n){void 0!==n&&void 0!==e.node(n)&&t.select("#"+n).attr("transform","translate("+(e.node(n).x-e.node(n).width/2)+","+(e.node(n).y-e.node(n).height/2)+" )");}));},UD=function(t){return (t.entityA+t.roleA+t.entityB).replace(/\s/g,"")},GD=function(t,e){return t.forEach((function(t){e.setEdge($D.get(t.entityA),$D.get(t.entityB),{relationship:t},UD(t));})),t};let qD=0;const KD=function(t,e,n,i,r){qD++;const a=n.edge($D.get(e.entityA),$D.get(e.entityB),UD(e)),o=Nu().x((function(t){return t.x})).y((function(t){return t.y})).curve(Gu),s=t.insert("path","#"+i).classed("er relationshipLine",!0).attr("d",o(a.points)).style("stroke",jD.stroke).style("fill","none");e.relSpec.relType===r.db.Identification.NON_IDENTIFYING&&s.attr("stroke-dasharray","8,8");let c="";switch(jD.arrowMarkerAbsolute&&(c=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,c=c.replace(/\(/g,"\\("),c=c.replace(/\)/g,"\\)")),e.relSpec.cardA){case r.db.Cardinality.ZERO_OR_ONE:s.attr("marker-end","url("+c+"#"+_D.ERMarkers.ZERO_OR_ONE_END+")");break;case r.db.Cardinality.ZERO_OR_MORE:s.attr("marker-end","url("+c+"#"+_D.ERMarkers.ZERO_OR_MORE_END+")");break;case r.db.Cardinality.ONE_OR_MORE:s.attr("marker-end","url("+c+"#"+_D.ERMarkers.ONE_OR_MORE_END+")");break;case r.db.Cardinality.ONLY_ONE:s.attr("marker-end","url("+c+"#"+_D.ERMarkers.ONLY_ONE_END+")");}switch(e.relSpec.cardB){case r.db.Cardinality.ZERO_OR_ONE:s.attr("marker-start","url("+c+"#"+_D.ERMarkers.ZERO_OR_ONE_START+")");break;case r.db.Cardinality.ZERO_OR_MORE:s.attr("marker-start","url("+c+"#"+_D.ERMarkers.ZERO_OR_MORE_START+")");break;case r.db.Cardinality.ONE_OR_MORE:s.attr("marker-start","url("+c+"#"+_D.ERMarkers.ONE_OR_MORE_START+")");break;case r.db.Cardinality.ONLY_ONE:s.attr("marker-start","url("+c+"#"+_D.ERMarkers.ONLY_ONE_START+")");}const u=s.node().getTotalLength(),l=s.node().getPointAtLength(.5*u),h="rel"+qD,f=t.append("text").classed("er relationshipLabel",!0).attr("id",h).attr("x",l.x).attr("y",l.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",vy().fontFamily).style("font-size",jD.fontSize+"px").text(e.roleA).node().getBBox();t.insert("rect","#"+h).classed("er relationshipLabelBox",!0).attr("x",l.x-f.width/2).attr("y",l.y-f.height/2).attr("width",f.width).attr("height",f.height);},YD="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function WD(t="",e=""){const n=t.replace(RD,"");return `${XD(e)}${XD(n)}${BD(t,YD)}`}function XD(t=""){return t.length>0?`${t}-`:""}const VD={setConf:function(t){const e=Object.keys(t);for(const n of e)jD[n]=t[n];},draw:function(t,e,n,i){jD=vy().er,l.info("Drawing ER diagram");const r=vy().securityLevel;let a;"sandbox"===r&&(a=ln("#i"+e));const o=ln("sandbox"===r?a.nodes()[0].contentDocument.body:"body").select(`[id='${e}']`);let s;_D.insertMarkers(o,jD),s=new fM({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:jD.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel((function(){return {}}));const c=zD(o,i.db.getEntities(),s),u=GD(i.db.getRelationships(),s);bO(s),HD(o,s),u.forEach((function(t){KD(o,t,s,c,i);}));const h=jD.diagramPadding;ww.insertTitle(o,"entityTitleText",jD.titleTopMargin,i.db.getDiagramTitle());const f=o.node().getBBox(),d=f.width+2*h,g=f.height+2*h;Iy(o,g,d,jD.useMaxWidth),o.attr("viewBox",`${f.x-h} ${f.y-h} ${d} ${g}`);}};var ZD=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,9],n=[1,7],i=[1,6],r=[1,8],a=[1,20,21,22,23,38,44,46,48,52,66,67,86,87,88,89,90,91,95,105,106,109,111,112,118,119,120,121,122,123,124,125,126,127],o=[2,10],s=[1,20],c=[1,21],u=[1,22],l=[1,23],h=[1,30],f=[1,32],d=[1,33],g=[1,34],p=[1,62],b=[1,48],w=[1,52],y=[1,36],m=[1,37],v=[1,38],x=[1,39],k=[1,40],_=[1,56],E=[1,63],T=[1,51],C=[1,53],S=[1,55],A=[1,59],M=[1,60],I=[1,41],O=[1,42],L=[1,43],D=[1,44],N=[1,61],P=[1,50],B=[1,54],R=[1,57],j=[1,58],$=[1,49],F=[1,66],z=[1,71],H=[1,20,21,22,23,38,42,44,46,48,52,66,67,86,87,88,89,90,91,95,105,106,109,111,112,118,119,120,121,122,123,124,125,126,127],U=[1,75],G=[1,74],q=[1,76],K=[20,21,23,81,82],Y=[1,99],W=[1,104],X=[1,107],V=[1,108],Z=[1,101],Q=[1,106],J=[1,109],tt=[1,102],et=[1,114],nt=[1,113],it=[1,103],rt=[1,105],at=[1,110],ot=[1,111],st=[1,112],ct=[1,115],ut=[20,21,22,23,81,82],lt=[20,21,22,23,53,81,82],ht=[20,21,22,23,40,52,53,55,57,59,61,63,65,66,67,69,71,73,74,76,81,82,91,95,105,106,109,111,112,122,123,124,125,126,127],ft=[20,21,23],dt=[20,21,23,52,66,67,81,82,91,95,105,106,109,111,112,122,123,124,125,126,127],gt=[1,12,20,21,22,23,24,38,42,44,46,48,52,66,67,86,87,88,89,90,91,95,105,106,109,111,112,118,119,120,121,122,123,124,125,126,127],pt=[52,66,67,91,95,105,106,109,111,112,122,123,124,125,126,127],bt=[1,149],wt=[1,157],yt=[1,158],mt=[1,159],vt=[1,160],xt=[1,144],kt=[1,145],_t=[1,141],Et=[1,152],Tt=[1,153],Ct=[1,154],St=[1,155],At=[1,156],Mt=[1,161],It=[1,162],Ot=[1,147],Lt=[1,150],Dt=[1,146],Nt=[1,143],Pt=[20,21,22,23,38,42,44,46,48,52,66,67,86,87,88,89,90,91,95,105,106,109,111,112,118,119,120,121,122,123,124,125,126,127],Bt=[1,165],Rt=[20,21,22,23,26,52,66,67,91,105,106,109,111,112,122,123,124,125,126,127],jt=[20,21,22,23,24,26,38,40,41,42,52,56,58,60,62,64,66,67,68,70,72,73,75,77,81,82,86,87,88,89,90,91,92,95,105,106,109,111,112,113,114,122,123,124,125,126,127],$t=[12,21,22,24],Ft=[22,106],zt=[1,250],Ht=[1,245],Ut=[1,246],Gt=[1,254],qt=[1,251],Kt=[1,248],Yt=[1,247],Wt=[1,249],Xt=[1,252],Vt=[1,253],Zt=[1,255],Qt=[1,273],Jt=[20,21,23,106],te=[20,21,22,23,66,67,86,102,105,106,109,110,111,112,113],ee={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,openDirective:6,typeDirective:7,closeDirective:8,separator:9,":":10,argDirective:11,open_directive:12,type_directive:13,arg_directive:14,close_directive:15,graphConfig:16,document:17,line:18,statement:19,SEMI:20,NEWLINE:21,SPACE:22,EOF:23,GRAPH:24,NODIR:25,DIR:26,FirstStmtSeperator:27,ending:28,endToken:29,spaceList:30,spaceListNewline:31,verticeStatement:32,styleStatement:33,linkStyleStatement:34,classDefStatement:35,classStatement:36,clickStatement:37,subgraph:38,text:39,SQS:40,SQE:41,end:42,direction:43,acc_title:44,acc_title_value:45,acc_descr:46,acc_descr_value:47,acc_descr_multiline_value:48,link:49,node:50,vertex:51,AMP:52,STYLE_SEPARATOR:53,idString:54,DOUBLECIRCLESTART:55,DOUBLECIRCLEEND:56,PS:57,PE:58,"(-":59,"-)":60,STADIUMSTART:61,STADIUMEND:62,SUBROUTINESTART:63,SUBROUTINEEND:64,VERTEX_WITH_PROPS_START:65,ALPHA:66,COLON:67,PIPE:68,CYLINDERSTART:69,CYLINDEREND:70,DIAMOND_START:71,DIAMOND_STOP:72,TAGEND:73,TRAPSTART:74,TRAPEND:75,INVTRAPSTART:76,INVTRAPEND:77,linkStatement:78,arrowText:79,TESTSTR:80,START_LINK:81,LINK:82,textToken:83,STR:84,keywords:85,STYLE:86,LINKSTYLE:87,CLASSDEF:88,CLASS:89,CLICK:90,DOWN:91,UP:92,textNoTags:93,textNoTagsToken:94,DEFAULT:95,stylesOpt:96,alphaNum:97,CALLBACKNAME:98,CALLBACKARGS:99,HREF:100,LINK_TARGET:101,HEX:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,MINUS:109,UNIT:110,BRKT:111,DOT:112,PCT:113,TAGSTART:114,alphaNumToken:115,idStringToken:116,alphaNumStatement:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,PUNCTUATION:122,UNICODE_TEXT:123,PLUS:124,EQUALS:125,MULT:126,UNDERSCORE:127,graphCodeTokens:128,ARROW_CROSS:129,ARROW_POINT:130,ARROW_CIRCLE:131,ARROW_OPEN:132,QUOTE:133,$accept:0,$end:1},terminals_:{2:"error",10:":",12:"open_directive",13:"type_directive",14:"arg_directive",15:"close_directive",20:"SEMI",21:"NEWLINE",22:"SPACE",23:"EOF",24:"GRAPH",25:"NODIR",26:"DIR",38:"subgraph",40:"SQS",41:"SQE",42:"end",44:"acc_title",45:"acc_title_value",46:"acc_descr",47:"acc_descr_value",48:"acc_descr_multiline_value",52:"AMP",53:"STYLE_SEPARATOR",55:"DOUBLECIRCLESTART",56:"DOUBLECIRCLEEND",57:"PS",58:"PE",59:"(-",60:"-)",61:"STADIUMSTART",62:"STADIUMEND",63:"SUBROUTINESTART",64:"SUBROUTINEEND",65:"VERTEX_WITH_PROPS_START",66:"ALPHA",67:"COLON",68:"PIPE",69:"CYLINDERSTART",70:"CYLINDEREND",71:"DIAMOND_START",72:"DIAMOND_STOP",73:"TAGEND",74:"TRAPSTART",75:"TRAPEND",76:"INVTRAPSTART",77:"INVTRAPEND",80:"TESTSTR",81:"START_LINK",82:"LINK",84:"STR",86:"STYLE",87:"LINKSTYLE",88:"CLASSDEF",89:"CLASS",90:"CLICK",91:"DOWN",92:"UP",95:"DEFAULT",98:"CALLBACKNAME",99:"CALLBACKARGS",100:"HREF",101:"LINK_TARGET",102:"HEX",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"MINUS",110:"UNIT",111:"BRKT",112:"DOT",113:"PCT",114:"TAGSTART",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr",122:"PUNCTUATION",123:"UNICODE_TEXT",124:"PLUS",125:"EQUALS",126:"MULT",127:"UNDERSCORE",129:"ARROW_CROSS",130:"ARROW_POINT",131:"ARROW_CIRCLE",132:"ARROW_OPEN",133:"QUOTE"},productions_:[0,[3,1],[3,2],[5,4],[5,6],[6,1],[7,1],[11,1],[8,1],[4,2],[17,0],[17,2],[18,1],[18,1],[18,1],[18,1],[18,1],[16,2],[16,2],[16,2],[16,3],[28,2],[28,1],[29,1],[29,1],[29,1],[27,1],[27,1],[27,2],[31,2],[31,2],[31,1],[31,1],[30,2],[30,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,9],[19,6],[19,4],[19,1],[19,2],[19,2],[19,1],[9,1],[9,1],[9,1],[32,3],[32,4],[32,2],[32,1],[50,1],[50,5],[50,3],[51,4],[51,4],[51,6],[51,4],[51,4],[51,4],[51,8],[51,4],[51,4],[51,4],[51,6],[51,4],[51,4],[51,4],[51,4],[51,4],[51,1],[49,2],[49,3],[49,3],[49,1],[49,3],[78,1],[79,3],[39,1],[39,2],[39,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[93,1],[93,2],[35,5],[35,5],[36,5],[37,2],[37,4],[37,3],[37,5],[37,2],[37,4],[37,4],[37,6],[37,2],[37,4],[37,2],[37,4],[37,4],[37,6],[33,5],[33,5],[34,5],[34,5],[34,9],[34,9],[34,7],[34,7],[103,1],[103,3],[96,1],[96,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[94,1],[94,1],[94,1],[94,1],[54,1],[54,2],[97,1],[97,2],[117,1],[117,1],[117,1],[117,1],[43,1],[43,1],[43,1],[43,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[116,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1],[128,1]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 5:i.parseDirective("%%{","open_directive");break;case 6:i.parseDirective(a[s],"type_directive");break;case 7:a[s]=a[s].trim().replace(/'/g,'"'),i.parseDirective(a[s],"arg_directive");break;case 8:i.parseDirective("}%%","close_directive","flowchart");break;case 10:case 36:case 37:case 38:case 39:case 40:this.$=[];break;case 11:(!Array.isArray(a[s])||a[s].length>0)&&a[s-1].push(a[s]),this.$=a[s-1];break;case 12:case 82:case 84:case 96:case 152:case 154:case 155:case 78:case 150:this.$=a[s];break;case 19:i.setDirection("TB"),this.$="TB";break;case 20:i.setDirection(a[s-1]),this.$=a[s-1];break;case 35:this.$=a[s-1].nodes;break;case 41:this.$=i.addSubGraph(a[s-6],a[s-1],a[s-4]);break;case 42:this.$=i.addSubGraph(a[s-3],a[s-1],a[s-3]);break;case 43:this.$=i.addSubGraph(void 0,a[s-1],void 0);break;case 45:this.$=a[s].trim(),i.setAccTitle(this.$);break;case 46:case 47:this.$=a[s].trim(),i.setAccDescription(this.$);break;case 51:i.addLink(a[s-2].stmt,a[s],a[s-1]),this.$={stmt:a[s],nodes:a[s].concat(a[s-2].nodes)};break;case 52:i.addLink(a[s-3].stmt,a[s-1],a[s-2]),this.$={stmt:a[s-1],nodes:a[s-1].concat(a[s-3].nodes)};break;case 53:this.$={stmt:a[s-1],nodes:a[s-1]};break;case 54:this.$={stmt:a[s],nodes:a[s]};break;case 55:case 123:case 125:this.$=[a[s]];break;case 56:this.$=a[s-4].concat(a[s]);break;case 57:this.$=[a[s-2]],i.setClass(a[s-2],a[s]);break;case 58:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"square");break;case 59:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"doublecircle");break;case 60:this.$=a[s-5],i.addVertex(a[s-5],a[s-2],"circle");break;case 61:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"ellipse");break;case 62:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"stadium");break;case 63:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"subroutine");break;case 64:this.$=a[s-7],i.addVertex(a[s-7],a[s-1],"rect",void 0,void 0,void 0,Object.fromEntries([[a[s-5],a[s-3]]]));break;case 65:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"cylinder");break;case 66:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"round");break;case 67:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"diamond");break;case 68:this.$=a[s-5],i.addVertex(a[s-5],a[s-2],"hexagon");break;case 69:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"odd");break;case 70:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"trapezoid");break;case 71:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"inv_trapezoid");break;case 72:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"lean_right");break;case 73:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"lean_left");break;case 74:this.$=a[s],i.addVertex(a[s]);break;case 75:a[s-1].text=a[s],this.$=a[s-1];break;case 76:case 77:a[s-2].text=a[s-1],this.$=a[s-2];break;case 79:var c=i.destructLink(a[s],a[s-2]);this.$={type:c.type,stroke:c.stroke,length:c.length,text:a[s-1]};break;case 80:c=i.destructLink(a[s]),this.$={type:c.type,stroke:c.stroke,length:c.length};break;case 81:this.$=a[s-1];break;case 83:case 97:case 153:case 151:this.$=a[s-1]+""+a[s];break;case 98:case 99:this.$=a[s-4],i.addClass(a[s-2],a[s]);break;case 100:this.$=a[s-4],i.setClass(a[s-2],a[s]);break;case 101:case 109:this.$=a[s-1],i.setClickEvent(a[s-1],a[s]);break;case 102:case 110:this.$=a[s-3],i.setClickEvent(a[s-3],a[s-2]),i.setTooltip(a[s-3],a[s]);break;case 103:this.$=a[s-2],i.setClickEvent(a[s-2],a[s-1],a[s]);break;case 104:this.$=a[s-4],i.setClickEvent(a[s-4],a[s-3],a[s-2]),i.setTooltip(a[s-4],a[s]);break;case 105:case 111:this.$=a[s-1],i.setLink(a[s-1],a[s]);break;case 106:case 112:this.$=a[s-3],i.setLink(a[s-3],a[s-2]),i.setTooltip(a[s-3],a[s]);break;case 107:case 113:this.$=a[s-3],i.setLink(a[s-3],a[s-2],a[s]);break;case 108:case 114:this.$=a[s-5],i.setLink(a[s-5],a[s-4],a[s]),i.setTooltip(a[s-5],a[s-2]);break;case 115:this.$=a[s-4],i.addVertex(a[s-2],void 0,void 0,a[s]);break;case 116:case 118:this.$=a[s-4],i.updateLink(a[s-2],a[s]);break;case 117:this.$=a[s-4],i.updateLink([a[s-2]],a[s]);break;case 119:this.$=a[s-8],i.updateLinkInterpolate([a[s-6]],a[s-2]),i.updateLink([a[s-6]],a[s]);break;case 120:this.$=a[s-8],i.updateLinkInterpolate(a[s-6],a[s-2]),i.updateLink(a[s-6],a[s]);break;case 121:this.$=a[s-6],i.updateLinkInterpolate([a[s-4]],a[s]);break;case 122:this.$=a[s-6],i.updateLinkInterpolate(a[s-4],a[s]);break;case 124:case 126:a[s-2].push(a[s]),this.$=a[s-2];break;case 128:this.$=a[s-1]+a[s];break;case 156:this.$="v";break;case 157:this.$="-";break;case 158:this.$={stmt:"dir",value:"TB"};break;case 159:this.$={stmt:"dir",value:"BT"};break;case 160:this.$={stmt:"dir",value:"RL"};break;case 161:this.$={stmt:"dir",value:"LR"};}},table:[{3:1,4:2,5:3,6:5,12:e,16:4,21:n,22:i,24:r},{1:[3]},{1:[2,1]},{3:10,4:2,5:3,6:5,12:e,16:4,21:n,22:i,24:r},t(a,o,{17:11}),{7:12,13:[1,13]},{16:14,21:n,22:i,24:r},{16:15,21:n,22:i,24:r},{25:[1,16],26:[1,17]},{13:[2,5]},{1:[2,2]},{1:[2,9],18:18,19:19,20:s,21:c,22:u,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:h,43:31,44:f,46:d,48:g,50:35,51:45,52:p,54:46,66:b,67:w,86:y,87:m,88:v,89:x,90:k,91:_,95:E,105:T,106:C,109:S,111:A,112:M,116:47,118:I,119:O,120:L,121:D,122:N,123:P,124:B,125:R,126:j,127:$},{8:64,10:[1,65],15:F},t([10,15],[2,6]),t(a,[2,17]),t(a,[2,18]),t(a,[2,19]),{20:[1,68],21:[1,69],22:z,27:67,30:70},t(H,[2,11]),t(H,[2,12]),t(H,[2,13]),t(H,[2,14]),t(H,[2,15]),t(H,[2,16]),{9:72,20:U,21:G,23:q,49:73,78:77,81:[1,78],82:[1,79]},{9:80,20:U,21:G,23:q},{9:81,20:U,21:G,23:q},{9:82,20:U,21:G,23:q},{9:83,20:U,21:G,23:q},{9:84,20:U,21:G,23:q},{9:86,20:U,21:G,22:[1,85],23:q},t(H,[2,44]),{45:[1,87]},{47:[1,88]},t(H,[2,47]),t(K,[2,54],{30:89,22:z}),{22:[1,90]},{22:[1,91]},{22:[1,92]},{22:[1,93]},{26:Y,52:W,66:X,67:V,84:[1,97],91:Z,97:96,98:[1,94],100:[1,95],105:Q,106:J,109:tt,111:et,112:nt,115:100,117:98,122:it,123:rt,124:at,125:ot,126:st,127:ct},t(H,[2,158]),t(H,[2,159]),t(H,[2,160]),t(H,[2,161]),t(ut,[2,55],{53:[1,116]}),t(lt,[2,74],{116:129,40:[1,117],52:p,55:[1,118],57:[1,119],59:[1,120],61:[1,121],63:[1,122],65:[1,123],66:b,67:w,69:[1,124],71:[1,125],73:[1,126],74:[1,127],76:[1,128],91:_,95:E,105:T,106:C,109:S,111:A,112:M,122:N,123:P,124:B,125:R,126:j,127:$}),t(ht,[2,150]),t(ht,[2,175]),t(ht,[2,176]),t(ht,[2,177]),t(ht,[2,178]),t(ht,[2,179]),t(ht,[2,180]),t(ht,[2,181]),t(ht,[2,182]),t(ht,[2,183]),t(ht,[2,184]),t(ht,[2,185]),t(ht,[2,186]),t(ht,[2,187]),t(ht,[2,188]),t(ht,[2,189]),t(ht,[2,190]),{9:130,20:U,21:G,23:q},{11:131,14:[1,132]},t(ft,[2,8]),t(a,[2,20]),t(a,[2,26]),t(a,[2,27]),{21:[1,133]},t(dt,[2,34],{30:134,22:z}),t(H,[2,35]),{50:135,51:45,52:p,54:46,66:b,67:w,91:_,95:E,105:T,106:C,109:S,111:A,112:M,116:47,122:N,123:P,124:B,125:R,126:j,127:$},t(gt,[2,48]),t(gt,[2,49]),t(gt,[2,50]),t(pt,[2,78],{79:136,68:[1,138],80:[1,137]}),{22:bt,24:wt,26:yt,38:mt,39:139,42:vt,52:W,66:X,67:V,73:xt,81:kt,83:140,84:_t,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},t([52,66,67,68,80,91,95,105,106,109,111,112,122,123,124,125,126,127],[2,80]),t(H,[2,36]),t(H,[2,37]),t(H,[2,38]),t(H,[2,39]),t(H,[2,40]),{22:bt,24:wt,26:yt,38:mt,39:163,42:vt,52:W,66:X,67:V,73:xt,81:kt,83:140,84:_t,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},t(Pt,o,{17:164}),t(H,[2,45]),t(H,[2,46]),t(K,[2,53],{52:Bt}),{26:Y,52:W,66:X,67:V,91:Z,97:166,102:[1,167],105:Q,106:J,109:tt,111:et,112:nt,115:100,117:98,122:it,123:rt,124:at,125:ot,126:st,127:ct},{95:[1,168],103:169,105:[1,170]},{26:Y,52:W,66:X,67:V,91:Z,95:[1,171],97:172,105:Q,106:J,109:tt,111:et,112:nt,115:100,117:98,122:it,123:rt,124:at,125:ot,126:st,127:ct},{26:Y,52:W,66:X,67:V,91:Z,97:173,105:Q,106:J,109:tt,111:et,112:nt,115:100,117:98,122:it,123:rt,124:at,125:ot,126:st,127:ct},t(ft,[2,101],{22:[1,174],99:[1,175]}),t(ft,[2,105],{22:[1,176]}),t(ft,[2,109],{115:100,117:178,22:[1,177],26:Y,52:W,66:X,67:V,91:Z,105:Q,106:J,109:tt,111:et,112:nt,122:it,123:rt,124:at,125:ot,126:st,127:ct}),t(ft,[2,111],{22:[1,179]}),t(Rt,[2,152]),t(Rt,[2,154]),t(Rt,[2,155]),t(Rt,[2,156]),t(Rt,[2,157]),t(jt,[2,162]),t(jt,[2,163]),t(jt,[2,164]),t(jt,[2,165]),t(jt,[2,166]),t(jt,[2,167]),t(jt,[2,168]),t(jt,[2,169]),t(jt,[2,170]),t(jt,[2,171]),t(jt,[2,172]),t(jt,[2,173]),t(jt,[2,174]),{52:p,54:180,66:b,67:w,91:_,95:E,105:T,106:C,109:S,111:A,112:M,116:47,122:N,123:P,124:B,125:R,126:j,127:$},{22:bt,24:wt,26:yt,38:mt,39:181,42:vt,52:W,66:X,67:V,73:xt,81:kt,83:140,84:_t,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:bt,24:wt,26:yt,38:mt,39:182,42:vt,52:W,66:X,67:V,73:xt,81:kt,83:140,84:_t,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:bt,24:wt,26:yt,38:mt,39:184,42:vt,52:W,57:[1,183],66:X,67:V,73:xt,81:kt,83:140,84:_t,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:bt,24:wt,26:yt,38:mt,39:185,42:vt,52:W,66:X,67:V,73:xt,81:kt,83:140,84:_t,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:bt,24:wt,26:yt,38:mt,39:186,42:vt,52:W,66:X,67:V,73:xt,81:kt,83:140,84:_t,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:bt,24:wt,26:yt,38:mt,39:187,42:vt,52:W,66:X,67:V,73:xt,81:kt,83:140,84:_t,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{66:[1,188]},{22:bt,24:wt,26:yt,38:mt,39:189,42:vt,52:W,66:X,67:V,73:xt,81:kt,83:140,84:_t,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:bt,24:wt,26:yt,38:mt,39:190,42:vt,52:W,66:X,67:V,71:[1,191],73:xt,81:kt,83:140,84:_t,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:bt,24:wt,26:yt,38:mt,39:192,42:vt,52:W,66:X,67:V,73:xt,81:kt,83:140,84:_t,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:bt,24:wt,26:yt,38:mt,39:193,42:vt,52:W,66:X,67:V,73:xt,81:kt,83:140,84:_t,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:bt,24:wt,26:yt,38:mt,39:194,42:vt,52:W,66:X,67:V,73:xt,81:kt,83:140,84:_t,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},t(ht,[2,151]),t($t,[2,3]),{8:195,15:F},{15:[2,7]},t(a,[2,28]),t(dt,[2,33]),t(K,[2,51],{30:196,22:z}),t(pt,[2,75],{22:[1,197]}),{22:[1,198]},{22:bt,24:wt,26:yt,38:mt,39:199,42:vt,52:W,66:X,67:V,73:xt,81:kt,83:140,84:_t,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:bt,24:wt,26:yt,38:mt,42:vt,52:W,66:X,67:V,73:xt,81:kt,82:[1,200],83:201,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},t(jt,[2,82]),t(jt,[2,84]),t(jt,[2,140]),t(jt,[2,141]),t(jt,[2,142]),t(jt,[2,143]),t(jt,[2,144]),t(jt,[2,145]),t(jt,[2,146]),t(jt,[2,147]),t(jt,[2,148]),t(jt,[2,149]),t(jt,[2,85]),t(jt,[2,86]),t(jt,[2,87]),t(jt,[2,88]),t(jt,[2,89]),t(jt,[2,90]),t(jt,[2,91]),t(jt,[2,92]),t(jt,[2,93]),t(jt,[2,94]),t(jt,[2,95]),{9:203,20:U,21:G,22:bt,23:q,24:wt,26:yt,38:mt,40:[1,202],42:vt,52:W,66:X,67:V,73:xt,81:kt,83:201,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{18:18,19:19,20:s,21:c,22:u,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:h,42:[1,204],43:31,44:f,46:d,48:g,50:35,51:45,52:p,54:46,66:b,67:w,86:y,87:m,88:v,89:x,90:k,91:_,95:E,105:T,106:C,109:S,111:A,112:M,116:47,118:I,119:O,120:L,121:D,122:N,123:P,124:B,125:R,126:j,127:$},{22:z,30:205},{22:[1,206],26:Y,52:W,66:X,67:V,91:Z,105:Q,106:J,109:tt,111:et,112:nt,115:100,117:178,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:[1,207]},{22:[1,208]},{22:[1,209],106:[1,210]},t(Ft,[2,123]),{22:[1,211]},{22:[1,212],26:Y,52:W,66:X,67:V,91:Z,105:Q,106:J,109:tt,111:et,112:nt,115:100,117:178,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:[1,213],26:Y,52:W,66:X,67:V,91:Z,105:Q,106:J,109:tt,111:et,112:nt,115:100,117:178,122:it,123:rt,124:at,125:ot,126:st,127:ct},{84:[1,214]},t(ft,[2,103],{22:[1,215]}),{84:[1,216],101:[1,217]},{84:[1,218]},t(Rt,[2,153]),{84:[1,219],101:[1,220]},t(ut,[2,57],{116:129,52:p,66:b,67:w,91:_,95:E,105:T,106:C,109:S,111:A,112:M,122:N,123:P,124:B,125:R,126:j,127:$}),{22:bt,24:wt,26:yt,38:mt,41:[1,221],42:vt,52:W,66:X,67:V,73:xt,81:kt,83:201,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:bt,24:wt,26:yt,38:mt,42:vt,52:W,56:[1,222],66:X,67:V,73:xt,81:kt,83:201,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:bt,24:wt,26:yt,38:mt,39:223,42:vt,52:W,66:X,67:V,73:xt,81:kt,83:140,84:_t,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:bt,24:wt,26:yt,38:mt,42:vt,52:W,58:[1,224],66:X,67:V,73:xt,81:kt,83:201,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:bt,24:wt,26:yt,38:mt,42:vt,52:W,60:[1,225],66:X,67:V,73:xt,81:kt,83:201,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:bt,24:wt,26:yt,38:mt,42:vt,52:W,62:[1,226],66:X,67:V,73:xt,81:kt,83:201,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:bt,24:wt,26:yt,38:mt,42:vt,52:W,64:[1,227],66:X,67:V,73:xt,81:kt,83:201,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{67:[1,228]},{22:bt,24:wt,26:yt,38:mt,42:vt,52:W,66:X,67:V,70:[1,229],73:xt,81:kt,83:201,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:bt,24:wt,26:yt,38:mt,42:vt,52:W,66:X,67:V,72:[1,230],73:xt,81:kt,83:201,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:bt,24:wt,26:yt,38:mt,39:231,42:vt,52:W,66:X,67:V,73:xt,81:kt,83:140,84:_t,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:bt,24:wt,26:yt,38:mt,41:[1,232],42:vt,52:W,66:X,67:V,73:xt,81:kt,83:201,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:bt,24:wt,26:yt,38:mt,42:vt,52:W,66:X,67:V,73:xt,75:[1,233],77:[1,234],81:kt,83:201,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{22:bt,24:wt,26:yt,38:mt,42:vt,52:W,66:X,67:V,73:xt,75:[1,236],77:[1,235],81:kt,83:201,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{9:237,20:U,21:G,23:q},t(K,[2,52],{52:Bt}),t(pt,[2,77]),t(pt,[2,76]),{22:bt,24:wt,26:yt,38:mt,42:vt,52:W,66:X,67:V,68:[1,238],73:xt,81:kt,83:201,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},t(pt,[2,79]),t(jt,[2,83]),{22:bt,24:wt,26:yt,38:mt,39:239,42:vt,52:W,66:X,67:V,73:xt,81:kt,83:140,84:_t,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},t(Pt,o,{17:240}),t(H,[2,43]),{51:241,52:p,54:46,66:b,67:w,91:_,95:E,105:T,106:C,109:S,111:A,112:M,116:47,122:N,123:P,124:B,125:R,126:j,127:$},{22:zt,66:Ht,67:Ut,86:Gt,96:242,102:qt,105:Kt,107:243,108:244,109:Yt,110:Wt,111:Xt,112:Vt,113:Zt},{22:zt,66:Ht,67:Ut,86:Gt,96:256,102:qt,105:Kt,107:243,108:244,109:Yt,110:Wt,111:Xt,112:Vt,113:Zt},{22:zt,66:Ht,67:Ut,86:Gt,96:257,102:qt,104:[1,258],105:Kt,107:243,108:244,109:Yt,110:Wt,111:Xt,112:Vt,113:Zt},{22:zt,66:Ht,67:Ut,86:Gt,96:259,102:qt,104:[1,260],105:Kt,107:243,108:244,109:Yt,110:Wt,111:Xt,112:Vt,113:Zt},{105:[1,261]},{22:zt,66:Ht,67:Ut,86:Gt,96:262,102:qt,105:Kt,107:243,108:244,109:Yt,110:Wt,111:Xt,112:Vt,113:Zt},{22:zt,66:Ht,67:Ut,86:Gt,96:263,102:qt,105:Kt,107:243,108:244,109:Yt,110:Wt,111:Xt,112:Vt,113:Zt},{26:Y,52:W,66:X,67:V,91:Z,97:264,105:Q,106:J,109:tt,111:et,112:nt,115:100,117:98,122:it,123:rt,124:at,125:ot,126:st,127:ct},t(ft,[2,102]),{84:[1,265]},t(ft,[2,106],{22:[1,266]}),t(ft,[2,107]),t(ft,[2,110]),t(ft,[2,112],{22:[1,267]}),t(ft,[2,113]),t(lt,[2,58]),t(lt,[2,59]),{22:bt,24:wt,26:yt,38:mt,42:vt,52:W,58:[1,268],66:X,67:V,73:xt,81:kt,83:201,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},t(lt,[2,66]),t(lt,[2,61]),t(lt,[2,62]),t(lt,[2,63]),{66:[1,269]},t(lt,[2,65]),t(lt,[2,67]),{22:bt,24:wt,26:yt,38:mt,42:vt,52:W,66:X,67:V,72:[1,270],73:xt,81:kt,83:201,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},t(lt,[2,69]),t(lt,[2,70]),t(lt,[2,72]),t(lt,[2,71]),t(lt,[2,73]),t($t,[2,4]),t([22,52,66,67,91,95,105,106,109,111,112,122,123,124,125,126,127],[2,81]),{22:bt,24:wt,26:yt,38:mt,41:[1,271],42:vt,52:W,66:X,67:V,73:xt,81:kt,83:201,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{18:18,19:19,20:s,21:c,22:u,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:h,42:[1,272],43:31,44:f,46:d,48:g,50:35,51:45,52:p,54:46,66:b,67:w,86:y,87:m,88:v,89:x,90:k,91:_,95:E,105:T,106:C,109:S,111:A,112:M,116:47,118:I,119:O,120:L,121:D,122:N,123:P,124:B,125:R,126:j,127:$},t(ut,[2,56]),t(ft,[2,115],{106:Qt}),t(Jt,[2,125],{108:274,22:zt,66:Ht,67:Ut,86:Gt,102:qt,105:Kt,109:Yt,110:Wt,111:Xt,112:Vt,113:Zt}),t(te,[2,127]),t(te,[2,129]),t(te,[2,130]),t(te,[2,131]),t(te,[2,132]),t(te,[2,133]),t(te,[2,134]),t(te,[2,135]),t(te,[2,136]),t(te,[2,137]),t(te,[2,138]),t(te,[2,139]),t(ft,[2,116],{106:Qt}),t(ft,[2,117],{106:Qt}),{22:[1,275]},t(ft,[2,118],{106:Qt}),{22:[1,276]},t(Ft,[2,124]),t(ft,[2,98],{106:Qt}),t(ft,[2,99],{106:Qt}),t(ft,[2,100],{115:100,117:178,26:Y,52:W,66:X,67:V,91:Z,105:Q,106:J,109:tt,111:et,112:nt,122:it,123:rt,124:at,125:ot,126:st,127:ct}),t(ft,[2,104]),{101:[1,277]},{101:[1,278]},{58:[1,279]},{68:[1,280]},{72:[1,281]},{9:282,20:U,21:G,23:q},t(H,[2,42]),{22:zt,66:Ht,67:Ut,86:Gt,102:qt,105:Kt,107:283,108:244,109:Yt,110:Wt,111:Xt,112:Vt,113:Zt},t(te,[2,128]),{26:Y,52:W,66:X,67:V,91:Z,97:284,105:Q,106:J,109:tt,111:et,112:nt,115:100,117:98,122:it,123:rt,124:at,125:ot,126:st,127:ct},{26:Y,52:W,66:X,67:V,91:Z,97:285,105:Q,106:J,109:tt,111:et,112:nt,115:100,117:98,122:it,123:rt,124:at,125:ot,126:st,127:ct},t(ft,[2,108]),t(ft,[2,114]),t(lt,[2,60]),{22:bt,24:wt,26:yt,38:mt,39:286,42:vt,52:W,66:X,67:V,73:xt,81:kt,83:140,84:_t,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},t(lt,[2,68]),t(Pt,o,{17:287}),t(Jt,[2,126],{108:274,22:zt,66:Ht,67:Ut,86:Gt,102:qt,105:Kt,109:Yt,110:Wt,111:Xt,112:Vt,113:Zt}),t(ft,[2,121],{115:100,117:178,22:[1,288],26:Y,52:W,66:X,67:V,91:Z,105:Q,106:J,109:tt,111:et,112:nt,122:it,123:rt,124:at,125:ot,126:st,127:ct}),t(ft,[2,122],{115:100,117:178,22:[1,289],26:Y,52:W,66:X,67:V,91:Z,105:Q,106:J,109:tt,111:et,112:nt,122:it,123:rt,124:at,125:ot,126:st,127:ct}),{22:bt,24:wt,26:yt,38:mt,41:[1,290],42:vt,52:W,66:X,67:V,73:xt,81:kt,83:201,85:151,86:Et,87:Tt,88:Ct,89:St,90:At,91:Mt,92:It,94:142,95:Ot,105:Q,106:J,109:Lt,111:et,112:nt,113:Dt,114:Nt,115:148,122:it,123:rt,124:at,125:ot,126:st,127:ct},{18:18,19:19,20:s,21:c,22:u,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:h,42:[1,291],43:31,44:f,46:d,48:g,50:35,51:45,52:p,54:46,66:b,67:w,86:y,87:m,88:v,89:x,90:k,91:_,95:E,105:T,106:C,109:S,111:A,112:M,116:47,118:I,119:O,120:L,121:D,122:N,123:P,124:B,125:R,126:j,127:$},{22:zt,66:Ht,67:Ut,86:Gt,96:292,102:qt,105:Kt,107:243,108:244,109:Yt,110:Wt,111:Xt,112:Vt,113:Zt},{22:zt,66:Ht,67:Ut,86:Gt,96:293,102:qt,105:Kt,107:243,108:244,109:Yt,110:Wt,111:Xt,112:Vt,113:Zt},t(lt,[2,64]),t(H,[2,41]),t(ft,[2,119],{106:Qt}),t(ft,[2,120],{106:Qt})],defaultActions:{2:[2,1],9:[2,5],10:[2,2],132:[2,7]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t);},parse:function(t){var e=this,n=[0],i=[],r=[null],a=[],o=this.table,s="",c=0,u=0,l=2,h=1,f=a.slice.call(arguments,1),d=Object.create(this.lexer),g={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(g.yy[p]=this.yy[p]);d.setInput(t,g.yy),g.yy.lexer=d,g.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var b=d.yylloc;a.push(b);var w=d.options&&d.options.ranges;function y(){var t;return "number"!=typeof(t=i.pop()||d.lex()||h)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,v,x,k,_,E,T,C,S={};;){if(v=n[n.length-1],this.defaultActions[v]?x=this.defaultActions[v]:(null==m&&(m=y()),x=o[v]&&o[v][m]),void 0===x||!x.length||!x[0]){var A="";for(_ in C=[],o[v])this.terminals_[_]&&_>l&&C.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(c+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(c+1)+": Unexpected "+(m==h?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:b,expected:C});}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+m);switch(x[0]){case 1:n.push(m),r.push(d.yytext),a.push(d.yylloc),n.push(x[1]),m=null,u=d.yyleng,s=d.yytext,c=d.yylineno,b=d.yylloc;break;case 2:if(E=this.productions_[x[1]][1],S.$=r[r.length-E],S._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},w&&(S._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(S,[s,u,c,g.yy,x[1],r,a].concat(f))))return k;E&&(n=n.slice(0,-1*E*2),r=r.slice(0,-1*E),a=a.slice(0,-1*E)),n.push(this.productions_[x[1]][0]),r.push(S.$),a.push(S._$),T=o[n[n.length-2]][n[n.length-1]],n.push(T);break;case 3:return !0}}return !0}},ne={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e);},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t));},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return (t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return !1}return !1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return !1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t);},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return (t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t);},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,i){switch(n){case 0:return this.begin("open_directive"),12;case 1:return this.begin("type_directive"),13;case 2:return this.popState(),this.begin("arg_directive"),10;case 3:return this.popState(),this.popState(),15;case 4:return 14;case 5:case 6:break;case 7:return this.begin("acc_title"),44;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),46;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:case 15:case 24:case 27:case 30:case 33:this.popState();break;case 13:return "acc_descr_multiline_value";case 14:this.begin("string");break;case 16:return "STR";case 17:return 86;case 18:return 95;case 19:return 87;case 20:return 104;case 21:return 88;case 22:return 89;case 23:this.begin("href");break;case 25:return 100;case 26:this.begin("callbackname");break;case 28:this.popState(),this.begin("callbackargs");break;case 29:return 98;case 31:return 99;case 32:this.begin("click");break;case 34:return 90;case 35:case 36:case 37:return t.lex.firstGraph()&&this.begin("dir"),24;case 38:return 38;case 39:return 42;case 40:case 41:case 42:case 43:return 101;case 44:return this.popState(),25;case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:return this.popState(),26;case 55:return 118;case 56:return 119;case 57:return 120;case 58:return 121;case 59:return 105;case 60:return 111;case 61:return 53;case 62:return 67;case 63:return 52;case 64:return 20;case 65:return 106;case 66:return 126;case 67:case 68:case 69:return 82;case 70:case 71:case 72:return 81;case 73:return 59;case 74:return 60;case 75:return 61;case 76:return 62;case 77:return 63;case 78:return 64;case 79:return 65;case 80:return 69;case 81:return 70;case 82:return 55;case 83:return 56;case 84:return 109;case 85:return 112;case 86:return 127;case 87:return 124;case 88:return 113;case 89:case 90:return 125;case 91:return 114;case 92:return 73;case 93:return 92;case 94:return "SEP";case 95:return 91;case 96:return 66;case 97:return 75;case 98:return 74;case 99:return 77;case 100:return 76;case 101:return 122;case 102:return 123;case 103:return 68;case 104:return 57;case 105:return 58;case 106:return 40;case 107:return 41;case 108:return 71;case 109:return 72;case 110:return 133;case 111:return 21;case 112:return 22;case 113:return 23}},rules:[/^(?:%%\{)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:%%(?!\{)[^\n]*)/,/^(?:[^\}]%%[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\[)/,/^(?:\]\))/,/^(?:\[\[)/,/^(?:\]\])/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\])/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:-)/,/^(?:\.)/,/^(?:[\_])/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:[A-Za-z]+)/,/^(?:\\\])/,/^(?:\[\/)/,/^(?:\/\])/,/^(?:\[\\)/,/^(?:[!"#$%&'*+,-.`?\\_/])/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callbackargs:{rules:[30,31],inclusive:!1},callbackname:{rules:[27,28,29],inclusive:!1},href:{rules:[24,25],inclusive:!1},click:{rules:[33,34],inclusive:!1},vertex:{rules:[],inclusive:!1},dir:{rules:[44,45,46,47,48,49,50,51,52,53,54],inclusive:!1},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},string:{rules:[15,16],inclusive:!1},INITIAL:{rules:[0,5,6,7,9,11,14,17,18,19,20,21,22,23,26,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113],inclusive:!0}}};function ie(){this.yy={};}return ee.lexer=ne,ie.prototype=ee,ee.Parser=ie,new ie}();ZD.parser=ZD;const QD=ZD,JD=(t,e)=>{var n,i;return "dagre-wrapper"!==(null==(n=null==e?void 0:e.flowchart)?void 0:n.defaultRenderer)&&"elk"!==(null==(i=null==e?void 0:e.flowchart)?void 0:i.defaultRenderer)&&null!==t.match(/^\s*graph/)},tN=(t,e)=>{var n,i;return "dagre-d3"!==(null==(n=null==e?void 0:e.flowchart)?void 0:n.defaultRenderer)&&"elk"!==(null==(i=null==e?void 0:e.flowchart)?void 0:i.defaultRenderer)&&(null!==t.match(/^\s*graph/)||null!==t.match(/^\s*flowchart/))},eN="flowchart-";let nN,iN,rN=0,aN=vy(),oN={},sN=[],cN={},uN=[],lN={},hN={},fN=0,dN=!0,gN=[];const pN=t=>Yh.sanitizeText(t,aN),bN=function(t,e,n){cU.parseDirective(this,t,e,n);},wN=function(t){const e=Object.keys(oN);for(const n of e)if(oN[n].id===t)return oN[n].domId;return t},yN=function(t,e,n,i,r,a,o={}){let s,c=t;void 0!==c&&0!==c.trim().length&&(void 0===oN[c]&&(oN[c]={id:c,domId:eN+c+"-"+rN,styles:[],classes:[]}),rN++,void 0!==e?(aN=vy(),s=pN(e.trim()),'"'===s[0]&&'"'===s[s.length-1]&&(s=s.substring(1,s.length-1)),oN[c].text=s):void 0===oN[c].text&&(oN[c].text=t),void 0!==n&&(oN[c].type=n),null!=i&&i.forEach((function(t){oN[c].styles.push(t);})),null!=r&&r.forEach((function(t){oN[c].classes.push(t);})),void 0!==a&&(oN[c].dir=a),void 0===oN[c].props?oN[c].props=o:void 0!==o&&Object.assign(oN[c].props,o));},mN=function(t,e,n,i){const r={start:t,end:e,type:void 0,text:""};void 0!==(i=n.text)&&(r.text=pN(i.trim()),'"'===r.text[0]&&'"'===r.text[r.text.length-1]&&(r.text=r.text.substring(1,r.text.length-1))),void 0!==n&&(r.type=n.type,r.stroke=n.stroke,r.length=n.length),sN.push(r);},vN=function(t,e,n,i){let r,a;for(r=0;r/)&&(nN="LR"),nN.match(/.*v/)&&(nN="TB"),"TD"===nN&&(nN="TB");},TN=function(t,e){t.split(",").forEach((function(t){let n=t;void 0!==oN[n]&&oN[n].classes.push(e),void 0!==lN[n]&&lN[n].classes.push(e);}));},CN=function(t,e){t.split(",").forEach((function(t){void 0!==e&&(hN["gen-1"===iN?wN(t):t]=pN(e));}));},SN=function(t,e,n){let i=wN(t);if("loose"!==vy().securityLevel)return;if(void 0===e)return;let r=[];if("string"==typeof n){r=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t")),t.classed("hover",!0);})).on("mouseout",(function(){e.transition().duration(500).style("opacity",0),ln(this).classed("hover",!1);}));};gN.push(BN);const RN=function(t="gen-1"){oN={},cN={},sN=[],gN=[BN],uN=[],lN={},fN=0,hN=[],dN=!0,iN=t,Zy();},jN=t=>{iN=t||"gen-2";},$N=function(){return "fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},FN=function(t,e,n){let i=t.trim(),r=n;function a(t){const e={boolean:{},number:{},string:{}},n=[];let i;return {nodeList:t.filter((function(t){const r=typeof t;return t.stmt&&"dir"===t.stmt?(i=t.value,!1):""!==t.trim()&&(r in e?!e[r].hasOwnProperty(t)&&(e[r][t]=!0):!n.includes(t)&&n.push(t))})),dir:i}}t===n&&n.match(/\s/)&&(i=void 0);let o=[];const{nodeList:s,dir:c}=a(o.concat.apply(o,e));if(o=s,"gen-1"===iN)for(let t=0;t2e3)return;if(UN[HN]=e,uN[e].id===t)return {result:!0,count:0};let i=0,r=1;for(;i=0){const n=GN(t,e);if(n.result)return {result:!0,count:r+n.count};r+=n.count;}i+=1;}return {result:!1,count:r}},qN=function(t){return UN[t]},KN=function(){HN=-1,uN.length>0&&GN("none",uN.length-1);},YN=function(){return uN},WN=()=>!!dN&&(dN=!1,!0),XN=t=>{let e=t.trim(),n="arrow_open";switch(e[0]){case"<":n="arrow_point",e=e.slice(1);break;case"x":n="arrow_cross",e=e.slice(1);break;case"o":n="arrow_circle",e=e.slice(1);}let i="normal";return e.includes("=")&&(i="thick"),e.includes(".")&&(i="dotted"),{type:n,stroke:i}},VN=(t,e)=>{const n=e.length;let i=0;for(let r=0;r{const e=t.trim();let n=e.slice(0,-1),i="arrow_open";switch(e.slice(-1)){case"x":i="arrow_cross","x"===e[0]&&(i="double_"+i,n=n.slice(1));break;case">":i="arrow_point","<"===e[0]&&(i="double_"+i,n=n.slice(1));break;case"o":i="arrow_circle","o"===e[0]&&(i="double_"+i,n=n.slice(1));}let r="normal",a=n.length-1;"="===n[0]&&(r="thick");let o=VN(".",n);return o&&(r="dotted",a=o),{type:i,stroke:r,length:a}},QN=(t,e)=>{const n=ZN(t);let i;if(e){if(i=XN(e),i.stroke!==n.stroke)return {type:"INVALID",stroke:"INVALID"};if("arrow_open"===i.type)i.type=n.type;else {if(i.type!==n.type)return {type:"INVALID",stroke:"INVALID"};i.type="double_"+i.type;}return "double_arrow"===i.type&&(i.type="double_arrow_point"),i.length=n.length,i}return n},JN=(t,e)=>{let n=!1;return t.forEach((t=>{t.nodes.indexOf(e)>=0&&(n=!0);})),n},tP=(t,e)=>{const n=[];return t.nodes.forEach(((i,r)=>{JN(e,i)||n.push(t.nodes[r]);})),{nodes:n}},eP={firstGraph:WN},nP={parseDirective:bN,defaultConfig:()=>uy.flowchart,setAccTitle:Qy,getAccTitle:Jy,getAccDescription:em,setAccDescription:tm,addVertex:yN,lookUpDomId:wN,addLink:vN,updateLinkInterpolate:xN,updateLink:kN,addClass:_N,setDirection:EN,setClass:TN,setTooltip:CN,getTooltip:MN,setClickEvent:IN,setLink:AN,bindFunctions:ON,getDirection:LN,getVertices:DN,getEdges:NN,getClasses:PN,clear:RN,setGen:jN,defaultStyle:$N,addSubGraph:FN,getDepthFirstPos:qN,indexNodes:KN,getSubGraphs:YN,destructLink:QN,lex:eP,exists:JN,makeUniq:tP,setDiagramTitle:nm,getDiagramTitle:im},iP=Object.freeze(Object.defineProperty({__proto__:null,addClass:_N,addLink:vN,addSingleLink:mN,addSubGraph:FN,addVertex:yN,bindFunctions:ON,clear:RN,default:nP,defaultStyle:$N,destructLink:QN,firstGraph:WN,getClasses:PN,getDepthFirstPos:qN,getDirection:LN,getEdges:NN,getSubGraphs:YN,getTooltip:MN,getVertices:DN,indexNodes:KN,lex:eP,lookUpDomId:wN,parseDirective:bN,setClass:TN,setClickEvent:IN,setDirection:EN,setGen:jN,setLink:AN,updateLink:kN,updateLinkInterpolate:xN},Symbol.toStringTag,{value:"Module"}));function rP(t,e){return !!t.children(e).length}function aP(t){return sP(t.v)+":"+sP(t.w)+":"+sP(t.name)}var oP=/:/g;function sP(t){return t?String(t).replace(oP,"\\:"):""}function cP(t,e){e&&t.attr("style",e);}function uP(t,e,n){e&&t.attr("class",e).attr("class",n+" "+t.attr("class"));}function lP(t,e){var n=e.graph();if(PE(n)){var i=n.transition;if(qp(i))return i(t)}return t}var hP={normal:dP,vee:gP,undirected:pP};function fP(t){hP=t;}function dP(t,e,n,i){var r=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");cP(r,n[i+"Style"]),n[i+"Class"]&&r.attr("class",n[i+"Class"]);}function gP(t,e,n,i){var r=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");cP(r,n[i+"Style"]),n[i+"Class"]&&r.attr("class",n[i+"Class"]);}function pP(t,e,n,i){var r=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");cP(r,n[i+"Style"]),n[i+"Class"]&&r.attr("class",n[i+"Class"]);}function bP(t,e){var n=t.append("foreignObject").attr("width","100000"),i=n.append("xhtml:div");i.attr("xmlns","http://www.w3.org/1999/xhtml");var r=e.label;switch(typeof r){case"function":i.insert(r);break;case"object":i.insert((function(){return r}));break;default:i.html(r);}cP(i,e.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a=i.node().getBoundingClientRect();return n.attr("width",a.width).attr("height",a.height),n}function wP(t,e){var n=t;return n.node().appendChild(e.label),cP(n,e.labelStyle),n}function yP(t,e){for(var n=t.append("text"),i=mP(e.label).split("\n"),r=0;r0}function UP(t,e,n){var i=t.x,r=t.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;e.forEach((function(t){o=Math.min(o,t.x),s=Math.min(s,t.y);}));for(var c=i-t.width/2-o,u=r-t.height/2-s,l=0;l1&&a.sort((function(t,e){var i=t.x-n.x,r=t.y-n.y,a=Math.sqrt(i*i+r*r),o=e.x-n.x,s=e.y-n.y,c=Math.sqrt(o*o+s*s);return aMath.abs(o)*u?(s<0&&(u=-u),n=0===s?0:u*o/s,i=u):(o<0&&(c=-c),n=c,i=0===o?0:c*s/o),{x:r+n,y:a+i}}var qP={rect:YP,ellipse:WP,circle:XP,diamond:VP};function KP(t){qP=t;}function YP(t,e,n){var i=t.insert("rect",":first-child").attr("rx",n.rx).attr("ry",n.ry).attr("x",-e.width/2).attr("y",-e.height/2).attr("width",e.width).attr("height",e.height);return n.intersect=function(t){return GP(n,t)},i}function WP(t,e,n){var i=e.width/2,r=e.height/2,a=t.insert("ellipse",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("rx",i).attr("ry",r);return n.intersect=function(t){return $P(n,i,r,t)},a}function XP(t,e,n){var i=Math.max(e.width,e.height)/2,r=t.insert("circle",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("r",i);return n.intersect=function(t){return FP(n,i,t)},r}function VP(t,e,n){var i=e.width*Math.SQRT2/2,r=e.height*Math.SQRT2/2,a=[{x:0,y:-r},{x:-i,y:0},{x:0,y:r},{x:i,y:0}],o=t.insert("polygon",":first-child").attr("points",a.map((function(t){return t.x+","+t.y})).join(" "));return n.intersect=function(t){return UP(n,a,t)},o}function ZP(){var t=function(t,e){tB(e);var n=nB(t,"output"),i=nB(n,"clusters"),r=nB(n,"edgePaths"),a=_P(nB(n,"edgeLabels"),e),o=NP(nB(n,"nodes"),e,qP);bO(e),jP(o,e),RP(a,e),CP(r,e,hP),BP(xP(i,e),e),eB(e);};return t.createNodes=function(e){return arguments.length?(PP(e),t):NP},t.createClusters=function(e){return arguments.length?(kP(e),t):xP},t.createEdgeLabels=function(e){return arguments.length?(EP(e),t):_P},t.createEdgePaths=function(e){return arguments.length?(SP(e),t):CP},t.shapes=function(e){return arguments.length?(KP(e),t):qP},t.arrows=function(e){return arguments.length?(fP(e),t):hP},t}var QP={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},JP={arrowhead:"normal",curve:Ou};function tB(t){t.nodes().forEach((function(e){var n=t.node(e);kA(n,"label")||t.children(e).length||(n.label=e),kA(n,"paddingX")&&JS(n,{paddingLeft:n.paddingX,paddingRight:n.paddingX}),kA(n,"paddingY")&&JS(n,{paddingTop:n.paddingY,paddingBottom:n.paddingY}),kA(n,"padding")&&JS(n,{paddingLeft:n.padding,paddingRight:n.padding,paddingTop:n.padding,paddingBottom:n.padding}),JS(n,QP),cA(["paddingLeft","paddingRight","paddingTop","paddingBottom"],(function(t){n[t]=Number(n[t]);})),kA(n,"width")&&(n._prevWidth=n.width),kA(n,"height")&&(n._prevHeight=n.height);})),t.edges().forEach((function(e){var n=t.edge(e);kA(n,"label")||(n.label=""),JS(n,JP);}));}function eB(t){cA(t.nodes(),(function(e){var n=t.node(e);kA(n,"_prevWidth")?n.width=n._prevWidth:delete n.width,kA(n,"_prevHeight")?n.height=n._prevHeight:delete n.height,delete n._prevWidth,delete n._prevHeight;}));}function nB(t,e){var n=t.select("g."+e);return n.empty()&&(n=t.append("g").attr("class",e)),n}function iB(t,e,n){const i=.9*(e.width+e.height),r=[{x:i/2,y:0},{x:i,y:-i/2},{x:i/2,y:-i},{x:0,y:-i/2}],a=bB(t,i,i,r);return n.intersect=function(t){return UP(n,r,t)},a}function rB(t,e,n){const i=4,r=e.height,a=r/i,o=e.width+2*a,s=[{x:a,y:0},{x:o-a,y:0},{x:o,y:-r/2},{x:o-a,y:-r},{x:a,y:-r},{x:0,y:-r/2}],c=bB(t,o,r,s);return n.intersect=function(t){return UP(n,s,t)},c}function aB(t,e,n){const i=e.width,r=e.height,a=[{x:-r/2,y:0},{x:i,y:0},{x:i,y:-r},{x:-r/2,y:-r},{x:0,y:-r/2}],o=bB(t,i,r,a);return n.intersect=function(t){return UP(n,a,t)},o}function oB(t,e,n){const i=e.width,r=e.height,a=[{x:-2*r/6,y:0},{x:i-r/6,y:0},{x:i+2*r/6,y:-r},{x:r/6,y:-r}],o=bB(t,i,r,a);return n.intersect=function(t){return UP(n,a,t)},o}function sB(t,e,n){const i=e.width,r=e.height,a=[{x:2*r/6,y:0},{x:i+r/6,y:0},{x:i-2*r/6,y:-r},{x:-r/6,y:-r}],o=bB(t,i,r,a);return n.intersect=function(t){return UP(n,a,t)},o}function cB(t,e,n){const i=e.width,r=e.height,a=[{x:-2*r/6,y:0},{x:i+2*r/6,y:0},{x:i-r/6,y:-r},{x:r/6,y:-r}],o=bB(t,i,r,a);return n.intersect=function(t){return UP(n,a,t)},o}function uB(t,e,n){const i=e.width,r=e.height,a=[{x:r/6,y:0},{x:i-r/6,y:0},{x:i+2*r/6,y:-r},{x:-2*r/6,y:-r}],o=bB(t,i,r,a);return n.intersect=function(t){return UP(n,a,t)},o}function lB(t,e,n){const i=e.width,r=e.height,a=[{x:0,y:0},{x:i+r/2,y:0},{x:i,y:-r/2},{x:i+r/2,y:-r},{x:0,y:-r}],o=bB(t,i,r,a);return n.intersect=function(t){return UP(n,a,t)},o}function hB(t,e,n){const i=e.height,r=e.width+i/4,a=t.insert("rect",":first-child").attr("rx",i/2).attr("ry",i/2).attr("x",-r/2).attr("y",-i/2).attr("width",r).attr("height",i);return n.intersect=function(t){return GP(n,t)},a}function fB(t,e,n){const i=e.width,r=e.height,a=[{x:0,y:0},{x:i,y:0},{x:i,y:-r},{x:0,y:-r},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-r},{x:-8,y:-r},{x:-8,y:0}],o=bB(t,i,r,a);return n.intersect=function(t){return UP(n,a,t)},o}function dB(t,e,n){const i=e.width,r=i/2,a=r/(2.5+i/50),o=e.height+a,s="M 0,"+a+" a "+r+","+a+" 0,0,0 "+i+" 0 a "+r+","+a+" 0,0,0 "+-i+" 0 l 0,"+o+" a "+r+","+a+" 0,0,0 "+i+" 0 l 0,"+-o,c=t.attr("label-offset-y",a).insert("path",":first-child").attr("d",s).attr("transform","translate("+-i/2+","+-(o/2+a)+")");return n.intersect=function(t){const e=GP(n,t),i=e.x-n.x;if(0!=r&&(Math.abs(i)n.height/2-a)){let o=a*a*(1-i*i/(r*r));0!=o&&(o=Math.sqrt(o)),o=a-o,t.y-n.y>0&&(o=-o),e.y+=o;}return e},c}function gB(t){t.shapes().question=iB,t.shapes().hexagon=rB,t.shapes().stadium=hB,t.shapes().subroutine=fB,t.shapes().cylinder=dB,t.shapes().rect_left_inv_arrow=aB,t.shapes().lean_right=oB,t.shapes().lean_left=sB,t.shapes().trapezoid=cB,t.shapes().inv_trapezoid=uB,t.shapes().rect_right_inv_arrow=lB;}function pB(t){t({question:iB}),t({hexagon:rB}),t({stadium:hB}),t({subroutine:fB}),t({cylinder:dB}),t({rect_left_inv_arrow:aB}),t({lean_right:oB}),t({lean_left:sB}),t({trapezoid:cB}),t({inv_trapezoid:uB}),t({rect_right_inv_arrow:lB});}function bB(t,e,n,i){return t.insert("polygon",":first-child").attr("points",i.map((function(t){return t.x+","+t.y})).join(" ")).attr("transform","translate("+-e/2+","+n/2+")")}const wB={addToRender:gB,addToRenderV2:pB},yB={},mB=function(t,e,n,i,r,a){const o=i?i.select(`[id="${n}"]`):ln(`[id="${n}"]`),s=r||document;Object.keys(t).forEach((function(n){const i=t[n];let r="default";i.classes.length>0&&(r=i.classes.join(" "));const c=Jb(i.styles);let u,h=void 0!==i.text?i.text:i.id;if(qh(vy().flowchart.htmlLabels)){const t={label:h.replace(/fa[blrs]?:fa-[\w-]+/g,(t=>``))};u=bP(o,t).node(),u.parentNode.removeChild(u);}else {const t=s.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("style",c.labelStyle.replace("color:","fill:"));const e=h.split(Yh.lineBreakRegex);for(const n of e){const e=s.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),e.setAttribute("dy","1em"),e.setAttribute("x","1"),e.textContent=n,t.appendChild(e);}u=t;}let f=0,d="";switch(i.type){case"round":f=5,d="rect";break;case"square":case"group":default:d="rect";break;case"diamond":d="question";break;case"hexagon":d="hexagon";break;case"odd":case"odd_right":d="rect_left_inv_arrow";break;case"lean_right":d="lean_right";break;case"lean_left":d="lean_left";break;case"trapezoid":d="trapezoid";break;case"inv_trapezoid":d="inv_trapezoid";break;case"circle":d="circle";break;case"ellipse":d="ellipse";break;case"stadium":d="stadium";break;case"subroutine":d="subroutine";break;case"cylinder":d="cylinder";}l.warn("Adding node",i.id,i.domId),e.setNode(a.db.lookUpDomId(i.id),{labelType:"svg",labelStyle:c.labelStyle,shape:d,label:u,rx:f,ry:f,class:r,style:c.style,id:a.db.lookUpDomId(i.id)});}));},vB=function(t,e,n){let i,r,a=0;if(void 0!==t.defaultStyle){const e=Jb(t.defaultStyle);i=e.style,r=e.labelStyle;}t.forEach((function(o){a++;var s="L-"+o.start+"-"+o.end,c="LS-"+o.start,u="LE-"+o.end;const l={};"arrow_open"===o.type?l.arrowhead="none":l.arrowhead="normal";let h="",f="";if(void 0!==o.style){const t=Jb(o.style);h=t.style,f=t.labelStyle;}else switch(o.stroke){case"normal":h="fill:none",void 0!==i&&(h=i),void 0!==r&&(f=r);break;case"dotted":h="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":h=" stroke-width: 3.5px;fill:none";}l.style=h,l.labelStyle=f,void 0!==o.interpolate?l.curve=qb(o.interpolate,Ou):void 0!==t.defaultInterpolate?l.curve=qb(t.defaultInterpolate,Ou):l.curve=qb(yB.curve,Ou),void 0===o.text?void 0!==o.style&&(l.arrowheadStyle="fill: #333"):(l.arrowheadStyle="fill: #333",l.labelpos="c",qh(vy().flowchart.htmlLabels)?(l.labelType="html",l.label=`${o.text.replace(/fa[blrs]?:fa-[\w-]+/g,(t=>``))}`):(l.labelType="text",l.label=o.text.replace(Yh.lineBreakRegex,"\n"),void 0===o.style&&(l.style=l.style||"stroke: #333; stroke-width: 1.5px;fill:none"),l.labelStyle=l.labelStyle.replace("color:","fill:"))),l.id=s,l.class=c+" "+u,l.minlen=o.length||1,e.setEdge(n.db.lookUpDomId(o.start),n.db.lookUpDomId(o.end),l,a);}));},xB=function(t,e,n,i){l.info("Drawing flowchart"),i.db.clear();const{securityLevel:r,flowchart:a}=vy();let o;"sandbox"===r&&(o=ln("#i"+e));const s=ln("sandbox"===r?o.nodes()[0].contentDocument.body:"body"),c="sandbox"===r?o.nodes()[0].contentDocument:document;try{i.parser.parse(t);}catch(t){l.debug("Parsing failed");}let u=i.db.getDirection();void 0===u&&(u="TD");const h=a.nodeSpacing||50,f=a.rankSpacing||50,d=new fM({multigraph:!0,compound:!0}).setGraph({rankdir:u,nodesep:h,ranksep:f,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return {}}));let g;const p=i.db.getSubGraphs();for(let t=p.length-1;t>=0;t--)g=p[t],i.db.addVertex(g.id,g.title,"group",void 0,g.classes);const b=i.db.getVertices();l.warn("Get vertices",b);const w=i.db.getEdges();let y=0;for(y=p.length-1;y>=0;y--){g=p[y],hn("cluster").append("text");for(let t=0;t0&&(s=i.classes.join(" "));const c=Jb(i.styles);let u,h=void 0!==i.text?i.text:i.id;if(qh(vy().flowchart.htmlLabels)){const t={label:h.replace(/fa[blrs]?:fa-[\w-]+/g,(t=>``))};u=bP(o,t).node(),u.parentNode.removeChild(u);}else {const t=r.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("style",c.labelStyle.replace("color:","fill:"));const e=h.split(Yh.lineBreakRegex);for(const n of e){const e=r.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),e.setAttribute("dy","1em"),e.setAttribute("x","1"),e.textContent=n,t.appendChild(e);}u=t;}let f=0,d="";switch(i.type){case"round":f=5,d="rect";break;case"square":case"group":default:d="rect";break;case"diamond":d="question";break;case"hexagon":d="hexagon";break;case"odd":case"odd_right":d="rect_left_inv_arrow";break;case"lean_right":d="lean_right";break;case"lean_left":d="lean_left";break;case"trapezoid":d="trapezoid";break;case"inv_trapezoid":d="inv_trapezoid";break;case"circle":d="circle";break;case"ellipse":d="ellipse";break;case"stadium":d="stadium";break;case"subroutine":d="subroutine";break;case"cylinder":d="cylinder";break;case"doublecircle":d="doublecircle";}e.setNode(i.id,{labelStyle:c.labelStyle,shape:d,labelText:h,rx:f,ry:f,class:s,style:c.style,id:i.id,link:i.link,linkTarget:i.linkTarget,tooltip:a.db.getTooltip(i.id)||"",domId:a.db.lookUpDomId(i.id),haveCallback:i.haveCallback,width:"group"===i.type?500:void 0,dir:i.dir,type:i.type,props:i.props,padding:vy().flowchart.padding}),l.info("setNode",{labelStyle:c.labelStyle,shape:d,labelText:h,rx:f,ry:f,class:s,style:c.style,id:i.id,domId:a.db.lookUpDomId(i.id),width:"group"===i.type?500:void 0,type:i.type,dir:i.dir,props:i.props,padding:vy().flowchart.padding});}));},TB=function(t,e,n){l.info("abc78 edges = ",t);let i,r,a=0,o={};if(void 0!==t.defaultStyle){const e=Jb(t.defaultStyle);i=e.style,r=e.labelStyle;}t.forEach((function(n){a++;var s="L-"+n.start+"-"+n.end;void 0===o[s]?(o[s]=0,l.info("abc78 new entry",s,o[s])):(o[s]++,l.info("abc78 new entry",s,o[s]));let c=s+"-"+o[s];l.info("abc78 new link id to be used is",s,c,o[s]);var u="LS-"+n.start,h="LE-"+n.end;const f={style:"",labelStyle:""};switch(f.minlen=n.length||1,"arrow_open"===n.type?f.arrowhead="none":f.arrowhead="normal",f.arrowTypeStart="arrow_open",f.arrowTypeEnd="arrow_open",n.type){case"double_arrow_cross":f.arrowTypeStart="arrow_cross";case"arrow_cross":f.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":f.arrowTypeStart="arrow_point";case"arrow_point":f.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":f.arrowTypeStart="arrow_circle";case"arrow_circle":f.arrowTypeEnd="arrow_circle";}let d="",g="";switch(n.stroke){case"normal":d="fill:none;",void 0!==i&&(d=i),void 0!==r&&(g=r),f.thickness="normal",f.pattern="solid";break;case"dotted":f.thickness="normal",f.pattern="dotted",f.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":f.thickness="thick",f.pattern="solid",f.style="stroke-width: 3.5px;fill:none;";}if(void 0!==n.style){const t=Jb(n.style);d=t.style,g=t.labelStyle;}f.style=f.style+=d,f.labelStyle=f.labelStyle+=g,void 0!==n.interpolate?f.curve=qb(n.interpolate,Ou):void 0!==t.defaultInterpolate?f.curve=qb(t.defaultInterpolate,Ou):f.curve=qb(_B.curve,Ou),void 0===n.text?void 0!==n.style&&(f.arrowheadStyle="fill: #333"):(f.arrowheadStyle="fill: #333",f.labelpos="c"),f.labelType="text",f.label=n.text.replace(Yh.lineBreakRegex,"\n"),void 0===n.style&&(f.style=f.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),f.labelStyle=f.labelStyle.replace("color:","fill:"),f.id=c,f.classes="flowchart-link "+u+" "+h,e.setEdge(n.start,n.end,f,a);}));},CB=function(t,e,n,i){l.info("Drawing flowchart"),i.db.clear(),nP.setGen("gen-2"),i.parser.parse(t);let r=i.db.getDirection();void 0===r&&(r="TD");const{securityLevel:a,flowchart:o}=vy(),s=o.nodeSpacing||50,c=o.rankSpacing||50;let u;"sandbox"===a&&(u=ln("#i"+e));const h=ln("sandbox"===a?u.nodes()[0].contentDocument.body:"body"),f="sandbox"===a?u.nodes()[0].contentDocument:document,d=new fM({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:s,ranksep:c,marginx:0,marginy:0}).setDefaultEdgeLabel((function(){return {}}));let g;const p=i.db.getSubGraphs();l.info("Subgraphs - ",p);for(let t=p.length-1;t>=0;t--)g=p[t],l.info("Subgraph - ",g),i.db.addVertex(g.id,g.title,"group",void 0,g.classes,g.dir);const b=i.db.getVertices(),w=i.db.getEdges();l.info("Edges",w);let y=0;for(y=p.length-1;y>=0;y--){g=p[y],hn("cluster").append("text");for(let t=0;tl&&C.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(c+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(c+1)+": Unexpected "+(m==h?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:b,expected:C});}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+m);switch(x[0]){case 1:n.push(m),r.push(d.yytext),a.push(d.yylloc),n.push(x[1]),m=null,u=d.yyleng,s=d.yytext,c=d.yylineno,b=d.yylloc;break;case 2:if(E=this.productions_[x[1]][1],S.$=r[r.length-E],S._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},w&&(S._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(S,[s,u,c,g.yy,x[1],r,a].concat(f))))return k;E&&(n=n.slice(0,-1*E*2),r=r.slice(0,-1*E),a=a.slice(0,-1*E)),n.push(this.productions_[x[1]][0]),r.push(S.$),a.push(S._$),T=o[n[n.length-2]][n[n.length-1]],n.push(T);break;case 3:return !0}}return !0}},k={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e);},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t));},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return (t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return !1}return !1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return !1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t);},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return (t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t);},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:return this.begin("open_directive"),40;case 1:return this.begin("type_directive"),41;case 2:return this.popState(),this.begin("arg_directive"),33;case 3:return this.popState(),this.popState(),43;case 4:return 42;case 5:return this.begin("acc_title"),21;case 6:return this.popState(),"acc_title_value";case 7:return this.begin("acc_descr"),23;case 8:return this.popState(),"acc_descr_value";case 9:this.begin("acc_descr_multiline");break;case 10:case 20:case 23:case 26:case 29:this.popState();break;case 11:return "acc_descr_multiline_value";case 12:case 13:case 14:case 16:case 17:case 18:break;case 15:return 11;case 19:this.begin("href");break;case 21:return 38;case 22:this.begin("callbackname");break;case 24:this.popState(),this.begin("callbackargs");break;case 25:return 36;case 27:return 37;case 28:this.begin("click");break;case 30:return 35;case 31:return 5;case 32:return 12;case 33:return 13;case 34:return 14;case 35:return 15;case 36:return 16;case 37:return 18;case 38:return 17;case 39:return 19;case 40:return "date";case 41:return 20;case 42:return "accDescription";case 43:return 26;case 44:return 28;case 45:return 29;case 46:return 33;case 47:return 7;case 48:return "INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[10,11],inclusive:!1},acc_descr:{rules:[8],inclusive:!1},acc_title:{rules:[6],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callbackargs:{rules:[26,27],inclusive:!1},callbackname:{rules:[23,24,25],inclusive:!1},href:{rules:[20,21],inclusive:!1},click:{rules:[29,30],inclusive:!1},INITIAL:{rules:[0,5,7,9,12,13,14,15,16,17,18,19,22,28,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};function _(){this.yy={};}return x.lexer=k,_.prototype=x,x.Parser=_,new _}();AB.parser=AB;const MB=AB,IB=t=>null!==t.match(/^\s*gantt/);var OB={};!function(t){var e;e=function(){var t="day";return function(e,n,i){var r=function(e){return e.add(4-e.isoWeekday(),t)},a=n.prototype;a.isoWeekYear=function(){return r(this).year()},a.isoWeek=function(e){if(!this.$utils().u(e))return this.add(7*(e-this.isoWeek()),t);var n,a,o,s=r(this),c=(n=this.isoWeekYear(),o=4-(a=(this.$u?i.utc:i)().year(n).startOf("year")).isoWeekday(),a.isoWeekday()>4&&(o+=7),a.add(o,t));return s.diff(c,"week")+1},a.isoWeekday=function(t){return this.$utils().u(t)?this.day()||7:this.day(this.day()%7?t:t-7)};var o=a.startOf;a.startOf=function(t,e){var n=this.$utils(),i=!!n.u(e)||e;return "isoweek"===n.p(t)?i?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):o.bind(this)(t,e)};}},t.exports=e();}({get exports(){return OB},set exports(t){OB=t;}});const LB=OB;var DB={};!function(t){var e;e=function(){var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d\d/,i=/\d\d?/,r=/\d*[^-_:/,()\s\d]+/,a={},o=function(t){return (t=+t)+(t>68?1900:2e3)},s=function(t){return function(e){this[t]=+e;}},c=[/[+-]\d\d:?(\d\d)?|Z/,function(t){(this.zone||(this.zone={})).offset=function(t){if(!t)return 0;if("Z"===t)return 0;var e=t.match(/([+-]|\d\d)/g),n=60*e[1]+(+e[2]||0);return 0===n?0:"+"===e[0]?-n:n}(t);}],u=function(t){var e=a[t];return e&&(e.indexOf?e:e.s.concat(e.f))},l=function(t,e){var n,i=a.meridiem;if(i){for(var r=1;r<=24;r+=1)if(t.indexOf(i(r,0,e))>-1){n=r>12;break}}else n=t===(e?"pm":"PM");return n},h={A:[r,function(t){this.afternoon=l(t,!1);}],a:[r,function(t){this.afternoon=l(t,!0);}],S:[/\d/,function(t){this.milliseconds=100*+t;}],SS:[n,function(t){this.milliseconds=10*+t;}],SSS:[/\d{3}/,function(t){this.milliseconds=+t;}],s:[i,s("seconds")],ss:[i,s("seconds")],m:[i,s("minutes")],mm:[i,s("minutes")],H:[i,s("hours")],h:[i,s("hours")],HH:[i,s("hours")],hh:[i,s("hours")],D:[i,s("day")],DD:[n,s("day")],Do:[r,function(t){var e=a.ordinal,n=t.match(/\d+/);if(this.day=n[0],e)for(var i=1;i<=31;i+=1)e(i).replace(/\[|\]/g,"")===t&&(this.day=i);}],M:[i,s("month")],MM:[n,s("month")],MMM:[r,function(t){var e=u("months"),n=(u("monthsShort")||e.map((function(t){return t.slice(0,3)}))).indexOf(t)+1;if(n<1)throw new Error;this.month=n%12||n;}],MMMM:[r,function(t){var e=u("months").indexOf(t)+1;if(e<1)throw new Error;this.month=e%12||e;}],Y:[/[+-]?\d+/,s("year")],YY:[n,function(t){this.year=o(t);}],YYYY:[/\d{4}/,s("year")],Z:c,ZZ:c};function f(n){var i,r;i=n,r=a&&a.formats;for(var o=(n=i.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(e,n,i){var a=i&&i.toUpperCase();return n||r[i]||t[i]||r[a].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(t,e,n){return e||n.slice(1)}))}))).match(e),s=o.length,c=0;c-1)return new Date(("X"===e?1e3:1)*t);var i=f(e)(t),r=i.year,a=i.month,o=i.day,s=i.hours,c=i.minutes,u=i.seconds,l=i.milliseconds,h=i.zone,d=new Date,g=o||(r||a?1:d.getDate()),p=r||d.getFullYear(),b=0;r&&!a||(b=a>0?a-1:d.getMonth());var w=s||0,y=c||0,m=u||0,v=l||0;return h?new Date(Date.UTC(p,b,g,w,y,m,v+60*h.offset*1e3)):n?new Date(Date.UTC(p,b,g,w,y,m,v)):new Date(p,b,g,w,y,m,v)}catch(t){return new Date("")}}(e,s,i),this.init(),h&&!0!==h&&(this.$L=this.locale(h).$L),l&&e!=this.format(s)&&(this.$d=new Date("")),a={};}else if(s instanceof Array)for(var d=s.length,g=1;g<=d;g+=1){o[1]=s[g-1];var p=n.apply(this,o);if(p.isValid()){this.$d=p.$d,this.$L=p.$L,this.init();break}g===d&&(this.$d=new Date(""));}else r.call(this,t);};}},t.exports=e();}({get exports(){return DB},set exports(t){DB=t;}});const NB=DB;var PB={};!function(t){var e;e=function(){return function(t,e){var n=e.prototype,i=n.format;n.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return i.bind(this)(t);var r=this.$utils(),a=(t||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(t){switch(t){case"Q":return Math.ceil((e.$M+1)/3);case"Do":return n.ordinal(e.$D);case"gggg":return e.weekYear();case"GGGG":return e.isoWeekYear();case"wo":return n.ordinal(e.week(),"W");case"w":case"ww":return r.s(e.week(),"w"===t?1:2,"0");case"W":case"WW":return r.s(e.isoWeek(),"W"===t?1:2,"0");case"k":case"kk":return r.s(String(0===e.$H?24:e.$H),"k"===t?1:2,"0");case"X":return Math.floor(e.$d.getTime()/1e3);case"x":return e.$d.getTime();case"z":return "["+e.offsetName()+"]";case"zzz":return "["+e.offsetName("long")+"]";default:return t}}));return i.bind(this)(a)};}},t.exports=e();}({get exports(){return PB},set exports(t){PB=t;}});const BB=PB;s.extend(LB),s.extend(NB),s.extend(BB);let RB,jB="",$B="",FB="",zB=[],HB=[],UB={},GB=[],qB=[],KB="";const YB=["active","done","crit","milestone"];let WB=[],XB=!1,VB=!1,ZB=0;const QB=function(){GB=[],qB=[],KB="",WB=[],oR=0,lR=void 0,hR=void 0,fR=[],jB="",$B="",RB=void 0,FB="",zB=[],HB=[],XB=!1,VB=!1,ZB=0,UB={},Zy();},JB=function(){let t=pR();const e=10;let n=0;for(;!t&&n=6&&n.includes("weekends"))||!!n.includes(t.format("dddd").toLowerCase())||n.includes(t.format(e.trim())))},eR=function(t,e,n,i){if(!n.length||t.manualEndTime)return;let r,a;r=t.startTime instanceof Date?s(t.startTime):s(t.startTime,e,!0),r=r.add(1,"d"),a=t.endTime instanceof Date?s(t.endTime):s(t.endTime,e,!0);const[o,c]=nR(r,a,e,n,i);t.endTime=o.toDate(),t.renderEndTime=c;},nR=function(t,e,n,i,r){let a=!1,o=null;for(;t<=e;)a||(o=e.toDate()),a=tR(t,n,i,r),a&&(e=e.add(1,"d")),t=t.add(1,"d");return [e,o]},iR=function(t,e,n){n=n.trim();const i=/^after\s+([\d\w- ]+)/.exec(n.trim());if(null!==i){let t=null;if(i[1].split(" ").forEach((function(e){let n=gR(e);void 0!==n&&(t?n.endTime>t.endTime&&(t=n):t=n);})),t)return t.endTime;{const t=new Date;return t.setHours(0,0,0,0),t}}let r=s(n,e.trim(),!0);if(r.isValid())return r.toDate();{l.debug("Invalid date:"+n),l.debug("With date format:"+e.trim());const t=new Date(n);if(void 0===t||isNaN(t.getTime()))throw new Error("Invalid date:"+n);return t}},rR=function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return null!==e?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},aR=function(t,e,n,i=!1){n=n.trim();let r=s(n,e.trim(),!0);if(r.isValid())return i&&(r=r.add(1,"d")),r.toDate();let a=s(t);const[o,c]=rR(n);if(!Number.isNaN(o)){const t=a.add(o,c);t.isValid()&&(a=t);}return a.toDate()};let oR=0;const sR=function(t){return void 0===t?(oR+=1,"task"+oR):t},cR=function(t,e){let n;n=":"===e.substr(0,1)?e.substr(1,e.length):e;const i=n.split(","),r={};xR(i,r,YB);for(let t=0;t{window.open(n,"_self");})),UB[t]=n);})),wR(t,"clickable");},wR=function(t,e){t.split(",").forEach((function(t){let n=gR(t);void 0!==n&&n.classes.push(e);}));},yR=function(t,e,n){if("loose"!==vy().securityLevel)return;if(void 0===e)return;let i=[];if("string"==typeof n){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t{ww.runFunc(e,...i);}));},mR=function(t,e){WB.push((function(){const n=document.querySelector(`[id="${t}"]`);null!==n&&n.addEventListener("click",(function(){e();}));}),(function(){const n=document.querySelector(`[id="${t}-text"]`);null!==n&&n.addEventListener("click",(function(){e();}));}));},vR={parseDirective:function(t,e,n){cU.parseDirective(this,t,e,n);},getConfig:()=>vy().gantt,clear:QB,setDateFormat:function(t){jB=t;},getDateFormat:function(){return jB},enableInclusiveEndDates:function(){XB=!0;},endDatesAreInclusive:function(){return XB},enableTopAxis:function(){VB=!0;},topAxisEnabled:function(){return VB},setAxisFormat:function(t){$B=t;},getAxisFormat:function(){return $B},setTickInterval:function(t){RB=t;},getTickInterval:function(){return RB},setTodayMarker:function(t){FB=t;},getTodayMarker:function(){return FB},setAccTitle:Qy,getAccTitle:Jy,setDiagramTitle:nm,getDiagramTitle:im,setAccDescription:tm,getAccDescription:em,addSection:function(t){KB=t,GB.push(t);},getSections:function(){return GB},getTasks:JB,addTask:function(t,e){const n={section:KB,type:KB,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:e},task:t,classes:[]},i=uR(hR,e);n.raw.startTime=i.startTime,n.raw.endTime=i.endTime,n.id=i.id,n.prevTaskId=hR,n.active=i.active,n.done=i.done,n.crit=i.crit,n.milestone=i.milestone,n.order=ZB,ZB++;const r=fR.push(n);hR=n.id,dR[n.id]=r-1;},findTaskById:gR,addTaskOrg:function(t,e){const n={section:KB,type:KB,description:t,task:t,classes:[]},i=cR(lR,e);n.startTime=i.startTime,n.endTime=i.endTime,n.id=i.id,n.active=i.active,n.done=i.done,n.crit=i.crit,n.milestone=i.milestone,lR=n,qB.push(n);},setIncludes:function(t){zB=t.toLowerCase().split(/[\s,]+/);},getIncludes:function(){return zB},setExcludes:function(t){HB=t.toLowerCase().split(/[\s,]+/);},getExcludes:function(){return HB},setClickEvent:function(t,e,n){t.split(",").forEach((function(t){yR(t,e,n);})),wR(t,"clickable");},setLink:bR,getLinks:function(){return UB},bindFunctions:function(t){WB.forEach((function(e){e(t);}));},parseDuration:rR,isInvalidDate:tR};function xR(t,e,n){let i=!0;for(;i;)i=!1,n.forEach((function(n){const r=new RegExp("^\\s*"+n+"\\s*$");t[0].match(r)&&(e[n]=!0,t.shift(1),i=!0);}));}let kR;const _R={setConf:function(){l.debug("Something is calling, setConf, remove the call");},draw:function(t,e,n,i){const r=vy().gantt,a=vy().securityLevel;let o;"sandbox"===a&&(o=ln("#i"+e));const c=ln("sandbox"===a?o.nodes()[0].contentDocument.body:"body"),u="sandbox"===a?o.nodes()[0].contentDocument:document,l=u.getElementById(e);kR=l.parentElement.offsetWidth,void 0===kR&&(kR=1200),void 0!==r.useWidth&&(kR=r.useWidth);const h=i.db.getTasks(),f=h.length*(r.barHeight+r.barGap)+2*r.topPadding;l.setAttribute("viewBox","0 0 "+kR+" "+f);const d=c.select(`[id="${e}"]`),g=ou().domain([U(h,(function(t){return t.startTime})),H(h,(function(t){return t.endTime}))]).rangeRound([0,kR-r.leftPadding-r.rightPadding]);let p=[];for(const t of h)p.push(t.type);const b=p;function w(t,e){const n=t.startTime,i=e.startTime;let r=0;return n>i?r=1:n0&&(n=t.classes.join(" "));let i=0;for(const[e,n]of p.entries())t.type===n&&(i=e%r.numberSectionStyles);let a="";return t.active?t.crit?a+=" activeCrit":a=" active":t.done?a=t.crit?" doneCrit":" done":t.crit&&(a+=" crit"),0===a.length&&(a=" task"),t.milestone&&(a=" milestone "+a),a+=i,a+=" "+n,e+a})),l.append("text").attr("id",(function(t){return t.id+"-text"})).text((function(t){return t.task})).attr("font-size",r.fontSize).attr("x",(function(t){let e=g(t.startTime),n=g(t.renderEndTime||t.endTime);t.milestone&&(e+=.5*(g(t.endTime)-g(t.startTime))-.5*s),t.milestone&&(n=e+s);const i=this.getBBox().width;return i>n-e?n+i+1.5*r.leftPadding>u?e+o-5:n+o+5:(n-e)/2+e+o})).attr("y",(function(t,e){return t.order*n+r.barHeight/2+(r.fontSize/2-2)+a})).attr("text-height",s).attr("class",(function(t){const e=g(t.startTime);let n=g(t.endTime);t.milestone&&(n=e+s);const i=this.getBBox().width;let a="";t.classes.length>0&&(a=t.classes.join(" "));let o=0;for(const[e,n]of p.entries())t.type===n&&(o=e%r.numberSectionStyles);let c="";return t.active&&(c=t.crit?"activeCritText"+o:"activeText"+o),t.done?c=t.crit?c+" doneCritText"+o:c+" doneText"+o:t.crit&&(c=c+" critText"+o),t.milestone&&(c+=" milestoneText"),i>n-e?n+i+1.5*r.leftPadding>u?a+" taskTextOutsideLeft taskTextOutside"+o+" "+c:a+" taskTextOutsideRight taskTextOutside"+o+" "+c+" width-"+i:a+" taskText taskText"+o+" "+c+" width-"+i})),"sandbox"===vy().securityLevel){let t;t=ln("#i"+e);const n=t.nodes()[0].contentDocument;l.filter((function(t){return void 0!==h[t.id]})).each((function(t){var e=n.querySelector("#"+t.id),i=n.querySelector("#"+t.id+"-text");const r=e.parentNode;var a=n.createElement("a");a.setAttribute("xlink:href",h[t.id]),a.setAttribute("target","_top"),r.appendChild(a),a.appendChild(e),a.appendChild(i);}));}}function v(t,e,n,a,o,c,u,l){const h=c.reduce(((t,{startTime:e})=>t?Math.min(t,e):e),0),f=c.reduce(((t,{endTime:e})=>t?Math.max(t,e):e),0),p=i.db.getDateFormat();if(!h||!f)return;const b=[];let w=null,y=s(h);for(;y.valueOf()<=f;)i.db.isInvalidDate(y,p,u,l)?w?w.end=y:w={start:y,end:y}:w&&(b.push(w),w=null),y=y.add(1,"d");d.append("g").selectAll("rect").data(b).enter().append("rect").attr("id",(function(t){return "exclude-"+t.start.format("YYYY-MM-DD")})).attr("x",(function(t){return g(t.start)+n})).attr("y",r.gridLineStartPadding).attr("width",(function(t){const e=t.end.add(1,"day");return g(e)-g(t.start)})).attr("height",o-e-r.gridLineStartPadding).attr("transform-origin",(function(e,i){return (g(e.start)+n+.5*(g(e.end)-g(e.start))).toString()+"px "+(i*t+.5*o).toString()+"px"})).attr("class","exclude-range");}function x(t,e,n,a){let o=it(g).tickSize(-a+e+r.gridLineStartPadding).tickFormat(js(i.db.getAxisFormat()||r.axisFormat||"%Y-%m-%d"));const s=/^([1-9]\d*)(minute|hour|day|week|month)$/.exec(i.db.getTickInterval()||r.tickInterval);if(null!==s){const t=s[1];switch(s[2]){case"minute":o.ticks(es.every(t));break;case"hour":o.ticks(is.every(t));break;case"day":o.ticks(as.every(t));break;case"week":o.ticks(ss.every(t));break;case"month":o.ticks(ps.every(t));}}if(d.append("g").attr("class","grid").attr("transform","translate("+t+", "+(a-50)+")").call(o).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),i.db.topAxisEnabled()||r.topAxis){let n=nt(g).tickSize(-a+e+r.gridLineStartPadding).tickFormat(js(i.db.getAxisFormat()||r.axisFormat||"%Y-%m-%d"));if(null!==s){const t=s[1];switch(s[2]){case"minute":n.ticks(es.every(t));break;case"hour":n.ticks(is.every(t));break;case"day":n.ticks(as.every(t));break;case"week":n.ticks(ss.every(t));break;case"month":n.ticks(ps.every(t));}}d.append("g").attr("class","grid").attr("transform","translate("+t+", "+e+")").call(n).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10);}}function k(t,e){const n=[];let i=0;for(const[t,e]of p.entries())n[t]=[e,C(e,b)];d.append("g").selectAll("text").data(n).enter().append((function(t){const e=t[0].split(Yh.lineBreakRegex),n=-(e.length-1)/2,i=u.createElementNS("http://www.w3.org/2000/svg","text");i.setAttribute("dy",n+"em");for(const[t,n]of e.entries()){const e=u.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttribute("alignment-baseline","central"),e.setAttribute("x","10"),t>0&&e.setAttribute("dy","1em"),e.textContent=n,i.appendChild(e);}return i})).attr("x",10).attr("y",(function(r,a){if(!(a>0))return r[1]*t/2+e;for(let o=0;ol&&C.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(c+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(c+1)+": Unexpected "+(m==h?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:b,expected:C});}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+m);switch(x[0]){case 1:n.push(m),r.push(d.yytext),a.push(d.yylloc),n.push(x[1]),m=null,u=d.yyleng,s=d.yytext,c=d.yylineno,b=d.yylloc;break;case 2:if(E=this.productions_[x[1]][1],S.$=r[r.length-E],S._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},w&&(S._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(S,[s,u,c,g.yy,x[1],r,a].concat(f))))return k;E&&(n=n.slice(0,-1*E*2),r=r.slice(0,-1*E),a=a.slice(0,-1*E)),n.push(this.productions_[x[1]][0]),r.push(S.$),a.push(S._$),T=o[n[n.length-2]][n[n.length-1]],n.push(T);break;case 3:return !0}}return !0}},i={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e);},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t));},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return (t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return !1}return !1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return !1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t);},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return (t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t);},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:return 4;case 1:return 9;case 2:return "space";case 3:return 10;case 4:return 6;case 5:return "TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};function r(){this.yy={};}return n.lexer=i,r.prototype=n,n.Parser=r,new r}();ER.parser=ER;const TR=ER;var CR="",SR=!1;const AR={setMessage:t=>{l.debug("Setting message to: "+t),CR=t;},getMessage:()=>CR,setInfo:t=>{SR=t;},getInfo:()=>SR,clear:Zy},MR={draw:(t,e,n)=>{try{l.debug("Rendering info diagram\n"+t);const i=vy().securityLevel;let r;"sandbox"===i&&(r=ln("#i"+e));const a=ln("sandbox"===i?r.nodes()[0].contentDocument.body:"body").select("#"+e);a.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size","32px").style("text-anchor","middle").text("v "+n),a.attr("height",100),a.attr("width",400);}catch(t){l.error("Error while rendering info diagram"),l.error(t.message);}}},IR=t=>null!==t.match(/^\s*info/);var OR=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,4],n=[1,5],i=[1,6],r=[1,7],a=[1,9],o=[1,11,13,15,17,19,20,26,27,28,29],s=[2,5],c=[1,6,11,13,15,17,19,20,26,27,28,29],u=[26,27,28],l=[2,8],h=[1,18],f=[1,19],d=[1,20],g=[1,21],p=[1,22],b=[1,23],w=[1,28],y=[6,26,27,28,29],m={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,PIE:6,document:7,showData:8,line:9,statement:10,txt:11,value:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,openDirective:21,typeDirective:22,closeDirective:23,":":24,argDirective:25,NEWLINE:26,";":27,EOF:28,open_directive:29,type_directive:30,arg_directive:31,close_directive:32,$accept:0,$end:1},terminals_:{2:"error",6:"PIE",8:"showData",11:"txt",12:"value",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",24:":",26:"NEWLINE",27:";",28:"EOF",29:"open_directive",30:"type_directive",31:"arg_directive",32:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,3],[7,0],[7,2],[9,2],[10,0],[10,2],[10,2],[10,2],[10,2],[10,1],[10,1],[10,1],[5,3],[5,5],[4,1],[4,1],[4,1],[21,1],[22,1],[25,1],[23,1]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 4:i.setShowData(!0);break;case 7:this.$=a[s-1];break;case 9:i.addSection(a[s-1],i.cleanupValue(a[s]));break;case 10:this.$=a[s].trim(),i.setDiagramTitle(this.$);break;case 11:this.$=a[s].trim(),i.setAccTitle(this.$);break;case 12:case 13:this.$=a[s].trim(),i.setAccDescription(this.$);break;case 14:i.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 21:i.parseDirective("%%{","open_directive");break;case 22:i.parseDirective(a[s],"type_directive");break;case 23:a[s]=a[s].trim().replace(/'/g,'"'),i.parseDirective(a[s],"arg_directive");break;case 24:i.parseDirective("}%%","close_directive","pie");}},table:[{3:1,4:2,5:3,6:e,21:8,26:n,27:i,28:r,29:a},{1:[3]},{3:10,4:2,5:3,6:e,21:8,26:n,27:i,28:r,29:a},{3:11,4:2,5:3,6:e,21:8,26:n,27:i,28:r,29:a},t(o,s,{7:12,8:[1,13]}),t(c,[2,18]),t(c,[2,19]),t(c,[2,20]),{22:14,30:[1,15]},{30:[2,21]},{1:[2,1]},{1:[2,2]},t(u,l,{21:8,9:16,10:17,5:24,1:[2,3],11:h,13:f,15:d,17:g,19:p,20:b,29:a}),t(o,s,{7:25}),{23:26,24:[1,27],32:w},t([24,32],[2,22]),t(o,[2,6]),{4:29,26:n,27:i,28:r},{12:[1,30]},{14:[1,31]},{16:[1,32]},{18:[1,33]},t(u,[2,13]),t(u,[2,14]),t(u,[2,15]),t(u,l,{21:8,9:16,10:17,5:24,1:[2,4],11:h,13:f,15:d,17:g,19:p,20:b,29:a}),t(y,[2,16]),{25:34,31:[1,35]},t(y,[2,24]),t(o,[2,7]),t(u,[2,9]),t(u,[2,10]),t(u,[2,11]),t(u,[2,12]),{23:36,32:w},{32:[2,23]},t(y,[2,17])],defaultActions:{9:[2,21],10:[2,1],11:[2,2],35:[2,23]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t);},parse:function(t){var e=this,n=[0],i=[],r=[null],a=[],o=this.table,s="",c=0,u=0,l=2,h=1,f=a.slice.call(arguments,1),d=Object.create(this.lexer),g={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(g.yy[p]=this.yy[p]);d.setInput(t,g.yy),g.yy.lexer=d,g.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var b=d.yylloc;a.push(b);var w=d.options&&d.options.ranges;function y(){var t;return "number"!=typeof(t=i.pop()||d.lex()||h)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,v,x,k,_,E,T,C,S={};;){if(v=n[n.length-1],this.defaultActions[v]?x=this.defaultActions[v]:(null==m&&(m=y()),x=o[v]&&o[v][m]),void 0===x||!x.length||!x[0]){var A="";for(_ in C=[],o[v])this.terminals_[_]&&_>l&&C.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(c+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(c+1)+": Unexpected "+(m==h?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:b,expected:C});}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+m);switch(x[0]){case 1:n.push(m),r.push(d.yytext),a.push(d.yylloc),n.push(x[1]),m=null,u=d.yyleng,s=d.yytext,c=d.yylineno,b=d.yylloc;break;case 2:if(E=this.productions_[x[1]][1],S.$=r[r.length-E],S._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},w&&(S._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(S,[s,u,c,g.yy,x[1],r,a].concat(f))))return k;E&&(n=n.slice(0,-1*E*2),r=r.slice(0,-1*E),a=a.slice(0,-1*E)),n.push(this.productions_[x[1]][0]),r.push(S.$),a.push(S._$),T=o[n[n.length-2]][n[n.length-1]],n.push(T);break;case 3:return !0}}return !0}},v={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e);},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t));},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return (t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return !1}return !1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return !1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t);},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return (t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t);},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:return this.begin("open_directive"),29;case 1:return this.begin("type_directive"),30;case 2:return this.popState(),this.begin("arg_directive"),24;case 3:return this.popState(),this.popState(),32;case 4:return 31;case 5:case 6:case 8:case 9:break;case 7:return 26;case 10:return this.begin("title"),13;case 11:return this.popState(),"title_value";case 12:return this.begin("acc_title"),15;case 13:return this.popState(),"acc_title_value";case 14:return this.begin("acc_descr"),17;case 15:return this.popState(),"acc_descr_value";case 16:this.begin("acc_descr_multiline");break;case 17:case 20:this.popState();break;case 18:return "acc_descr_multiline_value";case 19:this.begin("string");break;case 21:return "txt";case 22:return 6;case 23:return 8;case 24:return "value";case 25:return 28}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[17,18],inclusive:!1},acc_descr:{rules:[15],inclusive:!1},acc_title:{rules:[13],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},title:{rules:[11],inclusive:!1},string:{rules:[20,21],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,12,14,16,19,22,23,24,25],inclusive:!0}}};function x(){this.yy={};}return m.lexer=v,x.prototype=m,m.Parser=x,new x}();OR.parser=OR;const LR=OR,DR=t=>null!==t.match(/^\s*pie/)||null!==t.match(/^\s*bar/);let NR={},PR=!1;const BR={parseDirective:function(t,e,n){cU.parseDirective(this,t,e,n);},getConfig:()=>vy().pie,addSection:function(t,e){t=Yh.sanitizeText(t,vy()),void 0===NR[t]&&(NR[t]=e,l.debug("Added new section :",t));},getSections:()=>NR,cleanupValue:function(t){return ":"===t.substring(0,1)?(t=t.substring(1).trim(),Number(t.trim())):Number(t.trim())},clear:function(){NR={},PR=!1,Zy();},setAccTitle:Qy,getAccTitle:Jy,setDiagramTitle:nm,getDiagramTitle:im,setShowData:function(t){PR=t;},getShowData:function(){return PR},getAccDescription:em,setAccDescription:tm};let RR,jR=vy();const $R=450,FR={draw:(t,e,n,i)=>{try{jR=vy(),l.debug("Rendering info diagram\n"+t);const n=vy().securityLevel;let y;"sandbox"===n&&(y=ln("#i"+e));const m=ln("sandbox"===n?y.nodes()[0].contentDocument.body:"body"),v="sandbox"===n?y.nodes()[0].contentDocument:document;i.db.clear(),i.parser.parse(t),l.debug("Parsed info diagram");const x=v.getElementById(e);RR=x.parentElement.offsetWidth,void 0===RR&&(RR=1200),void 0!==jR.useWidth&&(RR=jR.useWidth),void 0!==jR.pie.useWidth&&(RR=jR.pie.useWidth);const k=m.select("#"+e);Iy(k,$R,RR,jR.pie.useMaxWidth),x.setAttribute("viewBox","0 0 "+RR+" "+$R);var r=40,a=18,o=4,s=Math.min(RR,$R)/2-r,c=k.append("g").attr("transform","translate("+RR/2+","+$R/2+")"),u=i.db.getSections(),h=0;Object.keys(u).forEach((function(t){h+=u[t];}));const _=jR.themeVariables;var f=[_.pie1,_.pie2,_.pie3,_.pie4,_.pie5,_.pie6,_.pie7,_.pie8,_.pie9,_.pie10,_.pie11,_.pie12],d=Eo().range(f),g=Object.entries(u).map((function(t,e){return {order:e,name:t[0],value:t[1]}})),p=Ru().value((function(t){return t.value})).sort((function(t,e){return t.order-e.order}))(g),b=Au().innerRadius(0).outerRadius(s);c.selectAll("mySlices").data(p).enter().append("path").attr("d",b).attr("fill",(function(t){return d(t.data.name)})).attr("class","pieCircle"),c.selectAll("mySlices").data(p).enter().append("text").text((function(t){return (t.data.value/h*100).toFixed(0)+"%"})).attr("transform",(function(t){return "translate("+b.centroid(t)+")"})).style("text-anchor","middle").attr("class","slice"),c.append("text").text(i.db.getDiagramTitle()).attr("x",0).attr("y",-($R-50)/2).attr("class","pieTitleText");var w=c.selectAll(".legend").data(d.domain()).enter().append("g").attr("class","legend").attr("transform",(function(t,e){const n=a+o,i=n*d.domain().length/2;return "translate("+12*a+","+(e*n-i)+")"}));w.append("rect").attr("width",a).attr("height",a).style("fill",d).style("stroke",d),w.data(p).append("text").attr("x",a+o).attr("y",a-o).text((function(t){return i.db.getShowData()||jR.showData||jR.pie.showData?t.data.name+" ["+t.data.value+"]":t.data.name}));}catch(t){l.error("Error while rendering info diagram"),l.error(t);}}};var zR=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,3],n=[1,5],i=[1,6],r=[1,7],a=[1,8],o=[5,6,8,14,16,18,19,40,41,42,43,44,45,53,71,72],s=[1,22],c=[2,13],u=[1,26],l=[1,27],h=[1,28],f=[1,29],d=[1,30],g=[1,31],p=[1,24],b=[1,32],w=[1,33],y=[1,36],m=[71,72],v=[5,8,14,16,18,19,40,41,42,43,44,45,53,60,62,71,72],x=[1,56],k=[1,57],_=[1,58],E=[1,59],T=[1,60],C=[1,61],S=[1,62],A=[62,63],M=[1,74],I=[1,70],O=[1,71],L=[1,72],D=[1,73],N=[1,75],P=[1,79],B=[1,80],R=[1,77],j=[1,78],$=[5,8,14,16,18,19,40,41,42,43,44,45,53,71,72],F={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,openDirective:9,typeDirective:10,closeDirective:11,":":12,argDirective:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,requirementDef:23,elementDef:24,relationshipDef:25,requirementType:26,requirementName:27,STRUCT_START:28,requirementBody:29,ID:30,COLONSEP:31,id:32,TEXT:33,text:34,RISK:35,riskLevel:36,VERIFYMTHD:37,verifyType:38,STRUCT_STOP:39,REQUIREMENT:40,FUNCTIONAL_REQUIREMENT:41,INTERFACE_REQUIREMENT:42,PERFORMANCE_REQUIREMENT:43,PHYSICAL_REQUIREMENT:44,DESIGN_CONSTRAINT:45,LOW_RISK:46,MED_RISK:47,HIGH_RISK:48,VERIFY_ANALYSIS:49,VERIFY_DEMONSTRATION:50,VERIFY_INSPECTION:51,VERIFY_TEST:52,ELEMENT:53,elementName:54,elementBody:55,TYPE:56,type:57,DOCREF:58,ref:59,END_ARROW_L:60,relationship:61,LINE:62,END_ARROW_R:63,CONTAINS:64,COPIES:65,DERIVES:66,SATISFIES:67,VERIFIES:68,REFINES:69,TRACES:70,unqString:71,qString:72,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",12:":",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"open_directive",20:"type_directive",21:"arg_directive",22:"close_directive",28:"STRUCT_START",30:"ID",31:"COLONSEP",33:"TEXT",35:"RISK",37:"VERIFYMTHD",39:"STRUCT_STOP",40:"REQUIREMENT",41:"FUNCTIONAL_REQUIREMENT",42:"INTERFACE_REQUIREMENT",43:"PERFORMANCE_REQUIREMENT",44:"PHYSICAL_REQUIREMENT",45:"DESIGN_CONSTRAINT",46:"LOW_RISK",47:"MED_RISK",48:"HIGH_RISK",49:"VERIFY_ANALYSIS",50:"VERIFY_DEMONSTRATION",51:"VERIFY_INSPECTION",52:"VERIFY_TEST",53:"ELEMENT",56:"TYPE",58:"DOCREF",60:"END_ARROW_L",62:"LINE",63:"END_ARROW_R",64:"CONTAINS",65:"COPIES",66:"DERIVES",67:"SATISFIES",68:"VERIFIES",69:"REFINES",70:"TRACES",71:"unqString",72:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,3],[4,5],[4,2],[4,2],[4,1],[9,1],[10,1],[13,1],[11,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[23,5],[29,5],[29,5],[29,5],[29,5],[29,2],[29,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[36,1],[36,1],[36,1],[38,1],[38,1],[38,1],[38,1],[24,5],[55,5],[55,5],[55,2],[55,1],[25,5],[25,5],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[27,1],[27,1],[32,1],[32,1],[34,1],[34,1],[54,1],[54,1],[57,1],[57,1],[59,1],[59,1]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 6:this.$=a[s].trim(),i.setAccTitle(this.$);break;case 7:case 8:this.$=a[s].trim(),i.setAccDescription(this.$);break;case 9:i.parseDirective("%%{","open_directive");break;case 10:i.parseDirective(a[s],"type_directive");break;case 11:a[s]=a[s].trim().replace(/'/g,'"'),i.parseDirective(a[s],"arg_directive");break;case 12:i.parseDirective("}%%","close_directive","pie");break;case 13:this.$=[];break;case 19:i.addRequirement(a[s-3],a[s-4]);break;case 20:i.setNewReqId(a[s-2]);break;case 21:i.setNewReqText(a[s-2]);break;case 22:i.setNewReqRisk(a[s-2]);break;case 23:i.setNewReqVerifyMethod(a[s-2]);break;case 26:this.$=i.RequirementType.REQUIREMENT;break;case 27:this.$=i.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 28:this.$=i.RequirementType.INTERFACE_REQUIREMENT;break;case 29:this.$=i.RequirementType.PERFORMANCE_REQUIREMENT;break;case 30:this.$=i.RequirementType.PHYSICAL_REQUIREMENT;break;case 31:this.$=i.RequirementType.DESIGN_CONSTRAINT;break;case 32:this.$=i.RiskLevel.LOW_RISK;break;case 33:this.$=i.RiskLevel.MED_RISK;break;case 34:this.$=i.RiskLevel.HIGH_RISK;break;case 35:this.$=i.VerifyType.VERIFY_ANALYSIS;break;case 36:this.$=i.VerifyType.VERIFY_DEMONSTRATION;break;case 37:this.$=i.VerifyType.VERIFY_INSPECTION;break;case 38:this.$=i.VerifyType.VERIFY_TEST;break;case 39:i.addElement(a[s-3]);break;case 40:i.setNewElementType(a[s-2]);break;case 41:i.setNewElementDocRef(a[s-2]);break;case 44:i.addRelationship(a[s-2],a[s],a[s-4]);break;case 45:i.addRelationship(a[s-2],a[s-4],a[s]);break;case 46:this.$=i.Relationships.CONTAINS;break;case 47:this.$=i.Relationships.COPIES;break;case 48:this.$=i.Relationships.DERIVES;break;case 49:this.$=i.Relationships.SATISFIES;break;case 50:this.$=i.Relationships.VERIFIES;break;case 51:this.$=i.Relationships.REFINES;break;case 52:this.$=i.Relationships.TRACES;}},table:[{3:1,4:2,6:e,9:4,14:n,16:i,18:r,19:a},{1:[3]},{3:10,4:2,5:[1,9],6:e,9:4,14:n,16:i,18:r,19:a},{5:[1,11]},{10:12,20:[1,13]},{15:[1,14]},{17:[1,15]},t(o,[2,8]),{20:[2,9]},{3:16,4:2,6:e,9:4,14:n,16:i,18:r,19:a},{1:[2,2]},{4:21,5:s,7:17,8:c,9:4,14:n,16:i,18:r,19:a,23:18,24:19,25:20,26:23,32:25,40:u,41:l,42:h,43:f,44:d,45:g,53:p,71:b,72:w},{11:34,12:[1,35],22:y},t([12,22],[2,10]),t(o,[2,6]),t(o,[2,7]),{1:[2,1]},{8:[1,37]},{4:21,5:s,7:38,8:c,9:4,14:n,16:i,18:r,19:a,23:18,24:19,25:20,26:23,32:25,40:u,41:l,42:h,43:f,44:d,45:g,53:p,71:b,72:w},{4:21,5:s,7:39,8:c,9:4,14:n,16:i,18:r,19:a,23:18,24:19,25:20,26:23,32:25,40:u,41:l,42:h,43:f,44:d,45:g,53:p,71:b,72:w},{4:21,5:s,7:40,8:c,9:4,14:n,16:i,18:r,19:a,23:18,24:19,25:20,26:23,32:25,40:u,41:l,42:h,43:f,44:d,45:g,53:p,71:b,72:w},{4:21,5:s,7:41,8:c,9:4,14:n,16:i,18:r,19:a,23:18,24:19,25:20,26:23,32:25,40:u,41:l,42:h,43:f,44:d,45:g,53:p,71:b,72:w},{4:21,5:s,7:42,8:c,9:4,14:n,16:i,18:r,19:a,23:18,24:19,25:20,26:23,32:25,40:u,41:l,42:h,43:f,44:d,45:g,53:p,71:b,72:w},{27:43,71:[1,44],72:[1,45]},{54:46,71:[1,47],72:[1,48]},{60:[1,49],62:[1,50]},t(m,[2,26]),t(m,[2,27]),t(m,[2,28]),t(m,[2,29]),t(m,[2,30]),t(m,[2,31]),t(v,[2,55]),t(v,[2,56]),t(o,[2,4]),{13:51,21:[1,52]},t(o,[2,12]),{1:[2,3]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{8:[2,17]},{8:[2,18]},{28:[1,53]},{28:[2,53]},{28:[2,54]},{28:[1,54]},{28:[2,59]},{28:[2,60]},{61:55,64:x,65:k,66:_,67:E,68:T,69:C,70:S},{61:63,64:x,65:k,66:_,67:E,68:T,69:C,70:S},{11:64,22:y},{22:[2,11]},{5:[1,65]},{5:[1,66]},{62:[1,67]},t(A,[2,46]),t(A,[2,47]),t(A,[2,48]),t(A,[2,49]),t(A,[2,50]),t(A,[2,51]),t(A,[2,52]),{63:[1,68]},t(o,[2,5]),{5:M,29:69,30:I,33:O,35:L,37:D,39:N},{5:P,39:B,55:76,56:R,58:j},{32:81,71:b,72:w},{32:82,71:b,72:w},t($,[2,19]),{31:[1,83]},{31:[1,84]},{31:[1,85]},{31:[1,86]},{5:M,29:87,30:I,33:O,35:L,37:D,39:N},t($,[2,25]),t($,[2,39]),{31:[1,88]},{31:[1,89]},{5:P,39:B,55:90,56:R,58:j},t($,[2,43]),t($,[2,44]),t($,[2,45]),{32:91,71:b,72:w},{34:92,71:[1,93],72:[1,94]},{36:95,46:[1,96],47:[1,97],48:[1,98]},{38:99,49:[1,100],50:[1,101],51:[1,102],52:[1,103]},t($,[2,24]),{57:104,71:[1,105],72:[1,106]},{59:107,71:[1,108],72:[1,109]},t($,[2,42]),{5:[1,110]},{5:[1,111]},{5:[2,57]},{5:[2,58]},{5:[1,112]},{5:[2,32]},{5:[2,33]},{5:[2,34]},{5:[1,113]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[2,38]},{5:[1,114]},{5:[2,61]},{5:[2,62]},{5:[1,115]},{5:[2,63]},{5:[2,64]},{5:M,29:116,30:I,33:O,35:L,37:D,39:N},{5:M,29:117,30:I,33:O,35:L,37:D,39:N},{5:M,29:118,30:I,33:O,35:L,37:D,39:N},{5:M,29:119,30:I,33:O,35:L,37:D,39:N},{5:P,39:B,55:120,56:R,58:j},{5:P,39:B,55:121,56:R,58:j},t($,[2,20]),t($,[2,21]),t($,[2,22]),t($,[2,23]),t($,[2,40]),t($,[2,41])],defaultActions:{8:[2,9],10:[2,2],16:[2,1],37:[2,3],38:[2,14],39:[2,15],40:[2,16],41:[2,17],42:[2,18],44:[2,53],45:[2,54],47:[2,59],48:[2,60],52:[2,11],93:[2,57],94:[2,58],96:[2,32],97:[2,33],98:[2,34],100:[2,35],101:[2,36],102:[2,37],103:[2,38],105:[2,61],106:[2,62],108:[2,63],109:[2,64]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t);},parse:function(t){var e=this,n=[0],i=[],r=[null],a=[],o=this.table,s="",c=0,u=0,l=2,h=1,f=a.slice.call(arguments,1),d=Object.create(this.lexer),g={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(g.yy[p]=this.yy[p]);d.setInput(t,g.yy),g.yy.lexer=d,g.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var b=d.yylloc;a.push(b);var w=d.options&&d.options.ranges;function y(){var t;return "number"!=typeof(t=i.pop()||d.lex()||h)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,v,x,k,_,E,T,C,S={};;){if(v=n[n.length-1],this.defaultActions[v]?x=this.defaultActions[v]:(null==m&&(m=y()),x=o[v]&&o[v][m]),void 0===x||!x.length||!x[0]){var A="";for(_ in C=[],o[v])this.terminals_[_]&&_>l&&C.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(c+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(c+1)+": Unexpected "+(m==h?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:b,expected:C});}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+m);switch(x[0]){case 1:n.push(m),r.push(d.yytext),a.push(d.yylloc),n.push(x[1]),m=null,u=d.yyleng,s=d.yytext,c=d.yylineno,b=d.yylloc;break;case 2:if(E=this.productions_[x[1]][1],S.$=r[r.length-E],S._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},w&&(S._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(S,[s,u,c,g.yy,x[1],r,a].concat(f))))return k;E&&(n=n.slice(0,-1*E*2),r=r.slice(0,-1*E),a=a.slice(0,-1*E)),n.push(this.productions_[x[1]][0]),r.push(S.$),a.push(S._$),T=o[n[n.length-2]][n[n.length-1]],n.push(T);break;case 3:return !0}}return !0}},z={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e);},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t));},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return (t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return !1}return !1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return !1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t);},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return (t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t);},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:return this.begin("open_directive"),19;case 1:return this.begin("type_directive"),20;case 2:return this.popState(),this.begin("arg_directive"),12;case 3:return this.popState(),this.popState(),22;case 4:return 21;case 5:return "title";case 6:return this.begin("acc_title"),14;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),16;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 53:this.popState();break;case 12:return "acc_descr_multiline_value";case 13:return 5;case 14:case 15:case 16:break;case 17:return 8;case 18:return 6;case 19:return 28;case 20:return 39;case 21:return 31;case 22:return 30;case 23:return 33;case 24:return 35;case 25:return 37;case 26:return 40;case 27:return 41;case 28:return 42;case 29:return 43;case 30:return 44;case 31:return 45;case 32:return 46;case 33:return 47;case 34:return 48;case 35:return 49;case 36:return 50;case 37:return 51;case 38:return 52;case 39:return 53;case 40:return 64;case 41:return 65;case 42:return 66;case 43:return 67;case 44:return 68;case 45:return 69;case 46:return 70;case 47:return 56;case 48:return 58;case 49:return 60;case 50:return 63;case 51:return 62;case 52:this.begin("string");break;case 54:return "qString";case 55:return e.yytext=e.yytext.trim(),71}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[53,54],inclusive:!1},INITIAL:{rules:[0,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,55],inclusive:!0}}};function H(){this.yy={};}return F.lexer=z,H.prototype=F,F.Parser=H,new H}();zR.parser=zR;const HR=zR,UR=t=>null!==t.match(/^\s*requirement(Diagram)?/);let GR=[],qR={},KR={},YR={},WR={};const XR={RequirementType:{REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},RiskLevel:{LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},VerifyType:{VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},Relationships:{CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},parseDirective:function(t,e,n){cU.parseDirective(this,t,e,n);},getConfig:()=>vy().req,addRequirement:(t,e)=>(void 0===KR[t]&&(KR[t]={name:t,type:e,id:qR.id,text:qR.text,risk:qR.risk,verifyMethod:qR.verifyMethod}),qR={},KR[t]),getRequirements:()=>KR,setNewReqId:t=>{void 0!==qR&&(qR.id=t);},setNewReqText:t=>{void 0!==qR&&(qR.text=t);},setNewReqRisk:t=>{void 0!==qR&&(qR.risk=t);},setNewReqVerifyMethod:t=>{void 0!==qR&&(qR.verifyMethod=t);},setAccTitle:Qy,getAccTitle:Jy,setAccDescription:tm,getAccDescription:em,addElement:t=>(void 0===WR[t]&&(WR[t]={name:t,type:YR.type,docRef:YR.docRef},l.info("Added new requirement: ",t)),YR={},WR[t]),getElements:()=>WR,setNewElementType:t=>{void 0!==YR&&(YR.type=t);},setNewElementDocRef:t=>{void 0!==YR&&(YR.docRef=t);},addRelationship:(t,e,n)=>{GR.push({type:t,src:e,dst:n});},getRelationships:()=>GR,clear:()=>{GR=[],qR={},KR={},YR={},WR={},Zy();}},VR={CONTAINS:"contains",ARROW:"arrow"},ZR={ReqMarkers:VR,insertLineEndings:(t,e)=>{let n=t.append("defs").append("marker").attr("id",VR.CONTAINS+"_line_ending").attr("refX",0).attr("refY",e.line_height/2).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("g");n.append("circle").attr("cx",e.line_height/2).attr("cy",e.line_height/2).attr("r",e.line_height/2).attr("fill","none"),n.append("line").attr("x1",0).attr("x2",e.line_height).attr("y1",e.line_height/2).attr("y2",e.line_height/2).attr("stroke-width",1),n.append("line").attr("y1",0).attr("y2",e.line_height).attr("x1",e.line_height/2).attr("x2",e.line_height/2).attr("stroke-width",1),t.append("defs").append("marker").attr("id",VR.ARROW+"_line_ending").attr("refX",e.line_height).attr("refY",.5*e.line_height).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("path").attr("d",`M0,0\n      L${e.line_height},${e.line_height/2}\n      M${e.line_height},${e.line_height/2}\n      L0,${e.line_height}`).attr("stroke-width",1);}};let QR={},JR=0;const tj=(t,e)=>t.insert("rect","#"+e).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",QR.rect_min_width+"px").attr("height",QR.rect_min_height+"px"),ej=(t,e,n)=>{let i=QR.rect_min_width/2,r=t.append("text").attr("class","req reqLabel reqTitle").attr("id",e).attr("x",i).attr("y",QR.rect_padding).attr("dominant-baseline","hanging"),a=0;n.forEach((t=>{0==a?r.append("tspan").attr("text-anchor","middle").attr("x",QR.rect_min_width/2).attr("dy",0).text(t):r.append("tspan").attr("text-anchor","middle").attr("x",QR.rect_min_width/2).attr("dy",.75*QR.line_height).text(t),a++;}));let o=1.5*QR.rect_padding+a*QR.line_height*.75;return t.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",QR.rect_min_width).attr("y1",o).attr("y2",o),{titleNode:r,y:o}},nj=(t,e,n,i)=>{let r=t.append("text").attr("class","req reqLabel").attr("id",e).attr("x",QR.rect_padding).attr("y",i).attr("dominant-baseline","hanging"),a=0;const o=30;let s=[];return n.forEach((t=>{let e=t.length;for(;e>o&&a<3;){let n=t.substring(0,o);e=(t=t.substring(o,t.length)).length,s[s.length]=n,a++;}if(3==a){let t=s[s.length-1];s[s.length-1]=t.substring(0,t.length-4)+"...";}else s[s.length]=t;a=0;})),s.forEach((t=>{r.append("tspan").attr("x",QR.rect_padding).attr("dy",QR.line_height).text(t);})),r},ij=(t,e,n,i)=>{const r=e.node().getTotalLength(),a=e.node().getPointAtLength(.5*r),o="rel"+JR;JR++;const s=t.append("text").attr("class","req relationshipLabel").attr("id",o).attr("x",a.x).attr("y",a.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(i).node().getBBox();t.insert("rect","#"+o).attr("class","req reqLabelBox").attr("x",a.x-s.width/2).attr("y",a.y-s.height/2).attr("width",s.width).attr("height",s.height).attr("fill","white").attr("fill-opacity","85%");},rj=function(t,e,n,i,r){const a=n.edge(uj(e.src),uj(e.dst)),o=Nu().x((function(t){return t.x})).y((function(t){return t.y})),s=t.insert("path","#"+i).attr("class","er relationshipLine").attr("d",o(a.points)).attr("fill","none");e.type==r.db.Relationships.CONTAINS?s.attr("marker-start","url("+Yh.getUrl(QR.arrowMarkerAbsolute)+"#"+e.type+"_line_ending)"):(s.attr("stroke-dasharray","10,7"),s.attr("marker-end","url("+Yh.getUrl(QR.arrowMarkerAbsolute)+"#"+ZR.ReqMarkers.ARROW+"_line_ending)")),ij(t,s,QR,`<<${e.type}>>`);},aj=(t,e,n)=>{Object.keys(t).forEach((i=>{let r=t[i];i=uj(i),l.info("Added new requirement: ",i);const a=n.append("g").attr("id",i),o=tj(a,"req-"+i);let s=ej(a,i+"_title",[`<<${r.type}>>`,`${r.name}`]);nj(a,i+"_body",[`Id: ${r.id}`,`Text: ${r.text}`,`Risk: ${r.risk}`,`Verification: ${r.verifyMethod}`],s.y);const c=o.node().getBBox();e.setNode(i,{width:c.width,height:c.height,shape:"rect",id:i});}));},oj=(t,e,n)=>{Object.keys(t).forEach((i=>{let r=t[i];const a=uj(i),o=n.append("g").attr("id",a),s="element-"+a,c=tj(o,s);let u=ej(o,s+"_title",["<>",`${i}`]);nj(o,s+"_body",[`Type: ${r.type||"Not Specified"}`,`Doc Ref: ${r.docRef||"None"}`],u.y);const l=c.node().getBBox();e.setNode(a,{width:l.width,height:l.height,shape:"rect",id:a});}));},sj=(t,e)=>(t.forEach((function(t){let n=uj(t.src),i=uj(t.dst);e.setEdge(n,i,{relationship:t});})),t),cj=function(t,e){e.nodes().forEach((function(n){void 0!==n&&void 0!==e.node(n)&&(t.select("#"+n),t.select("#"+n).attr("transform","translate("+(e.node(n).x-e.node(n).width/2)+","+(e.node(n).y-e.node(n).height/2)+" )"));}));},uj=t=>t.replace(/\s/g,"").replace(/\./g,"_"),lj={draw:(t,e,n,i)=>{QR=vy().requirement,i.db.clear(),i.parser.parse(t);const r=QR.securityLevel;let a;"sandbox"===r&&(a=ln("#i"+e));const o=ln("sandbox"===r?a.nodes()[0].contentDocument.body:"body").select(`[id='${e}']`);ZR.insertLineEndings(o,QR);const s=new fM({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:QR.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel((function(){return {}}));let c=i.db.getRequirements(),u=i.db.getElements(),l=i.db.getRelationships();aj(c,s,o),oj(u,s,o),sj(l,s),bO(s),cj(o,s),l.forEach((function(t){rj(o,t,s,e,i);}));const h=QR.rect_padding,f=o.node().getBBox(),d=f.width+2*h,g=f.height+2*h;Iy(o,g,d,QR.useMaxWidth),o.attr("viewBox",`${f.x-h} ${f.y-h} ${d} ${g}`);}};var hj=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,2],n=[1,3],i=[1,5],r=[1,7],a=[2,5],o=[1,15],s=[1,17],c=[1,19],u=[1,21],l=[1,22],h=[1,23],f=[1,29],d=[1,30],g=[1,31],p=[1,32],b=[1,33],w=[1,34],y=[1,35],m=[1,36],v=[1,37],x=[1,38],k=[1,39],_=[1,40],E=[1,42],T=[1,43],C=[1,45],S=[1,46],A=[1,47],M=[1,48],I=[1,49],O=[1,50],L=[1,53],D=[1,4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,51,52,53,54,56,57,62,63,64,65,73,83],N=[4,5,21,54,56],P=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,54,56,57,62,63,64,65,73,83],B=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,53,54,56,57,62,63,64,65,73,83],R=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,52,54,56,57,62,63,64,65,73,83],j=[4,5,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,51,54,56,57,62,63,64,65,73,83],$=[71,72,73],F=[1,125],z=[1,4,5,7,19,21,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,51,52,53,54,56,57,62,63,64,65,73,83],H={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,directive:6,SD:7,document:8,line:9,statement:10,box_section:11,box_line:12,participant_statement:13,openDirective:14,typeDirective:15,closeDirective:16,":":17,argDirective:18,box:19,restOfLine:20,end:21,signal:22,autonumber:23,NUM:24,off:25,activate:26,actor:27,deactivate:28,note_statement:29,links_statement:30,link_statement:31,properties_statement:32,details_statement:33,title:34,legacy_title:35,acc_title:36,acc_title_value:37,acc_descr:38,acc_descr_value:39,acc_descr_multiline_value:40,loop:41,rect:42,opt:43,alt:44,else_sections:45,par:46,par_sections:47,critical:48,option_sections:49,break:50,option:51,and:52,else:53,participant:54,AS:55,participant_actor:56,note:57,placement:58,text2:59,over:60,actor_pair:61,links:62,link:63,properties:64,details:65,spaceList:66,",":67,left_of:68,right_of:69,signaltype:70,"+":71,"-":72,ACTOR:73,SOLID_OPEN_ARROW:74,DOTTED_OPEN_ARROW:75,SOLID_ARROW:76,DOTTED_ARROW:77,SOLID_CROSS:78,DOTTED_CROSS:79,SOLID_POINT:80,DOTTED_POINT:81,TXT:82,open_directive:83,type_directive:84,arg_directive:85,close_directive:86,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",7:"SD",17:":",19:"box",20:"restOfLine",21:"end",23:"autonumber",24:"NUM",25:"off",26:"activate",28:"deactivate",34:"title",35:"legacy_title",36:"acc_title",37:"acc_title_value",38:"acc_descr",39:"acc_descr_value",40:"acc_descr_multiline_value",41:"loop",42:"rect",43:"opt",44:"alt",46:"par",48:"critical",50:"break",51:"option",52:"and",53:"else",54:"participant",55:"AS",56:"participant_actor",57:"note",60:"over",62:"links",63:"link",64:"properties",65:"details",67:",",68:"left_of",69:"right_of",71:"+",72:"-",73:"ACTOR",74:"SOLID_OPEN_ARROW",75:"DOTTED_OPEN_ARROW",76:"SOLID_ARROW",77:"DOTTED_ARROW",78:"SOLID_CROSS",79:"DOTTED_CROSS",80:"SOLID_POINT",81:"DOTTED_POINT",82:"TXT",83:"open_directive",84:"type_directive",85:"arg_directive",86:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[11,0],[11,2],[12,2],[12,1],[12,1],[6,4],[6,6],[10,1],[10,4],[10,2],[10,4],[10,3],[10,3],[10,2],[10,3],[10,3],[10,2],[10,2],[10,2],[10,2],[10,2],[10,1],[10,1],[10,2],[10,2],[10,1],[10,4],[10,4],[10,4],[10,4],[10,4],[10,4],[10,4],[10,1],[49,1],[49,4],[47,1],[47,4],[45,1],[45,4],[13,5],[13,3],[13,5],[13,3],[29,4],[29,4],[30,3],[31,3],[32,3],[33,3],[66,2],[66,1],[61,3],[61,1],[58,1],[58,1],[22,5],[22,5],[22,4],[27,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[70,1],[59,1],[14,1],[15,1],[18,1],[16,1]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 4:return i.apply(a[s]),a[s];case 5:case 10:case 9:case 14:this.$=[];break;case 6:case 11:a[s-1].push(a[s]),this.$=a[s-1];break;case 7:case 8:case 12:case 13:case 63:this.$=a[s];break;case 18:a[s-1].unshift({type:"boxStart",boxData:i.parseBoxData(a[s-2])}),a[s-1].push({type:"boxEnd",boxText:a[s-2]}),this.$=a[s-1];break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(a[s-2]),sequenceIndexStep:Number(a[s-1]),sequenceVisible:!0,signalType:i.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceIndex:Number(a[s-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:i.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:i.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:i.LINETYPE.AUTONUMBER};break;case 24:this.$={type:"activeStart",signalType:i.LINETYPE.ACTIVE_START,actor:a[s-1]};break;case 25:this.$={type:"activeEnd",signalType:i.LINETYPE.ACTIVE_END,actor:a[s-1]};break;case 31:i.setDiagramTitle(a[s].substring(6)),this.$=a[s].substring(6);break;case 32:i.setDiagramTitle(a[s].substring(7)),this.$=a[s].substring(7);break;case 33:this.$=a[s].trim(),i.setAccTitle(this.$);break;case 34:case 35:this.$=a[s].trim(),i.setAccDescription(this.$);break;case 36:a[s-1].unshift({type:"loopStart",loopText:i.parseMessage(a[s-2]),signalType:i.LINETYPE.LOOP_START}),a[s-1].push({type:"loopEnd",loopText:a[s-2],signalType:i.LINETYPE.LOOP_END}),this.$=a[s-1];break;case 37:a[s-1].unshift({type:"rectStart",color:i.parseMessage(a[s-2]),signalType:i.LINETYPE.RECT_START}),a[s-1].push({type:"rectEnd",color:i.parseMessage(a[s-2]),signalType:i.LINETYPE.RECT_END}),this.$=a[s-1];break;case 38:a[s-1].unshift({type:"optStart",optText:i.parseMessage(a[s-2]),signalType:i.LINETYPE.OPT_START}),a[s-1].push({type:"optEnd",optText:i.parseMessage(a[s-2]),signalType:i.LINETYPE.OPT_END}),this.$=a[s-1];break;case 39:a[s-1].unshift({type:"altStart",altText:i.parseMessage(a[s-2]),signalType:i.LINETYPE.ALT_START}),a[s-1].push({type:"altEnd",signalType:i.LINETYPE.ALT_END}),this.$=a[s-1];break;case 40:a[s-1].unshift({type:"parStart",parText:i.parseMessage(a[s-2]),signalType:i.LINETYPE.PAR_START}),a[s-1].push({type:"parEnd",signalType:i.LINETYPE.PAR_END}),this.$=a[s-1];break;case 41:a[s-1].unshift({type:"criticalStart",criticalText:i.parseMessage(a[s-2]),signalType:i.LINETYPE.CRITICAL_START}),a[s-1].push({type:"criticalEnd",signalType:i.LINETYPE.CRITICAL_END}),this.$=a[s-1];break;case 42:a[s-1].unshift({type:"breakStart",breakText:i.parseMessage(a[s-2]),signalType:i.LINETYPE.BREAK_START}),a[s-1].push({type:"breakEnd",optText:i.parseMessage(a[s-2]),signalType:i.LINETYPE.BREAK_END}),this.$=a[s-1];break;case 45:this.$=a[s-3].concat([{type:"option",optionText:i.parseMessage(a[s-1]),signalType:i.LINETYPE.CRITICAL_OPTION},a[s]]);break;case 47:this.$=a[s-3].concat([{type:"and",parText:i.parseMessage(a[s-1]),signalType:i.LINETYPE.PAR_AND},a[s]]);break;case 49:this.$=a[s-3].concat([{type:"else",altText:i.parseMessage(a[s-1]),signalType:i.LINETYPE.ALT_ELSE},a[s]]);break;case 50:a[s-3].type="addParticipant",a[s-3].description=i.parseMessage(a[s-1]),this.$=a[s-3];break;case 51:a[s-1].type="addParticipant",this.$=a[s-1];break;case 52:a[s-3].type="addActor",a[s-3].description=i.parseMessage(a[s-1]),this.$=a[s-3];break;case 53:a[s-1].type="addActor",this.$=a[s-1];break;case 54:this.$=[a[s-1],{type:"addNote",placement:a[s-2],actor:a[s-1].actor,text:a[s]}];break;case 55:a[s-2]=[].concat(a[s-1],a[s-1]).slice(0,2),a[s-2][0]=a[s-2][0].actor,a[s-2][1]=a[s-2][1].actor,this.$=[a[s-1],{type:"addNote",placement:i.PLACEMENT.OVER,actor:a[s-2].slice(0,2),text:a[s]}];break;case 56:this.$=[a[s-1],{type:"addLinks",actor:a[s-1].actor,text:a[s]}];break;case 57:this.$=[a[s-1],{type:"addALink",actor:a[s-1].actor,text:a[s]}];break;case 58:this.$=[a[s-1],{type:"addProperties",actor:a[s-1].actor,text:a[s]}];break;case 59:this.$=[a[s-1],{type:"addDetails",actor:a[s-1].actor,text:a[s]}];break;case 62:this.$=[a[s-2],a[s]];break;case 64:this.$=i.PLACEMENT.LEFTOF;break;case 65:this.$=i.PLACEMENT.RIGHTOF;break;case 66:this.$=[a[s-4],a[s-1],{type:"addMessage",from:a[s-4].actor,to:a[s-1].actor,signalType:a[s-3],msg:a[s]},{type:"activeStart",signalType:i.LINETYPE.ACTIVE_START,actor:a[s-1]}];break;case 67:this.$=[a[s-4],a[s-1],{type:"addMessage",from:a[s-4].actor,to:a[s-1].actor,signalType:a[s-3],msg:a[s]},{type:"activeEnd",signalType:i.LINETYPE.ACTIVE_END,actor:a[s-4]}];break;case 68:this.$=[a[s-3],a[s-1],{type:"addMessage",from:a[s-3].actor,to:a[s-1].actor,signalType:a[s-2],msg:a[s]}];break;case 69:this.$={type:"addParticipant",actor:a[s]};break;case 70:this.$=i.LINETYPE.SOLID_OPEN;break;case 71:this.$=i.LINETYPE.DOTTED_OPEN;break;case 72:this.$=i.LINETYPE.SOLID;break;case 73:this.$=i.LINETYPE.DOTTED;break;case 74:this.$=i.LINETYPE.SOLID_CROSS;break;case 75:this.$=i.LINETYPE.DOTTED_CROSS;break;case 76:this.$=i.LINETYPE.SOLID_POINT;break;case 77:this.$=i.LINETYPE.DOTTED_POINT;break;case 78:this.$=i.parseMessage(a[s].trim().substring(1));break;case 79:i.parseDirective("%%{","open_directive");break;case 80:i.parseDirective(a[s],"type_directive");break;case 81:a[s]=a[s].trim().replace(/'/g,'"'),i.parseDirective(a[s],"arg_directive");break;case 82:i.parseDirective("}%%","close_directive","sequence");}},table:[{3:1,4:e,5:n,6:4,7:i,14:6,83:r},{1:[3]},{3:8,4:e,5:n,6:4,7:i,14:6,83:r},{3:9,4:e,5:n,6:4,7:i,14:6,83:r},{3:10,4:e,5:n,6:4,7:i,14:6,83:r},t([1,4,5,19,23,26,28,34,35,36,38,40,41,42,43,44,46,48,50,54,56,57,62,63,64,65,73,83],a,{8:11}),{15:12,84:[1,13]},{84:[2,79]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:o,5:s,6:41,9:14,10:16,13:18,14:6,19:c,22:20,23:u,26:l,27:44,28:h,29:24,30:25,31:26,32:27,33:28,34:f,35:d,36:g,38:p,40:b,41:w,42:y,43:m,44:v,46:x,48:k,50:_,54:E,56:T,57:C,62:S,63:A,64:M,65:I,73:O,83:r},{16:51,17:[1,52],86:L},t([17,86],[2,80]),t(D,[2,6]),{6:41,10:54,13:18,14:6,19:c,22:20,23:u,26:l,27:44,28:h,29:24,30:25,31:26,32:27,33:28,34:f,35:d,36:g,38:p,40:b,41:w,42:y,43:m,44:v,46:x,48:k,50:_,54:E,56:T,57:C,62:S,63:A,64:M,65:I,73:O,83:r},t(D,[2,8]),t(D,[2,9]),t(D,[2,17]),{20:[1,55]},{5:[1,56]},{5:[1,59],24:[1,57],25:[1,58]},{27:60,73:O},{27:61,73:O},{5:[1,62]},{5:[1,63]},{5:[1,64]},{5:[1,65]},{5:[1,66]},t(D,[2,31]),t(D,[2,32]),{37:[1,67]},{39:[1,68]},t(D,[2,35]),{20:[1,69]},{20:[1,70]},{20:[1,71]},{20:[1,72]},{20:[1,73]},{20:[1,74]},{20:[1,75]},t(D,[2,43]),{27:76,73:O},{27:77,73:O},{70:78,74:[1,79],75:[1,80],76:[1,81],77:[1,82],78:[1,83],79:[1,84],80:[1,85],81:[1,86]},{58:87,60:[1,88],68:[1,89],69:[1,90]},{27:91,73:O},{27:92,73:O},{27:93,73:O},{27:94,73:O},t([5,55,67,74,75,76,77,78,79,80,81,82],[2,69]),{5:[1,95]},{18:96,85:[1,97]},{5:[2,82]},t(D,[2,7]),t(N,[2,10],{11:98}),t(D,[2,19]),{5:[1,100],24:[1,99]},{5:[1,101]},t(D,[2,23]),{5:[1,102]},{5:[1,103]},t(D,[2,26]),t(D,[2,27]),t(D,[2,28]),t(D,[2,29]),t(D,[2,30]),t(D,[2,33]),t(D,[2,34]),t(P,a,{8:104}),t(P,a,{8:105}),t(P,a,{8:106}),t(B,a,{45:107,8:108}),t(R,a,{47:109,8:110}),t(j,a,{49:111,8:112}),t(P,a,{8:113}),{5:[1,115],55:[1,114]},{5:[1,117],55:[1,116]},{27:120,71:[1,118],72:[1,119],73:O},t($,[2,70]),t($,[2,71]),t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t($,[2,76]),t($,[2,77]),{27:121,73:O},{27:123,61:122,73:O},{73:[2,64]},{73:[2,65]},{59:124,82:F},{59:126,82:F},{59:127,82:F},{59:128,82:F},t(z,[2,15]),{16:129,86:L},{86:[2,81]},{4:[1,132],5:[1,134],12:131,13:133,21:[1,130],54:E,56:T},{5:[1,135]},t(D,[2,21]),t(D,[2,22]),t(D,[2,24]),t(D,[2,25]),{4:o,5:s,6:41,9:14,10:16,13:18,14:6,19:c,21:[1,136],22:20,23:u,26:l,27:44,28:h,29:24,30:25,31:26,32:27,33:28,34:f,35:d,36:g,38:p,40:b,41:w,42:y,43:m,44:v,46:x,48:k,50:_,54:E,56:T,57:C,62:S,63:A,64:M,65:I,73:O,83:r},{4:o,5:s,6:41,9:14,10:16,13:18,14:6,19:c,21:[1,137],22:20,23:u,26:l,27:44,28:h,29:24,30:25,31:26,32:27,33:28,34:f,35:d,36:g,38:p,40:b,41:w,42:y,43:m,44:v,46:x,48:k,50:_,54:E,56:T,57:C,62:S,63:A,64:M,65:I,73:O,83:r},{4:o,5:s,6:41,9:14,10:16,13:18,14:6,19:c,21:[1,138],22:20,23:u,26:l,27:44,28:h,29:24,30:25,31:26,32:27,33:28,34:f,35:d,36:g,38:p,40:b,41:w,42:y,43:m,44:v,46:x,48:k,50:_,54:E,56:T,57:C,62:S,63:A,64:M,65:I,73:O,83:r},{21:[1,139]},{4:o,5:s,6:41,9:14,10:16,13:18,14:6,19:c,21:[2,48],22:20,23:u,26:l,27:44,28:h,29:24,30:25,31:26,32:27,33:28,34:f,35:d,36:g,38:p,40:b,41:w,42:y,43:m,44:v,46:x,48:k,50:_,53:[1,140],54:E,56:T,57:C,62:S,63:A,64:M,65:I,73:O,83:r},{21:[1,141]},{4:o,5:s,6:41,9:14,10:16,13:18,14:6,19:c,21:[2,46],22:20,23:u,26:l,27:44,28:h,29:24,30:25,31:26,32:27,33:28,34:f,35:d,36:g,38:p,40:b,41:w,42:y,43:m,44:v,46:x,48:k,50:_,52:[1,142],54:E,56:T,57:C,62:S,63:A,64:M,65:I,73:O,83:r},{21:[1,143]},{4:o,5:s,6:41,9:14,10:16,13:18,14:6,19:c,21:[2,44],22:20,23:u,26:l,27:44,28:h,29:24,30:25,31:26,32:27,33:28,34:f,35:d,36:g,38:p,40:b,41:w,42:y,43:m,44:v,46:x,48:k,50:_,51:[1,144],54:E,56:T,57:C,62:S,63:A,64:M,65:I,73:O,83:r},{4:o,5:s,6:41,9:14,10:16,13:18,14:6,19:c,21:[1,145],22:20,23:u,26:l,27:44,28:h,29:24,30:25,31:26,32:27,33:28,34:f,35:d,36:g,38:p,40:b,41:w,42:y,43:m,44:v,46:x,48:k,50:_,54:E,56:T,57:C,62:S,63:A,64:M,65:I,73:O,83:r},{20:[1,146]},t(D,[2,51]),{20:[1,147]},t(D,[2,53]),{27:148,73:O},{27:149,73:O},{59:150,82:F},{59:151,82:F},{59:152,82:F},{67:[1,153],82:[2,63]},{5:[2,56]},{5:[2,78]},{5:[2,57]},{5:[2,58]},{5:[2,59]},{5:[1,154]},t(D,[2,18]),t(N,[2,11]),{13:155,54:E,56:T},t(N,[2,13]),t(N,[2,14]),t(D,[2,20]),t(D,[2,36]),t(D,[2,37]),t(D,[2,38]),t(D,[2,39]),{20:[1,156]},t(D,[2,40]),{20:[1,157]},t(D,[2,41]),{20:[1,158]},t(D,[2,42]),{5:[1,159]},{5:[1,160]},{59:161,82:F},{59:162,82:F},{5:[2,68]},{5:[2,54]},{5:[2,55]},{27:163,73:O},t(z,[2,16]),t(N,[2,12]),t(B,a,{8:108,45:164}),t(R,a,{8:110,47:165}),t(j,a,{8:112,49:166}),t(D,[2,50]),t(D,[2,52]),{5:[2,66]},{5:[2,67]},{82:[2,62]},{21:[2,49]},{21:[2,47]},{21:[2,45]}],defaultActions:{7:[2,79],8:[2,1],9:[2,2],10:[2,3],53:[2,82],89:[2,64],90:[2,65],97:[2,81],124:[2,56],125:[2,78],126:[2,57],127:[2,58],128:[2,59],150:[2,68],151:[2,54],152:[2,55],161:[2,66],162:[2,67],163:[2,62],164:[2,49],165:[2,47],166:[2,45]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t);},parse:function(t){var e=this,n=[0],i=[],r=[null],a=[],o=this.table,s="",c=0,u=0,l=2,h=1,f=a.slice.call(arguments,1),d=Object.create(this.lexer),g={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(g.yy[p]=this.yy[p]);d.setInput(t,g.yy),g.yy.lexer=d,g.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var b=d.yylloc;a.push(b);var w=d.options&&d.options.ranges;function y(){var t;return "number"!=typeof(t=i.pop()||d.lex()||h)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,v,x,k,_,E,T,C,S={};;){if(v=n[n.length-1],this.defaultActions[v]?x=this.defaultActions[v]:(null==m&&(m=y()),x=o[v]&&o[v][m]),void 0===x||!x.length||!x[0]){var A="";for(_ in C=[],o[v])this.terminals_[_]&&_>l&&C.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(c+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(c+1)+": Unexpected "+(m==h?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:b,expected:C});}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+m);switch(x[0]){case 1:n.push(m),r.push(d.yytext),a.push(d.yylloc),n.push(x[1]),m=null,u=d.yyleng,s=d.yytext,c=d.yylineno,b=d.yylloc;break;case 2:if(E=this.productions_[x[1]][1],S.$=r[r.length-E],S._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},w&&(S._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(S,[s,u,c,g.yy,x[1],r,a].concat(f))))return k;E&&(n=n.slice(0,-1*E*2),r=r.slice(0,-1*E),a=a.slice(0,-1*E)),n.push(this.productions_[x[1]][0]),r.push(S.$),a.push(S._$),T=o[n[n.length-2]][n[n.length-1]],n.push(T);break;case 3:return !0}}return !0}},U={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e);},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t));},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return (t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return !1}return !1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return !1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t);},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return (t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t);},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:return this.begin("open_directive"),83;case 1:return this.begin("type_directive"),84;case 2:return this.popState(),this.begin("arg_directive"),17;case 3:return this.popState(),this.popState(),86;case 4:return 85;case 5:case 53:case 66:return 5;case 6:case 7:case 8:case 9:case 10:break;case 11:return 24;case 12:return this.begin("LINE"),19;case 13:return this.begin("ID"),54;case 14:return this.begin("ID"),56;case 15:return e.yytext=e.yytext.trim(),this.begin("ALIAS"),73;case 16:return this.popState(),this.popState(),this.begin("LINE"),55;case 17:return this.popState(),this.popState(),5;case 18:return this.begin("LINE"),41;case 19:return this.begin("LINE"),42;case 20:return this.begin("LINE"),43;case 21:return this.begin("LINE"),44;case 22:return this.begin("LINE"),53;case 23:return this.begin("LINE"),46;case 24:return this.begin("LINE"),52;case 25:return this.begin("LINE"),48;case 26:return this.begin("LINE"),51;case 27:return this.begin("LINE"),50;case 28:return this.popState(),20;case 29:return 21;case 30:return 68;case 31:return 69;case 32:return 62;case 33:return 63;case 34:return 64;case 35:return 65;case 36:return 60;case 37:return 57;case 38:return this.begin("ID"),26;case 39:return this.begin("ID"),28;case 40:return 34;case 41:return 35;case 42:return this.begin("acc_title"),36;case 43:return this.popState(),"acc_title_value";case 44:return this.begin("acc_descr"),38;case 45:return this.popState(),"acc_descr_value";case 46:this.begin("acc_descr_multiline");break;case 47:this.popState();break;case 48:return "acc_descr_multiline_value";case 49:return 7;case 50:return 23;case 51:return 25;case 52:return 67;case 54:return e.yytext=e.yytext.trim(),73;case 55:return 76;case 56:return 77;case 57:return 74;case 58:return 75;case 59:return 78;case 60:return 79;case 61:return 80;case 62:return 81;case 63:return 82;case 64:return 71;case 65:return 72;case 67:return "INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:[^\->:\n,;]+?([\-]*[^\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[47,48],inclusive:!1},acc_descr:{rules:[45],inclusive:!1},acc_title:{rules:[43],inclusive:!1},open_directive:{rules:[1,8],inclusive:!1},type_directive:{rules:[2,3,8],inclusive:!1},arg_directive:{rules:[3,4,8],inclusive:!1},ID:{rules:[7,8,15],inclusive:!1},ALIAS:{rules:[7,8,16,17],inclusive:!1},LINE:{rules:[7,8,28],inclusive:!1},INITIAL:{rules:[0,5,6,8,9,10,11,12,13,14,18,19,20,21,22,23,24,25,26,27,29,30,31,32,33,34,35,36,37,38,39,40,41,42,44,46,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67],inclusive:!0}}};function G(){this.yy={};}return H.lexer=U,G.prototype=H,H.Parser=G,new G}();hj.parser=hj;const fj=hj,dj=t=>null!==t.match(/^\s*sequenceDiagram/);let gj,pj,bj,wj={},yj=[],mj=[],vj=!1;const xj=function(t){yj.push({name:t.text,wrap:void 0===t.wrap&&Sj()||!!t.wrap,fill:t.color,actorKeys:[]}),bj=yj.slice(-1)[0];},kj=function(t,e,n,i){let r=bj;const a=wj[t];if(a){if(bj&&a.box&&bj!==a.box)throw new Error("A same participant should only be defined in one Box: "+a.name+" can't be in '"+a.box.name+"' and in '"+bj.name+"' at the same time.");if(r=a.box?a.box:bj,a.box=r,a&&e===a.name&&null==n)return}null!=n&&null!=n.text||(n={text:e,wrap:null,type:i}),null!=i&&null!=n.text||(n={text:e,wrap:null,type:i}),wj[t]={box:r,name:e,description:n.text,wrap:void 0===n.wrap&&Sj()||!!n.wrap,prevActor:gj,links:{},properties:{},actorCnt:null,rectData:null,type:i||"participant"},gj&&wj[gj]&&(wj[gj].nextActor=t),bj&&bj.actorKeys.push(t),gj=t;},_j=t=>{let e,n=0;for(e=0;e>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},e}return mj.push({from:t,to:e,message:n.text,wrap:void 0===n.wrap&&Sj()||!!n.wrap,type:i}),!0},Cj=function(t){return wj[t]},Sj=()=>void 0!==pj?pj:vy().sequence.wrap,Aj={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31},Mj=function(t,e,n){n.text,void 0===n.wrap&&Sj()||n.wrap;const i=[].concat(t,t);mj.push({from:i[0],to:i[1],message:n.text,wrap:void 0===n.wrap&&Sj()||!!n.wrap,type:Aj.NOTE,placement:e});},Ij=function(t,e){const n=Cj(t);try{let t=Fh(e.text,vy());t=t.replace(/&/g,"&"),t=t.replace(/=/g,"="),Lj(n,JSON.parse(t));}catch(t){l.error("error while parsing actor link text",t);}},Oj=function(t,e){const n=Cj(t);try{const t={};let o=Fh(e.text,vy());var i=o.indexOf("@");o=o.replace(/&/g,"&"),o=o.replace(/=/g,"=");var r=o.slice(0,i-1).trim(),a=o.slice(i+1).trim();t[r]=a,Lj(n,t);}catch(t){l.error("error while parsing actor link text",t);}};function Lj(t,e){if(null==t.links)t.links=e;else for(let n in e)t.links[n]=e[n];}const Dj=function(t,e){const n=Cj(t);try{let t=Fh(e.text,vy());Nj(n,JSON.parse(t));}catch(t){l.error("error while parsing actor properties text",t);}};function Nj(t,e){if(null==t.properties)t.properties=e;else for(let n in e)t.properties[n]=e[n];}function Pj(){bj=void 0;}const Bj=function(t,e){const n=Cj(t),i=document.getElementById(e.text);try{const t=i.innerHTML,e=JSON.parse(t);e.properties&&Nj(n,e.properties),e.links&&Lj(n,e.links);}catch(t){l.error("error while parsing actor details text",t);}},Rj=function(t){if(Array.isArray(t))t.forEach((function(t){Rj(t);}));else switch(t.type){case"sequenceIndex":mj.push({from:void 0,to:void 0,message:{start:t.sequenceIndex,step:t.sequenceIndexStep,visible:t.sequenceVisible},wrap:!1,type:t.signalType});break;case"addParticipant":kj(t.actor,t.actor,t.description,"participant");break;case"addActor":kj(t.actor,t.actor,t.description,"actor");break;case"activeStart":case"activeEnd":Tj(t.actor,void 0,void 0,t.signalType);break;case"addNote":Mj(t.actor,t.placement,t.text);break;case"addLinks":Ij(t.actor,t.text);break;case"addALink":Oj(t.actor,t.text);break;case"addProperties":Dj(t.actor,t.text);break;case"addDetails":Bj(t.actor,t.text);break;case"addMessage":Tj(t.from,t.to,t.msg,t.signalType);break;case"boxStart":xj(t.boxData);break;case"boxEnd":Pj();break;case"loopStart":Tj(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":case"rectEnd":case"optEnd":case"altEnd":case"parEnd":case"criticalEnd":case"breakEnd":Tj(void 0,void 0,void 0,t.signalType);break;case"rectStart":Tj(void 0,void 0,t.color,t.signalType);break;case"optStart":Tj(void 0,void 0,t.optText,t.signalType);break;case"altStart":case"else":Tj(void 0,void 0,t.altText,t.signalType);break;case"setAccTitle":Qy(t.text);break;case"parStart":case"and":Tj(void 0,void 0,t.parText,t.signalType);break;case"criticalStart":Tj(void 0,void 0,t.criticalText,t.signalType);break;case"option":Tj(void 0,void 0,t.optionText,t.signalType);break;case"breakStart":Tj(void 0,void 0,t.breakText,t.signalType);}},jj={addActor:kj,addMessage:Ej,addSignal:Tj,addLinks:Ij,addDetails:Bj,addProperties:Dj,autoWrap:Sj,setWrap:function(t){pj=t;},enableSequenceNumbers:function(){vj=!0;},disableSequenceNumbers:function(){vj=!1;},showSequenceNumbers:()=>vj,getMessages:function(){return mj},getActors:function(){return wj},getActor:Cj,getActorKeys:function(){return Object.keys(wj)},getActorProperty:function(t,e){if(void 0!==t&&void 0!==t.properties)return t.properties[e]},getAccTitle:Jy,getBoxes:function(){return yj},getDiagramTitle:im,setDiagramTitle:nm,parseDirective:function(t,e,n){cU.parseDirective(this,t,e,n);},getConfig:()=>vy().sequence,clear:function(){wj={},yj=[],mj=[],vj=!1,Zy();},parseMessage:function(t){const e=t.trim(),n={text:e.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:null!==e.match(/^:?wrap:/)||null===e.match(/^:?nowrap:/)&&void 0};return l.debug("parseMessage:",n),n},parseBoxData:function(t){const e=t.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/);let n=null!=e&&e[1]?e[1].trim():"transparent",i=null!=e&&e[2]?e[2].trim():void 0;if(window&&window.CSS)window.CSS.supports("color",n)||(n="transparent",i=t.trim());else {const e=(new Option).style;e.color=n,e.color!==n&&(n="transparent",i=t.trim());}return {color:n,text:void 0!==i?Fh(i.replace(/^:?(?:no)?wrap:/,""),vy()):void 0,wrap:void 0!==i?null!==i.match(/^:?wrap:/)||null===i.match(/^:?nowrap:/)&&void 0:void 0}},LINETYPE:Aj,ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},addNote:Mj,setAccTitle:Qy,apply:Rj,setAccDescription:tm,getAccDescription:em,hasAtLeastOneBox:function(){return yj.length>0},hasAtLeastOneBoxWithTitle:function(){return yj.some((t=>t.name))}};let $j=[];const Fj=t=>{$j.push(t);},zj=()=>{$j.forEach((t=>{t();})),$j=[];},Hj=function(t,e){const n=t.append("rect");return n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),n.attr("rx",e.rx),n.attr("ry",e.ry),void 0!==e.class&&n.attr("class",e.class),n},Uj=(t,e)=>{Fj((()=>{const n=document.querySelectorAll(t);0!==n.length&&(n[0].addEventListener("mouseover",(function(){Xj("actor"+e+"_popup");})),n[0].addEventListener("mouseout",(function(){Vj("actor"+e+"_popup");})));}));},Gj=function(t,e,n,i,r){if(void 0===e.links||null===e.links||0===Object.keys(e.links).length)return {height:0,width:0};const a=e.links,o=e.actorCnt,s=e.rectData;var c="none";r&&(c="block !important");const u=t.append("g");u.attr("id","actor"+o+"_popup"),u.attr("class","actorPopupMenu"),u.attr("display",c),Uj("#actor"+o+"_popup",o);var l="";void 0!==s.class&&(l=" "+s.class);let h=s.width>n?s.width:n;const f=u.append("rect");if(f.attr("class","actorPopupMenuPanel"+l),f.attr("x",s.x),f.attr("y",s.height),f.attr("fill",s.fill),f.attr("stroke",s.stroke),f.attr("width",h),f.attr("height",s.height),f.attr("rx",s.rx),f.attr("ry",s.ry),null!=a){var d=20;for(let t in a){var g=u.append("a"),b=p(a[t]);g.attr("xlink:href",b),g.attr("target","_blank"),m$(i)(t,g,s.x+10,s.height+d,h,20,{class:"actor"},i),d+=30;}}return f.attr("height",d),{height:s.height+d,width:h}},qj=function(t,e,n,i){const r=t.append("image");r.attr("x",e),r.attr("y",n);var a=p(i);r.attr("xlink:href",a);},Kj=function(t,e,n,i){const r=t.append("use");r.attr("x",e),r.attr("y",n);var a=p(i);r.attr("xlink:href","#"+a);},Yj=function(t){return "var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = 'block'; }"},Wj=function(t){return "var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = 'none'; }"},Xj=function(t){var e=document.getElementById(t);null!=e&&(e.style.display="block");},Vj=function(t){var e=document.getElementById(t);null!=e&&(e.style.display="none");},Zj=function(t,e){let n=0,i=0;const r=e.text.split(Yh.lineBreakRegex),[a,o]=bw(e.fontSize);let s=[],c=0,u=()=>e.y;if(void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0)switch(e.valign){case"top":case"start":u=()=>Math.round(e.y+e.textMargin);break;case"middle":case"center":u=()=>Math.round(e.y+(n+i+e.textMargin)/2);break;case"bottom":case"end":u=()=>Math.round(e.y+(n+i+2*e.textMargin)-e.textMargin);}if(void 0!==e.anchor&&void 0!==e.textMargin&&void 0!==e.width)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";}for(let[l,h]of r.entries()){void 0!==e.textMargin&&0===e.textMargin&&void 0!==a&&(c=l*a);const r=t.append("text");if(r.attr("x",e.x),r.attr("y",u()),void 0!==e.anchor&&r.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),void 0!==e.fontFamily&&r.style("font-family",e.fontFamily),void 0!==o&&r.style("font-size",o),void 0!==e.fontWeight&&r.style("font-weight",e.fontWeight),void 0!==e.fill&&r.attr("fill",e.fill),void 0!==e.class&&r.attr("class",e.class),void 0!==e.dy?r.attr("dy",e.dy):0!==c&&r.attr("dy",c),e.tspan){const t=r.append("tspan");t.attr("x",e.x),void 0!==e.fill&&t.attr("fill",e.fill),t.text(h);}else r.text(h);void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0&&(i+=(r._groups||r)[0][0].getBBox().height,n=i),s.push(r);}return s},Qj=function(t,e){function n(t,e,n,i,r){return t+","+e+" "+(t+n)+","+e+" "+(t+n)+","+(e+i-r)+" "+(t+n-1.2*r)+","+(e+i)+" "+t+","+(e+i)}const i=t.append("polygon");return i.attr("points",n(e.x,e.y,e.width,e.height,7)),i.attr("class","labelBox"),e.y=e.y+e.height/2,Zj(t,e),i};let Jj=-1;const t$=(t,e)=>{t.selectAll&&t.selectAll(".actor-line").attr("class","200").attr("y2",e-55);},e$=function(t,e,n,i){const r=e.x+e.width/2,a=e.y+5,o=t.append("g");var s=o;i||(Jj++,s.append("line").attr("id","actor"+Jj).attr("x1",r).attr("y1",a).attr("x2",r).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"),s=o.append("g"),e.actorCnt=Jj,null!=e.links&&(s.attr("id","root-"+Jj),Uj("#root-"+Jj,Jj)));const c=w$();var u="actor";null!=e.properties&&e.properties.class?u=e.properties.class:c.fill="#eaeaea",c.x=e.x,c.y=e.y,c.width=e.width,c.height=e.height,c.class=u,c.rx=3,c.ry=3;const l=Hj(s,c);if(e.rectData=c,null!=e.properties&&e.properties.icon){const t=e.properties.icon.trim();"@"===t.charAt(0)?Kj(s,c.x+c.width-20,c.y+10,t.substr(1)):qj(s,c.x+c.width-20,c.y+10,t);}y$(n)(e.description,s,c.x,c.y,c.width,c.height,{class:"actor"},n);let h=e.height;if(l.node){const t=l.node().getBBox();e.height=t.height,h=t.height;}return h},n$=function(t,e,n,i){const r=e.x+e.width/2,a=e.y+80;i||(Jj++,t.append("line").attr("id","actor"+Jj).attr("x1",r).attr("y1",a).attr("x2",r).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"));const o=t.append("g");o.attr("class","actor-man");const s=w$();s.x=e.x,s.y=e.y,s.fill="#eaeaea",s.width=e.width,s.height=e.height,s.class="actor",s.rx=3,s.ry=3,o.append("line").attr("id","actor-man-torso"+Jj).attr("x1",r).attr("y1",e.y+25).attr("x2",r).attr("y2",e.y+45),o.append("line").attr("id","actor-man-arms"+Jj).attr("x1",r-18).attr("y1",e.y+33).attr("x2",r+18).attr("y2",e.y+33),o.append("line").attr("x1",r-18).attr("y1",e.y+60).attr("x2",r).attr("y2",e.y+45),o.append("line").attr("x1",r).attr("y1",e.y+45).attr("x2",r+16).attr("y2",e.y+60);const c=o.append("circle");c.attr("cx",e.x+e.width/2),c.attr("cy",e.y+10),c.attr("r",15),c.attr("width",e.width),c.attr("height",e.height);const u=o.node().getBBox();return e.height=u.height,y$(n)(e.description,o,s.x,s.y+35,s.width,s.height,{class:"actor"},n),e.height},i$=function(t,e,n,i){switch(e.type){case"actor":return n$(t,e,n,i);case"participant":return e$(t,e,n,i)}},r$=function(t,e,n){const i=t.append("g");c$(i,e),e.name&&y$(n)(e.name,i,e.x,e.y+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},n),i.lower();},a$=function(t){return t.append("g")},o$=function(t,e,n,i,r){const a=w$(),o=e.anchored;a.x=e.startx,a.y=e.starty,a.class="activation"+r%3,a.width=e.stopx-e.startx,a.height=n-e.starty,Hj(o,a);},s$=function(t,e,n,i){const{boxMargin:r,boxTextMargin:a,labelBoxHeight:o,labelBoxWidth:s,messageFontFamily:c,messageFontSize:u,messageFontWeight:l}=i,h=t.append("g"),f=function(t,e,n,i){return h.append("line").attr("x1",t).attr("y1",e).attr("x2",n).attr("y2",i).attr("class","loopLine")};f(e.startx,e.starty,e.stopx,e.starty),f(e.stopx,e.starty,e.stopx,e.stopy),f(e.startx,e.stopy,e.stopx,e.stopy),f(e.startx,e.starty,e.startx,e.stopy),void 0!==e.sections&&e.sections.forEach((function(t){f(e.startx,t.y,e.stopx,t.y).style("stroke-dasharray","3, 3");}));let d=b$();d.text=n,d.x=e.startx,d.y=e.starty,d.fontFamily=c,d.fontSize=u,d.fontWeight=l,d.anchor="middle",d.valign="middle",d.tspan=!1,d.width=s||50,d.height=o||20,d.textMargin=a,d.class="labelText",Qj(h,d),d=b$(),d.text=e.title,d.x=e.startx+s/2+(e.stopx-e.startx)/2,d.y=e.starty+r+a,d.anchor="middle",d.valign="middle",d.textMargin=a,d.class="loopText",d.fontFamily=c,d.fontSize=u,d.fontWeight=l,d.wrap=!0;let g=Zj(h,d);return void 0!==e.sectionTitles&&e.sectionTitles.forEach((function(t,n){if(t.message){d.text=t.message,d.x=e.startx+(e.stopx-e.startx)/2,d.y=e.sections[n].y+r+a,d.class="loopText",d.anchor="middle",d.valign="middle",d.tspan=!1,d.fontFamily=c,d.fontSize=u,d.fontWeight=l,d.wrap=e.wrap,g=Zj(h,d);let i=Math.round(g.map((t=>(t._groups||t)[0][0].getBBox().height)).reduce(((t,e)=>t+e)));e.sections[n].height+=i-(r+a);}})),e.height=Math.round(e.stopy-e.starty),h},c$=function(t,e){Hj(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower();},u$=function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z");},l$=function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z");},h$=function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z");},f$=function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z");},d$=function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z");},g$=function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6);},p$=function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7");},b$=function(){return {x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},w$=function(){return {x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},y$=function(){function t(t,e,n,r,a,o,s){i(e.append("text").attr("x",n+a/2).attr("y",r+o/2+5).style("text-anchor","middle").text(t),s);}function e(t,e,n,r,a,o,s,c){const{actorFontSize:u,actorFontFamily:l,actorFontWeight:h}=c,[f,d]=bw(u),g=t.split(Yh.lineBreakRegex);for(let t=0;tt.height||0)))+(0===this.loops.length?0:this.loops.map((t=>t.height||0)).reduce(((t,e)=>t+e)))+(0===this.messages.length?0:this.messages.map((t=>t.height||0)).reduce(((t,e)=>t+e)))+(0===this.notes.length?0:this.notes.map((t=>t.height||0)).reduce(((t,e)=>t+e)))},clear:function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[];},addBox:function(t){this.boxes.push(t);},addActor:function(t){this.actors.push(t);},addLoop:function(t){this.loops.push(t);},addMessage:function(t){this.messages.push(t);},addNote:function(t){this.notes.push(t);},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],boxes:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,O$(vy());},updateVal:function(t,e,n,i){void 0===t[e]?t[e]=n:t[e]=i(n,t[e]);},updateBounds:function(t,e,n,i){const r=this;let a=0;function o(o){return function(s){a++;const c=r.sequenceItems.length-a+1;r.updateVal(s,"starty",e-c*x$.boxMargin,Math.min),r.updateVal(s,"stopy",i+c*x$.boxMargin,Math.max),r.updateVal(k$.data,"startx",t-c*x$.boxMargin,Math.min),r.updateVal(k$.data,"stopx",n+c*x$.boxMargin,Math.max),"activation"!==o&&(r.updateVal(s,"startx",t-c*x$.boxMargin,Math.min),r.updateVal(s,"stopx",n+c*x$.boxMargin,Math.max),r.updateVal(k$.data,"starty",e-c*x$.boxMargin,Math.min),r.updateVal(k$.data,"stopy",i+c*x$.boxMargin,Math.max));}}this.sequenceItems.forEach(o()),this.activations.forEach(o("activation"));},insert:function(t,e,n,i){const r=Math.min(t,n),a=Math.max(t,n),o=Math.min(e,i),s=Math.max(e,i);this.updateVal(k$.data,"startx",r,Math.min),this.updateVal(k$.data,"starty",o,Math.min),this.updateVal(k$.data,"stopx",a,Math.max),this.updateVal(k$.data,"stopy",s,Math.max),this.updateBounds(r,o,a,s);},newActivation:function(t,e,n){const i=n[t.from.actor],r=L$(t.from.actor).length||0,a=i.x+i.width/2+(r-1)*x$.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+x$.activationWidth,stopy:void 0,actor:t.from.actor,anchored:v$.anchorElement(e)});},endActivation:function(t){const e=this.activations.map((function(t){return t.actor})).lastIndexOf(t.from.actor);return this.activations.splice(e,1)[0]},createLoop:function(t={message:void 0,wrap:!1,width:void 0},e){return {startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},newLoop:function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e));},endLoop:function(){return this.sequenceItems.pop()},addSectionToLoop:function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:k$.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e);},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos;},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return {bounds:this.data,models:this.models}}},_$=function(t,e){k$.bumpVerticalPos(x$.boxMargin),e.height=x$.boxMargin,e.starty=k$.getVerticalPos();const n=v$.getNoteRect();n.x=e.startx,n.y=e.starty,n.width=e.width||x$.width,n.class="note";const i=t.append("g"),r=v$.drawRect(i,n),a=v$.getTextObj();a.x=e.startx,a.y=e.starty,a.width=n.width,a.dy="1em",a.text=e.message,a.class="noteText",a.fontFamily=x$.noteFontFamily,a.fontSize=x$.noteFontSize,a.fontWeight=x$.noteFontWeight,a.anchor=x$.noteAlign,a.textMargin=x$.noteMargin,a.valign="center";const o=Zj(i,a),s=Math.round(o.map((t=>(t._groups||t)[0][0].getBBox().height)).reduce(((t,e)=>t+e)));r.attr("height",s+2*x$.noteMargin),e.height+=s+2*x$.noteMargin,k$.bumpVerticalPos(s+2*x$.noteMargin),e.stopy=e.starty+s+2*x$.noteMargin,e.stopx=e.startx+n.width,k$.insert(e.startx,e.starty,e.stopx,e.stopy),k$.models.addNote(e);},E$=t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),T$=t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),C$=t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight});function S$(t,e){k$.bumpVerticalPos(10);const{startx:n,stopx:i,message:r}=e,a=Yh.splitBreaks(r).length,o=ww.calculateTextDimensions(r,E$(x$)),s=o.height/a;let c;e.height+=s,k$.bumpVerticalPos(s);let u=o.height-10;const l=o.width;if(n===i){c=k$.getVerticalPos()+u,x$.rightAngles||(u+=x$.boxMargin,c=k$.getVerticalPos()+u),u+=30;const t=Math.max(l/2,x$.width/2);k$.insert(n-t,k$.getVerticalPos()-10+u,i+t,k$.getVerticalPos()+30+u);}else u+=x$.boxMargin,c=k$.getVerticalPos()+u,k$.insert(n,c-10,i,c);return k$.bumpVerticalPos(u),e.height+=u,e.stopy=e.starty+e.height,k$.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),c}const A$=function(t,e,n,i){const{startx:r,stopx:a,starty:o,message:s,type:c,sequenceIndex:u,sequenceVisible:l}=e,h=ww.calculateTextDimensions(s,E$(x$)),f=v$.getTextObj();f.x=r,f.y=o+10,f.width=a-r,f.class="messageText",f.dy="1em",f.text=s,f.fontFamily=x$.messageFontFamily,f.fontSize=x$.messageFontSize,f.fontWeight=x$.messageFontWeight,f.anchor=x$.messageAlign,f.valign="center",f.textMargin=x$.wrapPadding,f.tspan=!1,Zj(t,f);const d=h.width;let g;r===a?g=x$.rightAngles?t.append("path").attr("d",`M  ${r},${n} H ${r+Math.max(x$.width/2,d/2)} V ${n+25} H ${r}`):t.append("path").attr("d","M "+r+","+n+" C "+(r+60)+","+(n-10)+" "+(r+60)+","+(n+30)+" "+r+","+(n+20)):(g=t.append("line"),g.attr("x1",r),g.attr("y1",n),g.attr("x2",a),g.attr("y2",n)),c===i.db.LINETYPE.DOTTED||c===i.db.LINETYPE.DOTTED_CROSS||c===i.db.LINETYPE.DOTTED_POINT||c===i.db.LINETYPE.DOTTED_OPEN?(g.style("stroke-dasharray","3, 3"),g.attr("class","messageLine1")):g.attr("class","messageLine0");let p="";x$.arrowMarkerAbsolute&&(p=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,p=p.replace(/\(/g,"\\("),p=p.replace(/\)/g,"\\)")),g.attr("stroke-width",2),g.attr("stroke","none"),g.style("fill","none"),c!==i.db.LINETYPE.SOLID&&c!==i.db.LINETYPE.DOTTED||g.attr("marker-end","url("+p+"#arrowhead)"),c!==i.db.LINETYPE.SOLID_POINT&&c!==i.db.LINETYPE.DOTTED_POINT||g.attr("marker-end","url("+p+"#filled-head)"),c!==i.db.LINETYPE.SOLID_CROSS&&c!==i.db.LINETYPE.DOTTED_CROSS||g.attr("marker-end","url("+p+"#crosshead)"),(l||x$.showSequenceNumbers)&&(g.attr("marker-start","url("+p+"#sequencenumber)"),t.append("text").attr("x",r).attr("y",n+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(u));},M$=function(t,e,n,i,r,a,o){if(!0===r.hideUnusedParticipants){const t=new Set;a.forEach((e=>{t.add(e.from),t.add(e.to);})),n=n.filter((e=>t.has(e)));}let s,c=0,u=0,l=0;for(const r of n){const n=e[r],a=n.box;s&&s!=a&&(o||k$.models.addBox(s),u+=x$.boxMargin+s.margin),a&&a!=s&&(o||(a.x=c+u,a.y=i),u+=a.margin),n.width=n.width||x$.width,n.height=Math.max(n.height||x$.height,x$.height),n.margin=n.margin||x$.actorMargin,n.x=c+u,n.y=k$.getVerticalPos();const h=v$.drawActor(t,n,x$,o);l=Math.max(l,h),k$.insert(n.x,i,n.x+n.width,n.height),c+=n.width+u,n.box&&(n.box.width=c+a.margin-n.box.x),u=n.margin,s=n.box,k$.models.addActor(n);}s&&!o&&k$.models.addBox(s),k$.bumpVerticalPos(l);},I$=function(t,e,n,i){let r=0,a=0;for(const o of n){const n=e[o],s=R$(n),c=v$.drawPopup(t,n,s,x$,x$.forceMenus,i);c.height>r&&(r=c.height),c.width+n.x>a&&(a=c.width+n.x);}return {maxHeight:r,maxWidth:a}},O$=function(t){xp(x$,t),t.fontFamily&&(x$.actorFontFamily=x$.noteFontFamily=x$.messageFontFamily=t.fontFamily),t.fontSize&&(x$.actorFontSize=x$.noteFontSize=x$.messageFontSize=t.fontSize),t.fontWeight&&(x$.actorFontWeight=x$.noteFontWeight=x$.messageFontWeight=t.fontWeight);},L$=function(t){return k$.activations.filter((function(e){return e.actor===t}))},D$=function(t,e){const n=e[t],i=L$(t);return [i.reduce((function(t,e){return Math.min(t,e.startx)}),n.x+n.width/2),i.reduce((function(t,e){return Math.max(t,e.stopx)}),n.x+n.width/2)]};function N$(t,e,n,i,r){k$.bumpVerticalPos(n);let a=i;if(e.id&&e.message&&t[e.id]){const n=t[e.id].width,r=E$(x$);e.message=ww.wrapLabel(`[${e.message}]`,n-2*x$.wrapPadding,r),e.width=n,e.wrap=!0;const o=ww.calculateTextDimensions(e.message,r),s=Math.max(o.height,x$.labelBoxHeight);a=i+s,l.debug(`${s} - ${e.message}`);}r(e),k$.bumpVerticalPos(a);}const P$=function(t,e,n,i){const{securityLevel:r,sequence:a}=vy();let o;x$=a,i.db.clear(),i.parser.parse(t),"sandbox"===r&&(o=ln("#i"+e));const s=ln("sandbox"===r?o.nodes()[0].contentDocument.body:"body"),c="sandbox"===r?o.nodes()[0].contentDocument:document;k$.init(),l.debug(i.db);const u="sandbox"===r?s.select(`[id="${e}"]`):ln(`[id="${e}"]`),h=i.db.getActors(),f=i.db.getBoxes(),d=i.db.getActorKeys(),g=i.db.getMessages(),p=i.db.getDiagramTitle(),b=i.db.hasAtLeastOneBox(),w=i.db.hasAtLeastOneBoxWithTitle(),y=B$(h,g,i);x$.height=j$(h,y,f),v$.insertComputerIcon(u),v$.insertDatabaseIcon(u),v$.insertClockIcon(u),b&&(k$.bumpVerticalPos(x$.boxMargin),w&&k$.bumpVerticalPos(f[0].textMaxHeight)),M$(u,h,d,0,x$,g,!1);const m=z$(g,h,y,i);function v(t,e){const n=k$.endActivation(t);n.starty+18>e&&(n.starty=e-6,e+=12),v$.drawActivation(u,n,e,x$,L$(t.from.actor).length),k$.insert(n.startx,e-10,n.stopx,e);}v$.insertArrowHead(u),v$.insertArrowCrossHead(u),v$.insertArrowFilledHead(u),v$.insertSequenceNumber(u);let x=1,k=1;const _=[];g.forEach((function(t){let e,n,r;switch(t.type){case i.db.LINETYPE.NOTE:n=t.noteModel,_$(u,n);break;case i.db.LINETYPE.ACTIVE_START:k$.newActivation(t,u,h);break;case i.db.LINETYPE.ACTIVE_END:v(t,k$.getVerticalPos());break;case i.db.LINETYPE.LOOP_START:N$(m,t,x$.boxMargin,x$.boxMargin+x$.boxTextMargin,(t=>k$.newLoop(t)));break;case i.db.LINETYPE.LOOP_END:e=k$.endLoop(),v$.drawLoop(u,e,"loop",x$),k$.bumpVerticalPos(e.stopy-k$.getVerticalPos()),k$.models.addLoop(e);break;case i.db.LINETYPE.RECT_START:N$(m,t,x$.boxMargin,x$.boxMargin,(t=>k$.newLoop(void 0,t.message)));break;case i.db.LINETYPE.RECT_END:e=k$.endLoop(),v$.drawBackgroundRect(u,e),k$.models.addLoop(e),k$.bumpVerticalPos(e.stopy-k$.getVerticalPos());break;case i.db.LINETYPE.OPT_START:N$(m,t,x$.boxMargin,x$.boxMargin+x$.boxTextMargin,(t=>k$.newLoop(t)));break;case i.db.LINETYPE.OPT_END:e=k$.endLoop(),v$.drawLoop(u,e,"opt",x$),k$.bumpVerticalPos(e.stopy-k$.getVerticalPos()),k$.models.addLoop(e);break;case i.db.LINETYPE.ALT_START:N$(m,t,x$.boxMargin,x$.boxMargin+x$.boxTextMargin,(t=>k$.newLoop(t)));break;case i.db.LINETYPE.ALT_ELSE:N$(m,t,x$.boxMargin+x$.boxTextMargin,x$.boxMargin,(t=>k$.addSectionToLoop(t)));break;case i.db.LINETYPE.ALT_END:e=k$.endLoop(),v$.drawLoop(u,e,"alt",x$),k$.bumpVerticalPos(e.stopy-k$.getVerticalPos()),k$.models.addLoop(e);break;case i.db.LINETYPE.PAR_START:N$(m,t,x$.boxMargin,x$.boxMargin+x$.boxTextMargin,(t=>k$.newLoop(t)));break;case i.db.LINETYPE.PAR_AND:N$(m,t,x$.boxMargin+x$.boxTextMargin,x$.boxMargin,(t=>k$.addSectionToLoop(t)));break;case i.db.LINETYPE.PAR_END:e=k$.endLoop(),v$.drawLoop(u,e,"par",x$),k$.bumpVerticalPos(e.stopy-k$.getVerticalPos()),k$.models.addLoop(e);break;case i.db.LINETYPE.AUTONUMBER:x=t.message.start||x,k=t.message.step||k,t.message.visible?i.db.enableSequenceNumbers():i.db.disableSequenceNumbers();break;case i.db.LINETYPE.CRITICAL_START:N$(m,t,x$.boxMargin,x$.boxMargin+x$.boxTextMargin,(t=>k$.newLoop(t)));break;case i.db.LINETYPE.CRITICAL_OPTION:N$(m,t,x$.boxMargin+x$.boxTextMargin,x$.boxMargin,(t=>k$.addSectionToLoop(t)));break;case i.db.LINETYPE.CRITICAL_END:e=k$.endLoop(),v$.drawLoop(u,e,"critical",x$),k$.bumpVerticalPos(e.stopy-k$.getVerticalPos()),k$.models.addLoop(e);break;case i.db.LINETYPE.BREAK_START:N$(m,t,x$.boxMargin,x$.boxMargin+x$.boxTextMargin,(t=>k$.newLoop(t)));break;case i.db.LINETYPE.BREAK_END:e=k$.endLoop(),v$.drawLoop(u,e,"break",x$),k$.bumpVerticalPos(e.stopy-k$.getVerticalPos()),k$.models.addLoop(e);break;default:try{r=t.msgModel,r.starty=k$.getVerticalPos(),r.sequenceIndex=x,r.sequenceVisible=i.db.showSequenceNumbers();const e=S$(u,r);_.push({messageModel:r,lineStartY:e}),k$.models.addMessage(r);}catch(t){l.error("error while drawing message",t);}}[i.db.LINETYPE.SOLID_OPEN,i.db.LINETYPE.DOTTED_OPEN,i.db.LINETYPE.SOLID,i.db.LINETYPE.DOTTED,i.db.LINETYPE.SOLID_CROSS,i.db.LINETYPE.DOTTED_CROSS,i.db.LINETYPE.SOLID_POINT,i.db.LINETYPE.DOTTED_POINT].includes(t.type)&&(x+=k);})),_.forEach((t=>A$(u,t.messageModel,t.lineStartY,i))),x$.mirrorActors&&(k$.bumpVerticalPos(2*x$.boxMargin),M$(u,h,d,k$.getVerticalPos(),x$,g,!0),k$.bumpVerticalPos(x$.boxMargin),t$(u,k$.getVerticalPos())),k$.models.boxes.forEach((function(t){t.height=k$.getVerticalPos()-t.y,k$.insert(t.x,t.y,t.x+t.width,t.height),t.startx=t.x,t.starty=t.y,t.stopx=t.startx+t.width,t.stopy=t.starty+t.height,t.stroke="rgb(0,0,0, 0.5)",v$.drawBox(u,t,x$);})),b&&k$.bumpVerticalPos(x$.boxMargin);const E=I$(u,h,d,c),{bounds:T}=k$.getBounds();l.debug("For line height fix Querying: #"+e+" .actor-line"),hn("#"+e+" .actor-line").attr("y2",T.stopy);let C=T.stopy-T.starty;C{const n=t[e];n.wrap&&(n.description=ww.wrapLabel(n.description,x$.width-2*x$.wrapPadding,C$(x$)));const r=ww.calculateTextDimensions(n.description,C$(x$));n.width=n.wrap?x$.width:Math.max(x$.width,r.width+2*x$.wrapPadding),n.height=n.wrap?Math.max(r.height,x$.height):x$.height,i=Math.max(i,n.height);}));for(const n in e){const i=t[n];if(!i)continue;const r=t[i.nextActor];if(!r){const t=e[n]+x$.actorMargin-i.width/2;i.margin=Math.max(t,x$.actorMargin);continue}const a=e[n]+x$.actorMargin-i.width/2-r.width/2;i.margin=Math.max(a,x$.actorMargin);}let r=0;return n.forEach((e=>{const n=E$(x$);let i=e.actorKeys.reduce(((e,n)=>e+(t[n].width+(t[n].margin||0))),0);i-=2*x$.boxTextMargin,e.wrap&&(e.name=ww.wrapLabel(e.name,i-2*x$.wrapPadding,n));const a=ww.calculateTextDimensions(e.name,n);r=Math.max(a.height,r);const o=Math.max(i,a.width+2*x$.wrapPadding);if(e.margin=x$.boxTextMargin,it.textMaxHeight=r)),Math.max(i,x$.height)}const $$=function(t,e,n){const i=e[t.from].x,r=e[t.to].x,a=t.wrap&&t.message;let o=ww.calculateTextDimensions(a?ww.wrapLabel(t.message,x$.width,T$(x$)):t.message,T$(x$));const s={width:a?x$.width:Math.max(x$.width,o.width+2*x$.noteMargin),height:0,startx:e[t.from].x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===n.db.PLACEMENT.RIGHTOF?(s.width=a?Math.max(x$.width,o.width):Math.max(e[t.from].width/2+e[t.to].width/2,o.width+2*x$.noteMargin),s.startx=i+(e[t.from].width+x$.actorMargin)/2):t.placement===n.db.PLACEMENT.LEFTOF?(s.width=a?Math.max(x$.width,o.width+2*x$.noteMargin):Math.max(e[t.from].width/2+e[t.to].width/2,o.width+2*x$.noteMargin),s.startx=i-s.width+(e[t.from].width-x$.actorMargin)/2):t.to===t.from?(o=ww.calculateTextDimensions(a?ww.wrapLabel(t.message,Math.max(x$.width,e[t.from].width),T$(x$)):t.message,T$(x$)),s.width=a?Math.max(x$.width,e[t.from].width):Math.max(e[t.from].width,x$.width,o.width+2*x$.noteMargin),s.startx=i+(e[t.from].width-s.width)/2):(s.width=Math.abs(i+e[t.from].width/2-(r+e[t.to].width/2))+x$.actorMargin,s.startx=it.actor)).lastIndexOf(t.from.actor);delete k$.activations.splice(e,1)[0];}}void 0!==t.placement?(s=$$(t,e,i),t.noteModel=s,a.forEach((t=>{o=t,o.from=Math.min(o.from,s.startx),o.to=Math.max(o.to,s.startx+s.width),o.width=Math.max(o.width,Math.abs(o.from-o.to))-x$.labelBoxWidth;}))):(c=F$(t,e,i),t.msgModel=c,c.startx&&c.stopx&&a.length>0&&a.forEach((n=>{if(o=n,c.startx===c.stopx){const n=e[t.from],i=e[t.to];o.from=Math.min(n.x-c.width/2,n.x-n.width/2,o.from),o.to=Math.max(i.x+c.width/2,i.x+n.width/2,o.to),o.width=Math.max(o.width,Math.abs(o.to-o.from))-x$.labelBoxWidth;}else o.from=Math.min(c.startx,o.from),o.to=Math.max(c.stopx,o.to),o.width=Math.max(o.width,c.width)-x$.labelBoxWidth;})));})),k$.activations=[],l.debug("Loop type widths:",r),r},H$={bounds:k$,drawActors:M$,drawActorsPopup:I$,setConf:O$,draw:P$};var U$=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,2],n=[1,3],i=[1,5],r=[1,7],a=[2,5],o=[1,15],s=[1,17],c=[1,21],u=[1,22],l=[1,23],h=[1,24],f=[1,37],d=[1,25],g=[1,26],p=[1,27],b=[1,28],w=[1,29],y=[1,32],m=[1,33],v=[1,34],x=[1,35],k=[1,36],_=[1,39],E=[1,40],T=[1,41],C=[1,42],S=[1,38],A=[1,45],M=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],I=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],O=[1,4,5,7,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],L=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],D={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,directive:6,SD:7,document:8,line:9,statement:10,classDefStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"--\x3e":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,class:42,CLASSENTITY_IDS:43,STYLECLASS:44,openDirective:45,typeDirective:46,closeDirective:47,":":48,argDirective:49,direction_tb:50,direction_bt:51,direction_rl:52,direction_lr:53,eol:54,";":55,EDGE_STATE:56,STYLE_SEPARATOR:57,left_of:58,right_of:59,open_directive:60,type_directive:61,arg_directive:62,close_directive:63,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",7:"SD",14:"DESCR",15:"--\x3e",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"class",43:"CLASSENTITY_IDS",44:"STYLECLASS",48:":",50:"direction_tb",51:"direction_bt",52:"direction_rl",53:"direction_lr",55:";",56:"EDGE_STATE",57:"STYLE_SEPARATOR",58:"left_of",59:"right_of",60:"open_directive",61:"type_directive",62:"arg_directive",63:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[10,1],[10,1],[10,1],[10,2],[10,3],[10,4],[10,1],[10,2],[10,1],[10,4],[10,3],[10,6],[10,1],[10,1],[10,1],[10,1],[10,4],[10,4],[10,1],[10,1],[10,2],[10,2],[10,1],[11,3],[11,3],[12,3],[6,3],[6,5],[32,1],[32,1],[32,1],[32,1],[54,1],[54,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1],[45,1],[46,1],[49,1],[47,1]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 4:return i.setRootDoc(a[s]),a[s];case 5:this.$=[];break;case 6:"nl"!=a[s]&&(a[s-1].push(a[s]),this.$=a[s-1]);break;case 7:case 8:case 12:this.$=a[s];break;case 9:this.$="nl";break;case 13:const t=a[s-1];t.description=i.trimColon(a[s]),this.$=t;break;case 14:this.$={stmt:"relation",state1:a[s-2],state2:a[s]};break;case 15:const e=i.trimColon(a[s]);this.$={stmt:"relation",state1:a[s-3],state2:a[s-1],description:e};break;case 19:this.$={stmt:"state",id:a[s-3],type:"default",description:"",doc:a[s-1]};break;case 20:var c=a[s],u=a[s-2].trim();if(a[s].match(":")){var l=a[s].split(":");c=l[0],u=[u,l[1]];}this.$={stmt:"state",id:c,type:"default",description:u};break;case 21:this.$={stmt:"state",id:a[s-3],type:"default",description:a[s-5],doc:a[s-1]};break;case 22:this.$={stmt:"state",id:a[s],type:"fork"};break;case 23:this.$={stmt:"state",id:a[s],type:"join"};break;case 24:this.$={stmt:"state",id:a[s],type:"choice"};break;case 25:this.$={stmt:"state",id:i.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:a[s-1].trim(),note:{position:a[s-2].trim(),text:a[s].trim()}};break;case 30:this.$=a[s].trim(),i.setAccTitle(this.$);break;case 31:case 32:this.$=a[s].trim(),i.setAccDescription(this.$);break;case 33:case 34:this.$={stmt:"classDef",id:a[s-1].trim(),classes:a[s].trim()};break;case 35:this.$={stmt:"applyClass",id:a[s-1].trim(),styleClass:a[s].trim()};break;case 38:i.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:i.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:i.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:i.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:a[s].trim(),type:"default",description:""};break;case 46:case 47:this.$={stmt:"state",id:a[s-2].trim(),classes:[a[s].trim()],type:"default",description:""};break;case 50:i.parseDirective("%%{","open_directive");break;case 51:i.parseDirective(a[s],"type_directive");break;case 52:a[s]=a[s].trim().replace(/'/g,'"'),i.parseDirective(a[s],"arg_directive");break;case 53:i.parseDirective("}%%","close_directive","state");}},table:[{3:1,4:e,5:n,6:4,7:i,45:6,60:r},{1:[3]},{3:8,4:e,5:n,6:4,7:i,45:6,60:r},{3:9,4:e,5:n,6:4,7:i,45:6,60:r},{3:10,4:e,5:n,6:4,7:i,45:6,60:r},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,50,51,52,53,56,60],a,{8:11}),{46:12,61:[1,13]},{61:[2,50]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:o,5:s,6:30,9:14,10:16,11:18,12:19,13:20,16:c,17:u,19:l,22:h,24:f,25:d,26:g,27:p,28:b,29:w,32:31,33:y,35:m,37:v,38:x,42:k,45:6,50:_,51:E,52:T,53:C,56:S,60:r},{47:43,48:[1,44],63:A},t([48,63],[2,51]),t(M,[2,6]),{6:30,10:46,11:18,12:19,13:20,16:c,17:u,19:l,22:h,24:f,25:d,26:g,27:p,28:b,29:w,32:31,33:y,35:m,37:v,38:x,42:k,45:6,50:_,51:E,52:T,53:C,56:S,60:r},t(M,[2,8]),t(M,[2,9]),t(M,[2,10]),t(M,[2,11]),t(M,[2,12],{14:[1,47],15:[1,48]}),t(M,[2,16]),{18:[1,49]},t(M,[2,18],{20:[1,50]}),{23:[1,51]},t(M,[2,22]),t(M,[2,23]),t(M,[2,24]),t(M,[2,25]),{30:52,31:[1,53],58:[1,54],59:[1,55]},t(M,[2,28]),t(M,[2,29]),{34:[1,56]},{36:[1,57]},t(M,[2,32]),{39:[1,58],41:[1,59]},{43:[1,60]},t(I,[2,44],{57:[1,61]}),t(I,[2,45],{57:[1,62]}),t(M,[2,38]),t(M,[2,39]),t(M,[2,40]),t(M,[2,41]),t(O,[2,36]),{49:63,62:[1,64]},t(O,[2,53]),t(M,[2,7]),t(M,[2,13]),{13:65,24:f,56:S},t(M,[2,17]),t(L,a,{8:66}),{24:[1,67]},{24:[1,68]},{23:[1,69]},{24:[2,48]},{24:[2,49]},t(M,[2,30]),t(M,[2,31]),{40:[1,70]},{40:[1,71]},{44:[1,72]},{24:[1,73]},{24:[1,74]},{47:75,63:A},{63:[2,52]},t(M,[2,14],{14:[1,76]}),{4:o,5:s,6:30,9:14,10:16,11:18,12:19,13:20,16:c,17:u,19:l,21:[1,77],22:h,24:f,25:d,26:g,27:p,28:b,29:w,32:31,33:y,35:m,37:v,38:x,42:k,45:6,50:_,51:E,52:T,53:C,56:S,60:r},t(M,[2,20],{20:[1,78]}),{31:[1,79]},{24:[1,80]},t(M,[2,33]),t(M,[2,34]),t(M,[2,35]),t(I,[2,46]),t(I,[2,47]),t(O,[2,37]),t(M,[2,15]),t(M,[2,19]),t(L,a,{8:81}),t(M,[2,26]),t(M,[2,27]),{4:o,5:s,6:30,9:14,10:16,11:18,12:19,13:20,16:c,17:u,19:l,21:[1,82],22:h,24:f,25:d,26:g,27:p,28:b,29:w,32:31,33:y,35:m,37:v,38:x,42:k,45:6,50:_,51:E,52:T,53:C,56:S,60:r},t(M,[2,21])],defaultActions:{7:[2,50],8:[2,1],9:[2,2],10:[2,3],54:[2,48],55:[2,49],64:[2,52]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t);},parse:function(t){var e=this,n=[0],i=[],r=[null],a=[],o=this.table,s="",c=0,u=0,l=2,h=1,f=a.slice.call(arguments,1),d=Object.create(this.lexer),g={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(g.yy[p]=this.yy[p]);d.setInput(t,g.yy),g.yy.lexer=d,g.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var b=d.yylloc;a.push(b);var w=d.options&&d.options.ranges;function y(){var t;return "number"!=typeof(t=i.pop()||d.lex()||h)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,v,x,k,_,E,T,C,S={};;){if(v=n[n.length-1],this.defaultActions[v]?x=this.defaultActions[v]:(null==m&&(m=y()),x=o[v]&&o[v][m]),void 0===x||!x.length||!x[0]){var A="";for(_ in C=[],o[v])this.terminals_[_]&&_>l&&C.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(c+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(c+1)+": Unexpected "+(m==h?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:b,expected:C});}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+m);switch(x[0]){case 1:n.push(m),r.push(d.yytext),a.push(d.yylloc),n.push(x[1]),m=null,u=d.yyleng,s=d.yytext,c=d.yylineno,b=d.yylloc;break;case 2:if(E=this.productions_[x[1]][1],S.$=r[r.length-E],S._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},w&&(S._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(S,[s,u,c,g.yy,x[1],r,a].concat(f))))return k;E&&(n=n.slice(0,-1*E*2),r=r.slice(0,-1*E),a=a.slice(0,-1*E)),n.push(this.productions_[x[1]][0]),r.push(S.$),a.push(S._$),T=o[n[n.length-2]][n[n.length-1]],n.push(T);break;case 3:return !0}}return !0}},N={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e);},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t));},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return (t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return !1}return !1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return !1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t);},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return (t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t);},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:return 41;case 1:case 44:return 50;case 2:case 45:return 51;case 3:case 46:return 52;case 4:case 47:return 53;case 5:return this.begin("open_directive"),60;case 6:return this.begin("type_directive"),61;case 7:return this.popState(),this.begin("arg_directive"),48;case 8:return this.popState(),this.popState(),63;case 9:return 62;case 10:case 11:case 13:case 14:case 15:case 16:case 56:case 58:case 64:break;case 12:case 79:return 5;case 17:case 34:return this.pushState("SCALE"),17;case 18:case 35:return 18;case 19:case 25:case 36:case 51:case 54:this.popState();break;case 20:return this.begin("acc_title"),33;case 21:return this.popState(),"acc_title_value";case 22:return this.begin("acc_descr"),35;case 23:return this.popState(),"acc_descr_value";case 24:this.begin("acc_descr_multiline");break;case 26:return "acc_descr_multiline_value";case 27:return this.pushState("CLASSDEF"),38;case 28:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 29:return this.popState(),this.pushState("CLASSDEFID"),39;case 30:return this.popState(),40;case 31:return this.pushState("CLASS"),42;case 32:return this.popState(),this.pushState("CLASS_STYLE"),43;case 33:return this.popState(),44;case 37:this.pushState("STATE");break;case 38:case 41:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),25;case 39:case 42:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),26;case 40:case 43:return this.popState(),e.yytext=e.yytext.slice(0,-10).trim(),27;case 48:this.pushState("STATE_STRING");break;case 49:return this.pushState("STATE_ID"),"AS";case 50:case 66:return this.popState(),"ID";case 52:return "STATE_DESCR";case 53:return 19;case 55:return this.popState(),this.pushState("struct"),20;case 57:return this.popState(),21;case 59:return this.begin("NOTE"),29;case 60:return this.popState(),this.pushState("NOTE_ID"),58;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:this.popState(),this.pushState("FLOATING_NOTE");break;case 63:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 65:return "NOTE_TEXT";case 67:return this.popState(),this.pushState("NOTE_TEXT"),24;case 68:return this.popState(),e.yytext=e.yytext.substr(2).trim(),31;case 69:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),31;case 70:case 71:return 7;case 72:return 16;case 73:return 56;case 74:return 24;case 75:return e.yytext=e.yytext.trim(),14;case 76:return 15;case 77:return 28;case 78:return 57;case 80:return "INVALID"}},rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[14,15],inclusive:!1},close_directive:{rules:[14,15],inclusive:!1},arg_directive:{rules:[8,9,14,15],inclusive:!1},type_directive:{rules:[7,8,14,15],inclusive:!1},open_directive:{rules:[6,14,15],inclusive:!1},struct:{rules:[14,15,27,31,37,44,45,46,47,56,57,58,59,73,74,75,76,77],inclusive:!1},FLOATING_NOTE_ID:{rules:[66],inclusive:!1},FLOATING_NOTE:{rules:[63,64,65],inclusive:!1},NOTE_TEXT:{rules:[68,69],inclusive:!1},NOTE_ID:{rules:[67],inclusive:!1},NOTE:{rules:[60,61,62],inclusive:!1},CLASS_STYLE:{rules:[33],inclusive:!1},CLASS:{rules:[32],inclusive:!1},CLASSDEFID:{rules:[30],inclusive:!1},CLASSDEF:{rules:[28,29],inclusive:!1},acc_descr_multiline:{rules:[25,26],inclusive:!1},acc_descr:{rules:[23],inclusive:!1},acc_title:{rules:[21],inclusive:!1},SCALE:{rules:[18,19,35,36],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[50],inclusive:!1},STATE_STRING:{rules:[51,52],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[14,15,38,39,40,41,42,43,48,49,53,54,55],inclusive:!1},ID:{rules:[14,15],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,10,11,12,13,15,16,17,20,22,24,27,31,34,37,55,59,70,71,72,73,74,75,76,78,79,80],inclusive:!0}}};function P(){this.yy={};}return D.lexer=N,P.prototype=D,D.Parser=P,new P}();U$.parser=U$;const G$=U$,q$=(t,e)=>{var n;return "dagre-wrapper"!==(null==(n=null==e?void 0:e.state)?void 0:n.defaultRenderer)&&null!==t.match(/^\s*stateDiagram/)},K$=(t,e)=>{var n;return null!==t.match(/^\s*stateDiagram-v2/)||!(!t.match(/^\s*stateDiagram/)||"dagre-wrapper"!==(null==(n=null==e?void 0:e.state)?void 0:n.defaultRenderer))},Y$="TB",W$="state",X$="relation",V$="classDef",Z$="applyClass",Q$="default",J$="divider",tF="[*]",eF="start",nF=tF,iF="end",rF="color",aF="fill",oF="bgFill",sF=",";function cF(){return {}}let uF="LR",lF=[],hF=cF();const fF=()=>({relations:[],states:{},documents:{}});let dF={root:fF()},gF=dF.root,pF=0,bF=0;const wF=t=>JSON.parse(JSON.stringify(t)),yF=(t,e,n)=>{if(e.stmt===X$)yF(t,e.state1,!0),yF(t,e.state2,!1);else if(e.stmt===W$&&("[*]"===e.id?(e.id=n?t.id+"_start":t.id+"_end",e.start=n):e.id=e.id.trim()),e.doc){const t=[];let n,i=[];for(n=0;n0&&i.length>0){const n={stmt:W$,id:ew(),type:"divider",doc:wF(i)};t.push(wF(n)),e.doc=t;}e.doc.forEach((t=>yF(e,t,!0)));}},mF=t=>{let e;e=t.doc?t.doc:t,l.info(e),xF(!0),l.info("Extract",e),e.forEach((t=>{switch(t.stmt){case W$:vF(t.id.trim(),t.type,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles);break;case X$:AF(t.state1,t.state2,t.description);break;case V$:IF(t.id.trim(),t.classes);break;case Z$:OF(t.id.trim(),t.styleClass);}}));},vF=function(t,e=Q$,n=null,i=null,r=null,a=null,o=null,s=null){const c=null==t?void 0:t.trim();void 0===gF.states[c]?(l.info("Adding state ",c,i),gF.states[c]={id:c,descriptions:[],type:e,doc:n,note:r,classes:[],styles:[],textStyles:[]}):(gF.states[c].doc||(gF.states[c].doc=n),gF.states[c].type||(gF.states[c].type=e)),i&&(l.info("Setting state description",c,i),"string"==typeof i&&MF(c,i.trim()),"object"==typeof i&&i.forEach((t=>MF(c,t.trim())))),r&&(gF.states[c].note=r,gF.states[c].note.text=Yh.sanitizeText(gF.states[c].note.text,vy())),a&&(l.info("Setting state classes",c,a),("string"==typeof a?[a]:a).forEach((t=>OF(c,t.trim())))),o&&(l.info("Setting state styles",c,o),("string"==typeof o?[o]:o).forEach((t=>LF(c,t.trim())))),s&&(l.info("Setting state styles",c,o),("string"==typeof s?[s]:s).forEach((t=>DF(c,t.trim()))));},xF=function(t){dF={root:fF()},gF=dF.root,pF=0,hF=cF(),t||Zy();},kF=function(t){return gF.states[t]};function _F(t=""){let e=t;return t===tF&&(pF++,e=`${eF}${pF}`),e}function EF(t="",e=Q$){return t===tF?eF:e}function TF(t=""){let e=t;return t===nF&&(pF++,e=`${iF}${pF}`),e}function CF(t="",e=Q$){return t===nF?iF:e}function SF(t,e,n){let i=_F(t.id.trim()),r=EF(t.id.trim(),t.type),a=_F(e.id.trim()),o=EF(e.id.trim(),e.type);vF(i,r,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),vF(a,o,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),gF.relations.push({id1:i,id2:a,relationTitle:Yh.sanitizeText(n,vy())});}const AF=function(t,e,n){if("object"==typeof t)SF(t,e,n);else {const i=_F(t.trim()),r=EF(t),a=TF(e.trim()),o=CF(e);vF(i,r),vF(a,o),gF.relations.push({id1:i,id2:a,title:Yh.sanitizeText(n,vy())});}},MF=function(t,e){const n=gF.states[t],i=e.startsWith(":")?e.replace(":","").trim():e;n.descriptions.push(Yh.sanitizeText(i,vy()));},IF=function(t,e=""){void 0===hF[t]&&(hF[t]={id:t,styles:[],textStyles:[]});const n=hF[t];null!=e&&e.split(sF).forEach((t=>{const e=t.replace(/([^;]*);/,"$1").trim();if(t.match(rF)){const t=e.replace(aF,oF).replace(rF,aF);n.textStyles.push(t);}n.styles.push(e);}));},OF=function(t,e){t.split(",").forEach((function(t){let n=kF(t);if(void 0===n){const e=t.trim();vF(e),n=kF(e);}n.classes.push(e);}));},LF=function(t,e){const n=kF(t);void 0!==n&&n.textStyles.push(e);},DF=function(t,e){const n=kF(t);void 0!==n&&n.textStyles.push(e);},NF={parseDirective:function(t,e,n){cU.parseDirective(this,t,e,n);},getConfig:()=>vy().state,addState:vF,clear:xF,getState:kF,getStates:function(){return gF.states},getRelations:function(){return gF.relations},getClasses:function(){return hF},getDirection:()=>uF,addRelation:AF,getDividerId:()=>(bF++,"divider-id-"+bF),setDirection:t=>{uF=t;},cleanupLabel:function(t){return ":"===t.substring(0,1)?t.substr(2).trim():t.trim()},lineType:{LINE:0,DOTTED_LINE:1},relationType:{AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},logDocuments:function(){l.info("Documents = ",dF);},getRootDoc:()=>lF,setRootDoc:t=>{l.info("Setting root doc",t),lF=t;},getRootDocV2:()=>(yF({id:"root"},{id:"root",doc:lF},!0),{id:"root",doc:lF}),extract:mF,trimColon:t=>t&&":"===t[0]?t.substr(1).trim():t.trim(),getAccTitle:Jy,setAccTitle:Qy,getAccDescription:em,setAccDescription:tm,addStyleClass:IF,setCssClass:OF,addDescription:MF,setDiagramTitle:nm,getDiagramTitle:im},PF=t=>t.append("circle").attr("class","start-state").attr("r",vy().state.sizeUnit).attr("cx",vy().state.padding+vy().state.sizeUnit).attr("cy",vy().state.padding+vy().state.sizeUnit),BF=t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",vy().state.textHeight).attr("class","divider").attr("x2",2*vy().state.textHeight).attr("y1",0).attr("y2",0),RF=(t,e)=>{const n=t.append("text").attr("x",2*vy().state.padding).attr("y",vy().state.textHeight+2*vy().state.padding).attr("font-size",vy().state.fontSize).attr("class","state-title").text(e.id),i=n.node().getBBox();return t.insert("rect",":first-child").attr("x",vy().state.padding).attr("y",vy().state.padding).attr("width",i.width+2*vy().state.padding).attr("height",i.height+2*vy().state.padding).attr("rx",vy().state.radius),n},jF=(t,e)=>{const n=function(t,e,n){const i=t.append("tspan").attr("x",2*vy().state.padding).text(e);n||i.attr("dy",vy().state.textHeight);},i=t.append("text").attr("x",2*vy().state.padding).attr("y",vy().state.textHeight+1.3*vy().state.padding).attr("font-size",vy().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),r=i.height,a=t.append("text").attr("x",vy().state.padding).attr("y",r+.4*vy().state.padding+vy().state.dividerMargin+vy().state.textHeight).attr("class","state-description");let o=!0,s=!0;e.descriptions.forEach((function(t){o||(n(a,t,s),s=!1),o=!1;}));const c=t.append("line").attr("x1",vy().state.padding).attr("y1",vy().state.padding+r+vy().state.dividerMargin/2).attr("y2",vy().state.padding+r+vy().state.dividerMargin/2).attr("class","descr-divider"),u=a.node().getBBox(),l=Math.max(u.width,i.width);return c.attr("x2",l+3*vy().state.padding),t.insert("rect",":first-child").attr("x",vy().state.padding).attr("y",vy().state.padding).attr("width",l+2*vy().state.padding).attr("height",u.height+r+2*vy().state.padding).attr("rx",vy().state.radius),t},$F=(t,e,n)=>{const i=vy().state.padding,r=2*vy().state.padding,a=t.node().getBBox(),o=a.width,s=a.x,c=t.append("text").attr("x",0).attr("y",vy().state.titleShift).attr("font-size",vy().state.fontSize).attr("class","state-title").text(e.id),u=c.node().getBBox().width+r;let l,h=Math.max(u,o);h===o&&(h+=r);const f=t.node().getBBox();e.doc,l=s-i,u>o&&(l=(o-h)/2+i),Math.abs(s-f.x)o&&(l=s-(u-o)/2);const d=1-vy().state.textHeight;return t.insert("rect",":first-child").attr("x",l).attr("y",d).attr("class",n?"alt-composit":"composit").attr("width",h).attr("height",f.height+vy().state.textHeight+vy().state.titleShift+1).attr("rx","0"),c.attr("x",l+i),u<=o&&c.attr("x",s+(h-r)/2-u/2+i),t.insert("rect",":first-child").attr("x",l).attr("y",vy().state.titleShift-vy().state.textHeight-vy().state.padding).attr("width",h).attr("height",3*vy().state.textHeight).attr("rx",vy().state.radius),t.insert("rect",":first-child").attr("x",l).attr("y",vy().state.titleShift-vy().state.textHeight-vy().state.padding).attr("width",h).attr("height",f.height+3+2*vy().state.textHeight).attr("rx",vy().state.radius),t},FF=t=>(t.append("circle").attr("class","end-state-outer").attr("r",vy().state.sizeUnit+vy().state.miniPadding).attr("cx",vy().state.padding+vy().state.sizeUnit+vy().state.miniPadding).attr("cy",vy().state.padding+vy().state.sizeUnit+vy().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",vy().state.sizeUnit).attr("cx",vy().state.padding+vy().state.sizeUnit+2).attr("cy",vy().state.padding+vy().state.sizeUnit+2)),zF=(t,e)=>{let n=vy().state.forkWidth,i=vy().state.forkHeight;if(e.parentId){let t=n;n=i,i=t;}return t.append("rect").style("stroke","black").style("fill","black").attr("width",n).attr("height",i).attr("x",vy().state.padding).attr("y",vy().state.padding)},HF=(t,e,n,i)=>{let r=0;const a=i.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let o=t.replace(/\r\n/g,"
");o=o.replace(/\n/g,"
");const s=o.split(Yh.lineBreakRegex);let c=1.25*vy().state.noteMargin;for(const t of s){const i=t.trim();if(i.length>0){const t=a.append("tspan");t.text(i),0===c&&(c+=t.node().getBBox().height),r+=c,t.attr("x",e+vy().state.noteMargin),t.attr("y",n+r+1.25*vy().state.noteMargin);}}return {textWidth:a.node().getBBox().width,textHeight:r}},UF=(t,e)=>{e.attr("class","state-note");const n=e.append("rect").attr("x",0).attr("y",vy().state.padding),i=e.append("g"),{textWidth:r,textHeight:a}=HF(t,0,0,i);return n.attr("height",a+2*vy().state.noteMargin),n.attr("width",r+2*vy().state.noteMargin),n},GF=function(t,e){const n=e.id,i={id:n,label:e.id,width:0,height:0},r=t.append("g").attr("id",n).attr("class","stateGroup");"start"===e.type&&PF(r),"end"===e.type&&FF(r),"fork"!==e.type&&"join"!==e.type||zF(r,e),"note"===e.type&&UF(e.note.text,r),"divider"===e.type&&BF(r),"default"===e.type&&0===e.descriptions.length&&RF(r,e),"default"===e.type&&e.descriptions.length>0&&jF(r,e);const a=r.node().getBBox();return i.width=a.width+2*vy().state.padding,i.height=a.height+2*vy().state.padding,i};let qF=0;const KF=function(t,e,n){const i=function(t){switch(t){case NF.relationType.AGGREGATION:return "aggregation";case NF.relationType.EXTENSION:return "extension";case NF.relationType.COMPOSITION:return "composition";case NF.relationType.DEPENDENCY:return "dependency"}};e.points=e.points.filter((t=>!Number.isNaN(t.y)));const r=e.points,a=Nu().x((function(t){return t.x})).y((function(t){return t.y})).curve(Gu),o=t.append("path").attr("d",a(r)).attr("id","edge"+qF).attr("class","transition");let s="";if(vy().state.arrowMarkerAbsolute&&(s=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,s=s.replace(/\(/g,"\\("),s=s.replace(/\)/g,"\\)")),o.attr("marker-end","url("+s+"#"+i(NF.relationType.DEPENDENCY)+"End)"),void 0!==n.title){const i=t.append("g").attr("class","stateLabel"),{x:r,y:a}=ww.calcLabelPosition(e.points),o=Yh.getRows(n.title);let s=0;const c=[];let u=0,h=0;for(let t=0;t<=o.length;t++){const e=i.append("text").attr("text-anchor","middle").text(o[t]).attr("x",r).attr("y",a+s),n=e.node().getBBox();if(u=Math.max(u,n.width),h=Math.min(h,n.x),l.info(n.x,r,a+s),0===s){const t=e.node().getBBox();s=t.height,l.info("Title height",s,a);}c.push(e);}let f=s*o.length;if(o.length>1){const t=(o.length-1)*s*.5;c.forEach(((e,n)=>e.attr("y",a+n*s-t))),f=s*o.length;}const d=i.node().getBBox();i.insert("rect",":first-child").attr("class","box").attr("x",r-u/2-vy().state.padding/2).attr("y",a-f/2-vy().state.padding/2-3.5).attr("width",u+vy().state.padding).attr("height",f+vy().state.padding),l.info(d);}qF++;};let YF;const WF={},XF=function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z");},VF=function(t,e,n,i){YF=vy().state;const r=vy().securityLevel;let a;"sandbox"===r&&(a=ln("#i"+e));const o=ln("sandbox"===r?a.nodes()[0].contentDocument.body:"body"),s="sandbox"===r?a.nodes()[0].contentDocument:document;l.debug("Rendering diagram "+t);const c=o.select(`[id='${e}']`);XF(c),new fM({multigraph:!0,compound:!0,rankdir:"RL"}).setDefaultEdgeLabel((function(){return {}}));const u=i.db.getRootDoc();QF(u,c,void 0,!1,o,s,i);const h=YF.padding,f=c.node().getBBox(),d=f.width+2*h,g=f.height+2*h;Iy(c,g,1.75*d,YF.useMaxWidth),c.attr("viewBox",`${f.x-YF.padding}  ${f.y-YF.padding} `+d+" "+g);},ZF=t=>t?t.length*YF.fontSizeFactor:1,QF=(t,e,n,i,r,a,o)=>{const s=new fM({compound:!0,multigraph:!0});let c,u=!0;for(c=0;c{const e=t.parentElement;let n=0,i=0;e&&(e.parentElement&&(n=e.parentElement.getBBox().width),i=parseInt(e.getAttribute("data-x-shift"),10),Number.isNaN(i)&&(i=0)),t.setAttribute("x1",0-i+8),t.setAttribute("x2",n-i-8);}))):l.debug("No Node "+t+": "+JSON.stringify(s.node(t)));}));let b=p.getBBox();s.edges().forEach((function(t){void 0!==t&&void 0!==s.edge(t)&&(l.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(s.edge(t))),KF(e,s.edge(t),s.edge(t).relation));})),b=p.getBBox();const w={id:n||"root",label:n||"root",width:0,height:0};return w.width=b.width+2*YF.padding,w.height=b.height+2*YF.padding,l.debug("Doc rendered",w,s),w},JF={setConf:function(){},draw:VF},tz="rect",ez="rectWithTitle",nz="start",iz="end",rz="divider",az="roundedWithTitle",oz="note",sz="noteGroup",cz="statediagram",uz=`${cz}-state`,lz="transition",hz=`${lz} note-edge`,fz=`${cz}-note`,dz=`${cz}-cluster`,gz=`${cz}-cluster-alt`,pz="parent",bz="note",wz="state",yz="----",mz=`${yz}${bz}`,vz=`${yz}${pz}`,xz="fill:none",kz="fill: #333",_z="c",Ez="text",Tz="normal";let Cz={},Sz=0;function Az(t){return null==t?"":t.classes?t.classes.join(" "):""}function Mz(t="",e=0,n="",i=yz){const r=null!==n&&n.length>0?`${i}${n}`:"";return `${wz}-${t}${r}-${e}`}const Iz=(t,e,n,i,r,a)=>{const o=n.id,s=Az(i[o]);if("root"!==o){let e=tz;!0===n.start&&(e=nz),!1===n.start&&(e=iz),n.type!==Q$&&(e=n.type),Cz[o]||(Cz[o]={id:o,shape:e,description:Yh.sanitizeText(o,vy()),classes:`${s} ${uz}`});const i=Cz[o];n.description&&(Array.isArray(i.description)?(i.shape=ez,i.description.push(n.description)):i.description.length>0?(i.shape=ez,i.description===o?i.description=[n.description]:i.description=[i.description,n.description]):(i.shape=tz,i.description=n.description),i.description=Yh.sanitizeTextOrArray(i.description,vy())),1===i.description.length&&i.shape===ez&&(i.shape=tz),!i.type&&n.doc&&(l.info("Setting cluster for ",o,Lz(n)),i.type="group",i.dir=Lz(n),i.shape=n.type===J$?rz:az,i.classes=i.classes+" "+dz+" "+(a?gz:""));const r={labelStyle:"",shape:i.shape,labelText:i.description,classes:i.classes,style:"",id:o,dir:i.dir,domId:Mz(o,Sz),type:i.type,padding:15};if(n.note){const e={labelStyle:"",shape:oz,labelText:n.note.text,classes:fz,style:"",id:o+mz+"-"+Sz,domId:Mz(o,Sz,bz),type:i.type,padding:15},a={labelStyle:"",shape:sz,labelText:n.note.text,classes:i.classes,style:"",id:o+vz,domId:Mz(o,Sz,pz),type:"group",padding:0};Sz++;const s=o+vz;t.setNode(s,a),t.setNode(e.id,e),t.setNode(o,r),t.setParent(o,s),t.setParent(e.id,s);let c=o,u=e.id;"left of"===n.note.position&&(c=e.id,u=o),t.setEdge(c,u,{arrowhead:"none",arrowType:"",style:xz,labelStyle:"",classes:hz,arrowheadStyle:kz,labelpos:_z,labelType:Ez,thickness:Tz});}else t.setNode(o,r);}e&&"root"!==e.id&&(l.trace("Setting node ",o," to be child of its parent ",e.id),t.setParent(o,e.id)),n.doc&&(l.trace("Adding nodes children "),Oz(t,n,n.doc,i,r,!a));},Oz=(t,e,n,i,r,a)=>{l.trace("items",n),n.forEach((n=>{switch(n.stmt){case W$:case Q$:Iz(t,e,n,i,r,a);break;case X$:{Iz(t,e,n.state1,i,r,a),Iz(t,e,n.state2,i,r,a);const o={id:"edge"+Sz,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:xz,labelStyle:"",label:Yh.sanitizeText(n.description,vy()),arrowheadStyle:kz,labelpos:_z,labelType:Ez,thickness:Tz,classes:lz};t.setEdge(n.state1.id,n.state2.id,o,Sz),Sz++;}}}));},Lz=(t,e=Y$)=>{let n=e;if(t.doc)for(let e=0;el&&C.push("'"+this.terminals_[_]+"'");A=d.showPosition?"Parse error on line "+(c+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(c+1)+": Unexpected "+(m==h?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(A,{text:d.match,token:this.terminals_[m]||m,line:d.yylineno,loc:b,expected:C});}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+m);switch(x[0]){case 1:n.push(m),r.push(d.yytext),a.push(d.yylloc),n.push(x[1]),m=null,u=d.yyleng,s=d.yytext,c=d.yylineno,b=d.yylloc;break;case 2:if(E=this.productions_[x[1]][1],S.$=r[r.length-E],S._$={first_line:a[a.length-(E||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(E||1)].first_column,last_column:a[a.length-1].last_column},w&&(S._$.range=[a[a.length-(E||1)].range[0],a[a.length-1].range[1]]),void 0!==(k=this.performAction.apply(S,[s,u,c,g.yy,x[1],r,a].concat(f))))return k;E&&(n=n.slice(0,-1*E*2),r=r.slice(0,-1*E),a=a.slice(0,-1*E)),n.push(this.productions_[x[1]][0]),r.push(S.$),a.push(S._$),T=o[n[n.length-2]][n[n.length-1]],n.push(T);break;case 3:return !0}}return !0}},d={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e);},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t));},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return (t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return !1}return !1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return !1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t);},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return (t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t);},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:return this.begin("open_directive"),26;case 1:return this.begin("type_directive"),27;case 2:return this.popState(),this.begin("arg_directive"),15;case 3:return this.popState(),this.popState(),29;case 4:return 28;case 5:case 6:case 8:case 9:break;case 7:return 11;case 10:return 4;case 11:return 17;case 12:return this.begin("acc_title"),18;case 13:return this.popState(),"acc_title_value";case 14:return this.begin("acc_descr"),20;case 15:return this.popState(),"acc_descr_value";case 16:this.begin("acc_descr_multiline");break;case 17:this.popState();break;case 18:return "acc_descr_multiline_value";case 19:return 23;case 20:return 24;case 21:return 25;case 22:return 15;case 23:return 6;case 24:return "INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{open_directive:{rules:[1],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},acc_descr_multiline:{rules:[17,18],inclusive:!1},acc_descr:{rules:[15],inclusive:!1},acc_title:{rules:[13],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,14,16,19,20,21,22,23,24],inclusive:!0}}};function g(){this.yy={};}return f.lexer=d,g.prototype=f,f.Parser=g,new g}();Nz.parser=Nz;const Pz=Nz,Bz=t=>null!==t.match(/^\s*journey/);let Rz="";const jz=[],$z=[],Fz=[],zz=function(){let t=Uz();const e=100;let n=0;for(;!t&&n{e.people&&t.push(...e.people);})),[...new Set(t)].sort()},Uz=function(){const t=function(t){return Fz[t].processed};let e=!0;for(const[n,i]of Fz.entries())t(n),e=e&&i.processed;return e},Gz={parseDirective:function(t,e,n){cU.parseDirective(this,t,e,n);},getConfig:()=>vy().journey,clear:function(){jz.length=0,$z.length=0,Rz="",Fz.length=0,Zy();},setDiagramTitle:nm,getDiagramTitle:im,setAccTitle:Qy,getAccTitle:Jy,setAccDescription:tm,getAccDescription:em,addSection:function(t){Rz=t,jz.push(t);},getSections:function(){return jz},getTasks:zz,addTask:function(t,e){const n=e.substr(1).split(":");let i=0,r=[];1===n.length?(i=Number(n[0]),r=[]):(i=Number(n[0]),r=n[1].split(","));const a=r.map((t=>t.trim())),o={section:Rz,type:Rz,people:a,task:t,score:i};Fz.push(o);},addTaskOrg:function(t){const e={section:Rz,type:Rz,description:t,task:t,classes:[]};$z.push(e);},getActors:function(){return Hz()}},qz=function(t,e){const n=t.append("rect");return n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),n.attr("rx",e.rx),n.attr("ry",e.ry),void 0!==e.class&&n.attr("class",e.class),n},Kz=function(t,e){const n=15,i=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",n).attr("stroke-width",2).attr("overflow","visible"),r=t.append("g");function a(t){const i=Au().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(n/2).outerRadius(n/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+2)+")");}function o(t){const i=Au().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(n/2).outerRadius(n/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+7)+")");}function s(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666");}return r.append("circle").attr("cx",e.cx-n/3).attr("cy",e.cy-n/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),r.append("circle").attr("cx",e.cx+n/3).attr("cy",e.cy-n/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),e.score>3?a(r):e.score<3?o(r):s(r),i},Yz=function(t,e){const n=t.append("circle");return n.attr("cx",e.cx),n.attr("cy",e.cy),n.attr("class","actor-"+e.pos),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("r",e.r),void 0!==n.class&&n.attr("class",n.class),void 0!==e.title&&n.append("title").text(e.title),n},Wz=function(t,e){const n=e.text.replace(/
/gi," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.attr("class","legend"),i.style("text-anchor",e.anchor),void 0!==e.class&&i.attr("class",e.class);const r=i.append("tspan");return r.attr("x",e.x+2*e.textMargin),r.text(n),i},Xz=function(t,e){function n(t,e,n,i,r){return t+","+e+" "+(t+n)+","+e+" "+(t+n)+","+(e+i-r)+" "+(t+n-1.2*r)+","+(e+i)+" "+t+","+(e+i)}const i=t.append("polygon");i.attr("points",n(e.x,e.y,50,20,7)),i.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,Wz(t,e);},Vz=function(t,e,n){const i=t.append("g"),r=eH();r.x=e.x,r.y=e.y,r.fill=e.fill,r.width=n.width,r.height=n.height,r.class="journey-section section-type-"+e.num,r.rx=3,r.ry=3,qz(i,r),nH(n)(e.text,i,r.x,r.y,r.width,r.height,{class:"journey-section section-type-"+e.num},n,e.colour);};let Zz=-1;const Qz=function(t,e,n){const i=e.x+n.width/2,r=t.append("g");Zz++;const a=450;r.append("line").attr("id","task"+Zz).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",a).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Kz(r,{cx:i,cy:300+30*(5-e.score),score:e.score});const o=eH();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=n.width,o.height=n.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,qz(r,o);let s=e.x+14;e.people.forEach((t=>{const n=e.actors[t].color,i={cx:s,cy:e.y,r:7,fill:n,stroke:"#000",title:t,pos:e.actors[t].position};Yz(r,i),s+=10;})),nH(n)(e.task,r,o.x,o.y,o.width,o.height,{class:"task"},n,e.colour);},Jz=function(t,e){qz(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower();},tH=function(){return {x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},eH=function(){return {x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},nH=function(){function t(t,e,n,r,a,o,s,c){i(e.append("text").attr("x",n+a/2).attr("y",r+o/2+5).style("font-color",c).style("text-anchor","middle").text(t),s);}function e(t,e,n,r,a,o,s,c,u){const{taskFontSize:l,taskFontFamily:h}=c,f=t.split(/
/gi);for(let t=0;t{const r=aH[i].color,a={cx:20,cy:n,r:7,fill:r,stroke:"#000",pos:aH[i].position};iH.drawCircle(t,a);const o={x:40,y:n+7,fill:"#666",text:i,textMargin:5|e.boxTextMargin};iH.drawText(t,o),n+=20;}));}const sH=vy().journey,cH=sH.leftMargin,uH=function(t,e,n,i){const r=vy().journey;i.db.clear(),i.parser.parse(t+"\n");const a=vy().securityLevel;let o;"sandbox"===a&&(o=ln("#i"+e));const s=ln("sandbox"===a?o.nodes()[0].contentDocument.body:"body");lH.init();const c=s.select("#"+e);iH.initGraphics(c);const u=i.db.getTasks(),l=i.db.getDiagramTitle(),h=i.db.getActors();for(const t in aH)delete aH[t];let f=0;h.forEach((t=>{aH[t]={color:r.actorColours[f%r.actorColours.length],position:f},f++;})),oH(c),lH.insert(0,0,cH,50*Object.keys(aH).length),dH(c,u,0);const d=lH.getBounds();l&&c.append("text").text(l).attr("x",cH).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const g=d.stopy-d.starty+2*r.diagramMarginY,p=cH+d.stopx+2*r.diagramMarginX;Iy(c,g,p,r.useMaxWidth),c.append("line").attr("x1",cH).attr("y1",4*r.height).attr("x2",p-cH-4).attr("y2",4*r.height).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const b=l?70:0;c.attr("viewBox",`${d.startx} -25 ${p} ${g+b}`),c.attr("preserveAspectRatio","xMinYMin meet"),c.attr("height",g+b+25);},lH={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0;},updateVal:function(t,e,n,i){void 0===t[e]?t[e]=n:t[e]=i(n,t[e]);},updateBounds:function(t,e,n,i){const r=vy().journey,a=this;let o=0;function s(s){return function(s){o++;const c=a.sequenceItems.length-o+1;a.updateVal(s,"starty",e-c*r.boxMargin,Math.min),a.updateVal(s,"stopy",i+c*r.boxMargin,Math.max),a.updateVal(lH.data,"startx",t-c*r.boxMargin,Math.min),a.updateVal(lH.data,"stopx",n+c*r.boxMargin,Math.max),a.updateVal(s,"startx",t-c*r.boxMargin,Math.min),a.updateVal(s,"stopx",n+c*r.boxMargin,Math.max),a.updateVal(lH.data,"starty",e-c*r.boxMargin,Math.min),a.updateVal(lH.data,"stopy",i+c*r.boxMargin,Math.max);}}this.sequenceItems.forEach(s());},insert:function(t,e,n,i){const r=Math.min(t,n),a=Math.max(t,n),o=Math.min(e,i),s=Math.max(e,i);this.updateVal(lH.data,"startx",r,Math.min),this.updateVal(lH.data,"starty",o,Math.min),this.updateVal(lH.data,"stopx",a,Math.max),this.updateVal(lH.data,"stopy",s,Math.max),this.updateBounds(r,o,a,s);},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos;},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},hH=sH.sectionFills,fH=sH.sectionColours,dH=function(t,e,n){const i=vy().journey;let r="";const a=n+(2*i.height+i.diagramMarginY);let o=0,s="#CCC",c="black",u=0;for(const[n,l]of e.entries()){if(r!==l.section){s=hH[o%hH.length],u=o%hH.length,c=fH[o%fH.length];const e={x:n*i.taskMargin+n*i.width+cH,y:50,text:l.section,fill:s,num:u,colour:c};iH.drawSection(t,e,i),r=l.section,o++;}const e=l.people.reduce(((t,e)=>(aH[e]&&(t[e]=aH[e]),t)),{});l.x=n*i.taskMargin+n*i.width+cH,l.y=a,l.width=i.diagramMarginX,l.height=i.diagramMarginY,l.colour=c,l.fill=s,l.num=u,l.actors=e,iH.drawTask(t,l,i),lH.insert(l.x,l.y,l.x+l.width+i.taskMargin,450);}},gH={setConf:rH,draw:uH};let pH={};const bH={setConf:function(t){pH={...pH,...t};},draw:(t,e,n)=>{try{l.debug("Renering svg for syntax error\n");const t=ln("#"+e),i=t.append("g");i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in graph"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text("mermaid version "+n),t.attr("height",100),t.attr("width",500),t.attr("viewBox","768 0 912 512");}catch(t){l.error("Error while rendering info diagram"),l.error(pw(t));}}},wH="flowchart-elk",yH={id:wH,detector:(t,e)=>{var n;return !!(t.match(/^\s*flowchart-elk/)||t.match(/^\s*flowchart|graph/)&&"elk"===(null==(n=null==e?void 0:e.flowchart)?void 0:n.defaultRenderer))},loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>KU));return {id:wH,diagram:t}}},mH="timeline",vH={id:mH,detector:t=>null!==t.match(/^\s*timeline/),loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>NG));return {id:mH,diagram:t}}},xH="mindmap",kH={id:xH,detector:t=>null!==t.match(/^\s*mindmap/),loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>Dq));return {id:xH,diagram:t}}};let _H=!1;const EH=()=>{_H||(_H=!0,wp(yH,vH,kH),wm("error",{db:{clear:()=>{}},styles:Ny,renderer:bH,parser:{parser:{yy:{}},parse:()=>{}},init:()=>{}},(t=>"error"===t.toLowerCase().trim())),wm("---",{db:{clear:()=>{}},styles:Ny,renderer:bH,parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with unindented `---` blocks")}},init:()=>null},(t=>t.toLowerCase().trimStart().startsWith("---"))),wm("c4",{parser:uv,db:Lv,renderer:gx,styles:Uy,init:t=>{gx.setConf(t.c4);}},lv),wm("class",{parser:bx,db:Qx,renderer:eL,styles:Ly,init:t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,Qx.clear();}},wx),wm("classDiagram",{parser:bx,db:Qx,renderer:dD,styles:Ly,init:t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,Qx.clear();}},yx),wm("er",{parser:pD,db:xD,renderer:VD,styles:Dy},bD),wm("gantt",{parser:MB,db:vR,renderer:_R,styles:By},IB),wm("info",{parser:TR,db:AR,renderer:MR,styles:Ry},IR),wm("pie",{parser:LR,db:BR,renderer:FR,styles:jy},DR),wm("requirement",{parser:HR,db:XR,renderer:lj,styles:$y},UR),wm("sequence",{parser:fj,db:jj,renderer:H$,styles:Fy,init:t=>{if(t.sequence||(t.sequence={}),t.sequence.arrowMarkerAbsolute=t.arrowMarkerAbsolute,"sequenceDiagram"in t)throw new Error("`mermaid config.sequenceDiagram` has been renamed to `config.sequence`. Please update your mermaid config.");jj.setWrap(t.wrap),H$.setConf(t.sequence);}},dj),wm("state",{parser:G$,db:NF,renderer:JF,styles:zy,init:t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,NF.clear();}},q$),wm("stateDiagram",{parser:G$,db:NF,renderer:Dz,styles:zy,init:t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,NF.clear();}},K$),wm("journey",{parser:Pz,db:Gz,renderer:gH,styles:Hy,init:t=>{gH.setConf(t.journey),Gz.clear();}},Bz),wm("flowchart",{parser:QD,db:nP,renderer:SB,styles:Py,init:t=>{t.flowchart||(t.flowchart={}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,kB.setConf(t.flowchart),nP.clear(),nP.setGen("gen-1");}},JD),wm("flowchart-v2",{parser:QD,db:nP,renderer:SB,styles:Py,init:t=>{t.flowchart||(t.flowchart={}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,my({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}}),SB.setConf(t.flowchart),nP.clear(),nP.setGen("gen-2");}},tN),wm("gitGraph",{parser:vm,db:Gm,renderer:ov,styles:sv},xm));};class TH{constructor(t,e){var n,i;this.txt=t,this.type="graph",this.detectTypeFailed=!1;const r=vy();this.txt=t;try{this.type=bp(t,r);}catch(t){this.handleError(t,e),this.type="error",this.detectTypeFailed=!0;}const a=ym(this.type);l.debug("Type "+this.type),this.db=a.db,null==(i=(n=this.db).clear)||i.call(n),this.renderer=a.renderer,this.parser=a.parser;const o=this.parser.parse.bind(this.parser);this.parser.parse=t=>o(fp(t,this.db)),this.parser.parser.yy=this.db,a.init&&(a.init(r),l.info("Initialized diagram "+this.type,r)),this.txt+="\n",this.parse(this.txt,e);}parse(t,e){var n,i;if(this.detectTypeFailed)return !1;try{return t+="\n",null==(i=(n=this.db).clear)||i.call(n),this.parser.parse(t),!0}catch(t){this.handleError(t,e);}return !1}handleError(t,e){if(void 0===e)throw t;gw(t)?e(t.str,t.hash):e(t);}getParser(){return this.parser}getType(){return this.type}}const CH=(t,e)=>{const n=bp(t,vy());try{ym(n);}catch(i){const r=mp(n);if(!r)throw new Error(`Diagram ${n} not found.`);return r().then((({diagram:i})=>(wm(n,i,void 0),new TH(t,e))))}return new TH(t,e)},SH=TH,AH="graphics-document document";function MH(t,e){t.attr("role",AH),MA(e)||t.attr("aria-roledescription",e);}function IH(t,e,n,i){if(void 0!==t.insert&&(e||n)){if(n){const e="chart-desc-"+i;t.attr("aria-describedby",e),t.insert("desc",":first-child").attr("id",e).text(n);}if(e){const n="chart-title-"+i;t.attr("aria-labelledby",n),t.insert("title",":first-child").attr("id",n).text(e);}}}const OH=["graph","flowchart","flowchart-v2","stateDiagram","stateDiagram-v2"],LH="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",DH="sandbox",NH="loose",PH="http://www.w3.org/2000/svg",BH="http://www.w3.org/1999/xlink",RH="http://www.w3.org/1999/xhtml",jH="100%",$H="100%",FH="border:0;margin:0;",zH="margin:0",HH="allow-top-navigation-by-user-activation allow-popups",UH='The "iframe" tag is not supported by your browser.',GH=["foreignobject"],qH=["dominant-baseline"];function KH(t,e){return EH(),new SH(t,e).parse(t,e)}async function YH(t,e){return EH(),(await CH(t,e)).parse(t,e)}const WH=function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)})),e=e.replace(/classDef.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)})),e=e.replace(/#\w+;/g,(function(t){const e=t.substring(1,t.length-1);return /^\+?\d+$/.test(e)?"fl°°"+e+"¶ß":"fl°"+e+"¶ß"})),e},XH=function(t){let e=t;return e=e.replace(/fl°°/g,""),e=e.replace(/fl°/g,"&"),e=e.replace(/¶ß/g,";"),e},VH=(t,e,n=[])=>`\n.${t} ${e} { ${n.join(" !important; ")} !important; }`,ZH=(t,e,n={})=>{var i;let r="";if(void 0!==t.themeCSS&&(r+=`\n${t.themeCSS}`),void 0!==t.fontFamily&&(r+=`\n:root { --mermaid-font-family: ${t.fontFamily}}`),void 0!==t.altFontFamily&&(r+=`\n:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),!MA(n)&&OH.includes(e)){const e=t.htmlLabels||(null==(i=t.flowchart)?void 0:i.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const t in n){const i=n[t];MA(i.styles)||e.forEach((t=>{r+=VH(i.id,t,i.styles);})),MA(i.textStyles)||(r+=VH(i.id,"tspan",i.textStyles));}}return r},QH=(t,e,n,i)=>{const r=ZH(t,e,n);return oy(ey(`${i}{${Ky(e,r,t.themeVariables)}}`),sy)},JH=(t="",e,n)=>{let i=t;return n||e||(i=i.replace(/marker-end="url\(.*?#/g,'marker-end="url(#')),i=XH(i),i=i.replace(/
/g,"
"),i},tU=(t="",e)=>{const n=e?e.viewBox.baseVal.height+"px":$H,i=btoa(''+t+"");return ``},eU=(t,e,n,i,r)=>{const a=t.append("div");a.attr("id",n),i&&a.attr("style",i);const o=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",PH);return r&&o.attr("xmlns:xlink",r),o.append("g"),t};function nU(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const iU=(t,e,n,i)=>{var r,a,o;null==(r=t.getElementById(e))||r.remove(),null==(a=t.getElementById(n))||a.remove(),null==(o=t.getElementById(i))||o.remove();},rU=function(t,e,n,i){var r,a,o,s;EH(),_y();const c=ww.detectInit(e);c&&(fw(c),ky(c));const u=vy();l.debug(u),e.length>((null==u?void 0:u.maxTextSize)??5e4)&&(e=LH),e=e.replace(/\r\n?/g,"\n");const h="#"+t,f="i"+t,d="#"+f,g="d"+t,p="#"+g;let b=ln("body");const w=u.securityLevel===DH,y=u.securityLevel===NH,m=u.fontFamily;if(void 0!==i){if(i&&(i.innerHTML=""),w){const t=nU(ln(i),f);b=ln(t.nodes()[0].contentDocument.body),b.node().style.margin=0;}else b=ln(i);eU(b,t,g,`font-family: ${m}`,BH);}else {if(iU(document,t,g,f),w){const t=nU(ln("body"),f);b=ln(t.nodes()[0].contentDocument.body),b.node().style.margin=0;}else b=ln("body");eU(b,t,g);}let v,x;e=WH(e);try{if(v=CH(e),"then"in v)throw new Error("Diagram is a promise. Use renderAsync.")}catch(t){v=new SH("error"),x=t;}const k=b.select(p).node(),_=v.type,E=k.firstChild,T=E.firstChild,C=OH.includes(_)?v.renderer.getClasses(e,v):{},S=QH(u,_,C,h),A=document.createElement("style");A.innerHTML=S,E.insertBefore(A,T);try{v.renderer.draw(e,t,cy,v);}catch(n){throw bH.draw(e,t,cy),n}sU(_,b.select(`${p} svg`),null==(a=(r=v.db).getAccTitle)?void 0:a.call(r),null==(s=(o=v.db).getAccDescription)?void 0:s.call(o)),b.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",RH);let M=b.select(p).node().innerHTML;if(l.debug("config.arrowMarkerAbsolute",u.arrowMarkerAbsolute),M=JH(M,w,qh(u.arrowMarkerAbsolute)),w){const t=b.select(p+" svg").node();M=tU(M,t);}else y||(M=Bh.sanitize(M,{ADD_TAGS:GH,ADD_ATTR:qH}));if(void 0!==n)switch(_){case"flowchart":case"flowchart-v2":n(M,nP.bindFunctions);break;case"gantt":n(M,vR.bindFunctions);break;case"class":case"classDiagram":n(M,Qx.bindFunctions);break;default:n(M);}else l.debug("CB = undefined!");zj();const I=ln(w?d:p).node();if(I&&"remove"in I&&I.remove(),x)throw x;return M},aU=async function(t,e,n,i){var r,a,o,s;EH(),_y();const c=ww.detectInit(e);c&&(fw(c),ky(c));const u=vy();l.debug(u),e.length>((null==u?void 0:u.maxTextSize)??5e4)&&(e=LH),e=e.replace(/\r\n?/g,"\n");const h="#"+t,f="i"+t,d="#"+f,g="d"+t,p="#"+g;let b=ln("body");const w=u.securityLevel===DH,y=u.securityLevel===NH,m=u.fontFamily;if(void 0!==i){if(i&&(i.innerHTML=""),w){const t=nU(ln(i),f);b=ln(t.nodes()[0].contentDocument.body),b.node().style.margin=0;}else b=ln(i);eU(b,t,g,`font-family: ${m}`,BH);}else {if(iU(document,t,g,f),w){const t=nU(ln("body"),f);b=ln(t.nodes()[0].contentDocument.body),b.node().style.margin=0;}else b=ln("body");eU(b,t,g);}let v,x;e=WH(e);try{v=await CH(e);}catch(t){v=new SH("error"),x=t;}const k=b.select(p).node(),_=v.type,E=k.firstChild,T=E.firstChild,C=OH.includes(_)?v.renderer.getClasses(e,v):{},S=QH(u,_,C,h),A=document.createElement("style");A.innerHTML=S,E.insertBefore(A,T);try{await v.renderer.draw(e,t,cy,v);}catch(n){throw bH.draw(e,t,cy),n}sU(_,b.select(`${p} svg`),null==(a=(r=v.db).getAccTitle)?void 0:a.call(r),null==(s=(o=v.db).getAccDescription)?void 0:s.call(o)),b.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",RH);let M=b.select(p).node().innerHTML;if(l.debug("config.arrowMarkerAbsolute",u.arrowMarkerAbsolute),M=JH(M,w,qh(u.arrowMarkerAbsolute)),w){const t=b.select(p+" svg").node();M=tU(M,t);}else y||(M=Bh.sanitize(M,{ADD_TAGS:GH,ADD_ATTR:qH}));if(void 0!==n)switch(_){case"flowchart":case"flowchart-v2":n(M,nP.bindFunctions);break;case"gantt":n(M,vR.bindFunctions);break;case"class":case"classDiagram":n(M,Qx.bindFunctions);break;default:n(M);}else l.debug("CB = undefined!");zj();const I=ln(w?d:p).node();if(I&&"remove"in I&&I.remove(),x)throw x;return M};function oU(t={}){var e;(null==t?void 0:t.fontFamily)&&!(null==(e=t.themeVariables)?void 0:e.fontFamily)&&(t.themeVariables={fontFamily:t.fontFamily}),by(t),(null==t?void 0:t.theme)&&t.theme in Pf?t.themeVariables=Pf[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=Pf.default.getThemeVariables(t.themeVariables));const n="object"==typeof t?py(t):yy();h(n.logLevel),EH();}function sU(t,e,n,i){MH(e,t),IH(e,n,i,e.attr("id"));}const cU=Object.freeze({render:rU,renderAsync:aU,parse:KH,parseAsync:YH,parseDirective:sm,initialize:oU,getConfig:vy,setConfig:my,getSiteConfig:yy,updateSiteConfig:wy,reset:()=>{_y();},globalReset:()=>{_y(uy);},defaultConfig:uy});h(vy().logLevel),_y(vy());const uU=async function(t,e,n){try{await dU(t,e,n);}catch(t){l.warn("Syntax Error rendering"),gw(t)&&l.warn(t.str),EU.parseError&&EU.parseError(t);}},lU=(t,e,n)=>{l.warn(t),gw(t)?(n&&n(t.str,t.hash),e.push({...t,message:t.str,error:t})):(n&&n(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}));},hU=function(e,n,i){const r=cU.getConfig();let a;if(e&&(EU.sequenceConfig=e),l.debug((i?"":"No ")+"Callback function found"),void 0===n)a=document.querySelectorAll(".mermaid");else if("string"==typeof n)a=document.querySelectorAll(n);else if(n instanceof HTMLElement)a=[n];else {if(!(n instanceof NodeList))throw new Error("Invalid argument nodes for mermaid.init");a=n;}l.debug(`Found ${a.length} diagrams`),void 0!==(null==e?void 0:e.startOnLoad)&&(l.debug("Start On Load: "+(null==e?void 0:e.startOnLoad)),cU.updateSiteConfig({startOnLoad:null==e?void 0:e.startOnLoad}));const o=new ww.initIdGenerator(r.deterministicIds,r.deterministicIDSeed);let s;const c=[];for(const e of Array.from(a)){if(l.info("Rendering diagram: "+e.id),e.getAttribute("data-processed"))continue;e.setAttribute("data-processed","true");const n=`mermaid-${o.next()}`;s=e.innerHTML,s=t(ww.entityDecode(s)).trim().replace(/
/gi,"
");const r=ww.detectInit(s);r&&l.debug("Detected early reinit: ",r);try{cU.render(n,s,((t,r)=>{e.innerHTML=t,void 0!==i&&i(n),r&&r(e);}),e);}catch(t){lU(t,c,EU.parseError);}}if(c.length>0)throw c[0]},fU=async(...t)=>{l.debug(`Loading ${t.length} external diagrams`);const e=(await Promise.allSettled(t.map((async({id:t,detector:e,loader:n})=>{const{diagram:i}=await n();wm(t,i,e);})))).filter((t=>"rejected"===t.status));if(e.length>0){l.error(`Failed to load ${e.length} external diagrams`);for(const t of e)l.error(t);throw new Error(`Failed to load ${e.length} external diagrams`)}},dU=async function(e,n,i){const r=cU.getConfig();let a;if(e&&(EU.sequenceConfig=e),l.debug((i?"":"No ")+"Callback function found"),void 0===n)a=document.querySelectorAll(".mermaid");else if("string"==typeof n)a=document.querySelectorAll(n);else if(n instanceof HTMLElement)a=[n];else {if(!(n instanceof NodeList))throw new Error("Invalid argument nodes for mermaid.init");a=n;}l.debug(`Found ${a.length} diagrams`),void 0!==(null==e?void 0:e.startOnLoad)&&(l.debug("Start On Load: "+(null==e?void 0:e.startOnLoad)),cU.updateSiteConfig({startOnLoad:null==e?void 0:e.startOnLoad}));const o=new ww.initIdGenerator(r.deterministicIds,r.deterministicIDSeed);let s;const c=[];for(const e of Array.from(a)){if(l.info("Rendering diagram: "+e.id),e.getAttribute("data-processed"))continue;e.setAttribute("data-processed","true");const n=`mermaid-${o.next()}`;s=e.innerHTML,s=t(ww.entityDecode(s)).trim().replace(/
/gi,"
");const r=ww.detectInit(s);r&&l.debug("Detected early reinit: ",r);try{await cU.renderAsync(n,s,((t,r)=>{e.innerHTML=t,void 0!==i&&i(n),r&&r(e);}),e);}catch(t){lU(t,c,EU.parseError);}}if(c.length>0)throw c[0]},gU=function(t){cU.initialize(t);},pU=async(t,{lazyLoad:e=!0}={})=>{e?wp(...t):await fU(...t);},bU=function(){if(EU.startOnLoad){const{startOnLoad:t}=cU.getConfig();t&&EU.init().catch((t=>l.error("Mermaid failed to initialize",t)));}};"undefined"!=typeof document&&window.addEventListener("load",bU,!1);const wU=function(t){EU.parseError=t;},yU=t=>cU.parse(t,EU.parseError),mU=[];let vU=!1;const xU=async()=>{if(!vU){for(vU=!0;mU.length>0;){const t=mU.shift();if(t)try{await t();}catch(t){l.error("Error executing queue",t);}}vU=!1;}},kU=t=>new Promise(((e,n)=>{const i=()=>new Promise(((i,r)=>{cU.parseAsync(t,EU.parseError).then((t=>{i(t),e(t);}),(t=>{l.error("Error parsing",t),r(t),n(t);}));}));mU.push(i),xU().catch(n);})),_U=(t,e,n,i)=>new Promise(((r,a)=>{const o=()=>new Promise(((o,s)=>{cU.renderAsync(t,e,n,i).then((t=>{o(t),r(t);}),(t=>{l.error("Error parsing",t),s(t),a(t);}));}));mU.push(o),xU().catch(a);})),EU={startOnLoad:!0,diagrams:{},mermaidAPI:cU,parse:yU,parseAsync:kU,render:cU.render,renderAsync:_U,init:uU,initThrowsErrors:hU,initThrowsErrorsAsync:dU,registerExternalDiagrams:pU,initialize:gU,parseError:void 0,contentLoaded:bU,setParseErrorHandler:wU},TU=(t,e,n)=>{const{parentById:i}=n,r=new Set;let a=t;for(;a;){if(r.add(a),a===e)return a;a=i[a];}for(a=e;a;){if(r.has(a))return a;a=i[a];}return "root"};function CU(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var SU={};!function(t){var n;n=function(){return function(){function t(e,n,i){function r(o,s){if(!n[o]){if(!e[o]){var c="function"==typeof CU&&CU;if(!s&&c)return c(o,!0);if(a)return a(o,!0);var u=new Error("Cannot find module '"+o+"'");throw u.code="MODULE_NOT_FOUND",u}var l=n[o]={exports:{}};e[o][0].call(l.exports,(function(t){return r(e[o][1][t]||t)}),l,l.exports,t,e,n,i);}return n[o].exports}for(var a="function"==typeof CU&&CU,o=0;o0&&void 0!==arguments[0]?arguments[0]:{},i=n.defaultLayoutOptions,a=void 0===i?{}:i,s=n.algorithms,c=void 0===s?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:s,u=n.workerFactory,l=n.workerUrl;if(r(this,t),this.defaultLayoutOptions=a,this.initialized=!1,void 0===l&&void 0===u)throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var h=u;void 0!==l&&void 0===u&&(h=function(t){return new Worker(t)});var f=h(l);if("function"!=typeof f.postMessage)throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new o(f),this.worker.postMessage({cmd:"register",algorithms:c}).then((function(t){return e.initialized=!0})).catch(console.err);}return i(t,[{key:"layout",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.layoutOptions,i=void 0===n?this.defaultLayoutOptions:n,r=e.logging,a=void 0!==r&&r,o=e.measureExecutionTime,s=void 0!==o&&o;return t?this.worker.postMessage({cmd:"layout",graph:t,layoutOptions:i,options:{logging:a,measureExecutionTime:s}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker.terminate();}}]),t}();n.default=a;var o=function(){function t(e){var n=this;if(r(this,t),void 0===e)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=e,this.worker.onmessage=function(t){setTimeout((function(){n.receive(n,t);}),0);};}return i(t,[{key:"postMessage",value:function(t){var e=this.id||0;this.id=e+1,t.id=e;var n=this;return new Promise((function(i,r){n.resolvers[e]=function(t,e){t?(n.convertGwtStyleError(t),r(t)):i(e);},n.worker.postMessage(t);}))}},{key:"receive",value:function(t,e){var n=e.data,i=t.resolvers[n.id];i&&(delete t.resolvers[n.id],n.error?i(n.error):i(null,n.data));}},{key:"terminate",value:function(){this.worker.terminate&&this.worker.terminate();}},{key:"convertGwtStyleError",value:function(t){if(t){var e=t.__java$exception;e&&(e.cause&&e.cause.backingJsObject&&(t.cause=e.cause.backingJsObject,this.convertGwtStyleError(t.cause)),delete t.__java$exception);}}}]),t}();},{}],2:[function(t,n,i){(function(t){(function(){var e;function r(){}function a(){}function o(){}function s(){}function c(){}function u(){}function l(){}function h(){}function f(){}function d(){}function g(){}function p(){}function b(){}function w(){}function y(){}function m(){}function v(){}function x(){}function k(){}function _(){}function E(){}function T(){}function C(){}function S(){}function A(){}function M(){}function I(){}function O(){}function L(){}function D(){}function N(){}function P(){}function B(){}function R(){}function j(){}function $(){}function F(){}function z(){}function H(){}function U(){}function G(){}function q(){}function K(){}function Y(){}function W(){}function X(){}function V(){}function Z(){}function Q(){}function J(){}function tt(){}function et(){}function nt(){}function it(){}function rt(){}function at(){}function ot(){}function st(){}function ct(){}function ut(){}function lt(){}function ht(){}function ft(){}function dt(){}function gt(){}function pt(){}function bt(){}function wt(){}function yt(){}function mt(){}function vt(){}function xt(){}function kt(){}function _t(){}function Et(){}function Tt(){}function Ct(){}function St(){}function At(){}function Mt(){}function It(){}function Ot(){}function Lt(){}function Dt(){}function Nt(){}function Pt(){}function Bt(){}function Rt(){}function jt(){}function $t(){}function Ft(){}function zt(){}function Ht(){}function Ut(){}function Gt(){}function qt(){}function Kt(){}function Yt(){}function Wt(){}function Xt(){}function Vt(){}function Zt(){}function Qt(){}function Jt(){}function te(){}function ee(){}function ne(){}function ie(){}function re(){}function ae(){}function oe(){}function se(){}function ce(){}function ue(){}function le(){}function he(){}function fe(){}function de(){}function ge(){}function pe(){}function be(){}function we(){}function ye(){}function me(){}function ve(){}function xe(){}function ke(){}function _e(){}function Ee(){}function Te(){}function Ce(){}function Se(){}function Ae(){}function Me(){}function Ie(){}function Oe(){}function Le(){}function De(){}function Ne(){}function Pe(){}function Be(){}function Re(){}function je(){}function $e(){}function Fe(){}function ze(){}function He(){}function Ue(){}function Ge(){}function qe(){}function Ke(){}function Ye(){}function We(){}function Xe(){}function Ve(){}function Ze(){}function Qe(){}function Je(){}function tn(){}function en(){}function nn(){}function rn(){}function an(){}function on(){}function sn(){}function cn(){}function un(){}function ln(){}function hn(){}function fn(){}function dn(){}function gn(){}function pn(){}function bn(){}function wn(){}function yn(){}function mn(){}function vn(){}function xn(){}function kn(){}function _n(){}function En(){}function Tn(){}function Cn(){}function Sn(){}function An(){}function Mn(){}function In(){}function On(){}function Ln(){}function Dn(){}function Nn(){}function Pn(){}function Bn(){}function Rn(){}function jn(){}function $n(){}function Fn(){}function zn(){}function Hn(){}function Un(){}function Gn(){}function qn(){}function Kn(){}function Yn(){}function Wn(){}function Xn(){}function Vn(){}function Zn(){}function Qn(){}function Jn(){}function ti(){}function ei(){}function ni(){}function ii(){}function ri(){}function ai(){}function oi(){}function si(){}function ci(){}function ui(){}function li(){}function hi(){}function fi(){}function di(){}function gi(){}function pi(){}function bi(){}function wi(){}function yi(){}function mi(){}function vi(){}function xi(){}function ki(){}function _i(){}function Ei(){}function Ti(){}function Ci(){}function Si(){}function Ai(){}function Mi(){}function Ii(){}function Oi(){}function Li(){}function Di(){}function Ni(){}function Pi(){}function Bi(){}function Ri(){}function ji(){}function $i(){}function Fi(){}function zi(){}function Hi(){}function Ui(){}function Gi(){}function qi(){}function Ki(){}function Yi(){}function Wi(){}function Xi(){}function Vi(){}function Zi(){}function Qi(){}function Ji(){}function tr(){}function er(){}function nr(){}function ir(){}function rr(){}function ar(){}function or(){}function sr(){}function cr(){}function ur(){}function lr(){}function hr(){}function fr(){}function dr(){}function gr(){}function pr(){}function br(){}function wr(){}function yr(){}function mr(){}function vr(){}function xr(){}function kr(){}function _r(){}function Er(){}function Tr(){}function Cr(){}function Sr(){}function Ar(){}function Mr(){}function Ir(){}function Or(){}function Lr(){}function Dr(){}function Nr(){}function Pr(){}function Br(){}function Rr(){}function jr(){}function $r(){}function Fr(){}function zr(){}function Hr(){}function Ur(){}function Gr(){}function qr(){}function Kr(){}function Yr(){}function Wr(){}function Xr(){}function Vr(){}function Zr(){}function Qr(){}function Jr(){}function ta(){}function ea(){}function na(){}function ia(){}function ra(){}function aa(){}function oa(){}function sa(){}function ca(){}function ua(){}function la(){}function ha(){}function fa(){}function da(){}function ga(){}function pa(){}function ba(){}function wa(){}function ya(){}function ma(){}function va(){}function xa(){}function ka(){}function _a(){}function Ea(){}function Ta(){}function Ca(){}function Sa(){}function Aa(){}function Ma(){}function Ia(){}function Oa(){}function La(){}function Da(){}function Na(){}function Pa(){}function Ba(){}function Ra(){}function ja(){}function $a(){}function Fa(){}function za(){}function Ha(){}function Ua(){}function Ga(){}function qa(){}function Ka(){}function Ya(){}function Wa(){}function Xa(){}function Va(){}function Za(){}function Qa(){}function Ja(){}function to(){}function eo(){}function no(){}function io(){}function ro(){}function ao(){}function oo(){}function so(){}function co(){}function uo(){}function lo(){}function ho(){}function fo(){}function go(){}function po(){}function bo(){}function wo(){}function yo(){}function mo(){}function vo(){}function xo(){}function ko(){}function _o(){}function Eo(){}function To(){}function Co(){}function So(){}function Ao(){}function Mo(){}function Io(){}function Oo(){}function Lo(){}function Do(){}function No(){}function Po(){}function Bo(){}function Ro(){}function jo(){}function $o(){}function Fo(){}function zo(){}function Ho(){}function Uo(){}function Go(){}function qo(){}function Ko(){}function Yo(){}function Wo(){}function Xo(){}function Vo(){}function Zo(){}function Qo(){}function Jo(){}function ts(){}function es(){}function ns(){}function is(){}function rs(){}function as(){}function os(){}function ss(){}function cs(){}function us(){}function ls(){}function hs(){}function fs(){}function ds(){}function gs(){}function ps(){}function bs(){}function ws(){}function ys(){}function ms(){}function vs(){}function xs(){}function ks(){}function _s(){}function Es(){}function Ts(){}function Cs(){}function Ss(){}function As(){}function Ms(){}function Is(){}function Os(){}function Ls(){}function Ds(){}function Ns(){}function Ps(){}function Bs(){}function Rs(){}function js(){}function $s(){}function Fs(){}function zs(){}function Hs(){}function Us(){}function Gs(){}function qs(){}function Ks(){}function Ys(){}function Ws(){}function Xs(){}function Vs(){}function Zs(){}function Qs(){}function Js(){}function tc(){}function ec(){}function nc(){}function ic(){}function rc(){}function ac(){}function oc(){}function sc(){}function cc(){}function uc(){}function lc(){}function hc(){}function fc(){}function dc(){}function gc(){}function pc(){}function bc(){}function wc(){}function yc(){}function mc(){}function vc(){}function xc(){}function kc(){}function _c(){}function Ec(){}function Tc(){}function Cc(){}function Sc(){}function Ac(){}function Mc(){}function Ic(){}function Oc(){}function Lc(){}function Dc(){}function Nc(){}function Pc(){}function Bc(){}function Rc(){}function jc(){}function $c(){}function Fc(){}function zc(){}function Hc(){}function Uc(){}function Gc(){}function qc(){}function Kc(){}function Yc(){}function Wc(){}function Xc(){}function Vc(){}function Zc(){}function Qc(){}function Jc(){}function tu(){}function eu(){}function nu(){}function iu(){}function ru(){}function au(){}function ou(){}function su(){}function cu(){}function uu(){}function lu(){}function hu(){}function fu(){}function du(){}function gu(){}function pu(){}function bu(){}function wu(){}function yu(){}function mu(){}function vu(){}function xu(){}function ku(){}function _u(){}function Eu(){}function Tu(){}function Cu(){}function Su(){}function Au(){}function Mu(){}function Iu(){}function Ou(){}function Lu(){}function Du(){}function Nu(){}function Pu(){}function Bu(){}function Ru(){}function ju(){}function $u(){}function Fu(){}function zu(){}function Hu(){}function Uu(){}function Gu(){}function qu(){}function Ku(){}function Yu(){}function Wu(){}function Xu(){}function Vu(){}function Zu(){}function Qu(){}function Ju(){}function tl(){}function el(){}function nl(){}function il(){}function rl(){}function al(){}function ol(){}function sl(){}function cl(){}function ul(){}function ll(){}function hl(){}function fl(){}function dl(){}function gl(){}function pl(){}function bl(){}function wl(){}function yl(){}function ml(){}function vl(){}function xl(){}function kl(){}function _l(){}function El(){}function Tl(){}function Cl(){}function Sl(){}function Al(){}function Ml(){}function Il(){}function Ol(){}function Ll(){}function Dl(){}function Nl(){}function Pl(){}function Bl(){}function Rl(){}function jl(){}function $l(){ev();}function Fl(){Uut();}function zl(){kwt();}function Hl(){jxt();}function Ul(){xCt();}function Gl(){lRt();}function ql(){Rvt();}function Kl(){ixt();}function Yl(){xT();}function Wl(){wT();}function Xl(){z$();}function Vl(){kT();}function Zl(){Art();}function Ql(){ET();}function Jl(){S6();}function th(){Cit();}function eh(){W8();}function nh(){RJ();}function ih(){Gut();}function rh(){jTt();}function ah(){Sit();}function oh(){G2();}function sh(){lWt();}function ch(){Uvt();}function uh(){jJ();}function lh(){zYt();}function hh(){PJ();}function fh(){Ait();}function dh(){Vst();}function gh(){HJ();}function ph(){C7();}function bh(){TT();}function wh(){ROt();}function yh(){qvt();}function mh(){$at();}function vh(){ETt();}function xh(){fRt();}function kh(){Fyt();}function _h(){SOt();}function Eh(){Bot();}function Th(){FJ();}function Ch(){c$t();}function Sh(){OOt();}function Ah(){YLt();}function Mh(){D7();}function Ih(){TTt();}function Oh(){cWt();}function Lh(){Kut();}function Dh(){wpt();}function Nh(){Hzt();}function Ph(){a$();}function Bh(){dat();}function Rh(){lFt();}function jh(t){mW(t);}function $h(t){this.a=t;}function Fh(t){this.a=t;}function zh(t){this.a=t;}function Hh(t){this.a=t;}function Uh(t){this.a=t;}function Gh(t){this.a=t;}function qh(t){this.a=t;}function Kh(t){this.a=t;}function Yh(t){this.a=t;}function Wh(t){this.a=t;}function Xh(t){this.a=t;}function Vh(t){this.a=t;}function Zh(t){this.a=t;}function Qh(t){this.a=t;}function Jh(t){this.a=t;}function tf(t){this.a=t;}function ef(t){this.a=t;}function nf(t){this.a=t;}function rf(t){this.a=t;}function af(t){this.a=t;}function of(t){this.a=t;}function sf(t){this.b=t;}function cf(t){this.c=t;}function uf(t){this.a=t;}function lf(t){this.a=t;}function hf(t){this.a=t;}function ff(t){this.a=t;}function df(t){this.a=t;}function gf(t){this.a=t;}function pf(t){this.a=t;}function bf(t){this.a=t;}function wf(t){this.a=t;}function yf(t){this.a=t;}function mf(t){this.a=t;}function vf(t){this.a=t;}function xf(t){this.a=t;}function kf(t){this.a=t;}function _f(t){this.a=t;}function Ef(t){this.a=t;}function Tf(t){this.a=t;}function Cf(){this.a=[];}function Sf(t,e){t.a=e;}function Af(t,e){t.a=e;}function Mf(t,e){t.b=e;}function If(t,e){t.b=e;}function Of(t,e){t.b=e;}function Lf(t,e){t.j=e;}function Df(t,e){t.g=e;}function Nf(t,e){t.i=e;}function Pf(t,e){t.c=e;}function Bf(t,e){t.d=e;}function Rf(t,e){t.d=e;}function jf(t,e){t.c=e;}function $f(t,e){t.k=e;}function Ff(t,e){t.c=e;}function zf(t,e){t.c=e;}function Hf(t,e){t.a=e;}function Uf(t,e){t.a=e;}function Gf(t,e){t.f=e;}function qf(t,e){t.a=e;}function Kf(t,e){t.b=e;}function Yf(t,e){t.d=e;}function Wf(t,e){t.i=e;}function Xf(t,e){t.o=e;}function Vf(t,e){t.r=e;}function Zf(t,e){t.a=e;}function Qf(t,e){t.b=e;}function Jf(t,e){t.e=e;}function td(t,e){t.f=e;}function ed(t,e){t.g=e;}function nd(t,e){t.e=e;}function id(t,e){t.f=e;}function rd(t,e){t.f=e;}function ad(t,e){t.n=e;}function od(t,e){t.a=e;}function sd(t,e){t.a=e;}function cd(t,e){t.c=e;}function ud(t,e){t.c=e;}function ld(t,e){t.d=e;}function hd(t,e){t.e=e;}function fd(t,e){t.g=e;}function dd(t,e){t.a=e;}function gd(t,e){t.c=e;}function pd(t,e){t.d=e;}function bd(t,e){t.e=e;}function wd(t,e){t.f=e;}function yd(t,e){t.j=e;}function md(t,e){t.a=e;}function vd(t,e){t.b=e;}function xd(t,e){t.a=e;}function kd(t){t.b=t.a;}function _d(t){t.c=t.d.d;}function Ed(t){this.d=t;}function Td(t){this.a=t;}function Cd(t){this.a=t;}function Sd(t){this.a=t;}function Ad(t){this.a=t;}function Md(t){this.a=t;}function Id(t){this.a=t;}function Od(t){this.a=t;}function Ld(t){this.a=t;}function Dd(t){this.a=t;}function Nd(t){this.a=t;}function Pd(t){this.a=t;}function Bd(t){this.a=t;}function Rd(t){this.a=t;}function jd(t){this.a=t;}function $d(t){this.b=t;}function Fd(t){this.b=t;}function zd(t){this.b=t;}function Hd(t){this.a=t;}function Ud(t){this.a=t;}function Gd(t){this.a=t;}function qd(t){this.c=t;}function Kd(t){this.c=t;}function Yd(t){this.c=t;}function Wd(t){this.a=t;}function Xd(t){this.a=t;}function Vd(t){this.a=t;}function Zd(t){this.a=t;}function Qd(t){this.a=t;}function Jd(t){this.a=t;}function tg(t){this.a=t;}function eg(t){this.a=t;}function ng(t){this.a=t;}function ig(t){this.a=t;}function rg(t){this.a=t;}function ag(t){this.a=t;}function og(t){this.a=t;}function sg(t){this.a=t;}function cg(t){this.a=t;}function ug(t){this.a=t;}function lg(t){this.a=t;}function hg(t){this.a=t;}function fg(t){this.a=t;}function dg(t){this.a=t;}function gg(t){this.a=t;}function pg(t){this.a=t;}function bg(t){this.a=t;}function wg(t){this.a=t;}function yg(t){this.a=t;}function mg(t){this.a=t;}function vg(t){this.a=t;}function xg(t){this.a=t;}function kg(t){this.a=t;}function _g(t){this.a=t;}function Eg(t){this.a=t;}function Tg(t){this.a=t;}function Cg(t){this.a=t;}function Sg(t){this.a=t;}function Ag(t){this.a=t;}function Mg(t){this.a=t;}function Ig(t){this.a=t;}function Og(t){this.a=t;}function Lg(t){this.a=t;}function Dg(t){this.a=t;}function Ng(t){this.a=t;}function Pg(t){this.a=t;}function Bg(t){this.a=t;}function Rg(t){this.a=t;}function jg(t){this.a=t;}function $g(t){this.e=t;}function Fg(t){this.a=t;}function zg(t){this.a=t;}function Hg(t){this.a=t;}function Ug(t){this.a=t;}function Gg(t){this.a=t;}function qg(t){this.a=t;}function Kg(t){this.a=t;}function Yg(t){this.a=t;}function Wg(t){this.a=t;}function Xg(t){this.a=t;}function Vg(t){this.a=t;}function Zg(t){this.a=t;}function Qg(t){this.a=t;}function Jg(t){this.a=t;}function tp(t){this.a=t;}function ep(t){this.a=t;}function np(t){this.a=t;}function ip(t){this.a=t;}function rp(t){this.a=t;}function ap(t){this.a=t;}function op(t){this.a=t;}function sp(t){this.a=t;}function cp(t){this.a=t;}function up(t){this.a=t;}function lp(t){this.a=t;}function hp(t){this.a=t;}function fp(t){this.a=t;}function dp(t){this.a=t;}function gp(t){this.a=t;}function pp(t){this.a=t;}function bp(t){this.a=t;}function wp(t){this.a=t;}function yp(t){this.a=t;}function mp(t){this.a=t;}function vp(t){this.a=t;}function xp(t){this.a=t;}function kp(t){this.a=t;}function _p(t){this.a=t;}function Ep(t){this.a=t;}function Tp(t){this.a=t;}function Cp(t){this.a=t;}function Sp(t){this.a=t;}function Ap(t){this.a=t;}function Mp(t){this.a=t;}function Ip(t){this.a=t;}function Op(t){this.a=t;}function Lp(t){this.a=t;}function Dp(t){this.a=t;}function Np(t){this.a=t;}function Pp(t){this.a=t;}function Bp(t){this.a=t;}function Rp(t){this.a=t;}function jp(t){this.a=t;}function $p(t){this.c=t;}function Fp(t){this.b=t;}function zp(t){this.a=t;}function Hp(t){this.a=t;}function Up(t){this.a=t;}function Gp(t){this.a=t;}function qp(t){this.a=t;}function Kp(t){this.a=t;}function Yp(t){this.a=t;}function Wp(t){this.a=t;}function Xp(t){this.a=t;}function Vp(t){this.a=t;}function Zp(t){this.a=t;}function Qp(t){this.a=t;}function Jp(t){this.a=t;}function tb(t){this.a=t;}function eb(t){this.a=t;}function nb(t){this.a=t;}function ib(t){this.a=t;}function rb(t){this.a=t;}function ab(t){this.a=t;}function ob(t){this.a=t;}function sb(t){this.a=t;}function cb(t){this.a=t;}function ub(t){this.a=t;}function lb(t){this.a=t;}function hb(t){this.a=t;}function fb(t){this.a=t;}function db(t){this.a=t;}function gb(t){this.a=t;}function pb(t){this.a=t;}function bb(t){this.a=t;}function wb(t){this.a=t;}function yb(t){this.a=t;}function mb(t){this.a=t;}function vb(t){this.a=t;}function xb(t){this.a=t;}function kb(t){this.a=t;}function _b(t){this.a=t;}function Eb(t){this.a=t;}function Tb(t){this.a=t;}function Cb(t){this.a=t;}function Sb(t){this.a=t;}function Ab(t){this.a=t;}function Mb(t){this.a=t;}function Ib(t){this.a=t;}function Ob(t){this.a=t;}function Lb(t){this.a=t;}function Db(t){this.a=t;}function Nb(t){this.a=t;}function Pb(t){this.a=t;}function Bb(t){this.a=t;}function Rb(t){this.a=t;}function jb(t){this.a=t;}function $b(t){this.a=t;}function Fb(t){this.a=t;}function zb(t){this.a=t;}function Hb(t){this.a=t;}function Ub(t){this.a=t;}function Gb(t){this.a=t;}function qb(t){this.a=t;}function Kb(t){this.a=t;}function Yb(t){this.a=t;}function Wb(t){this.a=t;}function Xb(t){this.a=t;}function Vb(t){this.a=t;}function Zb(t){this.a=t;}function Qb(t){this.a=t;}function Jb(t){this.a=t;}function tw(t){this.a=t;}function ew(t){this.a=t;}function nw(t){this.a=t;}function iw(t){this.a=t;}function rw(t){this.a=t;}function aw(t){this.b=t;}function ow(t){this.f=t;}function sw(t){this.a=t;}function cw(t){this.a=t;}function uw(t){this.a=t;}function lw(t){this.a=t;}function hw(t){this.a=t;}function fw(t){this.a=t;}function dw(t){this.a=t;}function gw(t){this.a=t;}function pw(t){this.a=t;}function bw(t){this.a=t;}function ww(t){this.a=t;}function yw(t){this.b=t;}function mw(t){this.c=t;}function vw(t){this.e=t;}function xw(t){this.a=t;}function kw(t){this.a=t;}function _w(t){this.a=t;}function Ew(t){this.a=t;}function Tw(t){this.a=t;}function Cw(t){this.d=t;}function Sw(t){this.a=t;}function Aw(t){this.a=t;}function Mw(t){this.e=t;}function Iw(){this.a=0;}function Ow(){NO(this);}function Lw(){DO(this);}function Dw(){IK(this);}function Nw(){fX(this);}function Pw(){}function Bw(){this.c=ILe;}function Rw(t,e){e.Wb(t);}function jw(t,e){t.b+=e;}function $w(t){t.b=new ox;}function Fw(t){return t.e}function zw(t){return t.a}function Hw(t){return t.a}function Uw(t){return t.a}function Gw(t){return t.a}function qw(t){return t.a}function Kw(){return null}function Yw(){return null}function Ww(){r_(),gYt();}function Xw(t){t.b.tf(t.e);}function Vw(t,e){t.b=e-t.b;}function Zw(t,e){t.a=e-t.a;}function Qw(t,e){e.ad(t.a);}function Jw(t,e){HAt(e,t);}function ty(t,e,n){t.Od(n,e);}function ey(t,e){t.e=e,e.b=t;}function ny(t){s$(),this.a=t;}function iy(t){s$(),this.a=t;}function ry(t){s$(),this.a=t;}function ay(t){KY(),this.a=t;}function oy(t){TZ(),eee.be(t);}function sy(){gN.call(this);}function cy(){gN.call(this);}function uy(){sy.call(this);}function ly(){sy.call(this);}function hy(){sy.call(this);}function fy(){sy.call(this);}function dy(){sy.call(this);}function gy(){sy.call(this);}function py(){sy.call(this);}function by(){sy.call(this);}function wy(){sy.call(this);}function yy(){sy.call(this);}function my(){sy.call(this);}function vy(){this.a=this;}function xy(){this.Bb|=256;}function ky(){this.b=new TI;}function _y(){_y=I,new Dw;}function Ey(){uy.call(this);}function Ty(t,e){t.length=e;}function Cy(t,e){Kz(t.a,e);}function Sy(t,e){qCt(t.c,e);}function Ay(t,e){kK(t.b,e);}function My(t,e){Ayt(t.a,e);}function Iy(t,e){Mft(t.a,e);}function Oy(t,e){fot(t.e,e);}function Ly(t){IIt(t.c,t.b);}function Dy(t,e){t.kc().Nb(e);}function Ny(t){this.a=pdt(t);}function Py(){this.a=new Dw;}function By(){this.a=new Dw;}function Ry(){this.a=new Lw;}function jy(){this.a=new Lw;}function $y(){this.a=new Lw;}function Fy(){this.a=new vt;}function zy(){this.a=new m6;}function Hy(){this.a=new fe;}function Uy(){this.a=new KE;}function Gy(){this.a=new N0;}function qy(){this.a=new iJ;}function Ky(){this.a=new MR;}function Yy(){this.a=new Lw;}function Wy(){this.a=new Lw;}function Xy(){this.a=new Lw;}function Vy(){this.a=new Lw;}function Zy(){this.d=new Lw;}function Qy(){this.a=new Py;}function Jy(){this.a=new Dw;}function tm(){this.b=new Dw;}function em(){this.b=new Lw;}function nm(){this.e=new Lw;}function im(){this.d=new Lw;}function rm(){this.a=new rh;}function am(){Lw.call(this);}function om(){Ry.call(this);}function sm(){LR.call(this);}function cm(){Wy.call(this);}function um(){lm.call(this);}function lm(){Pw.call(this);}function hm(){Pw.call(this);}function fm(){hm.call(this);}function dm(){dZ.call(this);}function gm(){dZ.call(this);}function pm(){Km.call(this);}function bm(){Km.call(this);}function wm(){Km.call(this);}function ym(){Ym.call(this);}function mm(){XE.call(this);}function vm(){ic.call(this);}function xm(){ic.call(this);}function km(){Qm.call(this);}function _m(){Qm.call(this);}function Em(){Dw.call(this);}function Tm(){Dw.call(this);}function Cm(){Dw.call(this);}function Sm(){Py.call(this);}function Am(){xit.call(this);}function Mm(){xy.call(this);}function Im(){AD.call(this);}function Om(){AD.call(this);}function Lm(){Dw.call(this);}function Dm(){Dw.call(this);}function Nm(){Dw.call(this);}function Pm(){vc.call(this);}function Bm(){vc.call(this);}function Rm(){Pm.call(this);}function jm(){Bl.call(this);}function $m(t){get.call(this,t);}function Fm(t){get.call(this,t);}function zm(t){Yh.call(this,t);}function Hm(t){_E.call(this,t);}function Um(t){Hm.call(this,t);}function Gm(t){_E.call(this,t);}function qm(){this.a=new XE;}function Km(){this.a=new Py;}function Ym(){this.a=new Dw;}function Wm(){this.a=new Lw;}function Xm(){this.j=new Lw;}function Vm(){this.a=new Wo;}function Zm(){this.a=new O_;}function Qm(){this.a=new mc;}function Jm(){Jm=I,jte=new Dx;}function tv(){tv=I,Rte=new Lx;}function ev(){ev=I,Mte=new a;}function nv(){nv=I,Gte=new iN;}function iv(t){Hm.call(this,t);}function rv(t){Hm.call(this,t);}function av(t){d4.call(this,t);}function ov(t){d4.call(this,t);}function sv(t){Yj.call(this,t);}function cv(t){mCt.call(this,t);}function uv(t){CE.call(this,t);}function lv(t){AE.call(this,t);}function hv(t){AE.call(this,t);}function fv(t){AE.call(this,t);}function dv(t){uq.call(this,t);}function gv(t){dv.call(this,t);}function pv(){Tf.call(this,{});}function bv(t){CD(),this.a=t;}function wv(t){t.b=null,t.c=0;}function yv(t,e){t.e=e,SPt(t,e);}function mv(t,e){t.a=e,aAt(t);}function vv(t,e,n){t.a[e.g]=n;}function xv(t,e,n){dkt(n,t,e);}function kv(t,e){ZR(e.i,t.n);}function _v(t,e){cut(t).td(e);}function Ev(t,e){return t*t/e}function Tv(t,e){return t.g-e.g}function Cv(t){return new Ef(t)}function Sv(t){return new HY(t)}function Av(t){dv.call(this,t);}function Mv(t){dv.call(this,t);}function Iv(t){dv.call(this,t);}function Ov(t){uq.call(this,t);}function Lv(t){jat(),this.a=t;}function Dv(t){r$(),this.a=t;}function Nv(t){jG(),this.f=t;}function Pv(t){jG(),this.f=t;}function Bv(t){dv.call(this,t);}function Rv(t){dv.call(this,t);}function jv(t){dv.call(this,t);}function $v(t){dv.call(this,t);}function Fv(t){dv.call(this,t);}function zv(t){return mW(t),t}function Hv(t){return mW(t),t}function Uv(t){return mW(t),t}function Gv(t){return mW(t),t}function qv(t){return mW(t),t}function Kv(t){return t.b==t.c}function Yv(t){return !!t&&t.b}function Wv(t){return !!t&&t.k}function Xv(t){return !!t&&t.j}function Vv(t){mW(t),this.a=t;}function Zv(t){return Qct(t),t}function Qv(t){bK(t,t.length);}function Jv(t){dv.call(this,t);}function tx(t){dv.call(this,t);}function ex(t){dv.call(this,t);}function nx(t){dv.call(this,t);}function ix(t){dv.call(this,t);}function rx(t){dv.call(this,t);}function ax(t){ZN.call(this,t,0);}function ox(){o1.call(this,12,3);}function sx(){sx=I,tee=new k;}function cx(){cx=I,Vte=new r;}function ux(){ux=I,iee=new b;}function lx(){lx=I,uee=new y;}function hx(){throw Fw(new py)}function fx(){throw Fw(new py)}function dx(){throw Fw(new py)}function gx(){throw Fw(new py)}function px(){throw Fw(new py)}function bx(){throw Fw(new py)}function wx(){this.a=EB(yY($Wt));}function yx(t){s$(),this.a=yY(t);}function mx(t,e){t.Td(e),e.Sd(t);}function vx(t,e){t.a.ec().Mc(e);}function xx(t,e,n){t.c.lf(e,n);}function kx(t){Mv.call(this,t);}function _x(t){Rv.call(this,t);}function Ex(){Md.call(this,"");}function Tx(){Md.call(this,"");}function Cx(){Md.call(this,"");}function Sx(){Md.call(this,"");}function Ax(t){Mv.call(this,t);}function Mx(t){Fd.call(this,t);}function Ix(t){hN.call(this,t);}function Ox(t){Mx.call(this,t);}function Lx(){Qh.call(this,null);}function Dx(){Qh.call(this,null);}function Nx(){Nx=I,TZ();}function Px(){Px=I,mne=y_t();}function Bx(t){return t.a?t.b:0}function Rx(t){return t.a?t.b:0}function jx(t,e){return t.a-e.a}function $x(t,e){return t.a-e.a}function Fx(t,e){return t.a-e.a}function zx(t,e){return w9(t,e)}function Hx(t,e){return gJ(t,e)}function Ux(t,e){return e in t.a}function Gx(t,e){return t.f=e,t}function qx(t,e){return t.b=e,t}function Kx(t,e){return t.c=e,t}function Yx(t,e){return t.g=e,t}function Wx(t,e){return t.a=e,t}function Xx(t,e){return t.f=e,t}function Vx(t,e){return t.k=e,t}function Zx(t,e){return t.a=e,t}function Qx(t,e){return t.e=e,t}function Jx(t,e){return t.e=e,t}function tk(t,e){return t.f=e,t}function ek(t,e){t.b=!0,t.d=e;}function nk(t,e){t.b=new fO(e);}function ik(t,e,n){e.td(t.a[n]);}function rk(t,e,n){e.we(t.a[n]);}function ak(t,e){return t.b-e.b}function ok(t,e){return t.g-e.g}function sk(t,e){return t.s-e.s}function ck(t,e){return t?0:e-1}function uk(t,e){return t?0:e-1}function lk(t,e){return t?e-1:0}function hk(t,e){return e.Yf(t)}function fk(t,e){return t.b=e,t}function dk(t,e){return t.a=e,t}function gk(t,e){return t.c=e,t}function pk(t,e){return t.d=e,t}function bk(t,e){return t.e=e,t}function wk(t,e){return t.f=e,t}function yk(t,e){return t.a=e,t}function mk(t,e){return t.b=e,t}function vk(t,e){return t.c=e,t}function xk(t,e){return t.c=e,t}function kk(t,e){return t.b=e,t}function _k(t,e){return t.d=e,t}function Ek(t,e){return t.e=e,t}function Tk(t,e){return t.f=e,t}function Ck(t,e){return t.g=e,t}function Sk(t,e){return t.a=e,t}function Ak(t,e){return t.i=e,t}function Mk(t,e){return t.j=e,t}function Ik(t,e){return t.k=e,t}function Ok(t,e){return t.j=e,t}function Lk(t,e){jTt(),CJ(e,t);}function Dk(t,e,n){HG(t.a,e,n);}function Nk(t){$X.call(this,t);}function Pk(t){$X.call(this,t);}function Bk(t){Qj.call(this,t);}function Rk(t){Hdt.call(this,t);}function jk(t){pet.call(this,t);}function $k(t){pV.call(this,t);}function Fk(t){pV.call(this,t);}function zk(){AL.call(this,"");}function Hk(){this.a=0,this.b=0;}function Uk(){this.b=0,this.a=0;}function Gk(t,e){t.b=0,Dnt(t,e);}function qk(t,e){t.c=e,t.b=!0;}function Kk(t,e){return t.c._b(e)}function Yk(t){return t.e&&t.e()}function Wk(t){return t?t.d:null}function Xk(t,e){return pht(t.b,e)}function Vk(t){return t?t.g:null}function Zk(t){return t?t.i:null}function Qk(t){return xB(t),t.o}function Jk(){Jk=I,dIe=Kxt();}function t_(){t_=I,gIe=sEt();}function e_(){e_=I,ZOe=Wxt();}function n_(){n_=I,fDe=Yxt();}function i_(){i_=I,dDe=nAt();}function r_(){r_=I,uOe=rit();}function a_(){throw Fw(new py)}function o_(){throw Fw(new py)}function s_(){throw Fw(new py)}function c_(){throw Fw(new py)}function u_(){throw Fw(new py)}function l_(){throw Fw(new py)}function h_(t){this.a=new qE(t);}function f_(t){hKt(),PYt(this,t);}function d_(t){this.a=new Kq(t);}function g_(t,e){for(;t.ye(e););}function p_(t,e){for(;t.sd(e););}function b_(t,e){return t.a+=e,t}function w_(t,e){return t.a+=e,t}function y_(t,e){return t.a+=e,t}function m_(t,e){return t.a+=e,t}function v_(t){return xW(t),t.a}function x_(t){return t.b!=t.d.c}function k_(t){return t.l|t.m<<22}function __(t,e){return t.d[e.p]}function E_(t,e){return TPt(t,e)}function T_(t,e,n){t.splice(e,n);}function C_(t){t.c?DBt(t):NBt(t);}function S_(t){this.a=0,this.b=t;}function A_(){this.a=new SNt(eke);}function M_(){this.b=new SNt(zve);}function I_(){this.b=new SNt(K_e);}function O_(){this.b=new SNt(K_e);}function L_(){throw Fw(new py)}function D_(){throw Fw(new py)}function N_(){throw Fw(new py)}function P_(){throw Fw(new py)}function B_(){throw Fw(new py)}function R_(){throw Fw(new py)}function j_(){throw Fw(new py)}function $_(){throw Fw(new py)}function F_(){throw Fw(new py)}function z_(){throw Fw(new py)}function H_(){throw Fw(new yy)}function U_(){throw Fw(new yy)}function G_(t){this.a=new q_(t);}function q_(t){Uit(this,t,M_t());}function K_(t){return !t||pW(t)}function Y_(t){return -1!=qDe[t]}function W_(){0!=ree&&(ree=0),oee=-1;}function X_(){null==CWt&&(CWt=[]);}function V_(t,e){tOt(WV(t.a),e);}function Z_(t,e){tOt(WV(t.a),e);}function Q_(t,e){FD.call(this,t,e);}function J_(t,e){Q_.call(this,t,e);}function tE(t,e){this.b=t,this.c=e;}function eE(t,e){this.b=t,this.a=e;}function nE(t,e){this.a=t,this.b=e;}function iE(t,e){this.a=t,this.b=e;}function rE(t,e){this.a=t,this.b=e;}function aE(t,e){this.a=t,this.b=e;}function oE(t,e){this.a=t,this.b=e;}function sE(t,e){this.a=t,this.b=e;}function cE(t,e){this.a=t,this.b=e;}function uE(t,e){this.a=t,this.b=e;}function lE(t,e){this.b=t,this.a=e;}function hE(t,e){this.b=t,this.a=e;}function fE(t,e){this.b=t,this.a=e;}function dE(t,e){this.b=t,this.a=e;}function gE(t,e){this.f=t,this.g=e;}function pE(t,e){this.e=t,this.d=e;}function bE(t,e){this.g=t,this.i=e;}function wE(t,e){this.a=t,this.b=e;}function yE(t,e){this.a=t,this.f=e;}function mE(t,e){this.b=t,this.c=e;}function vE(t,e){this.a=t,this.b=e;}function xE(t,e){this.a=t,this.b=e;}function kE(t,e){this.a=t,this.b=e;}function _E(t){rN(t.dc()),this.c=t;}function EE(t){this.b=$z(yY(t),83);}function TE(t){this.a=$z(yY(t),83);}function CE(t){this.a=$z(yY(t),15);}function SE(t){this.a=$z(yY(t),15);}function AE(t){this.b=$z(yY(t),47);}function ME(){this.q=new e.Date;}function IE(){IE=I,Fee=new O;}function OE(){OE=I,hne=new S;}function LE(t){return t.f.c+t.g.c}function DE(t,e){return t.b.Hc(e)}function NE(t,e){return t.b.Ic(e)}function PE(t,e){return t.b.Qc(e)}function BE(t,e){return t.b.Hc(e)}function RE(t,e){return t.c.uc(e)}function jE(t,e){return t.a._b(e)}function $E(t,e){return Dht(t.c,e)}function FE(t,e){return cK(t.b,e)}function zE(t,e){return t>e&&e0}function sC(t,e){return Wlt(t,e)<0}function cC(t,e){return t.a.get(e)}function uC(t,e){return e.split(t)}function lC(t,e){return cK(t.e,e)}function hC(t){return mW(t),!1}function fC(t){f1.call(this,t,21);}function dC(t,e){RQ.call(this,t,e);}function gC(t,e){gE.call(this,t,e);}function pC(t,e){gE.call(this,t,e);}function bC(t){YY(),Yj.call(this,t);}function wC(t,e){vG(t,t.length,e);}function yC(t,e){WK(t,t.length,e);}function mC(t,e,n){e.ud(t.a.Ge(n));}function vC(t,e,n){e.we(t.a.Fe(n));}function xC(t,e,n){e.td(t.a.Kb(n));}function kC(t,e,n){t.Mb(n)&&e.td(n);}function _C(t,e,n){t.splice(e,0,n);}function EC(t,e){return EN(t.e,e)}function TC(t,e){this.d=t,this.e=e;}function CC(t,e){this.b=t,this.a=e;}function SC(t,e){this.b=t,this.a=e;}function AC(t,e){this.b=t,this.a=e;}function MC(t,e){this.a=t,this.b=e;}function IC(t,e){this.a=t,this.b=e;}function OC(t,e){this.a=t,this.b=e;}function LC(t,e){this.a=t,this.b=e;}function DC(t,e){this.a=t,this.b=e;}function NC(t,e){this.b=t,this.a=e;}function PC(t,e){this.b=t,this.a=e;}function BC(t,e){gE.call(this,t,e);}function RC(t,e){gE.call(this,t,e);}function jC(t,e){gE.call(this,t,e);}function $C(t,e){gE.call(this,t,e);}function FC(t,e){gE.call(this,t,e);}function zC(t,e){gE.call(this,t,e);}function HC(t,e){gE.call(this,t,e);}function UC(t,e){gE.call(this,t,e);}function GC(t,e){gE.call(this,t,e);}function qC(t,e){gE.call(this,t,e);}function KC(t,e){gE.call(this,t,e);}function YC(t,e){gE.call(this,t,e);}function WC(t,e){gE.call(this,t,e);}function XC(t,e){gE.call(this,t,e);}function VC(t,e){gE.call(this,t,e);}function ZC(t,e){gE.call(this,t,e);}function QC(t,e){gE.call(this,t,e);}function JC(t,e){gE.call(this,t,e);}function tS(t,e){this.a=t,this.b=e;}function eS(t,e){this.a=t,this.b=e;}function nS(t,e){this.a=t,this.b=e;}function iS(t,e){this.a=t,this.b=e;}function rS(t,e){this.a=t,this.b=e;}function aS(t,e){this.a=t,this.b=e;}function oS(t,e){this.a=t,this.b=e;}function sS(t,e){this.a=t,this.b=e;}function cS(t,e){this.a=t,this.b=e;}function uS(t,e){this.b=t,this.a=e;}function lS(t,e){this.b=t,this.a=e;}function hS(t,e){this.b=t,this.a=e;}function fS(t,e){this.b=t,this.a=e;}function dS(t,e){this.c=t,this.d=e;}function gS(t,e){this.e=t,this.d=e;}function pS(t,e){this.a=t,this.b=e;}function bS(t,e){this.b=e,this.c=t;}function wS(t,e){gE.call(this,t,e);}function yS(t,e){gE.call(this,t,e);}function mS(t,e){gE.call(this,t,e);}function vS(t,e){gE.call(this,t,e);}function xS(t,e){gE.call(this,t,e);}function kS(t,e){gE.call(this,t,e);}function _S(t,e){gE.call(this,t,e);}function ES(t,e){gE.call(this,t,e);}function TS(t,e){gE.call(this,t,e);}function CS(t,e){gE.call(this,t,e);}function SS(t,e){gE.call(this,t,e);}function AS(t,e){gE.call(this,t,e);}function MS(t,e){gE.call(this,t,e);}function IS(t,e){gE.call(this,t,e);}function OS(t,e){gE.call(this,t,e);}function LS(t,e){gE.call(this,t,e);}function DS(t,e){gE.call(this,t,e);}function NS(t,e){gE.call(this,t,e);}function PS(t,e){gE.call(this,t,e);}function BS(t,e){gE.call(this,t,e);}function RS(t,e){gE.call(this,t,e);}function jS(t,e){gE.call(this,t,e);}function $S(t,e){gE.call(this,t,e);}function FS(t,e){gE.call(this,t,e);}function zS(t,e){gE.call(this,t,e);}function HS(t,e){gE.call(this,t,e);}function US(t,e){gE.call(this,t,e);}function GS(t,e){gE.call(this,t,e);}function qS(t,e){gE.call(this,t,e);}function KS(t,e){gE.call(this,t,e);}function YS(t,e){gE.call(this,t,e);}function WS(t,e){gE.call(this,t,e);}function XS(t,e){gE.call(this,t,e);}function VS(t,e){gE.call(this,t,e);}function ZS(t,e){this.b=t,this.a=e;}function QS(t,e){this.a=t,this.b=e;}function JS(t,e){this.a=t,this.b=e;}function tA(t,e){this.a=t,this.b=e;}function eA(t,e){this.a=t,this.b=e;}function nA(t,e){gE.call(this,t,e);}function iA(t,e){gE.call(this,t,e);}function rA(t,e){this.b=t,this.d=e;}function aA(t,e){gE.call(this,t,e);}function oA(t,e){gE.call(this,t,e);}function sA(t,e){this.a=t,this.b=e;}function cA(t,e){this.a=t,this.b=e;}function uA(t,e){gE.call(this,t,e);}function lA(t,e){gE.call(this,t,e);}function hA(t,e){gE.call(this,t,e);}function fA(t,e){gE.call(this,t,e);}function dA(t,e){gE.call(this,t,e);}function gA(t,e){gE.call(this,t,e);}function pA(t,e){gE.call(this,t,e);}function bA(t,e){gE.call(this,t,e);}function wA(t,e){gE.call(this,t,e);}function yA(t,e){gE.call(this,t,e);}function mA(t,e){gE.call(this,t,e);}function vA(t,e){gE.call(this,t,e);}function xA(t,e){gE.call(this,t,e);}function kA(t,e){gE.call(this,t,e);}function _A(t,e){gE.call(this,t,e);}function EA(t,e){gE.call(this,t,e);}function TA(t,e){return EN(t.c,e)}function CA(t,e){return EN(e.b,t)}function SA(t,e){return -t.b.Je(e)}function AA(t,e){return EN(t.g,e)}function MA(t,e){gE.call(this,t,e);}function IA(t,e){gE.call(this,t,e);}function OA(t,e){this.a=t,this.b=e;}function LA(t,e){this.a=t,this.b=e;}function DA(t,e){this.a=t,this.b=e;}function NA(t,e){gE.call(this,t,e);}function PA(t,e){gE.call(this,t,e);}function BA(t,e){gE.call(this,t,e);}function RA(t,e){gE.call(this,t,e);}function jA(t,e){gE.call(this,t,e);}function $A(t,e){gE.call(this,t,e);}function FA(t,e){gE.call(this,t,e);}function zA(t,e){gE.call(this,t,e);}function HA(t,e){gE.call(this,t,e);}function UA(t,e){gE.call(this,t,e);}function GA(t,e){gE.call(this,t,e);}function qA(t,e){gE.call(this,t,e);}function KA(t,e){gE.call(this,t,e);}function YA(t,e){gE.call(this,t,e);}function WA(t,e){gE.call(this,t,e);}function XA(t,e){gE.call(this,t,e);}function VA(t,e){this.a=t,this.b=e;}function ZA(t,e){this.a=t,this.b=e;}function QA(t,e){this.a=t,this.b=e;}function JA(t,e){this.a=t,this.b=e;}function tM(t,e){this.a=t,this.b=e;}function eM(t,e){this.a=t,this.b=e;}function nM(t,e){this.a=t,this.b=e;}function iM(t,e){gE.call(this,t,e);}function rM(t,e){this.a=t,this.b=e;}function aM(t,e){this.a=t,this.b=e;}function oM(t,e){this.a=t,this.b=e;}function sM(t,e){this.a=t,this.b=e;}function cM(t,e){this.a=t,this.b=e;}function uM(t,e){this.a=t,this.b=e;}function lM(t,e){this.b=t,this.a=e;}function hM(t,e){this.b=t,this.a=e;}function fM(t,e){this.b=t,this.a=e;}function dM(t,e){this.b=t,this.a=e;}function gM(t,e){this.a=t,this.b=e;}function pM(t,e){this.a=t,this.b=e;}function bM(t,e){ZDt(t.a,$z(e,56));}function wM(t,e){b9(t.a,$z(e,11));}function yM(t,e){return cH(),e!=t}function mM(){return Px(),new mne}function vM(){zJ(),this.b=new Py;}function xM(){gPt(),this.a=new Py;}function kM(){BJ(),BG.call(this);}function _M(t,e){gE.call(this,t,e);}function EM(t,e){this.a=t,this.b=e;}function TM(t,e){this.a=t,this.b=e;}function CM(t,e){this.a=t,this.b=e;}function SM(t,e){this.a=t,this.b=e;}function AM(t,e){this.a=t,this.b=e;}function MM(t,e){this.a=t,this.b=e;}function IM(t,e){this.d=t,this.b=e;}function OM(t,e){this.d=t,this.e=e;}function LM(t,e){this.f=t,this.c=e;}function DM(t,e){this.b=t,this.c=e;}function NM(t,e){this.i=t,this.g=e;}function PM(t,e){this.e=t,this.a=e;}function BM(t,e){this.a=t,this.b=e;}function RM(t,e){t.i=null,art(t,e);}function jM(t,e){t&&YW(aOe,t,e);}function $M(t,e){return ipt(t.a,e)}function FM(t){return apt(t.c,t.b)}function zM(t){return t?t.dd():null}function HM(t){return null==t?null:t}function UM(t){return typeof t===OWt}function GM(t){return typeof t===LWt}function qM(t){return typeof t===DWt}function KM(t,e){return t.Hd().Xb(e)}function YM(t,e){return Xat(t.Kc(),e)}function WM(t,e){return 0==Wlt(t,e)}function XM(t,e){return Wlt(t,e)>=0}function VM(t,e){return 0!=Wlt(t,e)}function ZM(t){return ""+(mW(t),t)}function QM(t,e){return t.substr(e)}function JM(t){return Gdt(t),t.d.gc()}function tI(t){return GIt(t,t.c),t}function eI(t){return VH(null==t),t}function nI(t,e){return t.a+=""+e,t}function iI(t,e){return t.a+=""+e,t}function rI(t,e){return t.a+=""+e,t}function aI(t,e){return t.a+=""+e,t}function oI(t,e){return t.a+=""+e,t}function sI(t,e){return t.a+=""+e,t}function cI(t,e){n5(t,e,t.a,t.a.a);}function uI(t,e){n5(t,e,t.c.b,t.c);}function lI(t,e,n){Rkt(e,BSt(t,n));}function hI(t,e,n){Rkt(e,BSt(t,n));}function fI(t,e){ktt(new MD(t),e);}function dI(t,e){t.q.setTime(v2(e));}function gI(t,e){Uq.call(this,t,e);}function pI(t,e){Uq.call(this,t,e);}function bI(t,e){Uq.call(this,t,e);}function wI(t){IK(this),_at(this,t);}function yI(t){return l1(t,0),null}function mI(t){return t.a=0,t.b=0,t}function vI(t,e){return t.a=e.g+1,t}function xI(t,e){return 2==t.j[e.p]}function kI(t){return sY($z(t,79))}function _I(){_I=I,Mre=hlt(twt());}function EI(){EI=I,Zce=hlt(kNt());}function TI(){this.b=new qE(tet(12));}function CI(){this.b=0,this.a=!1;}function SI(){this.b=0,this.a=!1;}function AI(t){this.a=t,$l.call(this);}function MI(t){this.a=t,$l.call(this);}function II(t,e){eR.call(this,t,e);}function OI(t,e){JR.call(this,t,e);}function LI(t,e){NM.call(this,t,e);}function DI(t,e){Iot.call(this,t,e);}function NI(t,e){WN.call(this,t,e);}function PI(t,e){QT(),YW(bOe,t,e);}function BI(t,e){return uP(t.a,0,e)}function RI(t,e){return t.a.a.a.cc(e)}function jI(t,e){return HM(t)===HM(e)}function $I(t,e){return Cft(t.a,e.a)}function FI(t,e){return xL(t.a,e.a)}function zI(t,e){return jK(t.a,e.a)}function HI(t,e){return t.indexOf(e)}function UI(t,e){return t==e?0:t?1:-1}function GI(t){return t<10?"0"+t:""+t}function qI(t){return yY(t),new AI(t)}function KI(t){return _L(t.l,t.m,t.h)}function YI(t){return CQ((mW(t),t))}function WI(t){return CQ((mW(t),t))}function XI(t,e){return xL(t.g,e.g)}function VI(t){return typeof t===LWt}function ZI(t){return t==Zoe||t==tse}function QI(t){return t==Zoe||t==Qoe}function JI(t){return x9(t.b.b,t,0)}function tO(t){this.a=mM(),this.b=t;}function eO(t){this.a=mM(),this.b=t;}function nO(t,e){return Kz(t.a,e),e}function iO(t,e){return Kz(t.c,e),t}function rO(t,e){return Zat(t.a,e),t}function aO(t,e){return H$(),e.a+=t}function oO(t,e){return H$(),e.a+=t}function sO(t,e){return H$(),e.c+=t}function cO(t,e){U7(t,0,t.length,e);}function uO(){tg.call(this,new b4);}function lO(){aG.call(this,0,0,0,0);}function hO(){GX.call(this,0,0,0,0);}function fO(t){this.a=t.a,this.b=t.b;}function dO(t){return t==RSe||t==jSe}function gO(t){return t==FSe||t==BSe}function pO(t){return t==uye||t==cye}function bO(t){return t!=WAe&&t!=XAe}function wO(t){return t.Lg()&&t.Mg()}function yO(t){return wX($z(t,118))}function mO(t){return Zat(new $2,t)}function vO(t,e){return new Iot(e,t)}function xO(t,e){return new Iot(e,t)}function kO(t,e,n){xnt(t,e),knt(t,n);}function _O(t,e,n){Tnt(t,e),Ent(t,n);}function EO(t,e,n){Cnt(t,e),Snt(t,n);}function TO(t,e,n){_nt(t,e),Mnt(t,n);}function CO(t,e,n){Ant(t,e),Int(t,n);}function SO(t,e){Put(t,e),Nnt(t,t.D);}function AO(t){LM.call(this,t,!0);}function MO(t,e,n){LB.call(this,t,e,n);}function IO(t){MBt(),cot.call(this,t);}function OO(){gC.call(this,"Head",1);}function LO(){gC.call(this,"Tail",3);}function DO(t){t.c=D8(Ite,zWt,1,0,5,1);}function NO(t){t.a=D8(Ite,zWt,1,8,5,1);}function PO(t){Met(t.xf(),new Eg(t));}function BO(t){return null!=t?Jct(t):0}function RO(t,e){return Set(e,KQ(t))}function jO(t,e){return Set(e,KQ(t))}function $O(t,e){return t[t.length]=e}function FO(t,e){return t[t.length]=e}function zO(t){return jz(t.b.Kc(),t.a)}function HO(t,e){return qit(TY(t.d),e)}function UO(t,e){return qit(TY(t.g),e)}function GO(t,e){return qit(TY(t.j),e)}function qO(t,e){eR.call(this,t.b,e);}function KO(t){aG.call(this,t,t,t,t);}function YO(t){return t.b&&Wzt(t),t.a}function WO(t){return t.b&&Wzt(t),t.c}function XO(t,e){Wne||(t.b=e);}function VO(t,e,n){return IY(t,e,n),n}function ZO(t,e,n){IY(t.c[e.g],e.g,n);}function QO(t,e,n){$z(t.c,69).Xh(e,n);}function JO(t,e,n){EO(n,n.i+t,n.j+e);}function tL(t,e){u7(r4(t.a),t1(e));}function eL(t,e){u7(F9(t.a),e1(e));}function nL(t){dWt(),Mw.call(this,t);}function iL(t){return null==t?0:Jct(t)}function rL(){rL=I,sve=new zdt(oAe);}function aL(){aL=I,new oL,new Lw;}function oL(){new Dw,new Dw,new Dw;}function sL(){sL=I,_y(),nee=new Dw;}function cL(){cL=I,e.Math.log(2);}function uL(){uL=I,UT(),NLe=CIe;}function lL(){throw Fw(new Jv(_te))}function hL(){throw Fw(new Jv(_te))}function fL(){throw Fw(new Jv(Ete))}function dL(){throw Fw(new Jv(Ete))}function gL(t){this.a=t,Wz.call(this,t);}function pL(t){this.a=t,EE.call(this,t);}function bL(t){this.a=t,EE.call(this,t);}function wL(t,e){yG(t.c,t.c.length,e);}function yL(t){return t.ae?1:0}function kL(t,e){return Wlt(t,e)>0?t:e}function _L(t,e,n){return {l:t,m:e,h:n}}function EL(t,e){null!=t.a&&wM(e,t.a);}function TL(t){t.a=new L,t.c=new L;}function CL(t){this.b=t,this.a=new Lw;}function SL(t){this.b=new ee,this.a=t;}function AL(t){OR.call(this),this.a=t;}function ML(){gC.call(this,"Range",2);}function IL(){tkt(),this.a=new SNt(Goe);}function OL(t,e){yY(e),xX(t).Jc(new d);}function LL(t,e){return $J(),e.n.b+=t}function DL(t,e,n){return YW(t.g,n,e)}function NL(t,e,n){return YW(t.k,n,e)}function PL(t,e){return YW(t.a,e.a,e)}function BL(t,e,n){return Apt(e,n,t.c)}function RL(t){return new DA(t.c,t.d)}function jL(t){return new DA(t.c,t.d)}function $L(t){return new DA(t.a,t.b)}function FL(t,e){return tqt(t.a,e,null)}function zL(t){EJ(t,null),_J(t,null);}function HL(t){KJ(t,null),YJ(t,null);}function UL(){WN.call(this,null,null);}function GL(){XN.call(this,null,null);}function qL(t){this.a=t,Dw.call(this);}function KL(t){this.b=(EV(),new qd(t));}function YL(t){t.j=D8($ee,cXt,310,0,0,1);}function WL(t,e,n){t.c.Vc(e,$z(n,133));}function XL(t,e,n){t.c.ji(e,$z(n,133));}function VL(t,e){cUt(t),t.Gc($z(e,15));}function ZL(t,e){return FUt(t.c,t.b,e)}function QL(t,e){return new pN(t.Kc(),e)}function JL(t,e){return -1!=$st(t.Kc(),e)}function tD(t,e){return null!=t.a.Bc(e)}function eD(t){return t.Ob()?t.Pb():null}function nD(t){return Fpt(t,0,t.length)}function iD(t,e){return null!=t&&Xwt(t,e)}function rD(t,e){t.q.setHours(e),hzt(t,e);}function aD(t,e){t.c&&(PH(e),mQ(e));}function oD(t,e,n){$z(t.Kb(n),164).Nb(e);}function sD(t,e,n){return zGt(t,e,n),n}function cD(t,e,n){t.a=1502^e,t.b=n^aZt;}function uD(t,e,n){return t.a[e.g][n.g]}function lD(t,e){return t.a[e.c.p][e.p]}function hD(t,e){return t.e[e.c.p][e.p]}function fD(t,e){return t.c[e.c.p][e.p]}function dD(t,e){return t.j[e.p]=bDt(e)}function gD(t,e){return u6(t.f,e.tg())}function pD(t,e){return u6(t.b,e.tg())}function bD(t,e){return t.a0?e*e/t:e*e*100}function DP(t,e){return t>0?e/(t*t):100*e}function NP(t,e,n){return Kz(e,sgt(t,n))}function PP(t,e,n){D7(),t.Xe(e)&&n.td(t);}function BP(t,e,n){t.Zc(e).Rb(n);}function RP(t,e,n){return t.a+=e,t.b+=n,t}function jP(t,e,n){return t.a*=e,t.b*=n,t}function $P(t,e,n){return t.a-=e,t.b-=n,t}function FP(t,e){return t.a=e.a,t.b=e.b,t}function zP(t){return t.a=-t.a,t.b=-t.b,t}function HP(t){this.c=t,this.a=1,this.b=1;}function UP(t){this.c=t,Cnt(t,0),Snt(t,0);}function GP(t){XE.call(this),Jnt(this,t);}function qP(t){BYt(),$w(this),this.mf(t);}function KP(t,e){WT(),WN.call(this,t,e);}function YP(t,e){XT(),XN.call(this,t,e);}function WP(t,e){XT(),XN.call(this,t,e);}function XP(t,e){XT(),YP.call(this,t,e);}function VP(t,e,n){y7.call(this,t,e,n,2);}function ZP(t,e){uL(),iG.call(this,t,e);}function QP(t,e){uL(),ZP.call(this,t,e);}function JP(t,e){uL(),ZP.call(this,t,e);}function tB(t,e){uL(),JP.call(this,t,e);}function eB(t,e){uL(),iG.call(this,t,e);}function nB(t,e){uL(),eB.call(this,t,e);}function iB(t,e){uL(),iG.call(this,t,e);}function rB(t,e){return t.c.Fc($z(e,133))}function aB(t,e,n){return DHt(j9(t,e),n)}function oB(t,e,n){return e.Qk(t.e,t.c,n)}function sB(t,e,n){return e.Rk(t.e,t.c,n)}function cB(t,e){return tht(t.e,$z(e,49))}function uB(t,e,n){cft(F9(t.a),e,e1(n));}function lB(t,e,n){cft(r4(t.a),e,t1(n));}function hB(t,e){e.$modCount=t.$modCount;}function fB(){fB=I,Yxe=new aw("root");}function dB(){dB=I,gOe=new km,new _m;}function gB(){this.a=new pQ,this.b=new pQ;}function pB(){xit.call(this),this.Bb|=FVt;}function bB(){gE.call(this,"GROW_TREE",0);}function wB(t){return null==t?null:dKt(t)}function yB(t){return null==t?null:LCt(t)}function mB(t){return null==t?null:Fdt(t)}function vB(t){return null==t?null:Fdt(t)}function xB(t){null==t.o&&pLt(t);}function kB(t){return VH(null==t||UM(t)),t}function _B(t){return VH(null==t||GM(t)),t}function EB(t){return VH(null==t||qM(t)),t}function TB(t){this.q=new e.Date(v2(t));}function CB(t,e){this.c=t,pE.call(this,t,e);}function SB(t,e){this.a=t,CB.call(this,t,e);}function AB(t,e){this.d=t,_d(this),this.b=e;}function MB(t,e){$8.call(this,t),this.a=e;}function IB(t,e){$8.call(this,t),this.a=e;}function OB(t){Hgt.call(this,0,0),this.f=t;}function LB(t,e,n){K6.call(this,t,e,n,null);}function DB(t,e,n){K6.call(this,t,e,n,null);}function NB(t,e,n){return t.ue(e,n)<=0?n:e}function PB(t,e,n){return t.ue(e,n)<=0?e:n}function BB(t,e){return $z(ltt(t.b,e),149)}function RB(t,e){return $z(ltt(t.c,e),229)}function jB(t){return $z(DU(t.a,t.b),287)}function $B(t){return new DA(t.c,t.d+t.a)}function FB(t){return $J(),pO($z(t,197))}function zB(){zB=I,Ire=Jft((ypt(),RMe));}function HB(t,e){e.a?$Pt(t,e):_N(t.a,e.b);}function UB(t,e){Wne||Kz(t.a,e);}function GB(t,e){return wT(),dot(e.d.i,t)}function qB(t,e){return Art(),new rjt(e,t)}function KB(t,e){return AZ(e,oQt),t.f=e,t}function YB(t,e,n){return n=_$t(t,e,3,n)}function WB(t,e,n){return n=_$t(t,e,6,n)}function XB(t,e,n){return n=_$t(t,e,9,n)}function VB(t,e,n){++t.j,t.Ki(),O8(t,e,n);}function ZB(t,e,n){++t.j,t.Hi(e,t.oi(e,n));}function QB(t,e,n){t.Zc(e).Rb(n);}function JB(t,e,n){return Qzt(t.c,t.b,e,n)}function tR(t,e){return (e&PWt)%t.d.length}function eR(t,e){aw.call(this,t),this.a=e;}function nR(t,e){mw.call(this,t),this.a=e;}function iR(t,e){mw.call(this,t),this.a=e;}function rR(t,e){this.c=t,pet.call(this,e);}function aR(t,e){this.a=t,yw.call(this,e);}function oR(t,e){this.a=t,yw.call(this,e);}function sR(t){this.a=(hit(t,IXt),new V6(t));}function cR(t){this.a=(hit(t,IXt),new V6(t));}function uR(t){return !t.a&&(t.a=new g),t.a}function lR(t){return t>8?0:t+1}function hR(t,e){return cN(),t==e?0:t?1:-1}function fR(t,e,n){return wG(t,$z(e,22),n)}function dR(t,e,n){return t.apply(e,n)}function gR(t,e,n){return t.a+=Fpt(e,0,n),t}function pR(t,e){var n;return n=t.e,t.e=e,n}function bR(t,e){t[nZt].call(t,e);}function wR(t,e){t[nZt].call(t,e);}function yR(t,e){t.a.Vc(t.b,e),++t.b,t.c=-1;}function mR(t){IK(t.e),t.d.b=t.d,t.d.a=t.d;}function vR(t){t.b?vR(t.b):t.f.c.zc(t.e,t.d);}function xR(t,e,n){dT(),Sf(t,e.Ce(t.a,n));}function kR(t,e){return Wk(Ept(t.a,e,!0))}function _R(t,e){return Wk(Tpt(t.a,e,!0))}function ER(t,e){return zx(new Array(e),t)}function TR(t){return String.fromCharCode(t)}function CR(t){return null==t?null:t.message}function SR(){this.a=new Lw,this.b=new Lw;}function AR(){this.a=new fe,this.b=new ky;}function MR(){this.b=new Hk,this.c=new Lw;}function IR(){this.d=new Hk,this.e=new Hk;}function OR(){this.n=new Hk,this.o=new Hk;}function LR(){this.n=new hm,this.i=new hO;}function DR(){this.a=new Ql,this.b=new sa;}function NR(){this.a=new Lw,this.d=new Lw;}function PR(){this.b=new Py,this.a=new Py;}function BR(){this.b=new Dw,this.a=new Dw;}function RR(){this.b=new M_,this.a=new bo;}function jR(){LR.call(this),this.a=new Hk;}function $R(t){Mot.call(this,t,(Z7(),Lne));}function FR(t,e,n,i){aG.call(this,t,e,n,i);}function zR(t,e,n){null!=n&&Lit(e,Imt(t,n));}function HR(t,e,n){null!=n&&Dit(e,Imt(t,n));}function UR(t,e,n){return n=_$t(t,e,11,n)}function GR(t,e){return t.a+=e.a,t.b+=e.b,t}function qR(t,e){return t.a-=e.a,t.b-=e.b,t}function KR(t,e){return t.n.a=(mW(e),e+10)}function YR(t,e){return t.n.a=(mW(e),e+10)}function WR(t,e){return e==t||Tkt(SDt(e),t)}function XR(t,e){return null==YW(t.a,e,"")}function VR(t,e){return wT(),!dot(e.d.i,t)}function ZR(t,e){dO(t.f)?rLt(t,e):AEt(t,e);}function QR(t,e){return e.Hh(t.a)}function JR(t,e){Mv.call(this,e7t+t+s8t+e);}function tj(t,e,n,i){tK.call(this,t,e,n,i);}function ej(t,e,n,i){tK.call(this,t,e,n,i);}function nj(t,e,n,i){ej.call(this,t,e,n,i);}function ij(t,e,n,i){eK.call(this,t,e,n,i);}function rj(t,e,n,i){eK.call(this,t,e,n,i);}function aj(t,e,n,i){eK.call(this,t,e,n,i);}function oj(t,e,n,i){rj.call(this,t,e,n,i);}function sj(t,e,n,i){rj.call(this,t,e,n,i);}function cj(t,e,n,i){aj.call(this,t,e,n,i);}function uj(t,e,n,i){sj.call(this,t,e,n,i);}function lj(t,e,n,i){Zq.call(this,t,e,n,i);}function hj(t,e,n){this.a=t,ZN.call(this,e,n);}function fj(t,e,n){this.c=e,this.b=n,this.a=t;}function dj(t,e,n){return t.d=$z(e.Kb(n),164)}function gj(t,e){return t.Aj().Nh().Kh(t,e)}function pj(t,e){return t.Aj().Nh().Ih(t,e)}function bj(t,e){return mW(t),HM(t)===HM(e)}function wj(t,e){return mW(t),HM(t)===HM(e)}function yj(t,e){return Wk(Ept(t.a,e,!1))}function mj(t,e){return Wk(Tpt(t.a,e,!1))}function vj(t,e){return t.b.sd(new IC(t,e))}function xj(t,e){return t.b.sd(new OC(t,e))}function kj(t,e){return t.b.sd(new LC(t,e))}function _j(t,e,n){return t.lastIndexOf(e,n)}function Ej(t,e,n){return Cft(t[e.b],t[n.b])}function Tj(t,e){return uct(e,(zYt(),Ppe),t)}function Cj(t,e){return xL(e.a.d.p,t.a.d.p)}function Sj(t,e){return xL(t.a.d.p,e.a.d.p)}function Aj(t,e){return Cft(t.c-t.s,e.c-e.s)}function Mj(t){return t.c?x9(t.c.a,t,0):-1}function Ij(t){return t<100?null:new jk(t)}function Oj(t){return t==GAe||t==KAe||t==qAe}function Lj(t,e){return iD(e,15)&&XBt(t.c,e)}function Dj(t,e){Wne||e&&(t.d=e);}function Nj(t,e){return !!hut(t,e)}function Pj(t,e){this.c=t,HK.call(this,t,e);}function Bj(t){this.c=t,bI.call(this,fXt,0);}function Rj(t,e){Vz.call(this,t,t.length,e);}function jj(t,e,n){return $z(t.c,69).lk(e,n)}function $j(t,e,n){return $z(t.c,69).mk(e,n)}function Fj(t,e,n){return oB(t,$z(e,332),n)}function zj(t,e,n){return sB(t,$z(e,332),n)}function Hj(t,e,n){return A_t(t,$z(e,332),n)}function Uj(t,e,n){return XEt(t,$z(e,332),n)}function Gj(t,e){return null==e?null:hht(t.b,e)}function qj(t){return GM(t)?(mW(t),t):t.ke()}function Kj(t){return !isNaN(t)&&!isFinite(t)}function Yj(t){s$(),this.a=(EV(),new Mx(t));}function Wj(t){cH(),this.d=t,this.a=new Ow;}function Xj(t,e,n){this.a=t,this.b=e,this.c=n;}function Vj(t,e,n){this.a=t,this.b=e,this.c=n;}function Zj(t,e,n){this.d=t,this.b=n,this.a=e;}function Qj(t){TL(this),yV(this),$rt(this,t);}function Jj(t){DO(this),Jz(this.c,0,t.Pc());}function t$(t){uW(t.a),U8(t.c,t.b),t.b=null;}function e$(t){this.a=t,IE(),lot(Date.now());}function n$(){n$=I,eie=new r,nie=new r;}function i$(){i$=I,kne=new D,_ne=new N;}function r$(){r$=I,hOe=D8(Ite,zWt,1,0,5,1);}function a$(){a$=I,kLe=D8(Ite,zWt,1,0,5,1);}function o$(){o$=I,_Le=D8(Ite,zWt,1,0,5,1);}function s$(){s$=I,new ny((EV(),EV(),cne));}function c$(t){return Z7(),Ctt((Q7(),Rne),t)}function u$(t){return Hut(),Ctt((t8(),Zne),t)}function l$(t){return uwt(),Ctt((S4(),pie),t)}function h$(t){return Ptt(),Ctt((A4(),mie),t)}function f$(t){return tRt(),Ctt((Not(),jie),t)}function d$(t){return Pet(),Ctt((Z6(),Kie),t)}function g$(t){return V7(),Ctt((Q6(),Jie),t)}function p$(t){return H9(),Ctt((J6(),are),t)}function b$(t){return gWt(),Ctt((_I(),Mre),t)}function w$(t){return Pot(),Ctt((t9(),Rre),t)}function y$(t){return zwt(),Ctt((e9(),Ure),t)}function m$(t){return Hwt(),Ctt((n9(),eae),t)}function v$(t){return fT(),Ctt((W2(),rae),t)}function x$(t){return Btt(),Ctt((M4(),Rae),t)}function k$(t){return z9(),Ctt((e8(),Ooe),t)}function _$(t){return mTt(),Ctt((qtt(),zoe),t)}function E$(t){return Ist(),Ctt((J7(),nse),t)}function T$(t){return Fht(),Ctt((n8(),gse),t)}function C$(t,e){if(!t)throw Fw(new Rv(e))}function S$(t){return oCt(),Ctt((unt(),Mse),t)}function A$(t){aG.call(this,t.d,t.c,t.a,t.b);}function M$(t){aG.call(this,t.d,t.c,t.a,t.b);}function I$(t,e,n){this.b=t,this.c=e,this.a=n;}function O$(t,e,n){this.b=t,this.a=e,this.c=n;}function L$(t,e,n){this.a=t,this.b=e,this.c=n;}function D$(t,e,n){this.a=t,this.b=e,this.c=n;}function N$(t,e,n){this.a=t,this.b=e,this.c=n;}function P$(t,e,n){this.a=t,this.b=e,this.c=n;}function B$(t,e,n){this.b=t,this.a=e,this.c=n;}function R$(t,e,n){this.e=e,this.b=t,this.d=n;}function j$(t,e,n){return dT(),t.a.Od(e,n),e}function $$(t){var e;return (e=new xt).e=t,e}function F$(t){var e;return (e=new Zy).b=t,e}function z$(){z$=I,Gse=new Nn,qse=new Pn;}function H$(){H$=I,due=new yr,gue=new mr;}function U$(t){return Ast(),Ctt((r9(),oue),t)}function G$(t){return Mst(),Ctt((o9(),xue),t)}function q$(t){return vBt(),Ctt((Uat(),Yue),t)}function K$(t){return OSt(),Ctt((fnt(),nle),t)}function Y$(t){return Y8(),Ctt((P4(),ole),t)}function W$(t){return Mit(),Ctt((i8(),hle),t)}function X$(t){return L_t(),Ctt((Ftt(),Aue),t)}function V$(t){return Srt(),Ctt((o8(),Rue),t)}function Z$(t){return oit(),Ctt((r8(),ble),t)}function Q$(t){return Wyt(),Ctt((jtt(),_le),t)}function J$(t){return Rtt(),Ctt((O4(),Sle),t)}function tF(t){return Zst(),Ctt((a8(),Lle),t)}function eF(t){return pCt(),Ctt((bnt(),Fle),t)}function nF(t){return g9(),Ctt((L4(),Gle),t)}function iF(t){return Fkt(),Ctt((gnt(),Qle),t)}function rF(t){return ZTt(),Ctt((dnt(),ohe),t)}function aF(t){return fBt(),Ctt((Wst(),yhe),t)}function oF(t){return Rot(),Ctt((c8(),_he),t)}function sF(t){return U9(),Ctt((s8(),Ahe),t)}function cF(t){return U2(),Ctt((B4(),Lhe),t)}function uF(t){return _dt(),Ctt((ztt(),Ufe),t)}function lF(t){return _Et(),Ctt((pnt(),nye),t)}function hF(t){return Elt(),Ctt((u8(),sye),t)}function fF(t){return fyt(),Ctt((s9(),dye),t)}function dF(t){return ait(),Ctt((f8(),Gye),t)}function gF(t){return cNt(),Ctt((Hat(),Iye),t)}function pF(t){return yct(),Ctt((h8(),Pye),t)}function bF(t){return G9(),Ctt((N4(),$ye),t)}function wF(t){return zat(),Ctt((l8(),Xye),t)}function yF(t){return Dyt(),Ctt(($tt(),vye),t)}function mF(t){return M6(),Ctt((D4(),Jye),t)}function vF(t){return qut(),Ctt((g8(),rme),t)}function xF(t){return gat(),Ctt((p8(),ume),t)}function kF(t){return Ost(),Ctt((d8(),gme),t)}function _F(t){return sit(),Ctt((b8(),Lme),t)}function EF(t){return W4(),Ctt((j4(),Hme),t)}function TF(t){return gQ(),Ctt(($4(),eve),t)}function CF(t){return oJ(),Ctt((F4(),ave),t)}function SF(t){return A6(),Ctt((R4(),Tve),t)}function AF(t){return dQ(),Ctt((z4(),Nve),t)}function MF(t){return Gvt(),Ctt((i9(),Fve),t)}function IF(t){return PSt(),Ctt((wnt(),Vve),t)}function OF(t){return sJ(),Ctt((G4(),jxe),t)}function LF(t){return Crt(),Ctt((U4(),Zxe),t)}function DF(t){return $0(),Ctt((H4(),Hxe),t)}function NF(t){return Sdt(),Ctt((w8(),nke),t)}function PF(t){return N7(),Ctt((q4(),oke),t)}function BF(t){return zut(),Ctt((y8(),hke),t)}function RF(t){return Mmt(),Ctt((a9(),Uke),t)}function jF(t){return Fat(),Ctt((v8(),Wke),t)}function $F(t){return Tdt(),Ctt((m8(),t_e),t)}function FF(t){return VDt(),Ctt((Gtt(),$_e),t)}function zF(t){return Cdt(),Ctt((x8(),G_e),t)}function HF(t){return CT(),Ctt((K2(),Y_e),t)}function UF(t){return ST(),Ctt((q2(),V_e),t)}function GF(t){return I6(),Ctt((Y4(),tEe),t)}function qF(t){return OCt(),Ctt((Htt(),sEe),t)}function KF(t){return AT(),Ctt((Y2(),GEe),t)}function YF(t){return Lst(),Ctt((K4(),WEe),t)}function WF(t){return iwt(),Ctt((Utt(),hTe),t)}function XF(t){return CSt(),Ctt((Gat(),xTe),t)}function VF(t){return dyt(),Ctt((hnt(),DTe),t)}function ZF(t){return d_t(),Ctt((lnt(),JTe),t)}function QF(t){return hWt(),Ctt((EI(),Zce),t)}function JF(t){return Trt(),Ctt((I4(),Use),t)}function tz(t){return $ht(),Ctt((Ktt(),HSe),t)}function ez(t){return Bet(),Ctt((_8(),YSe),t)}function nz(t){return Edt(),Ctt((l9(),JSe),t)}function iz(t){return JEt(),Ctt((mnt(),sAe),t)}function rz(t){return oht(),Ctt((k8(),mAe),t)}function az(t){return Kvt(),Ctt((u9(),TAe),t)}function oz(t){return JOt(),Ctt((Dot(),BAe),t)}function sz(t){return rwt(),Ctt((Ytt(),UAe),t)}function cz(t){return X_t(),Ctt((zet(),ZAe),t)}function uz(t){return hMt(),Ctt((ynt(),aMe),t)}function lz(t){return ypt(),Ctt((f9(),$Me),t)}function hz(t){return Jjt(),Ctt((Xst(),VMe),t)}function fz(t){return vKt(),Ctt((Wtt(),AMe),t)}function dz(t){return $gt(),Ctt((h9(),nIe),t)}function gz(t){return Fut(),Ctt((c9(),uIe),t)}function pz(t){return uOt(),Ctt((qat(),nOe),t)}function bz(t,e){return mW(t),t+(mW(e),e)}function wz(t,e){return IE(),u7(WV(t.a),e)}function yz(t,e){return IE(),u7(WV(t.a),e)}function mz(t,e){this.c=t,this.a=e,this.b=e-t;}function vz(t,e,n){this.a=t,this.b=e,this.c=n;}function xz(t,e,n){this.a=t,this.b=e,this.c=n;}function kz(t,e,n){this.a=t,this.b=e,this.c=n;}function _z(t,e,n){this.a=t,this.b=e,this.c=n;}function Ez(t,e,n){this.a=t,this.b=e,this.c=n;}function Tz(t,e,n){this.e=t,this.a=e,this.c=n;}function Cz(t,e,n){uL(),wQ.call(this,t,e,n);}function Sz(t,e,n){uL(),nW.call(this,t,e,n);}function Az(t,e,n){uL(),nW.call(this,t,e,n);}function Mz(t,e,n){uL(),nW.call(this,t,e,n);}function Iz(t,e,n){uL(),Sz.call(this,t,e,n);}function Oz(t,e,n){uL(),Sz.call(this,t,e,n);}function Lz(t,e,n){uL(),Oz.call(this,t,e,n);}function Dz(t,e,n){uL(),Az.call(this,t,e,n);}function Nz(t,e,n){uL(),Mz.call(this,t,e,n);}function Pz(t,e){return yY(t),yY(e),new cE(t,e)}function Bz(t,e){return yY(t),yY(e),new RH(t,e)}function Rz(t,e){return yY(t),yY(e),new jH(t,e)}function jz(t,e){return yY(t),yY(e),new lE(t,e)}function $z(t,e){return VH(null==t||Xwt(t,e)),t}function Fz(t){var e;return utt(e=new Lw,t),e}function zz(t){var e;return utt(e=new Py,t),e}function Hz(t){var e;return Hrt(e=new Uy,t),e}function Uz(t){var e;return Hrt(e=new XE,t),e}function Gz(t){return !t.e&&(t.e=new Lw),t.e}function qz(t){return !t.c&&(t.c=new zc),t.c}function Kz(t,e){return t.c[t.c.length]=e,!0}function Yz(t,e){this.c=t,this.b=e,this.a=!1;}function Wz(t){this.d=t,_d(this),this.b=nq(t.d);}function Xz(){this.a=";,;",this.b="",this.c="";}function Vz(t,e,n){Gq.call(this,e,n),this.a=t;}function Zz(t,e,n){this.b=t,gI.call(this,e,n);}function Qz(t,e,n){this.c=t,TC.call(this,e,n);}function Jz(t,e,n){jAt(n,0,t,e,n.length,!1);}function tH(t,e,n,i,r){t.b=e,t.c=n,t.d=i,t.a=r;}function eH(t,e){e&&(t.b=e,t.a=(xW(e),e.a));}function nH(t,e,n,i,r){t.d=e,t.c=n,t.a=i,t.b=r;}function iH(t){var e,n;e=t.b,n=t.c,t.b=n,t.c=e;}function rH(t){var e,n;n=t.d,e=t.a,t.d=e,t.a=n;}function aH(t){return oot(DK(VI(t)?Cot(t):t))}function oH(t,e){return xL(oU(t.d),oU(e.d))}function sH(t,e){return e==(vKt(),CMe)?t.c:t.d}function cH(){cH=I,vKt(),Pme=CMe,Bme=oMe;}function uH(){this.b=Hv(_B(ywt((lRt(),roe))));}function lH(t){return dT(),D8(Ite,zWt,1,t,5,1)}function hH(t){return new DA(t.c+t.b,t.d+t.a)}function fH(t,e){return ET(),xL(t.d.p,e.d.p)}function dH(t){return TP(0!=t.b),Iet(t,t.a.a)}function gH(t){return TP(0!=t.b),Iet(t,t.c.b)}function pH(t,e){if(!t)throw Fw(new Iv(e))}function bH(t,e){if(!t)throw Fw(new Rv(e))}function wH(t,e,n){dS.call(this,t,e),this.b=n;}function yH(t,e,n){OM.call(this,t,e),this.c=n;}function mH(t,e,n){fet.call(this,e,n),this.d=t;}function vH(t){o$(),vc.call(this),this.th(t);}function xH(t,e,n){this.a=t,LI.call(this,e,n);}function kH(t,e,n){this.a=t,LI.call(this,e,n);}function _H(t,e,n){OM.call(this,t,e),this.c=n;}function EH(){P5(),oW.call(this,(KT(),HOe));}function TH(t){return null!=t&&!Kdt(t,IOe,OOe)}function CH(t,e){return (Yht(t)<<4|Yht(e))&XXt}function SH(t,e){return QW(),Gyt(t,e),new HW(t,e)}function AH(t,e){var n;t.n&&(n=e,Kz(t.f,n));}function MH(t,e,n){net(t,e,new HY(n));}function IH(t,e){var n;return n=t.c,Rit(t,e),n}function OH(t,e){return t.g=e<0?-1:e,t}function LH(t,e){return Get(t),t.a*=e,t.b*=e,t}function DH(t,e,n,i,r){t.c=e,t.d=n,t.b=i,t.a=r;}function NH(t,e){return n5(t,e,t.c.b,t.c),!0}function PH(t){t.a.b=t.b,t.b.a=t.a,t.a=t.b=null;}function BH(t){this.b=t,this.a=lq(this.b.a).Ed();}function RH(t,e){this.b=t,this.a=e,$l.call(this);}function jH(t,e){this.a=t,this.b=e,$l.call(this);}function $H(t,e){Gq.call(this,e,1040),this.a=t;}function FH(t){return 0==t||isNaN(t)?t:t<0?-1:1}function zH(t){return _V(),CTt(t)==VQ(MTt(t))}function HH(t){return _V(),MTt(t)==VQ(CTt(t))}function UH(t,e){return Vkt(t,new dS(e.a,e.b))}function GH(t){return !h5(t)&&t.c.i.c==t.d.i.c}function qH(t){var e;return e=t.n,t.a.b+e.d+e.a}function KH(t){var e;return e=t.n,t.e.b+e.d+e.a}function YH(t){var e;return e=t.n,t.e.a+e.b+e.c}function WH(t){return dWt(),new oG(0,t)}function XH(t){return t.a?t.a:tV(t)}function VH(t){if(!t)throw Fw(new Bv(null))}function ZH(){ZH=I,EV(),rDe=new Hd(C9t);}function QH(){QH=I,new cyt((Jm(),jte),(tv(),Rte));}function JH(){JH=I,Aee=D8(Iee,cXt,19,256,0,1);}function tU(t,e,n,i){agt.call(this,t,e,n,i,0,0);}function eU(t,e,n){return YW(t.b,$z(n.b,17),e)}function nU(t,e,n){return YW(t.b,$z(n.b,17),e)}function iU(t,e){return Kz(t,new DA(e.a,e.b))}function rU(t,e){return t.c=e)throw Fw(new Ey)}function Rq(t,e,n){return IY(e,0,FU(e[0],n[0])),e}function jq(t,e,n){e.Ye(n,Hv(_B(PY(t.b,n)))*t.a);}function $q(t,e,n){return xBt(),Pat(t,e)&&Pat(t,n)}function Fq(t){return hMt(),!t.Hc(tMe)&&!t.Hc(nMe)}function zq(t){return new DA(t.c+t.b/2,t.d+t.a/2)}function Hq(t,e){return e.kh()?tht(t.b,$z(e,49)):e}function Uq(t,e){this.e=t,this.d=64&e?e|uXt:e;}function Gq(t,e){this.c=0,this.d=t,this.b=64|e|uXt;}function qq(t){this.b=new V6(11),this.a=(TV(),t);}function Kq(t){this.b=null,this.a=(TV(),t||fne);}function Yq(t){this.a=iyt(t.a),this.b=new Jj(t.b);}function Wq(t){this.b=t,iP.call(this,t),_D(this);}function Xq(t){this.b=t,aP.call(this,t),ED(this);}function Vq(t,e,n){this.a=t,tj.call(this,e,n,5,6);}function Zq(t,e,n,i){this.b=t,ID.call(this,e,n,i);}function Qq(t,e,n,i,r){m7.call(this,t,e,n,i,r,-1);}function Jq(t,e,n,i,r){v7.call(this,t,e,n,i,r,-1);}function tK(t,e,n,i){ID.call(this,t,e,n),this.b=i;}function eK(t,e,n,i){yH.call(this,t,e,n),this.b=i;}function nK(t){LM.call(this,t,!1),this.a=!1;}function iK(t,e){this.b=t,cf.call(this,t.b),this.a=e;}function rK(t,e){KY(),vE.call(this,t,cht(new Vv(e)));}function aK(t,e){return dWt(),new iW(t,e,0)}function oK(t,e){return dWt(),new iW(6,t,e)}function sK(t,e){return wj(t.substr(0,e.length),e)}function cK(t,e){return qM(e)?tZ(t,e):!!MZ(t.f,e)}function uK(t,e){for(mW(e);t.Ob();)e.td(t.Pb());}function lK(t,e,n){MBt(),this.e=t,this.d=e,this.a=n;}function hK(t,e,n,i){var r;(r=t.i).i=e,r.a=n,r.b=i;}function fK(t){var e;for(e=t;e.f;)e=e.f;return e}function dK(t){var e;return TP(null!=(e=kct(t))),e}function gK(t){var e;return TP(null!=(e=yft(t))),e}function pK(t,e){var n;return f6(e,n=t.a.gc()),n-e}function bK(t,e){var n;for(n=0;n0?e.Math.log(t/n):-100}function jK(t,e){return Wlt(t,e)<0?-1:Wlt(t,e)>0?1:0}function $K(t,e,n){return THt(t,$z(e,46),$z(n,167))}function FK(t,e){return $z(fq(lq(t.a)).Xb(e),42).cd()}function zK(t,e){return bet(e,t.length),new $H(t,e)}function HK(t,e){this.d=t,MD.call(this,t),this.e=e;}function UK(t){this.d=(mW(t),t),this.a=0,this.c=fXt;}function GK(t,e){Mw.call(this,1),this.a=t,this.b=e;}function qK(t,e){return t.c?qK(t.c,e):Kz(t.b,e),t}function KK(t,e,n){var i;return i=dtt(t,e),n4(t,e,n),i}function YK(t,e){return w9(t.slice(0,e),t)}function WK(t,e,n){var i;for(i=0;i=t.g}function ZY(t,e,n){return DRt(t,mrt(t,e,n))}function QY(t,e){var n;dtt(t,n=t.a.length),n4(t,n,e);}function JY(t,e){console[t].call(console,e);}function tW(t,e){var n;++t.j,n=t.Vi(),t.Ii(t.oi(n,e));}function eW(t,e,n){$z(e.b,65),Met(e.a,new xz(t,n,e));}function nW(t,e,n){vw.call(this,e),this.a=t,this.b=n;}function iW(t,e,n){Mw.call(this,t),this.a=e,this.b=n;}function rW(t,e,n){this.a=t,mw.call(this,e),this.b=n;}function aW(t,e,n){this.a=t,F2.call(this,8,e,null,n);}function oW(t){this.a=(mW(j7t),j7t),this.b=t,new Lm;}function sW(t){this.c=t,this.b=this.c.a,this.a=this.c.e;}function cW(t){this.c=t,this.b=t.a.d.a,hB(t.a.e,this);}function uW(t){_P(-1!=t.c),t.d.$c(t.c),t.b=t.c,t.c=-1;}function lW(t){return e.Math.sqrt(t.a*t.a+t.b*t.b)}function hW(t,e){return Bq(e,t.a.c.length),DU(t.a,e)}function fW(t,e){return HM(t)===HM(e)||null!=t&&Dht(t,e)}function dW(t){return 0>=t?new YE:Yit(t-1)}function gW(t){return !!_Ne&&tZ(_Ne,t)}function pW(t){return t?t.dc():!t.Kc().Ob()}function bW(t){return !t.a&&t.c?t.c.b:t.a}function wW(t){return !t.a&&(t.a=new ID(IIe,t,4)),t.a}function yW(t){return !t.d&&(t.d=new ID(KOe,t,1)),t.d}function mW(t){if(null==t)throw Fw(new gy);return t}function vW(t){t.c?t.c.He():(t.d=!0,XNt(t));}function xW(t){t.c?xW(t.c):(Xft(t),t.d=!0);}function kW(t){kX(t.a),t.b=D8(Ite,zWt,1,t.b.length,5,1);}function _W(t,e){return xL(e.j.c.length,t.j.c.length)}function EW(t,e){t.c<0||t.b.b=0?t.Bh(n):rMt(t,e);}function CW(t){return t.c.i.c==t.d.i.c}function SW(t){if(4!=t.p)throw Fw(new dy);return t.e}function AW(t){if(3!=t.p)throw Fw(new dy);return t.e}function MW(t){if(6!=t.p)throw Fw(new dy);return t.f}function IW(t){if(6!=t.p)throw Fw(new dy);return t.k}function OW(t){if(3!=t.p)throw Fw(new dy);return t.j}function LW(t){if(4!=t.p)throw Fw(new dy);return t.j}function DW(t){return !t.b&&(t.b=new kw(new Dm)),t.b}function NW(t){return -2==t.c&&gd(t,oTt(t.g,t.b)),t.c}function PW(t,e){var n;return (n=wY("",t)).n=e,n.i=1,n}function BW(t,e){OG($z(e.b,65),t),Met(e.a,new Mg(t));}function RW(t,e){u7((!t.a&&(t.a=new oR(t,t)),t.a),e);}function jW(t,e){this.b=t,HK.call(this,t,e),_D(this);}function $W(t,e){this.b=t,Pj.call(this,t,e),ED(this);}function FW(t,e,n,i){bE.call(this,t,e),this.d=n,this.a=i;}function zW(t,e,n,i){bE.call(this,t,n),this.a=e,this.f=i;}function HW(t,e){KL.call(this,Wit(yY(t),yY(e))),this.a=e;}function UW(){gTt.call(this,T9t,(n_(),fDe)),YUt(this);}function GW(){gTt.call(this,W7t,(e_(),ZOe)),MHt(this);}function qW(){gE.call(this,"DELAUNAY_TRIANGULATION",0);}function KW(t){return String.fromCharCode.apply(null,t)}function YW(t,e,n){return qM(e)?wJ(t,e,n):xAt(t.f,e,n)}function WW(t){return EV(),t?t.ve():(TV(),TV(),gne)}function XW(t,e,n){return Dst(),n.pg(t,$z(e.cd(),146))}function VW(t,e){return QH(),new cyt(new nN(t),new eN(e))}function ZW(t){return hit(t,DXt),Jtt(idt(idt(5,t),t/10|0))}function QW(){QW=I,Fte=new cv(Cst(Hx(zte,1),vXt,42,0,[]));}function JW(t){return !t.d&&(t.d=new Fd(t.c.Cc())),t.d}function tX(t){return !t.a&&(t.a=new Ox(t.c.vc())),t.a}function eX(t){return !t.b&&(t.b=new Mx(t.c.ec())),t.b}function nX(t,e){for(;e-- >0;)t=t<<1|(t<0?1:0);return t}function iX(t,e){return HM(t)===HM(e)||null!=t&&Dht(t,e)}function rX(t,e){return cN(),$z(e.b,19).a(i=CQ(n))&&++i,i}function ZX(t){var e;return rnt(e=new Bw,t),e}function QX(t){var e;return PTt(e=new Bw,t),e}function JX(t,e){return Rat(e,PY(t.f,e)),null}function tV(t){return Vit(t)||null}function eV(t){return !t.b&&(t.b=new tK(BIe,t,12,3)),t.b}function nV(t){return null!=t&&DE(mOe,t.toLowerCase())}function iV(t,e){return Cft(eG(t)*tG(t),eG(e)*tG(e))}function rV(t,e){return Cft(eG(t)*tG(t),eG(e)*tG(e))}function aV(t,e){return Cft(t.d.c+t.d.b/2,e.d.c+e.d.b/2)}function oV(t,e){return Cft(t.g.c+t.g.b/2,e.g.c+e.g.b/2)}function sV(t,e,n){n.a?Snt(t,e.b-t.f/2):Cnt(t,e.a-t.g/2);}function cV(t,e,n,i){this.a=t,this.b=e,this.c=n,this.d=i;}function uV(t,e,n,i){this.a=t,this.b=e,this.c=n,this.d=i;}function lV(t,e,n,i){this.e=t,this.a=e,this.c=n,this.d=i;}function hV(t,e,n,i){this.a=t,this.c=e,this.d=n,this.b=i;}function fV(t,e,n,i){uL(),t6.call(this,e,n,i),this.a=t;}function dV(t,e,n,i){uL(),t6.call(this,e,n,i),this.a=t;}function gV(t,e){this.a=t,AB.call(this,t,$z(t.d,15).Zc(e));}function pV(t){this.f=t,this.c=this.f.e,t.f>0&&okt(this);}function bV(t,e,n,i){this.b=t,this.c=i,bI.call(this,e,n);}function wV(t){return TP(t.b=0&&wj(t.substr(n,e.length),e)}function OZ(t,e,n,i,r,a,o){return new h4(t.e,e,n,i,r,a,o)}function LZ(t,e,n,i,r,a){this.a=t,vit.call(this,e,n,i,r,a);}function DZ(t,e,n,i,r,a){this.a=t,vit.call(this,e,n,i,r,a);}function NZ(t,e){this.g=t,this.d=Cst(Hx(Ase,1),a1t,10,0,[e]);}function PZ(t,e){this.e=t,this.a=Ite,this.b=IRt(e),this.c=e;}function BZ(t,e){LR.call(this),Net(this),this.a=t,this.c=e;}function RZ(t,e,n,i){IY(t.c[e.g],n.g,i),IY(t.c[n.g],e.g,i);}function jZ(t,e,n,i){IY(t.c[e.g],e.g,n),IY(t.b[e.g],e.g,i);}function $Z(){return M6(),Cst(Hx(ime,1),OXt,376,0,[Zye,Vye])}function FZ(){return g9(),Cst(Hx(Zle,1),OXt,479,0,[Hle,zle])}function zZ(){return Rtt(),Cst(Hx(Ole,1),OXt,419,0,[Ele,Tle])}function HZ(){return Y8(),Cst(Hx(lle,1),OXt,422,0,[ile,rle])}function UZ(){return U2(),Cst(Hx(Hfe,1),OXt,420,0,[Mhe,Ihe])}function GZ(){return G9(),Cst(Hx(Uye,1),OXt,421,0,[Bye,Rye])}function qZ(){return W4(),Cst(Hx(Yme,1),OXt,523,0,[Fme,$me])}function KZ(){return A6(),Cst(Hx(Dve,1),OXt,520,0,[_ve,kve])}function YZ(){return gQ(),Cst(Hx(rve,1),OXt,516,0,[Jme,Qme])}function WZ(){return oJ(),Cst(Hx(Eve,1),OXt,515,0,[nve,ive])}function XZ(){return dQ(),Cst(Hx($ve,1),OXt,455,0,[Ove,Lve])}function VZ(){return $0(),Cst(Hx(Vxe,1),OXt,425,0,[Fxe,$xe])}function ZZ(){return sJ(),Cst(Hx(zxe,1),OXt,480,0,[Pxe,Bxe])}function QZ(){return Crt(),Cst(Hx(eke,1),OXt,495,0,[Wxe,Xxe])}function JZ(){return N7(),Cst(Hx(lke,1),OXt,426,0,[ike,rke])}function tQ(){return Lst(),Cst(Hx(XEe,1),OXt,429,0,[KEe,qEe])}function eQ(){return I6(),Cst(Hx(oEe,1),OXt,430,0,[Q_e,Z_e])}function nQ(){return uwt(),Cst(Hx(yie,1),OXt,428,0,[die,fie])}function iQ(){return Ptt(),Cst(Hx(Bie,1),OXt,427,0,[bie,wie])}function rQ(){return Btt(),Cst(Hx(Ioe,1),OXt,424,0,[Nae,Pae])}function aQ(){return Trt(),Cst(Hx(Kse,1),OXt,511,0,[zse,Fse])}function oQ(t,e,n,i){return n>=0?t.jh(e,n,i):t.Sg(null,n,i)}function sQ(t){return 0==t.b.b?t.a.$e():dH(t.b)}function cQ(t){if(5!=t.p)throw Fw(new dy);return dG(t.f)}function uQ(t){if(5!=t.p)throw Fw(new dy);return dG(t.k)}function lQ(t){return HM(t.a)===HM((dat(),CLe))&&BUt(t),t.a}function hQ(t){this.a=$z(yY(t),271),this.b=(EV(),new dN(t));}function fQ(t,e){Zf(this,new DA(t.a,t.b)),Qf(this,Uz(e));}function dQ(){dQ=I,Ove=new oA(rQt,0),Lve=new oA(aQt,1);}function gQ(){gQ=I,Jme=new iA(aQt,0),Qme=new iA(rQt,1);}function pQ(){rv.call(this,new qE(tet(12))),rN(!0),this.a=2;}function bQ(t,e,n){dWt(),Mw.call(this,t),this.b=e,this.a=n;}function wQ(t,e,n){uL(),vw.call(this,e),this.a=t,this.b=n;}function yQ(t){LR.call(this),Net(this),this.a=t,this.c=!0;}function mQ(t){var e;e=t.c.d.b,t.b=e,t.a=t.c.d,e.a=t.c.d.b=t;}function vQ(t){bit(t.a),PO(t.a),tgt(new Tg(t.a));}function xQ(t,e){sRt(t,!0),Met(t.e.wf(),new I$(t,!0,e));}function kQ(t,e){return i4(e),Vnt(t,D8(ANe,uVt,25,e,15,1),e)}function _Q(t,e){return _V(),t==VQ(CTt(e))||t==VQ(MTt(e))}function EQ(t,e){return null==e?zM(MZ(t.f,null)):cC(t.g,e)}function TQ(t){return 0==t.b?null:(TP(0!=t.b),Iet(t,t.a.a))}function CQ(t){return 0|Math.max(Math.min(t,PWt),-2147483648)}function SQ(t,e){var n=Qte[t.charCodeAt(0)];return null==n?t:n}function AQ(t,e){return KV(t,"set1"),KV(e,"set2"),new xE(t,e)}function MQ(t,e){return GR(zP(Jet(t.f,e)),t.f.d)}function IQ(t,e){var n;return VGt(t,e,n=new U),n.d}function OQ(t,e,n,i){var r;r=new jR,e.a[n.g]=r,wG(t.b,i,r);}function LQ(t,e,n){var i;(i=t.Yg(e))>=0?t.sh(i,n):_Dt(t,e,n);}function DQ(t,e,n){cJ(),t&&YW(oOe,t,e),t&&YW(aOe,t,n);}function NQ(t,e,n){this.i=new Lw,this.b=t,this.g=e,this.a=n;}function PQ(t,e,n){this.c=new Lw,this.e=t,this.f=e,this.b=n;}function BQ(t,e,n){this.a=new Lw,this.e=t,this.f=e,this.c=n;}function RQ(t,e){YL(this),this.f=e,this.g=t,vV(this),this._d();}function jQ(t,e){var n;n=t.q.getHours(),t.q.setDate(e),hzt(t,n);}function $Q(t,e){var n;for(yY(e),n=t.a;n;n=n.c)e.Od(n.g,n.i);}function FQ(t){var e;return Oct(e=new h_(tet(t.length)),t),e}function zQ(t){function e(){}return e.prototype=t||{},new e}function HQ(t,e){return !!dst(t,e)&&(eit(t),!0)}function UQ(t,e){if(null==e)throw Fw(new gy);return obt(t,e)}function GQ(t){if(t.qe())return null;var e=t.n;return TWt[e]}function qQ(t){return t.Db>>16!=3?null:$z(t.Cb,33)}function KQ(t){return t.Db>>16!=9?null:$z(t.Cb,33)}function YQ(t){return t.Db>>16!=6?null:$z(t.Cb,79)}function WQ(t){return t.Db>>16!=7?null:$z(t.Cb,235)}function XQ(t){return t.Db>>16!=7?null:$z(t.Cb,160)}function VQ(t){return t.Db>>16!=11?null:$z(t.Cb,33)}function ZQ(t,e){var n;return (n=t.Yg(e))>=0?t.lh(n):HMt(t,e)}function QQ(t,e){var n;return sTt(n=new OU(e),t),new Jj(n)}function JQ(t){var e;return e=t.d,e=t.si(t.f),u7(t,e),e.Ob()}function tJ(t,e){return t.b+=e.b,t.c+=e.c,t.d+=e.d,t.a+=e.a,t}function eJ(t,n){return e.Math.abs(t)0}function iJ(){this.a=new uO,this.e=new Py,this.g=0,this.i=0;}function rJ(t){this.a=t,this.b=D8(Rme,cXt,1944,t.e.length,0,2);}function aJ(t,e,n){var i;i=Dct(t,e,n),t.b=new yrt(i.c.length);}function oJ(){oJ=I,nve=new nA(bQt,0),ive=new nA("UP",1);}function sJ(){sJ=I,Pxe=new hA(q3t,0),Bxe=new hA("FAN",1);}function cJ(){cJ=I,oOe=new Dw,aOe=new Dw,jM(yne,new pc);}function uJ(t){if(0!=t.p)throw Fw(new dy);return VM(t.f,0)}function lJ(t){if(0!=t.p)throw Fw(new dy);return VM(t.k,0)}function hJ(t){return t.Db>>16!=3?null:$z(t.Cb,147)}function fJ(t){return t.Db>>16!=6?null:$z(t.Cb,235)}function dJ(t){return t.Db>>16!=17?null:$z(t.Cb,26)}function gJ(t,e){var n=t.a=t.a||[];return n[e]||(n[e]=t.le(e))}function pJ(t,e){var n;return null==(n=t.a.get(e))?new Array:n}function bJ(t,e){var n;n=t.q.getHours(),t.q.setMonth(e),hzt(t,n);}function wJ(t,e,n){return null==e?xAt(t.f,null,n):odt(t.g,e,n)}function yJ(t,e,n,i,r,a){return new L9(t.e,e,t.aj(),n,i,r,a)}function mJ(t,e,n){return t.a=uP(t.a,0,e)+""+n+QM(t.a,e),t}function vJ(t,e,n){return Kz(t.a,(QW(),Gyt(e,n),new bE(e,n))),t}function xJ(t){return oN(t.c),t.e=t.a=t.c,t.c=t.c.c,++t.d,t.a.f}function kJ(t){return oN(t.e),t.c=t.a=t.e,t.e=t.e.e,--t.d,t.a.f}function _J(t,e){t.d&&y9(t.d.e,t),t.d=e,t.d&&Kz(t.d.e,t);}function EJ(t,e){t.c&&y9(t.c.g,t),t.c=e,t.c&&Kz(t.c.g,t);}function TJ(t,e){t.c&&y9(t.c.a,t),t.c=e,t.c&&Kz(t.c.a,t);}function CJ(t,e){t.i&&y9(t.i.j,t),t.i=e,t.i&&Kz(t.i.j,t);}function SJ(t,e,n){this.a=e,this.c=t,this.b=(yY(n),new Jj(n));}function AJ(t,e,n){this.a=e,this.c=t,this.b=(yY(n),new Jj(n));}function MJ(t,e){this.a=t,this.c=$L(this.a),this.b=new gZ(e);}function IJ(t){return Xft(t),MX(t,new bg(new Py))}function OJ(t,e){if(t<0||t>e)throw Fw(new Mv(xZt+t+kZt+e))}function LJ(t,e){return SG(t.a,e)?xK(t,$z(e,22).g,null):null}function DJ(t){return Tlt(),cN(),0!=$z(t.a,81).d.e}function NJ(){NJ=I,Kte=hlt((nv(),Cst(Hx(Yte,1),OXt,538,0,[Gte])));}function PJ(){PJ=I,pme=KG(new $2,(mTt(),$oe),(hWt(),zce));}function BJ(){BJ=I,bme=KG(new $2,(mTt(),$oe),(hWt(),zce));}function RJ(){RJ=I,yme=KG(new $2,(mTt(),$oe),(hWt(),zce));}function jJ(){jJ=I,Ume=dU(new $2,(mTt(),$oe),(hWt(),dce));}function $J(){$J=I,Wme=dU(new $2,(mTt(),$oe),(hWt(),dce));}function FJ(){FJ=I,Zme=dU(new $2,(mTt(),$oe),(hWt(),dce));}function zJ(){zJ=I,ove=dU(new $2,(mTt(),$oe),(hWt(),dce));}function HJ(){HJ=I,Uxe=KG(new $2,(Gvt(),jve),(PSt(),Uve));}function UJ(t,e,n,i){this.c=t,this.d=i,KJ(this,e),YJ(this,n);}function GJ(t){this.c=new XE,this.b=t.b,this.d=t.c,this.a=t.a;}function qJ(t){this.a=e.Math.cos(t),this.b=e.Math.sin(t);}function KJ(t,e){t.a&&y9(t.a.k,t),t.a=e,t.a&&Kz(t.a.k,t);}function YJ(t,e){t.b&&y9(t.b.f,t),t.b=e,t.b&&Kz(t.b.f,t);}function WJ(t,e){eW(t,t.b,t.c),$z(t.b.b,65),e&&$z(e.b,65).b;}function XJ(t,e){Gft(t,e),iD(t.Cb,88)&&IAt(T5($z(t.Cb,88)),2);}function VJ(t,e){iD(t.Cb,88)&&IAt(T5($z(t.Cb,88)),4),Drt(t,e);}function ZJ(t,e){iD(t.Cb,179)&&($z(t.Cb,179).tb=null),Drt(t,e);}function QJ(t,e){return ZT(),ctt(e)?new lU(e,t):new DM(e,t)}function JJ(t,e){null!=e.c&&QY(t,new HY(e.c));}function t1(t){var e;return e_(),rnt(e=new Bw,t),e}function e1(t){var e;return e_(),rnt(e=new Bw,t),e}function n1(t,e){var n;return n=new FY(t),e.c[e.c.length]=n,n}function i1(t,e){var n;return (n=$z(hht(AV(t.a),e),14))?n.gc():0}function r1(t){return Xft(t),TV(),TV(),met(t,dne)}function a1(t){for(var e;;)if(e=t.Pb(),!t.Ob())return e}function o1(t,e){Gm.call(this,new qE(tet(t))),hit(e,sXt),this.a=e;}function s1(t,e,n){zht(e,n,t.gc()),this.c=t,this.a=e,this.b=n-e;}function c1(t,e,n){var i;zht(e,n,t.c.length),i=n-e,T_(t.c,e,i);}function u1(t,e){cD(t,dG(t0(mq(e,24),cZt)),dG(t0(e,cZt)));}function l1(t,e){if(t<0||t>=e)throw Fw(new Mv(xZt+t+kZt+e))}function h1(t,e){if(t<0||t>=e)throw Fw(new Ax(xZt+t+kZt+e))}function f1(t,e){this.b=(mW(t),t),this.a=e&jVt?e:64|e|uXt;}function d1(t){NO(this),Ty(this.a,vct(e.Math.max(8,t))<<1);}function g1(t){return Ict(Cst(Hx(TTe,1),cXt,8,0,[t.i.n,t.n,t.a]))}function p1(){return Hut(),Cst(Hx(Qne,1),OXt,132,0,[Une,Gne,qne])}function b1(){return Pet(),Cst(Hx(Yie,1),OXt,232,0,[Hie,Uie,Gie])}function w1(){return V7(),Cst(Hx(tre,1),OXt,461,0,[Xie,Wie,Vie])}function y1(){return H9(),Cst(Hx(Are,1),OXt,462,0,[ire,nre,ere])}function m1(){return Fht(),Cst(Hx(wse,1),OXt,423,0,[fse,hse,lse])}function v1(){return z9(),Cst(Hx(Foe,1),OXt,379,0,[Aoe,Soe,Moe])}function x1(){return Elt(),Cst(Hx(fye,1),OXt,378,0,[iye,rye,aye])}function k1(){return Mit(),Cst(Hx(ple,1),OXt,314,0,[cle,sle,ule])}function _1(){return oit(),Cst(Hx(kle,1),OXt,337,0,[fle,gle,dle])}function E1(){return Zst(),Cst(Hx($le,1),OXt,450,0,[Mle,Ale,Ile])}function T1(){return Srt(),Cst(Hx(Kue,1),OXt,361,0,[Pue,Nue,Due])}function C1(){return U9(),Cst(Hx(Ohe,1),OXt,303,0,[The,Che,Ehe])}function S1(){return Rot(),Cst(Hx(She,1),OXt,292,0,[vhe,xhe,mhe])}function A1(){return ait(),Cst(Hx(Wye,1),OXt,452,0,[Hye,Fye,zye])}function M1(){return yct(),Cst(Hx(jye,1),OXt,339,0,[Lye,Oye,Dye])}function I1(){return zat(),Cst(Hx(Qye,1),OXt,375,0,[qye,Kye,Yye])}function O1(){return Ost(),Cst(Hx(Eme,1),OXt,377,0,[hme,fme,lme])}function L1(){return qut(),Cst(Hx(cme,1),OXt,336,0,[tme,eme,nme])}function D1(){return gat(),Cst(Hx(dme,1),OXt,338,0,[sme,ame,ome])}function N1(){return sit(),Cst(Hx(Dme,1),OXt,454,0,[Ame,Mme,Ime])}function P1(){return Sdt(),Cst(Hx(ake,1),OXt,442,0,[tke,Qxe,Jxe])}function B1(){return zut(),Cst(Hx(Hke,1),OXt,380,0,[ske,cke,uke])}function R1(){return Tdt(),Cst(Hx(L_e,1),OXt,381,0,[Zke,Qke,Vke])}function j1(){return Fat(),Cst(Hx(Xke,1),OXt,293,0,[qke,Kke,Gke])}function $1(){return Cdt(),Cst(Hx(K_e,1),OXt,437,0,[F_e,z_e,H_e])}function F1(){return oht(),Cst(Hx(EAe,1),OXt,334,0,[bAe,pAe,wAe])}function z1(){return Bet(),Cst(Hx(QSe,1),OXt,272,0,[USe,GSe,qSe])}function H1(t,e){return vLt(t,e,iD(e,99)&&!!($z(e,18).Bb&FVt))}function U1(t,e,n){var i;return (i=rHt(t,e,!1)).b<=e&&i.a<=n}function G1(t,e,n){var i;(i=new ao).b=e,i.a=n,++e.b,Kz(t.d,i);}function q1(t,e){var n;return kP(!!(n=(mW(t),t).g)),mW(e),n(e)}function K1(t,e){var n,i;return i=pK(t,e),n=t.a.Zc(i),new mE(t,n)}function Y1(t){return t.Db>>16!=6?null:$z(rOt(t),235)}function W1(t){if(2!=t.p)throw Fw(new dy);return dG(t.f)&XXt}function X1(t){if(2!=t.p)throw Fw(new dy);return dG(t.k)&XXt}function V1(t){return t.a==(P5(),JLe)&&dd(t,eDt(t.g,t.b)),t.a}function Z1(t){return t.d==(P5(),JLe)&&pd(t,Djt(t.g,t.b)),t.d}function Q1(t){return TP(t.ai?1:0}function f0(t,e){var n;return n=E9(e),$z(PY(t.c,n),19).a}function d0(t,e){var n;for(n=t+"";n.length0&&0==t.a[--t.d];);0==t.a[t.d++]&&(t.e=0);}function K0(t){return t.a?0==t.e.length?t.a.a:t.a.a+""+t.e:t.c}function Y0(t){return !(!t.a||0==F9(t.a.a).i||t.b&&Ryt(t.b))}function W0(t){return !(!t.u||0==r4(t.u.a).i||t.n&&Byt(t.n))}function X0(t){return yU(t.e.Hd().gc()*t.c.Hd().gc(),16,new Hh(t))}function V0(t,e){return jK(lot(t.q.getTime()),lot(e.q.getTime()))}function Z0(t){return $z(Xbt(t,D8(yse,r1t,17,t.c.length,0,1)),474)}function Q0(t){return $z(Xbt(t,D8(Ase,a1t,10,t.c.length,0,1)),193)}function J0(t){return $J(),!(h5(t)||!h5(t)&&t.c.i.c==t.d.i.c)}function t2(t,e,n){yY(t),Nvt(new SJ(new Jj(t),e,n));}function e2(t,e,n){yY(t),Pvt(new AJ(new Jj(t),e,n));}function n2(t,e){var n;return n=1-e,t.a[n]=drt(t.a[n],n),drt(t,e)}function i2(t,e){var n;t.e=new Vm,wL(n=dBt(e),t.c),ABt(t,n,0);}function r2(t,e,n,i){var r;(r=new ms).a=e,r.b=n,r.c=i,NH(t.a,r);}function a2(t,e,n,i){var r;(r=new ms).a=e,r.b=n,r.c=i,NH(t.b,r);}function o2(t){var e,n;return n=t$t(e=new lY,t),mqt(e),n}function s2(){var t,e;return t=new Bw,Kz(KLe,e=t),e}function c2(t){return t.j.c=D8(Ite,zWt,1,0,5,1),kX(t.c),gX(t.a),t}function u2(t){return _T(),iD(t.g,10)?$z(t.g,10):null}function l2(t){return !xX(t).dc()&&(OL(t,new m),!0)}function h2(t){if(!("stack"in t))try{throw t}catch(t){}return t}function f2(t,e){if(t<0||t>=e)throw Fw(new Mv(LAt(t,e)));return t}function d2(t,e,n){if(t<0||en)throw Fw(new Mv(sSt(t,e,n)))}function g2(t,e){if(kK(t.a,e),e.d)throw Fw(new dv(AZt));e.d=t;}function p2(t,e){if(e.$modCount!=t.$modCount)throw Fw(new by)}function b2(t,e){return !!iD(e,42)&&Emt(t.a,$z(e,42))}function w2(t,e){return !!iD(e,42)&&Emt(t.a,$z(e,42))}function y2(t,e){return !!iD(e,42)&&Emt(t.a,$z(e,42))}function m2(t,e){return t.a<=t.b&&(e.ud(t.a++),!0)}function v2(t){var e;return VI(t)?-0==(e=t)?0:e:ptt(t)}function x2(t){var e;return xW(t),e=new F,g_(t.a,new gg(e)),e}function k2(t){var e;return xW(t),e=new $,g_(t.a,new dg(e)),e}function _2(t,e){this.a=t,Ed.call(this,t),OJ(e,t.gc()),this.b=e;}function E2(t){this.e=t,this.b=this.e.a.entries(),this.a=new Array;}function T2(t){return yU(t.e.Hd().gc()*t.c.Hd().gc(),273,new zh(t))}function C2(t){return new V6((hit(t,DXt),Jtt(idt(idt(5,t),t/10|0))))}function S2(t){return $z(Xbt(t,D8(Hse,o1t,11,t.c.length,0,1)),1943)}function A2(t,e,n){return n.f.c.length>0?$K(t.a,e,n):$K(t.b,e,n)}function M2(t,e,n){t.d&&y9(t.d.e,t),t.d=e,t.d&&mG(t.d.e,n,t);}function I2(t,e){wYt(e,t),rH(t.d),rH($z(yTt(t,(zYt(),Mbe)),207));}function O2(t,e){bYt(e,t),iH(t.d),iH($z(yTt(t,(zYt(),Mbe)),207));}function L2(t,e){var n,i;return i=null,(n=UQ(t,e))&&(i=n.fe()),i}function D2(t,e){var n,i;return i=null,(n=dtt(t,e))&&(i=n.ie()),i}function N2(t,e){var n,i;return i=null,(n=UQ(t,e))&&(i=n.ie()),i}function P2(t,e){var n,i;return i=null,(n=UQ(t,e))&&(i=mSt(n)),i}function B2(t,e,n){var i;return i=Xpt(n),djt(t.g,i,e),djt(t.i,e,n),e}function R2(t,e,n){var i;i=Lpt();try{return dR(t,e,n)}finally{y3(i);}}function j2(t){var e;e=t.Wg(),this.a=iD(e,69)?$z(e,69).Zh():e.Kc();}function $2(){Xm.call(this),this.j.c=D8(Ite,zWt,1,0,5,1),this.a=-1;}function F2(t,e,n,i){this.d=t,this.n=e,this.g=n,this.o=i,this.p=-1;}function z2(t,e,n,i){this.e=i,this.d=null,this.c=t,this.a=e,this.b=n;}function H2(t,e,n){this.d=new jp(this),this.e=t,this.i=e,this.f=n;}function U2(){U2=I,Mhe=new NS(eQt,0),Ihe=new NS("TOP_LEFT",1);}function G2(){G2=I,kme=VW(nft(1),nft(4)),xme=VW(nft(1),nft(2));}function q2(){q2=I,V_e=hlt((ST(),Cst(Hx(J_e,1),OXt,551,0,[W_e])));}function K2(){K2=I,Y_e=hlt((CT(),Cst(Hx(X_e,1),OXt,482,0,[q_e])));}function Y2(){Y2=I,GEe=hlt((AT(),Cst(Hx(YEe,1),OXt,530,0,[HEe])));}function W2(){W2=I,rae=hlt((fT(),Cst(Hx(Tae,1),OXt,481,0,[nae])));}function X2(){return Pot(),Cst(Hx(Hre,1),OXt,406,0,[Pre,Lre,Dre,Nre])}function V2(){return Z7(),Cst(Hx(jne,1),OXt,297,0,[Lne,Dne,Nne,Pne])}function Z2(){return Hwt(),Cst(Hx(iae,1),OXt,394,0,[Zre,Vre,Qre,Jre])}function Q2(){return zwt(),Cst(Hx(Gre,1),OXt,323,0,[$re,jre,Fre,zre])}function J2(){return Ist(),Cst(Hx(dse,1),OXt,405,0,[Zoe,tse,Qoe,Joe])}function t3(){return Ast(),Cst(Hx(pue,1),OXt,360,0,[rue,nue,iue,eue])}function e3(t,e,n,i){return iD(n,54)?new AP(t,e,n,i):new sq(t,e,n,i)}function n3(){return Mst(),Cst(Hx(Sue,1),OXt,411,0,[bue,wue,yue,mue])}function i3(t){return t.j==(vKt(),EMe)&&EN(qIt(t),oMe)}function r3(t,e){var n;EJ(n=e.a,e.c.d),_J(n,e.d.d),Qet(n.a,t.n);}function a3(t,e){return $z(IN(Sq($z(c6(t.k,e),15).Oc(),Wue)),113)}function o3(t,e){return $z(IN(Aq($z(c6(t.k,e),15).Oc(),Wue)),113)}function s3(t){return new f1(tat($z(t.a.dd(),14).gc(),t.a.cd()),16)}function c3(t){return iD(t,14)?$z(t,14).dc():!t.Kc().Ob()}function u3(t){return _T(),iD(t.g,145)?$z(t.g,145):null}function l3(t){if(t.e.g!=t.b)throw Fw(new by);return !!t.c&&t.d>0}function h3(t){return TP(t.b!=t.d.c),t.c=t.b,t.b=t.b.a,++t.a,t.c.c}function f3(t,e){mW(e),IY(t.a,t.c,e),t.c=t.c+1&t.a.length-1,dvt(t);}function d3(t,e){mW(e),t.b=t.b-1&t.a.length-1,IY(t.a,t.b,e),dvt(t);}function g3(t,e){var n;for(n=t.j.c.length;n0&&aHt(t.g,0,e,0,t.i),e}function D3(t,e){var n;return QT(),!(n=$z(PY(bOe,t),55))||n.wj(e)}function N3(t){if(1!=t.p)throw Fw(new dy);return dG(t.f)<<24>>24}function P3(t){if(1!=t.p)throw Fw(new dy);return dG(t.k)<<24>>24}function B3(t){if(7!=t.p)throw Fw(new dy);return dG(t.k)<<16>>16}function R3(t){if(7!=t.p)throw Fw(new dy);return dG(t.f)<<16>>16}function j3(t){var e;for(e=0;t.Ob();)t.Pb(),e=idt(e,1);return Jtt(e)}function $3(t,e){var n;return n=new Sx,t.xd(n),n.a+="..",e.yd(n),n.a}function F3(t,e,n){var i;i=$z(PY(t.g,n),57),Kz(t.a.c,new nM(e,i));}function z3(t,e,n){return kq(_B(zM(MZ(t.f,e))),_B(zM(MZ(t.f,n))))}function H3(t,e,n){return qFt(t,e,n,iD(e,99)&&!!($z(e,18).Bb&FVt))}function U3(t,e,n){return bzt(t,e,n,iD(e,99)&&!!($z(e,18).Bb&FVt))}function G3(t,e,n){return NLt(t,e,n,iD(e,99)&&!!($z(e,18).Bb&FVt))}function q3(t,e){return t==(oCt(),Cse)&&e==Cse?4:t==Cse||e==Cse?8:32}function K3(t,e){return HM(e)===HM(t)?"(this Map)":null==e?GWt:Fdt(e)}function Y3(t,e){return $z(null==e?zM(MZ(t.f,null)):cC(t.g,e),281)}function W3(t,e,n){var i;return i=Xpt(n),YW(t.b,i,e),YW(t.c,e,n),e}function X3(t,e){var n;for(n=e;n;)RP(t,n.i,n.j),n=VQ(n);return t}function V3(t,e){var n;return n=nZ(Fz(new C9(t,e))),CU(new C9(t,e)),n}function Z3(t,e){var n;return ZT(),_Ct(n=$z(t,66).Mj(),e),n.Ok(e)}function Q3(t,e,n,i,r){Kz(e,yAt(r,KLt(r,n,i))),qTt(t,r,e);}function J3(t,e,n){t.i=0,t.e=0,e!=n&&(Yct(t,e,n),Kct(t,e,n));}function t4(t,e){var n;n=t.q.getHours(),t.q.setFullYear(e+cVt),hzt(t,n);}function e4(t,e,n){if(n){var i=n.ee();t.a[e]=i(n);}else delete t.a[e];}function n4(t,e,n){if(n){var i=n.ee();n=i(n);}else n=void 0;t.a[e]=n;}function i4(t){if(t<0)throw Fw(new $v("Negative array size: "+t))}function r4(t){return t.n||(T5(t),t.n=new XG(t,KOe,t),mZ(t)),t.n}function a4(t){return TP(t.a=0&&t.a[n]===e[n];n--);return n<0}function k4(t,e){var n;return Gut(),0!=(n=t.j.g-e.j.g)?n:0}function _4(t,e){return mW(e),null!=t.a?TG(e.Kb(t.a)):Ene}function E4(t){var e;return t?new OU(t):(Hrt(e=new uO,t),e)}function T4(t,e){return e.b.Kb(k9(t,e.c.Ee(),new yg(e)))}function C4(t){mEt(),cD(this,dG(t0(mq(t,24),cZt)),dG(t0(t,cZt)));}function S4(){S4=I,pie=hlt((uwt(),Cst(Hx(yie,1),OXt,428,0,[die,fie])));}function A4(){A4=I,mie=hlt((Ptt(),Cst(Hx(Bie,1),OXt,427,0,[bie,wie])));}function M4(){M4=I,Rae=hlt((Btt(),Cst(Hx(Ioe,1),OXt,424,0,[Nae,Pae])));}function I4(){I4=I,Use=hlt((Trt(),Cst(Hx(Kse,1),OXt,511,0,[zse,Fse])));}function O4(){O4=I,Sle=hlt((Rtt(),Cst(Hx(Ole,1),OXt,419,0,[Ele,Tle])));}function L4(){L4=I,Gle=hlt((g9(),Cst(Hx(Zle,1),OXt,479,0,[Hle,zle])));}function D4(){D4=I,Jye=hlt((M6(),Cst(Hx(ime,1),OXt,376,0,[Zye,Vye])));}function N4(){N4=I,$ye=hlt((G9(),Cst(Hx(Uye,1),OXt,421,0,[Bye,Rye])));}function P4(){P4=I,ole=hlt((Y8(),Cst(Hx(lle,1),OXt,422,0,[ile,rle])));}function B4(){B4=I,Lhe=hlt((U2(),Cst(Hx(Hfe,1),OXt,420,0,[Mhe,Ihe])));}function R4(){R4=I,Tve=hlt((A6(),Cst(Hx(Dve,1),OXt,520,0,[_ve,kve])));}function j4(){j4=I,Hme=hlt((W4(),Cst(Hx(Yme,1),OXt,523,0,[Fme,$me])));}function $4(){$4=I,eve=hlt((gQ(),Cst(Hx(rve,1),OXt,516,0,[Jme,Qme])));}function F4(){F4=I,ave=hlt((oJ(),Cst(Hx(Eve,1),OXt,515,0,[nve,ive])));}function z4(){z4=I,Nve=hlt((dQ(),Cst(Hx($ve,1),OXt,455,0,[Ove,Lve])));}function H4(){H4=I,Hxe=hlt(($0(),Cst(Hx(Vxe,1),OXt,425,0,[Fxe,$xe])));}function U4(){U4=I,Zxe=hlt((Crt(),Cst(Hx(eke,1),OXt,495,0,[Wxe,Xxe])));}function G4(){G4=I,jxe=hlt((sJ(),Cst(Hx(zxe,1),OXt,480,0,[Pxe,Bxe])));}function q4(){q4=I,oke=hlt((N7(),Cst(Hx(lke,1),OXt,426,0,[ike,rke])));}function K4(){K4=I,WEe=hlt((Lst(),Cst(Hx(XEe,1),OXt,429,0,[KEe,qEe])));}function Y4(){Y4=I,tEe=hlt((I6(),Cst(Hx(oEe,1),OXt,430,0,[Q_e,Z_e])));}function W4(){W4=I,Fme=new VS("UPPER",0),$me=new VS("LOWER",1);}function X4(t,e){var n;zV(n=new pv,"x",e.a),zV(n,"y",e.b),QY(t,n);}function V4(t,e){var n;zV(n=new pv,"x",e.a),zV(n,"y",e.b),QY(t,n);}function Z4(t,e){var n,i;i=!1;do{i|=n=fct(t,e);}while(n);return i}function Q4(t,e){var n,i;for(n=e,i=0;n>0;)i+=t.a[n],n-=n&-n;return i}function J4(t,e){var n;for(n=e;n;)RP(t,-n.i,-n.j),n=VQ(n);return t}function t5(t,e){var n,i;for(mW(e),i=t.Kc();i.Ob();)n=i.Pb(),e.td(n);}function e5(t,e){var n;return new bE(n=e.cd(),t.e.pc(n,$z(e.dd(),14)))}function n5(t,e,n,i){var r;(r=new L).c=e,r.b=n,r.a=i,i.b=n.a=r,++t.b;}function i5(t,e,n){var i;return l1(e,t.c.length),i=t.c[e],t.c[e]=n,i}function r5(t,e,n){return $z(null==e?xAt(t.f,null,n):odt(t.g,e,n),281)}function a5(t){return t.c&&t.d?p0(t.c)+"->"+p0(t.d):"e_"+TN(t)}function o5(t,e){return (Xft(t),v_(new PU(t,new W7(e,t.a)))).sd(Jne)}function s5(){return mTt(),Cst(Hx(Goe,1),OXt,356,0,[Poe,Boe,Roe,joe,$oe])}function c5(){return vKt(),Cst(Hx(jMe,1),VJt,61,0,[TMe,sMe,oMe,EMe,CMe])}function u5(t){return Nx(),function(){return R2(t,this,arguments)}}function l5(){return Date.now?Date.now():(new Date).getTime()}function h5(t){return !(!t.c||!t.d||!t.c.i||t.c.i!=t.d.i)}function f5(t){if(!t.c.Sb())throw Fw(new yy);return t.a=!0,t.c.Ub()}function d5(t){t.i=0,yC(t.b,null),yC(t.c,null),t.a=null,t.e=null,++t.g;}function g5(t){dC.call(this,null==t?GWt:Fdt(t),iD(t,78)?$z(t,78):null);}function p5(t){eWt(),$w(this),this.a=new XE,gut(this,t),NH(this.a,t);}function b5(){DO(this),this.b=new DA(BVt,BVt),this.a=new DA(RVt,RVt);}function w5(t,e){this.c=0,this.b=e,pI.call(this,t,17493),this.a=this.c;}function y5(t){m5(),Wne||(this.c=t,this.e=!0,this.a=new Lw);}function m5(){m5=I,Wne=!0,Kne=!1,Yne=!1,Vne=!1,Xne=!1;}function v5(t,e){return !!iD(e,149)&&wj(t.c,$z(e,149).c)}function x5(t,e){var n;return n=0,t&&(n+=t.f.a/2),e&&(n+=e.f.a/2),n}function k5(t,e){return $z(ltt(t.d,e),23)||$z(ltt(t.e,e),23)}function _5(t){this.b=t,MD.call(this,t),this.a=$z(mot(this.b.a,4),126);}function E5(t){this.b=t,rP.call(this,t),this.a=$z(mot(this.b.a,4),126);}function T5(t){return t.t||(t.t=new dw(t),cft(new Dv(t),0,t.t)),t.t}function C5(){return $ht(),Cst(Hx(KSe,1),OXt,103,0,[$Se,jSe,RSe,BSe,FSe])}function S5(){return rwt(),Cst(Hx(VAe,1),OXt,249,0,[$Ae,zAe,RAe,jAe,FAe])}function A5(){return iwt(),Cst(Hx(vTe,1),OXt,175,0,[cTe,sTe,aTe,uTe,oTe])}function M5(){return OCt(),Cst(Hx(UEe,1),OXt,316,0,[eEe,nEe,aEe,iEe,rEe])}function I5(){return Dyt(),Cst(Hx(Mye,1),OXt,315,0,[yye,pye,bye,gye,wye])}function O5(){return Wyt(),Cst(Hx(Cle,1),OXt,335,0,[yle,wle,vle,xle,mle])}function L5(){return VDt(),Cst(Hx(U_e,1),OXt,355,0,[N_e,D_e,B_e,P_e,R_e])}function D5(){return L_t(),Cst(Hx(Bue,1),OXt,363,0,[_ue,Tue,Cue,Eue,kue])}function N5(){return _dt(),Cst(Hx(eye,1),OXt,163,0,[zfe,Rfe,jfe,$fe,Ffe])}function P5(){var t,e;P5=I,e_(),e=new xy,QLe=e,t=new Am,JLe=t;}function B5(t){var e;return t.c||iD(e=t.r,88)&&(t.c=$z(e,26)),t.c}function R5(t){return t.e=3,t.d=t.Yb(),2!=t.e&&(t.e=0,!0)}function j5(t){return _L(t&TVt,t>>22&TVt,t<0?CVt:0)}function $5(t){var e,n,i;for(n=0,i=(e=t).length;n0?kpt(t,e):APt(t,-e)}function U5(t,e){return 0==e||0==t.e?t:e>0?APt(t,e):kpt(t,-e)}function G5(t){if(gOt(t))return t.c=t.a,t.a.Pb();throw Fw(new yy)}function q5(t){var e,n;return e=t.c.i,n=t.d.i,e.k==(oCt(),_se)&&n.k==_se}function K5(t){var e;return Hot(e=new fZ,t),uct(e,(zYt(),bbe),null),e}function Y5(t,e,n){var i;return (i=t.Yg(e))>=0?t._g(i,n,!0):rIt(t,e,n)}function W5(t,e,n,i){var r;for(r=0;re)throw Fw(new Mv(gAt(t,e,"index")));return t}function d6(t,e,n,i){var r;return wEt(r=D8(ANe,uVt,25,e,15,1),t,e,n,i),r}function g6(t,e){var n;n=t.q.getHours()+(e/60|0),t.q.setMinutes(e),hzt(t,n);}function p6(t,n){return e.Math.min(K8(n.a,t.d.d.c),K8(n.b,t.d.d.c))}function b6(t,e){return qM(e)?null==e?pOt(t.f,null):Uot(t.g,e):pOt(t.f,e)}function w6(t){this.c=t,this.a=new Kd(this.c.a),this.b=new Kd(this.c.b);}function y6(){this.e=new Lw,this.c=new Lw,this.d=new Lw,this.b=new Lw;}function m6(){this.g=new $y,this.b=new $y,this.a=new Lw,this.k=new Lw;}function v6(t,e,n){this.a=t,this.c=e,this.d=n,Kz(e.e,this),Kz(n.b,this);}function x6(t,e){gI.call(this,e.rd(),-6&e.qd()),mW(t),this.a=t,this.b=e;}function k6(t,e){pI.call(this,e.rd(),-6&e.qd()),mW(t),this.a=t,this.b=e;}function _6(t,e){bI.call(this,e.rd(),-6&e.qd()),mW(t),this.a=t,this.b=e;}function E6(t,e,n){this.a=t,this.b=e,this.c=n,Kz(t.t,this),Kz(e.i,this);}function T6(){this.b=new XE,this.a=new XE,this.b=new XE,this.a=new XE;}function C6(){C6=I,kTe=new aw("org.eclipse.elk.labels.labelManager");}function S6(){S6=I,tue=new eR("separateLayerConnections",(Ast(),rue));}function A6(){A6=I,_ve=new aA("REGULAR",0),kve=new aA("CRITICAL",1);}function M6(){M6=I,Zye=new qS("STACKED",0),Vye=new qS("SEQUENCED",1);}function I6(){I6=I,Q_e=new kA("FIXED",0),Z_e=new kA("CENTER_NODE",1);}function O6(t,e){var n;return n=NGt(t,e),t.b=new yrt(n.c.length),mUt(t,n)}function L6(t,e,n){return ++t.e,--t.f,$z(t.d[e].$c(n),133).dd()}function D6(t){var e;return t.a||iD(e=t.r,148)&&(t.a=$z(e,148)),t.a}function N6(t){return t.a?t.e?N6(t.e):null:t}function P6(t,e){return t.pe.p?-1:0}function B6(t,e){return mW(e),t.c=0,"Initial capacity must not be negative");}function Z6(){Z6=I,Kie=hlt((Pet(),Cst(Hx(Yie,1),OXt,232,0,[Hie,Uie,Gie])));}function Q6(){Q6=I,Jie=hlt((V7(),Cst(Hx(tre,1),OXt,461,0,[Xie,Wie,Vie])));}function J6(){J6=I,are=hlt((H9(),Cst(Hx(Are,1),OXt,462,0,[ire,nre,ere])));}function t8(){t8=I,Zne=hlt((Hut(),Cst(Hx(Qne,1),OXt,132,0,[Une,Gne,qne])));}function e8(){e8=I,Ooe=hlt((z9(),Cst(Hx(Foe,1),OXt,379,0,[Aoe,Soe,Moe])));}function n8(){n8=I,gse=hlt((Fht(),Cst(Hx(wse,1),OXt,423,0,[fse,hse,lse])));}function i8(){i8=I,hle=hlt((Mit(),Cst(Hx(ple,1),OXt,314,0,[cle,sle,ule])));}function r8(){r8=I,ble=hlt((oit(),Cst(Hx(kle,1),OXt,337,0,[fle,gle,dle])));}function a8(){a8=I,Lle=hlt((Zst(),Cst(Hx($le,1),OXt,450,0,[Mle,Ale,Ile])));}function o8(){o8=I,Rue=hlt((Srt(),Cst(Hx(Kue,1),OXt,361,0,[Pue,Nue,Due])));}function s8(){s8=I,Ahe=hlt((U9(),Cst(Hx(Ohe,1),OXt,303,0,[The,Che,Ehe])));}function c8(){c8=I,_he=hlt((Rot(),Cst(Hx(She,1),OXt,292,0,[vhe,xhe,mhe])));}function u8(){u8=I,sye=hlt((Elt(),Cst(Hx(fye,1),OXt,378,0,[iye,rye,aye])));}function l8(){l8=I,Xye=hlt((zat(),Cst(Hx(Qye,1),OXt,375,0,[qye,Kye,Yye])));}function h8(){h8=I,Pye=hlt((yct(),Cst(Hx(jye,1),OXt,339,0,[Lye,Oye,Dye])));}function f8(){f8=I,Gye=hlt((ait(),Cst(Hx(Wye,1),OXt,452,0,[Hye,Fye,zye])));}function d8(){d8=I,gme=hlt((Ost(),Cst(Hx(Eme,1),OXt,377,0,[hme,fme,lme])));}function g8(){g8=I,rme=hlt((qut(),Cst(Hx(cme,1),OXt,336,0,[tme,eme,nme])));}function p8(){p8=I,ume=hlt((gat(),Cst(Hx(dme,1),OXt,338,0,[sme,ame,ome])));}function b8(){b8=I,Lme=hlt((sit(),Cst(Hx(Dme,1),OXt,454,0,[Ame,Mme,Ime])));}function w8(){w8=I,nke=hlt((Sdt(),Cst(Hx(ake,1),OXt,442,0,[tke,Qxe,Jxe])));}function y8(){y8=I,hke=hlt((zut(),Cst(Hx(Hke,1),OXt,380,0,[ske,cke,uke])));}function m8(){m8=I,t_e=hlt((Tdt(),Cst(Hx(L_e,1),OXt,381,0,[Zke,Qke,Vke])));}function v8(){v8=I,Wke=hlt((Fat(),Cst(Hx(Xke,1),OXt,293,0,[qke,Kke,Gke])));}function x8(){x8=I,G_e=hlt((Cdt(),Cst(Hx(K_e,1),OXt,437,0,[F_e,z_e,H_e])));}function k8(){k8=I,mAe=hlt((oht(),Cst(Hx(EAe,1),OXt,334,0,[bAe,pAe,wAe])));}function _8(){_8=I,YSe=hlt((Bet(),Cst(Hx(QSe,1),OXt,272,0,[USe,GSe,qSe])));}function E8(){return X_t(),Cst(Hx(rMe,1),OXt,98,0,[XAe,WAe,YAe,GAe,KAe,qAe])}function T8(t,e){return !t.o&&(t.o=new y7((SYt(),_Ie),eOe,t,0)),ipt(t.o,e)}function C8(t){return !t.g&&(t.g=new uc),!t.g.d&&(t.g.d=new lw(t)),t.g.d}function S8(t){return !t.g&&(t.g=new uc),!t.g.a&&(t.g.a=new hw(t)),t.g.a}function A8(t){return !t.g&&(t.g=new uc),!t.g.b&&(t.g.b=new uw(t)),t.g.b}function M8(t){return !t.g&&(t.g=new uc),!t.g.c&&(t.g.c=new fw(t)),t.g.c}function I8(t,e,n){var i,r;for(r=new Iot(e,t),i=0;in||e=0?t._g(n,!0,!0):rIt(t,e,!0)}function T7(t,e){return Cft(Hv(_B(yTt(t,(uWt(),kfe)))),Hv(_B(yTt(e,kfe))))}function C7(){C7=I,Gxe=sbt(sbt(jT(new $2,(Gvt(),Bve)),(PSt(),Wve)),Gve);}function S7(t,e,n){var i;return i=Dct(t,e,n),t.b=new yrt(i.c.length),cBt(t,i)}function A7(t){if(t.b<=0)throw Fw(new yy);return --t.b,t.a-=t.c.c,nft(t.a)}function M7(t){var e;if(!t.a)throw Fw(new lX);return e=t.a,t.a=VQ(t.a),e}function I7(t){for(;!t.a;)if(!kj(t.c,new pg(t)))return !1;return !0}function O7(t){return yY(t),iD(t,198)?$z(t,198):new of(t)}function L7(t){D7(),$z(t.We((cWt(),uSe)),174).Fc((hMt(),eMe)),t.Ye(cSe,null);}function D7(){D7=I,JEe=new gs,eTe=new ps,tTe=wut((cWt(),cSe),JEe,zCe,eTe);}function N7(){N7=I,ike=new pA("LEAF_NUMBER",0),rke=new pA("NODE_SIZE",1);}function P7(t,e,n){t.a=e,t.c=n,t.b.a.$b(),yV(t.d),t.e.a.c=D8(Ite,zWt,1,0,5,1);}function B7(t){t.a=D8(ANe,uVt,25,t.b+1,15,1),t.c=D8(ANe,uVt,25,t.b,15,1),t.d=0;}function R7(t,e){t.a.ue(e.d,t.b)>0&&(Kz(t.c,new wH(e.c,e.d,t.d)),t.b=e.d);}function j7(t,e){if(null==t.g||e>=t.i)throw Fw(new OI(e,t.i));return t.g[e]}function $7(t,e,n){if(Nut(t,n),null!=n&&!t.wj(n))throw Fw(new ly);return n}function F7(t){var e;if(t.Ek())for(e=t.i-1;e>=0;--e)Yet(t,e);return L3(t)}function z7(t){var e,n;if(!t.b)return null;for(n=t.b;e=n.a[0];)n=e;return n}function H7(t,e){var n;return i4(e),(n=w9(t.slice(0,e),t)).length=e,n}function U7(t,e,n,i){TV(),i=i||fne,pAt(t.slice(e,n),t,e,n,-e,i);}function G7(t,e,n,i,r){return e<0?rIt(t,n,i):$z(n,66).Nj().Pj(t,t.yh(),e,i,r)}function q7(t){return iD(t,172)?""+$z(t,172).a:null==t?null:Fdt(t)}function K7(t){return iD(t,172)?""+$z(t,172).a:null==t?null:Fdt(t)}function Y7(t,e){if(e.a)throw Fw(new dv(AZt));kK(t.a,e),e.a=t,!t.j&&(t.j=e);}function W7(t,e){bI.call(this,e.rd(),-16449&e.qd()),mW(t),this.a=t,this.c=e;}function X7(t,e){var n,i;return i=e/t.c.Hd().gc()|0,n=e%t.c.Hd().gc(),G6(t,i,n)}function V7(){V7=I,Xie=new HC(rQt,0),Wie=new HC(eQt,1),Vie=new HC(aQt,2);}function Z7(){Z7=I,Lne=new gC("All",0),Dne=new OO,Nne=new ML,Pne=new LO;}function Q7(){Q7=I,Rne=hlt((Z7(),Cst(Hx(jne,1),OXt,297,0,[Lne,Dne,Nne,Pne])));}function J7(){J7=I,nse=hlt((Ist(),Cst(Hx(dse,1),OXt,405,0,[Zoe,tse,Qoe,Joe])));}function t9(){t9=I,Rre=hlt((Pot(),Cst(Hx(Hre,1),OXt,406,0,[Pre,Lre,Dre,Nre])));}function e9(){e9=I,Ure=hlt((zwt(),Cst(Hx(Gre,1),OXt,323,0,[$re,jre,Fre,zre])));}function n9(){n9=I,eae=hlt((Hwt(),Cst(Hx(iae,1),OXt,394,0,[Zre,Vre,Qre,Jre])));}function i9(){i9=I,Fve=hlt((Gvt(),Cst(Hx(zve,1),OXt,393,0,[Pve,Bve,Rve,jve])));}function r9(){r9=I,oue=hlt((Ast(),Cst(Hx(pue,1),OXt,360,0,[rue,nue,iue,eue])));}function a9(){a9=I,Uke=hlt((Mmt(),Cst(Hx(Yke,1),OXt,340,0,[zke,$ke,Fke,jke])));}function o9(){o9=I,xue=hlt((Mst(),Cst(Hx(Sue,1),OXt,411,0,[bue,wue,yue,mue])));}function s9(){s9=I,dye=hlt((fyt(),Cst(Hx(mye,1),OXt,197,0,[lye,hye,uye,cye])));}function c9(){c9=I,uIe=hlt((Fut(),Cst(Hx(fIe,1),OXt,396,0,[aIe,oIe,rIe,sIe])));}function u9(){u9=I,TAe=hlt((Kvt(),Cst(Hx(PAe,1),OXt,285,0,[_Ae,vAe,xAe,kAe])));}function l9(){l9=I,JSe=hlt((Edt(),Cst(Hx(oAe,1),OXt,218,0,[ZSe,XSe,WSe,VSe])));}function h9(){h9=I,nIe=hlt(($gt(),Cst(Hx(iIe,1),OXt,311,0,[tIe,ZMe,JMe,QMe])));}function f9(){f9=I,$Me=hlt((ypt(),Cst(Hx(XMe,1),OXt,374,0,[BMe,RMe,PMe,NMe])));}function d9(){d9=I,Hzt(),$De=BVt,jDe=RVt,zDe=new Ld(BVt),FDe=new Ld(RVt);}function g9(){g9=I,Hle=new AS(XJt,0),zle=new AS("IMPROVE_STRAIGHTNESS",1);}function p9(t,e){return cH(),Kz(t,new nM(e,nft(e.e.c.length+e.g.c.length)))}function b9(t,e){return cH(),Kz(t,new nM(e,nft(e.e.c.length+e.g.c.length)))}function w9(t,e){return 10!=btt(e)&&Cst(tut(e),e.hm,e.__elementTypeId$,btt(e),t),t}function y9(t,e){var n;return -1!=(n=x9(t,e,0))&&(s6(t,n),!0)}function m9(t,e){var n;return (n=$z(b6(t.e,e),387))?(PH(n),n.e):null}function v9(t){var e;return VI(t)&&(e=0-t,!isNaN(e))?e:oot(act(t))}function x9(t,e,n){for(;n=0?Qwt(t,n,!0,!0):rIt(t,e,!0)}function Z9(t,e){var n,i;return _T(),n=u3(t),i=u3(e),!!n&&!!i&&!Rwt(n.k,i.k)}function Q9(t,e){Cnt(t,null==e||Kj((mW(e),e))||isNaN((mW(e),e))?0:(mW(e),e));}function J9(t,e){Snt(t,null==e||Kj((mW(e),e))||isNaN((mW(e),e))?0:(mW(e),e));}function ttt(t,e){Tnt(t,null==e||Kj((mW(e),e))||isNaN((mW(e),e))?0:(mW(e),e));}function ett(t,e){Ent(t,null==e||Kj((mW(e),e))||isNaN((mW(e),e))?0:(mW(e),e));}function ntt(t){(this.q?this.q:(EV(),EV(),une)).Ac(t.q?t.q:(EV(),EV(),une));}function itt(t,e){return iD(e,99)&&$z(e,18).Bb&FVt?new DI(e,t):new Iot(e,t)}function rtt(t,e){return iD(e,99)&&$z(e,18).Bb&FVt?new DI(e,t):new Iot(e,t)}function att(t,e){Yre=new ne,tae=e,$z((Kre=t).b,65),B8(Kre,Yre,null),oUt(Kre);}function ott(t,e,n){var i;return i=t.g[e],vD(t,e,t.oi(e,n)),t.gi(e,n,i),t.ci(),i}function stt(t,e){var n;return (n=t.Xc(e))>=0&&(t.$c(n),!0)}function ctt(t){var e;return t.d!=t.r&&(e=Axt(t),t.e=!!e&&e.Cj()==k7t,t.d=e),t.e}function utt(t,e){var n;for(yY(t),yY(e),n=!1;e.Ob();)n|=t.Fc(e.Pb());return n}function ltt(t,e){var n;return (n=$z(PY(t.e,e),387))?(aD(t,n),n.e):null}function htt(t){var e,n;return e=t/60|0,0==(n=t%60)?""+e:e+":"+n}function ftt(t,e){return Xft(t),new PU(t,new Bj(new _6(e,t.a)))}function dtt(t,e){var n=t.a[e],i=(Qst(),lee)[typeof n];return i?i(n):vlt(typeof n)}function gtt(t){switch(t.g){case 0:return PWt;case 1:return -1;default:return 0}}function ptt(t){return Rxt(t,(q9(),pee))<0?-CN(act(t)):t.l+t.m*AVt+t.h*MVt}function btt(t){return null==t.__elementTypeCategory$?10:t.__elementTypeCategory$}function wtt(t){var e;return null!=(e=0==t.b.c.length?null:DU(t.b,0))&&urt(t,0),e}function ytt(t,e){for(;e[0]=0;)++e[0];}function mtt(t,e){this.e=e,this.a=Wot(t),this.a<54?this.f=v2(t):this.c=Jbt(t);}function vtt(t,e,n,i){dWt(),Mw.call(this,26),this.c=t,this.a=e,this.d=n,this.b=i;}function xtt(t,e,n){var i,r;for(i=10,r=0;rt.a[i]&&(i=n);return i}function Ott(t,e){var n;return 0==(n=Adt(t.e.c,e.e.c))?Cft(t.e.d,e.e.d):n}function Ltt(t,e){return 0==e.e||0==t.e?ene:(OIt(),INt(t,e))}function Dtt(t,e){if(!t)throw Fw(new Rv(VNt("Enum constant undefined: %s",e)))}function Ntt(){Ntt=I,ase=new Te,ose=new _e,ise=new Ie,rse=new Oe,sse=new Le;}function Ptt(){Ptt=I,bie=new $C("BY_SIZE",0),wie=new $C("BY_SIZE_AND_SHAPE",1);}function Btt(){Btt=I,Nae=new qC("EADES",0),Pae=new qC("FRUCHTERMAN_REINGOLD",1);}function Rtt(){Rtt=I,Ele=new TS("READING_DIRECTION",0),Tle=new TS("ROTATION",1);}function jtt(){jtt=I,_le=hlt((Wyt(),Cst(Hx(Cle,1),OXt,335,0,[yle,wle,vle,xle,mle])));}function $tt(){$tt=I,vye=hlt((Dyt(),Cst(Hx(Mye,1),OXt,315,0,[yye,pye,bye,gye,wye])));}function Ftt(){Ftt=I,Aue=hlt((L_t(),Cst(Hx(Bue,1),OXt,363,0,[_ue,Tue,Cue,Eue,kue])));}function ztt(){ztt=I,Ufe=hlt((_dt(),Cst(Hx(eye,1),OXt,163,0,[zfe,Rfe,jfe,$fe,Ffe])));}function Htt(){Htt=I,sEe=hlt((OCt(),Cst(Hx(UEe,1),OXt,316,0,[eEe,nEe,aEe,iEe,rEe])));}function Utt(){Utt=I,hTe=hlt((iwt(),Cst(Hx(vTe,1),OXt,175,0,[cTe,sTe,aTe,uTe,oTe])));}function Gtt(){Gtt=I,$_e=hlt((VDt(),Cst(Hx(U_e,1),OXt,355,0,[N_e,D_e,B_e,P_e,R_e])));}function qtt(){qtt=I,zoe=hlt((mTt(),Cst(Hx(Goe,1),OXt,356,0,[Poe,Boe,Roe,joe,$oe])));}function Ktt(){Ktt=I,HSe=hlt(($ht(),Cst(Hx(KSe,1),OXt,103,0,[$Se,jSe,RSe,BSe,FSe])));}function Ytt(){Ytt=I,UAe=hlt((rwt(),Cst(Hx(VAe,1),OXt,249,0,[$Ae,zAe,RAe,jAe,FAe])));}function Wtt(){Wtt=I,AMe=hlt((vKt(),Cst(Hx(jMe,1),VJt,61,0,[TMe,sMe,oMe,EMe,CMe])));}function Xtt(t,e){var n;return (n=$z(PY(t.a,e),134))||(n=new Qt,YW(t.a,e,n)),n}function Vtt(t){var e;return !!(e=$z(yTt(t,(uWt(),Phe)),305))&&e.a==t}function Ztt(t){var e;return !!(e=$z(yTt(t,(uWt(),Phe)),305))&&e.i==t}function Qtt(t,e){return mW(e),Nq(t),!!t.d.Ob()&&(e.td(t.d.Pb()),!0)}function Jtt(t){return Wlt(t,PWt)>0?PWt:Wlt(t,jXt)<0?jXt:dG(t)}function tet(t){return t<3?(hit(t,AXt),t+1):t=0&&e=-.01&&t.a<=lQt&&(t.a=0),t.b>=-.01&&t.b<=lQt&&(t.b=0),t}function ret(t,e){return e==(i$(),i$(),_ne)?t.toLocaleLowerCase():t.toLowerCase()}function aet(t){return (2&t.i?"interface ":1&t.i?"":"class ")+(xB(t),t.o)}function oet(t){var e;e=new Im,u7((!t.q&&(t.q=new tK(YOe,t,11,10)),t.q),e);}function set(t,e){var n;return n=e>0?e-1:e,Ik(Ok($nt(OH(new qm,n),t.n),t.j),t.k)}function cet(t,e,n,i){t.j=-1,HIt(t,kSt(t,e,n),(ZT(),$z(e,66).Mj().Ok(i)));}function uet(t){this.g=t,this.f=new Lw,this.a=e.Math.min(this.g.c.c,this.g.d.c);}function het(t){this.b=new Lw,this.a=new Lw,this.c=new Lw,this.d=new Lw,this.e=t;}function fet(t,e){this.a=new Dw,this.e=new Dw,this.b=(Elt(),aye),this.c=t,this.b=e;}function det(t,e,n){LR.call(this),Net(this),this.a=t,this.c=n,this.b=e.d,this.f=e.e;}function get(t){this.d=t,this.c=t.c.vc().Kc(),this.b=null,this.a=null,this.e=(nv(),Gte);}function pet(t){if(t<0)throw Fw(new Rv("Illegal Capacity: "+t));this.g=this.ri(t);}function bet(t,e){if(0>t||t>e)throw Fw(new kx("fromIndex: 0, toIndex: "+t+uZt+e))}function wet(t){var e;if(t.a==t.b.a)throw Fw(new yy);return e=t.a,t.c=e,t.a=t.a.e,e}function yet(t){var e;_P(!!t.c),e=t.c.a,Iet(t.d,t.c),t.b==t.c?t.b=e:--t.a,t.c=null;}function met(t,e){var n;return Xft(t),n=new bV(t,t.a.rd(),4|t.a.qd(),e),new PU(t,n)}function vet(t,e){var n,i;return (n=$z(hht(t.d,e),14))?(i=e,t.e.pc(i,n)):null}function xet(t,e){var n;for(n=t.Kc();n.Ob();)uct($z(n.Pb(),70),(uWt(),afe),e);}function ket(t){var e;return (e=Hv(_B(yTt(t,(zYt(),rbe)))))<0&&uct(t,rbe,e=0),e}function _et(t,n,i){var r;$xt(i,r=e.Math.max(0,t.b/2-.5),1),Kz(n,new eS(i,r));}function Eet(t,e,n){return CQ(FH(t.a.e[$z(e.a,10).p]-t.a.e[$z(n.a,10).p]))}function Tet(t,e,n,i,r,a){var o;EJ(o=K5(i),r),_J(o,a),ZMt(t.a,i,new O$(o,e,n.f));}function Cet(t,e){var n;if(!(n=DNt(t.Tg(),e)))throw Fw(new Rv(i6t+e+o6t));return n}function Set(t,e){var n;for(n=t;VQ(n);)if((n=VQ(n))==e)return !0;return !1}function Aet(t,e){var n,i,r;for(i=e.a.cd(),n=$z(e.a.dd(),14).gc(),r=0;r0&&(t.a/=n,t.b/=n),t}function qet(t){var e;return t.w?t.w:((e=Y1(t))&&!e.kh()&&(t.w=e),e)}function Ket(t){var e;return null==t?null:WEt(e=$z(t,190),e.length)}function Yet(t,e){if(null==t.g||e>=t.i)throw Fw(new OI(e,t.i));return t.li(e,t.g[e])}function Wet(t){var e,n;for(e=t.a.d.j,n=t.c.d.j;e!=n;)srt(t.b,e),e=Eft(e);srt(t.b,e);}function Xet(t){var e;for(e=0;e=14&&e<=16)),t}function nnt(t,e,n){var i=function(){return t.apply(i,arguments)};return e.apply(i,n),i}function int(t,e,n){var i,r;i=e;do{r=Hv(t.p[i.p])+n,t.p[i.p]=r,i=t.a[i.p];}while(i!=e)}function rnt(t,e){var n,i;i=t.a,n=Xht(t,e,null),i!=e&&!t.e&&(n=aqt(t,e,n)),n&&n.Fi();}function ant(t,n){return cL(),iit(RXt),e.Math.abs(t-n)<=RXt||t==n||isNaN(t)&&isNaN(n)}function ont(t,n){return cL(),iit(RXt),e.Math.abs(t-n)<=RXt||t==n||isNaN(t)&&isNaN(n)}function snt(t,e){return jTt(),xL(t.b.c.length-t.e.c.length,e.b.c.length-e.e.c.length)}function cnt(t,e){return Zk(Zrt(t,e,dG(rdt(TXt,nX(dG(rdt(null==e?0:Jct(e),CXt)),15)))))}function unt(){unt=I,Mse=hlt((oCt(),Cst(Hx(Ise,1),OXt,267,0,[Cse,Tse,_se,Sse,Ese,kse])));}function lnt(){lnt=I,JTe=hlt((d_t(),Cst(Hx(zSe,1),OXt,291,0,[ZTe,VTe,XTe,YTe,KTe,WTe])));}function hnt(){hnt=I,DTe=hlt((dyt(),Cst(Hx(QTe,1),OXt,248,0,[CTe,MTe,ITe,OTe,STe,ATe])));}function fnt(){fnt=I,nle=hlt((OSt(),Cst(Hx(ale,1),OXt,227,0,[Zue,Jue,Vue,Que,tle,Xue])));}function dnt(){dnt=I,ohe=hlt((ZTt(),Cst(Hx(whe,1),OXt,275,0,[ihe,the,rhe,nhe,ehe,Jle])));}function gnt(){gnt=I,Qle=hlt((Fkt(),Cst(Hx(ahe,1),OXt,274,0,[Wle,Yle,Vle,Kle,Xle,qle])));}function pnt(){pnt=I,nye=hlt((_Et(),Cst(Hx(oye,1),OXt,313,0,[Jwe,Zwe,Xwe,Vwe,tye,Qwe])));}function bnt(){bnt=I,Fle=hlt((pCt(),Cst(Hx(Ule,1),OXt,276,0,[Nle,Dle,Ble,Ple,jle,Rle])));}function wnt(){wnt=I,Vve=hlt((PSt(),Cst(Hx(Rxe,1),OXt,327,0,[Wve,Gve,Kve,qve,Yve,Uve])));}function ynt(){ynt=I,aMe=hlt((hMt(),Cst(Hx(SMe,1),OXt,273,0,[nMe,tMe,eMe,JAe,QAe,iMe])));}function mnt(){mnt=I,sAe=hlt((JEt(),Cst(Hx(yAe,1),OXt,312,0,[rAe,nAe,aAe,tAe,iAe,eAe])));}function vnt(){return JOt(),Cst(Hx(HAe,1),OXt,93,0,[SAe,CAe,MAe,NAe,DAe,LAe,IAe,OAe,AAe])}function xnt(t,e){var n;n=t.a,t.a=e,4&t.Db&&!(1&t.Db)&&fot(t,new u4(t,0,n,t.a));}function knt(t,e){var n;n=t.b,t.b=e,4&t.Db&&!(1&t.Db)&&fot(t,new u4(t,1,n,t.b));}function _nt(t,e){var n;n=t.b,t.b=e,4&t.Db&&!(1&t.Db)&&fot(t,new u4(t,3,n,t.b));}function Ent(t,e){var n;n=t.f,t.f=e,4&t.Db&&!(1&t.Db)&&fot(t,new u4(t,3,n,t.f));}function Tnt(t,e){var n;n=t.g,t.g=e,4&t.Db&&!(1&t.Db)&&fot(t,new u4(t,4,n,t.g));}function Cnt(t,e){var n;n=t.i,t.i=e,4&t.Db&&!(1&t.Db)&&fot(t,new u4(t,5,n,t.i));}function Snt(t,e){var n;n=t.j,t.j=e,4&t.Db&&!(1&t.Db)&&fot(t,new u4(t,6,n,t.j));}function Ant(t,e){var n;n=t.j,t.j=e,4&t.Db&&!(1&t.Db)&&fot(t,new u4(t,1,n,t.j));}function Mnt(t,e){var n;n=t.c,t.c=e,4&t.Db&&!(1&t.Db)&&fot(t,new u4(t,4,n,t.c));}function Int(t,e){var n;n=t.k,t.k=e,4&t.Db&&!(1&t.Db)&&fot(t,new u4(t,2,n,t.k));}function Ont(t,e){var n;n=t.d,t.d=e,4&t.Db&&!(1&t.Db)&&fot(t,new l4(t,2,n,t.d));}function Lnt(t,e){var n;n=t.s,t.s=e,4&t.Db&&!(1&t.Db)&&fot(t,new l4(t,4,n,t.s));}function Dnt(t,e){var n;n=t.t,t.t=e,4&t.Db&&!(1&t.Db)&&fot(t,new l4(t,5,n,t.t));}function Nnt(t,e){var n;n=t.F,t.F=e,4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,1,5,n,e));}function Pnt(t,e){var n;return (n=$z(PY((QT(),bOe),t),55))?n.xj(e):D8(Ite,zWt,1,e,5,1)}function Bnt(t,e){var n;return e in t.a&&(n=UQ(t,e).he())?n.a:null}function Rnt(t,e){var n,i;return Jk(),i=new cc,!!e&&ANt(i,e),Nit(n=i,t),n}function jnt(t,e,n){if(Nut(t,n),!t.Bk()&&null!=n&&!t.wj(n))throw Fw(new ly);return n}function $nt(t,e){return t.n=e,t.n?(t.f=new Lw,t.e=new Lw):(t.f=null,t.e=null),t}function Fnt(t,e,n,i,r,a){var o;return Xnt(n,o=wY(t,e)),o.i=r?8:0,o.f=i,o.e=r,o.g=a,o}function znt(t,e,n,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=1,this.c=t,this.a=n;}function Hnt(t,e,n,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=2,this.c=t,this.a=n;}function Unt(t,e,n,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=6,this.c=t,this.a=n;}function Gnt(t,e,n,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=7,this.c=t,this.a=n;}function qnt(t,e,n,i,r){this.d=e,this.j=i,this.e=r,this.o=-1,this.p=4,this.c=t,this.a=n;}function Knt(t,e){var n,i,r,a;for(r=0,a=(i=e).length;r=0),ibt(t.d,t.c)<0&&(t.a=t.a-1&t.d.a.length-1,t.b=t.d.c),t.c=-1;}function nit(t){return t.a<54?t.f<0?-1:t.f>0?1:0:(!t.c&&(t.c=mlt(t.f)),t.c).e}function iit(t){if(!(t>=0))throw Fw(new Rv("tolerance ("+t+") must be >= 0"));return t}function rit(){return iTe||vut(iTe=new MRt,Cst(Hx(Rie,1),zWt,130,0,[new Oh])),iTe}function ait(){ait=I,Hye=new US(uQt,0),Fye=new US("INPUT",1),zye=new US("OUTPUT",2);}function oit(){oit=I,fle=new _S("ARD",0),gle=new _S("MSD",1),dle=new _S("MANUAL",2);}function sit(){sit=I,Ame=new XS("BARYCENTER",0),Mme=new XS(k1t,1),Ime=new XS(_1t,2);}function cit(t,e){var n;if(n=t.gc(),e<0||e>n)throw Fw(new JR(e,n));return new Pj(t,e)}function uit(t,e){var n;return iD(e,42)?t.c.Mc(e):(n=ipt(t,e),Ypt(t,e),n)}function lit(t,e,n){return Alt(t,e),Drt(t,n),Lnt(t,0),Dnt(t,1),Jht(t,!0),Vht(t,!0),t}function hit(t,e){if(t<0)throw Fw(new Rv(e+" cannot be negative but was: "+t));return t}function fit(t,e){var n,i;for(n=0,i=t.gc();n0?$z(DU(n.a,i-1),10):null}function Oit(t,e){var n;n=t.k,t.k=e,4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,1,2,n,t.k));}function Lit(t,e){var n;n=t.f,t.f=e,4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,1,8,n,t.f));}function Dit(t,e){var n;n=t.i,t.i=e,4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,1,7,n,t.i));}function Nit(t,e){var n;n=t.a,t.a=e,4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,1,8,n,t.a));}function Pit(t,e){var n;n=t.b,t.b=e,4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,1,0,n,t.b));}function Bit(t,e){var n;n=t.b,t.b=e,4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,1,0,n,t.b));}function Rit(t,e){var n;n=t.c,t.c=e,4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,1,1,n,t.c));}function jit(t,e){var n;n=t.c,t.c=e,4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,1,1,n,t.c));}function $it(t,e){var n;n=t.c,t.c=e,4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,1,4,n,t.c));}function Fit(t,e){var n;n=t.d,t.d=e,4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,1,1,n,t.d));}function zit(t,e){var n;n=t.D,t.D=e,4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,1,2,n,t.D));}function Hit(t,e){t.r>0&&t.c0&&0!=t.g&&Hit(t.i,e/t.r*t.i.d));}function Uit(t,e,n){var i;t.b=e,t.a=n,i=512&~t.a?new Bl:new jm,t.c=EBt(i,t.b,t.a);}function Git(t,e){return OPt(t.e,e)?(ZT(),ctt(e)?new lU(e,t):new DM(e,t)):new BM(e,t)}function qit(t,e){return Vk(Qrt(t.a,e,dG(rdt(TXt,nX(dG(rdt(null==e?0:Jct(e),CXt)),15)))))}function Kit(t,e,n){return D9(t,new ug(e),new ot,new lg(n),Cst(Hx(Qne,1),OXt,132,0,[]))}function Yit(t){return 0>t?new YE:new IB(null,new w5(t+1,t))}function Wit(t,e){var n;return EV(),n=new qE(1),qM(t)?wJ(n,t,e):xAt(n.f,t,e),new qd(n)}function Xit(t,e){var n,i;return (n=t.o+t.p)<(i=e.o+e.p)?-1:n==i?0:1}function Vit(t){var e;return iD(e=yTt(t,(uWt(),dfe)),160)?ygt($z(e,160)):null}function Zit(t){var n;return (t=e.Math.max(t,2))>(n=vct(t))?(n<<=1)>0?n:MXt:n}function Qit(t){switch(aN(3!=t.e),t.e){case 2:return !1;case 0:return !0}return R5(t)}function Jit(t,e){var n;return !!iD(e,8)&&(n=$z(e,8),t.a==n.a&&t.b==n.b)}function trt(t,e,n){var i,r;return r=e>>5,i=31&e,t0(vq(t.n[n][r],dG(yq(i,1))),3)}function ert(t,e){var n,i;for(i=e.vc().Kc();i.Ob();)wkt(t,(n=$z(i.Pb(),42)).cd(),n.dd());}function nrt(t,e){var n;n=new ne,$z(e.b,65),$z(e.b,65),$z(e.b,65),Met(e.a,new kz(t,n,e));}function irt(t,e){var n;n=t.b,t.b=e,4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,1,21,n,t.b));}function rrt(t,e){var n;n=t.d,t.d=e,4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,1,11,n,t.d));}function art(t,e){var n;n=t.j,t.j=e,4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,1,13,n,t.j));}function ort(t,e,n){var i,r,a;for(a=t.a.length-1,r=t.b,i=0;i>>31;0!=i&&(t[n]=i);}function tat(t,e){var n,i;for(EV(),i=new Lw,n=0;n0&&(this.g=this.ri(this.i+(this.i/8|0)+1),t.Qc(this.g));}function kat(t,e){_H.call(this,qLe,t,e),this.b=this,this.a=aPt(t.Tg(),eet(this.e.Tg(),this.c));}function _at(t,e){var n,i;for(mW(e),i=e.vc().Kc();i.Ob();)n=$z(i.Pb(),42),t.zc(n.cd(),n.dd());}function Eat(t,e,n){var i;for(i=n.Kc();i.Ob();)if(!H3(t,e,i.Pb()))return !1;return !0}function Tat(t,e,n,i,r){var a;return n&&(a=Igt(e.Tg(),t.c),r=n.gh(e,-1-(-1==a?i:a),null,r)),r}function Cat(t,e,n,i,r){var a;return n&&(a=Igt(e.Tg(),t.c),r=n.ih(e,-1-(-1==a?i:a),null,r)),r}function Sat(t){var e;if(-2==t.b){if(0==t.e)e=-1;else for(e=0;0==t.a[e];e++);t.b=e;}return t.b}function Aat(t){switch(t.g){case 2:return vKt(),CMe;case 4:return vKt(),oMe;default:return t}}function Mat(t){switch(t.g){case 1:return vKt(),EMe;case 3:return vKt(),sMe;default:return t}}function Iat(t){var e,n,i;return t.j==(vKt(),sMe)&&(n=EN(e=qIt(t),oMe),(i=EN(e,CMe))||i&&n)}function Oat(t){var e;return new Xj(e=$z(t.e&&t.e(),9),$z(YK(e,e.length),9),e.length)}function Lat(t,e){MEt(e,v1t,1),tgt(sT(new Tg((gT(),new FX(t,!1,!1,new $e))))),zCt(e);}function Dat(t,e){return cN(),qM(t)?u6(t,EB(e)):GM(t)?kq(t,_B(e)):UM(t)?xq(t,kB(e)):t.wd(e)}function Nat(t,n){n.q=t,t.d=e.Math.max(t.d,n.r),t.b+=n.d+(0==t.a.c.length?0:t.c),Kz(t.a,n);}function Pat(t,e){var n,i,r,a;return r=t.c,n=t.c+t.b,a=t.d,i=t.d+t.a,e.a>r&&e.aa&&e.b1||t.Ob())return ++t.a,t.g=0,e=t.i,t.Ob(),e;throw Fw(new yy)}function Tot(t){var e;return rL(),aC(sve,t)||((e=new so).a=t,fR(sve,t,e)),$z(oX(sve,t),635)}function Cot(t){var e,n,i;return n=0,(i=t)<0&&(i+=MVt,n=CVt),e=CQ(i/AVt),_L(CQ(i-e*AVt),e,n)}function Sot(t){var e,n,i;for(i=0,n=new WE(t.a);n.a>22),r=t.h+e.h+(i>>22),_L(n&TVt,i&TVt,r&CVt)}function ust(t,e){var n,i,r;return n=t.l-e.l,i=t.m-e.m+(n>>22),r=t.h-e.h+(i>>22),_L(n&TVt,i&TVt,r&CVt)}function lst(t){var e;return t<128?(!(e=(_U(),Eee)[t])&&(e=Eee[t]=new Od(t)),e):new Od(t)}function hst(t){var e;return iD(t,78)?t:((e=t&&t.__java$exception)||oy(e=new xlt(t)),e)}function fst(t){if(iD(t,186))return $z(t,118);if(t)return null;throw Fw(new Fv(e8t))}function dst(t,e){if(null==e)return !1;for(;t.a!=t.b;)if(Dht(e,jlt(t)))return !0;return !1}function gst(t){return !!t.a.Ob()||t.a==t.d&&(t.a=new E2(t.e.f),t.a.Ob())}function pst(t,e){var n;return 0!=(n=e.Pc()).length&&(Jz(t.c,t.c.length,n),!0)}function bst(t,e,n){var i,r;for(r=e.vc().Kc();r.Ob();)i=$z(r.Pb(),42),t.yc(i.cd(),i.dd(),n);return t}function wst(t,e){var n;for(n=new Kd(t.b);n.a=0,"Negative initial capacity"),bH(e>=0,"Non-positive load factor"),IK(this);}function tct(t,e,n){return !(t>=128)&&VM(t<64?t0(yq(1,t),n):t0(yq(1,t-64),e),0)}function ect(t,e){return !(!t||!e||t==e)&&Adt(t.b.c,e.b.c+e.b.b)<0&&Adt(e.b.c,t.b.c+t.b.b)<0}function nct(t){var e,n,i;return n=t.n,i=t.o,e=t.d,new GX(n.a-e.b,n.b-e.d,i.a+(e.b+e.c),i.b+(e.d+e.a))}function ict(t){var e,n,i,r;for(i=0,r=(n=t.a).length;i(i=t.gc()))throw Fw(new JR(e,i));return t.hi()&&(n=QQ(t,n)),t.Vh(e,n)}function cct(t,e,n){return null==n?(!t.q&&(t.q=new Dw),b6(t.q,e)):(!t.q&&(t.q=new Dw),YW(t.q,e,n)),t}function uct(t,e,n){return null==n?(!t.q&&(t.q=new Dw),b6(t.q,e)):(!t.q&&(t.q=new Dw),YW(t.q,e,n)),t}function lct(t){var e,n;return Hot(n=new y6,t),uct(n,(Ert(),soe),t),ezt(t,n,e=new Dw),Tqt(t,n,e),n}function hct(t){var e,n,i;for(xBt(),n=D8(TTe,cXt,8,2,0,1),i=0,e=0;e<2;e++)i+=.5,n[e]=hmt(i,t);return n}function fct(t,e){var n,i,r;for(n=!1,i=t.a[e].length,r=0;r>=1);return e}function xct(t){var e,n;return 32==(n=QMt(t.h))?32==(e=QMt(t.m))?QMt(t.l)+32:e+20-10:n-12}function kct(t){var e;return null==(e=t.a[t.b])?null:(IY(t.a,t.b,null),t.b=t.b+1&t.a.length-1,e)}function _ct(t){var e,n;return e=t.t-t.k[t.o.p]*t.d+t.j[t.o.p]>t.f,n=t.u+t.e[t.o.p]*t.d>t.f*t.s*t.d,e||n}function Ect(t,e,n){var i,r;return i=new F8(e,n),r=new U,t.b=YPt(t,t.b,i,r),r.b||++t.c,t.b.b=!1,r.d}function Tct(t,e,n){var i,r,a;for(a=0,r=Lht(e,n).Kc();r.Ob();)i=$z(r.Pb(),11),YW(t.c,i,nft(a++));}function Cct(t){var e,n;for(n=new Kd(t.a.b);n.an&&(n=t[e]);return n}function Dct(t,e,n){var i;return xPt(t,e,i=new Lw,(vKt(),oMe),!0,!1),xPt(t,n,i,CMe,!1,!1),i}function Nct(t,e,n){var i,r;return r=L2(e,"labels"),KOt((i=new gM(t,n)).a,i.b,r),r}function Pct(t,e,n,i){var r;return (r=yLt(t,e,n,i))||!(r=aft(t,n,i))||$Ut(t,e,r)?r:null}function Bct(t,e,n,i){var r;return (r=mLt(t,e,n,i))||!(r=oft(t,n,i))||$Ut(t,e,r)?r:null}function Rct(t,e){var n;for(n=0;n1||e>=0&&t.b<3)}function Zct(t){var e,n;for(e=new mm,n=cwt(t,0);n.b!=n.d.c;)BP(e,0,new fO($z(h3(n),8)));return e}function Qct(t){var e;for(e=new Kd(t.a.b);e.ai?1:0}function gut(t,e){return !!fNt(t,e)&&(ZMt(t.b,$z(yTt(e,(uWt(),qhe)),21),e),NH(t.a,e),!0)}function put(t){var e,n;(e=$z(yTt(t,(uWt(),xfe)),10))&&(y9((n=e.c).a,e),0==n.a.c.length&&y9(bW(e).b,n));}function but(t){return Wne?D8(Hne,gZt,572,0,0,1):$z(Xbt(t.a,D8(Hne,gZt,572,t.a.c.length,0,1)),842)}function wut(t,e,n,i){return QW(),new cv(Cst(Hx(zte,1),vXt,42,0,[(Gyt(t,e),new bE(t,e)),(Gyt(n,i),new bE(n,i))]))}function yut(t,e,n){var i;return lit(i=new Im,e,n),u7((!t.q&&(t.q=new tK(YOe,t,11,10)),t.q),i),i}function mut(t){var e,n,i,r;for(n=(r=uC(MIe,t)).length,i=D8(Xee,cXt,2,n,6,1),e=0;e=t.b.c.length||(kut(t,2*e+1),(n=2*e+2)=0&&t[i]===e[i];i--);return i<0?0:sC(t0(t[i],qVt),t0(e[i],qVt))?-1:1}function Tut(t,e){var n,i;for(i=cwt(t,0);i.b!=i.d.c;)(n=$z(h3(i),214)).e.length>0&&(e.td(n),n.i&&bft(n));}function Cut(t,e){var n,i;return i=$z(mot(t.a,4),126),n=D8(fOe,n7t,415,e,0,1),null!=i&&aHt(i,0,n,0,i.length),n}function Sut(t,e){var n;return n=new iRt(!!(256&t.f),t.i,t.a,t.d,!!(16&t.f),t.j,t.g,e),null!=t.e||(n.c=t),n}function Aut(t,e){var n;for(n=t.Zb().Cc().Kc();n.Ob();)if($z(n.Pb(),14).Hc(e))return !0;return !1}function Mut(t,e,n,i,r){var a,o;for(o=n;o<=r;o++)for(a=e;a<=i;a++)if(wmt(t,a,o))return !0;return !1}function Iut(t,e,n){var i,r,a,o;for(mW(n),o=!1,a=t.Zc(e),r=n.Kc();r.Ob();)i=r.Pb(),a.Rb(i),o=!0;return o}function Out(t,e){var n;return t===e||!!iD(e,83)&&(n=$z(e,83),GCt(lq(t),n.vc()))}function Lut(t,e,n){var i,r;for(r=n.Kc();r.Ob();)if(i=$z(r.Pb(),42),t.re(e,i.dd()))return !0;return !1}function Dut(t,e,n){return t.d[e.p][n.p]||(nyt(t,e,n),t.d[e.p][n.p]=!0,t.d[n.p][e.p]=!0),t.a[e.p][n.p]}function Nut(t,e){if(!t.ai()&&null==e)throw Fw(new Rv("The 'no null' constraint is violated"));return e}function Put(t,e){null==t.D&&null!=t.B&&(t.D=t.B,t.B=null),zit(t,null==e?null:(mW(e),e)),t.C&&t.yk(null);}function But(t,e){return !(!t||t==e||!OP(e,(uWt(),nfe)))&&$z(yTt(e,(uWt(),nfe)),10)!=t}function Rut(t){switch(t.i){case 2:return !0;case 1:return !1;case-1:++t.c;default:return t.pl()}}function jut(t){switch(t.i){case-2:return !0;case-1:return !1;case 1:--t.c;default:return t.ql()}}function $ut(t){RQ.call(this,"The given string does not match the expected format for individual spacings.",t);}function Fut(){Fut=I,aIe=new iM("ELK",0),oIe=new iM("JSON",1),rIe=new iM("DOT",2),sIe=new iM("SVG",3);}function zut(){zut=I,ske=new bA(XJt,0),cke=new bA("RADIAL_COMPACTION",1),uke=new bA("WEDGE_COMPACTION",2);}function Hut(){Hut=I,Une=new pC("CONCURRENT",0),Gne=new pC("IDENTITY_FINISH",1),qne=new pC("UNORDERED",2);}function Uut(){Uut=I,fT(),oae=new II(FQt,sae=nae),aae=new aw(zQt),cae=new aw(HQt),uae=new aw(UQt);}function Gut(){Gut=I,lue=new ki,hue=new _i,uue=new Ei,cue=new Ti,mW(new Ci),sue=new B;}function qut(){qut=I,tme=new KS("CONSERVATIVE",0),eme=new KS("CONSERVATIVE_SOFT",1),nme=new KS("SLOPPY",2);}function Kut(){Kut=I,dAe=new KO(15),fAe=new qO((cWt(),qCe),dAe),gAe=gSe,cAe=rCe,uAe=BCe,hAe=$Ce,lAe=jCe;}function Yut(t,e,n){var i,r;for(i=new XE,r=cwt(n,0);r.b!=r.d.c;)NH(i,new fO($z(h3(r),8)));Iut(t,e,i);}function Wut(t){var e,n,i;for(e=0,i=D8(TTe,cXt,8,t.b,0,1),n=cwt(t,0);n.b!=n.d.c;)i[e++]=$z(h3(n),8);return i}function Xut(t){var e;return !t.a&&(t.a=new tK(qOe,t,9,5)),0!=(e=t.a).i?FT($z(Yet(e,0),678)):null}function Vut(t,e){var n;return n=idt(t,e),sC(n0(t,e),0)|XM(n0(t,n),0)?n:idt(fXt,n0(vq(n,63),1))}function Zut(t,e){var n;n=null!=ywt((Bgt(),Ywe))&&null!=e.wg()?Hv(_B(e.wg()))/Hv(_B(ywt(Ywe))):1,YW(t.b,e,n);}function Qut(t,e){var n,i;return (n=$z(t.d.Bc(e),14))?((i=t.e.hc()).Gc(n),t.e.d-=n.gc(),n.$b(),i):null}function Jut(t,e){var n,i;if(0!=(i=t.c[e]))for(t.c[e]=0,t.d-=i,n=e+1;n0)return Bq(e-1,t.a.c.length),s6(t.a,e-1);throw Fw(new wy)}function elt(t,e,n){if(e<0)throw Fw(new Mv(J4t+e));ee)throw Fw(new Rv(yZt+t+mZt+e));if(t<0||e>n)throw Fw(new kx(yZt+t+vZt+e+uZt+n))}function ilt(t){if(!(t.a&&8&t.a.i))throw Fw(new jv("Enumeration class expected for layout option "+t.f))}function rlt(t){var e;++t.j,0==t.i?t.g=null:t.ij3t?t-i>j3t:i-t>j3t)}function wlt(t,e){return t?e&&!t.j||iD(t,124)&&0==$z(t,124).a.b?0:t.Re():0}function ylt(t,e){return t?e&&!t.k||iD(t,124)&&0==$z(t,124).a.a?0:t.Se():0}function mlt(t){return MBt(),t<0?-1!=t?new Bwt(-1,-t):Vee:t<=10?Qee[CQ(t)]:new Bwt(1,t)}function vlt(t){throw Qst(),Fw(new gv("Unexpected typeof result '"+t+"'; please report this bug to the GWT team"))}function xlt(t){cx(),YL(this),vV(this),this.e=t,SPt(this,t),this.g=null==t?GWt:Fdt(t),this.a="",this.b=t,this.a="";}function klt(){this.a=new es,this.f=new db(this),this.b=new gb(this),this.i=new pb(this),this.e=new bb(this);}function _lt(){iv.call(this,new z8(tet(16))),hit(2,sXt),this.b=2,this.a=new FW(null,null,0,null),ey(this.a,this.a);}function Elt(){Elt=I,iye=new BS("DUMMY_NODE_OVER",0),rye=new BS("DUMMY_NODE_UNDER",1),aye=new BS("EQUAL",2);}function Tlt(){Tlt=I,qoe=FQ(Cst(Hx(KSe,1),OXt,103,0,[($ht(),RSe),jSe])),Koe=FQ(Cst(Hx(KSe,1),OXt,103,0,[FSe,BSe]));}function Clt(t){return (vKt(),yMe).Hc(t.j)?Hv(_B(yTt(t,(uWt(),Ofe)))):Ict(Cst(Hx(TTe,1),cXt,8,0,[t.i.n,t.n,t.a])).b}function Slt(t){var e,n;for(e=t.b.a.a.ec().Kc();e.Ob();)n=new XLt($z(e.Pb(),561),t.e,t.f),Kz(t.g,n);}function Alt(t,e){var n,i;n=t.nk(e,null),i=null,e&&(e_(),rnt(i=new Bw,t.r)),(n=zEt(t,i,n))&&n.Fi();}function Mlt(t,e){var n,i;for(i=0!=zLt(t.d,1),n=!0;n;)n=!1,n=e.c.Tf(e.e,i),n|=PNt(t,e,i,!1),i=!i;Ort(t);}function Ilt(t,e){var n,i,r;return i=!1,n=e.q.d,e.dr&&(a_t(e.q,r),i=n!=e.q.d)),i}function Olt(t,n){var i,r,a,o,s;return o=n.i,s=n.j,r=o-(i=t.f).i,a=s-i.j,e.Math.sqrt(r*r+a*a)}function Llt(t,e){var n;return (n=Vpt(t))||(BHt(),u7((n=new Cw(VSt(e))).Vk(),t)),n}function Dlt(t,e){var n,i;return (n=$z(t.c.Bc(e),14))?((i=t.hc()).Gc(n),t.d-=n.gc(),n.$b(),t.mc(i)):t.jc()}function Nlt(t,e){var n;for(n=0;n=t.c.b:t.a<=t.c.b))throw Fw(new yy);return e=t.a,t.a+=t.c.c,++t.b,nft(e)}function Flt(t){var e;return e=new uet(t),e2(t.a,sse,new Vv(Cst(Hx(Voe,1),zWt,369,0,[e]))),e.d&&Kz(e.f,e.d),e.f}function zlt(t){var e;return Hot(e=new AL(t.a),t),uct(e,(uWt(),dfe),t),e.o.a=t.g,e.o.b=t.f,e.n.a=t.i,e.n.b=t.j,e}function Hlt(t,e,n,i){var r,a;for(a=t.Kc();a.Ob();)(r=$z(a.Pb(),70)).n.a=e.a+(i.a-r.o.a)/2,r.n.b=e.b,e.b+=r.o.b+n;}function Ult(t,e,n){var i;for(i=e.a.a.ec().Kc();i.Ob();)if(iZ(t,$z(i.Pb(),57),n))return !0;return !1}function Glt(t){var e,n;for(n=new Kd(t.r);n.a=0?e:-e;i>0;)i%2==0?(n*=n,i=i/2|0):(r*=n,i-=1);return e<0?1/r:r}function nht(t,e){var n,i,r;for(r=1,n=t,i=e>=0?e:-e;i>0;)i%2==0?(n*=n,i=i/2|0):(r*=n,i-=1);return e<0?1/r:r}function iht(t){var e,n;if(null!=t)for(n=0;n0&&gut($z(DU(t.a,t.a.c.length-1),570),e)||Kz(t.a,new p5(e));}function wht(t){var e,n;H$(),e=t.d.c-t.e.c,Met((n=$z(t.g,145)).b,new vp(e)),Met(n.c,new xp(e)),t5(n.i,new kp(e));}function yht(t){var e;return (e=new Cx).a+="VerticalSegment ",aI(e,t.e),e.a+=" ",oI(e,VD(new wx,new Kd(t.k))),e.a}function mht(t){var e;return (e=$z(ltt(t.c.c,""),229))||(e=new GJ(vk(mk(new ys,""),"Other")),Zbt(t.c.c,"",e)),e}function vht(t){var e;return 64&t.Db?CLt(t):((e=new uN(CLt(t))).a+=" (name: ",iI(e,t.zb),e.a+=")",e.a)}function xht(t,e,n){var i,r;return r=t.sb,t.sb=e,4&t.Db&&!(1&t.Db)&&(i=new Qq(t,1,4,r,e),n?n.Ei(i):n=i),n}function kht(t,e){var n,i;for(n=0,i=adt(t,e).Kc();i.Ob();)n+=null!=yTt($z(i.Pb(),11),(uWt(),xfe))?1:0;return n}function _ht(t,e,n){var i,r,a;for(i=0,a=cwt(t,0);a.b!=a.d.c&&!((r=Hv(_B(h3(a))))>n);)r>=e&&++i;return i}function Eht(t,e,n){var i;return i=new L9(t.e,3,13,null,e.c||(pWt(),uLe),oyt(t,e),!1),n?n.Ei(i):n=i,n}function Tht(t,e,n){var i;return i=new L9(t.e,4,13,e.c||(pWt(),uLe),null,oyt(t,e),!1),n?n.Ei(i):n=i,n}function Cht(t,e,n){var i,r;return r=t.r,t.r=e,4&t.Db&&!(1&t.Db)&&(i=new Qq(t,1,8,r,t.r),n?n.Ei(i):n=i),n}function Sht(t,e){var n,i;return !(i=(n=$z(e,676)).vk())&&n.wk(i=iD(e,88)?new IM(t,$z(e,26)):new R0(t,$z(e,148))),i}function Aht(t,e,n){var i;t.qi(t.i+1),i=t.oi(e,n),e!=t.i&&aHt(t.g,e,t.g,e+1,t.i-e),IY(t.g,e,i),++t.i,t.bi(e,n),t.ci();}function Mht(t,e){var n;return e.a&&(n=e.a.a.length,t.a?oI(t.a,t.b):t.a=new lN(t.d),H0(t.a,e.a,e.d.length,n)),t}function Iht(t,e){var n,i,r;if(e.vi(t.a),null!=(r=$z(mot(t.a,8),1936)))for(n=0,i=r.length;nn)throw Fw(new Mv(yZt+t+vZt+e+", size: "+n));if(t>e)throw Fw(new Rv(yZt+t+mZt+e))}function Hht(t,e,n){if(e<0)rMt(t,n);else {if(!n.Ij())throw Fw(new Rv(i6t+n.ne()+r6t));$z(n,66).Nj().Vj(t,t.yh(),e);}}function Uht(t,e,n,i,r,a,o,s){var c;for(c=n;a=i||e=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:t>=48&&t<=57?t-48:0}function Wht(t){var e;return 64&t.Db?CLt(t):((e=new uN(CLt(t))).a+=" (source: ",iI(e,t.d),e.a+=")",e.a)}function Xht(t,e,n){var i,r;return r=t.a,t.a=e,4&t.Db&&!(1&t.Db)&&(i=new Qq(t,1,5,r,t.a),n?R_t(n,i):n=i),n}function Vht(t,e){var n;n=!!(256&t.Bb),e?t.Bb|=256:t.Bb&=-257,4&t.Db&&!(1&t.Db)&&fot(t,new J5(t,1,2,n,e));}function Zht(t,e){var n;n=!!(256&t.Bb),e?t.Bb|=256:t.Bb&=-257,4&t.Db&&!(1&t.Db)&&fot(t,new J5(t,1,8,n,e));}function Qht(t,e){var n;n=!!(256&t.Bb),e?t.Bb|=256:t.Bb&=-257,4&t.Db&&!(1&t.Db)&&fot(t,new J5(t,1,8,n,e));}function Jht(t,e){var n;n=!!(512&t.Bb),e?t.Bb|=512:t.Bb&=-513,4&t.Db&&!(1&t.Db)&&fot(t,new J5(t,1,3,n,e));}function tft(t,e){var n;n=!!(512&t.Bb),e?t.Bb|=512:t.Bb&=-513,4&t.Db&&!(1&t.Db)&&fot(t,new J5(t,1,9,n,e));}function eft(t,e){var n;return -1==t.b&&t.a&&(n=t.a.Gj(),t.b=n?t.c.Xg(t.a.aj(),n):Igt(t.c.Tg(),t.a)),t.c.Og(t.b,e)}function nft(t){var e,n;return t>-129&&t<128?(e=t+128,!(n=(JH(),Aee)[e])&&(n=Aee[e]=new Dd(t)),n):new Dd(t)}function ift(t){var e,n;return t>-129&&t<128?(e=t+128,!(n=(kU(),Ree)[e])&&(n=Ree[e]=new Pd(t)),n):new Pd(t)}function rft(t){var e;return t.k==(oCt(),_se)&&((e=$z(yTt(t,(uWt(),Whe)),61))==(vKt(),sMe)||e==EMe)}function aft(t,e,n){var i,r;return (r=OLt(t.b,e))&&(i=$z(DHt(j9(t,r),""),26))?yLt(t,i,e,n):null}function oft(t,e,n){var i,r;return (r=OLt(t.b,e))&&(i=$z(DHt(j9(t,r),""),26))?mLt(t,i,e,n):null}function sft(t,e){var n,i;for(i=new MD(t);i.e!=i.i.gc();)if(n=$z(vwt(i),138),HM(e)===HM(n))return !0;return !1}function cft(t,e,n){var i;if(e>(i=t.gc()))throw Fw(new JR(e,i));if(t.hi()&&t.Hc(n))throw Fw(new Rv(a8t));t.Xh(e,n);}function uft(t,e){var n;if(null==(n=cnt(t.i,e)))throw Fw(new tx("Node did not exist in input."));return Rat(e,n),null}function lft(t,e){var n;if(iD(n=DNt(t,e),322))return $z(n,34);throw Fw(new Rv(i6t+e+"' is not a valid attribute"))}function hft(t,e,n){var i,r;for(r=iD(e,99)&&$z(e,18).Bb&FVt?new DI(e,t):new Iot(e,t),i=0;ie?1:t==e?0==t?Cft(1/t,1/e):0:isNaN(t)?isNaN(e)?0:1:-1}function Sft(t,e){MEt(e,"Sort end labels",1),VE(MX(ftt(new PU(null,new f1(t.b,16)),new gn),new pn),new bn),zCt(e);}function Aft(t,e,n){var i,r;return t.ej()?(r=t.fj(),i=VMt(t,e,n),t.$i(t.Zi(7,nft(n),i,e,r)),i):VMt(t,e,n)}function Mft(t,e){var n,i,r;null==t.d?(++t.e,--t.f):(r=e.cd(),L6(t,i=((n=e.Sh())&PWt)%t.d.length,ILt(t,i,n,r)));}function Ift(t,e){var n;n=!!(t.Bb&v6t),e?t.Bb|=v6t:t.Bb&=-1025,4&t.Db&&!(1&t.Db)&&fot(t,new J5(t,1,10,n,e));}function Oft(t,e){var n;n=!!(t.Bb&jVt),e?t.Bb|=jVt:t.Bb&=-4097,4&t.Db&&!(1&t.Db)&&fot(t,new J5(t,1,12,n,e));}function Lft(t,e){var n;n=!!(t.Bb&_7t),e?t.Bb|=_7t:t.Bb&=-8193,4&t.Db&&!(1&t.Db)&&fot(t,new J5(t,1,15,n,e));}function Dft(t,e){var n;n=!!(t.Bb&E7t),e?t.Bb|=E7t:t.Bb&=-2049,4&t.Db&&!(1&t.Db)&&fot(t,new J5(t,1,11,n,e));}function Nft(t,e){var n;return 0!=(n=Cft(t.b.c,e.b.c))||0!=(n=Cft(t.a.a,e.a.a))?n:Cft(t.a.b,e.a.b)}function Pft(t,e){var n;if(null==(n=PY(t.k,e)))throw Fw(new tx("Port did not exist in input."));return Rat(e,n),null}function Bft(t){var e,n;for(n=ULt(qet(t)).Kc();n.Ob();)if(D$t(t,e=EB(n.Pb())))return y4((GT(),NOe),e);return null}function Rft(t,e){var n,i,r,a,o;for(o=aPt(t.e.Tg(),e),a=0,n=$z(t.g,119),r=0;r>10)+zVt&XXt,e[1]=56320+(1023&t)&XXt,Fpt(e,0,e.length)}function Yft(t){var e;return (e=$z(yTt(t,(zYt(),Gpe)),103))==($ht(),$Se)?Hv(_B(yTt(t,xpe)))>=1?jSe:BSe:e}function Wft(t){switch($z(yTt(t,(zYt(),Zpe)),218).g){case 1:return new ia;case 3:return new ca;default:return new na}}function Xft(t){if(t.c)Xft(t.c);else if(t.d)throw Fw(new jv("Stream already terminated, can't be modified or used"))}function Vft(t){var e;return 64&t.Db?CLt(t):((e=new uN(CLt(t))).a+=" (identifier: ",iI(e,t.k),e.a+=")",e.a)}function Zft(t,e,n){var i;return Jk(),xnt(i=new ac,e),knt(i,n),t&&u7((!t.a&&(t.a=new ID(LIe,t,5)),t.a),i),i}function Qft(t,e,n,i){var r,a;return mW(i),mW(n),null==(a=null==(r=t.xc(e))?n:ZE($z(r,15),$z(n,14)))?t.Bc(e):t.zc(e,a),a}function Jft(t){var e,n,i,r;return srt(n=new Xj(e=$z(Yk((r=(i=t.gm).f)==qte?i:r),9),$z(ER(e,e.length),9),0),t),n}function tdt(t,e,n){var i,r;for(r=t.a.ec().Kc();r.Ob();)if(i=$z(r.Pb(),10),sst(n,$z(DU(e,i.p),14)))return i;return null}function edt(t,e,n){try{jct(t,e,n);}catch(t){throw iD(t=hst(t),597)?Fw(new g5(t)):Fw(t)}return e}function ndt(t,e){var n;return VI(t)&&VI(e)&&OVt<(n=t-e)&&n>1,t.k=i-1>>1;}function cdt(){var t,n,i;mEt(),i=One+++Date.now(),t=CQ(e.Math.floor(i*oZt))&cZt,n=CQ(i-t*sZt),this.a=1502^t,this.b=n^aZt;}function udt(t){var e,n;for(e=new Lw,n=new Kd(t.j);n.a34028234663852886e22?BVt:e<-34028234663852886e22?RVt:e}function bdt(t){return t=((t=((t-=t>>1&1431655765)>>2&858993459)+(858993459&t))>>4)+t&252645135,t+=t>>8,63&(t+=t>>16)}function wdt(t){var e,n,i;for(e=new cR(t.Hd().gc()),i=0,n=O7(t.Hd().Kc());n.Ob();)vJ(e,n.Pb(),nft(i++));return DCt(e.a)}function ydt(t,e){var n,i,r;for(r=new Dw,i=e.vc().Kc();i.Ob();)YW(r,(n=$z(i.Pb(),42)).cd(),hot(t,$z(n.dd(),15)));return r}function mdt(t,e){0==t.n.c.length&&Kz(t.n,new PQ(t.s,t.t,t.i)),Kz(t.b,e),cmt($z(DU(t.n,t.n.c.length-1),211),e),FFt(t,e);}function vdt(t){return t.c==t.b.b&&t.i==t.g.b||(t.a.c=D8(Ite,zWt,1,0,5,1),pst(t.a,t.b),pst(t.a,t.g),t.c=t.b.b,t.i=t.g.b),t.a}function xdt(t,e){var n,i;for(i=0,n=$z(e.Kb(t),20).Kc();n.Ob();)zv(kB(yTt($z(n.Pb(),17),(uWt(),Cfe))))||++i;return i}function kdt(t,n){var i,r;r=Hv(_B(ept(u2(n),(zYt(),ywe)))),$xt(n,i=e.Math.max(0,r/2-.5),1),Kz(t,new lS(n,i));}function _dt(){_dt=I,zfe=new $S(XJt,0),Rfe=new $S("FIRST",1),jfe=new $S(S1t,2),$fe=new $S("LAST",3),Ffe=new $S(A1t,4);}function Edt(){Edt=I,ZSe=new jA(uQt,0),XSe=new jA("POLYLINE",1),WSe=new jA("ORTHOGONAL",2),VSe=new jA("SPLINES",3);}function Tdt(){Tdt=I,Zke=new mA("ASPECT_RATIO_DRIVEN",0),Qke=new mA("MAX_SCALE_DRIVEN",1),Vke=new mA("AREA_DRIVEN",2);}function Cdt(){Cdt=I,F_e=new xA("P1_STRUCTURE",0),z_e=new xA("P2_PROCESSING_ORDER",1),H_e=new xA("P3_EXECUTION",2);}function Sdt(){Sdt=I,tke=new gA("OVERLAP_REMOVAL",0),Qxe=new gA("COMPACTION",1),Jxe=new gA("GRAPH_SIZE_CALCULATION",2);}function Adt(t,n){return cL(),iit(RXt),e.Math.abs(t-n)<=RXt||t==n||isNaN(t)&&isNaN(n)?0:tn?1:UI(isNaN(t),isNaN(n))}function Mdt(t,e){var n,i;for(n=cwt(t,0);n.b!=n.d.c;){if((i=Uv(_B(h3(n))))==e)return;if(i>e){G0(n);break}}QK(n,e);}function Idt(t,e){var n,i,r,a,o;if(n=e.f,Zbt(t.c.d,n,e),null!=e.g)for(a=0,o=(r=e.g).length;ae&&i.ue(t[a-1],t[a])>0;--a)o=t[a],IY(t,a,t[a-1]),IY(t,a-1,o);}function Ldt(t,e,n,i){if(e<0)_Dt(t,n,i);else {if(!n.Ij())throw Fw(new Rv(i6t+n.ne()+r6t));$z(n,66).Nj().Tj(t,t.yh(),e,i);}}function Ddt(t,e){if(e==t.d)return t.e;if(e==t.e)return t.d;throw Fw(new Rv("Node "+e+" not part of edge "+t))}function Ndt(t,e){switch(e.g){case 2:return t.b;case 1:return t.c;case 4:return t.d;case 3:return t.a;default:return !1}}function Pdt(t,e){switch(e.g){case 2:return t.b;case 1:return t.c;case 4:return t.d;case 3:return t.a;default:return !1}}function Bdt(t,e,n,i){switch(e){case 3:return t.f;case 4:return t.g;case 5:return t.i;case 6:return t.j}return jht(t,e,n,i)}function Rdt(t){return t.k==(oCt(),Cse)&&o5(new PU(null,new UK(new oq(ZD(hdt(t).a.Kc(),new l)))),new Ur)}function jdt(t){return null==t.e?t:(!t.c&&(t.c=new iRt(!!(256&t.f),t.i,t.a,t.d,!!(16&t.f),t.j,t.g,null)),t.c)}function $dt(t,e){return t.h==SVt&&0==t.m&&0==t.l?(e&&(hee=_L(0,0,0)),KI((q9(),gee))):(e&&(hee=_L(t.l,t.m,t.h)),_L(0,0,0))}function Fdt(t){return Array.isArray(t)&&t.im===M?Qk(tut(t))+"@"+(Jct(t)>>>0).toString(16):t.toString()}function zdt(t){var e;this.a=new Xj(e=$z(t.e&&t.e(),9),$z(ER(e,e.length),9),0),this.b=D8(Ite,zWt,1,this.a.a.length,5,1);}function Hdt(t){var e,n,i;for(this.a=new uO,i=new Kd(t);i.a0&&(h1(e-1,t.length),58==t.charCodeAt(e-1))&&!Kdt(t,IOe,OOe)}function Kdt(t,e,n){var i,r;for(i=0,r=t.length;i=r)return e.c+n;return e.c+e.b.gc()}function Xdt(t,e){var n,i,r,a;for(dB(),r=e,U7(i=F7(t),0,i.length,r),n=0;n0&&(i+=r,++n);return n>1&&(i+=t.d*(n-1)),i}function Zdt(t){var e,n,i;for((i=new Ex).a+="[",e=0,n=t.gc();e0&&this.b>0&&XU(this.c,this.b,this.a);}function ogt(t){Bgt(),this.c=a6(Cst(Hx(nTe,1),zWt,831,0,[Kwe])),this.b=new Dw,this.a=t,YW(this.b,Ywe,1),Met(Wwe,new Tb(this));}function sgt(t,e){var n;return t.d?cK(t.b,e)?$z(PY(t.b,e),51):(n=e.Kf(),YW(t.b,e,n),n):e.Kf()}function cgt(t,e){var n;return HM(t)===HM(e)||!!iD(e,91)&&(n=$z(e,91),t.e==n.e&&t.d==n.d&&x4(t,n.a))}function ugt(t){switch(vKt(),t.g){case 4:return sMe;case 1:return oMe;case 3:return EMe;case 2:return CMe;default:return TMe}}function lgt(t,e){switch(e){case 3:return 0!=t.f;case 4:return 0!=t.g;case 5:return 0!=t.i;case 6:return 0!=t.j}return kot(t,e)}function hgt(t){switch(t.g){case 0:return new qo;case 1:return new Ko;default:throw Fw(new Rv(r4t+(null!=t.f?t.f:""+t.g)))}}function fgt(t){switch(t.g){case 0:return new Go;case 1:return new Yo;default:throw Fw(new Rv(E1t+(null!=t.f?t.f:""+t.g)))}}function dgt(t){switch(t.g){case 0:return new Ym;case 1:return new ym;default:throw Fw(new Rv(D4t+(null!=t.f?t.f:""+t.g)))}}function ggt(t){switch(t.g){case 1:return new jo;case 2:return new gB;default:throw Fw(new Rv(r4t+(null!=t.f?t.f:""+t.g)))}}function pgt(t){var e,n;if(t.b)return t.b;for(n=Wne?null:t.d;n;){if(e=Wne?null:n.b)return e;n=Wne?null:n.d;}return lT(),Fne}function bgt(t){var e,n;return 0==t.e?0:(e=t.d<<5,n=t.a[t.d-1],t.e<0&&Sat(t)==t.d-1&&(--n,n|=0),e-=QMt(n))}function wgt(t){var e,n,i;return t>5),15,1))[n]=1<3;)r*=10,--a;t=(t+(r>>1))/r|0;}return i.i=t,!0}function kgt(t){return Tlt(),cN(),!!(Pdt($z(t.a,81).j,$z(t.b,103))||0!=$z(t.a,81).d.e&&Pdt($z(t.a,81).j,$z(t.b,103)))}function _gt(t){D7(),$z(t.We((cWt(),zCe)),174).Hc((Jjt(),YMe))&&($z(t.We(uSe),174).Fc((hMt(),iMe)),$z(t.We(zCe),174).Mc(YMe));}function Egt(t,e){var n;if(e){for(n=0;n=0;--i)for(e=n[i],r=0;r>1,this.k=n-1>>1;}function Ugt(t,e){MEt(e,"End label post-processing",1),VE(MX(ftt(new PU(null,new f1(t.b,16)),new on),new sn),new cn),zCt(e);}function Ggt(t,e,n){var i;return i=Hv(t.p[e.i.p])+Hv(t.d[e.i.p])+e.n.b+e.a.b,Hv(t.p[n.i.p])+Hv(t.d[n.i.p])+n.n.b+n.a.b-i}function qgt(t,e,n){var i,r;for(i=t0(n,qVt),r=0;0!=Wlt(i,0)&&r0&&(h1(0,e.length),43==e.charCodeAt(0))?e.substr(1):e)}function Wgt(t){var e;return null==t?null:new IO((e=$zt(t,!0)).length>0&&(h1(0,e.length),43==e.charCodeAt(0))?e.substr(1):e)}function Xgt(t,e){return t.i>0&&(e.lengtht.i&&IY(e,t.i,null),e}function Vgt(t,e,n){var i,r,a;return t.ej()?(i=t.i,a=t.fj(),Aht(t,i,e),r=t.Zi(3,null,e,i,a),n?n.Ei(r):n=r):Aht(t,t.i,e),n}function Zgt(t,e,n){var i,r;return i=new L9(t.e,4,10,iD(r=e.c,88)?$z(r,26):(pWt(),fLe),null,oyt(t,e),!1),n?n.Ei(i):n=i,n}function Qgt(t,e,n){var i,r;return i=new L9(t.e,3,10,null,iD(r=e.c,88)?$z(r,26):(pWt(),fLe),oyt(t,e),!1),n?n.Ei(i):n=i,n}function Jgt(t){var e;return zB(),e=new fO($z(t.e.We((cWt(),$Ce)),8)),t.B.Hc((Jjt(),HMe))&&(e.a<=0&&(e.a=20),e.b<=0&&(e.b=20)),e}function tpt(t){return fyt(),(t.q?t.q:(EV(),EV(),une))._b((zYt(),Pbe))?$z(yTt(t,Pbe),197):$z(yTt(bW(t),Bbe),197)}function ept(t,e){var n,i;return i=null,OP(t,(zYt(),_we))&&(n=$z(yTt(t,_we),94)).Xe(e)&&(i=n.We(e)),null==i&&(i=yTt(bW(t),e)),i}function npt(t,e){var n,i,r;return !!iD(e,42)&&(i=(n=$z(e,42)).cd(),fW(r=hht(t.Rc(),i),n.dd())&&(null!=r||t.Rc()._b(i)))}function ipt(t,e){var n;return t.f>0&&(t.qj(),-1!=ILt(t,((n=null==e?0:Jct(e))&PWt)%t.d.length,n,e))}function rpt(t,e){var n,i;return t.f>0&&(t.qj(),n=aIt(t,((i=null==e?0:Jct(e))&PWt)%t.d.length,i,e))?n.dd():null}function apt(t,e){var n,i,r,a;for(a=aPt(t.e.Tg(),e),n=$z(t.g,119),r=0;r1?e0(yq(e.a[1],32),t0(e.a[0],qVt)):t0(e.a[0],qVt),v2(rdt(e.e,n))));}function hpt(t,e){var n;return VI(t)&&VI(e)&&OVt<(n=t%e)&&n>5,e&=31,r=t.d+n+(0==e?0:1),NEt(i=D8(ANe,uVt,25,r,15,1),t.a,n,e),q0(a=new lK(t.e,r,i)),a}function _pt(t,e,n){var i,r;i=$z(EQ(tNe,e),117),r=$z(EQ(eNe,e),117),n?(wJ(tNe,t,i),wJ(eNe,t,r)):(wJ(eNe,t,i),wJ(tNe,t,r));}function Ept(t,e,n){var i,r,a;for(r=null,a=t.b;a;){if(i=t.a.ue(e,a.d),n&&0==i)return a;i>=0?a=a.a[1]:(r=a,a=a.a[0]);}return r}function Tpt(t,e,n){var i,r,a;for(r=null,a=t.b;a;){if(i=t.a.ue(e,a.d),n&&0==i)return a;i<=0?a=a.a[0]:(r=a,a=a.a[1]);}return r}function Cpt(t,e,n,i){var r,a,o;return r=!1,LGt(t.f,n,i)&&(Nbt(t.f,t.a[e][n],t.a[e][i]),o=(a=t.a[e])[i],a[i]=a[n],a[n]=o,r=!0),r}function Spt(t,e,n,i,r){var a,o,s;for(o=r;e.b!=e.c;)a=$z(dK(e),10),s=$z(adt(a,i).Xb(0),11),t.d[s.p]=o++,n.c[n.c.length]=s;return o}function Apt(t,n,i){var r,a,o,s,c;return s=t.k,c=n.k,a=_B(ept(t,r=i[s.g][c.g])),o=_B(ept(n,r)),e.Math.max((mW(a),a),(mW(o),o))}function Mpt(t,e,n){var i,r,a,o;for(i=n/t.c.length,r=0,o=new Kd(t);o.a2e3&&(aee=t,oee=e.setTimeout(W_,10)),0==ree++&&(Att((sx(),tee)),!0)}function Dpt(t,e){var n;for(n=new oq(ZD(hdt(t).a.Kc(),new l));gOt(n);)if($z(G5(n),17).d.i.c==e)return !1;return !0}function Npt(t,e){var n;if(iD(e,245)){n=$z(e,245);try{return 0==t.vd(n)}catch(t){if(!iD(t=hst(t),205))throw Fw(t)}}return !1}function Ppt(){return Error.stackTraceLimit>0?(e.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in new Error}function Bpt(t,n){return cL(),cL(),iit(RXt),(e.Math.abs(t-n)<=RXt||t==n||isNaN(t)&&isNaN(n)?0:tn?1:UI(isNaN(t),isNaN(n)))>0}function Rpt(t,n){return cL(),cL(),iit(RXt),(e.Math.abs(t-n)<=RXt||t==n||isNaN(t)&&isNaN(n)?0:tn?1:UI(isNaN(t),isNaN(n)))<0}function jpt(t,n){return cL(),cL(),iit(RXt),(e.Math.abs(t-n)<=RXt||t==n||isNaN(t)&&isNaN(n)?0:tn?1:UI(isNaN(t),isNaN(n)))<=0}function $pt(t,e){for(var n=0;!e[n]||""==e[n];)n++;for(var i=e[n++];nUVt)return n.fh();if((i=n.Zg())||n==t)break}return i}function Zpt(t){return cJ(),iD(t,156)?$z(PY(aOe,yne),288).vg(t):cK(aOe,tut(t))?$z(PY(aOe,tut(t)),288).vg(t):null}function Qpt(t){if(ybt(a5t,t))return cN(),wee;if(ybt(o5t,t))return cN(),bee;throw Fw(new Rv("Expecting true or false"))}function Jpt(t,e){if(e.c==t)return e.d;if(e.d==t)return e.c;throw Fw(new Rv("Input edge is not connected to the input port."))}function tbt(t,e){return t.e>e.e?1:t.ee.d?t.e:t.d=48&&t<48+e.Math.min(10,10)?t-48:t>=97&&t<97?t-97+10:t>=65&&t<65?t-65+10:-1}function nbt(t,e){var n;return HM(e)===HM(t)||!!iD(e,21)&&(n=$z(e,21)).gc()==t.gc()&&t.Ic(n)}function ibt(t,e){var n,i,r;return i=t.a.length-1,n=e-t.b&i,r=t.c-e&i,xP(n<(t.c-t.b&i)),n>=r?(alt(t,e),-1):(olt(t,e),1)}function rbt(t,e){var n,i;for(h1(e,t.length),n=t.charCodeAt(e),i=e+1;ie.e?1:t.fe.f?1:Jct(t)-Jct(e)}function ybt(t,e){return mW(t),null!=e&&(!!wj(t,e)||t.length==e.length&&wj(t.toLowerCase(),e.toLowerCase()))}function mbt(t,e){var n,i,r,a;for(i=0,r=e.gc();i0&&Wlt(t,128)<0?(e=dG(t)+128,!(n=(xU(),Oee)[e])&&(n=Oee[e]=new Nd(t)),n):new Nd(t)}function kbt(t,e){var n,i;return (n=e.Hh(t.a))&&null!=(i=EB(rpt((!n.b&&(n.b=new VP((pWt(),yLe),GLe,n)),n.b),t8t)))?i:e.ne()}function _bt(t,e){var n,i;return (n=e.Hh(t.a))&&null!=(i=EB(rpt((!n.b&&(n.b=new VP((pWt(),yLe),GLe,n)),n.b),t8t)))?i:e.ne()}function Ebt(t,e){var n,i;for(zJ(),i=new oq(ZD(udt(t).a.Kc(),new l));gOt(i);)if((n=$z(G5(i),17)).d.i==e||n.c.i==e)return n;return null}function Tbt(t,e,n){this.c=t,this.f=new Lw,this.e=new Hk,this.j=new EU,this.n=new EU,this.b=e,this.g=new GX(e.c,e.d,e.b,e.a),this.a=n;}function Cbt(t){var e,n,i,r;for(this.a=new uO,this.d=new Py,this.e=0,i=0,r=(n=t).length;i0)}function Dbt(t){var e;HM(QOt(t,(cWt(),xCe)))===HM((oht(),bAe))&&(VQ(t)?(e=$z(QOt(VQ(t),xCe),334),Vwt(t,xCe,e)):Vwt(t,xCe,wAe));}function Nbt(t,e,n){var i,r;lTt(t.e,e,n,(vKt(),CMe)),lTt(t.i,e,n,oMe),t.a&&(r=$z(yTt(e,(uWt(),dfe)),11),i=$z(yTt(n,dfe),11),m0(t.g,r,i));}function Pbt(t,e,n){var i,r,a;i=e.c.p,a=e.p,t.b[i][a]=new NZ(t,e),n&&(t.a[i][a]=new $p(e),(r=$z(yTt(e,(uWt(),nfe)),10))&&ZMt(t.d,r,e));}function Bbt(t,e){var n,i,r;if(Kz(Eae,t),e.Fc(t),n=$z(PY(_ae,t),21))for(r=n.Kc();r.Ob();)i=$z(r.Pb(),33),-1!=x9(Eae,i,0)||Bbt(i,e);}function Rbt(t,e,n){var i;(Kne?(pgt(t),1):Yne||Vne?(lT(),1):Xne&&(lT(),0))&&((i=new e$(e)).b=n,aCt(t,i));}function jbt(t,e){var n;n=!t.A.Hc((ypt(),RMe))||t.q==(X_t(),qAe),t.u.Hc((hMt(),tMe))?n?DKt(t,e):aKt(t,e):t.u.Hc(nMe)&&(n?Iqt(t,e):ZKt(t,e));}function $bt(t,e){var n,i;++t.j,null!=e&&sIt(e,n=iD(i=t.a.Cb,97)?$z(i,97).Jg():null)?ubt(t.a,4,n):ubt(t.a,4,$z(e,126));}function Fbt(t,n,i){return new GX(e.Math.min(t.a,n.a)-i/2,e.Math.min(t.b,n.b)-i/2,e.Math.abs(t.a-n.a)+i,e.Math.abs(t.b-n.b)+i)}function zbt(t,e){var n,i;return 0!=(n=xL(t.a.c.p,e.a.c.p))?n:0!=(i=xL(t.a.d.i.p,e.a.d.i.p))?i:xL(e.a.d.p,t.a.d.p)}function Hbt(t,e,n){var i,r,a,o;return (a=e.j)!=(o=n.j)?a.g-o.g:(i=t.f[e.p],r=t.f[n.p],0==i&&0==r?0:0==i?-1:0==r?1:Cft(i,r))}function Ubt(t,e,n){var i;if(!n[e.d])for(n[e.d]=!0,i=new Kd(vdt(e));i.a=(r=t.length))return r;for(e=e>0?e:0;ei&&IY(e,i,null),e}function Vbt(t,e){var n,i;for(i=t.a.length,e.lengthi&&IY(e,i,null),e}function Zbt(t,e,n){var i,r,a;return (r=$z(PY(t.e,e),387))?(a=pR(r,n),aD(t,r),a):(i=new Qz(t,e,n),YW(t.e,e,i),mQ(i),null)}function Qbt(t){var e;if(null==t)return null;if(null==(e=LLt($zt(t,!0))))throw Fw(new ex("Invalid hexBinary value: '"+t+"'"));return e}function Jbt(t){return MBt(),Wlt(t,0)<0?0!=Wlt(t,-1)?new w_t(-1,v9(t)):Vee:Wlt(t,10)<=0?Qee[dG(t)]:new w_t(1,t)}function twt(){return gWt(),Cst(Hx(Bre,1),OXt,159,0,[Tre,Ere,Cre,bre,pre,wre,vre,mre,yre,_re,kre,xre,dre,fre,gre,lre,ure,hre,sre,ore,cre,Sre])}function ewt(t){var e;this.d=new Lw,this.j=new Hk,this.g=new Hk,e=t.g.b,this.f=$z(yTt(bW(e),(zYt(),Gpe)),103),this.e=Hv(_B(pwt(e,Ewe)));}function nwt(t){this.b=new Lw,this.e=new Lw,this.d=t,this.a=!v_(MX(new PU(null,new UK(new w6(t.b))),new rg(new Gr))).sd((dT(),Jne));}function iwt(){iwt=I,cTe=new MA("PARENTS",0),sTe=new MA("NODES",1),aTe=new MA("EDGES",2),uTe=new MA("PORTS",3),oTe=new MA("LABELS",4);}function rwt(){rwt=I,$Ae=new UA("DISTRIBUTED",0),zAe=new UA("JUSTIFIED",1),RAe=new UA("BEGIN",2),jAe=new UA(eQt,3),FAe=new UA("END",4);}function awt(t){switch(t.yi(null)){case 10:return 0;case 15:return 1;case 14:return 2;case 11:return 3;case 21:return 4}return -1}function owt(t){switch(t.g){case 1:return $ht(),FSe;case 4:return $ht(),RSe;case 2:return $ht(),jSe;case 3:return $ht(),BSe}return $ht(),$Se}function swt(t,e,n){var i;switch((i=n.q.getFullYear()-cVt+cVt)<0&&(i=-i),e){case 1:t.a+=i;break;case 2:xtt(t,i%100,2);break;default:xtt(t,i,e);}}function cwt(t,e){var n,i;if(OJ(e,t.b),e>=t.b>>1)for(i=t.c,n=t.b;n>e;--n)i=i.b;else for(i=t.a.a,n=0;n=64&&e<128&&(r=e0(r,yq(1,e-64)));return r}function pwt(t,e){var n,i;return i=null,OP(t,(cWt(),CSe))&&(n=$z(yTt(t,CSe),94)).Xe(e)&&(i=n.We(e)),null==i&&bW(t)&&(i=yTt(bW(t),e)),i}function bwt(t,e){var n,i,r;(i=(r=e.d.i).k)!=(oCt(),Cse)&&i!=kse&&gOt(n=new oq(ZD(hdt(r).a.Kc(),new l)))&&YW(t.k,e,$z(G5(n),17));}function wwt(t,e){var n,i,r;return i=eet(t.Tg(),e),(n=e-t.Ah())<0?(r=t.Yg(i))>=0?t.lh(r):HMt(t,i):n<0?HMt(t,i):$z(i,66).Nj().Sj(t,t.yh(),n)}function ywt(t){var e;if(iD(t.a,4)){if(null==(e=Zpt(t.a)))throw Fw(new jv(s5t+t.b+"'. "+i5t+(xB(lOe),lOe.k)+r5t));return e}return t.a}function mwt(t){var e;if(null==t)return null;if(null==(e=qKt($zt(t,!0))))throw Fw(new ex("Invalid base64Binary value: '"+t+"'"));return e}function vwt(t){var e;try{return e=t.i.Xb(t.e),t.mj(),t.g=t.e++,e}catch(e){throw iD(e=hst(e),73)?(t.mj(),Fw(new yy)):Fw(e)}}function xwt(t){var e;try{return e=t.c.ki(t.e),t.mj(),t.g=t.e++,e}catch(e){throw iD(e=hst(e),73)?(t.mj(),Fw(new yy)):Fw(e)}}function kwt(){kwt=I,cWt(),xae=kSe,pae=yCe,lae=iCe,bae=qCe,jxt(),mae=_ie,yae=xie,vae=Tie,wae=vie,Uut(),fae=oae,hae=aae,dae=cae,gae=uae;}function _wt(t){switch(vT(),this.c=new Lw,this.d=t,t.g){case 0:case 2:this.a=WW(cse),this.b=BVt;break;case 3:case 1:this.a=cse,this.b=RVt;}}function Ewt(t,e,n){var i;if(t.c)Cnt(t.c,t.c.i+e),Snt(t.c,t.c.j+n);else for(i=new Kd(t.b);i.a0&&(Kz(t.b,new Yz(e.a,n)),0<(i=e.a.length)?e.a=e.a.substr(0,0):0>i&&(e.a+=nD(D8(SNe,YXt,25,-i,15,1))));}function Swt(t,e){var n,i,r;for(n=t.o,r=$z($z(c6(t.r,e),21),84).Kc();r.Ob();)(i=$z(r.Pb(),111)).e.a=gvt(i,n.a),i.e.b=n.b*Hv(_B(i.b.We(Ore)));}function Awt(t,e){var n,i,r,a;return r=t.k,n=Hv(_B(yTt(t,(uWt(),kfe)))),a=e.k,i=Hv(_B(yTt(e,kfe))),a!=(oCt(),_se)?-1:r!=_se?1:n==i?0:n=0?t.hh(e,n,i):(t.eh()&&(i=(r=t.Vg())>=0?t.Qg(i):t.eh().ih(t,-1-r,null,i)),t.Sg(e,n,i))}function Nwt(t,e){switch(e){case 7:return !t.e&&(t.e=new cj(BIe,t,7,4)),void cUt(t.e);case 8:return !t.d&&(t.d=new cj(BIe,t,8,5)),void cUt(t.d)}Pgt(t,e);}function Pwt(t,e){var n;n=t.Zc(e);try{return n.Pb()}catch(t){throw iD(t=hst(t),109)?Fw(new Mv("Can't get element "+e)):Fw(t)}}function Bwt(t,e){this.e=t,e=0&&(n.d=t.t);break;case 3:t.t>=0&&(n.a=t.t);}t.C&&(n.b=t.C.b,n.c=t.C.c);}function zwt(){zwt=I,$re=new RC(yQt,0),jre=new RC(mQt,1),Fre=new RC(vQt,2),zre=new RC(xQt,3),$re.a=!1,jre.a=!0,Fre.a=!1,zre.a=!0;}function Hwt(){Hwt=I,Zre=new BC(yQt,0),Vre=new BC(mQt,1),Qre=new BC(vQt,2),Jre=new BC(xQt,3),Zre.a=!1,Vre.a=!0,Qre.a=!1,Jre.a=!0;}function Uwt(t){var e;e=t.a;do{(e=$z(G5(new oq(ZD(ldt(e).a.Kc(),new l))),17).c.i).k==(oCt(),Tse)&&t.b.Fc(e);}while(e.k==(oCt(),Tse));t.b=eot(t.b);}function Gwt(t){var e,n,i;for(i=t.c.a,t.p=(yY(i),new Jj(i)),n=new Kd(i);n.an.b)return !0}return !1}function Xwt(t,e){return qM(t)?!!MWt[e]:t.hm?!!t.hm[e]:GM(t)?!!AWt[e]:!!UM(t)&&!!SWt[e]}function Vwt(t,e,n){return null==n?(!t.o&&(t.o=new y7((SYt(),_Ie),eOe,t,0)),Ypt(t.o,e)):(!t.o&&(t.o=new y7((SYt(),_Ie),eOe,t,0)),wkt(t.o,e,n)),t}function Zwt(t,e,n,i){var r;(r=Kht(e.Xe((cWt(),NCe))?$z(e.We(NCe),21):t.j))!=(gWt(),Sre)&&(n&&!abt(r)||qCt(DLt(t,r,i),e));}function Qwt(t,e,n,i){var r,a,o;return a=eet(t.Tg(),e),(r=e-t.Ah())<0?(o=t.Yg(a))>=0?t._g(o,n,!0):rIt(t,a,n):$z(a,66).Nj().Pj(t,t.yh(),r,n,i)}function Jwt(t,e,n,i){var r,a;n.mh(e)&&(ZT(),ctt(e)?mbt(t,$z(n.ah(e),153)):(r=(a=e)?$z(i,49).xh(a):null)&&Rw(n.ah(e),r));}function tyt(t){switch(t.g){case 1:return Pot(),Pre;case 3:return Pot(),Lre;case 2:return Pot(),Nre;case 4:return Pot(),Dre;default:return null}}function eyt(t){switch(typeof t){case DWt:return wyt(t);case LWt:return CQ(t);case OWt:return cN(),t?1231:1237;default:return null==t?0:TN(t)}}function nyt(t,e,n){if(t.e)switch(t.b){case 1:$V(t.c,e,n);break;case 0:FV(t.c,e,n);}else J3(t.c,e,n);t.a[e.p][n.p]=t.c.i,t.a[n.p][e.p]=t.c.e;}function iyt(t){var e,n;if(null==t)return null;for(n=D8(Ase,cXt,193,t.length,0,2),e=0;e=0)return i;if(t.Fk())for(n=0;n=(r=t.gc()))throw Fw(new JR(e,r));if(t.hi()&&(i=t.Xc(n))>=0&&i!=e)throw Fw(new Rv(a8t));return t.mi(e,n)}function cyt(t,e){if(this.a=$z(yY(t),245),this.b=$z(yY(e),245),t.vd(e)>0||t==(tv(),Rte)||e==(Jm(),jte))throw Fw(new Rv("Invalid range: "+$3(t,e)))}function uyt(t){var e,n;for(this.b=new Lw,this.c=t,this.a=!1,n=new Kd(t.a);n.a0),(e&-e)==e)return CQ(e*zLt(t,31)*4.656612873077393e-10);do{i=(n=zLt(t,31))%e;}while(n-i+(e-1)<0);return CQ(i)}function wyt(t){var e,n,i;return n$(),null!=(i=nie[n=":"+t])?CQ((mW(i),i)):(e=null==(i=eie[n])?ZNt(t):CQ((mW(i),i)),SV(),nie[n]=e,e)}function yyt(t,e,n){MEt(n,"Compound graph preprocessor",1),t.a=new pQ,Dqt(t,e,null),UHt(t,e),tNt(t),uct(e,(uWt(),Fhe),t.a),t.a=null,IK(t.b),zCt(n);}function myt(t,e,n){switch(n.g){case 1:t.a=e.a/2,t.b=0;break;case 2:t.a=e.a,t.b=e.b/2;break;case 3:t.a=e.a/2,t.b=e.b;break;case 4:t.a=0,t.b=e.b/2;}}function vyt(t){var e,n,i;for(i=$z(c6(t.a,(L_t(),Tue)),15).Kc();i.Ob();)eY(t,n=$z(i.Pb(),101),(e=zvt(n))[0],(Srt(),Due),0),eY(t,n,e[1],Pue,1);}function xyt(t){var e,n,i;for(i=$z(c6(t.a,(L_t(),Cue)),15).Kc();i.Ob();)eY(t,n=$z(i.Pb(),101),(e=zvt(n))[0],(Srt(),Due),0),eY(t,n,e[1],Pue,1);}function kyt(t){switch(t.g){case 0:return null;case 1:return new Irt;case 2:return new Vm;default:throw Fw(new Rv(r4t+(null!=t.f?t.f:""+t.g)))}}function _yt(t,e,n){var i,r;for(yst(t,e-t.s,n-t.t),r=new Kd(t.n);r.a1&&(r=lyt(t,e)),r}function Tyt(t){var e;return t.f&&t.f.kh()&&(e=$z(t.f,49),t.f=$z(tht(t,e),82),t.f!=e&&4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,9,8,e,t.f))),t.f}function Cyt(t){var e;return t.i&&t.i.kh()&&(e=$z(t.i,49),t.i=$z(tht(t,e),82),t.i!=e&&4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,9,7,e,t.i))),t.i}function Syt(t){var e;return t.b&&64&t.b.Db&&(e=t.b,t.b=$z(tht(t,e),18),t.b!=e&&4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,9,21,e,t.b))),t.b}function Ayt(t,e){var n,i,r;null==t.d?(++t.e,++t.f):(i=e.Sh(),lNt(t,t.f+1),r=(i&PWt)%t.d.length,!(n=t.d[r])&&(n=t.d[r]=t.uj()),n.Fc(e),++t.f);}function Myt(t,e,n){var i;return !e.Kj()&&(-2!=e.Zj()?null==(i=e.zj())?null==n:Dht(i,n):e.Hj()==t.e.Tg()&&null==n)}function Iyt(){var t;hit(16,AXt),t=Zit(16),this.b=D8(Ute,SXt,317,t,0,1),this.c=D8(Ute,SXt,317,t,0,1),this.a=null,this.e=null,this.i=0,this.f=t-1,this.g=0;}function Oyt(t){OR.call(this),this.k=(oCt(),Cse),this.j=(hit(6,IXt),new V6(6)),this.b=(hit(2,IXt),new V6(2)),this.d=new um,this.f=new fm,this.a=t;}function Lyt(t){var e,n;t.c.length<=1||(gSt(t,$z((e=kBt(t,(vKt(),EMe))).a,19).a,$z(e.b,19).a),gSt(t,$z((n=kBt(t,CMe)).a,19).a,$z(n.b,19).a));}function Dyt(){Dyt=I,yye=new jS("SIMPLE",0),pye=new jS(F1t,1),bye=new jS("LINEAR_SEGMENTS",2),gye=new jS("BRANDES_KOEPF",3),wye=new jS(x3t,4);}function Nyt(t,e,n){Oj($z(yTt(e,(zYt(),twe)),98))||(K9(t,e,PCt(e,n)),K9(t,e,PCt(e,(vKt(),EMe))),K9(t,e,PCt(e,sMe)),EV(),wL(e.j,new Rp(t)));}function Pyt(t,e,n,i){var r;for(r=$z(c6(i?t.a:t.b,e),21).Kc();r.Ob();)if(jBt(t,n,$z(r.Pb(),33)))return !0;return !1}function Byt(t){var e,n;for(n=new MD(t);n.e!=n.i.gc();)if((e=$z(vwt(n),87)).e||0!=(!e.d&&(e.d=new ID(KOe,e,1)),e.d).i)return !0;return !1}function Ryt(t){var e,n;for(n=new MD(t);n.e!=n.i.gc();)if((e=$z(vwt(n),87)).e||0!=(!e.d&&(e.d=new ID(KOe,e,1)),e.d).i)return !0;return !1}function jyt(t){var e,n;for(e=0,n=new Kd(t.c.a);n.a102?-1:t<=57?t-48:t<65?-1:t<=70?t-65+10:t<97?-1:t-97+10}function Gyt(t,e){if(null==t)throw Fw(new Fv("null key in entry: null="+e));if(null==e)throw Fw(new Fv("null value in entry: "+t+"=null"))}function qyt(t,e){for(var n,i;t.Ob();){if(!e.Ob())return !1;if(n=t.Pb(),i=e.Pb(),!(HM(n)===HM(i)||null!=n&&Dht(n,i)))return !1}return !e.Ob()}function Kyt(t,n){var i;return i=Cst(Hx(LNe,1),HVt,25,15,[wlt(t.a[0],n),wlt(t.a[1],n),wlt(t.a[2],n)]),t.d&&(i[0]=e.Math.max(i[0],i[2]),i[2]=i[0]),i}function Yyt(t,n){var i;return i=Cst(Hx(LNe,1),HVt,25,15,[ylt(t.a[0],n),ylt(t.a[1],n),ylt(t.a[2],n)]),t.d&&(i[0]=e.Math.max(i[0],i[2]),i[2]=i[0]),i}function Wyt(){Wyt=I,yle=new ES("GREEDY",0),wle=new ES(z1t,1),vle=new ES(F1t,2),xle=new ES("MODEL_ORDER",3),mle=new ES("GREEDY_MODEL_ORDER",4);}function Xyt(t,e){var n,i,r;for(t.b[e.g]=1,i=cwt(e.d,0);i.b!=i.d.c;)r=(n=$z(h3(i),188)).c,1==t.b[r.g]?NH(t.a,n):2==t.b[r.g]?t.b[r.g]=1:Xyt(t,r);}function Vyt(t,e){var n,i,r;for(r=new V6(e.gc()),i=e.Kc();i.Ob();)(n=$z(i.Pb(),286)).c==n.f?uSt(t,n,n.c):iSt(t,n)||(r.c[r.c.length]=n);return r}function Zyt(t,e,n){var i,r,a,o;for(o=t.r+e,t.r+=e,t.d+=n,i=n/t.n.c.length,r=0,a=new Kd(t.n);a.aa&&IY(e,a,null),e}function _mt(t,e){var n,i;if(i=t.gc(),null==e){for(n=0;n0&&(c+=r),u[l]=o,o+=s*(c+i);}function Pmt(t){var e,n,i;for(i=t.f,t.n=D8(LNe,HVt,25,i,15,1),t.d=D8(LNe,HVt,25,i,15,1),e=0;e0?t.c:0),++a;t.b=r,t.d=o;}function Gmt(t,n){var i,r,a,o,s;for(r=0,a=0,i=0,s=new Kd(n);s.a0?t.g:0),++i;t.c=a,t.d=r;}function qmt(t,n){var i;return i=Cst(Hx(LNe,1),HVt,25,15,[pyt(t,(Pet(),Hie),n),pyt(t,Uie,n),pyt(t,Gie,n)]),t.f&&(i[0]=e.Math.max(i[0],i[2]),i[2]=i[0]),i}function Kmt(t,e,n){try{$Rt(t,e+t.j,n+t.k,!1,!0);}catch(t){throw iD(t=hst(t),73)?Fw(new Mv(t.g+SQt+e+$Wt+n+").")):Fw(t)}}function Ymt(t,e,n){try{$Rt(t,e+t.j,n+t.k,!0,!1);}catch(t){throw iD(t=hst(t),73)?Fw(new Mv(t.g+SQt+e+$Wt+n+").")):Fw(t)}}function Wmt(t){var e;OP(t,(zYt(),Ibe))&&((e=$z(yTt(t,Ibe),21)).Hc((JOt(),SAe))?(e.Mc(SAe),e.Fc(MAe)):e.Hc(MAe)&&(e.Mc(MAe),e.Fc(SAe)));}function Xmt(t){var e;OP(t,(zYt(),Ibe))&&((e=$z(yTt(t,Ibe),21)).Hc((JOt(),NAe))?(e.Mc(NAe),e.Fc(LAe)):e.Hc(LAe)&&(e.Mc(LAe),e.Fc(NAe)));}function Vmt(t,e,n){MEt(n,"Self-Loop ordering",1),VE(IX(MX(MX(ftt(new PU(null,new f1(e.b,16)),new Mi),new Ii),new Oi),new Li),new hp(t)),zCt(n);}function Zmt(t,e,n,i){var r,a;for(r=e;r0&&(a.b+=n),a}function ovt(t,n){var i,r,a;for(a=new Hk,r=t.Kc();r.Ob();)QRt(i=$z(r.Pb(),37),0,a.b),a.b+=i.f.b+n,a.a=e.Math.max(a.a,i.f.a);return a.a>0&&(a.a+=n),a}function svt(t){var n,i,r;for(r=PWt,i=new Kd(t.a);i.a>16==6?t.Cb.ih(t,5,zIe,e):(n=Syt($z(eet($z(mot(t,16),26)||t.zh(),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function hvt(t){TZ();var e=t.e;if(e&&e.stack){var n=e.stack,i=e+"\n";return n.substring(0,i.length)==i&&(n=n.substring(i.length)),n.split("\n")}return []}function fvt(t){var e;return Eit(),(e=Mee)[t>>>28]|e[t>>24&15]<<4|e[t>>20&15]<<8|e[t>>16&15]<<12|e[t>>12&15]<<16|e[t>>8&15]<<20|e[t>>4&15]<<24|e[15&t]<<28}function dvt(t){var n,i,r;t.b==t.c&&(r=t.a.length,i=vct(e.Math.max(8,r))<<1,0!=t.b?(ort(t,n=ER(t.a,i),r),t.a=n,t.b=0):Ty(t.a,i),t.c=r);}function gvt(t,e){var n;return (n=t.b).Xe((cWt(),rSe))?n.Hf()==(vKt(),CMe)?-n.rf().a-Hv(_B(n.We(rSe))):e+Hv(_B(n.We(rSe))):n.Hf()==(vKt(),CMe)?-n.rf().a:e}function pvt(t){var e;return 0!=t.b.c.length&&$z(DU(t.b,0),70).a?$z(DU(t.b,0),70).a:null!=(e=tV(t))?e:""+(t.c?x9(t.c.a,t,0):-1)}function bvt(t){var e;return 0!=t.f.c.length&&$z(DU(t.f,0),70).a?$z(DU(t.f,0),70).a:null!=(e=tV(t))?e:""+(t.i?x9(t.i.j,t,0):-1)}function wvt(t,e){var n,i;if(e<0||e>=t.gc())return null;for(n=e;n0?t.c:0),a=e.Math.max(a,n.d),++r;t.e=o,t.b=a;}function vvt(t){var e,n;if(!t.b)for(t.b=C2($z(t.f,118).Ag().i),n=new MD($z(t.f,118).Ag());n.e!=n.i.gc();)e=$z(vwt(n),137),Kz(t.b,new Pv(e));return t.b}function xvt(t,e){var n,i,r;if(e.dc())return dB(),dB(),gOe;for(n=new rR(t,e.gc()),r=new MD(t);r.e!=r.i.gc();)i=vwt(r),e.Hc(i)&&u7(n,i);return n}function kvt(t,e,n,i){return 0==e?i?(!t.o&&(t.o=new y7((SYt(),_Ie),eOe,t,0)),t.o):(!t.o&&(t.o=new y7((SYt(),_Ie),eOe,t,0)),M8(t.o)):Qwt(t,e,n,i)}function _vt(t){var e,n;if(t.rb)for(e=0,n=t.rb.i;e>22))>>22)<0||(t.l=n&TVt,t.m=i&TVt,t.h=r&CVt,0)))}function Avt(t,e,n,i,r,a,o){var s,c;return !(e.Ae()&&(c=t.a.ue(n,i),c<0||0==c)||e.Be()&&(s=t.a.ue(n,a),s>0||0==s))}function Mvt(t,e){if(Gut(),0!=t.j.g-e.j.g)return 0;switch(t.j.g){case 2:return xdt(e,hue)-xdt(t,hue);case 4:return xdt(t,lue)-xdt(e,lue)}return 0}function Ivt(t){switch(t.g){case 0:return Dle;case 1:return Nle;case 2:return Ple;case 3:return Ble;case 4:return Rle;case 5:return jle;default:return null}}function Ovt(t,e,n){var i,r;return Alt(r=new Om,e),Drt(r,n),u7((!t.c&&(t.c=new tK(WOe,t,12,10)),t.c),r),Lnt(i=r,0),Dnt(i,1),Jht(i,!0),Vht(i,!0),i}function Lvt(t,e){var n,i;if(e>=t.i)throw Fw(new OI(e,t.i));return ++t.j,n=t.g[e],(i=t.i-e-1)>0&&aHt(t.g,e+1,t.g,e,i),IY(t.g,--t.i,null),t.fi(e,n),t.ci(),n}function Dvt(t,e){var n;return t.Db>>16==17?t.Cb.ih(t,21,FOe,e):(n=Syt($z(eet($z(mot(t,16),26)||t.zh(),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function Nvt(t){var e,n,i;for(EV(),wL(t.c,t.a),i=new Kd(t.c);i.an.a.c.length))throw Fw(new Rv("index must be >= 0 and <= layer node count"));t.c&&y9(t.c.a,t),t.c=n,n&&mG(n.a,e,t);}function Vvt(t,e){var n,i,r;for(i=new oq(ZD(udt(t).a.Kc(),new l));gOt(i);)return n=$z(G5(i),17),new Fh(yY((r=$z(e.Kb(n),10)).n.b+r.o.b/2));return ev(),ev(),Mte}function Zvt(t,e){this.c=new Dw,this.a=t,this.b=e,this.d=$z(yTt(t,(uWt(),Mfe)),304),HM(yTt(t,(zYt(),Obe)))===HM((g9(),zle))?this.e=new gm:this.e=new dm;}function Qvt(t,n){var i,r,a;for(a=0,r=new Kd(t);r.a>16==6?t.Cb.ih(t,6,BIe,e):(n=Syt($z(eet($z(mot(t,16),26)||(SYt(),yIe),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function uxt(t,e){var n;return t.Db>>16==7?t.Cb.ih(t,1,DIe,e):(n=Syt($z(eet($z(mot(t,16),26)||(SYt(),vIe),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function lxt(t,e){var n;return t.Db>>16==9?t.Cb.ih(t,9,UIe,e):(n=Syt($z(eet($z(mot(t,16),26)||(SYt(),kIe),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function hxt(t,e){var n;return t.Db>>16==5?t.Cb.ih(t,9,GOe,e):(n=Syt($z(eet($z(mot(t,16),26)||(pWt(),oLe),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function fxt(t,e){var n;return t.Db>>16==3?t.Cb.ih(t,0,jIe,e):(n=Syt($z(eet($z(mot(t,16),26)||(pWt(),JOe),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function dxt(t,e){var n;return t.Db>>16==7?t.Cb.ih(t,6,zIe,e):(n=Syt($z(eet($z(mot(t,16),26)||(pWt(),pLe),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function gxt(){this.a=new dc,this.g=new Iyt,this.j=new Iyt,this.b=new Dw,this.d=new Iyt,this.i=new Iyt,this.k=new Dw,this.c=new Dw,this.e=new Dw,this.f=new Dw;}function pxt(t,e,n){var i,r,a;for(n<0&&(n=0),a=t.i,r=n;rUVt)return wxt(t,i);if(i==t)return !0}}return !1}function yxt(t){switch(NN(),t.q.g){case 5:wMt(t,(vKt(),sMe)),wMt(t,EMe);break;case 4:GLt(t,(vKt(),sMe)),GLt(t,EMe);break;default:wKt(t,(vKt(),sMe)),wKt(t,EMe);}}function mxt(t){switch(NN(),t.q.g){case 5:TIt(t,(vKt(),oMe)),TIt(t,CMe);break;case 4:Swt(t,(vKt(),oMe)),Swt(t,CMe);break;default:yKt(t,(vKt(),oMe)),yKt(t,CMe);}}function vxt(t){var e,n;(e=$z(yTt(t,(lRt(),Qae)),19))?(n=e.a,uct(t,(Ert(),coe),0==n?new cdt:new C4(n))):uct(t,(Ert(),coe),new C4(1));}function xxt(t,e){var n;switch(n=t.i,e.g){case 1:return -(t.n.b+t.o.b);case 2:return t.n.a-n.o.a;case 3:return t.n.b-n.o.b;case 4:return -(t.n.a+t.o.a)}return 0}function kxt(t,e){switch(t.g){case 0:return e==(_dt(),jfe)?nue:iue;case 1:return e==(_dt(),jfe)?nue:eue;case 2:return e==(_dt(),jfe)?eue:iue;default:return eue}}function _xt(t,n){var i,r,a;for(y9(t.a,n),t.e-=n.r+(0==t.a.c.length?0:t.c),a=J3t,r=new Kd(t.a);r.a>16==3?t.Cb.ih(t,12,UIe,e):(n=Syt($z(eet($z(mot(t,16),26)||(SYt(),wIe),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function Txt(t,e){var n;return t.Db>>16==11?t.Cb.ih(t,10,UIe,e):(n=Syt($z(eet($z(mot(t,16),26)||(SYt(),xIe),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function Cxt(t,e){var n;return t.Db>>16==10?t.Cb.ih(t,11,FOe,e):(n=Syt($z(eet($z(mot(t,16),26)||(pWt(),dLe),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function Sxt(t,e){var n;return t.Db>>16==10?t.Cb.ih(t,12,YOe,e):(n=Syt($z(eet($z(mot(t,16),26)||(pWt(),bLe),t.Db>>16),18)),t.Cb.ih(t,n.n,n.f,e))}function Axt(t){var e;return 1&t.Bb||!t.r||!t.r.kh()||(e=$z(t.r,49),t.r=$z(tht(t,e),138),t.r!=e&&4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,9,8,e,t.r))),t.r}function Mxt(t,n,i){var r;return r=Cst(Hx(LNe,1),HVt,25,15,[nTt(t,(Pet(),Hie),n,i),nTt(t,Uie,n,i),nTt(t,Gie,n,i)]),t.f&&(r[0]=e.Math.max(r[0],r[2]),r[2]=r[0]),r}function Ixt(t,e){var n,i,r;if(0!=(r=Vyt(t,e)).c.length)for(wL(r,new ei),n=r.c.length,i=0;i>19)!=(s=e.h>>19)?s-o:(i=t.h)!=(a=e.h)?i-a:(n=t.m)!=(r=e.m)?n-r:t.l-e.l}function jxt(){jxt=I,tRt(),Tie=new II(qZt,Cie=Die),Ptt(),_ie=new II(KZt,Eie=wie),uwt(),xie=new II(YZt,kie=die),vie=new II(WZt,(cN(),!0));}function $xt(t,e,n){var i,r;i=e*n,iD(t.g,145)?(r=u3(t)).f.d?r.f.a||(t.d.a+=i+lQt):(t.d.d-=i+lQt,t.d.a+=i+lQt):iD(t.g,10)&&(t.d.d-=i,t.d.a+=2*i);}function Fxt(t,n,i){var r,a,o,s,c;for(a=t[i.g],c=new Kd(n.d);c.a0?t.g:0),++i;n.b=r,n.e=a;}function Hxt(t){var e,n,i;if(i=t.b,zE(t.i,i.length)){for(n=2*i.length,t.b=D8(Ute,SXt,317,n,0,1),t.c=D8(Ute,SXt,317,n,0,1),t.f=n-1,t.i=0,e=t.a;e;e=e.c)VAt(t,e,e);++t.g;}}function Uxt(t,e,n,i){var r,a,o,s;for(r=0;rs&&(c=s/r),(a=e.Math.abs(t.b))>o&&(u=o/a),mD(t,e.Math.min(c,u)),t}function Kxt(){var t,e;Hzt();try{if(e=$z(Kkt((KT(),HOe),m6t),2014))return e}catch(e){if(!iD(e=hst(e),102))throw Fw(e);t=e,aq((aL(),t));}return new sc}function Yxt(){var t,e;d9();try{if(e=$z(Kkt((KT(),HOe),T9t),2024))return e}catch(e){if(!iD(e=hst(e),102))throw Fw(e);t=e,aq((aL(),t));}return new Bu}function Wxt(){var t,e;Hzt();try{if(e=$z(Kkt((KT(),HOe),W7t),1941))return e}catch(e){if(!iD(e=hst(e),102))throw Fw(e);t=e,aq((aL(),t));}return new Uc}function Xxt(t,e,n){var i,r;return r=t.e,t.e=e,4&t.Db&&!(1&t.Db)&&(i=new Qq(t,1,4,r,e),n?n.Ei(i):n=i),r!=e&&(n=aqt(t,e?vDt(t,e):t.a,n)),n}function Vxt(){ME.call(this),this.e=-1,this.a=!1,this.p=jXt,this.k=-1,this.c=-1,this.b=-1,this.g=!1,this.f=-1,this.j=-1,this.n=-1,this.i=-1,this.d=-1,this.o=jXt;}function Zxt(t,e){var n,i,r;if(i=t.b.d.d,t.a||(i+=t.b.d.a),r=e.b.d.d,e.a||(r+=e.b.d.a),0==(n=Cft(i,r))){if(!t.a&&e.a)return -1;if(!e.a&&t.a)return 1}return n}function Qxt(t,e){var n,i,r;if(i=t.b.b.d,t.a||(i+=t.b.b.a),r=e.b.b.d,e.a||(r+=e.b.b.a),0==(n=Cft(i,r))){if(!t.a&&e.a)return -1;if(!e.a&&t.a)return 1}return n}function Jxt(t,e){var n,i,r;if(i=t.b.g.d,t.a||(i+=t.b.g.a),r=e.b.g.d,e.a||(r+=e.b.g.a),0==(n=Cft(i,r))){if(!t.a&&e.a)return -1;if(!e.a&&t.a)return 1}return n}function tkt(){tkt=I,Loe=KG(dU(dU(dU(new $2,(mTt(),joe),(hWt(),yce)),joe,kce),$oe,Mce),$oe,oce),Noe=dU(dU(new $2,joe,Vse),joe,sce),Doe=KG(new $2,$oe,uce);}function ekt(t){var e,n,i,r,a;for(e=$z(yTt(t,(uWt(),Uhe)),83),a=t.n,i=e.Cc().Kc();i.Ob();)(r=(n=$z(i.Pb(),306)).i).c+=a.a,r.d+=a.b,n.c?DBt(n):NBt(n);uct(t,Uhe,null);}function nkt(t,e,n){var i,r;switch(i=(r=t.b).d,e.g){case 1:return -i.d-n;case 2:return r.o.a+i.c+n;case 3:return r.o.b+i.a+n;case 4:return -i.b-n;default:return -1}}function ikt(t){var e,n,i,r,a;if(i=0,r=QQt,t.b)for(e=0;e<360;e++)n=.017453292519943295*e,qjt(t,t.d,0,0,Q3t,n),(a=t.b.ig(t.d))0&&(r=aIt(t,(a&PWt)%t.d.length,a,e))?r.ed(n):(i=t.tj(a,e,n),t.c.Fc(i),null)}function ykt(t,e){var n,i,r,a;switch(Sht(t,e)._k()){case 3:case 2:for(r=0,a=(n=Vzt(e)).i;r=0;r--)if(wj(t[r].d,n)||wj(t[r].d,i)){t.length>=r+1&&t.splice(0,r+1);break}return t}function Mkt(t,n){var i;return VI(t)&&VI(n)&&OVt<(i=t/n)&&i0&&(t.b+=2,t.a+=r):(t.b+=1,t.a+=e.Math.min(r,a));}function Rkt(t,e){var n;if(n=!1,qM(e)&&(n=!0,QY(t,new HY(EB(e)))),n||iD(e,236)&&(n=!0,QY(t,new Ef(qj($z(e,236))))),!n)throw Fw(new Ov(z6t))}function jkt(t,e,n,i){var r,a,o;return r=new L9(t.e,1,10,iD(o=e.c,88)?$z(o,26):(pWt(),fLe),iD(a=n.c,88)?$z(a,26):(pWt(),fLe),oyt(t,e),!1),i?i.Ei(r):i=r,i}function $kt(t){var e,n;switch($z(yTt(bW(t),(zYt(),pbe)),420).g){case 0:return e=t.n,n=t.o,new DA(e.a+n.a/2,e.b+n.b/2);case 1:return new fO(t.n);default:return null}}function Fkt(){Fkt=I,Wle=new MS(XJt,0),Yle=new MS("LEFTUP",1),Vle=new MS("RIGHTUP",2),Kle=new MS("LEFTDOWN",3),Xle=new MS("RIGHTDOWN",4),qle=new MS("BALANCED",5);}function zkt(t,e,n){var i,r,a;if(0==(i=Cft(t.a[e.p],t.a[n.p]))){if(r=$z(yTt(e,(uWt(),ife)),15),a=$z(yTt(n,ife),15),r.Hc(n))return -1;if(a.Hc(e))return 1}return i}function Hkt(t){switch(t.g){case 1:return new Fo;case 2:return new zo;case 3:return new $o;case 0:return null;default:throw Fw(new Rv(r4t+(null!=t.f?t.f:""+t.g)))}}function Ukt(t,e,n){switch(e){case 1:return !t.n&&(t.n=new tK(HIe,t,1,7)),cUt(t.n),!t.n&&(t.n=new tK(HIe,t,1,7)),void pY(t.n,$z(n,14));case 2:return void Oit(t,EB(n))}iut(t,e,n);}function Gkt(t,e,n){switch(e){case 3:return void Ent(t,Hv(_B(n)));case 4:return void Tnt(t,Hv(_B(n)));case 5:return void Cnt(t,Hv(_B(n)));case 6:return void Snt(t,Hv(_B(n)))}Ukt(t,e,n);}function qkt(t,e,n){var i,r;(i=zEt(r=new Om,e,null))&&i.Fi(),Drt(r,n),u7((!t.c&&(t.c=new tK(WOe,t,12,10)),t.c),r),Lnt(r,0),Dnt(r,1),Jht(r,!0),Vht(r,!0);}function Kkt(t,e){var n,i;return iD(n=cC(t.g,e),235)?((i=$z(n,235)).Qh(),i.Nh()):iD(n,498)?i=$z(n,1938).b:null}function Ykt(t,e,n,i){var r,a;return yY(e),yY(n),P9(!!(a=$z(Gj(t.d,e),19)),"Row %s not in %s",e,t.e),P9(!!(r=$z(Gj(t.b,n),19)),"Column %s not in %s",n,t.c),Tst(t,a.a,r.a,i)}function Wkt(t,e,n,i,r,a,o){var s,c,u,l,h;if(h=Fmt(s=(u=a==o-1)?i:0,l=r[a]),10!=i&&Cst(Hx(t,o-a),e[a],n[a],s,h),!u)for(++a,c=0;c1||-1==s?(a=$z(c,15),r.Wb(Kpt(t,a))):r.Wb(t$t(t,$z(c,56))));}function u_t(t,e,n,i){X_();var r=CWt;function a(){for(var t=0;tP3t)return n;i>-1e-6&&++n;}return n}function v_t(t,e){var n;e!=t.b?(n=null,t.b&&(n=oQ(t.b,t,-4,n)),e&&(n=Dwt(e,t,-4,n)),(n=Qlt(t,e,n))&&n.Fi()):4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,1,3,e,e));}function x_t(t,e){var n;e!=t.f?(n=null,t.f&&(n=oQ(t.f,t,-1,n)),e&&(n=Dwt(e,t,-1,n)),(n=Jlt(t,e,n))&&n.Fi()):4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,1,0,e,e));}function k_t(t){var e,n,i;if(null==t)return null;if((n=$z(t,15)).dc())return "";for(i=new Ex,e=n.Kc();e.Ob();)iI(i,(qUt(),EB(e.Pb()))),i.a+=" ";return BI(i,i.a.length-1)}function __t(t){var e,n,i;if(null==t)return null;if((n=$z(t,15)).dc())return "";for(i=new Ex,e=n.Kc();e.Ob();)iI(i,(qUt(),EB(e.Pb()))),i.a+=" ";return BI(i,i.a.length-1)}function E_t(t,e,n){var i,r;return i=t.c[e.c.p][e.p],r=t.c[n.c.p][n.p],null!=i.a&&null!=r.a?kq(i.a,r.a):null!=i.a?-1:null!=r.a?1:0}function T_t(t,e){var n,i,r;if(e)for(r=((n=new cq(e.a.length)).b-n.a)*n.c<0?(tC(),kNe):new qD(n);r.Ob();)i=D2(e,$z(r.Pb(),19).a),AX(new $b(t).a,i);}function C_t(t,e){var n,i,r;if(e)for(r=((n=new cq(e.a.length)).b-n.a)*n.c<0?(tC(),kNe):new qD(n);r.Ob();)i=D2(e,$z(r.Pb(),19).a),SX(new Ib(t).a,i);}function S_t(t){if(null!=t&&t.length>0&&33==uX(t,t.length-1))try{return null==VSt(uP(t,0,t.length-1)).e}catch(t){if(!iD(t=hst(t),32))throw Fw(t)}return !1}function A_t(t,e,n){var i,r,a;return i=e.ak(),a=e.dd(),r=i.$j()?OZ(t,3,i,null,a,bzt(t,i,a,iD(i,99)&&!!($z(i,18).Bb&FVt)),!0):OZ(t,1,i,i.zj(),a,-1,!0),n?n.Ei(r):n=r,n}function M_t(){var t,e,n;for(e=0,t=0;t<1;t++){if(0==(n=XIt((h1(t,1),"X".charCodeAt(t)))))throw Fw(new rx("Unknown Option: "+"X".substr(t)));e|=n;}return e}function I_t(t,e,n){var i,r;switch(i=Yft(bW(e)),CJ(r=new SCt,e),n.g){case 1:HAt(r,_ft(ugt(i)));break;case 2:HAt(r,ugt(i));}return uct(r,(zYt(),Jbe),_B(yTt(t,Jbe))),r}function O_t(t){var e,n;return e=$z(G5(new oq(ZD(ldt(t.a).a.Kc(),new l))),17),n=$z(G5(new oq(ZD(hdt(t.a).a.Kc(),new l))),17),zv(kB(yTt(e,(uWt(),Cfe))))||zv(kB(yTt(n,Cfe)))}function L_t(){L_t=I,_ue=new yS("ONE_SIDE",0),Tue=new yS("TWO_SIDES_CORNER",1),Cue=new yS("TWO_SIDES_OPPOSING",2),Eue=new yS("THREE_SIDES",3),kue=new yS("FOUR_SIDES",4);}function D_t(t,e,n,i,r){var a,o;a=$z(T4(MX(e.Oc(),new Jr),w7(new H,new z,new it,Cst(Hx(Qne,1),OXt,132,0,[(Hut(),Gne)]))),15),o=$z(pot(t.b,n,i),15),0==r?o.Wc(0,a):o.Gc(a);}function N_t(t,e){var n,i,r;for(i=new Kd(e.a);i.a0&&jvt(this,this.c-1,(vKt(),oMe)),this.c0&&t[0].length>0&&(this.c=zv(kB(yTt(bW(t[0][0]),(uWt(),rfe))))),this.a=D8(Tme,cXt,2018,t.length,0,2),this.b=D8(Ome,cXt,2019,t.length,0,2),this.d=new _lt;}function K_t(t){return 0!=t.c.length&&((l1(0,t.c.length),$z(t.c[0],17)).c.i.k==(oCt(),Tse)||o5(IX(new PU(null,new f1(t,16)),new ja),new $a))}function Y_t(t,e,n){return MEt(n,"Tree layout",1),c2(t.b),CK(t.b,(Gvt(),Pve),Pve),CK(t.b,Bve,Bve),CK(t.b,Rve,Rve),CK(t.b,jve,jve),t.a=OUt(t.b,e),hPt(t,e,yat(n,1)),zCt(n),e}function W_t(t,n){var i,r,a,o,s,c;for(s=dBt(n),a=n.f,c=n.g,o=e.Math.sqrt(a*a+c*c),r=0,i=new Kd(s);i.a=0?(n=Mkt(t,IVt),i=hpt(t,IVt)):(n=Mkt(e=vq(t,1),5e8),i=idt(yq(i=hpt(e,5e8),1),t0(t,1))),e0(yq(i,32),t0(n,qVt))}function hEt(t,e,n){var i;switch(TP(0!=e.b),i=$z(Iet(e,e.a.a),8),n.g){case 0:i.b=0;break;case 2:i.b=t.f;break;case 3:i.a=0;break;default:i.a=t.g;}return QK(cwt(e,0),i),e}function fEt(t,e,n,i){var r,a,o,s,c;switch(c=t.b,s=Gbt(o=(a=e.d).j,c.d[o.g],n),r=GR($L(a.n),a.a),a.j.g){case 1:case 3:s.a+=r.a;break;case 2:case 4:s.b+=r.b;}n5(i,s,i.c.b,i.c);}function dEt(t,e,n){var i,r,a,o;for(o=x9(t.e,e,0),(a=new nm).b=n,i=new _2(t.e,o);i.b1;e>>=1)1&e&&(i=Ltt(i,n)),n=1==n.d?Ltt(n,n):new Sbt(A$t(n.a,n.d,D8(ANe,uVt,25,n.d<<1,15,1)));return i=Ltt(i,n)}function mEt(){var t,e,n,i;for(mEt=I,Ane=D8(LNe,HVt,25,25,15,1),Mne=D8(LNe,HVt,25,33,15,1),i=152587890625e-16,e=32;e>=0;e--)Mne[e]=i,i*=.5;for(n=1,t=24;t>=0;t--)Ane[t]=n,n*=.5;}function vEt(t){var e,n;if(zv(kB(QOt(t,(zYt(),fbe)))))for(n=new oq(ZD(gDt(t).a.Kc(),new l));gOt(n);)if(XMt(e=$z(G5(n),79))&&zv(kB(QOt(e,dbe))))return !0;return !1}function xEt(t,e){var n,i,r;kK(t.f,e)&&(e.b=t,i=e.c,-1!=x9(t.j,i,0)||Kz(t.j,i),r=e.d,-1!=x9(t.j,r,0)||Kz(t.j,r),0!=(n=e.a.b).c.length&&(!t.i&&(t.i=new ewt(t)),wot(t.i,n)));}function kEt(t){var e,n,i,r;return (n=(e=t.c.d).j)==(r=(i=t.d.d).j)?e.p=0&&wj(t.substr(e,3),"GMT")||e>=0&&wj(t.substr(e,3),"UTC")?(n[0]=e+3,m$t(t,n,i)):m$t(t,n,i)}function AEt(t,e){var n,i,r,a,o;for(a=t.g.a,o=t.g.b,i=new Kd(t.d);i.an;a--)t[a]|=e[a-n-1]>>>o,t[a-1]=e[a-n-1]<=t.f)break;a.c[a.c.length]=n;}return a}function jEt(t){var e,n,i,r;for(e=null,r=new Kd(t.wf());r.a0&&aHt(t.g,e,t.g,e+i,s),o=n.Kc(),t.i+=i,r=0;ra&&sK(u,ret(n[s],kne))&&(r=s,a=c);return r>=0&&(i[0]=e+a),r}function qEt(t,e){var n;if(0!=(n=XI(t.b.Hf(),e.b.Hf())))return n;switch(t.b.Hf().g){case 1:case 2:return xL(t.b.sf(),e.b.sf());case 3:case 4:return xL(e.b.sf(),t.b.sf())}return 0}function KEt(t){var e,n,i;for(i=t.e.c.length,t.a=mU(ANe,[cXt,uVt],[48,25],15,[i,i],2),n=new Kd(t.c);n.a>4&15,a=15&t[i],o[r++]=AIe[n],o[r++]=AIe[a];return Fpt(o,0,o.length)}function XEt(t,e,n){var i,r,a;return i=e.ak(),a=e.dd(),r=i.$j()?OZ(t,4,i,a,null,bzt(t,i,a,iD(i,99)&&!!($z(i,18).Bb&FVt)),!0):OZ(t,i.Kj()?2:1,i,a,i.zj(),-1,!0),n?n.Ei(r):n=r,n}function VEt(t){var e,n;return t>=FVt?(e=zVt+(t-FVt>>10&1023)&XXt,n=56320+(t-FVt&1023)&XXt,String.fromCharCode(e)+""+String.fromCharCode(n)):String.fromCharCode(t&XXt)}function ZEt(t,e){var n,i,r,a;return zB(),(r=$z($z(c6(t.r,e),21),84)).gc()>=2&&(i=$z(r.Kc().Pb(),111),n=t.u.Hc((hMt(),JAe)),a=t.u.Hc(iMe),!i.a&&!n&&(2==r.gc()||a))}function QEt(t,e,n,i,r){var a,o,s;for(a=eBt(t,e,n,i,r),s=!1;!a;)kLt(t,r,!0),s=!0,a=eBt(t,e,n,i,r);s&&kLt(t,r,!1),0!=(o=Pst(r)).c.length&&(t.d&&t.d.lg(o),QEt(t,r,n,i,o));}function JEt(){JEt=I,rAe=new $A(XJt,0),nAe=new $A("DIRECTED",1),aAe=new $A("UNDIRECTED",2),tAe=new $A("ASSOCIATION",3),iAe=new $A("GENERALIZATION",4),eAe=new $A("DEPENDENCY",5);}function tTt(t,e){var n;if(!KQ(t))throw Fw(new jv($5t));switch(n=KQ(t),e.g){case 1:return -(t.j+t.f);case 2:return t.i-n.g;case 3:return t.j-n.f;case 4:return -(t.i+t.g)}return 0}function eTt(t,e){var n,i;for(mW(e),i=t.b.c.length,Kz(t.b,e);i>0;){if(n=i,i=(i-1)/2|0,t.a.ue(DU(t.b,i),e)<=0)return i5(t.b,n,e),!0;i5(t.b,n,DU(t.b,i));}return i5(t.b,i,e),!0}function nTt(t,n,i,r){var a,o;if(a=0,i)a=ylt(t.a[i.g][n.g],r);else for(o=0;o=o)}function rTt(t,e,n,i){var r;if(r=!1,qM(i)&&(r=!0,MH(e,n,EB(i))),r||UM(i)&&(r=!0,rTt(t,e,n,i)),r||iD(i,236)&&(r=!0,zV(e,n,$z(i,236))),!r)throw Fw(new Ov(z6t))}function aTt(t,e){var n,i,r;if((n=e.Hh(t.a))&&null!=(r=rpt((!n.b&&(n.b=new VP((pWt(),yLe),GLe,n)),n.b),$7t)))for(i=1;i<(ASt(),WLe).length;++i)if(wj(WLe[i],r))return i;return 0}function oTt(t,e){var n,i,r;if((n=e.Hh(t.a))&&null!=(r=rpt((!n.b&&(n.b=new VP((pWt(),yLe),GLe,n)),n.b),$7t)))for(i=1;i<(ASt(),XLe).length;++i)if(wj(XLe[i],r))return i;return 0}function sTt(t,e){var n,i,r,a;if(mW(e),(a=t.a.gc())0?1:0;a.a[r]!=n;)a=a.a[r],r=t.a.ue(n.d,a.d)>0?1:0;a.a[r]=i,i.b=n.b,i.a[0]=n.a[0],i.a[1]=n.a[1],n.a[0]=null,n.a[1]=null;}function dTt(t){return hMt(),!(Sot(AQ(xG(tMe,Cst(Hx(SMe,1),OXt,273,0,[nMe])),t))>1||Sot(AQ(xG(JAe,Cst(Hx(SMe,1),OXt,273,0,[QAe,iMe])),t))>1)}function gTt(t,e){iD(EQ((KT(),HOe),t),498)?wJ(HOe,t,new AM(this,e)):wJ(HOe,t,this),nCt(this,e),e==(e_(),ZOe)?(this.wb=$z(this,1939),$z(e,1941)):this.wb=(WY(),QOe);}function pTt(t){var e,n;if(null==t)return null;for(e=null,n=0;n=WXt?"error":i>=900?"warn":i>=800?"info":"log",t.a),t.b&&NNt(e,n,t.b,"Exception: ",!0));}function yTt(t,e){var n,i;return !t.q&&(t.q=new Dw),null!=(i=PY(t.q,e))?i:(iD(n=e.wg(),4)&&(null==n?(!t.q&&(t.q=new Dw),b6(t.q,e)):(!t.q&&(t.q=new Dw),YW(t.q,e,n))),n)}function mTt(){mTt=I,Poe=new YC("P1_CYCLE_BREAKING",0),Boe=new YC("P2_LAYERING",1),Roe=new YC("P3_NODE_ORDERING",2),joe=new YC("P4_NODE_PLACEMENT",3),$oe=new YC("P5_EDGE_ROUTING",4);}function vTt(t,e){var n,i,r,a;for(i=(1==e?Koe:qoe).a.ec().Kc();i.Ob();)for(n=$z(i.Pb(),103),a=$z(c6(t.f.c,n),21).Kc();a.Ob();)r=$z(a.Pb(),46),y9(t.b.b,r.b),y9(t.b.a,$z(r.b,81).d);}function xTt(t,e){var n;if(Ntt(),t.c==e.c){if(t.b==e.b||uat(t.b,e.b)){if(n=ZI(t.b)?1:-1,t.a&&!e.a)return n;if(!t.a&&e.a)return -n}return xL(t.b.g,e.b.g)}return Cft(t.c,e.c)}function kTt(t,e){var n;MEt(e,"Hierarchical port position processing",1),(n=t.b).c.length>0&&n$t((l1(0,n.c.length),$z(n.c[0],29)),t),n.c.length>1&&n$t($z(DU(n,n.c.length-1),29),t),zCt(e);}function _Tt(t,e){var n,i;if(DTt(t,e))return !0;for(i=new Kd(e);i.a=(r=t.Vi())||e<0)throw Fw(new Mv(o8t+e+s8t+r));if(n>=r||n<0)throw Fw(new Mv(c8t+n+s8t+r));return e!=n?(a=t.Ti(n),t.Hi(e,a),i=a):i=t.Oi(n),i}function OTt(t){var e,n,i;if(i=t,t)for(e=0,n=t.Ug();n;n=n.Ug()){if(++e>UVt)return OTt(n);if(i=n,n==t)throw Fw(new jv("There is a cycle in the containment hierarchy of "+t))}return i}function LTt(t){var e,n,i;for(i=new Oot($Wt,"[","]"),n=t.Kc();n.Ob();)h6(i,HM(e=n.Pb())===HM(t)?"(this Collection)":null==e?GWt:Fdt(e));return i.a?0==i.e.length?i.a.a:i.a.a+""+i.e:i.c}function DTt(t,e){var n,i;if(i=!1,e.gc()<2)return !1;for(n=0;ni&&(h1(e-1,t.length),t.charCodeAt(e-1)<=32);)--e;return i>0||e1&&(t.j.b+=t.e)):(t.j.a+=i.a,t.j.b=e.Math.max(t.j.b,i.b),t.d.c.length>1&&(t.j.a+=t.e));}function jTt(){jTt=I,Iue=Cst(Hx(jMe,1),VJt,61,0,[(vKt(),sMe),oMe,EMe]),Mue=Cst(Hx(jMe,1),VJt,61,0,[oMe,EMe,CMe]),Oue=Cst(Hx(jMe,1),VJt,61,0,[EMe,CMe,sMe]),Lue=Cst(Hx(jMe,1),VJt,61,0,[CMe,sMe,oMe]);}function $Tt(t,e,n,i){var r,a,o,s,c;if(a=t.c.d,o=t.d.d,a.j!=o.j)for(c=t.b,r=a.j,s=null;r!=o.j;)s=0==e?Eft(r):kft(r),NH(i,GR(Gbt(r,c.d[r.g],n),Gbt(s,c.d[s.g],n))),r=s;}function FTt(t,e,n,i){var r,a,o,s,c;return s=$z((o=Hvt(t.a,e,n)).a,19).a,a=$z(o.b,19).a,i&&(c=$z(yTt(e,(uWt(),xfe)),10),r=$z(yTt(n,xfe),10),c&&r&&(J3(t.b,c,r),s+=t.b.i,a+=t.b.e)),s>a}function zTt(t){var e,n,i,r,a,o,s,c;for(this.a=iyt(t),this.b=new Lw,i=0,r=(n=t).length;ijB(t.d).c?(t.i+=t.g.c,ppt(t.d)):jB(t.d).c>jB(t.g).c?(t.e+=t.d.c,ppt(t.g)):(t.i+=zU(t.g),t.e+=zU(t.d),ppt(t.g),ppt(t.d));}function qTt(t,e,n){var i,r,a,o;for(a=e.q,o=e.r,new UJ((A6(),kve),e,a,1),new UJ(kve,a,o,1),r=new Kd(n);r.ac&&(u=c/r),(a=e.Math.abs(n.b-t.b))>o&&(l=o/a),s=e.Math.min(u,l),t.a+=s*(n.a-t.a),t.b+=s*(n.b-t.b);}function JTt(t,e,n,i,r){var a,o;for(o=!1,a=$z(DU(n.b,0),33);uzt(t,e,a,i,r)&&(o=!0,r_t(n,a),0!=n.b.c.length);)a=$z(DU(n.b,0),33);return 0==n.b.c.length&&_xt(n.j,n),o&&Umt(e.q),o}function tCt(t,e){var n,i,r,a;if(xBt(),e.b<2)return !1;for(i=n=$z(h3(a=cwt(e,0)),8);a.b!=a.d.c;){if(rNt(t,i,r=$z(h3(a),8)))return !0;i=r;}return !!rNt(t,i,n)}function eCt(t,e,n,i){return 0==n?(!t.o&&(t.o=new y7((SYt(),_Ie),eOe,t,0)),$j(t.o,e,i)):$z(eet($z(mot(t,16),26)||t.zh(),n),66).Nj().Rj(t,lbt(t),n-hY(t.zh()),e,i)}function nCt(t,e){var n;e!=t.sb?(n=null,t.sb&&(n=$z(t.sb,49).ih(t,1,$Ie,n)),e&&(n=$z(e,49).gh(t,1,$Ie,n)),(n=xht(t,e,n))&&n.Fi()):4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,1,4,e,e));}function iCt(t,e){var n,i;if(!e)throw Fw(new tx("All edge sections need an end point."));n=Bnt(e,"x"),_nt(new Bb(t).a,(mW(n),n)),i=Bnt(e,"y"),Mnt(new Rb(t).a,(mW(i),i));}function rCt(t,e){var n,i;if(!e)throw Fw(new tx("All edge sections need a start point."));n=Bnt(e,"x"),Ant(new Db(t).a,(mW(n),n)),i=Bnt(e,"y"),Int(new Nb(t).a,(mW(i),i));}function aCt(t,e){var n,i,r,a,o;for(i=0,a=but(t).length;i>22-e,r=t.h<>22-e):e<44?(n=0,i=t.l<>44-e):(n=0,i=0,r=t.l<t)throw Fw(new Rv("k must be smaller than n"));return 0==e||e==t?1:0==t?0:Ekt(t)/(Ekt(e)*Ekt(t-e))}function wCt(t,e){var n,i,r,a;for(n=new AO(t);null!=n.g||n.c?null==n.g||0!=n.i&&$z(n.g[n.i-1],47).Ob():JQ(n);)if(iD(a=$z(aDt(n),56),160))for(i=$z(a,160),r=0;r>4],e[2*n+1]=WDe[15&r];return Fpt(e,0,e.length)}function DCt(t){var e;switch(QW(),t.c.length){case 0:return Fte;case 1:return SH((e=$z(ZAt(new Kd(t)),42)).cd(),e.dd());default:return new cv($z(Xbt(t,D8(zte,vXt,42,t.c.length,0,1)),165))}}function NCt(t){var e,n,i,r,a;for(e=new Ow,n=new Ow,d3(e,t),d3(n,t);n.b!=n.c;)for(a=new Kd($z(dK(n),37).a);a.a0&&ojt(t,n,e),r):AIt(t,e,n)}function jCt(t,e,n){var i,r,a,o;if(0!=e.b){for(i=new XE,o=cwt(e,0);o.b!=o.d.c;)$rt(i,Nst(a=$z(h3(o),86))),(r=a.e).a=$z(yTt(a,(HUt(),gxe)),19).a,r.b=$z(yTt(a,pxe),19).a;jCt(t,i,yat(n,i.b/t.a|0));}}function $Ct(t,e){var n,i,r,a,o;if(t.e<=e)return t.g;if(U1(t,t.g,e))return t.g;for(a=t.r,i=t.g,o=t.r,r=(a-i)/2+i;i+11&&(t.e.b+=t.a)):(t.e.a+=i.a,t.e.b=e.Math.max(t.e.b,i.b),t.d.c.length>1&&(t.e.a+=t.a));}function KCt(t){var e,n,i,r;switch(e=(r=t.i).b,i=r.j,n=r.g,r.a.g){case 0:n.a=(t.g.b.o.a-i.a)/2;break;case 1:n.a=e.d.n.a+e.d.a.a;break;case 2:n.a=e.d.n.a+e.d.a.a-i.a;break;case 3:n.b=e.d.n.b+e.d.a.b;}}function YCt(t,e,n,i,r){if(ii&&(t.a=i),t.br&&(t.b=r),t}function WCt(t){if(iD(t,149))return ENt($z(t,149));if(iD(t,229))return Qdt($z(t,229));if(iD(t,23))return uCt($z(t,23));throw Fw(new Rv(G6t+LTt(new Vv(Cst(Hx(Ite,1),zWt,1,5,[t])))))}function XCt(t,e,n,i,r){var a,o,s;for(a=!0,o=0;o>>r|n[o+i+1]<>>r,++o;}return a}function VCt(t,e,n,i){var r,a;if(e.k==(oCt(),Tse))for(a=new oq(ZD(ldt(e).a.Kc(),new l));gOt(a);)if((r=$z(G5(a),17)).c.i.k==Tse&&t.c.a[r.c.i.c.p]==i&&t.c.a[e.c.p]==n)return !0;return !1}function ZCt(t,e){var n,i,r,a;return e&=63,n=t.h&CVt,e<22?(a=n>>>e,r=t.m>>e|n<<22-e,i=t.l>>e|t.m<<22-e):e<44?(a=0,r=n>>>e-22,i=t.m>>e-22|t.h<<44-e):(a=0,r=0,i=n>>>e-44),_L(i&TVt,r&TVt,a&CVt)}function QCt(t,e,n,i){var r;this.b=i,this.e=t==(sit(),Mme),r=e[n],this.d=mU(MNe,[cXt,QZt],[177,25],16,[r.length,r.length],2),this.a=mU(ANe,[cXt,uVt],[48,25],15,[r.length,r.length],2),this.c=new G_t(e,n);}function JCt(t){var e,n,i;for(t.k=new o1((vKt(),Cst(Hx(jMe,1),VJt,61,0,[TMe,sMe,oMe,EMe,CMe])).length,t.j.c.length),i=new Kd(t.j);i.a=n)return uSt(t,e,i.p),!0;return !1}function rSt(t){var e;return 64&t.Db?yCt(t):(e=new lN(Q5t),!t.a||oI(oI((e.a+=' "',e),t.a),'"'),oI(m_(oI(m_(oI(m_(oI(m_((e.a+=" (",e),t.i),","),t.j)," | "),t.g),","),t.f),")"),e.a)}function aSt(t,e,n){var i,r,a,o,s;for(s=aPt(t.e.Tg(),e),r=$z(t.g,119),i=0,o=0;on?gAt(t,n,"start index"):e<0||e>n?gAt(e,n,"end index"):ORt("end index (%s) must not be less than start index (%s)",Cst(Hx(Ite,1),zWt,1,5,[nft(e),nft(t)]))}function cSt(t,e){var n,i,r,a;for(i=0,r=t.length;i0&&hSt(t,a,n));e.p=0;}function fSt(t){var e;this.c=new XE,this.f=t.e,this.e=t.d,this.i=t.g,this.d=t.c,this.b=t.b,this.k=t.j,this.a=t.a,t.i?this.j=t.i:this.j=new Xj(e=$z(Yk(vTe),9),$z(ER(e,e.length),9),0),this.g=t.f;}function dSt(t){var e,n,i,r;for(e=DY(oI(new lN("Predicates."),"and"),40),n=!0,r=new Ed(t);r.b0?s[o-1]:D8(Ase,a1t,10,0,0,1),r=s[o],u=o=0?t.Bh(r):rMt(t,i);}else Hht(t,n,i);}function mSt(t){var e,n;if(n=null,e=!1,iD(t,204)&&(e=!0,n=$z(t,204).a),e||iD(t,258)&&(e=!0,n=""+$z(t,258).a),e||iD(t,483)&&(e=!0,n=""+$z(t,483).a),!e)throw Fw(new Ov(z6t));return n}function vSt(t,e){var n,i;if(t.f){for(;e.Ob();)if(iD(i=(n=$z(e.Pb(),72)).ak(),99)&&$z(i,18).Bb&u6t&&(!t.e||i.Gj()!=OIe||0!=i.aj())&&null!=n.dd())return e.Ub(),!0;return !1}return e.Ob()}function xSt(t,e){var n,i;if(t.f){for(;e.Sb();)if(iD(i=(n=$z(e.Ub(),72)).ak(),99)&&$z(i,18).Bb&u6t&&(!t.e||i.Gj()!=OIe||0!=i.aj())&&null!=n.dd())return e.Pb(),!0;return !1}return e.Sb()}function kSt(t,e,n){var i,r,a,o,s,c;for(c=aPt(t.e.Tg(),e),i=0,s=t.i,r=$z(t.g,119),o=0;o1&&(e.c[e.c.length]=a);}function TSt(t){var e,n,i;for($rt(n=new XE,t.o),i=new om;0!=n.b;)YKt(t,e=$z(0==n.b?null:(TP(0!=n.b),Iet(n,n.a.a)),508),!0)&&Kz(i.a,e);for(;0!=i.a.c.length;)YKt(t,e=$z(tlt(i),508),!1);}function CSt(){CSt=I,mTe=new IA(uQt,0),fTe=new IA("BOOLEAN",1),bTe=new IA("INT",2),yTe=new IA("STRING",3),dTe=new IA("DOUBLE",4),gTe=new IA("ENUM",5),pTe=new IA("ENUMSET",6),wTe=new IA("OBJECT",7);}function SSt(t,n){var i,r,a,o,s;r=e.Math.min(t.c,n.c),o=e.Math.min(t.d,n.d),(a=e.Math.max(t.c+t.b,n.c+n.b))=(r/2|0))for(this.e=i?i.c:null,this.d=r;n++0;)xJ(this);this.b=e,this.a=null;}function jSt(t,e){var n,i;e.a?GNt(t,e):(!!(n=$z(mj(t.b,e.b),57))&&n==t.a[e.b.f]&&!!n.a&&n.a!=e.b.a&&n.c.Fc(e.b),!!(i=$z(yj(t.b,e.b),57))&&t.a[i.f]==e.b&&!!i.a&&i.a!=e.b.a&&e.b.c.Fc(i),_N(t.b,e.b));}function $St(t,e){var n,i;if(n=$z(oX(t.b,e),124),$z($z(c6(t.r,e),21),84).dc())return n.n.b=0,void(n.n.c=0);n.n.b=t.C.b,n.n.c=t.C.c,t.A.Hc((ypt(),RMe))&&mRt(t,e),i=Kwt(t,e),CBt(t,e)==(rwt(),$Ae)&&(i+=2*t.w),n.a.a=i;}function FSt(t,e){var n,i;if(n=$z(oX(t.b,e),124),$z($z(c6(t.r,e),21),84).dc())return n.n.d=0,void(n.n.a=0);n.n.d=t.C.d,n.n.a=t.C.a,t.A.Hc((ypt(),RMe))&&vRt(t,e),i=Ywt(t,e),CBt(t,e)==(rwt(),$Ae)&&(i+=2*t.w),n.a.b=i;}function zSt(t,e){var n,i,r,a;for(a=new Lw,i=new Kd(e);i.an.a&&(i.Hc((d_t(),KTe))?r=(e.a-n.a)/2:i.Hc(WTe)&&(r=e.a-n.a)),e.b>n.b&&(i.Hc((d_t(),VTe))?a=(e.b-n.b)/2:i.Hc(XTe)&&(a=e.b-n.b)),hTt(t,r,a);}function fAt(t,e,n,i,r,a,o,s,c,u,l,h,f){iD(t.Cb,88)&&IAt(T5($z(t.Cb,88)),4),Drt(t,n),t.f=o,Oft(t,s),Dft(t,c),Ift(t,u),Lft(t,l),Jht(t,h),Hft(t,f),Vht(t,!0),Lnt(t,r),t.ok(a),Alt(t,e),null!=i&&(t.i=null,art(t,i));}function dAt(t){var e,n;if(t.f){for(;t.n>0;){if(iD(n=(e=$z(t.k.Xb(t.n-1),72)).ak(),99)&&$z(n,18).Bb&u6t&&(!t.e||n.Gj()!=OIe||0!=n.aj())&&null!=e.dd())return !0;--t.n;}return !1}return t.n>0}function gAt(t,e,n){if(t<0)return ORt(FWt,Cst(Hx(Ite,1),zWt,1,5,[n,nft(t)]));if(e<0)throw Fw(new Rv(HWt+e));return ORt("%s (%s) must not be greater than size (%s)",Cst(Hx(Ite,1),zWt,1,5,[n,nft(t),nft(e)]))}function pAt(t,e,n,i,r,a){var o,s,c;if(i-n<7)Odt(e,n,i,a);else if(pAt(e,t,s=n+r,c=s+((o=i+r)-s>>1),-r,a),pAt(e,t,c,o,-r,a),a.ue(t[c-1],t[c])<=0)for(;n=0?t.sh(a,n):_Dt(t,r,n);}else Ldt(t,i,r,n);}function vAt(t){var e,n,i,r;if(n=$z(t,49).qh())try{if(i=null,(e=OLt((KT(),HOe),E$t(jdt(n))))&&(r=e.rh())&&(i=r.Wk(qv(n.e))),i&&i!=t)return vAt(i)}catch(t){if(!iD(t=hst(t),60))throw Fw(t)}return t}function xAt(t,e,n){var i,r,a,o;if(o=null==e?0:t.b.se(e),0==(r=null==(i=t.a.get(o))?new Array:i).length)t.a.set(o,r);else if(a=ult(t,e,r))return a.ed(n);return IY(r,r.length,new TC(e,n)),++t.c,oZ(t.b),null}function kAt(t,e){var n;return c2(t.a),CK(t.a,(Crt(),Wxe),Wxe),CK(t.a,Xxe,Xxe),dU(n=new $2,Xxe,(Sdt(),tke)),HM(QOt(e,(qvt(),Eke)))!==HM((zut(),ske))&&dU(n,Xxe,Qxe),dU(n,Xxe,Jxe),rO(t.a,n),OUt(t.a,e)}function _At(t){if(!t)return lx(),uee;var n=t.valueOf?t.valueOf():t;if(n!==t){var i=lee[typeof n];return i?i(n):vlt(typeof n)}return t instanceof Array||t instanceof e.Array?new kf(t):new Tf(t)}function EAt(t,n,i){var r,a,o;switch(o=t.o,(a=(r=$z(oX(t.p,i),244)).i).b=TMt(r),a.a=EMt(r),a.b=e.Math.max(a.b,o.a),a.b>o.a&&!n&&(a.b=o.a),a.c=-(a.b-o.a)/2,i.g){case 1:a.d=-a.a;break;case 3:a.d=o.b;}jFt(r),UFt(r);}function TAt(t,n,i){var r,a,o;switch(o=t.o,(a=(r=$z(oX(t.p,i),244)).i).b=TMt(r),a.a=EMt(r),a.a=e.Math.max(a.a,o.b),a.a>o.b&&!n&&(a.a=o.b),a.d=-(a.a-o.b)/2,i.g){case 4:a.c=-a.b;break;case 2:a.c=o.a;}jFt(r),UFt(r);}function CAt(t,e){var n,i,r,a,o;if(!e.dc())if(r=$z(e.Xb(0),128),1!=e.gc())for(n=1;n0)try{i=h$t(e,jXt,PWt);}catch(t){throw iD(t=hst(t),127)?Fw(new O9(t)):Fw(t)}return !t.a&&(t.a=new Ew(t)),i<(n=t.a).i&&i>=0?$z(Yet(n,i),56):null}function LAt(t,e){if(t<0)return ORt(FWt,Cst(Hx(Ite,1),zWt,1,5,["index",nft(t)]));if(e<0)throw Fw(new Rv(HWt+e));return ORt("%s (%s) must be less than size (%s)",Cst(Hx(Ite,1),zWt,1,5,["index",nft(t),nft(e)]))}function DAt(t){var e,n,i,r,a;if(null==t)return GWt;for(a=new Oot($Wt,"[","]"),i=0,r=(n=t).length;i0)for(o=t.c.d,r=mD(qR(new DA((s=t.d.d).a,s.b),o),1/(i+1)),a=new DA(o.a,o.b),n=new Kd(t.a);n.a",Fw(new Rv(i.a))}function QAt(t,e){var n;e.d?e.d.b=e.b:t.a=e.b,e.b?e.b.d=e.d:t.e=e.d,e.e||e.c?(--(n=$z(PY(t.b,e.a),283)).a,e.e?e.e.c=e.c:n.b=e.c,e.c?e.c.e=e.e:n.c=e.e):((n=$z(b6(t.b,e.a),283)).a=0,++t.c),--t.d;}function JAt(t){var e,n;return n=-t.a,e=Cst(Hx(SNe,1),YXt,25,15,[43,48,48,48,48]),n<0&&(e[0]=45,n=-n),e[1]=e[1]+((n/60|0)/10|0)&XXt,e[2]=e[2]+(n/60|0)%10&XXt,e[3]=e[3]+(n%60/10|0)&XXt,e[4]=e[4]+n%10&XXt,Fpt(e,0,e.length)}function tMt(t,e,n){var i,r;for(i=e.d,r=n.d;i.a-r.a==0&&i.b-r.b==0;)i.a+=zLt(t,26)*iZt+zLt(t,27)*rZt-.5,i.b+=zLt(t,26)*iZt+zLt(t,27)*rZt-.5,r.a+=zLt(t,26)*iZt+zLt(t,27)*rZt-.5,r.b+=zLt(t,26)*iZt+zLt(t,27)*rZt-.5;}function eMt(t){var e,n,i,r;for(t.g=new zdt($z(yY(jMe),290)),i=0,vKt(),n=sMe,e=0;e=0?t._g(n,!0,!0):rIt(t,r,!0),153),$z(i,215).ol(e);}function aMt(t){var n,i;return t>-0x800000000000&&t<0x800000000000?0==t?0:((n=t<0)&&(t=-t),i=CQ(e.Math.floor(e.Math.log(t)/.6931471805599453)),(!n||t!=e.Math.pow(2,i))&&++i,i):Wot(lot(t))}function oMt(t){var e,n,i,r,a,o,s;for(a=new uO,n=new Kd(t);n.a2&&s.e.b+s.j.b<=2&&(r=s,i=o),a.a.zc(r,a),r.q=i);return a}function sMt(t,e){var n,i,r;return Hot(i=new Oyt(t),e),uct(i,(uWt(),Yhe),e),uct(i,(zYt(),twe),(X_t(),qAe)),uct(i,mpe,(dyt(),ATe)),$f(i,(oCt(),_se)),CJ(n=new SCt,i),HAt(n,(vKt(),CMe)),CJ(r=new SCt,i),HAt(r,oMe),i}function cMt(t){switch(t.g){case 0:return new Lv((sit(),Ame));case 1:return new fh;case 2:return new mh;default:throw Fw(new Rv("No implementation is available for the crossing minimizer "+(null!=t.f?t.f:""+t.g)))}}function uMt(t,e){var n,i,r,a;for(t.c[e.p]=!0,Kz(t.a,e),a=new Kd(e.j);a.a=(a=o.gc()))o.$b();else for(r=o.Kc(),i=0;i0?fx():a<0&&kMt(t,e,-a),!0)}function EMt(t){var e,n,i,r,a,o;if(o=0,0==t.b){for(e=0,r=0,a=(i=Kyt(t,!0)).length;r0&&(o+=n,++e);e>1&&(o+=t.c*(e-1));}else o=Bx(eat(OX(MX(OK(t.a),new Et),new Tt)));return o>0?o+t.n.d+t.n.a:0}function TMt(t){var e,n,i,r,a,o;if(o=0,0==t.b)o=Bx(eat(OX(MX(OK(t.a),new kt),new _t)));else {for(e=0,r=0,a=(i=Yyt(t,!0)).length;r0&&(o+=n,++e);e>1&&(o+=t.c*(e-1));}return o>0?o+t.n.b+t.n.c:0}function CMt(t,n){var i,r,a,o;for(i=(o=$z(oX(t.b,n),124)).a,a=$z($z(c6(t.r,n),21),84).Kc();a.Ob();)(r=$z(a.Pb(),111)).c&&(i.a=e.Math.max(i.a,YH(r.c)));if(i.a>0)switch(n.g){case 2:o.n.c=t.s;break;case 4:o.n.b=t.s;}}function SMt(t,e){var n,i,r;return 0==(n=$z(yTt(e,(lRt(),Zae)),19).a-$z(yTt(t,Zae),19).a)?(i=qR($L($z(yTt(t,(Ert(),aoe)),8)),$z(yTt(t,ooe),8)),r=qR($L($z(yTt(e,aoe),8)),$z(yTt(e,ooe),8)),Cft(i.a*i.b,r.a*r.b)):n}function AMt(t,e){var n,i,r;return 0==(n=$z(yTt(e,(SOt(),Ixe)),19).a-$z(yTt(t,Ixe),19).a)?(i=qR($L($z(yTt(t,(HUt(),Zve)),8)),$z(yTt(t,Qve),8)),r=qR($L($z(yTt(e,Zve),8)),$z(yTt(e,Qve),8)),Cft(i.a*i.b,r.a*r.b)):n}function MMt(t){var e,n;return (n=new Cx).a+="e_",null!=(e=Kot(t))&&(n.a+=""+e),t.c&&t.d&&(oI((n.a+=" ",n),bvt(t.c)),oI(aI((n.a+="[",n),t.c.i),"]"),oI((n.a+=e1t,n),bvt(t.d)),oI(aI((n.a+="[",n),t.d.i),"]")),n.a}function IMt(t){switch(t.g){case 0:return new gh;case 1:return new ph;case 2:return new dh;case 3:return new bh;default:throw Fw(new Rv("No implementation is available for the layout phase "+(null!=t.f?t.f:""+t.g)))}}function OMt(t,n,i,r,a){var o;switch(o=0,a.g){case 1:o=e.Math.max(0,n.b+t.b-(i.b+r));break;case 3:o=e.Math.max(0,-t.b-r);break;case 2:o=e.Math.max(0,-t.a-r);break;case 4:o=e.Math.max(0,n.a+t.a-(i.a+r));}return o}function LMt(t,e,n){var i,r,a;if(n)for(a=((i=new cq(n.a.length)).b-i.a)*i.c<0?(tC(),kNe):new qD(i);a.Ob();)r=D2(n,$z(a.Pb(),19).a),L6t in r.a||D6t in r.a?cjt(t,r,e):kYt(t,r,e),TD($z(PY(t.b,Xpt(r)),79));}function DMt(t){var e,n;switch(t.b){case-1:return !0;case 0:return (n=t.t)>1||-1==n||(e=Axt(t))&&(ZT(),e.Cj()==k7t)?(t.b=-1,!0):(t.b=1,!1);default:return !1}}function NMt(t,e){var n,i,r,a,o;for(!e.s&&(e.s=new tK(ROe,e,21,17)),a=null,r=0,o=(i=e.s).i;r=0&&i=0?t._g(n,!0,!0):rIt(t,r,!0),153),$z(i,215).ll(e);throw Fw(new Rv(i6t+e.ne()+o6t))}function UMt(){var t;return JT(),YLe?$z(OLt((KT(),HOe),W7t),1939):(PI(zte,new Au),JGt(),t=$z(iD(EQ((KT(),HOe),W7t),547)?EQ(HOe,W7t):new GW,547),YLe=!0,sWt(t),_Wt(t),YW((YT(),VOe),t,new Gc),wJ(HOe,W7t,t),t)}function GMt(t,e){var n,i,r,a;t.j=-1,wO(t.e)?(n=t.i,a=0!=t.i,i6(t,e),i=new L9(t.e,3,t.c,null,e,n,a),r=e.Qk(t.e,t.c,null),(r=A_t(t,e,r))?(r.Ei(i),r.Fi()):fot(t.e,i)):(i6(t,e),(r=e.Qk(t.e,t.c,null))&&r.Fi());}function qMt(t,e){var n,i,r;if(r=0,(i=e[0])>=t.length)return -1;for(h1(i,t.length),n=t.charCodeAt(i);n>=48&&n<=57&&(r=10*r+(n-48),!(++i>=t.length));)h1(i,t.length),n=t.charCodeAt(i);return i>e[0]?e[0]=i:r=-1,r}function KMt(t){var n,i,r,a,o;return i=a=$z(t.a,19).a,r=o=$z(t.b,19).a,n=e.Math.max(e.Math.abs(a),e.Math.abs(o)),a<=0&&a==o?(i=0,r=o-1):a==-n&&o!=n?(i=o,r=a,o>=0&&++i):(i=-o,r=a),new nM(nft(i),nft(r))}function YMt(t,e,n,i){var r,a,o,s,c,u;for(r=0;r=0&&u>=0&&c=t.i)throw Fw(new Mv(o8t+e+s8t+t.i));if(n>=t.i)throw Fw(new Mv(c8t+n+s8t+t.i));return i=t.g[n],e!=n&&(e>16))>>16&16),n+=e=(i=(t>>=e)-256)>>16&8,n+=e=(i=(t<<=e)-jVt)>>16&4,(n+=e=(i=(t<<=e)-uXt)>>16&2)+2-(e=(i=(t<<=e)>>14)&~(i>>1)))}function JMt(t){var e,n,i,r;for(_V(),Eae=new Lw,_ae=new Dw,kae=new Lw,!t.a&&(t.a=new tK(UIe,t,10,11)),NKt(e=t.a),r=new MD(e);r.e!=r.i.gc();)i=$z(vwt(r),33),-1==x9(Eae,i,0)&&(n=new Lw,Kz(kae,n),Bbt(i,n));return kae}function tIt(t,e,n){var i,r,a,o;t.a=n.b.d,iD(e,352)?(t5(a=HCt(r=rBt($z(e,79),!1,!1)),i=new Lg(t)),WFt(a,r),null!=e.We((cWt(),ACe))&&t5($z(e.We(ACe),74),i)):((o=$z(e,470)).Hg(o.Dg()+t.a.a),o.Ig(o.Eg()+t.a.b));}function eIt(t,n){var i,r,a,o,s,c,u,l;for(l=Hv(_B(yTt(n,(zYt(),Lwe)))),u=t[0].n.a+t[0].o.a+t[0].d.c+l,c=1;c=0?n:(s=lW(qR(new DA(o.c+o.b/2,o.d+o.a/2),new DA(a.c+a.b/2,a.d+a.a/2))),-(V$t(a,o)-1)*s)}function iIt(t,e,n){var i;VE(new PU(null,(!n.a&&(n.a=new tK(RIe,n,6,6)),new f1(n.a,16))),new tM(t,e)),VE(new PU(null,(!n.n&&(n.n=new tK(HIe,n,1,7)),new f1(n.n,16))),new eM(t,e)),(i=$z(QOt(n,(cWt(),ACe)),74))&&Vrt(i,t,e);}function rIt(t,e,n){var i,r,a;if(a=$Ut((ASt(),VLe),t.Tg(),e))return ZT(),$z(a,66).Oj()||(a=Z1($9(VLe,a))),r=$z((i=t.Yg(a))>=0?t._g(i,!0,!0):rIt(t,a,!0),153),$z(r,215).hl(e,n);throw Fw(new Rv(i6t+e.ne()+o6t))}function aIt(t,e,n,i){var r,a,o,s,c;if(r=t.d[e])if(a=r.g,c=r.i,null!=i){for(s=0;s=n&&(i=e,a=(c=(s.c+s.a)/2)-n,s.c<=c-n&&mG(t,i++,new mz(s.c,a)),(o=c+n)<=s.a&&(r=new mz(o,s.a),OJ(i,t.c.length),_C(t.c,i,r)));}function fIt(t){var e;if(t.c||null!=t.g){if(null==t.g)return !0;if(0==t.i)return !1;e=$z(t.g[t.i-1],47);}else t.d=t.si(t.f),u7(t,t.d),e=t.d;return e==t.b&&null.km>=null.jm()?(aDt(t),fIt(t)):e.Ob()}function dIt(t,e,n){var i,r,a,o;if(!(o=n)&&(o=OH(new qm,0)),MEt(o,HJt,1),OGt(t.c,e),1==(a=BGt(t.a,e)).gc())WHt($z(a.Xb(0),37),o);else for(r=1/a.gc(),i=a.Kc();i.Ob();)WHt($z(i.Pb(),37),yat(o,r));xx(t.a,a,e),$Bt(e),zCt(o);}function gIt(t){if(this.a=t,t.c.i.k==(oCt(),_se))this.c=t.c,this.d=$z(yTt(t.c.i,(uWt(),Whe)),61);else {if(t.d.i.k!=_se)throw Fw(new Rv("Edge "+t+" is not an external edge."));this.c=t.d,this.d=$z(yTt(t.d.i,(uWt(),Whe)),61);}}function pIt(t,e){var n,i,r;r=t.b,t.b=e,4&t.Db&&!(1&t.Db)&&fot(t,new Qq(t,1,3,r,t.b)),e?e!=t&&(Drt(t,e.zb),Ont(t,e.d),$it(t,null==(n=null==(i=e.c)?e.zb:i)||wj(n,e.zb)?null:n)):(Drt(t,null),Ont(t,0),$it(t,null));}function bIt(t){var e,n;if(t.f){for(;t.n=(o=null==(n=$z(mot(t.a,4),126))?0:n.length))throw Fw(new JR(e,o));return r=n[e],1==o?i=null:(aHt(n,0,i=D8(fOe,n7t,415,o-1,0,1),0,e),(a=o-e-1)>0&&aHt(n,e+1,i,e,a)),$bt(t,i),eAt(t,e,r),r}function _It(){_It=I,cDe=$z(Yet(WV((i_(),dDe).qb),6),34),aDe=$z(Yet(WV(dDe.qb),3),34),oDe=$z(Yet(WV(dDe.qb),4),34),sDe=$z(Yet(WV(dDe.qb),5),18),s_t(cDe),s_t(aDe),s_t(oDe),s_t(sDe),uDe=new Vv(Cst(Hx(ROe,1),D7t,170,0,[cDe,aDe]));}function EIt(t,e){var n;this.d=new lm,this.b=e,this.e=new fO(e.qf()),n=t.u.Hc((hMt(),eMe)),t.u.Hc(tMe)?t.D?this.a=n&&!e.If():this.a=!0:t.u.Hc(nMe)?this.a=!!n&&!(e.zf().Kc().Ob()||e.Bf().Kc().Ob()):this.a=!1;}function TIt(t,e){var n,i,r,a;for(n=t.o.a,a=$z($z(c6(t.r,e),21),84).Kc();a.Ob();)(r=$z(a.Pb(),111)).e.a=(i=r.b).Xe((cWt(),rSe))?i.Hf()==(vKt(),CMe)?-i.rf().a-Hv(_B(i.We(rSe))):n+Hv(_B(i.We(rSe))):i.Hf()==(vKt(),CMe)?-i.rf().a:n;}function CIt(t,e){var n,i,r;n=$z(yTt(t,(zYt(),Gpe)),103),r=$z(QOt(e,awe),61),(i=$z(yTt(t,twe),98))!=(X_t(),WAe)&&i!=XAe?r==(vKt(),TMe)&&(r=MFt(e,n))==TMe&&(r=ugt(n)):r=KHt(e)>0?ugt(n):_ft(ugt(n)),Vwt(e,awe,r);}function SIt(t,e){var n,i,r,a,o;for(o=t.j,e.a!=e.b&&wL(o,new Kr),r=o.c.length/2|0,i=0;i0&&ojt(t,n,e),a):null!=i.a?(ojt(t,e,n),-1):null!=r.a?(ojt(t,n,e),1):0}function MIt(t,e){var n,i,r,a;t.ej()?(n=t.Vi(),a=t.fj(),++t.j,t.Hi(n,t.oi(n,e)),i=t.Zi(3,null,e,n,a),t.bj()&&(r=t.cj(e,null))?(r.Ei(i),r.Fi()):t.$i(i)):(tW(t,e),t.bj()&&(r=t.cj(e,null))&&r.Fi());}function IIt(t,e){var n,i,r,a,o;for(o=aPt(t.e.Tg(),e),r=new bc,n=$z(t.g,119),a=t.i;--a>=0;)i=n[a],o.rl(i.ak())&&u7(r,i);!aYt(t,r)&&wO(t.e)&&Oy(t,e.$j()?OZ(t,6,e,(EV(),cne),null,-1,!1):OZ(t,e.Kj()?2:1,e,null,null,-1,!1));}function OIt(){var t,e;for(OIt=I,ane=D8(sne,cXt,91,32,0,1),one=D8(sne,cXt,91,32,0,1),t=1,e=0;e<=18;e++)ane[e]=Jbt(t),one[e]=Jbt(yq(t,e)),t=rdt(t,5);for(;ea)||e.q&&(a=(i=e.C).c.c.a-i.o.a/2,i.n.a-n>a)))}function DIt(t,e){MEt(e,"Partition preprocessing",1),VE($z(T4(MX(ftt(MX(new PU(null,new f1(t.a,16)),new yi),new mi),new vi),w7(new H,new z,new it,Cst(Hx(Qne,1),OXt,132,0,[(Hut(),Gne)]))),15).Oc(),new xi),zCt(e);}function NIt(t){var e,n,i,r,a,o;for(zJ(),n=new b4,i=new Kd(t.e.b);i.a1?t.e*=Hv(t.a):t.f/=Hv(t.a),Slt(t),pbt(t),_Rt(t),uct(t.b,(kwt(),gae),t.g);}function zIt(t,e,n){var i,r,a,o,s;for(i=0,s=n,e||(i=n*(t.c.length-1),s*=-1),a=new Kd(t);a.a=0?(e||(e=new Tx,i>0&&iI(e,t.substr(0,i))),e.a+="\\",LY(e,n&XXt)):e&&LY(e,n&XXt);return e?e.a:t}function iOt(t){var e;if(!t.a)throw Fw(new jv("IDataType class expected for layout option "+t.f));if(null==(e=S3(t.a)))throw Fw(new jv("Couldn't create new instance of property '"+t.f+"'. "+i5t+(xB(lOe),lOe.k)+r5t));return $z(e,414)}function rOt(t){var e,n,i,r,a;return (a=t.eh())&&a.kh()&&(r=tht(t,a))!=a?(n=t.Vg(),i=(e=t.Vg())>=0?t.Qg(null):t.eh().ih(t,-1-e,null,null),t.Rg($z(r,49),n),i&&i.Fi(),t.Lg()&&t.Mg()&&n>-1&&fot(t,new Qq(t,9,n,a,r)),r):a}function aOt(t){var e,n,i,r,a,o,s;for(a=0,r=t.f.e,n=0;n>5)>=t.d)return t.e<0;if(n=t.a[r],e=1<<(31&e),t.e<0){if(r<(i=Sat(t)))return !1;n=i==r?-n:~n;}return !!(n&e)}function hOt(t,e,n,i){var r;$z(n.b,65),$z(n.b,65),$z(i.b,65),$z(i.b,65),LH(r=qR($L($z(n.b,65).c),$z(i.b,65).c),zAt($z(n.b,65),$z(i.b,65),r)),$z(i.b,65),$z(i.b,65),$z(i.b,65).c.a,r.a,$z(i.b,65).c.b,r.b,$z(i.b,65),Met(i.a,new kz(t,e,i));}function fOt(t,e){var n,i,r,a,o,s,c;if(a=e.e)for(n=rOt(a),i=$z(t.g,674),o=0;o>16)),15).Xc(a))0&&((!dO(t.a.c)||!n.n.d)&&(!gO(t.a.c)||!n.n.b)&&(n.g.d+=e.Math.max(0,r/2-.5)),(!dO(t.a.c)||!n.n.a)&&(!gO(t.a.c)||!n.n.c)&&(n.g.a-=r-1));}function yOt(t){var n,i,r,a,o;if(o=R$t(t,a=new Lw),n=$z(yTt(t,(uWt(),xfe)),10))for(r=new Kd(n.j);r.a>e,a=t.m>>e|n<<22-e,r=t.l>>e|t.m<<22-e):e<44?(o=i?CVt:0,a=n>>e-22,r=t.m>>e-22|n<<44-e):(o=i?CVt:0,a=i?TVt:0,r=n>>e-44),_L(r&TVt,a&TVt,o&CVt)}function kOt(t){var n,i,r,a,o,s;for(this.c=new Lw,this.d=t,r=BVt,a=BVt,n=RVt,i=RVt,s=cwt(t,0);s.b!=s.d.c;)o=$z(h3(s),8),r=e.Math.min(r,o.a),a=e.Math.min(a,o.b),n=e.Math.max(n,o.a),i=e.Math.max(i,o.b);this.a=new GX(r,a,n-r,i-a);}function _Ot(t,e){var n,i,r,a;for(i=new Kd(t.b);i.a0&&iD(e,42)&&(t.a.qj(),a=null==(c=(u=$z(e,42)).cd())?0:Jct(c),o=tR(t.a,a),n=t.a.d[o]))for(i=$z(n.g,367),l=n.i,s=0;s=2)for(n=_B((i=a.Kc()).Pb());i.Ob();)o=n,n=_B(i.Pb()),r=e.Math.min(r,(mW(n),n-(mW(o),o)));return r}function zOt(t,e){var n,i,r,a,o;n5(i=new XE,e,i.c.b,i.c);do{for(TP(0!=i.b),n=$z(Iet(i,i.a.a),86),t.b[n.g]=1,a=cwt(n.d,0);a.b!=a.d.c;)o=(r=$z(h3(a),188)).c,1==t.b[o.g]?NH(t.a,r):2==t.b[o.g]?t.b[o.g]=1:n5(i,o,i.c.b,i.c);}while(0!=i.b)}function HOt(t,e){var n,i,r;if(HM(e)===HM(yY(t)))return !0;if(!iD(e,15))return !1;if(i=$z(e,15),(r=t.gc())!=i.gc())return !1;if(iD(i,54)){for(n=0;n0&&(r=n),o=new Kd(t.f.e);o.a0?(e-=1,n-=1):i>=0&&r<0?(e+=1,n+=1):i>0&&r>=0?(e-=1,n+=1):(e+=1,n-=1),new nM(nft(e),nft(n))}function hLt(t,e){return t.ce.c?1:t.be.b?1:t.a!=e.a?Jct(t.a)-Jct(e.a):t.d==(W4(),Fme)&&e.d==$me?-1:t.d==$me&&e.d==Fme?1:0}function fLt(t,e){var n,i,r,a,o;return o=(a=e.a).c.i==e.b?a.d:a.c,i=a.c.i==e.b?a.c:a.d,(r=Ggt(t.a,o,i))>0&&r0):r<0&&-r0)}function dLt(t,e,n,i){var r,a,o,s,c,u;for(r=(e-t.d)/t.c.c.length,a=0,t.a+=n,t.d=e,u=new Kd(t.c);u.a>24;return o}function pLt(t){if(t.pe()){var e=t.c;return e.qe()?t.o="["+e.n:e.pe()?t.o="["+e.ne():t.o="[L"+e.ne()+";",t.b=e.me()+"[]",void(t.k=e.oe()+"[]")}var n=t.j,i=t.d;i=i.split("/"),t.o=$pt(".",[n,$pt("$",i)]),t.b=$pt(".",[n,$pt(".",i)]),t.k=i[i.length-1];}function bLt(t,e){var n,i,r,a,o;for(o=null,a=new Kd(t.e.a);a.a=0;e-=2)for(n=0;n<=e;n+=2)(t.b[n]>t.b[n+2]||t.b[n]===t.b[n+2]&&t.b[n+1]>t.b[n+3])&&(i=t.b[n+2],t.b[n+2]=t.b[n],t.b[n]=i,i=t.b[n+3],t.b[n+3]=t.b[n+1],t.b[n+1]=i);t.c=!0;}}function ELt(t,e){var n,i,r,a,o,s;for(a=(1==e?Koe:qoe).a.ec().Kc();a.Ob();)for(r=$z(a.Pb(),103),s=$z(c6(t.f.c,r),21).Kc();s.Ob();)switch(o=$z(s.Pb(),46),i=$z(o.b,81),n=$z(o.a,189).c,r.g){case 2:case 1:i.g.d+=n;break;case 4:case 3:i.g.c+=n;}}function TLt(t,e){var n,i,r,a,o,s,c,u,l;for(u=-1,l=0,s=0,c=(o=t).length;s0&&++l;++u;}return l}function CLt(t){var e;return (e=new lN(Qk(t.gm))).a+="@",oI(e,(Jct(t)>>>0).toString(16)),t.kh()?(e.a+=" (eProxyURI: ",aI(e,t.qh()),t.$g()&&(e.a+=" eClass: ",aI(e,t.$g())),e.a+=")"):t.$g()&&(e.a+=" (eClass: ",aI(e,t.$g()),e.a+=")"),e.a}function SLt(t){var e,n,i;if(t.e)throw Fw(new jv((xB(gie),IZt+gie.k+OZt)));for(t.d==($ht(),$Se)&&_qt(t,RSe),n=new Kd(t.a.a);n.a>24;}return n}function DLt(t,e,n){var i,r,a;if(!(r=$z(oX(t.i,e),306)))if(r=new det(t.d,e,n),wG(t.i,e,r),abt(e))xD(t.a,e.c,e.b,r);else switch(a=LSt(e),i=$z(oX(t.p,a),244),a.g){case 1:case 3:r.j=!0,vv(i,e.b,r);break;case 4:case 2:r.k=!0,vv(i,e.c,r);}return r}function NLt(t,e,n,i){var r,a,o,s,c,u;if(s=new bc,c=aPt(t.e.Tg(),e),r=$z(t.g,119),ZT(),$z(e,66).Oj())for(o=0;o=0)return r;for(a=1,o=new Kd(n.j);o.a