%PDF- %PDF-
Direktori : /www/varak.net/nextcloud.varak.net/apps_old/apps/text/js/ |
Current File : //www/varak.net/nextcloud.varak.net/apps_old/apps/text/js/mermaid.js |
/*! For license information please see mermaid.js.LICENSE.txt */ "use strict";(self.webpackChunk_nextcloud_text=self.webpackChunk_nextcloud_text||[]).push([["mermaid"],{17982:(t,e,i)=>{i.d(e,{diagram:()=>z});var r,n,s=i(98539),a=i(92346),o=i(59792),l=i(51117),c=i(76010),h=i(45625),d=i(37724),u=(i(27484),i(17967),i(27856),function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,7],i=[1,13],r=[1,14],n=[1,15],s=[1,19],a=[1,16],o=[1,17],l=[1,18],c=[8,30],h=[8,21,28,29,30,31,32,40,44,47],d=[1,23],u=[1,24],p=[8,15,16,21,28,29,30,31,32,40,44,47],g=[8,15,16,21,27,28,29,30,31,32,40,44,47],y=[1,49],f={trace:function(){},yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:function(t,e,i,r,n,s,a){var o=s.length-1;switch(n){case 4:r.getLogger().debug("Rule: separator (NL) ");break;case 5:r.getLogger().debug("Rule: separator (Space) ");break;case 6:r.getLogger().debug("Rule: separator (EOF) ");break;case 7:r.getLogger().debug("Rule: hierarchy: ",s[o-1]),r.setHierarchy(s[o-1]);break;case 8:r.getLogger().debug("Stop NL ");break;case 9:r.getLogger().debug("Stop EOF ");break;case 10:r.getLogger().debug("Stop NL2 ");break;case 11:r.getLogger().debug("Stop EOF2 ");break;case 12:r.getLogger().debug("Rule: statement: ",s[o]),"number"==typeof s[o].length?this.$=s[o]:this.$=[s[o]];break;case 13:r.getLogger().debug("Rule: statement #2: ",s[o-1]),this.$=[s[o-1]].concat(s[o]);break;case 14:r.getLogger().debug("Rule: link: ",s[o],t),this.$={edgeTypeStr:s[o],label:""};break;case 15:r.getLogger().debug("Rule: LABEL link: ",s[o-3],s[o-1],s[o]),this.$={edgeTypeStr:s[o],label:s[o-1]};break;case 18:const e=parseInt(s[o]),i=r.generateId();this.$={id:i,type:"space",label:"",width:e,children:[]};break;case 23:r.getLogger().debug("Rule: (nodeStatement link node) ",s[o-2],s[o-1],s[o]," typestr: ",s[o-1].edgeTypeStr);const n=r.edgeStrToEdgeData(s[o-1].edgeTypeStr);this.$=[{id:s[o-2].id,label:s[o-2].label,type:s[o-2].type,directions:s[o-2].directions},{id:s[o-2].id+"-"+s[o].id,start:s[o-2].id,end:s[o].id,label:s[o-1].label,type:"edge",directions:s[o].directions,arrowTypeEnd:n,arrowTypeStart:"arrow_open"},{id:s[o].id,label:s[o].label,type:r.typeStr2Type(s[o].typeStr),directions:s[o].directions}];break;case 24:r.getLogger().debug("Rule: nodeStatement (abc88 node size) ",s[o-1],s[o]),this.$={id:s[o-1].id,label:s[o-1].label,type:r.typeStr2Type(s[o-1].typeStr),directions:s[o-1].directions,widthInColumns:parseInt(s[o],10)};break;case 25:r.getLogger().debug("Rule: nodeStatement (node) ",s[o]),this.$={id:s[o].id,label:s[o].label,type:r.typeStr2Type(s[o].typeStr),directions:s[o].directions,widthInColumns:1};break;case 26:r.getLogger().debug("APA123",this?this:"na"),r.getLogger().debug("COLUMNS: ",s[o]),this.$={type:"column-setting",columns:"auto"===s[o]?-1:parseInt(s[o])};break;case 27:r.getLogger().debug("Rule: id-block statement : ",s[o-2],s[o-1]),r.generateId(),this.$={...s[o-2],type:"composite",children:s[o-1]};break;case 28:r.getLogger().debug("Rule: blockStatement : ",s[o-2],s[o-1],s[o]);const a=r.generateId();this.$={id:a,type:"composite",label:"",children:s[o-1]};break;case 29:r.getLogger().debug("Rule: node (NODE_ID separator): ",s[o]),this.$={id:s[o]};break;case 30:r.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",s[o-1],s[o]),this.$={id:s[o-1],label:s[o].label,typeStr:s[o].typeStr,directions:s[o].directions};break;case 31:r.getLogger().debug("Rule: dirList: ",s[o]),this.$=[s[o]];break;case 32:r.getLogger().debug("Rule: dirList: ",s[o-1],s[o]),this.$=[s[o-1]].concat(s[o]);break;case 33:r.getLogger().debug("Rule: nodeShapeNLabel: ",s[o-2],s[o-1],s[o]),this.$={typeStr:s[o-2]+s[o],label:s[o-1]};break;case 34:r.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",s[o-3],s[o-2]," #3:",s[o-1],s[o]),this.$={typeStr:s[o-3]+s[o],label:s[o-2],directions:s[o-1]};break;case 35:case 36:this.$={type:"classDef",id:s[o-1].trim(),css:s[o].trim()};break;case 37:this.$={type:"applyClass",id:s[o-1].trim(),styleClass:s[o].trim()};break;case 38:this.$={type:"applyStyles",id:s[o-1].trim(),stylesStr:s[o].trim()}}},table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:i,29:r,31:n,32:s,40:a,44:o,47:l},{8:[1,20]},t(c,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:e,28:i,29:r,31:n,32:s,40:a,44:o,47:l}),t(h,[2,16],{14:22,15:d,16:u}),t(h,[2,17]),t(h,[2,18]),t(h,[2,19]),t(h,[2,20]),t(h,[2,21]),t(h,[2,22]),t(p,[2,25],{27:[1,25]}),t(h,[2,26]),{19:26,26:12,32:s},{11:27,13:4,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:i,29:r,31:n,32:s,40:a,44:o,47:l},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},t(g,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},t(c,[2,13]),{26:35,32:s},{32:[2,14]},{17:[1,36]},t(p,[2,24]),{11:37,13:4,14:22,15:d,16:u,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:i,29:r,31:n,32:s,40:a,44:o,47:l},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},t(g,[2,30]),{18:[1,43]},{18:[1,44]},t(p,[2,23]),{18:[1,45]},{30:[1,46]},t(h,[2,28]),t(h,[2,35]),t(h,[2,36]),t(h,[2,37]),t(h,[2,38]),{37:[1,47]},{34:48,35:y},{15:[1,50]},t(h,[2,27]),t(g,[2,33]),{39:[1,51]},{34:52,35:y,39:[2,31]},{32:[2,15]},t(g,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)},parse:function(t){var e=this,i=[0],r=[],n=[null],s=[],a=this.table,o="",l=0,c=0,h=s.slice.call(arguments,1),d=Object.create(this.lexer),u={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(u.yy[p]=this.yy[p]);d.setInput(t,u.yy),u.yy.lexer=d,u.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var g=d.yylloc;s.push(g);var y=d.options&&d.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,x,b,k,_,T,C,E,S={};;){if(m=i[i.length-1],this.defaultActions[m]?x=this.defaultActions[m]:(null==f&&(E=void 0,"number"!=typeof(E=r.pop()||d.lex()||1)&&(E instanceof Array&&(E=(r=E).pop()),E=e.symbols_[E]||E),f=E),x=a[m]&&a[m][f]),void 0===x||!x.length||!x[0]){var w="";for(k in C=[],a[m])this.terminals_[k]&&k>2&&C.push("'"+this.terminals_[k]+"'");w=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(w,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:g,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+f);switch(x[0]){case 1:i.push(f),n.push(d.yytext),s.push(d.yylloc),i.push(x[1]),f=null,c=d.yyleng,o=d.yytext,l=d.yylineno,g=d.yylloc;break;case 2:if(_=this.productions_[x[1]][1],S.$=n[n.length-_],S._$={first_line:s[s.length-(_||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(_||1)].first_column,last_column:s[s.length-1].last_column},y&&(S._$.range=[s[s.length-(_||1)].range[0],s[s.length-1].range[1]]),void 0!==(b=this.performAction.apply(S,[o,c,l,u.yy,x[1],n,s].concat(h))))return b;_&&(i=i.slice(0,-1*_*2),n=n.slice(0,-1*_),s=s.slice(0,-1*_)),i.push(this.productions_[x[1]][0]),n.push(S.$),s.push(S._$),T=a[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}},m={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,i=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 r=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[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 i,r,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.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],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var s in n)this[s]=n[s];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,i,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&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,i,r){switch(i){case 0:return 10;case 1:return t.getLogger().debug("Found space-block"),31;case 2:return t.getLogger().debug("Found nl-block"),31;case 3:return t.getLogger().debug("Found space-block"),29;case 4:t.getLogger().debug(".",e.yytext);break;case 5:t.getLogger().debug("_",e.yytext);break;case 6:return 5;case 7:return e.yytext=-1,28;case 8:return e.yytext=e.yytext.replace(/columns\s+/,""),t.getLogger().debug("COLUMNS (LEX)",e.yytext),28;case 9:case 77:case 78:case 100:this.pushState("md_string");break;case 10:return"MD_STR";case 11:case 35:case 80:this.popState();break;case 12:this.pushState("string");break;case 13:t.getLogger().debug("LEX: POPPING STR:",e.yytext),this.popState();break;case 14:return t.getLogger().debug("LEX: STR end:",e.yytext),"STR";case 15:return e.yytext=e.yytext.replace(/space\:/,""),t.getLogger().debug("SPACE NUM (LEX)",e.yytext),21;case 16:return e.yytext="1",t.getLogger().debug("COLUMNS (LEX)",e.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";case 34:this.pushState("acc_descr_multiline");break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:case 39:case 41:case 42:case 45:return this.popState(),t.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),t.getLogger().debug("Lex: ))"),"NODE_DEND";case 43:return this.popState(),t.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),t.getLogger().debug("Lex: -)"),"NODE_DEND";case 46:return this.popState(),t.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),t.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),t.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:case 50:return this.popState(),t.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),t.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),t.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),t.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),t.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return t.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return t.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return t.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:case 60:case 61:case 62:case 65:return t.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return t.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 63:return t.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return t.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 66:case 67:case 68:case 69:case 70:case 71:case 72:return this.pushState("NODE"),36;case 73:return t.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),t.getLogger().debug("LEX ARR START"),38;case 75:return t.getLogger().debug("Lex: NODE_ID",e.yytext),32;case 76:return t.getLogger().debug("Lex: EOF",e.yytext),8;case 79:return"NODE_DESCR";case 81:t.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:t.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return t.getLogger().debug("LEX: NODE_DESCR:",e.yytext),"NODE_DESCR";case 84:t.getLogger().debug("LEX POPPING"),this.popState();break;case 85:t.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (right): dir:",e.yytext),"DIR";case 87:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (left):",e.yytext),"DIR";case 88:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (x):",e.yytext),"DIR";case 89:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (y):",e.yytext),"DIR";case 90:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (up):",e.yytext),"DIR";case 91:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (down):",e.yytext),"DIR";case 92:return e.yytext="]>",t.getLogger().debug("Lex (ARROW_DIR end):",e.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 93:return t.getLogger().debug("Lex: LINK","#"+e.yytext+"#"),15;case 94:case 95:case 96:return t.getLogger().debug("Lex: LINK",e.yytext),15;case 97:case 98:case 99:return t.getLogger().debug("Lex: START_LINK",e.yytext),this.pushState("LLABEL"),16;case 101:return t.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 102:return this.popState(),t.getLogger().debug("Lex: LINK","#"+e.yytext+"#"),15;case 103:case 104:return this.popState(),t.getLogger().debug("Lex: LINK",e.yytext),15;case 105:return t.getLogger().debug("Lex: COLON",e.yytext),e.yytext=e.yytext.slice(1),27}},rules:[/^(?:block-beta\b)/,/^(?:block\s+)/,/^(?:block\n+)/,/^(?:block:)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[29],inclusive:!1},STYLE_STMNT:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[23],inclusive:!1},CLASSDEF:{rules:[21,22],inclusive:!1},CLASS_STYLE:{rules:[26],inclusive:!1},CLASS:{rules:[25],inclusive:!1},LLABEL:{rules:[100,101,102,103,104],inclusive:!1},ARROW_DIR:{rules:[86,87,88,89,90,91,92],inclusive:!1},BLOCK_ARROW:{rules:[77,82,85],inclusive:!1},NODE:{rules:[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,78,81],inclusive:!1},md_string:{rules:[10,11,79,80],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[13,14,83,84],inclusive:!1},acc_descr_multiline:{rules:[35,36],inclusive:!1},acc_descr:{rules:[33],inclusive:!1},acc_title:{rules:[31],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,12,15,16,17,18,19,20,24,27,30,32,34,37,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,93,94,95,96,97,98,99,105],inclusive:!0}}};function x(){this.yy={}}return f.lexer=m,x.prototype=f,f.Parser=x,new x}());u.parser=u;const p=u;let g={},y=[],f={};const m="color",x="fill";let b={};const k=function(t,e=""){void 0===b[t]&&(b[t]={id:t,styles:[],textStyles:[]});const i=b[t];null!=e&&e.split(",").forEach((t=>{const e=t.replace(/([^;]*);/,"$1").trim();if(t.match(m)){const t=e.replace(x,"bgFill").replace(m,x);i.textStyles.push(t)}i.styles.push(e)}))},_=function(t,e=""){const i=g[t];null!=e&&(i.styles=e.split(","))},T=function(t,e){t.split(",").forEach((function(t){let i=g[t];if(void 0===i){const e=t.trim();g[e]={id:e,type:"na",children:[]},i=g[e]}i.classes||(i.classes=[]),i.classes.push(e)}))},C=(t,e)=>{const i=t.flat(),r=[];for(const t of i)if("classDef"!==t.type)if("applyClass"!==t.type)if("applyStyles"!==t.type)if("column-setting"===t.type)e.columns=t.columns||-1;else if("edge"===t.type)f[t.id]?f[t.id]++:f[t.id]=1,t.id=f[t.id]+"-"+t.id,y.push(t);else{t.label||("composite"===t.type?t.label="":t.label=t.id);const e=!g[t.id];if(e?g[t.id]=t:("na"!==t.type&&(g[t.id].type=t.type),t.label!==t.id&&(g[t.id].label=t.label)),t.children&&C(t.children,t),"space"===t.type){const e=t.width||1;for(let i=0;i<e;i++){const e=(0,a.Z)(t);e.id=e.id+"-"+i,g[e.id]=e,r.push(e)}}else e&&r.push(t)}else(null==t?void 0:t.stylesStr)&&_(t.id,null==t?void 0:t.stylesStr);else T(t.id,(null==t?void 0:t.styleClass)||"");else k(t.id,t.css);e.children=r};let E=[],S={id:"root",type:"composite",children:[],columns:-1};let w=0;const v={getConfig:()=>(0,s.F)().block,typeStr2Type:function(t){switch(s.l.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return s.l.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}},edgeTypeStr2Type:function(t){return s.l.debug("typeStr2Type",t),"=="===t?"thick":"normal"},edgeStrToEdgeData:function(t){switch(t.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}},getLogger:()=>console,getBlocksFlat:()=>[...Object.values(g)],getBlocks:()=>E||[],getEdges:()=>y,setHierarchy:t=>{S.children=t,C(t,S),E=S.children},getBlock:t=>g[t],setBlock:t=>{g[t.id]=t},getColumns:t=>{const e=g[t];return e?e.columns?e.columns:e.children?e.children.length:-1:-1},getClasses:function(){return b},clear:()=>{s.l.debug("Clear called"),(0,s.v)(),S={id:"root",type:"composite",children:[],columns:-1},g={root:S},E=[],b={},y=[],f={}},generateId:()=>(w++,"id-"+Math.random().toString(36).substr(2,12)+"-"+w)},A=(t,e)=>{const i=o.Z,r=i(t,"r"),n=i(t,"g"),s=i(t,"b");return l.Z(r,n,s,e)},L=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,p {\n color: ${t.titleColor};\n }\n\n\n\n .label text,span,p {\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 .flowchart-label text {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\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 /* For html labels only */\n .labelBkg {\n background-color: ${A(t.edgeLabelBackground,.5)};\n // background-color:\n }\n\n .node .cluster {\n // fill: ${A(t.mainBkg,.5)};\n fill: ${A(t.clusterBkg,.5)};\n stroke: ${A(t.clusterBorder,.2)};\n box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${t.titleColor};\n }\n\n .cluster span,p {\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`;function B(t,e,i=!1){var r,n,a;const o=t;let l="default";((null==(r=null==o?void 0:o.classes)?void 0:r.length)||0)>0&&(l=((null==o?void 0:o.classes)||[]).join(" ")),l+=" flowchart-label";let c,h=0,d="";switch(o.type){case"round":h=5,d="rect";break;case"composite":h=0,d="composite",c=0;break;case"square":case"group":default:d="rect";break;case"diamond":d="question";break;case"hexagon":d="hexagon";break;case"block_arrow":d="block_arrow";break;case"odd":case"rect_left_inv_arrow":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"}const u=(0,s.k)((null==o?void 0:o.styles)||[]),p=o.label,g=o.size||{width:0,height:0,x:0,y:0};return{labelStyle:u.labelStyle,shape:d,labelText:p,rx:h,ry:h,class:l,style:u.style,id:o.id,directions:o.directions,width:g.width,height:g.height,x:g.x,y:g.y,positioned:i,intersect:void 0,type:o.type,padding:c??((null==(a=null==(n=(0,s.F)())?void 0:n.block)?void 0:a.padding)||0)}}async function I(t,e,i){const r=B(e,0,!1);if("group"===r.type)return;const n=await(0,c.e)(t,r),s=n.node().getBBox(),a=i.getBlock(r.id);a.size={width:s.width,height:s.height,x:0,y:0,node:n},i.setBlock(a),n.remove()}async function D(t,e,i){const r=B(e,0,!0);"space"!==i.getBlock(r.id).type&&(await(0,c.e)(t,r),e.intersect=null==r?void 0:r.intersect,(0,c.p)(r))}async function $(t,e,i,r){for(const n of e)await r(t,n,i),n.children&&await $(t,n.children,i,r)}const F=(null==(n=null==(r=(0,s.c)())?void 0:r.block)?void 0:n.padding)||8;function O(t,e){if(0===t||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(1===t)return{px:0,py:e};return{px:e%t,py:Math.floor(e/t)}}const N=t=>{let e=0,i=0;for(const r of t.children){const{width:n,height:a,x:o,y:l}=r.size||{width:0,height:0,x:0,y:0};s.l.debug("getMaxChildSize abc95 child:",r.id,"width:",n,"height:",a,"x:",o,"y:",l,r.type),"space"!==r.type&&(n>e&&(e=n/(t.widthInColumns||1)),a>i&&(i=a))}return{width:e,height:i}};function R(t,e,i=0,r=0){var n,a,o,l,c,h,d,u,p,g,y;s.l.debug("setBlockSizes abc95 (start)",t.id,null==(n=null==t?void 0:t.size)?void 0:n.x,"block width =",null==t?void 0:t.size,"sieblingWidth",i),(null==(a=null==t?void 0:t.size)?void 0:a.width)||(t.size={width:i,height:r,x:0,y:0});let f=0,m=0;if((null==(o=t.children)?void 0:o.length)>0){for(const i of t.children)R(i,e);const n=N(t);f=n.width,m=n.height,s.l.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",f,m);for(const e of t.children)e.size&&(s.l.debug(`abc95 Setting size of children of ${t.id} id=${e.id} ${f} ${m} ${e.size}`),e.size.width=f*(e.widthInColumns||1)+F*((e.widthInColumns||1)-1),e.size.height=m,e.size.x=0,e.size.y=0,s.l.debug(`abc95 updating size of ${t.id} children child:${e.id} maxWidth:${f} maxHeight:${m}`));for(const i of t.children)R(i,e,f,m);const a=t.columns||-1;let o=0;for(const e of t.children)o+=e.widthInColumns||1;let u=t.children.length;a>0&&a<o&&(u=a),t.widthInColumns;const p=Math.ceil(o/u);let g=u*(f+F)+F,y=p*(m+F)+F;if(g<i){s.l.debug(`Detected to small siebling: abc95 ${t.id} sieblingWidth ${i} sieblingHeight ${r} width ${g}`),g=i,y=r;const e=(i-u*F-F)/u,n=(r-p*F-F)/p;s.l.debug("Size indata abc88",t.id,"childWidth",e,"maxWidth",f),s.l.debug("Size indata abc88",t.id,"childHeight",n,"maxHeight",m),s.l.debug("Size indata abc88 xSize",u,"padding",F);for(const i of t.children)i.size&&(i.size.width=e,i.size.height=n,i.size.x=0,i.size.y=0)}if(s.l.debug(`abc95 (finale calc) ${t.id} xSize ${u} ySize ${p} columns ${a}${t.children.length} width=${Math.max(g,(null==(l=t.size)?void 0:l.width)||0)}`),g<((null==(c=null==t?void 0:t.size)?void 0:c.width)||0)){g=(null==(h=null==t?void 0:t.size)?void 0:h.width)||0;const e=a>0?Math.min(t.children.length,a):t.children.length;if(e>0){const i=(g-e*F-F)/e;s.l.debug("abc95 (growing to fit) width",t.id,g,null==(d=t.size)?void 0:d.width,i);for(const e of t.children)e.size&&(e.size.width=i)}}t.size={width:g,height:y,x:0,y:0}}s.l.debug("setBlockSizes abc94 (done)",t.id,null==(u=null==t?void 0:t.size)?void 0:u.x,null==(p=null==t?void 0:t.size)?void 0:p.width,null==(g=null==t?void 0:t.size)?void 0:g.y,null==(y=null==t?void 0:t.size)?void 0:y.height)}function M(t,e){var i,r,n,a,o,l,c,h,d,u,p,g,y,f,m,x,b;s.l.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${null==(i=null==t?void 0:t.size)?void 0:i.x} y: ${null==(r=null==t?void 0:t.size)?void 0:r.y} width: ${null==(n=null==t?void 0:t.size)?void 0:n.width}`);const k=t.columns||-1;if(s.l.debug("layoutBlocks columns abc95",t.id,"=>",k,t),t.children&&t.children.length>0){const e=(null==(o=null==(a=null==t?void 0:t.children[0])?void 0:a.size)?void 0:o.width)||0,i=t.children.length*e+(t.children.length-1)*F;s.l.debug("widthOfChildren 88",i,"posX");let r=0;s.l.debug("abc91 block?.size?.x",t.id,null==(l=null==t?void 0:t.size)?void 0:l.x);let n=(null==(c=null==t?void 0:t.size)?void 0:c.x)?(null==(h=null==t?void 0:t.size)?void 0:h.x)+(-(null==(d=null==t?void 0:t.size)?void 0:d.width)/2||0):-F,m=0;for(const e of t.children){const i=t;if(!e.size)continue;const{width:a,height:o}=e.size,{px:l,py:c}=O(k,r);if(c!=m&&(m=c,n=(null==(u=null==t?void 0:t.size)?void 0:u.x)?(null==(p=null==t?void 0:t.size)?void 0:p.x)+(-(null==(g=null==t?void 0:t.size)?void 0:g.width)/2||0):-F,s.l.debug("New row in layout for block",t.id," and child ",e.id,m)),s.l.debug(`abc89 layout blocks (child) id: ${e.id} Pos: ${r} (px, py) ${l},${c} (${null==(y=null==i?void 0:i.size)?void 0:y.x},${null==(f=null==i?void 0:i.size)?void 0:f.y}) parent: ${i.id} width: ${a}${F}`),i.size){const t=a/2;e.size.x=n+F+t,s.l.debug(`abc91 layout blocks (calc) px, pyid:${e.id} startingPos=X${n} new startingPosX${e.size.x} ${t} padding=${F} width=${a} halfWidth=${t} => x:${e.size.x} y:${e.size.y} ${e.widthInColumns} (width * (child?.w || 1)) / 2 ${a*((null==e?void 0:e.widthInColumns)||1)/2}`),n=e.size.x+t,e.size.y=i.size.y-i.size.height/2+c*(o+F)+o/2+F,s.l.debug(`abc88 layout blocks (calc) px, pyid:${e.id}startingPosX${n}${F}${t}=>x:${e.size.x}y:${e.size.y}${e.widthInColumns}(width * (child?.w || 1)) / 2${a*((null==e?void 0:e.widthInColumns)||1)/2}`)}e.children&&M(e),r+=(null==e?void 0:e.widthInColumns)||1,s.l.debug("abc88 columnsPos",e,r)}}s.l.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${null==(m=null==t?void 0:t.size)?void 0:m.x} y: ${null==(x=null==t?void 0:t.size)?void 0:x.y} width: ${null==(b=null==t?void 0:t.size)?void 0:b.width}`)}function P(t,{minX:e,minY:i,maxX:r,maxY:n}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&"root"!==t.id){const{x:s,y:a,width:o,height:l}=t.size;s-o/2<e&&(e=s-o/2),a-l/2<i&&(i=a-l/2),s+o/2>r&&(r=s+o/2),a+l/2>n&&(n=a+l/2)}if(t.children)for(const s of t.children)({minX:e,minY:i,maxX:r,maxY:n}=P(s,{minX:e,minY:i,maxX:r,maxY:n}));return{minX:e,minY:i,maxX:r,maxY:n}}function q(t){const e=t.getBlock("root");if(!e)return;R(e,t,0,0),M(e),s.l.debug("getBlocks",JSON.stringify(e,null,2));const{minX:i,minY:r,maxX:n,maxY:a}=P(e);return{x:i,y:r,width:n-i,height:a-r}}const z={parser:p,db:v,renderer:{draw:async function(t,e,i,r){const{securityLevel:n,block:a}=(0,s.F)(),o=r.db;let l;"sandbox"===n&&(l=(0,d.Ys)("#i"+e));const u="sandbox"===n?(0,d.Ys)(l.nodes()[0].contentDocument.body):(0,d.Ys)("body"),p="sandbox"===n?u.select(`[id="${e}"]`):(0,d.Ys)(`[id="${e}"]`);(0,c.a)(p,["point","circle","cross"],r.type,e);const g=o.getBlocks(),y=o.getBlocksFlat(),f=o.getEdges(),m=p.insert("g").attr("class","block");await async function(t,e,i){await $(t,e,i,I)}(m,g,o);const x=q(o);if(await async function(t,e,i){await $(t,e,i,D)}(m,g,o),await async function(t,e,i,r,n){const s=new h.k({multigraph:!0,compound:!0});s.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const t of i)t.size&&s.setNode(t.id,{width:t.size.width,height:t.size.height,intersect:t.intersect});for(const i of e)if(i.start&&i.end){const e=r.getBlock(i.start),a=r.getBlock(i.end);if((null==e?void 0:e.size)&&(null==a?void 0:a.size)){const r=e.size,o=a.size,l=[{x:r.x,y:r.y},{x:r.x+(o.x-r.x)/2,y:r.y+(o.y-r.y)/2},{x:o.x,y:o.y}];await(0,c.h)(t,{v:i.start,w:i.end,name:i.id},{...i,arrowTypeEnd:i.arrowTypeEnd,arrowTypeStart:i.arrowTypeStart,points:l,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",s,n),i.label&&(await(0,c.f)(t,{...i,label:i.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:i.arrowTypeEnd,arrowTypeStart:i.arrowTypeStart,points:l,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),await(0,c.j)({...i,x:l[1].x,y:l[1].y},{originalPath:l}))}}}(m,f,y,o,e),x){const t=x,e=Math.max(1,Math.round(t.width/t.height*.125)),i=t.height+e+10,r=t.width+10,{useMaxWidth:n}=a;(0,s.i)(p,i,r,!!n),s.l.debug("Here Bounds",x,t),p.attr("viewBox",`${t.x-5} ${t.y-5} ${t.width+10} ${t.height+10}`)}(0,d.PKp)(d.K2I)},getClasses:function(t,e){return e.db.getClasses()}},styles:L}},60420:(t,e,i)=>{i.d(e,{diagram:()=>it});var r=i(98539),n=i(37724),s=i(3053),a=i(17967),o=(i(27484),i(27856),function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,24],i=[1,25],r=[1,26],n=[1,27],s=[1,28],a=[1,63],o=[1,64],l=[1,65],h=[1,66],d=[1,67],u=[1,68],p=[1,69],g=[1,29],y=[1,30],f=[1,31],m=[1,32],x=[1,33],b=[1,34],k=[1,35],_=[1,36],T=[1,37],C=[1,38],E=[1,39],S=[1,40],w=[1,41],v=[1,42],A=[1,43],L=[1,44],B=[1,45],I=[1,46],D=[1,47],$=[1,48],F=[1,50],O=[1,51],N=[1,52],R=[1,53],M=[1,54],P=[1,55],q=[1,56],z=[1,57],Y=[1,58],j=[1,59],W=[1,60],Z=[14,42],U=[14,34,36,37,38,39,40,41,42,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,70,71,72,73,74],H=[12,14,34,36,37,38,39,40,41,42,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,70,71,72,73,74],V=[1,82],X=[1,83],G=[1,84],K=[1,85],Q=[12,14,42],J=[12,14,33,42],tt=[12,14,33,42,76,77,79,80],et=[12,33],it=[34,36,37,38,39,40,41,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,70,71,72,73,74],rt={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:function(t,e,i,r,n,s,a){var o=s.length-1;switch(n){case 3:r.setDirection("TB");break;case 4:r.setDirection("BT");break;case 5:r.setDirection("RL");break;case 6:r.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:r.setC4Type(s[o-3]);break;case 19:r.setTitle(s[o].substring(6)),this.$=s[o].substring(6);break;case 20:r.setAccDescription(s[o].substring(15)),this.$=s[o].substring(15);break;case 21:this.$=s[o].trim(),r.setTitle(this.$);break;case 22:case 23:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 28:case 29:s[o].splice(2,0,"ENTERPRISE"),r.addPersonOrSystemBoundary(...s[o]),this.$=s[o];break;case 30:r.addPersonOrSystemBoundary(...s[o]),this.$=s[o];break;case 31:s[o].splice(2,0,"CONTAINER"),r.addContainerBoundary(...s[o]),this.$=s[o];break;case 32:r.addDeploymentNode("node",...s[o]),this.$=s[o];break;case 33:r.addDeploymentNode("nodeL",...s[o]),this.$=s[o];break;case 34:r.addDeploymentNode("nodeR",...s[o]),this.$=s[o];break;case 35:r.popBoundaryParseStack();break;case 39:r.addPersonOrSystem("person",...s[o]),this.$=s[o];break;case 40:r.addPersonOrSystem("external_person",...s[o]),this.$=s[o];break;case 41:r.addPersonOrSystem("system",...s[o]),this.$=s[o];break;case 42:r.addPersonOrSystem("system_db",...s[o]),this.$=s[o];break;case 43:r.addPersonOrSystem("system_queue",...s[o]),this.$=s[o];break;case 44:r.addPersonOrSystem("external_system",...s[o]),this.$=s[o];break;case 45:r.addPersonOrSystem("external_system_db",...s[o]),this.$=s[o];break;case 46:r.addPersonOrSystem("external_system_queue",...s[o]),this.$=s[o];break;case 47:r.addContainer("container",...s[o]),this.$=s[o];break;case 48:r.addContainer("container_db",...s[o]),this.$=s[o];break;case 49:r.addContainer("container_queue",...s[o]),this.$=s[o];break;case 50:r.addContainer("external_container",...s[o]),this.$=s[o];break;case 51:r.addContainer("external_container_db",...s[o]),this.$=s[o];break;case 52:r.addContainer("external_container_queue",...s[o]),this.$=s[o];break;case 53:r.addComponent("component",...s[o]),this.$=s[o];break;case 54:r.addComponent("component_db",...s[o]),this.$=s[o];break;case 55:r.addComponent("component_queue",...s[o]),this.$=s[o];break;case 56:r.addComponent("external_component",...s[o]),this.$=s[o];break;case 57:r.addComponent("external_component_db",...s[o]),this.$=s[o];break;case 58:r.addComponent("external_component_queue",...s[o]),this.$=s[o];break;case 60:r.addRel("rel",...s[o]),this.$=s[o];break;case 61:r.addRel("birel",...s[o]),this.$=s[o];break;case 62:r.addRel("rel_u",...s[o]),this.$=s[o];break;case 63:r.addRel("rel_d",...s[o]),this.$=s[o];break;case 64:r.addRel("rel_l",...s[o]),this.$=s[o];break;case 65:r.addRel("rel_r",...s[o]),this.$=s[o];break;case 66:r.addRel("rel_b",...s[o]),this.$=s[o];break;case 67:s[o].splice(0,1),r.addRel("rel",...s[o]),this.$=s[o];break;case 68:r.updateElStyle("update_el_style",...s[o]),this.$=s[o];break;case 69:r.updateRelStyle("update_rel_style",...s[o]),this.$=s[o];break;case 70:r.updateLayoutConfig("update_layout_config",...s[o]),this.$=s[o];break;case 71:this.$=[s[o]];break;case 72:s[o].unshift(s[o-1]),this.$=s[o];break;case 73:case 75:this.$=s[o].trim();break;case 74:let t={};t[s[o-1].trim()]=s[o].trim(),this.$=t;break;case 76:this.$=""}},table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:i,24:r,26:n,28:s,29:49,30:61,32:62,34:a,36:o,37:l,38:h,39:d,40:u,41:p,43:23,44:g,45:y,46:f,47:m,48:x,49:b,50:k,51:_,52:T,53:C,54:E,55:S,56:w,57:v,58:A,59:L,60:B,61:I,62:D,63:$,64:F,65:O,66:N,67:R,68:M,69:P,70:q,71:z,72:Y,73:j,74:W},{13:70,19:20,20:21,21:22,22:e,23:i,24:r,26:n,28:s,29:49,30:61,32:62,34:a,36:o,37:l,38:h,39:d,40:u,41:p,43:23,44:g,45:y,46:f,47:m,48:x,49:b,50:k,51:_,52:T,53:C,54:E,55:S,56:w,57:v,58:A,59:L,60:B,61:I,62:D,63:$,64:F,65:O,66:N,67:R,68:M,69:P,70:q,71:z,72:Y,73:j,74:W},{13:71,19:20,20:21,21:22,22:e,23:i,24:r,26:n,28:s,29:49,30:61,32:62,34:a,36:o,37:l,38:h,39:d,40:u,41:p,43:23,44:g,45:y,46:f,47:m,48:x,49:b,50:k,51:_,52:T,53:C,54:E,55:S,56:w,57:v,58:A,59:L,60:B,61:I,62:D,63:$,64:F,65:O,66:N,67:R,68:M,69:P,70:q,71:z,72:Y,73:j,74:W},{13:72,19:20,20:21,21:22,22:e,23:i,24:r,26:n,28:s,29:49,30:61,32:62,34:a,36:o,37:l,38:h,39:d,40:u,41:p,43:23,44:g,45:y,46:f,47:m,48:x,49:b,50:k,51:_,52:T,53:C,54:E,55:S,56:w,57:v,58:A,59:L,60:B,61:I,62:D,63:$,64:F,65:O,66:N,67:R,68:M,69:P,70:q,71:z,72:Y,73:j,74:W},{13:73,19:20,20:21,21:22,22:e,23:i,24:r,26:n,28:s,29:49,30:61,32:62,34:a,36:o,37:l,38:h,39:d,40:u,41:p,43:23,44:g,45:y,46:f,47:m,48:x,49:b,50:k,51:_,52:T,53:C,54:E,55:S,56:w,57:v,58:A,59:L,60:B,61:I,62:D,63:$,64:F,65:O,66:N,67:R,68:M,69:P,70:q,71:z,72:Y,73:j,74:W},{14:[1,74]},t(Z,[2,13],{43:23,29:49,30:61,32:62,20:75,34:a,36:o,37:l,38:h,39:d,40:u,41:p,44:g,45:y,46:f,47:m,48:x,49:b,50:k,51:_,52:T,53:C,54:E,55:S,56:w,57:v,58:A,59:L,60:B,61:I,62:D,63:$,64:F,65:O,66:N,67:R,68:M,69:P,70:q,71:z,72:Y,73:j,74:W}),t(Z,[2,14]),t(U,[2,16],{12:[1,76]}),t(Z,[2,36],{12:[1,77]}),t(H,[2,19]),t(H,[2,20]),{25:[1,78]},{27:[1,79]},t(H,[2,23]),{35:80,75:81,76:V,77:X,79:G,80:K},{35:86,75:81,76:V,77:X,79:G,80:K},{35:87,75:81,76:V,77:X,79:G,80:K},{35:88,75:81,76:V,77:X,79:G,80:K},{35:89,75:81,76:V,77:X,79:G,80:K},{35:90,75:81,76:V,77:X,79:G,80:K},{35:91,75:81,76:V,77:X,79:G,80:K},{35:92,75:81,76:V,77:X,79:G,80:K},{35:93,75:81,76:V,77:X,79:G,80:K},{35:94,75:81,76:V,77:X,79:G,80:K},{35:95,75:81,76:V,77:X,79:G,80:K},{35:96,75:81,76:V,77:X,79:G,80:K},{35:97,75:81,76:V,77:X,79:G,80:K},{35:98,75:81,76:V,77:X,79:G,80:K},{35:99,75:81,76:V,77:X,79:G,80:K},{35:100,75:81,76:V,77:X,79:G,80:K},{35:101,75:81,76:V,77:X,79:G,80:K},{35:102,75:81,76:V,77:X,79:G,80:K},{35:103,75:81,76:V,77:X,79:G,80:K},{35:104,75:81,76:V,77:X,79:G,80:K},t(Q,[2,59]),{35:105,75:81,76:V,77:X,79:G,80:K},{35:106,75:81,76:V,77:X,79:G,80:K},{35:107,75:81,76:V,77:X,79:G,80:K},{35:108,75:81,76:V,77:X,79:G,80:K},{35:109,75:81,76:V,77:X,79:G,80:K},{35:110,75:81,76:V,77:X,79:G,80:K},{35:111,75:81,76:V,77:X,79:G,80:K},{35:112,75:81,76:V,77:X,79:G,80:K},{35:113,75:81,76:V,77:X,79:G,80:K},{35:114,75:81,76:V,77:X,79:G,80:K},{35:115,75:81,76:V,77:X,79:G,80:K},{20:116,29:49,30:61,32:62,34:a,36:o,37:l,38:h,39:d,40:u,41:p,43:23,44:g,45:y,46:f,47:m,48:x,49:b,50:k,51:_,52:T,53:C,54:E,55:S,56:w,57:v,58:A,59:L,60:B,61:I,62:D,63:$,64:F,65:O,66:N,67:R,68:M,69:P,70:q,71:z,72:Y,73:j,74:W},{12:[1,118],33:[1,117]},{35:119,75:81,76:V,77:X,79:G,80:K},{35:120,75:81,76:V,77:X,79:G,80:K},{35:121,75:81,76:V,77:X,79:G,80:K},{35:122,75:81,76:V,77:X,79:G,80:K},{35:123,75:81,76:V,77:X,79:G,80:K},{35:124,75:81,76:V,77:X,79:G,80:K},{35:125,75:81,76:V,77:X,79:G,80:K},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(Z,[2,15]),t(U,[2,17],{21:22,19:130,22:e,23:i,24:r,26:n,28:s}),t(Z,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:i,24:r,26:n,28:s,34:a,36:o,37:l,38:h,39:d,40:u,41:p,44:g,45:y,46:f,47:m,48:x,49:b,50:k,51:_,52:T,53:C,54:E,55:S,56:w,57:v,58:A,59:L,60:B,61:I,62:D,63:$,64:F,65:O,66:N,67:R,68:M,69:P,70:q,71:z,72:Y,73:j,74:W}),t(H,[2,21]),t(H,[2,22]),t(Q,[2,39]),t(J,[2,71],{75:81,35:132,76:V,77:X,79:G,80:K}),t(tt,[2,73]),{78:[1,133]},t(tt,[2,75]),t(tt,[2,76]),t(Q,[2,40]),t(Q,[2,41]),t(Q,[2,42]),t(Q,[2,43]),t(Q,[2,44]),t(Q,[2,45]),t(Q,[2,46]),t(Q,[2,47]),t(Q,[2,48]),t(Q,[2,49]),t(Q,[2,50]),t(Q,[2,51]),t(Q,[2,52]),t(Q,[2,53]),t(Q,[2,54]),t(Q,[2,55]),t(Q,[2,56]),t(Q,[2,57]),t(Q,[2,58]),t(Q,[2,60]),t(Q,[2,61]),t(Q,[2,62]),t(Q,[2,63]),t(Q,[2,64]),t(Q,[2,65]),t(Q,[2,66]),t(Q,[2,67]),t(Q,[2,68]),t(Q,[2,69]),t(Q,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(et,[2,28]),t(et,[2,29]),t(et,[2,30]),t(et,[2,31]),t(et,[2,32]),t(et,[2,33]),t(et,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(U,[2,18]),t(Z,[2,38]),t(J,[2,72]),t(tt,[2,74]),t(Q,[2,24]),t(Q,[2,35]),t(it,[2,25]),t(it,[2,26],{12:[1,138]}),t(it,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)},parse:function(t){var e=this,i=[0],r=[],n=[null],s=[],a=this.table,o="",l=0,c=0,h=s.slice.call(arguments,1),d=Object.create(this.lexer),u={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(u.yy[p]=this.yy[p]);d.setInput(t,u.yy),u.yy.lexer=d,u.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var g=d.yylloc;s.push(g);var y=d.options&&d.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,x,b,k,_,T,C,E,S={};;){if(m=i[i.length-1],this.defaultActions[m]?x=this.defaultActions[m]:(null==f&&(E=void 0,"number"!=typeof(E=r.pop()||d.lex()||1)&&(E instanceof Array&&(E=(r=E).pop()),E=e.symbols_[E]||E),f=E),x=a[m]&&a[m][f]),void 0===x||!x.length||!x[0]){var w="";for(k in C=[],a[m])this.terminals_[k]&&k>2&&C.push("'"+this.terminals_[k]+"'");w=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(w,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:g,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+f);switch(x[0]){case 1:i.push(f),n.push(d.yytext),s.push(d.yylloc),i.push(x[1]),f=null,c=d.yyleng,o=d.yytext,l=d.yylineno,g=d.yylloc;break;case 2:if(_=this.productions_[x[1]][1],S.$=n[n.length-_],S._$={first_line:s[s.length-(_||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(_||1)].first_column,last_column:s[s.length-1].last_column},y&&(S._$.range=[s[s.length-(_||1)].range[0],s[s.length-1].range[1]]),void 0!==(b=this.performAction.apply(S,[o,c,l,u.yy,x[1],n,s].concat(h))))return b;_&&(i=i.slice(0,-1*_*2),n=n.slice(0,-1*_),s=s.slice(0,-1*_)),i.push(this.productions_[x[1]][0]),n.push(S.$),s.push(S._$),T=a[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}},nt={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,i=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 r=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[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 i,r,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.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],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var s in n)this[s]=n[s];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,i,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&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,i,r){switch(i){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 73:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 16:case 70:break;case 14:c;break;case 15:return 12;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:case 53:return this.begin("rel_u"),66;case 54:case 55:return this.begin("rel_d"),67;case 56:case 57:return this.begin("rel_l"),68;case 58:case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:case 79:this.popState(),this.popState();break;case 69:case 71:return 80;case 72:this.begin("string");break;case 74:case 80:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\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:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,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,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};function st(){this.yy={}}return rt.lexer=nt,st.prototype=rt,rt.Parser=st,new st}());o.parser=o;const l=o;let h=[],d=[""],u="global",p="",g=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],y=[],f="",m=!1,x=4,b=2;var k;const _=function(t){return null==t?h:h.filter((e=>e.parentBoundary===t))},T=function(t){return null==t?g:g.filter((e=>e.parentBoundary===t))},C=function(){return m},E={addPersonOrSystem:function(t,e,i,r,n,s,a){if(null===e||null===i)return;let o={};const l=h.find((t=>t.alias===e));if(l&&e===l.alias?o=l:(o.alias=e,h.push(o)),o.label=null==i?{text:""}:{text:i},null==r)o.descr={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]={text:e}}else o.descr={text:r};if("object"==typeof n){let[t,e]=Object.entries(n)[0];o[t]=e}else o.sprite=n;if("object"==typeof s){let[t,e]=Object.entries(s)[0];o[t]=e}else o.tags=s;if("object"==typeof a){let[t,e]=Object.entries(a)[0];o[t]=e}else o.link=a;o.typeC4Shape={text:t},o.parentBoundary=u,o.wrap=C()},addPersonOrSystemBoundary:function(t,e,i,r,n){if(null===t||null===e)return;let s={};const a=g.find((e=>e.alias===t));if(a&&t===a.alias?s=a:(s.alias=t,g.push(s)),s.label=null==e?{text:""}:{text:e},null==i)s.type={text:"system"};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];s[t]={text:e}}else s.type={text:i};if("object"==typeof r){let[t,e]=Object.entries(r)[0];s[t]=e}else s.tags=r;if("object"==typeof n){let[t,e]=Object.entries(n)[0];s[t]=e}else s.link=n;s.parentBoundary=u,s.wrap=C(),p=u,u=t,d.push(p)},addContainer:function(t,e,i,r,n,s,a,o){if(null===e||null===i)return;let l={};const c=h.find((t=>t.alias===e));if(c&&e===c.alias?l=c:(l.alias=e,h.push(l)),l.label=null==i?{text:""}:{text:i},null==r)l.techn={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];l[t]={text:e}}else l.techn={text:r};if(null==n)l.descr={text:""};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];l[t]={text:e}}else l.descr={text:n};if("object"==typeof s){let[t,e]=Object.entries(s)[0];l[t]=e}else l.sprite=s;if("object"==typeof a){let[t,e]=Object.entries(a)[0];l[t]=e}else l.tags=a;if("object"==typeof o){let[t,e]=Object.entries(o)[0];l[t]=e}else l.link=o;l.wrap=C(),l.typeC4Shape={text:t},l.parentBoundary=u},addContainerBoundary:function(t,e,i,r,n){if(null===t||null===e)return;let s={};const a=g.find((e=>e.alias===t));if(a&&t===a.alias?s=a:(s.alias=t,g.push(s)),s.label=null==e?{text:""}:{text:e},null==i)s.type={text:"container"};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];s[t]={text:e}}else s.type={text:i};if("object"==typeof r){let[t,e]=Object.entries(r)[0];s[t]=e}else s.tags=r;if("object"==typeof n){let[t,e]=Object.entries(n)[0];s[t]=e}else s.link=n;s.parentBoundary=u,s.wrap=C(),p=u,u=t,d.push(p)},addComponent:function(t,e,i,r,n,s,a,o){if(null===e||null===i)return;let l={};const c=h.find((t=>t.alias===e));if(c&&e===c.alias?l=c:(l.alias=e,h.push(l)),l.label=null==i?{text:""}:{text:i},null==r)l.techn={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];l[t]={text:e}}else l.techn={text:r};if(null==n)l.descr={text:""};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];l[t]={text:e}}else l.descr={text:n};if("object"==typeof s){let[t,e]=Object.entries(s)[0];l[t]=e}else l.sprite=s;if("object"==typeof a){let[t,e]=Object.entries(a)[0];l[t]=e}else l.tags=a;if("object"==typeof o){let[t,e]=Object.entries(o)[0];l[t]=e}else l.link=o;l.wrap=C(),l.typeC4Shape={text:t},l.parentBoundary=u},addDeploymentNode:function(t,e,i,r,n,s,a,o){if(null===e||null===i)return;let l={};const c=g.find((t=>t.alias===e));if(c&&e===c.alias?l=c:(l.alias=e,g.push(l)),l.label=null==i?{text:""}:{text:i},null==r)l.type={text:"node"};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];l[t]={text:e}}else l.type={text:r};if(null==n)l.descr={text:""};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];l[t]={text:e}}else l.descr={text:n};if("object"==typeof a){let[t,e]=Object.entries(a)[0];l[t]=e}else l.tags=a;if("object"==typeof o){let[t,e]=Object.entries(o)[0];l[t]=e}else l.link=o;l.nodeType=t,l.parentBoundary=u,l.wrap=C(),p=u,u=e,d.push(p)},popBoundaryParseStack:function(){u=p,d.pop(),p=d.pop(),d.push(p)},addRel:function(t,e,i,r,n,s,a,o,l){if(null==t||null==e||null==i||null==r)return;let c={};const h=y.find((t=>t.from===e&&t.to===i));if(h?c=h:y.push(c),c.type=t,c.from=e,c.to=i,c.label={text:r},null==n)c.techn={text:""};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];c[t]={text:e}}else c.techn={text:n};if(null==s)c.descr={text:""};else if("object"==typeof s){let[t,e]=Object.entries(s)[0];c[t]={text:e}}else c.descr={text:s};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 l){let[t,e]=Object.entries(l)[0];c[t]=e}else c.link=l;c.wrap=C()},updateElStyle:function(t,e,i,r,n,s,a,o,l,c,d){let u=h.find((t=>t.alias===e));if(void 0!==u||(u=g.find((t=>t.alias===e)),void 0!==u)){if(null!=i)if("object"==typeof i){let[t,e]=Object.entries(i)[0];u[t]=e}else u.bgColor=i;if(null!=r)if("object"==typeof r){let[t,e]=Object.entries(r)[0];u[t]=e}else u.fontColor=r;if(null!=n)if("object"==typeof n){let[t,e]=Object.entries(n)[0];u[t]=e}else u.borderColor=n;if(null!=s)if("object"==typeof s){let[t,e]=Object.entries(s)[0];u[t]=e}else u.shadowing=s;if(null!=a)if("object"==typeof a){let[t,e]=Object.entries(a)[0];u[t]=e}else u.shape=a;if(null!=o)if("object"==typeof o){let[t,e]=Object.entries(o)[0];u[t]=e}else u.sprite=o;if(null!=l)if("object"==typeof l){let[t,e]=Object.entries(l)[0];u[t]=e}else u.techn=l;if(null!=c)if("object"==typeof c){let[t,e]=Object.entries(c)[0];u[t]=e}else u.legendText=c;if(null!=d)if("object"==typeof d){let[t,e]=Object.entries(d)[0];u[t]=e}else u.legendSprite=d}},updateRelStyle:function(t,e,i,r,n,s,a){const o=y.find((t=>t.from===e&&t.to===i));if(void 0!==o){if(null!=r)if("object"==typeof r){let[t,e]=Object.entries(r)[0];o[t]=e}else o.textColor=r;if(null!=n)if("object"==typeof n){let[t,e]=Object.entries(n)[0];o[t]=e}else o.lineColor=n;if(null!=s)if("object"==typeof s){let[t,e]=Object.entries(s)[0];o[t]=parseInt(e)}else o.offsetX=parseInt(s);if(null!=a)if("object"==typeof a){let[t,e]=Object.entries(a)[0];o[t]=parseInt(e)}else o.offsetY=parseInt(a)}},updateLayoutConfig:function(t,e,i){let r=x,n=b;if("object"==typeof e){const t=Object.values(e)[0];r=parseInt(t)}else r=parseInt(e);if("object"==typeof i){const t=Object.values(i)[0];n=parseInt(t)}else n=parseInt(i);r>=1&&(x=r),n>=1&&(b=n)},autoWrap:C,setWrap:function(t){m=t},getC4ShapeArray:_,getC4Shape:function(t){return h.find((e=>e.alias===t))},getC4ShapeKeys:function(t){return Object.keys(_(t))},getBoundaries:T,getBoundarys:T,getCurrentBoundaryParse:function(){return u},getParentBoundaryParse:function(){return p},getRels:function(){return y},getTitle:function(){return f},getC4Type:function(){return k},getC4ShapeInRow:function(){return x},getC4BoundaryInRow:function(){return b},setAccTitle:r.s,getAccTitle:r.g,getAccDescription:r.a,setAccDescription:r.b,getConfig:()=>(0,r.c)().c4,clear:function(){h=[],g=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],p="",u="global",d=[""],y=[],d=[""],f="",m=!1,x=4,b=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=(0,r.d)(t,(0,r.c)());f=e},setC4Type:function(t){let e=(0,r.d)(t,(0,r.c)());k=e}},S=function(t,e){return(0,s.d)(t,e)},w=function(t,e,i,r,n,s){const o=t.append("image");o.attr("width",e),o.attr("height",i),o.attr("x",r),o.attr("y",n);let l=s.startsWith("data:image/png;base64")?s:(0,a.N)(s);o.attr("xlink:href",l)},v=(t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),A=function(){function t(t,e,i,r,s,a,o){n(e.append("text").attr("x",i+s/2).attr("y",r+a/2+5).style("text-anchor","middle").text(t),o)}function e(t,e,i,s,a,o,l,c){const{fontSize:h,fontFamily:d,fontWeight:u}=c,p=t.split(r.e.lineBreakRegex);for(let t=0;t<p.length;t++){const r=t*h-h*(p.length-1)/2,o=e.append("text").attr("x",i+a/2).attr("y",s).style("text-anchor","middle").attr("dominant-baseline","middle").style("font-size",h).style("font-weight",u).style("font-family",d);o.append("tspan").attr("dy",r).text(p[t]).attr("alignment-baseline","mathematical"),n(o,l)}}function i(t,i,r,s,a,o,l,c){const h=i.append("switch"),d=h.append("foreignObject").attr("x",r).attr("y",s).attr("width",a).attr("height",o).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");d.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,h,r,s,a,0,l,c),n(d,l)}function n(t,e){for(const i in e)e.hasOwnProperty(i)&&t.attr(i,e[i])}return function(r){return"fo"===r.textPlacement?i:"old"===r.textPlacement?t:e}}(),L=function(t,e,i){const r=t.append("g");let n=e.bgColor?e.bgColor:"none",s=e.borderColor?e.borderColor:"#444444",a=e.fontColor?e.fontColor:"black",o={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(o={"stroke-width":1});let l={x:e.x,y:e.y,fill:n,stroke:s,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:o};S(r,l);let c=i.boundaryFont();c.fontWeight="bold",c.fontSize=c.fontSize+2,c.fontColor=a,A(i)(e.label.text,r,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},c),e.type&&""!==e.type.text&&(c=i.boundaryFont(),c.fontColor=a,A(i)(e.type.text,r,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},c)),e.descr&&""!==e.descr.text&&(c=i.boundaryFont(),c.fontSize=c.fontSize-2,c.fontColor=a,A(i)(e.descr.text,r,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},c))},B=function(t,e,i){var r;let n=e.bgColor?e.bgColor:i[e.typeC4Shape.text+"_bg_color"],a=e.borderColor?e.borderColor:i[e.typeC4Shape.text+"_border_color"],o=e.fontColor?e.fontColor:"#FFFFFF",l="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":l="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":l="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 h=(0,s.g)();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":h.x=e.x,h.y=e.y,h.fill=n,h.width=e.width,h.height=e.height,h.stroke=a,h.rx=2.5,h.ry=2.5,h.attrs={"stroke-width":.5},S(c,h);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",n).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",n).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 d=v(i,e.typeC4Shape.text);switch(c.append("text").attr("fill",o).attr("font-family",d.fontFamily).attr("font-size",d.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":w(c,48,48,e.x+e.width/2-24,e.y+e.image.Y,l)}let u=i[e.typeC4Shape.text+"Font"]();return u.fontWeight="bold",u.fontSize=u.fontSize+2,u.fontColor=o,A(i)(e.label.text,c,e.x,e.y+e.label.Y,e.width,e.height,{fill:o},u),u=i[e.typeC4Shape.text+"Font"](),u.fontColor=o,e.techn&&""!==(null==(r=e.techn)?void 0:r.text)?A(i)(e.techn.text,c,e.x,e.y+e.techn.Y,e.width,e.height,{fill:o,"font-style":"italic"},u):e.type&&""!==e.type.text&&A(i)(e.type.text,c,e.x,e.y+e.type.Y,e.width,e.height,{fill:o,"font-style":"italic"},u),e.descr&&""!==e.descr.text&&(u=i.personFont(),u.fontColor=o,A(i)(e.descr.text,c,e.x,e.y+e.descr.Y,e.width,e.height,{fill:o},u)),e.height},I=(t,e,i)=>{const r=t.append("g");let n=0;for(let t of e){let e=t.textColor?t.textColor:"#444444",s=t.lineColor?t.lineColor:"#444444",a=t.offsetX?parseInt(t.offsetX):0,o=t.offsetY?parseInt(t.offsetY):0,l="";if(0===n){let e=r.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",s),e.style("fill","none"),"rel_b"!==t.type&&e.attr("marker-end","url("+l+"#arrowhead)"),"birel"!==t.type&&"rel_b"!==t.type||e.attr("marker-start","url("+l+"#arrowend)"),n=-1}else{let e=r.append("path");e.attr("fill","none").attr("stroke-width","1").attr("stroke",s).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("+l+"#arrowhead)"),"birel"!==t.type&&"rel_b"!==t.type||e.attr("marker-start","url("+l+"#arrowend)")}let c=i.messageFont();A(i)(t.label.text,r,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+a,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+o,t.label.width,t.label.height,{fill:e},c),t.techn&&""!==t.techn.text&&(c=i.messageFont(),A(i)("["+t.techn.text+"]",r,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+a,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+i.messageFontSize+5+o,Math.max(t.label.width,t.techn.width),t.techn.height,{fill:e,"font-style":"italic"},c))}},D=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")},$=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")},F=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")},O=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")},N=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")},R=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")},M=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")};let P=0,q=0,z=4,Y=2;o.yy=E;let j={};class W{constructor(t){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,Z(t.db.getConfig())}setData(t,e,i,r){this.nextData.startx=this.data.startx=t,this.nextData.stopx=this.data.stopx=e,this.nextData.starty=this.data.starty=i,this.nextData.stopy=this.data.stopy=r}updateVal(t,e,i,r){void 0===t[e]?t[e]=i:t[e]=r(i,t[e])}insert(t){this.nextData.cnt=this.nextData.cnt+1;let e=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+t.margin:this.nextData.stopx+2*t.margin,i=e+t.width,r=this.nextData.starty+2*t.margin,n=r+t.height;(e>=this.data.widthLimit||i>=this.data.widthLimit||this.nextData.cnt>z)&&(e=this.nextData.startx+t.margin+j.nextLinePaddingX,r=this.nextData.stopy+2*t.margin,this.nextData.stopx=i=e+t.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=n=r+t.height,this.nextData.cnt=1),t.x=e,t.y=r,this.updateVal(this.data,"startx",e,Math.min),this.updateVal(this.data,"starty",r,Math.min),this.updateVal(this.data,"stopx",i,Math.max),this.updateVal(this.data,"stopy",n,Math.max),this.updateVal(this.nextData,"startx",e,Math.min),this.updateVal(this.nextData,"starty",r,Math.min),this.updateVal(this.nextData,"stopx",i,Math.max),this.updateVal(this.nextData,"stopy",n,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},Z(t.db.getConfig())}bumpLastMargin(t){this.data.stopx+=t,this.data.stopy+=t}}const Z=function(t){(0,r.f)(j,t),t.fontFamily&&(j.personFontFamily=j.systemFontFamily=j.messageFontFamily=t.fontFamily),t.fontSize&&(j.personFontSize=j.systemFontSize=j.messageFontSize=t.fontSize),t.fontWeight&&(j.personFontWeight=j.systemFontWeight=j.messageFontWeight=t.fontWeight)},U=(t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),H=t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight});function V(t,e,i,n,s){if(!e[t].width)if(i)e[t].text=(0,r.w)(e[t].text,s,n),e[t].textLines=e[t].text.split(r.e.lineBreakRegex).length,e[t].width=s,e[t].height=(0,r.j)(e[t].text,n);else{let i=e[t].text.split(r.e.lineBreakRegex);e[t].textLines=i.length;let s=0;e[t].height=0,e[t].width=0;for(const a of i)e[t].width=Math.max((0,r.h)(a,n),e[t].width),s=(0,r.j)(a,n),e[t].height=e[t].height+s}}const X=function(t,e,i){e.x=i.data.startx,e.y=i.data.starty,e.width=i.data.stopx-i.data.startx,e.height=i.data.stopy-i.data.starty,e.label.y=j.c4ShapeMargin-35;let n=e.wrap&&j.wrap,s=H(j);s.fontSize=s.fontSize+2,s.fontWeight="bold",V("label",e,n,s,(0,r.h)(e.label.text,s)),L(t,e,j)},G=function(t,e,i,n){let s=0;for(const a of n){s=0;const n=i[a];let o=U(j,n.typeC4Shape.text);switch(o.fontSize=o.fontSize-2,n.typeC4Shape.width=(0,r.h)("«"+n.typeC4Shape.text+"»",o),n.typeC4Shape.height=o.fontSize+2,n.typeC4Shape.Y=j.c4ShapePadding,s=n.typeC4Shape.Y+n.typeC4Shape.height-4,n.image={width:0,height:0,Y:0},n.typeC4Shape.text){case"person":case"external_person":n.image.width=48,n.image.height=48,n.image.Y=s,s=n.image.Y+n.image.height}n.sprite&&(n.image.width=48,n.image.height=48,n.image.Y=s,s=n.image.Y+n.image.height);let l=n.wrap&&j.wrap,c=j.width-2*j.c4ShapePadding,h=U(j,n.typeC4Shape.text);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",V("label",n,l,h,c),n.label.Y=s+8,s=n.label.Y+n.label.height,n.type&&""!==n.type.text){n.type.text="["+n.type.text+"]",V("type",n,l,U(j,n.typeC4Shape.text),c),n.type.Y=s+5,s=n.type.Y+n.type.height}else if(n.techn&&""!==n.techn.text){n.techn.text="["+n.techn.text+"]",V("techn",n,l,U(j,n.techn.text),c),n.techn.Y=s+5,s=n.techn.Y+n.techn.height}let d=s,u=n.label.width;if(n.descr&&""!==n.descr.text){V("descr",n,l,U(j,n.typeC4Shape.text),c),n.descr.Y=s+20,s=n.descr.Y+n.descr.height,u=Math.max(n.label.width,n.descr.width),d=s-5*n.descr.textLines}u+=j.c4ShapePadding,n.width=Math.max(n.width||j.width,u,j.width),n.height=Math.max(n.height||j.height,d,j.height),n.margin=n.margin||j.c4ShapeMargin,t.insert(n),B(e,n,j)}t.bumpLastMargin(j.c4ShapeMargin)};class K{constructor(t,e){this.x=t,this.y=e}}let Q=function(t,e){let i=t.x,r=t.y,n=e.x,s=e.y,a=i+t.width/2,o=r+t.height/2,l=Math.abs(i-n),c=Math.abs(r-s),h=c/l,d=t.height/t.width,u=null;return r==s&&i<n?u=new K(i+t.width,o):r==s&&i>n?u=new K(i,o):i==n&&r<s?u=new K(a,r+t.height):i==n&&r>s&&(u=new K(a,r)),i>n&&r<s?u=d>=h?new K(i,o+h*t.width/2):new K(a-l/c*t.height/2,r+t.height):i<n&&r<s?u=d>=h?new K(i+t.width,o+h*t.width/2):new K(a+l/c*t.height/2,r+t.height):i<n&&r>s?u=d>=h?new K(i+t.width,o-h*t.width/2):new K(a+t.height/2*l/c,r):i>n&&r>s&&(u=d>=h?new K(i,o-t.width/2*h):new K(a-t.height/2*l/c,r)),u},J=function(t,e){let i={x:0,y:0};i.x=e.x+e.width/2,i.y=e.y+e.height/2;let r=Q(t,i);return i.x=t.x+t.width/2,i.y=t.y+t.height/2,{startPoint:r,endPoint:Q(e,i)}};function tt(t,e,i,r,n){let s=new W(n);s.data.widthLimit=i.data.widthLimit/Math.min(Y,r.length);for(let[a,o]of r.entries()){let r=0;o.image={width:0,height:0,Y:0},o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=r,r=o.image.Y+o.image.height);let l=o.wrap&&j.wrap,c=H(j);if(c.fontSize=c.fontSize+2,c.fontWeight="bold",V("label",o,l,c,s.data.widthLimit),o.label.Y=r+8,r=o.label.Y+o.label.height,o.type&&""!==o.type.text){o.type.text="["+o.type.text+"]",V("type",o,l,H(j),s.data.widthLimit),o.type.Y=r+5,r=o.type.Y+o.type.height}if(o.descr&&""!==o.descr.text){let t=H(j);t.fontSize=t.fontSize-2,V("descr",o,l,t,s.data.widthLimit),o.descr.Y=r+20,r=o.descr.Y+o.descr.height}if(0==a||a%Y==0){let t=i.data.startx+j.diagramMarginX,e=i.data.stopy+j.diagramMarginY+r;s.setData(t,t,e,e)}else{let t=s.data.stopx!==s.data.startx?s.data.stopx+j.diagramMarginX:s.data.startx,e=s.data.starty;s.setData(t,t,e,e)}s.name=o.alias;let h=n.db.getC4ShapeArray(o.alias),d=n.db.getC4ShapeKeys(o.alias);d.length>0&&G(s,t,h,d),e=o.alias;let u=n.db.getBoundarys(e);u.length>0&&tt(t,e,s,u,n),"global"!==o.alias&&X(t,o,s),i.data.stopy=Math.max(s.data.stopy+j.c4ShapeMargin,i.data.stopy),i.data.stopx=Math.max(s.data.stopx+j.c4ShapeMargin,i.data.stopx),P=Math.max(P,i.data.stopx),q=Math.max(q,i.data.stopy)}}const et={drawPersonOrSystemArray:G,drawBoundary:X,setConf:Z,draw:function(t,e,i,s){j=(0,r.c)().c4;const a=(0,r.c)().securityLevel;let o;"sandbox"===a&&(o=(0,n.Ys)("#i"+e));const l="sandbox"===a?(0,n.Ys)(o.nodes()[0].contentDocument.body):(0,n.Ys)("body");let c=s.db;s.db.setWrap(j.wrap),z=c.getC4ShapeInRow(),Y=c.getC4BoundaryInRow(),r.l.debug(`C:${JSON.stringify(j,null,2)}`);const h="sandbox"===a?l.select(`[id="${e}"]`):(0,n.Ys)(`[id="${e}"]`);R(h),N(h),M(h);let d=new W(s);d.setData(j.diagramMarginX,j.diagramMarginX,j.diagramMarginY,j.diagramMarginY),d.data.widthLimit=screen.availWidth,P=j.diagramMarginX,q=j.diagramMarginY;const u=s.db.getTitle();tt(h,"",d,s.db.getBoundarys(""),s),D(h),$(h),O(h),F(h),function(t,e,i,n){let s=0;for(let t of e){s+=1;let e=t.wrap&&j.wrap,o={fontFamily:(a=j).messageFontFamily,fontSize:a.messageFontSize,fontWeight:a.messageFontWeight};"C4Dynamic"===n.db.getC4Type()&&(t.label.text=s+": "+t.label.text);let l=(0,r.h)(t.label.text,o);V("label",t,e,o,l),t.techn&&""!==t.techn.text&&(l=(0,r.h)(t.techn.text,o),V("techn",t,e,o,l)),t.descr&&""!==t.descr.text&&(l=(0,r.h)(t.descr.text,o),V("descr",t,e,o,l));let c=i(t.from),h=i(t.to),d=J(c,h);t.startPoint=d.startPoint,t.endPoint=d.endPoint}var a;I(t,e,j)}(h,s.db.getRels(),s.db.getC4Shape,s),d.data.stopx=P,d.data.stopy=q;const p=d.data;let g=p.stopy-p.starty+2*j.diagramMarginY;const y=p.stopx-p.startx+2*j.diagramMarginX;u&&h.append("text").text(u).attr("x",(p.stopx-p.startx)/2-4*j.diagramMarginX).attr("y",p.starty+j.diagramMarginY),(0,r.i)(h,g,y,j.useMaxWidth);const f=u?60:0;h.attr("viewBox",p.startx-j.diagramMarginX+" -"+(j.diagramMarginY+f)+" "+y+" "+(g+f)),r.l.debug("models:",p)}},it={parser:l,db:E,renderer:et,styles:t=>`.person {\n stroke: ${t.personBorder};\n fill: ${t.personBkg};\n }\n`,init:({c4:t,wrap:e})=>{et.setConf(t),E.setWrap(e)}}},96466:(t,e,i)=>{i.d(e,{diagram:()=>m});var r=i(1396),n=i(37724),s=i(33771),a=i(45625),o=i(98539);i(27484),i(17967),i(27856);let l=0;const c=function(t){let e=t.id;return t.type&&(e+="<"+(0,o.x)(t.type)+">"),e},h=function(t,e,i,r){const{displayText:n,cssStyle:s}=e.getDisplayDetails(),a=t.append("tspan").attr("x",r.padding).text(n);""!==s&&a.attr("style",e.cssStyle),i||a.attr("dy",r.textHeight)},d=function(t,e,i,r){o.l.debug("Rendering class ",e,i);const n=e.id,s={id:n,label:e.id,width:0,height:0},a=t.append("g").attr("id",r.db.lookUpDomId(n)).attr("class","classGroup");let l;l=e.link?a.append("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget).append("text").attr("y",i.textHeight+i.padding).attr("x",0):a.append("text").attr("y",i.textHeight+i.padding).attr("x",0);let d=!0;e.annotations.forEach((function(t){const e=l.append("tspan").text("«"+t+"»");d||e.attr("dy",i.textHeight),d=!1}));let u=c(e);const p=l.append("tspan").text(u).attr("class","title");d||p.attr("dy",i.textHeight);const g=l.node().getBBox().height;let y,f,m;if(e.members.length>0){y=a.append("line").attr("x1",0).attr("y1",i.padding+g+i.dividerMargin/2).attr("y2",i.padding+g+i.dividerMargin/2);const t=a.append("text").attr("x",i.padding).attr("y",g+i.dividerMargin+i.textHeight).attr("fill","white").attr("class","classText");d=!0,e.members.forEach((function(e){h(t,e,d,i),d=!1})),f=t.node().getBBox()}if(e.methods.length>0){m=a.append("line").attr("x1",0).attr("y1",i.padding+g+i.dividerMargin+f.height).attr("y2",i.padding+g+i.dividerMargin+f.height);const t=a.append("text").attr("x",i.padding).attr("y",g+2*i.dividerMargin+f.height+i.textHeight).attr("fill","white").attr("class","classText");d=!0,e.methods.forEach((function(e){h(t,e,d,i),d=!1}))}const x=a.node().getBBox();var b=" ";e.cssClasses.length>0&&(b+=e.cssClasses.join(" "));const k=a.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",x.width+2*i.padding).attr("height",x.height+i.padding+.5*i.dividerMargin).attr("class",b).node().getBBox().width;return l.node().childNodes.forEach((function(t){t.setAttribute("x",(k-t.getBBox().width)/2)})),e.tooltip&&l.insert("title").text(e.tooltip),y&&y.attr("x2",k),m&&m.attr("x2",k),s.width=k,s.height=x.height+i.padding+.5*i.dividerMargin,s},u=function(t,e,i,r,s){const a=function(t){switch(t){case s.db.relationType.AGGREGATION:return"aggregation";case s.db.relationType.EXTENSION:return"extension";case s.db.relationType.COMPOSITION:return"composition";case s.db.relationType.DEPENDENCY:return"dependency";case s.db.relationType.LOLLIPOP:return"lollipop"}};e.points=e.points.filter((t=>!Number.isNaN(t.y)));const c=e.points,h=(0,n.jvg)().x((function(t){return t.x})).y((function(t){return t.y})).curve(n.$0Z),d=t.append("path").attr("d",h(c)).attr("id","edge"+l).attr("class","relation");let u,p,g="";r.arrowMarkerAbsolute&&(g=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,g=g.replace(/\(/g,"\\("),g=g.replace(/\)/g,"\\)")),1==i.relation.lineType&&d.attr("class","relation dashed-line"),10==i.relation.lineType&&d.attr("class","relation dotted-line"),"none"!==i.relation.type1&&d.attr("marker-start","url("+g+"#"+a(i.relation.type1)+"Start)"),"none"!==i.relation.type2&&d.attr("marker-end","url("+g+"#"+a(i.relation.type2)+"End)");const y=e.points.length;let f,m,x,b,k=o.u.calcLabelPosition(e.points);if(u=k.x,p=k.y,y%2!=0&&y>1){let t=o.u.calcCardinalityPosition("none"!==i.relation.type1,e.points,e.points[0]),r=o.u.calcCardinalityPosition("none"!==i.relation.type2,e.points,e.points[y-1]);o.l.debug("cardinality_1_point "+JSON.stringify(t)),o.l.debug("cardinality_2_point "+JSON.stringify(r)),f=t.x,m=t.y,x=r.x,b=r.y}if(void 0!==i.title){const e=t.append("g").attr("class","classLabel"),n=e.append("text").attr("class","label").attr("x",u).attr("y",p).attr("fill","red").attr("text-anchor","middle").text(i.title);window.label=n;const s=n.node().getBBox();e.insert("rect",":first-child").attr("class","box").attr("x",s.x-r.padding/2).attr("y",s.y-r.padding/2).attr("width",s.width+r.padding).attr("height",s.height+r.padding)}if(o.l.info("Rendering relation "+JSON.stringify(i)),void 0!==i.relationTitle1&&"none"!==i.relationTitle1){t.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",f).attr("y",m).attr("fill","black").attr("font-size","6").text(i.relationTitle1)}if(void 0!==i.relationTitle2&&"none"!==i.relationTitle2){t.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",x).attr("y",b).attr("fill","black").attr("font-size","6").text(i.relationTitle2)}l++},p=function(t,e,i,r){o.l.debug("Rendering note ",e,i);const n=e.id,s={id:n,text:e.text,width:0,height:0},a=t.append("g").attr("id",n).attr("class","classGroup");let l=a.append("text").attr("y",i.textHeight+i.padding).attr("x",0);const c=JSON.parse(`"${e.text}"`).split("\n");c.forEach((function(t){o.l.debug(`Adding line: ${t}`),l.append("tspan").text(t).attr("class","title").attr("dy",i.textHeight)}));const h=a.node().getBBox(),d=a.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",h.width+2*i.padding).attr("height",h.height+c.length*i.textHeight+i.padding+.5*i.dividerMargin).node().getBBox().width;return l.node().childNodes.forEach((function(t){t.setAttribute("x",(d-t.getBBox().width)/2)})),s.width=d,s.height=h.height+c.length*i.textHeight+i.padding+.5*i.dividerMargin,s};let g={};const y=function(t){const e=Object.entries(g).find((e=>e[1].label===t));if(e)return e[0]},f={draw:function(t,e,i,r){const l=(0,o.c)().class;g={},o.l.info("Rendering diagram "+t);const c=(0,o.c)().securityLevel;let h;"sandbox"===c&&(h=(0,n.Ys)("#i"+e));const f="sandbox"===c?(0,n.Ys)(h.nodes()[0].contentDocument.body):(0,n.Ys)("body"),m=f.select(`[id='${e}']`);var x;(x=m).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"),x.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"),x.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"),x.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"),x.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"),x.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"),x.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"),x.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");const b=new a.k({multigraph:!0});b.setGraph({isMultiGraph:!0}),b.setDefaultEdgeLabel((function(){return{}}));const k=r.db.getClasses(),_=Object.keys(k);for(const t of _){const e=k[t],i=d(m,e,l,r);g[i.id]=i,b.setNode(i.id,i),o.l.info("Org height: "+i.height)}r.db.getRelations().forEach((function(t){o.l.info("tjoho"+y(t.id1)+y(t.id2)+JSON.stringify(t)),b.setEdge(y(t.id1),y(t.id2),{relation:t},t.title||"DEFAULT")}));r.db.getNotes().forEach((function(t){o.l.debug(`Adding note: ${JSON.stringify(t)}`);const e=p(m,t,l,r);g[e.id]=e,b.setNode(e.id,e),t.class&&t.class in k&&b.setEdge(t.id,y(t.class),{relation:{id1:t.id,id2:t.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")})),(0,s.bK)(b),b.nodes().forEach((function(t){void 0!==t&&void 0!==b.node(t)&&(o.l.debug("Node "+t+": "+JSON.stringify(b.node(t))),f.select("#"+(r.db.lookUpDomId(t)||t)).attr("transform","translate("+(b.node(t).x-b.node(t).width/2)+","+(b.node(t).y-b.node(t).height/2)+" )"))})),b.edges().forEach((function(t){void 0!==t&&void 0!==b.edge(t)&&(o.l.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(b.edge(t))),u(m,b.edge(t),b.edge(t).relation,l,r))}));const T=m.node().getBBox(),C=T.width+40,E=T.height+40;(0,o.i)(m,E,C,l.useMaxWidth);const S=`${T.x-20} ${T.y-20} ${C} ${E}`;o.l.debug(`viewBox ${S}`),m.attr("viewBox",S)}},m={parser:r.p,db:r.d,renderer:f,styles:r.s,init:t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,r.d.clear()}}},34082:(t,e,i)=>{i.d(e,{diagram:()=>p});var r=i(1396),n=i(37724),s=i(45625),a=i(98539),o=i(33019);i(27484),i(17967),i(27856),i(33771),i(46060);const l=t=>a.e.sanitizeText(t,(0,a.c)());let c={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const h=function(t,e,i,r,n){const s=Object.keys(t);a.l.info("keys:",s),a.l.info(t),s.filter((e=>t[e].parent==n)).forEach((function(i){var s,o;const c=t[i],h=c.cssClasses.join(" "),d=(0,a.k)(c.styles),u=c.label??c.id,p={labelStyle:d.labelStyle,shape:"class_box",labelText:l(u),classData:c,rx:0,ry:0,class:h,style:d.style,id:c.id,domId:c.domId,tooltip:r.db.getTooltip(c.id,n)||"",haveCallback:c.haveCallback,link:c.link,width:"group"===c.type?500:void 0,type:c.type,padding:(null==(s=(0,a.c)().flowchart)?void 0:s.padding)??(null==(o=(0,a.c)().class)?void 0:o.padding)};e.setNode(c.id,p),n&&e.setParent(c.id,n),a.l.info("setNode",p)}))};function d(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 u={setConf:function(t){c={...c,...t}},draw:async function(t,e,i,r){a.l.info("Drawing class - ",e);const u=(0,a.c)().flowchart??(0,a.c)().class,p=(0,a.c)().securityLevel;a.l.info("config:",u);const g=(null==u?void 0:u.nodeSpacing)??50,y=(null==u?void 0:u.rankSpacing)??50,f=new s.k({multigraph:!0,compound:!0}).setGraph({rankdir:r.db.getDirection(),nodesep:g,ranksep:y,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}})),m=r.db.getNamespaces(),x=r.db.getClasses(),b=r.db.getRelations(),k=r.db.getNotes();let _;a.l.info(b),function(t,e,i,r){const n=Object.keys(t);a.l.info("keys:",n),a.l.info(t),n.forEach((function(n){var s,o;const c=t[n],d={shape:"rect",id:c.id,domId:c.domId,labelText:l(c.id),labelStyle:"",style:"fill: none; stroke: black",padding:(null==(s=(0,a.c)().flowchart)?void 0:s.padding)??(null==(o=(0,a.c)().class)?void 0:o.padding)};e.setNode(c.id,d),h(c.classes,e,i,r,c.id),a.l.info("setNode",d)}))}(m,f,e,r),h(x,f,e,r),function(t,e){const i=(0,a.c)().flowchart;let r=0;t.forEach((function(t){var s;r++;const o={classes:"relation",pattern:1==t.relation.lineType?"dashed":"solid",id:`id_${t.id1}_${t.id2}_${r}`,arrowhead:"arrow_open"===t.type?"none":"normal",startLabelRight:"none"===t.relationTitle1?"":t.relationTitle1,endLabelLeft:"none"===t.relationTitle2?"":t.relationTitle2,arrowTypeStart:d(t.relation.type1),arrowTypeEnd:d(t.relation.type2),style:"fill:none",labelStyle:"",curve:(0,a.n)(null==i?void 0:i.curve,n.c_6)};if(a.l.info(o,t),void 0!==t.style){const e=(0,a.k)(t.style);o.style=e.style,o.labelStyle=e.labelStyle}t.text=t.title,void 0===t.text?void 0!==t.style&&(o.arrowheadStyle="fill: #333"):(o.arrowheadStyle="fill: #333",o.labelpos="c",(null==(s=(0,a.c)().flowchart)?void 0:s.htmlLabels)??(0,a.c)().htmlLabels?(o.labelType="html",o.label='<span class="edgeLabel">'+t.text+"</span>"):(o.labelType="text",o.label=t.text.replace(a.e.lineBreakRegex,"\n"),void 0===t.style&&(o.style=o.style||"stroke: #333; stroke-width: 1.5px;fill:none"),o.labelStyle=o.labelStyle.replace("color:","fill:"))),e.setEdge(t.id1,t.id2,o,r)}))}(b,f),function(t,e,i,r){a.l.info(t),t.forEach((function(t,s){var o,h;const d=t,u="",p="",g=d.text,y={labelStyle:u,shape:"note",labelText:l(g),noteData:d,rx:0,ry:0,class:"",style:p,id:d.id,domId:d.id,tooltip:"",type:"note",padding:(null==(o=(0,a.c)().flowchart)?void 0:o.padding)??(null==(h=(0,a.c)().class)?void 0:h.padding)};if(e.setNode(d.id,y),a.l.info("setNode",y),!d.class||!(d.class in r))return;const f=i+s,m={id:`edgeNote${f}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:(0,a.n)(c.curve,n.c_6)};e.setEdge(d.id,d.class,m,f)}))}(k,f,b.length+1,x),"sandbox"===p&&(_=(0,n.Ys)("#i"+e));const T="sandbox"===p?(0,n.Ys)(_.nodes()[0].contentDocument.body):(0,n.Ys)("body"),C=T.select(`[id="${e}"]`),E=T.select("#"+e+" g");if(await(0,o.r)(E,f,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",e),a.u.insertTitle(C,"classTitleText",(null==u?void 0:u.titleTopMargin)??5,r.db.getDiagramTitle()),(0,a.o)(f,C,null==u?void 0:u.diagramPadding,null==u?void 0:u.useMaxWidth),!(null==u?void 0:u.htmlLabels)){const t="sandbox"===p?_.nodes()[0].contentDocument:document,i=t.querySelectorAll('[id="'+e+'"] .edgeLabel .label');for(const e of i){const i=e.getBBox(),r=t.createElementNS("http://www.w3.org/2000/svg","rect");r.setAttribute("rx",0),r.setAttribute("ry",0),r.setAttribute("width",i.width),r.setAttribute("height",i.height),e.insertBefore(r,e.firstChild)}}}},p={parser:r.p,db:r.d,renderer:u,styles:r.s,init:t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,r.d.clear()}}},67807:(t,e,i)=>{i.d(e,{a:()=>y,c:()=>p});var r=i(98539),n=i(65656),s=i(18464);function a(t){const e=function(t){const e=t.replace(/\n{2,}/g,"\n");return(0,s.Z)(e)}(t),{children:i}=(0,n.V)(e),r=[[]];let a=0;function o(t,e="normal"){if("text"===t.type){t.value.split("\n").forEach(((t,i)=>{0!==i&&(a++,r.push([])),t.split(" ").forEach((t=>{t&&r[a].push({content:t,type:e})}))}))}else"strong"!==t.type&&"emphasis"!==t.type||t.children.forEach((e=>{o(e,t.type)}))}return i.forEach((t=>{"paragraph"===t.type&&t.children.forEach((t=>{o(t)}))})),r}function o(t,e){var i;return l(t,[],(i=e.content,Intl.Segmenter?[...(new Intl.Segmenter).segment(i)].map((t=>t.segment)):[...i]),e.type)}function l(t,e,i,r){if(0===i.length)return[{content:e.join(""),type:r},{content:"",type:r}];const[n,...s]=i,a=[...e,n];return t([{content:a.join(""),type:r}])?l(t,a,s,r):(0===e.length&&n&&(e.push(n),i.shift()),[{content:e.join(""),type:r},{content:i.join(""),type:r}])}function c(t,e){if(t.some((({content:t})=>t.includes("\n"))))throw new Error("splitLineToFitWidth does not support newlines in the line");return h(t,e)}function h(t,e,i=[],r=[]){if(0===t.length)return r.length>0&&i.push(r),i.length>0?i:[];let n="";" "===t[0].content&&(n=" ",t.shift());const s=t.shift()??{content:" ",type:"normal"},a=[...r];if(""!==n&&a.push({content:n,type:"normal"}),a.push(s),e(a))return h(t,e,i,a);if(r.length>0)i.push(r),t.unshift(s);else if(s.content){const[r,n]=o(e,s);i.push([r]),n.content&&t.unshift(n)}return h(t,e,i)}function d(t,e,i){return t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*i-.1+"em").attr("dy",i+"em")}function u(t,e,i){const r=t.append("text"),n=d(r,1,e);g(n,i);const s=n.node().getComputedTextLength();return r.remove(),s}function p(t,e,i){var r;const n=t.append("text"),s=d(n,1,e);g(s,[{content:i,type:"normal"}]);const a=null==(r=s.node())?void 0:r.getBoundingClientRect();return a&&n.remove(),a}function g(t,e){t.text(""),e.forEach(((e,i)=>{const r=t.append("tspan").attr("font-style","emphasis"===e.type?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight","strong"===e.type?"bold":"normal");0===i?r.text(e.content):r.text(" "+e.content)}))}const y=(t,e="",{style:i="",isTitle:s=!1,classes:o="",useHtmlLabels:l=!0,isNode:h=!0,width:p=200,addSvgBackground:y=!1}={})=>{if(r.l.info("createText",e,i,s,o,l,h,y),l){const s=function(t){const{children:e}=(0,n.V)(t);return e.map((function t(e){return"text"===e.type?e.value.replace(/\n/g,"<br/>"):"strong"===e.type?`<strong>${e.children.map(t).join("")}</strong>`:"emphasis"===e.type?`<em>${e.children.map(t).join("")}</em>`:"paragraph"===e.type?`<p>${e.children.map(t).join("")}</p>`:`Unsupported markdown: ${e.type}`})).join("")}(e),a=function(t,e,i,r,n=!1){const s=t.append("foreignObject"),a=s.append("xhtml:div"),o=e.label,l=e.isNode?"nodeLabel":"edgeLabel";var c,h;a.html(`\n <span class="${l} ${r}" `+(e.labelStyle?'style="'+e.labelStyle+'"':"")+">"+o+"</span>"),c=a,(h=e.labelStyle)&&c.attr("style",h),a.style("display","table-cell"),a.style("white-space","nowrap"),a.style("max-width",i+"px"),a.attr("xmlns","http://www.w3.org/1999/xhtml"),n&&a.attr("class","labelBkg");let d=a.node().getBoundingClientRect();return d.width===i&&(a.style("display","table"),a.style("white-space","break-spaces"),a.style("width",i+"px"),d=a.node().getBoundingClientRect()),s.style("width",d.width),s.style("height",d.height),s.node()}(t,{isNode:h,label:(0,r.M)(s).replace(/fa[blrs]?:fa-[\w-]+/g,(t=>`<i class='${t.replace(":"," ")}'></i>`)),labelStyle:i.replace("fill:","color:")},p,o,y);return a}{const i=function(t,e,i,r=!1){const n=e.append("g"),s=n.insert("rect").attr("class","background"),a=n.append("text").attr("y","-10.1");let o=0;for(const e of i){const i=e=>u(n,1.1,e)<=t,r=i(e)?[e]:c(e,i);for(const t of r)g(d(a,o,1.1),t),o++}if(r){const t=a.node().getBBox(),e=2;return s.attr("x",-e).attr("y",-e).attr("width",t.width+2*e).attr("height",t.height+2*e),n.node()}return a.node()}(p,t,a(e),y);return i}}},76010:(t,e,i)=>{i.d(e,{a:()=>o,b:()=>v,c:()=>l,d:()=>P,e:()=>S,f:()=>q,g:()=>L,h:()=>W,i:()=>y,j:()=>Y,k:()=>$,l:()=>c,m:()=>F,p:()=>A,s:()=>w,u:()=>h});var r=i(98539),n=i(37724),s=i(67807);const a={extension:(t,e,i)=>{r.l.trace("Making markers for ",i),t.append("defs").append("marker").attr("id",i+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).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",i+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).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,i)=>{t.append("defs").append("marker").attr("id",i+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).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",i+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).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,i)=>{t.append("defs").append("marker").attr("id",i+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).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",i+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).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,i)=>{t.append("defs").append("marker").attr("id",i+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).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",i+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).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,i)=>{t.append("defs").append("marker").attr("id",i+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",i+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},point:(t,e,i)=>{t.append("marker").attr("id",i+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).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",i+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).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,i)=>{t.append("marker").attr("id",i+"_"+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",i+"_"+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,i)=>{t.append("marker").attr("id",i+"_"+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",i+"_"+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,i)=>{t.append("defs").append("marker").attr("id",i+"_"+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")}},o=(t,e,i,r)=>{e.forEach((e=>{a[e](t,i,r)}))};const l=(t,e,i,s)=>{let a=t||"";if("object"==typeof a&&(a=a[0]),(0,r.m)((0,r.c)().flowchart.htmlLabels)){a=a.replace(/\\n|\n/g,"<br />"),r.l.debug("vertexText"+a);let t=function(t){const e=(0,n.Ys)(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),i=e.append("xhtml:div"),r=t.label,s=t.isNode?"nodeLabel":"edgeLabel";var a,o;return i.html('<span class="'+s+'" '+(t.labelStyle?'style="'+t.labelStyle+'"':"")+">"+r+"</span>"),a=i,(o=t.labelStyle)&&a.attr("style",o),i.style("display","inline-block"),i.style("white-space","nowrap"),i.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}({isNode:s,label:(0,r.M)(a).replace(/fa[blrs]?:fa-[\w-]+/g,(t=>`<i class='${t.replace(":"," ")}'></i>`)),labelStyle:e.replace("fill:","color:")});return t}{const t=document.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("style",e.replace("color:","fill:"));let r=[];r="string"==typeof a?a.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(a)?a:[];for(const e of r){const r=document.createElementNS("http://www.w3.org/2000/svg","tspan");r.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),r.setAttribute("dy","1em"),r.setAttribute("x","0"),i?r.setAttribute("class","title-row"):r.setAttribute("class","row"),r.textContent=e.trim(),t.appendChild(r)}return t}},c=async(t,e,i,a)=>{let o;const c=e.useHtmlLabels||(0,r.m)((0,r.c)().flowchart.htmlLabels);o=i||"node default";const h=t.insert("g").attr("class",o).attr("id",e.domId||e.id),d=h.insert("g").attr("class","label").attr("style",e.labelStyle);let u;u=void 0===e.labelText?"":"string"==typeof e.labelText?e.labelText:e.labelText[0];const p=d.node();let g;g="markdown"===e.labelType?(0,s.a)(d,(0,r.d)((0,r.M)(u),(0,r.c)()),{useHtmlLabels:c,width:e.width||(0,r.c)().flowchart.wrappingWidth,classes:"markdown-node-label"}):p.appendChild(l((0,r.d)((0,r.M)(u),(0,r.c)()),e.labelStyle,!1,a));let y=g.getBBox();const f=e.padding/2;if((0,r.m)((0,r.c)().flowchart.htmlLabels)){const t=g.children[0],e=(0,n.Ys)(g),i=t.getElementsByTagName("img");if(i){const t=""===u.replace(/<img[^>]*>/g,"").trim();await Promise.all([...i].map((e=>new Promise((i=>{function n(){if(e.style.display="flex",e.style.flexDirection="column",t){const t=(0,r.c)().fontSize?(0,r.c)().fontSize:window.getComputedStyle(document.body).fontSize,i=5,n=parseInt(t,10)*i+"px";e.style.minWidth=n,e.style.maxWidth=n}else e.style.width="100%";i(e)}setTimeout((()=>{e.complete&&n()})),e.addEventListener("error",n),e.addEventListener("load",n)})))))}y=t.getBoundingClientRect(),e.attr("width",y.width),e.attr("height",y.height)}return c?d.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"):d.attr("transform","translate(0, "+-y.height/2+")"),e.centerLabel&&d.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),d.insert("rect",":first-child"),{shapeSvg:h,bbox:y,halfPadding:f,label:d}},h=(t,e)=>{const i=e.node().getBBox();t.width=i.width,t.height=i.height};function d(t,e,i,r){return t.insert("polygon",":first-child").attr("points",r.map((function(t){return t.x+","+t.y})).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+i/2+")")}function u(t,e,i,r){var n=t.x,s=t.y,a=n-r.x,o=s-r.y,l=Math.sqrt(e*e*o*o+i*i*a*a),c=Math.abs(e*i*a/l);r.x<n&&(c=-c);var h=Math.abs(e*i*o/l);return r.y<s&&(h=-h),{x:n+c,y:s+h}}function p(t,e,i,r){var n,s,a,o,l,c,h,d,u,p,y,f,m;if(n=e.y-t.y,a=t.x-e.x,l=e.x*t.y-t.x*e.y,u=n*i.x+a*i.y+l,p=n*r.x+a*r.y+l,!(0!==u&&0!==p&&g(u,p)||(s=r.y-i.y,o=i.x-r.x,c=r.x*i.y-i.x*r.y,h=s*t.x+o*t.y+c,d=s*e.x+o*e.y+c,0!==h&&0!==d&&g(h,d)||0==(y=n*o-s*a))))return f=Math.abs(y/2),{x:(m=a*c-o*l)<0?(m-f)/y:(m+f)/y,y:(m=s*l-n*c)<0?(m-f)/y:(m+f)/y}}function g(t,e){return t*e>0}const y=(t,e)=>{var i,r,n=t.x,s=t.y,a=e.x-n,o=e.y-s,l=t.width/2,c=t.height/2;return Math.abs(o)*l>Math.abs(a)*c?(o<0&&(c=-c),i=0===o?0:c*a/o,r=c):(a<0&&(l=-l),i=l,r=0===a?0:l*o/a),{x:n+i,y:s+r}},f={node:function(t,e){return t.intersect(e)},circle:function(t,e,i){return u(t,e,e,i)},ellipse:u,polygon:function(t,e,i){var r=t.x,n=t.y,s=[],a=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;"function"==typeof e.forEach?e.forEach((function(t){a=Math.min(a,t.x),o=Math.min(o,t.y)})):(a=Math.min(a,e.x),o=Math.min(o,e.y));for(var l=r-t.width/2-a,c=n-t.height/2-o,h=0;h<e.length;h++){var d=e[h],u=e[h<e.length-1?h+1:0],g=p(t,i,{x:l+d.x,y:c+d.y},{x:l+u.x,y:c+u.y});g&&s.push(g)}return s.length?(s.length>1&&s.sort((function(t,e){var r=t.x-i.x,n=t.y-i.y,s=Math.sqrt(r*r+n*n),a=e.x-i.x,o=e.y-i.y,l=Math.sqrt(a*a+o*o);return s<l?-1:s===l?0:1})),s[0]):t},rect:y},m=(t,e,i)=>{const r=(t=>{const e=new Set;for(const i of t)switch(i){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(i)}return e})(t),n=e.height+2*i.padding,s=n/2,a=e.width+2*s+i.padding,o=i.padding/2;return r.has("right")&&r.has("left")&&r.has("up")&&r.has("down")?[{x:0,y:0},{x:s,y:0},{x:a/2,y:2*o},{x:a-s,y:0},{x:a,y:0},{x:a,y:-n/3},{x:a+2*o,y:-n/2},{x:a,y:-2*n/3},{x:a,y:-n},{x:a-s,y:-n},{x:a/2,y:-n-2*o},{x:s,y:-n},{x:0,y:-n},{x:0,y:-2*n/3},{x:-2*o,y:-n/2},{x:0,y:-n/3}]:r.has("right")&&r.has("left")&&r.has("up")?[{x:s,y:0},{x:a-s,y:0},{x:a,y:-n/2},{x:a-s,y:-n},{x:s,y:-n},{x:0,y:-n/2}]:r.has("right")&&r.has("left")&&r.has("down")?[{x:0,y:0},{x:s,y:-n},{x:a-s,y:-n},{x:a,y:0}]:r.has("right")&&r.has("up")&&r.has("down")?[{x:0,y:0},{x:a,y:-s},{x:a,y:-n+s},{x:0,y:-n}]:r.has("left")&&r.has("up")&&r.has("down")?[{x:a,y:0},{x:0,y:-s},{x:0,y:-n+s},{x:a,y:-n}]:r.has("right")&&r.has("left")?[{x:s,y:0},{x:s,y:-o},{x:a-s,y:-o},{x:a-s,y:0},{x:a,y:-n/2},{x:a-s,y:-n},{x:a-s,y:-n+o},{x:s,y:-n+o},{x:s,y:-n},{x:0,y:-n/2}]:r.has("up")&&r.has("down")?[{x:a/2,y:0},{x:0,y:-o},{x:s,y:-o},{x:s,y:-n+o},{x:0,y:-n+o},{x:a/2,y:-n},{x:a,y:-n+o},{x:a-s,y:-n+o},{x:a-s,y:-o},{x:a,y:-o}]:r.has("right")&&r.has("up")?[{x:0,y:0},{x:a,y:-s},{x:0,y:-n}]:r.has("right")&&r.has("down")?[{x:0,y:0},{x:a,y:0},{x:0,y:-n}]:r.has("left")&&r.has("up")?[{x:a,y:0},{x:0,y:-s},{x:a,y:-n}]:r.has("left")&&r.has("down")?[{x:a,y:0},{x:0,y:0},{x:a,y:-n}]:r.has("right")?[{x:s,y:-o},{x:s,y:-o},{x:a-s,y:-o},{x:a-s,y:0},{x:a,y:-n/2},{x:a-s,y:-n},{x:a-s,y:-n+o},{x:s,y:-n+o},{x:s,y:-n+o}]:r.has("left")?[{x:s,y:0},{x:s,y:-o},{x:a-s,y:-o},{x:a-s,y:-n+o},{x:s,y:-n+o},{x:s,y:-n},{x:0,y:-n/2}]:r.has("up")?[{x:s,y:-o},{x:s,y:-n+o},{x:0,y:-n+o},{x:a/2,y:-n},{x:a,y:-n+o},{x:a-s,y:-n+o},{x:a-s,y:-o}]:r.has("down")?[{x:a/2,y:0},{x:0,y:-o},{x:s,y:-o},{x:s,y:-n+o},{x:a-s,y:-n+o},{x:a-s,y:-o},{x:a,y:-o}]:[{x:0,y:0}]},x=t=>t?" "+t:"",b=(t,e)=>`${e||"node default"}${x(t.classes)} ${x(t.class)}`,k=async(t,e)=>{const{shapeSvg:i,bbox:n}=await c(t,e,b(e,void 0),!0),s=n.width+e.padding+(n.height+e.padding),a=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];r.l.info("Question main (Circle)");const o=d(i,s,s,a);return o.attr("style",e.style),h(e,o),e.intersect=function(t){return r.l.warn("Intersect called"),f.polygon(e,a,t)},i};function _(t,e,i,n){const s=[],a=t=>{s.push(t,0)},o=t=>{s.push(0,t)};e.includes("t")?(r.l.debug("add top border"),a(i)):o(i),e.includes("r")?(r.l.debug("add right border"),a(n)):o(n),e.includes("b")?(r.l.debug("add bottom border"),a(i)):o(i),e.includes("l")?(r.l.debug("add left border"),a(n)):o(n),t.attr("stroke-dasharray",s.join(" "))}const T=(t,e,i)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let n=70,s=10;"LR"===i&&(n=10,s=70);const a=r.append("rect").attr("x",-1*n/2).attr("y",-1*s/2).attr("width",n).attr("height",s).attr("class","fork-join");return h(e,a),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(t){return f.rect(e,t)},r},C={rhombus:k,composite:async(t,e)=>{const{shapeSvg:i,bbox:n,halfPadding:s}=await c(t,e,"node "+e.classes,!0),a=i.insert("rect",":first-child"),o=e.positioned?e.width:n.width+e.padding,l=e.positioned?e.height:n.height+e.padding,d=e.positioned?-o/2:-n.width/2-s,u=e.positioned?-l/2:-n.height/2-s;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",d).attr("y",u).attr("width",o).attr("height",l),e.props){const t=new Set(Object.keys(e.props));e.props.borders&&(_(a,e.props.borders,o,l),t.delete("borders")),t.forEach((t=>{r.l.warn(`Unknown node property ${t}`)}))}return h(e,a),e.intersect=function(t){return f.rect(e,t)},i},question:k,rect:async(t,e)=>{const{shapeSvg:i,bbox:n,halfPadding:s}=await c(t,e,"node "+e.classes+" "+e.class,!0),a=i.insert("rect",":first-child"),o=e.positioned?e.width:n.width+e.padding,l=e.positioned?e.height:n.height+e.padding,d=e.positioned?-o/2:-n.width/2-s,u=e.positioned?-l/2:-n.height/2-s;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",d).attr("y",u).attr("width",o).attr("height",l),e.props){const t=new Set(Object.keys(e.props));e.props.borders&&(_(a,e.props.borders,o,l),t.delete("borders")),t.forEach((t=>{r.l.warn(`Unknown node property ${t}`)}))}return h(e,a),e.intersect=function(t){return f.rect(e,t)},i},labelRect:async(t,e)=>{const{shapeSvg:i}=await c(t,e,"label",!0);r.l.trace("Classes = ",e.class);const n=i.insert("rect",":first-child");if(n.attr("width",0).attr("height",0),i.attr("class","label edgeLabel"),e.props){const t=new Set(Object.keys(e.props));e.props.borders&&(_(n,e.props.borders,0,0),t.delete("borders")),t.forEach((t=>{r.l.warn(`Unknown node property ${t}`)}))}return h(e,n),e.intersect=function(t){return f.rect(e,t)},i},rectWithTitle:(t,e)=>{let i;i=e.classes?"node "+e.classes:"node default";const s=t.insert("g").attr("class",i).attr("id",e.domId||e.id),a=s.insert("rect",":first-child"),o=s.insert("line"),c=s.insert("g").attr("class","label"),d=e.labelText.flat?e.labelText.flat():e.labelText;let u="";u="object"==typeof d?d[0]:d,r.l.info("Label text abc79",u,d,"object"==typeof d);const p=c.node().appendChild(l(u,e.labelStyle,!0,!0));let g={width:0,height:0};if((0,r.m)((0,r.c)().flowchart.htmlLabels)){const t=p.children[0],e=(0,n.Ys)(p);g=t.getBoundingClientRect(),e.attr("width",g.width),e.attr("height",g.height)}r.l.info("Text 2",d);const y=d.slice(1,d.length);let m=p.getBBox();const x=c.node().appendChild(l(y.join?y.join("<br/>"):y,e.labelStyle,!0,!0));if((0,r.m)((0,r.c)().flowchart.htmlLabels)){const t=x.children[0],e=(0,n.Ys)(x);g=t.getBoundingClientRect(),e.attr("width",g.width),e.attr("height",g.height)}const b=e.padding/2;return(0,n.Ys)(x).attr("transform","translate( "+(g.width>m.width?0:(m.width-g.width)/2)+", "+(m.height+b+5)+")"),(0,n.Ys)(p).attr("transform","translate( "+(g.width<m.width?0:-(m.width-g.width)/2)+", 0)"),g=c.node().getBBox(),c.attr("transform","translate("+-g.width/2+", "+(-g.height/2-b+3)+")"),a.attr("class","outer title-state").attr("x",-g.width/2-b).attr("y",-g.height/2-b).attr("width",g.width+e.padding).attr("height",g.height+e.padding),o.attr("class","divider").attr("x1",-g.width/2-b).attr("x2",g.width/2+b).attr("y1",-g.height/2-b+m.height+b).attr("y2",-g.height/2-b+m.height+b),h(e,a),e.intersect=function(t){return f.rect(e,t)},s},choice:(t,e)=>{const i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=[{x:0,y:14},{x:14,y:0},{x:0,y:-14},{x:-14,y:0}];return i.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 f.circle(e,14,t)},i},circle:async(t,e)=>{const{shapeSvg:i,bbox:n,halfPadding:s}=await c(t,e,b(e,void 0),!0),a=i.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+s).attr("width",n.width+e.padding).attr("height",n.height+e.padding),r.l.info("Circle main"),h(e,a),e.intersect=function(t){return r.l.info("Circle intersect",e,n.width/2+s,t),f.circle(e,n.width/2+s,t)},i},doublecircle:async(t,e)=>{const{shapeSvg:i,bbox:n,halfPadding:s}=await c(t,e,b(e,void 0),!0),a=i.insert("g",":first-child"),o=a.insert("circle"),l=a.insert("circle");return a.attr("class",e.class),o.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+s+5).attr("width",n.width+e.padding+10).attr("height",n.height+e.padding+10),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+s).attr("width",n.width+e.padding).attr("height",n.height+e.padding),r.l.info("DoubleCircle main"),h(e,o),e.intersect=function(t){return r.l.info("DoubleCircle intersect",e,n.width/2+s+5,t),f.circle(e,n.width/2+s+5,t)},i},stadium:async(t,e)=>{const{shapeSvg:i,bbox:r}=await c(t,e,b(e,void 0),!0),n=r.height+e.padding,s=r.width+n/4+e.padding,a=i.insert("rect",":first-child").attr("style",e.style).attr("rx",n/2).attr("ry",n/2).attr("x",-s/2).attr("y",-n/2).attr("width",s).attr("height",n);return h(e,a),e.intersect=function(t){return f.rect(e,t)},i},hexagon:async(t,e)=>{const{shapeSvg:i,bbox:r}=await c(t,e,b(e,void 0),!0),n=r.height+e.padding,s=n/4,a=r.width+2*s+e.padding,o=[{x:s,y:0},{x:a-s,y:0},{x:a,y:-n/2},{x:a-s,y:-n},{x:s,y:-n},{x:0,y:-n/2}],l=d(i,a,n,o);return l.attr("style",e.style),h(e,l),e.intersect=function(t){return f.polygon(e,o,t)},i},block_arrow:async(t,e)=>{const{shapeSvg:i,bbox:r}=await c(t,e,void 0,!0),n=r.height+2*e.padding,s=n/2,a=r.width+2*s+e.padding,o=m(e.directions,r,e),l=d(i,a,n,o);return l.attr("style",e.style),h(e,l),e.intersect=function(t){return f.polygon(e,o,t)},i},rect_left_inv_arrow:async(t,e)=>{const{shapeSvg:i,bbox:r}=await c(t,e,b(e,void 0),!0),n=r.width+e.padding,s=r.height+e.padding,a=[{x:-s/2,y:0},{x:n,y:0},{x:n,y:-s},{x:-s/2,y:-s},{x:0,y:-s/2}];return d(i,n,s,a).attr("style",e.style),e.width=n+s,e.height=s,e.intersect=function(t){return f.polygon(e,a,t)},i},lean_right:async(t,e)=>{const{shapeSvg:i,bbox:r}=await c(t,e,b(e),!0),n=r.width+e.padding,s=r.height+e.padding,a=[{x:-2*s/6,y:0},{x:n-s/6,y:0},{x:n+2*s/6,y:-s},{x:s/6,y:-s}],o=d(i,n,s,a);return o.attr("style",e.style),h(e,o),e.intersect=function(t){return f.polygon(e,a,t)},i},lean_left:async(t,e)=>{const{shapeSvg:i,bbox:r}=await c(t,e,b(e,void 0),!0),n=r.width+e.padding,s=r.height+e.padding,a=[{x:2*s/6,y:0},{x:n+s/6,y:0},{x:n-2*s/6,y:-s},{x:-s/6,y:-s}],o=d(i,n,s,a);return o.attr("style",e.style),h(e,o),e.intersect=function(t){return f.polygon(e,a,t)},i},trapezoid:async(t,e)=>{const{shapeSvg:i,bbox:r}=await c(t,e,b(e,void 0),!0),n=r.width+e.padding,s=r.height+e.padding,a=[{x:-2*s/6,y:0},{x:n+2*s/6,y:0},{x:n-s/6,y:-s},{x:s/6,y:-s}],o=d(i,n,s,a);return o.attr("style",e.style),h(e,o),e.intersect=function(t){return f.polygon(e,a,t)},i},inv_trapezoid:async(t,e)=>{const{shapeSvg:i,bbox:r}=await c(t,e,b(e,void 0),!0),n=r.width+e.padding,s=r.height+e.padding,a=[{x:s/6,y:0},{x:n-s/6,y:0},{x:n+2*s/6,y:-s},{x:-2*s/6,y:-s}],o=d(i,n,s,a);return o.attr("style",e.style),h(e,o),e.intersect=function(t){return f.polygon(e,a,t)},i},rect_right_inv_arrow:async(t,e)=>{const{shapeSvg:i,bbox:r}=await c(t,e,b(e,void 0),!0),n=r.width+e.padding,s=r.height+e.padding,a=[{x:0,y:0},{x:n+s/2,y:0},{x:n,y:-s/2},{x:n+s/2,y:-s},{x:0,y:-s}],o=d(i,n,s,a);return o.attr("style",e.style),h(e,o),e.intersect=function(t){return f.polygon(e,a,t)},i},cylinder:async(t,e)=>{const{shapeSvg:i,bbox:r}=await c(t,e,b(e,void 0),!0),n=r.width+e.padding,s=n/2,a=s/(2.5+n/50),o=r.height+a+e.padding,l="M 0,"+a+" a "+s+","+a+" 0,0,0 "+n+" 0 a "+s+","+a+" 0,0,0 "+-n+" 0 l 0,"+o+" a "+s+","+a+" 0,0,0 "+n+" 0 l 0,"+-o,d=i.attr("label-offset-y",a).insert("path",":first-child").attr("style",e.style).attr("d",l).attr("transform","translate("+-n/2+","+-(o/2+a)+")");return h(e,d),e.intersect=function(t){const i=f.rect(e,t),r=i.x-e.x;if(0!=s&&(Math.abs(r)<e.width/2||Math.abs(r)==e.width/2&&Math.abs(i.y-e.y)>e.height/2-a)){let n=a*a*(1-r*r/(s*s));0!=n&&(n=Math.sqrt(n)),n=a-n,t.y-e.y>0&&(n=-n),i.y+=n}return i},i},start:(t,e)=>{const i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=i.insert("circle",":first-child");return r.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),h(e,r),e.intersect=function(t){return f.circle(e,7,t)},i},end:(t,e)=>{const i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=i.insert("circle",":first-child"),n=i.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),r.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),h(e,n),e.intersect=function(t){return f.circle(e,7,t)},i},note:async(t,e)=>{e.useHtmlLabels||(0,r.c)().flowchart.htmlLabels||(e.centerLabel=!0);const{shapeSvg:i,bbox:n,halfPadding:s}=await c(t,e,"node "+e.classes,!0);r.l.info("Classes = ",e.classes);const a=i.insert("rect",":first-child");return a.attr("rx",e.rx).attr("ry",e.ry).attr("x",-n.width/2-s).attr("y",-n.height/2-s).attr("width",n.width+e.padding).attr("height",n.height+e.padding),h(e,a),e.intersect=function(t){return f.rect(e,t)},i},subroutine:async(t,e)=>{const{shapeSvg:i,bbox:r}=await c(t,e,b(e,void 0),!0),n=r.width+e.padding,s=r.height+e.padding,a=[{x:0,y:0},{x:n,y:0},{x:n,y:-s},{x:0,y:-s},{x:0,y:0},{x:-8,y:0},{x:n+8,y:0},{x:n+8,y:-s},{x:-8,y:-s},{x:-8,y:0}],o=d(i,n,s,a);return o.attr("style",e.style),h(e,o),e.intersect=function(t){return f.polygon(e,a,t)},i},fork:T,join:T,class_box:(t,e)=>{const i=e.padding/2;let s;s=e.classes?"node "+e.classes:"node default";const a=t.insert("g").attr("class",s).attr("id",e.domId||e.id),o=a.insert("rect",":first-child"),c=a.insert("line"),d=a.insert("line");let u=0,p=4;const g=a.insert("g").attr("class","label");let y=0;const m=e.classData.annotations&&e.classData.annotations[0],x=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",b=g.node().appendChild(l(x,e.labelStyle,!0,!0));let k=b.getBBox();if((0,r.m)((0,r.c)().flowchart.htmlLabels)){const t=b.children[0],e=(0,n.Ys)(b);k=t.getBoundingClientRect(),e.attr("width",k.width),e.attr("height",k.height)}e.classData.annotations[0]&&(p+=k.height+4,u+=k.width);let _=e.classData.label;void 0!==e.classData.type&&""!==e.classData.type&&((0,r.c)().flowchart.htmlLabels?_+="<"+e.classData.type+">":_+="<"+e.classData.type+">");const T=g.node().appendChild(l(_,e.labelStyle,!0,!0));(0,n.Ys)(T).attr("class","classTitle");let C=T.getBBox();if((0,r.m)((0,r.c)().flowchart.htmlLabels)){const t=T.children[0],e=(0,n.Ys)(T);C=t.getBoundingClientRect(),e.attr("width",C.width),e.attr("height",C.height)}p+=C.height+4,C.width>u&&(u=C.width);const E=[];e.classData.members.forEach((t=>{const i=t.getDisplayDetails();let s=i.displayText;(0,r.c)().flowchart.htmlLabels&&(s=s.replace(/</g,"<").replace(/>/g,">"));const a=g.node().appendChild(l(s,i.cssStyle?i.cssStyle:e.labelStyle,!0,!0));let o=a.getBBox();if((0,r.m)((0,r.c)().flowchart.htmlLabels)){const t=a.children[0],e=(0,n.Ys)(a);o=t.getBoundingClientRect(),e.attr("width",o.width),e.attr("height",o.height)}o.width>u&&(u=o.width),p+=o.height+4,E.push(a)})),p+=8;const S=[];if(e.classData.methods.forEach((t=>{const i=t.getDisplayDetails();let s=i.displayText;(0,r.c)().flowchart.htmlLabels&&(s=s.replace(/</g,"<").replace(/>/g,">"));const a=g.node().appendChild(l(s,i.cssStyle?i.cssStyle:e.labelStyle,!0,!0));let o=a.getBBox();if((0,r.m)((0,r.c)().flowchart.htmlLabels)){const t=a.children[0],e=(0,n.Ys)(a);o=t.getBoundingClientRect(),e.attr("width",o.width),e.attr("height",o.height)}o.width>u&&(u=o.width),p+=o.height+4,S.push(a)})),p+=8,m){let t=(u-k.width)/2;(0,n.Ys)(b).attr("transform","translate( "+(-1*u/2+t)+", "+-1*p/2+")"),y=k.height+4}let w=(u-C.width)/2;return(0,n.Ys)(T).attr("transform","translate( "+(-1*u/2+w)+", "+(-1*p/2+y)+")"),y+=C.height+4,c.attr("class","divider").attr("x1",-u/2-i).attr("x2",u/2+i).attr("y1",-p/2-i+8+y).attr("y2",-p/2-i+8+y),y+=8,E.forEach((t=>{(0,n.Ys)(t).attr("transform","translate( "+-u/2+", "+(-1*p/2+y+4)+")");const e=null==t?void 0:t.getBBox();y+=((null==e?void 0:e.height)??0)+4})),y+=8,d.attr("class","divider").attr("x1",-u/2-i).attr("x2",u/2+i).attr("y1",-p/2-i+8+y).attr("y2",-p/2-i+8+y),y+=8,S.forEach((t=>{(0,n.Ys)(t).attr("transform","translate( "+-u/2+", "+(-1*p/2+y)+")");const e=null==t?void 0:t.getBBox();y+=((null==e?void 0:e.height)??0)+4})),o.attr("style",e.style).attr("class","outer title-state").attr("x",-u/2-i).attr("y",-p/2-i).attr("width",u+e.padding).attr("height",p+e.padding),h(e,o),e.intersect=function(t){return f.rect(e,t)},a}};let E={};const S=async(t,e,i)=>{let n,s;if(e.link){let a;"sandbox"===(0,r.c)().securityLevel?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),s=await C[e.shape](n,e,i)}else s=await C[e.shape](t,e,i),n=s;return e.tooltip&&s.attr("title",e.tooltip),e.class&&s.attr("class","node default "+e.class),n.attr("data-node","true"),n.attr("data-id",e.id),E[e.id]=n,e.haveCallback&&E[e.id].attr("class",E[e.id].attr("class")+" clickable"),n},w=(t,e)=>{E[e.id]=t},v=()=>{E={}},A=t=>{const e=E[t.id];r.l.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const i=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+i-t.width/2)+", "+(t.y-t.height/2-8)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),i},L=({flowchart:t})=>{var e,i;const r=(null==(e=null==t?void 0:t.subGraphTitleMargin)?void 0:e.top)??0,n=(null==(i=null==t?void 0:t.subGraphTitleMargin)?void 0:i.bottom)??0;return{subGraphTitleTopMargin:r,subGraphTitleBottomMargin:n,subGraphTitleTotalMargin:r+n}},B={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function I(t,e){if(void 0===t||void 0===e)return{angle:0,deltaX:0,deltaY:0};t=D(t),e=D(e);const[i,r]=[t.x,t.y],[n,s]=[e.x,e.y],a=n-i,o=s-r;return{angle:Math.atan(o/a),deltaX:a,deltaY:o}}const D=t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,$=t=>({x:function(e,i,r){let n=0;if(0===i&&Object.hasOwn(B,t.arrowTypeStart)){const{angle:e,deltaX:i}=I(r[0],r[1]);n=B[t.arrowTypeStart]*Math.cos(e)*(i>=0?1:-1)}else if(i===r.length-1&&Object.hasOwn(B,t.arrowTypeEnd)){const{angle:e,deltaX:i}=I(r[r.length-1],r[r.length-2]);n=B[t.arrowTypeEnd]*Math.cos(e)*(i>=0?1:-1)}return D(e).x+n},y:function(e,i,r){let n=0;if(0===i&&Object.hasOwn(B,t.arrowTypeStart)){const{angle:e,deltaY:i}=I(r[0],r[1]);n=B[t.arrowTypeStart]*Math.abs(Math.sin(e))*(i>=0?1:-1)}else if(i===r.length-1&&Object.hasOwn(B,t.arrowTypeEnd)){const{angle:e,deltaY:i}=I(r[r.length-1],r[r.length-2]);n=B[t.arrowTypeEnd]*Math.abs(Math.sin(e))*(i>=0?1:-1)}return D(e).y+n}}),F=(t,e,i,r,n)=>{e.arrowTypeStart&&N(t,"start",e.arrowTypeStart,i,r,n),e.arrowTypeEnd&&N(t,"end",e.arrowTypeEnd,i,r,n)},O={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},N=(t,e,i,n,s,a)=>{const o=O[i];if(!o)return void r.l.warn(`Unknown arrow type: ${i}`);const l="start"===e?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${s}_${a}-${o}${l})`)};let R={},M={};const P=()=>{R={},M={}},q=(t,e)=>{const i=(0,r.m)((0,r.c)().flowchart.htmlLabels),a="markdown"===e.labelType?(0,s.a)(t,e.label,{style:e.labelStyle,useHtmlLabels:i,addSvgBackground:!0}):l(e.label,e.labelStyle),o=t.insert("g").attr("class","edgeLabel"),c=o.insert("g").attr("class","label");c.node().appendChild(a);let h,d=a.getBBox();if(i){const t=a.children[0],e=(0,n.Ys)(a);d=t.getBoundingClientRect(),e.attr("width",d.width),e.attr("height",d.height)}if(c.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),R[e.id]=o,e.width=d.width,e.height=d.height,e.startLabelLeft){const i=l(e.startLabelLeft,e.labelStyle),r=t.insert("g").attr("class","edgeTerminals"),n=r.insert("g").attr("class","inner");h=n.node().appendChild(i);const s=i.getBBox();n.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),M[e.id]||(M[e.id]={}),M[e.id].startLeft=r,z(h,e.startLabelLeft)}if(e.startLabelRight){const i=l(e.startLabelRight,e.labelStyle),r=t.insert("g").attr("class","edgeTerminals"),n=r.insert("g").attr("class","inner");h=r.node().appendChild(i),n.node().appendChild(i);const s=i.getBBox();n.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),M[e.id]||(M[e.id]={}),M[e.id].startRight=r,z(h,e.startLabelRight)}if(e.endLabelLeft){const i=l(e.endLabelLeft,e.labelStyle),r=t.insert("g").attr("class","edgeTerminals"),n=r.insert("g").attr("class","inner");h=n.node().appendChild(i);const s=i.getBBox();n.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),r.node().appendChild(i),M[e.id]||(M[e.id]={}),M[e.id].endLeft=r,z(h,e.endLabelLeft)}if(e.endLabelRight){const i=l(e.endLabelRight,e.labelStyle),r=t.insert("g").attr("class","edgeTerminals"),n=r.insert("g").attr("class","inner");h=n.node().appendChild(i);const s=i.getBBox();n.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),r.node().appendChild(i),M[e.id]||(M[e.id]={}),M[e.id].endRight=r,z(h,e.endLabelRight)}return a};function z(t,e){(0,r.c)().flowchart.htmlLabels&&t&&(t.style.width=9*e.length+"px",t.style.height="12px")}const Y=(t,e)=>{r.l.debug("Moving label abc88 ",t.id,t.label,R[t.id],e);let i=e.updatedPath?e.updatedPath:e.originalPath;const n=(0,r.c)(),{subGraphTitleTotalMargin:s}=L(n);if(t.label){const n=R[t.id];let a=t.x,o=t.y;if(i){const n=r.u.calcLabelPosition(i);r.l.debug("Moving label "+t.label+" from (",a,",",o,") to (",n.x,",",n.y,") abc88"),e.updatedPath&&(a=n.x,o=n.y)}n.attr("transform",`translate(${a}, ${o+s/2})`)}if(t.startLabelLeft){const e=M[t.id].startLeft;let n=t.x,s=t.y;if(i){const e=r.u.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",i);n=e.x,s=e.y}e.attr("transform",`translate(${n}, ${s})`)}if(t.startLabelRight){const e=M[t.id].startRight;let n=t.x,s=t.y;if(i){const e=r.u.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",i);n=e.x,s=e.y}e.attr("transform",`translate(${n}, ${s})`)}if(t.endLabelLeft){const e=M[t.id].endLeft;let n=t.x,s=t.y;if(i){const e=r.u.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",i);n=e.x,s=e.y}e.attr("transform",`translate(${n}, ${s})`)}if(t.endLabelRight){const e=M[t.id].endRight;let n=t.x,s=t.y;if(i){const e=r.u.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",i);n=e.x,s=e.y}e.attr("transform",`translate(${n}, ${s})`)}},j=(t,e)=>{r.l.debug("abc88 cutPathAtIntersect",t,e);let i=[],n=t[0],s=!1;return t.forEach((t=>{if(((t,e)=>{const i=t.x,r=t.y,n=Math.abs(e.x-i),s=Math.abs(e.y-r),a=t.width/2,o=t.height/2;return n>=a||s>=o})(e,t)||s)n=t,s||i.push(t);else{const a=((t,e,i)=>{r.l.debug(`intersection calc abc89:\n outsidePoint: ${JSON.stringify(e)}\n insidePoint : ${JSON.stringify(i)}\n node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,s=t.y,a=Math.abs(n-i.x),o=t.width/2;let l=i.x<e.x?o-a:o+a;const c=t.height/2,h=Math.abs(e.y-i.y),d=Math.abs(e.x-i.x);if(Math.abs(s-e.y)*o>Math.abs(n-e.x)*c){let t=i.y<e.y?e.y-c-s:s-c-e.y;l=d*t/h;const n={x:i.x<e.x?i.x+l:i.x-d+l,y:i.y<e.y?i.y+h-t:i.y-h+t};return 0===l&&(n.x=e.x,n.y=e.y),0===d&&(n.x=e.x),0===h&&(n.y=e.y),r.l.debug(`abc89 topp/bott calc, Q ${h}, q ${t}, R ${d}, r ${l}`,n),n}{l=i.x<e.x?e.x-o-n:n-o-e.x;let t=h*l/d,s=i.x<e.x?i.x+d-l:i.x-d+l,a=i.y<e.y?i.y+t:i.y-t;return r.l.debug(`sides calc abc89, Q ${h}, q ${t}, R ${d}, r ${l}`,{_x:s,_y:a}),0===l&&(s=e.x,a=e.y),0===d&&(s=e.x),0===h&&(a=e.y),{x:s,y:a}}})(e,n,t);let o=!1;i.forEach((t=>{o=o||t.x===a.x&&t.y===a.y})),i.some((t=>t.x===a.x&&t.y===a.y))||i.push(a),s=!0}})),i},W=function(t,e,i,s,a,o,l){let c=i.points;r.l.debug("abc88 InsertEdge: edge=",i,"e=",e);let h=!1;const d=o.node(e.v);var u=o.node(e.w);(null==u?void 0:u.intersect)&&(null==d?void 0:d.intersect)&&(c=c.slice(1,i.points.length-1),c.unshift(d.intersect(c[0])),c.push(u.intersect(c[c.length-1]))),i.toCluster&&(r.l.debug("to cluster abc88",s[i.toCluster]),c=j(i.points,s[i.toCluster].node),h=!0),i.fromCluster&&(r.l.debug("from cluster abc88",s[i.fromCluster]),c=j(c.reverse(),s[i.fromCluster].node).reverse(),h=!0);const p=c.filter((t=>!Number.isNaN(t.y)));let g=n.$0Z;!i.curve||"graph"!==a&&"flowchart"!==a||(g=i.curve);const{x:y,y:f}=$(i),m=(0,n.jvg)().x(y).y(f).curve(g);let x;switch(i.thickness){case"normal":x="edge-thickness-normal";break;case"thick":case"invisible":x="edge-thickness-thick";break;default:x=""}switch(i.pattern){case"solid":x+=" edge-pattern-solid";break;case"dotted":x+=" edge-pattern-dotted";break;case"dashed":x+=" edge-pattern-dashed"}const b=t.append("path").attr("d",m(p)).attr("id",i.id).attr("class"," "+x+(i.classes?" "+i.classes:"")).attr("style",i.style);let k="";((0,r.c)().flowchart.arrowMarkerAbsolute||(0,r.c)().state.arrowMarkerAbsolute)&&(k=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,k=k.replace(/\(/g,"\\("),k=k.replace(/\)/g,"\\)")),F(b,i,k,l,a);let _={};return h&&(_.updatedPath=c),_.originalPath=i.points,_}},88393:(t,e,i)=>{i.d(e,{diagram:()=>S});var r=i(98539),n=i(45625),s=i(37724),a=i(33771),o=i(48178),l=(i(27484),i(17967),i(27856),function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[6,8,10,20,22,24,26,27,28],i=[1,10],r=[1,11],n=[1,12],s=[1,13],a=[1,14],o=[1,15],l=[1,21],c=[1,22],h=[1,23],d=[1,24],u=[1,25],p=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],g=[1,34],y=[27,28,46,47],f=[41,42,43,44,45],m=[17,34],x=[1,54],b=[1,53],k=[17,34,36,38],_={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:function(t,e,i,r,n,s,a){var o=s.length-1;switch(n){case 1:break;case 2:case 6:case 7:this.$=[];break;case 3:s[o-1].push(s[o]),this.$=s[o-1];break;case 4:case 5:case 19:case 43:case 27:case 28:case 31:this.$=s[o];break;case 8:r.addEntity(s[o-4]),r.addEntity(s[o-2]),r.addRelationship(s[o-4],s[o],s[o-2],s[o-3]);break;case 9:r.addEntity(s[o-3]),r.addAttributes(s[o-3],s[o-1]);break;case 10:r.addEntity(s[o-2]);break;case 11:r.addEntity(s[o]);break;case 12:r.addEntity(s[o-6],s[o-4]),r.addAttributes(s[o-6],s[o-1]);break;case 13:r.addEntity(s[o-5],s[o-3]);break;case 14:r.addEntity(s[o-3],s[o-1]);break;case 15:case 16:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 17:case 18:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 20:case 41:case 42:case 32:this.$=s[o].replace(/"/g,"");break;case 21:case 29:this.$=[s[o]];break;case 22:s[o].push(s[o-1]),this.$=s[o];break;case 23:this.$={attributeType:s[o-1],attributeName:s[o]};break;case 24:this.$={attributeType:s[o-2],attributeName:s[o-1],attributeKeyTypeList:s[o]};break;case 25:this.$={attributeType:s[o-2],attributeName:s[o-1],attributeComment:s[o]};break;case 26:this.$={attributeType:s[o-3],attributeName:s[o-2],attributeKeyTypeList:s[o-1],attributeComment:s[o]};break;case 30:s[o-2].push(s[o]),this.$=s[o-2];break;case 33:this.$={cardA:s[o],relType:s[o-1],cardB:s[o-2]};break;case 34:this.$=r.Cardinality.ZERO_OR_ONE;break;case 35:this.$=r.Cardinality.ZERO_OR_MORE;break;case 36:this.$=r.Cardinality.ONE_OR_MORE;break;case 37:this.$=r.Cardinality.ONLY_ONE;break;case 38:this.$=r.Cardinality.MD_PARENT;break;case 39:this.$=r.Identification.NON_IDENTIFYING;break;case 40:this.$=r.Identification.IDENTIFYING}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:i,22:r,24:n,26:s,27:a,28:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:16,11:9,20:i,22:r,24:n,26:s,27:a,28:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:l,42:c,43:h,44:d,45:u}),{21:[1,26]},{23:[1,27]},{25:[1,28]},t(e,[2,18]),t(p,[2,19]),t(p,[2,20]),t(e,[2,4]),{11:29,27:a,28:o},{16:30,17:[1,31],29:32,30:33,34:g},{11:35,27:a,28:o},{40:36,46:[1,37],47:[1,38]},t(y,[2,34]),t(y,[2,35]),t(y,[2,36]),t(y,[2,37]),t(y,[2,38]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),{13:[1,39]},{17:[1,40]},t(e,[2,10]),{16:41,17:[2,21],29:32,30:33,34:g},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:l,42:c,43:h,44:d,45:u},t(f,[2,39]),t(f,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},t(e,[2,9]),{17:[2,22]},t(m,[2,23],{32:50,33:51,35:52,37:x,38:b}),t([17,34,37,38],[2,28]),t(e,[2,14],{15:[1,55]}),t([27,28],[2,33]),t(e,[2,8]),t(e,[2,41]),t(e,[2,42]),t(e,[2,43]),t(m,[2,24],{33:56,36:[1,57],38:b}),t(m,[2,25]),t(k,[2,29]),t(m,[2,32]),t(k,[2,31]),{16:58,17:[1,59],29:32,30:33,34:g},t(m,[2,26]),{35:60,37:x},{17:[1,61]},t(e,[2,13]),t(k,[2,30]),t(e,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)},parse:function(t){var e=this,i=[0],r=[],n=[null],s=[],a=this.table,o="",l=0,c=0,h=s.slice.call(arguments,1),d=Object.create(this.lexer),u={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(u.yy[p]=this.yy[p]);d.setInput(t,u.yy),u.yy.lexer=d,u.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var g=d.yylloc;s.push(g);var y=d.options&&d.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,x,b,k,_,T,C,E,S={};;){if(m=i[i.length-1],this.defaultActions[m]?x=this.defaultActions[m]:(null==f&&(E=void 0,"number"!=typeof(E=r.pop()||d.lex()||1)&&(E instanceof Array&&(E=(r=E).pop()),E=e.symbols_[E]||E),f=E),x=a[m]&&a[m][f]),void 0===x||!x.length||!x[0]){var w="";for(k in C=[],a[m])this.terminals_[k]&&k>2&&C.push("'"+this.terminals_[k]+"'");w=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(w,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:g,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+f);switch(x[0]){case 1:i.push(f),n.push(d.yytext),s.push(d.yylloc),i.push(x[1]),f=null,c=d.yyleng,o=d.yytext,l=d.yylineno,g=d.yylloc;break;case 2:if(_=this.productions_[x[1]][1],S.$=n[n.length-_],S._$={first_line:s[s.length-(_||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(_||1)].first_column,last_column:s[s.length-1].last_column},y&&(S._$.range=[s[s.length-(_||1)].range[0],s[s.length-1].range[1]]),void 0!==(b=this.performAction.apply(S,[o,c,l,u.yy,x[1],n,s].concat(h))))return b;_&&(i=i.slice(0,-1*_*2),n=n.slice(0,-1*_),s=s.slice(0,-1*_)),i.push(this.productions_[x[1]][0]),n.push(S.$),s.push(S._$),T=a[i[i.length-2]][i[i.length-1]],i.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,i=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 r=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[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 i,r,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.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],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var s in n)this[s]=n[s];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,i,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&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,i,r){switch(i){case 0:return this.begin("acc_title"),22;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),24;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 10;case 8:case 15:case 20:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;case 14:return 36;case 16:return 37;case 17:case 18:return 34;case 19:return 38;case 21:return this.popState(),17;case 22:case 54:return e.yytext[0];case 23:return 18;case 24:return 19;case 25:case 29:case 30:case 43:return 41;case 26:case 27:case 28:case 36:case 38:case 45:return 43;case 31:case 32:case 33:case 34:case 35:case 37:case 44:return 42;case 39:case 40:case 41:case 42:return 44;case 46:return 45;case 47:case 50:case 51:case 52:return 46;case 48:case 49:return 47;case 53:return 27;case 55:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/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,/^(?:\[)/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,/^(?:\s*u\b)/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},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,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],inclusive:!0}}};function C(){this.yy={}}return _.lexer=T,C.prototype=_,_.Parser=C,new C}());l.parser=l;const c=l;let h={},d=[];const u=function(t,e=void 0){return void 0===h[t]?(h[t]={attributes:[],alias:e},r.l.info("Added new entity :",t)):h[t]&&!h[t].alias&&e&&(h[t].alias=e,r.l.info(`Add alias '${e}' to entity '${t}'`)),h[t]},p={Cardinality:{ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},Identification:{NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},getConfig:()=>(0,r.c)().er,addEntity:u,addAttributes:function(t,e){let i,n=u(t);for(i=e.length-1;i>=0;i--)n.attributes.push(e[i]),r.l.debug("Added attribute ",e[i].attributeName)},getEntities:()=>h,addRelationship:function(t,e,i,n){let s={entityA:t,roleA:e,entityB:i,relSpec:n};d.push(s),r.l.debug("Added new relationship :",s)},getRelationships:()=>d,clear:function(){h={},d=[],(0,r.v)()},setAccTitle:r.s,getAccTitle:r.g,setAccDescription:r.b,getAccDescription:r.a,setDiagramTitle:r.q,getDiagramTitle:r.t},g={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",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},y=g,f=function(t,e){let i;t.append("defs").append("marker").attr("id",g.MD_PARENT_START).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",g.MD_PARENT_END).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",g.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",g.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"),i=t.append("defs").append("marker").attr("id",g.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),i.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),i.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18"),i=t.append("defs").append("marker").attr("id",g.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),i.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),i.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,0 L21,18"),t.append("defs").append("marker").attr("id",g.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",g.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"),i=t.append("defs").append("marker").attr("id",g.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),i.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),i.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),i=t.append("defs").append("marker").attr("id",g.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),i.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),i.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},m=/[^\dA-Za-z](\W)*/g;let x={},b=new Map;const k=function(t,e,i){let n;return Object.keys(e).forEach((function(s){const a=function(t="",e=""){const i=t.replace(m,"");return`${E(e)}${E(i)}${(0,o.Z)(t,C)}`}(s,"entity");b.set(s,a);const l=t.append("g").attr("id",a);n=void 0===n?a:n;const c="text-"+a,h=l.append("text").classed("er entityLabel",!0).attr("id",c).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",(0,r.c)().fontFamily).style("font-size",x.fontSize+"px").text(e[s].alias??s),{width:d,height:u}=((t,e,i)=>{const n=x.entityPadding/3,s=x.entityPadding/3,a=.85*x.fontSize,o=e.node().getBBox(),l=[];let c=!1,h=!1,d=0,u=0,p=0,g=0,y=o.height+2*n,f=1;i.forEach((t=>{void 0!==t.attributeKeyTypeList&&t.attributeKeyTypeList.length>0&&(c=!0),void 0!==t.attributeComment&&(h=!0)})),i.forEach((i=>{const s=`${e.node().id}-attr-${f}`;let o=0;const m=(0,r.x)(i.attributeType),x=t.append("text").classed("er entityLabel",!0).attr("id",`${s}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",(0,r.c)().fontFamily).style("font-size",a+"px").text(m),b=t.append("text").classed("er entityLabel",!0).attr("id",`${s}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",(0,r.c)().fontFamily).style("font-size",a+"px").text(i.attributeName),k={};k.tn=x,k.nn=b;const _=x.node().getBBox(),T=b.node().getBBox();if(d=Math.max(d,_.width),u=Math.max(u,T.width),o=Math.max(_.height,T.height),c){const e=void 0!==i.attributeKeyTypeList?i.attributeKeyTypeList.join(","):"",n=t.append("text").classed("er entityLabel",!0).attr("id",`${s}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",(0,r.c)().fontFamily).style("font-size",a+"px").text(e);k.kn=n;const l=n.node().getBBox();p=Math.max(p,l.width),o=Math.max(o,l.height)}if(h){const e=t.append("text").classed("er entityLabel",!0).attr("id",`${s}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",(0,r.c)().fontFamily).style("font-size",a+"px").text(i.attributeComment||"");k.cn=e;const n=e.node().getBBox();g=Math.max(g,n.width),o=Math.max(o,n.height)}k.height=o,l.push(k),y+=o+2*n,f+=1}));let m=4;c&&(m+=2),h&&(m+=2);const b=d+u+p+g,k={width:Math.max(x.minEntityWidth,Math.max(o.width+2*x.entityPadding,b+s*m)),height:i.length>0?y:Math.max(x.minEntityHeight,o.height+2*x.entityPadding)};if(i.length>0){const i=Math.max(0,(k.width-b-s*m)/(m/2));e.attr("transform","translate("+k.width/2+","+(n+o.height/2)+")");let r=o.height+2*n,a="attributeBoxOdd";l.forEach((e=>{const o=r+n+e.height/2;e.tn.attr("transform","translate("+s+","+o+")");const l=t.insert("rect","#"+e.tn.node().id).classed(`er ${a}`,!0).attr("x",0).attr("y",r).attr("width",d+2*s+i).attr("height",e.height+2*n),y=parseFloat(l.attr("x"))+parseFloat(l.attr("width"));e.nn.attr("transform","translate("+(y+s)+","+o+")");const f=t.insert("rect","#"+e.nn.node().id).classed(`er ${a}`,!0).attr("x",y).attr("y",r).attr("width",u+2*s+i).attr("height",e.height+2*n);let m=parseFloat(f.attr("x"))+parseFloat(f.attr("width"));if(c){e.kn.attr("transform","translate("+(m+s)+","+o+")");const l=t.insert("rect","#"+e.kn.node().id).classed(`er ${a}`,!0).attr("x",m).attr("y",r).attr("width",p+2*s+i).attr("height",e.height+2*n);m=parseFloat(l.attr("x"))+parseFloat(l.attr("width"))}h&&(e.cn.attr("transform","translate("+(m+s)+","+o+")"),t.insert("rect","#"+e.cn.node().id).classed(`er ${a}`,"true").attr("x",m).attr("y",r).attr("width",g+2*s+i).attr("height",e.height+2*n)),r+=e.height+2*n,a="attributeBoxOdd"===a?"attributeBoxEven":"attributeBoxOdd"}))}else k.height=Math.max(x.minEntityHeight,y),e.attr("transform","translate("+k.width/2+","+k.height/2+")");return k})(l,h,e[s].attributes),p=l.insert("rect","#"+c).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",d).attr("height",u).node().getBBox();i.setNode(a,{width:p.width,height:p.height,shape:"rect",id:a})})),n},_=function(t){return(t.entityA+t.roleA+t.entityB).replace(/\s/g,"")};let T=0;const C="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function E(t=""){return t.length>0?`${t}-`:""}const S={parser:c,db:p,renderer:{setConf:function(t){const e=Object.keys(t);for(const i of e)x[i]=t[i]},draw:function(t,e,i,o){x=(0,r.c)().er,r.l.info("Drawing ER diagram");const l=(0,r.c)().securityLevel;let c;"sandbox"===l&&(c=(0,s.Ys)("#i"+e));const h=("sandbox"===l?(0,s.Ys)(c.nodes()[0].contentDocument.body):(0,s.Ys)("body")).select(`[id='${e}']`);let d;f(h,x),d=new n.k({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:x.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel((function(){return{}}));const u=k(h,o.db.getEntities(),d),p=function(t,e){return t.forEach((function(t){e.setEdge(b.get(t.entityA),b.get(t.entityB),{relationship:t},_(t))})),t}(o.db.getRelationships(),d);var g,m;(0,a.bK)(d),g=h,(m=d).nodes().forEach((function(t){void 0!==t&&void 0!==m.node(t)&&g.select("#"+t).attr("transform","translate("+(m.node(t).x-m.node(t).width/2)+","+(m.node(t).y-m.node(t).height/2)+" )")})),p.forEach((function(t){!function(t,e,i,n,a){T++;const o=i.edge(b.get(e.entityA),b.get(e.entityB),_(e)),l=(0,s.jvg)().x((function(t){return t.x})).y((function(t){return t.y})).curve(s.$0Z),c=t.insert("path","#"+n).classed("er relationshipLine",!0).attr("d",l(o.points)).style("stroke",x.stroke).style("fill","none");e.relSpec.relType===a.db.Identification.NON_IDENTIFYING&&c.attr("stroke-dasharray","8,8");let h="";switch(x.arrowMarkerAbsolute&&(h=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,h=h.replace(/\(/g,"\\("),h=h.replace(/\)/g,"\\)")),e.relSpec.cardA){case a.db.Cardinality.ZERO_OR_ONE:c.attr("marker-end","url("+h+"#"+y.ZERO_OR_ONE_END+")");break;case a.db.Cardinality.ZERO_OR_MORE:c.attr("marker-end","url("+h+"#"+y.ZERO_OR_MORE_END+")");break;case a.db.Cardinality.ONE_OR_MORE:c.attr("marker-end","url("+h+"#"+y.ONE_OR_MORE_END+")");break;case a.db.Cardinality.ONLY_ONE:c.attr("marker-end","url("+h+"#"+y.ONLY_ONE_END+")");break;case a.db.Cardinality.MD_PARENT:c.attr("marker-end","url("+h+"#"+y.MD_PARENT_END+")")}switch(e.relSpec.cardB){case a.db.Cardinality.ZERO_OR_ONE:c.attr("marker-start","url("+h+"#"+y.ZERO_OR_ONE_START+")");break;case a.db.Cardinality.ZERO_OR_MORE:c.attr("marker-start","url("+h+"#"+y.ZERO_OR_MORE_START+")");break;case a.db.Cardinality.ONE_OR_MORE:c.attr("marker-start","url("+h+"#"+y.ONE_OR_MORE_START+")");break;case a.db.Cardinality.ONLY_ONE:c.attr("marker-start","url("+h+"#"+y.ONLY_ONE_START+")");break;case a.db.Cardinality.MD_PARENT:c.attr("marker-start","url("+h+"#"+y.MD_PARENT_START+")")}const d=c.node().getTotalLength(),u=c.node().getPointAtLength(.5*d),p="rel"+T,g=t.append("text").classed("er relationshipLabel",!0).attr("id",p).attr("x",u.x).attr("y",u.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",(0,r.c)().fontFamily).style("font-size",x.fontSize+"px").text(e.roleA).node().getBBox();t.insert("rect","#"+p).classed("er relationshipLabelBox",!0).attr("x",u.x-g.width/2).attr("y",u.y-g.height/2).attr("width",g.width).attr("height",g.height)}(h,t,d,u,o)}));const C=x.diagramPadding;r.u.insertTitle(h,"entityTitleText",x.titleTopMargin,o.db.getDiagramTitle());const E=h.node().getBBox(),S=E.width+2*C,w=E.height+2*C;(0,r.i)(h,w,S,x.useMaxWidth),h.attr("viewBox",`${E.x-C} ${E.y-C} ${S} ${w}`)}},styles: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 #MD_PARENT_START {\n fill: #f5f5f5 !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n }\n #MD_PARENT_END {\n fill: #f5f5f5 !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n }\n \n`}},39051:(t,e,i)=>{i.d(e,{d:()=>it,f:()=>et,p:()=>a});var r=i(37724),n=i(98539),s=function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,4],i=[1,3],r=[1,5],n=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],s=[2,2],a=[1,13],o=[1,14],l=[1,15],c=[1,16],h=[1,23],d=[1,25],u=[1,26],p=[1,27],g=[1,49],y=[1,48],f=[1,29],m=[1,30],x=[1,31],b=[1,32],k=[1,33],_=[1,44],T=[1,46],C=[1,42],E=[1,47],S=[1,43],w=[1,50],v=[1,45],A=[1,51],L=[1,52],B=[1,34],I=[1,35],D=[1,36],$=[1,37],F=[1,57],O=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],N=[1,61],R=[1,60],M=[1,62],P=[8,9,11,73,75],q=[1,88],z=[1,93],Y=[1,92],j=[1,89],W=[1,85],Z=[1,91],U=[1,87],H=[1,94],V=[1,90],X=[1,95],G=[1,86],K=[8,9,10,11,73,75],Q=[8,9,10,11,44,73,75],J=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],tt=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],et=[42,58,86,99,102,103,106,108,111,112,113],it=[1,121],rt=[1,120],nt=[1,128],st=[1,142],at=[1,143],ot=[1,144],lt=[1,145],ct=[1,130],ht=[1,132],dt=[1,136],ut=[1,137],pt=[1,138],gt=[1,139],yt=[1,140],ft=[1,141],mt=[1,146],xt=[1,147],bt=[1,126],kt=[1,127],_t=[1,134],Tt=[1,129],Ct=[1,133],Et=[1,131],St=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],wt=[1,149],vt=[8,9,11],At=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],Lt=[1,169],Bt=[1,165],It=[1,166],Dt=[1,170],$t=[1,167],Ft=[1,168],Ot=[75,113,116],Nt=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],Rt=[10,103],Mt=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],Pt=[1,235],qt=[1,233],zt=[1,237],Yt=[1,231],jt=[1,232],Wt=[1,234],Zt=[1,236],Ut=[1,238],Ht=[1,255],Vt=[8,9,11,103],Xt=[8,9,10,11,58,81,102,103,106,107,108,109],Gt={trace:function(){},yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(t,e,i,r,n,s,a){var o=s.length-1;switch(n){case 2:case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 3:(!Array.isArray(s[o])||s[o].length>0)&&s[o-1].push(s[o]),this.$=s[o-1];break;case 4:case 176:case 49:case 71:case 174:this.$=s[o];break;case 11:r.setDirection("TB"),this.$="TB";break;case 12:r.setDirection(s[o-1]),this.$=s[o-1];break;case 27:this.$=s[o-1].nodes;break;case 33:this.$=r.addSubGraph(s[o-6],s[o-1],s[o-4]);break;case 34:this.$=r.addSubGraph(s[o-3],s[o-1],s[o-3]);break;case 35:this.$=r.addSubGraph(void 0,s[o-1],void 0);break;case 37:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 38:case 39:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 43:r.addLink(s[o-2].stmt,s[o],s[o-1]),this.$={stmt:s[o],nodes:s[o].concat(s[o-2].nodes)};break;case 44:r.addLink(s[o-3].stmt,s[o-1],s[o-2]),this.$={stmt:s[o-1],nodes:s[o-1].concat(s[o-3].nodes)};break;case 45:this.$={stmt:s[o-1],nodes:s[o-1]};break;case 46:this.$={stmt:s[o],nodes:s[o]};break;case 47:case 121:case 123:this.$=[s[o]];break;case 48:this.$=s[o-4].concat(s[o]);break;case 50:this.$=s[o-2],r.setClass(s[o-2],s[o]);break;case 51:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"square");break;case 52:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"doublecircle");break;case 53:this.$=s[o-5],r.addVertex(s[o-5],s[o-2],"circle");break;case 54:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"ellipse");break;case 55:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"stadium");break;case 56:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"subroutine");break;case 57:this.$=s[o-7],r.addVertex(s[o-7],s[o-1],"rect",void 0,void 0,void 0,Object.fromEntries([[s[o-5],s[o-3]]]));break;case 58:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"cylinder");break;case 59:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"round");break;case 60:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"diamond");break;case 61:this.$=s[o-5],r.addVertex(s[o-5],s[o-2],"hexagon");break;case 62:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"odd");break;case 63:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"trapezoid");break;case 64:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"inv_trapezoid");break;case 65:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"lean_right");break;case 66:this.$=s[o-3],r.addVertex(s[o-3],s[o-1],"lean_left");break;case 67:this.$=s[o],r.addVertex(s[o]);break;case 68:s[o-1].text=s[o],this.$=s[o-1];break;case 69:case 70:s[o-2].text=s[o-1],this.$=s[o-2];break;case 72:var l=r.destructLink(s[o],s[o-2]);this.$={type:l.type,stroke:l.stroke,length:l.length,text:s[o-1]};break;case 73:case 79:case 94:case 96:this.$={text:s[o],type:"text"};break;case 74:case 80:case 95:this.$={text:s[o-1].text+""+s[o],type:s[o-1].type};break;case 75:case 81:this.$={text:s[o],type:"string"};break;case 76:case 82:case 97:this.$={text:s[o],type:"markdown"};break;case 77:l=r.destructLink(s[o]);this.$={type:l.type,stroke:l.stroke,length:l.length};break;case 78:this.$=s[o-1];break;case 98:this.$=s[o-4],r.addClass(s[o-2],s[o]);break;case 99:this.$=s[o-4],r.setClass(s[o-2],s[o]);break;case 100:case 108:this.$=s[o-1],r.setClickEvent(s[o-1],s[o]);break;case 101:case 109:this.$=s[o-3],r.setClickEvent(s[o-3],s[o-2]),r.setTooltip(s[o-3],s[o]);break;case 102:this.$=s[o-2],r.setClickEvent(s[o-2],s[o-1],s[o]);break;case 103:this.$=s[o-4],r.setClickEvent(s[o-4],s[o-3],s[o-2]),r.setTooltip(s[o-4],s[o]);break;case 104:this.$=s[o-2],r.setLink(s[o-2],s[o]);break;case 105:this.$=s[o-4],r.setLink(s[o-4],s[o-2]),r.setTooltip(s[o-4],s[o]);break;case 106:this.$=s[o-4],r.setLink(s[o-4],s[o-2],s[o]);break;case 107:this.$=s[o-6],r.setLink(s[o-6],s[o-4],s[o]),r.setTooltip(s[o-6],s[o-2]);break;case 110:this.$=s[o-1],r.setLink(s[o-1],s[o]);break;case 111:this.$=s[o-3],r.setLink(s[o-3],s[o-2]),r.setTooltip(s[o-3],s[o]);break;case 112:this.$=s[o-3],r.setLink(s[o-3],s[o-2],s[o]);break;case 113:this.$=s[o-5],r.setLink(s[o-5],s[o-4],s[o]),r.setTooltip(s[o-5],s[o-2]);break;case 114:this.$=s[o-4],r.addVertex(s[o-2],void 0,void 0,s[o]);break;case 115:this.$=s[o-4],r.updateLink([s[o-2]],s[o]);break;case 116:this.$=s[o-4],r.updateLink(s[o-2],s[o]);break;case 117:this.$=s[o-8],r.updateLinkInterpolate([s[o-6]],s[o-2]),r.updateLink([s[o-6]],s[o]);break;case 118:this.$=s[o-8],r.updateLinkInterpolate(s[o-6],s[o-2]),r.updateLink(s[o-6],s[o]);break;case 119:this.$=s[o-6],r.updateLinkInterpolate([s[o-4]],s[o]);break;case 120:this.$=s[o-6],r.updateLinkInterpolate(s[o-4],s[o]);break;case 122:case 124:s[o-2].push(s[o]),this.$=s[o-2];break;case 126:this.$=s[o-1]+s[o];break;case 175:case 177:this.$=s[o-1]+""+s[o];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"}}},table:[{3:1,4:2,9:e,10:i,12:r},{1:[3]},t(n,s,{5:6}),{4:7,9:e,10:i,12:r},{4:8,9:e,10:i,12:r},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:a,9:o,10:l,11:c,20:17,22:18,23:19,24:20,25:21,26:22,27:h,33:24,34:d,36:u,38:p,40:28,41:38,42:g,43:39,45:40,58:y,81:f,82:m,83:x,84:b,85:k,86:_,99:T,102:C,103:E,106:S,108:w,110:41,111:v,112:A,113:L,118:B,119:I,120:D,121:$},t(n,[2,9]),t(n,[2,10]),t(n,[2,11]),{8:[1,54],9:[1,55],10:F,15:53,18:56},t(O,[2,3]),t(O,[2,4]),t(O,[2,5]),t(O,[2,6]),t(O,[2,7]),t(O,[2,8]),{8:N,9:R,11:M,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:N,9:R,11:M,21:66},{8:N,9:R,11:M,21:67},{8:N,9:R,11:M,21:68},{8:N,9:R,11:M,21:69},{8:N,9:R,11:M,21:70},{8:N,9:R,10:[1,71],11:M,21:72},t(O,[2,36]),{35:[1,73]},{37:[1,74]},t(O,[2,39]),t(P,[2,46],{18:75,10:F}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:q,42:z,58:Y,77:[1,83],86:j,92:[1,80],94:[1,81],98:82,102:W,103:Z,106:U,108:H,111:V,112:X,113:G,117:84},t(O,[2,178]),t(O,[2,179]),t(O,[2,180]),t(O,[2,181]),t(K,[2,47]),t(K,[2,49],{44:[1,96]}),t(Q,[2,67],{110:109,29:[1,97],42:g,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:y,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:_,99:T,102:C,103:E,106:S,108:w,111:v,112:A,113:L}),t(J,[2,174]),t(J,[2,135]),t(J,[2,136]),t(J,[2,137]),t(J,[2,138]),t(J,[2,139]),t(J,[2,140]),t(J,[2,141]),t(J,[2,142]),t(J,[2,143]),t(J,[2,144]),t(J,[2,145]),t(n,[2,12]),t(n,[2,18]),t(n,[2,19]),{9:[1,110]},t(tt,[2,26],{18:111,10:F}),t(O,[2,27]),{40:112,41:38,42:g,43:39,45:40,58:y,86:_,99:T,102:C,103:E,106:S,108:w,110:41,111:v,112:A,113:L},t(O,[2,40]),t(O,[2,41]),t(O,[2,42]),t(et,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:it,116:rt},t([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),t(O,[2,28]),t(O,[2,29]),t(O,[2,30]),t(O,[2,31]),t(O,[2,32]),{10:nt,12:st,14:at,27:ot,28:122,32:lt,42:ct,58:ht,73:dt,77:[1,124],78:[1,125],80:135,81:ut,82:pt,83:gt,84:yt,85:ft,86:mt,87:xt,88:123,102:bt,106:kt,108:_t,111:Tt,112:Ct,113:Et},t(St,s,{5:148}),t(O,[2,37]),t(O,[2,38]),t(P,[2,45],{42:wt}),{42:g,45:150,58:y,86:_,99:T,102:C,103:E,106:S,108:w,110:41,111:v,112:A,113:L},{99:[1,151],100:152,102:[1,153]},{42:g,45:154,58:y,86:_,99:T,102:C,103:E,106:S,108:w,110:41,111:v,112:A,113:L},{42:g,45:155,58:y,86:_,99:T,102:C,103:E,106:S,108:w,110:41,111:v,112:A,113:L},t(vt,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},t(vt,[2,108],{117:160,10:[1,159],14:q,42:z,58:Y,86:j,102:W,103:Z,106:U,108:H,111:V,112:X,113:G}),t(vt,[2,110],{10:[1,161]}),t(At,[2,176]),t(At,[2,163]),t(At,[2,164]),t(At,[2,165]),t(At,[2,166]),t(At,[2,167]),t(At,[2,168]),t(At,[2,169]),t(At,[2,170]),t(At,[2,171]),t(At,[2,172]),t(At,[2,173]),{42:g,45:162,58:y,86:_,99:T,102:C,103:E,106:S,108:w,110:41,111:v,112:A,113:L},{30:163,65:Lt,77:Bt,78:It,79:164,113:Dt,114:$t,115:Ft},{30:171,65:Lt,77:Bt,78:It,79:164,113:Dt,114:$t,115:Ft},{30:173,48:[1,172],65:Lt,77:Bt,78:It,79:164,113:Dt,114:$t,115:Ft},{30:174,65:Lt,77:Bt,78:It,79:164,113:Dt,114:$t,115:Ft},{30:175,65:Lt,77:Bt,78:It,79:164,113:Dt,114:$t,115:Ft},{30:176,65:Lt,77:Bt,78:It,79:164,113:Dt,114:$t,115:Ft},{106:[1,177]},{30:178,65:Lt,77:Bt,78:It,79:164,113:Dt,114:$t,115:Ft},{30:179,63:[1,180],65:Lt,77:Bt,78:It,79:164,113:Dt,114:$t,115:Ft},{30:181,65:Lt,77:Bt,78:It,79:164,113:Dt,114:$t,115:Ft},{30:182,65:Lt,77:Bt,78:It,79:164,113:Dt,114:$t,115:Ft},{30:183,65:Lt,77:Bt,78:It,79:164,113:Dt,114:$t,115:Ft},t(J,[2,175]),t(n,[2,20]),t(tt,[2,25]),t(P,[2,43],{18:184,10:F}),t(et,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:Lt,77:Bt,78:It,79:164,113:Dt,114:$t,115:Ft},{75:[1,188],76:189,113:it,116:rt},t(Ot,[2,73]),t(Ot,[2,75]),t(Ot,[2,76]),t(Ot,[2,161]),t(Ot,[2,162]),{8:N,9:R,10:nt,11:M,12:st,14:at,21:191,27:ot,29:[1,190],32:lt,42:ct,58:ht,73:dt,80:135,81:ut,82:pt,83:gt,84:yt,85:ft,86:mt,87:xt,88:192,102:bt,106:kt,108:_t,111:Tt,112:Ct,113:Et},t(Nt,[2,94]),t(Nt,[2,96]),t(Nt,[2,97]),t(Nt,[2,150]),t(Nt,[2,151]),t(Nt,[2,152]),t(Nt,[2,153]),t(Nt,[2,154]),t(Nt,[2,155]),t(Nt,[2,156]),t(Nt,[2,157]),t(Nt,[2,158]),t(Nt,[2,159]),t(Nt,[2,160]),t(Nt,[2,83]),t(Nt,[2,84]),t(Nt,[2,85]),t(Nt,[2,86]),t(Nt,[2,87]),t(Nt,[2,88]),t(Nt,[2,89]),t(Nt,[2,90]),t(Nt,[2,91]),t(Nt,[2,92]),t(Nt,[2,93]),{6:11,7:12,8:a,9:o,10:l,11:c,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,193],33:24,34:d,36:u,38:p,40:28,41:38,42:g,43:39,45:40,58:y,81:f,82:m,83:x,84:b,85:k,86:_,99:T,102:C,103:E,106:S,108:w,110:41,111:v,112:A,113:L,118:B,119:I,120:D,121:$},{10:F,18:194},{10:[1,195],42:g,58:y,86:_,99:T,102:C,103:E,106:S,108:w,110:109,111:v,112:A,113:L},{10:[1,196]},{10:[1,197],103:[1,198]},t(Rt,[2,121]),{10:[1,199],42:g,58:y,86:_,99:T,102:C,103:E,106:S,108:w,110:109,111:v,112:A,113:L},{10:[1,200],42:g,58:y,86:_,99:T,102:C,103:E,106:S,108:w,110:109,111:v,112:A,113:L},{77:[1,201]},t(vt,[2,102],{10:[1,202]}),t(vt,[2,104],{10:[1,203]}),{77:[1,204]},t(At,[2,177]),{77:[1,205],95:[1,206]},t(K,[2,50],{110:109,42:g,58:y,86:_,99:T,102:C,103:E,106:S,108:w,111:v,112:A,113:L}),{31:[1,207],65:Lt,79:208,113:Dt,114:$t,115:Ft},t(Mt,[2,79]),t(Mt,[2,81]),t(Mt,[2,82]),t(Mt,[2,146]),t(Mt,[2,147]),t(Mt,[2,148]),t(Mt,[2,149]),{47:[1,209],65:Lt,79:208,113:Dt,114:$t,115:Ft},{30:210,65:Lt,77:Bt,78:It,79:164,113:Dt,114:$t,115:Ft},{49:[1,211],65:Lt,79:208,113:Dt,114:$t,115:Ft},{51:[1,212],65:Lt,79:208,113:Dt,114:$t,115:Ft},{53:[1,213],65:Lt,79:208,113:Dt,114:$t,115:Ft},{55:[1,214],65:Lt,79:208,113:Dt,114:$t,115:Ft},{58:[1,215]},{62:[1,216],65:Lt,79:208,113:Dt,114:$t,115:Ft},{64:[1,217],65:Lt,79:208,113:Dt,114:$t,115:Ft},{30:218,65:Lt,77:Bt,78:It,79:164,113:Dt,114:$t,115:Ft},{31:[1,219],65:Lt,79:208,113:Dt,114:$t,115:Ft},{65:Lt,67:[1,220],69:[1,221],79:208,113:Dt,114:$t,115:Ft},{65:Lt,67:[1,223],69:[1,222],79:208,113:Dt,114:$t,115:Ft},t(P,[2,44],{42:wt}),t(et,[2,70]),t(et,[2,69]),{60:[1,224],65:Lt,79:208,113:Dt,114:$t,115:Ft},t(et,[2,72]),t(Ot,[2,74]),{30:225,65:Lt,77:Bt,78:It,79:164,113:Dt,114:$t,115:Ft},t(St,s,{5:226}),t(Nt,[2,95]),t(O,[2,35]),{41:227,42:g,43:39,45:40,58:y,86:_,99:T,102:C,103:E,106:S,108:w,110:41,111:v,112:A,113:L},{10:Pt,58:qt,81:zt,89:228,102:Yt,104:229,105:230,106:jt,107:Wt,108:Zt,109:Ut},{10:Pt,58:qt,81:zt,89:239,101:[1,240],102:Yt,104:229,105:230,106:jt,107:Wt,108:Zt,109:Ut},{10:Pt,58:qt,81:zt,89:241,101:[1,242],102:Yt,104:229,105:230,106:jt,107:Wt,108:Zt,109:Ut},{102:[1,243]},{10:Pt,58:qt,81:zt,89:244,102:Yt,104:229,105:230,106:jt,107:Wt,108:Zt,109:Ut},{42:g,45:245,58:y,86:_,99:T,102:C,103:E,106:S,108:w,110:41,111:v,112:A,113:L},t(vt,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},t(vt,[2,109]),t(vt,[2,111],{10:[1,249]}),t(vt,[2,112]),t(Q,[2,51]),t(Mt,[2,80]),t(Q,[2,52]),{49:[1,250],65:Lt,79:208,113:Dt,114:$t,115:Ft},t(Q,[2,59]),t(Q,[2,54]),t(Q,[2,55]),t(Q,[2,56]),{106:[1,251]},t(Q,[2,58]),t(Q,[2,60]),{64:[1,252],65:Lt,79:208,113:Dt,114:$t,115:Ft},t(Q,[2,62]),t(Q,[2,63]),t(Q,[2,65]),t(Q,[2,64]),t(Q,[2,66]),t([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:Lt,79:208,113:Dt,114:$t,115:Ft},{6:11,7:12,8:a,9:o,10:l,11:c,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,254],33:24,34:d,36:u,38:p,40:28,41:38,42:g,43:39,45:40,58:y,81:f,82:m,83:x,84:b,85:k,86:_,99:T,102:C,103:E,106:S,108:w,110:41,111:v,112:A,113:L,118:B,119:I,120:D,121:$},t(K,[2,48]),t(vt,[2,114],{103:Ht}),t(Vt,[2,123],{105:256,10:Pt,58:qt,81:zt,102:Yt,106:jt,107:Wt,108:Zt,109:Ut}),t(Xt,[2,125]),t(Xt,[2,127]),t(Xt,[2,128]),t(Xt,[2,129]),t(Xt,[2,130]),t(Xt,[2,131]),t(Xt,[2,132]),t(Xt,[2,133]),t(Xt,[2,134]),t(vt,[2,115],{103:Ht}),{10:[1,257]},t(vt,[2,116],{103:Ht}),{10:[1,258]},t(Rt,[2,122]),t(vt,[2,98],{103:Ht}),t(vt,[2,99],{110:109,42:g,58:y,86:_,99:T,102:C,103:E,106:S,108:w,111:v,112:A,113:L}),t(vt,[2,103]),t(vt,[2,105],{10:[1,259]}),t(vt,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:N,9:R,11:M,21:264},t(O,[2,34]),{10:Pt,58:qt,81:zt,102:Yt,104:265,105:230,106:jt,107:Wt,108:Zt,109:Ut},t(Xt,[2,126]),{14:q,42:z,58:Y,86:j,98:266,102:W,103:Z,106:U,108:H,111:V,112:X,113:G,117:84},{14:q,42:z,58:Y,86:j,98:267,102:W,103:Z,106:U,108:H,111:V,112:X,113:G,117:84},{95:[1,268]},t(vt,[2,113]),t(Q,[2,53]),{30:269,65:Lt,77:Bt,78:It,79:164,113:Dt,114:$t,115:Ft},t(Q,[2,61]),t(St,s,{5:270}),t(Vt,[2,124],{105:256,10:Pt,58:qt,81:zt,102:Yt,106:jt,107:Wt,108:Zt,109:Ut}),t(vt,[2,119],{117:160,10:[1,271],14:q,42:z,58:Y,86:j,102:W,103:Z,106:U,108:H,111:V,112:X,113:G}),t(vt,[2,120],{117:160,10:[1,272],14:q,42:z,58:Y,86:j,102:W,103:Z,106:U,108:H,111:V,112:X,113:G}),t(vt,[2,107]),{31:[1,273],65:Lt,79:208,113:Dt,114:$t,115:Ft},{6:11,7:12,8:a,9:o,10:l,11:c,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,274],33:24,34:d,36:u,38:p,40:28,41:38,42:g,43:39,45:40,58:y,81:f,82:m,83:x,84:b,85:k,86:_,99:T,102:C,103:E,106:S,108:w,110:41,111:v,112:A,113:L,118:B,119:I,120:D,121:$},{10:Pt,58:qt,81:zt,89:275,102:Yt,104:229,105:230,106:jt,107:Wt,108:Zt,109:Ut},{10:Pt,58:qt,81:zt,89:276,102:Yt,104:229,105:230,106:jt,107:Wt,108:Zt,109:Ut},t(Q,[2,57]),t(O,[2,33]),t(vt,[2,117],{103:Ht}),t(vt,[2,118],{103:Ht})],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)},parse:function(t){var e=this,i=[0],r=[],n=[null],s=[],a=this.table,o="",l=0,c=0,h=s.slice.call(arguments,1),d=Object.create(this.lexer),u={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(u.yy[p]=this.yy[p]);d.setInput(t,u.yy),u.yy.lexer=d,u.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var g=d.yylloc;s.push(g);var y=d.options&&d.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,x,b,k,_,T,C,E,S={};;){if(m=i[i.length-1],this.defaultActions[m]?x=this.defaultActions[m]:(null==f&&(E=void 0,"number"!=typeof(E=r.pop()||d.lex()||1)&&(E instanceof Array&&(E=(r=E).pop()),E=e.symbols_[E]||E),f=E),x=a[m]&&a[m][f]),void 0===x||!x.length||!x[0]){var w="";for(k in C=[],a[m])this.terminals_[k]&&k>2&&C.push("'"+this.terminals_[k]+"'");w=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(w,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:g,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+f);switch(x[0]){case 1:i.push(f),n.push(d.yytext),s.push(d.yylloc),i.push(x[1]),f=null,c=d.yyleng,o=d.yytext,l=d.yylineno,g=d.yylloc;break;case 2:if(_=this.productions_[x[1]][1],S.$=n[n.length-_],S._$={first_line:s[s.length-(_||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(_||1)].first_column,last_column:s[s.length-1].last_column},y&&(S._$.range=[s[s.length-(_||1)].range[0],s[s.length-1].range[1]]),void 0!==(b=this.performAction.apply(S,[o,c,l,u.yy,x[1],n,s].concat(h))))return b;_&&(i=i.slice(0,-1*_*2),n=n.slice(0,-1*_),s=s.slice(0,-1*_)),i.push(this.productions_[x[1]][0]),n.push(S.$),s.push(S._$),T=a[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}},Kt={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,i=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 r=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[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 i,r,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.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],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var s in n)this[s]=n[s];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,i,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&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,i,r){switch(i){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 8:case 11:case 14:case 17:case 27:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:this.begin("callbackname");break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 92;case 12:return 93;case 13:return"MD_STR";case 15:this.begin("md_string");break;case 16:return"STR";case 18:this.pushState("string");break;case 19:return 81;case 20:return 99;case 21:return 82;case 22:return 101;case 23:return 83;case 24:return 84;case 25:return 94;case 26:this.begin("click");break;case 28:return 85;case 29:case 30:case 31:return t.lex.firstGraph()&&this.begin("dir"),12;case 32:return 27;case 33:return 32;case 34:case 35:case 36:case 37:return 95;case 38:return this.popState(),13;case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:return this.popState(),14;case 49:return 118;case 50:return 119;case 51:return 120;case 52:return 121;case 53:return 102;case 54:case 95:return 108;case 55:return 44;case 56:return 58;case 57:case 96:return 42;case 58:return 8;case 59:return 103;case 60:case 94:return 112;case 61:case 64:case 67:return this.popState(),75;case 62:return this.pushState("edgeText"),73;case 63:case 66:case 69:return 116;case 65:return this.pushState("thickEdgeText"),73;case 68:return this.pushState("dottedEdgeText"),73;case 70:return 75;case 71:return this.popState(),51;case 72:case 108:return"TEXT";case 73:return this.pushState("ellipseText"),50;case 74:return this.popState(),53;case 75:return this.pushState("text"),52;case 76:return this.popState(),55;case 77:return this.pushState("text"),54;case 78:return 56;case 79:return this.pushState("text"),65;case 80:return this.popState(),62;case 81:return this.pushState("text"),61;case 82:return this.popState(),47;case 83:return this.pushState("text"),46;case 84:return this.popState(),67;case 85:return this.popState(),69;case 86:return 114;case 87:return this.pushState("trapText"),66;case 88:return this.pushState("trapText"),68;case 89:return 115;case 90:return 65;case 91:return 87;case 92:return"SEP";case 93:return 86;case 97:return 106;case 98:return 111;case 99:return 113;case 100:return this.popState(),60;case 101:return this.pushState("text"),60;case 102:return this.popState(),49;case 103:return this.pushState("text"),48;case 104:return this.popState(),31;case 105:return this.pushState("text"),29;case 106:return this.popState(),64;case 107:return this.pushState("text"),63;case 109:return"QUOTE";case 110:return 9;case 111:return 10;case 112:return 11}},rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\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<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-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])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{callbackargs:{rules:[11,12,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},callbackname:{rules:[8,9,10,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},href:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},click:{rules:[15,18,27,28,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dottedEdgeText:{rules:[15,18,67,69,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},thickEdgeText:{rules:[15,18,64,66,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},edgeText:{rules:[15,18,61,63,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},trapText:{rules:[15,18,70,73,75,77,81,83,84,85,86,87,88,101,103,105,107],inclusive:!1},ellipseText:{rules:[15,18,70,71,72,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},text:{rules:[15,18,70,73,74,75,76,77,80,81,82,83,87,88,100,101,102,103,104,105,106,107,108],inclusive:!1},vertex:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dir:{rules:[15,18,38,39,40,41,42,43,44,45,46,47,48,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr_multiline:{rules:[5,6,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr:{rules:[3,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_title:{rules:[1,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},md_string:{rules:[13,14,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},string:{rules:[15,16,17,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},INITIAL:{rules:[0,2,4,7,15,18,19,20,21,22,23,24,25,26,29,30,31,32,33,34,35,36,37,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,67,68,70,73,75,77,78,79,81,83,87,88,89,90,91,92,93,94,95,96,97,98,99,101,103,105,107,109,110,111,112],inclusive:!0}}};function Qt(){this.yy={}}return Gt.lexer=Kt,Qt.prototype=Gt,Gt.Parser=Qt,new Qt}();s.parser=s;const a=s;let o,l,c=0,h=(0,n.c)(),d={},u=[],p={},g=[],y={},f={},m=0,x=!0,b=[];const k=t=>n.e.sanitizeText(t,h),_=function(t){const e=Object.keys(d);for(const i of e)if(d[i].id===t)return d[i].domId;return t},T=function(t,e,i,r,s,a,o={}){let l,u=t;void 0!==u&&0!==u.trim().length&&(void 0===d[u]&&(d[u]={id:u,labelType:"text",domId:"flowchart-"+u+"-"+c,styles:[],classes:[]}),c++,void 0!==e?(h=(0,n.c)(),l=k(e.text.trim()),d[u].labelType=e.type,'"'===l[0]&&'"'===l[l.length-1]&&(l=l.substring(1,l.length-1)),d[u].text=l):void 0===d[u].text&&(d[u].text=t),void 0!==i&&(d[u].type=i),null!=r&&r.forEach((function(t){d[u].styles.push(t)})),null!=s&&s.forEach((function(t){d[u].classes.push(t)})),void 0!==a&&(d[u].dir=a),void 0===d[u].props?d[u].props=o:void 0!==o&&Object.assign(d[u].props,o))},C=function(t,e,i){const r={start:t,end:e,type:void 0,text:"",labelType:"text"};n.l.info("abc78 Got edge...",r);const s=i.text;if(void 0!==s&&(r.text=k(s.text.trim()),'"'===r.text[0]&&'"'===r.text[r.text.length-1]&&(r.text=r.text.substring(1,r.text.length-1)),r.labelType=s.type),void 0!==i&&(r.type=i.type,r.stroke=i.stroke,r.length=i.length),(null==r?void 0:r.length)>10&&(r.length=10),!(u.length<(h.maxEdges??500)))throw new Error(`Edge limit exceeded. ${u.length} edges found, but the limit is ${h.maxEdges}.\n\nInitialize mermaid with maxEdges set to a higher number to allow more edges.\nYou cannot set this config via configuration inside the diagram as it is a secure config.\nYou have to call mermaid.initialize.`);n.l.info("abc78 pushing edge..."),u.push(r)},E=function(t,e,i){let r,s;for(n.l.info("addLink (abc78)",t,e,i),r=0;r<t.length;r++)for(s=0;s<e.length;s++)C(t[r],e[s],i)},S=function(t,e){t.forEach((function(t){"default"===t?u.defaultInterpolate=e:u[t].interpolate=e}))},w=function(t,e){t.forEach((function(t){if(t>=u.length)throw new Error(`The index ${t} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${u.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);"default"===t?u.defaultStyle=e:(-1===n.u.isSubstringInArray("fill",e)&&e.push("fill:none"),u[t].style=e)}))},v=function(t,e){t.split(",").forEach((function(t){void 0===p[t]&&(p[t]={id:t,styles:[],textStyles:[]}),null!=e&&e.forEach((function(e){if(e.match("color")){const i=e.replace("fill","bgFill").replace("color","fill");p[t].textStyles.push(i)}p[t].styles.push(e)}))}))},A=function(t){o=t,o.match(/.*</)&&(o="RL"),o.match(/.*\^/)&&(o="BT"),o.match(/.*>/)&&(o="LR"),o.match(/.*v/)&&(o="TB"),"TD"===o&&(o="TB")},L=function(t,e){t.split(",").forEach((function(t){let i=t;void 0!==d[i]&&d[i].classes.push(e),void 0!==y[i]&&y[i].classes.push(e)}))},B=function(t,e,i){t.split(",").forEach((function(t){void 0!==d[t]&&(d[t].link=n.u.formatUrl(e,h),d[t].linkTarget=i)})),L(t,"clickable")},I=function(t){if(f.hasOwnProperty(t))return f[t]},D=function(t,e,i){t.split(",").forEach((function(t){!function(t,e,i){let r=_(t);if("loose"!==(0,n.c)().securityLevel)return;if(void 0===e)return;let s=[];if("string"==typeof i){s=i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<s.length;t++){let e=s[t].trim();'"'===e.charAt(0)&&'"'===e.charAt(e.length-1)&&(e=e.substr(1,e.length-2)),s[t]=e}}0===s.length&&s.push(t),void 0!==d[t]&&(d[t].haveCallback=!0,b.push((function(){const t=document.querySelector(`[id="${r}"]`);null!==t&&t.addEventListener("click",(function(){n.u.runFunc(e,...s)}),!1)})))}(t,e,i)})),L(t,"clickable")},$=function(t){b.forEach((function(e){e(t)}))},F=function(){return o.trim()},O=function(){return d},N=function(){return u},R=function(){return p},M=function(t){let e=(0,r.Ys)(".mermaidTooltip");null===(e._groups||e)[0][0]&&(e=(0,r.Ys)("body").append("div").attr("class","mermaidTooltip").style("opacity",0));(0,r.Ys)(t).select("svg").selectAll("g.node").on("mouseover",(function(){const t=(0,r.Ys)(this);if(null===t.attr("title"))return;const i=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.text(t.attr("title")).style("left",window.scrollX+i.left+(i.right-i.left)/2+"px").style("top",window.scrollY+i.bottom+"px"),e.html(e.html().replace(/<br\/>/g,"<br/>")),t.classed("hover",!0)})).on("mouseout",(function(){e.transition().duration(500).style("opacity",0);(0,r.Ys)(this).classed("hover",!1)}))};b.push(M);const P=function(t="gen-1"){d={},p={},u=[],b=[M],g=[],y={},m=0,f={},x=!0,l=t,h=(0,n.c)(),(0,n.v)()},q=t=>{l=t||"gen-2"},z=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},Y=function(t,e,i){let r=t.text.trim(),s=i.text;t===i&&i.text.match(/\s/)&&(r=void 0);let a=[];const{nodeList:o,dir:c}=function(t){const e={boolean:{},number:{},string:{}},i=[];let r;return{nodeList:t.filter((function(t){const n=typeof t;return t.stmt&&"dir"===t.stmt?(r=t.value,!1):""!==t.trim()&&(n in e?!e[n].hasOwnProperty(t)&&(e[n][t]=!0):!i.includes(t)&&i.push(t))})),dir:r}}(a.concat.apply(a,e));if(a=o,"gen-1"===l)for(let t=0;t<a.length;t++)a[t]=_(a[t]);r=r||"subGraph"+m,s=s||"",s=k(s),m+=1;const h={id:r,nodes:a,title:s.trim(),classes:[],dir:c,labelType:i.type};return n.l.info("Adding",h.id,h.nodes,h.dir),h.nodes=J(h,g).nodes,g.push(h),y[r]=h,r},j=function(t){for(const[e,i]of g.entries())if(i.id===t)return e;return-1};let W=-1;const Z=[],U=function(t,e){const i=g[e].nodes;if(W+=1,W>2e3)return;if(Z[W]=e,g[e].id===t)return{result:!0,count:0};let r=0,n=1;for(;r<i.length;){const e=j(i[r]);if(e>=0){const i=U(t,e);if(i.result)return{result:!0,count:n+i.count};n+=i.count}r+=1}return{result:!1,count:n}},H=function(t){return Z[t]},V=function(){W=-1,g.length>0&&U("none",g.length-1)},X=function(){return g},G=()=>!!x&&(x=!1,!0),K=(t,e)=>{const i=(t=>{const e=t.trim();let i=e.slice(0,-1),r="arrow_open";switch(e.slice(-1)){case"x":r="arrow_cross","x"===e[0]&&(r="double_"+r,i=i.slice(1));break;case">":r="arrow_point","<"===e[0]&&(r="double_"+r,i=i.slice(1));break;case"o":r="arrow_circle","o"===e[0]&&(r="double_"+r,i=i.slice(1))}let n="normal",s=i.length-1;"="===i[0]&&(n="thick"),"~"===i[0]&&(n="invisible");let a=((t,e)=>{const i=e.length;let r=0;for(let n=0;n<i;++n)e[n]===t&&++r;return r})(".",i);return a&&(n="dotted",s=a),{type:r,stroke:n,length:s}})(t);let r;if(e){if(r=(t=>{let e=t.trim(),i="arrow_open";switch(e[0]){case"<":i="arrow_point",e=e.slice(1);break;case"x":i="arrow_cross",e=e.slice(1);break;case"o":i="arrow_circle",e=e.slice(1)}let r="normal";return e.includes("=")&&(r="thick"),e.includes(".")&&(r="dotted"),{type:i,stroke:r}})(e),r.stroke!==i.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===r.type)r.type=i.type;else{if(r.type!==i.type)return{type:"INVALID",stroke:"INVALID"};r.type="double_"+r.type}return"double_arrow"===r.type&&(r.type="double_arrow_point"),r.length=i.length,r}return i},Q=(t,e)=>{let i=!1;return t.forEach((t=>{t.nodes.indexOf(e)>=0&&(i=!0)})),i},J=(t,e)=>{const i=[];return t.nodes.forEach(((r,n)=>{Q(e,r)||i.push(t.nodes[n])})),{nodes:i}},tt={firstGraph:G},et={defaultConfig:()=>n.K.flowchart,setAccTitle:n.s,getAccTitle:n.g,getAccDescription:n.a,setAccDescription:n.b,addVertex:T,lookUpDomId:_,addLink:E,updateLinkInterpolate:S,updateLink:w,addClass:v,setDirection:A,setClass:L,setTooltip:function(t,e){t.split(",").forEach((function(t){void 0!==e&&(f["gen-1"===l?_(t):t]=k(e))}))},getTooltip:I,setClickEvent:D,setLink:B,bindFunctions:$,getDirection:F,getVertices:O,getEdges:N,getClasses:R,clear:P,setGen:q,defaultStyle:z,addSubGraph:Y,getDepthFirstPos:H,indexNodes:V,getSubGraphs:X,destructLink:K,lex:tt,exists:Q,makeUniq:J,setDiagramTitle:n.q,getDiagramTitle:n.t},it=Object.freeze(Object.defineProperty({__proto__:null,addClass:v,addLink:E,addSingleLink:C,addSubGraph:Y,addVertex:T,bindFunctions:$,clear:P,default:et,defaultStyle:z,destructLink:K,firstGraph:G,getClasses:R,getDepthFirstPos:H,getDirection:F,getEdges:N,getSubGraphs:X,getTooltip:I,getVertices:O,indexNodes:V,lex:tt,lookUpDomId:_,setClass:L,setClickEvent:D,setDirection:A,setGen:q,setLink:B,updateLink:w,updateLinkInterpolate:S},Symbol.toStringTag,{value:"Module"}))},76939:(t,e,i)=>{i.d(e,{diagram:()=>o});var r=i(39051),n=(i(45625),i(37724),i(98539),i(90651),i(96225),i(43349),i(34792),i(22930),i(39253));i(27484),i(17967),i(27856),i(33771),i(46060);const s={},a=function(t){const e=Object.keys(t);for(const i of e)s[i]=t[i]},o={parser:r.p,db:r.f,renderer:n.f,styles:n.a,init:t=>{t.flowchart||(t.flowchart={}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,a(t.flowchart),r.f.clear(),r.f.setGen("gen-1")}}},36295:(t,e,i)=>{i.d(e,{diagram:()=>a});var r=i(39051),n=i(39253),s=i(98539);i(37724),i(45625),i(33771),i(46060),i(27484),i(17967),i(27856);const a={parser:r.p,db:r.f,renderer:n.f,styles:n.a,init:t=>{t.flowchart||(t.flowchart={}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,(0,s.p)({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}}),n.f.setConf(t.flowchart),r.f.clear(),r.f.setGen("gen-2")}}},6256:(t,e,i)=>{i.d(e,{diagram:()=>_});var r=i(39051),n=i(37724),s=i(76010),a=i(98539),o=i(17295);i(27484),i(17967),i(27856);const l=new o;let c={};const h={};let d={};const u=(t,e,i)=>{const r={TB:{in:{north:"north"},out:{south:"west",west:"east",east:"south"}},LR:{in:{west:"west"},out:{east:"south",south:"north",north:"east"}},RL:{in:{east:"east"},out:{west:"north",north:"south",south:"west"}},BT:{in:{south:"south"},out:{north:"east",east:"west",west:"north"}}};return r.TD=r.TB,r[i][e][t]},p=(t,e,i)=>{if(a.l.info("getNextPort",{node:t,edgeDirection:e,graphDirection:i}),!c[t])switch(i){case"TB":case"TD":c[t]={inPosition:"north",outPosition:"south"};break;case"BT":c[t]={inPosition:"south",outPosition:"north"};break;case"RL":c[t]={inPosition:"east",outPosition:"west"};break;case"LR":c[t]={inPosition:"west",outPosition:"east"}}const r="in"===e?c[t].inPosition:c[t].outPosition;return"in"===e?c[t].inPosition=u(c[t].inPosition,e,i):c[t].outPosition=u(c[t].outPosition,e,i),r},g=function(t,e,i,r){a.l.info("abc78 edges = ",t);const o=r.insert("g").attr("class","edgeLabels");let l,c,u={},g=e.db.getDirection();if(void 0!==t.defaultStyle){const e=(0,a.k)(t.defaultStyle);l=e.style,c=e.labelStyle}return t.forEach((function(e){const r="L-"+e.start+"-"+e.end;void 0===u[r]?(u[r]=0,a.l.info("abc78 new entry",r,u[r])):(u[r]++,a.l.info("abc78 new entry",r,u[r]));let y=r+"-"+u[r];a.l.info("abc78 new link id to be used is",r,y,u[r]);const f="LS-"+e.start,m="LE-"+e.end,x={style:"",labelStyle:""};switch(x.minlen=e.length||1,"arrow_open"===e.type?x.arrowhead="none":x.arrowhead="normal",x.arrowTypeStart="arrow_open",x.arrowTypeEnd="arrow_open",e.type){case"double_arrow_cross":x.arrowTypeStart="arrow_cross";case"arrow_cross":x.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":x.arrowTypeStart="arrow_point";case"arrow_point":x.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":x.arrowTypeStart="arrow_circle";case"arrow_circle":x.arrowTypeEnd="arrow_circle"}let b="",k="";switch(e.stroke){case"normal":b="fill:none;",void 0!==l&&(b=l),void 0!==c&&(k=c),x.thickness="normal",x.pattern="solid";break;case"dotted":x.thickness="normal",x.pattern="dotted",x.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":x.thickness="thick",x.pattern="solid",x.style="stroke-width: 3.5px;fill:none;"}if(void 0!==e.style){const t=(0,a.k)(e.style);b=t.style,k=t.labelStyle}x.style=x.style+=b,x.labelStyle=x.labelStyle+=k,void 0!==e.interpolate?x.curve=(0,a.n)(e.interpolate,n.c_6):void 0!==t.defaultInterpolate?x.curve=(0,a.n)(t.defaultInterpolate,n.c_6):x.curve=(0,a.n)(h.curve,n.c_6),void 0===e.text?void 0!==e.style&&(x.arrowheadStyle="fill: #333"):(x.arrowheadStyle="fill: #333",x.labelpos="c"),x.labelType=e.labelType,x.label=e.text.replace(a.e.lineBreakRegex,"\n"),void 0===e.style&&(x.style=x.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),x.labelStyle=x.labelStyle.replace("color:","fill:"),x.id=y,x.classes="flowchart-link "+f+" "+m;const _=(0,s.f)(o,x),{source:T,target:C,sourceId:E,targetId:S}=((t,e)=>{let i=t.start,r=t.end;const n=i,s=r,a=d[i],o=d[r];return a&&o?("diamond"===a.type&&(i=`${i}-${p(i,"out",e)}`),"diamond"===o.type&&(r=`${r}-${p(r,"in",e)}`),{source:i,target:r,sourceId:n,targetId:s}):{source:i,target:r}})(e,g);a.l.debug("abc78 source and target",T,C),i.edges.push({id:"e"+e.start+e.end,sources:[T],targets:[C],sourceId:E,targetId:S,labelEl:_,labels:[{width:x.width,height:x.height,orgWidth:x.width,orgHeight:x.height,text:x.label,layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}}],edgeData:x})})),i},y=function(t,e,i){const r=((t,e,i)=>{const{parentById:r}=i,n=new Set;let s=t;for(;s;){if(n.add(s),s===e)return s;s=r[s]}for(s=e;s;){if(n.has(s))return s;s=r[s]}return"root"})(t,e,i);if(void 0===r||"root"===r)return{x:0,y:0};const n=d[r].offset;return{x:n.posX,y:n.posY}},f=function(t,e,i,r,a,o){const l=y(e.sourceId,e.targetId,a),c=e.sections[0].startPoint,h=e.sections[0].endPoint,d=(e.sections[0].bendPoints?e.sections[0].bendPoints:[]).map((t=>[t.x+l.x,t.y+l.y])),u=[[c.x+l.x,c.y+l.y],...d,[h.x+l.x,h.y+l.y]],{x:p,y:g}=(0,s.k)(e.edgeData),f=(0,n.jvg)().x(p).y(g).curve(n.c_6),m=t.insert("path").attr("d",f(u)).attr("class","path "+i.classes).attr("fill","none"),x=t.insert("g").attr("class","edgeLabel"),b=(0,n.Ys)(x.node().appendChild(e.labelEl)),k=b.node().firstChild.getBoundingClientRect();b.attr("width",k.width),b.attr("height",k.height),x.attr("transform",`translate(${e.labels[0].x+l.x}, ${e.labels[0].y+l.y})`),function(t,e,i,r,n){let a="";r&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replace(/\(/g,"\\("),a=a.replace(/\)/g,"\\)")),(0,s.m)(t,e,a,n,i)}(m,i,r.type,r.arrowMarkerAbsolute,o)},m=(t,e)=>{t.forEach((t=>{t.children||(t.children=[]);const i=e.childrenById[t.id];i&&i.forEach((e=>{t.children.push(d[e])})),m(t.children,e)}))},x=(t,e,i,r,n,s,o)=>{i.forEach((function(i){if(i)if(d[i.id].offset={posX:i.x+t,posY:i.y+e,x:t,y:e,depth:o,width:i.width,height:i.height},"group"===i.type){const r=n.insert("g").attr("class","subgraph");r.insert("rect").attr("class","subgraph subgraph-lvl-"+o%5+" node").attr("x",i.x+t).attr("y",i.y+e).attr("width",i.width).attr("height",i.height);const s=r.insert("g").attr("class","label"),l=(0,a.F)().flowchart.htmlLabels?i.labelData.width/2:0;s.attr("transform",`translate(${i.labels[0].x+t+i.x+l}, ${i.labels[0].y+e+i.y+3})`),s.node().appendChild(i.labelData.labelNode),a.l.info("Id (UGH)= ",i.type,i.labels)}else a.l.info("Id (UGH)= ",i.id),i.el.attr("transform",`translate(${i.x+t+i.width/2}, ${i.y+e+i.height/2})`)})),i.forEach((function(i){i&&"group"===i.type&&x(t+i.x,e+i.y,i.children,r,n,s,o+1)}))},b={getClasses:function(t,e){return a.l.info("Extracting classes"),e.db.getClasses()},draw:async function(t,e,i,r){var o;r.db.clear(),d={},c={},r.db.setGen("gen-2"),r.parser.parse(t);const h=(0,n.Ys)("body").append("div").attr("style","height:400px").attr("id","cy");let u={id:"root",layoutOptions:{"elk.hierarchyHandling":"INCLUDE_CHILDREN","org.eclipse.elk.padding":"[top=100, left=100, bottom=110, right=110]","elk.layered.spacing.edgeNodeBetweenLayers":"30","elk.direction":"DOWN"},children:[],edges:[]};switch(a.l.info("Drawing flowchart using v3 renderer",l),r.db.getDirection()){case"BT":u.layoutOptions["elk.direction"]="UP";break;case"TB":u.layoutOptions["elk.direction"]="DOWN";break;case"LR":u.layoutOptions["elk.direction"]="RIGHT";break;case"RL":u.layoutOptions["elk.direction"]="LEFT"}const{securityLevel:p,flowchart:y}=(0,a.F)();let b;"sandbox"===p&&(b=(0,n.Ys)("#i"+e));const k="sandbox"===p?(0,n.Ys)(b.nodes()[0].contentDocument.body):(0,n.Ys)("body"),_="sandbox"===p?b.nodes()[0].contentDocument:document,T=k.select(`[id="${e}"]`);(0,s.a)(T,["point","circle","cross"],r.type,e);const C=r.db.getVertices();let E;const S=r.db.getSubGraphs();a.l.info("Subgraphs - ",S);for(let t=S.length-1;t>=0;t--)E=S[t],r.db.addVertex(E.id,{text:E.title,type:E.labelType},"group",void 0,E.classes,E.dir);const w=T.insert("g").attr("class","subgraphs"),v=function(t){const e={parentById:{},childrenById:{}},i=t.getSubGraphs();return a.l.info("Subgraphs - ",i),i.forEach((function(t){t.nodes.forEach((function(i){e.parentById[i]=t.id,void 0===e.childrenById[t.id]&&(e.childrenById[t.id]=[]),e.childrenById[t.id].push(i)}))})),i.forEach((function(t){t.id,void 0!==e.parentById[t.id]&&e.parentById[t.id]})),e}(r.db);u=await async function(t,e,i,r,n,o,l){const c=i.select(`[id="${e}"]`).insert("g").attr("class","nodes"),h=Object.keys(t);return await Promise.all(h.map((async function(e){const i=t[e];let l="default";i.classes.length>0&&(l=i.classes.join(" ")),l+=" flowchart-label";const h=(0,a.k)(i.styles);let u=void 0!==i.text?i.text:i.id;const p={width:0,height:0},g=[{id:i.id+"-west",layoutOptions:{"port.side":"WEST"}},{id:i.id+"-east",layoutOptions:{"port.side":"EAST"}},{id:i.id+"-south",layoutOptions:{"port.side":"SOUTH"}},{id:i.id+"-north",layoutOptions:{"port.side":"NORTH"}}];let y=0,f="",m={};switch(i.type){case"round":y=5,f="rect";break;case"square":case"group":default:f="rect";break;case"diamond":f="question",m={portConstraints:"FIXED_SIDE"};break;case"hexagon":f="hexagon";break;case"odd":case"odd_right":f="rect_left_inv_arrow";break;case"lean_right":f="lean_right";break;case"lean_left":f="lean_left";break;case"trapezoid":f="trapezoid";break;case"inv_trapezoid":f="inv_trapezoid";break;case"circle":f="circle";break;case"ellipse":f="ellipse";break;case"stadium":f="stadium";break;case"subroutine":f="subroutine";break;case"cylinder":f="cylinder";break;case"doublecircle":f="doublecircle"}const x={labelStyle:h.labelStyle,shape:f,labelText:u,labelType:i.labelType,rx:y,ry:y,class:l,style:h.style,id:i.id,link:i.link,linkTarget:i.linkTarget,tooltip:n.db.getTooltip(i.id)||"",domId:n.db.lookUpDomId(i.id),haveCallback:i.haveCallback,width:"group"===i.type?500:void 0,dir:i.dir,type:i.type,props:i.props,padding:(0,a.F)().flowchart.padding};let b,k;if("group"!==x.type)k=await(0,s.e)(c,x,i.dir),b=k.node().getBBox();else{r.createElementNS("http://www.w3.org/2000/svg","text");const{shapeSvg:t,bbox:e}=await(0,s.l)(c,x,void 0,!0);p.width=e.width,p.wrappingWidth=(0,a.F)().flowchart.wrappingWidth,p.height=e.height,p.labelNode=t.node(),x.labelData=p}const _={id:i.id,ports:"diamond"===i.type?g:[],layoutOptions:m,labelText:u,labelData:p,domId:n.db.lookUpDomId(i.id),width:null==b?void 0:b.width,height:null==b?void 0:b.height,type:i.type,el:k,parent:o.parentById[i.id]};d[x.id]=_}))),l}(C,e,k,_,r,v,u);const A=T.insert("g").attr("class","edges edgePath"),L=r.db.getEdges();u=g(L,r,u,T);Object.keys(d).forEach((t=>{const e=d[t];e.parent||u.children.push(e),void 0!==v.childrenById[t]&&(e.labels=[{text:e.labelText,layoutOptions:{"nodeLabels.placement":"[H_CENTER, V_TOP, INSIDE]"},width:e.labelData.width,height:e.labelData.height}],delete e.x,delete e.y,delete e.width,delete e.height)})),m(u.children,v),a.l.info("after layout",JSON.stringify(u,null,2));const B=await l.layout(u);x(0,0,B.children,T,w,r,0),a.l.info("after layout",B),null==(o=B.edges)||o.map((t=>{f(A,t,t.edgeData,r,v,e)})),(0,a.o)({},T,y.diagramPadding,y.useMaxWidth),h.remove()}},k=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.85;\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 .subgraph {\n stroke-width:2;\n rx:3;\n }\n // .subgraph-lvl-1 {\n // fill:#ccc;\n // // stroke:black;\n // }\n\n .flowchart-label text {\n text-anchor: middle;\n }\n\n ${(t=>{let e="";for(let i=0;i<5;i++)e+=`\n .subgraph-lvl-${i} {\n fill: ${t[`surface${i}`]};\n stroke: ${t[`surfacePeer${i}`]};\n }\n `;return e})(t)}\n`,_={db:r.d,renderer:b,parser:r.p,styles:k}},67988:(t,e,i)=>{i.d(e,{diagram:()=>G});var r=i(17967),n=i(27484),s=i(59542),a=i(10285),o=i(28734),l=i(98539),c=i(37724),h=(i(27856),function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[6,8,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,35,37],i=[1,25],r=[1,26],n=[1,27],s=[1,28],a=[1,29],o=[1,30],l=[1,31],c=[1,9],h=[1,10],d=[1,11],u=[1,12],p=[1,13],g=[1,14],y=[1,15],f=[1,16],m=[1,18],x=[1,19],b=[1,20],k=[1,21],_=[1,22],T=[1,24],C=[1,32],E={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,dateFormat:19,inclusiveEndDates:20,topAxis:21,axisFormat:22,tickInterval:23,excludes:24,includes:25,todayMarker:26,title:27,acc_title:28,acc_title_value:29,acc_descr:30,acc_descr_value:31,acc_descr_multiline_value:32,section:33,clickStatement:34,taskTxt:35,taskData:36,click:37,callbackname:38,callbackargs:39,href:40,clickStatementDebug:41,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",19:"dateFormat",20:"inclusiveEndDates",21:"topAxis",22:"axisFormat",23:"tickInterval",24:"excludes",25:"includes",26:"todayMarker",27:"title",28:"acc_title",29:"acc_title_value",30:"acc_descr",31:"acc_descr_value",32:"acc_descr_multiline_value",33:"section",35:"taskTxt",36:"taskData",37:"click",38:"callbackname",39:"callbackargs",40:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[34,2],[34,3],[34,3],[34,4],[34,3],[34,4],[34,2],[41,2],[41,3],[41,3],[41,4],[41,3],[41,4],[41,2]],performAction:function(t,e,i,r,n,s,a){var o=s.length-1;switch(n){case 1:return s[o-1];case 2:case 6:case 7:this.$=[];break;case 3:s[o-1].push(s[o]),this.$=s[o-1];break;case 4:case 5:this.$=s[o];break;case 8:r.setWeekday("monday");break;case 9:r.setWeekday("tuesday");break;case 10:r.setWeekday("wednesday");break;case 11:r.setWeekday("thursday");break;case 12:r.setWeekday("friday");break;case 13:r.setWeekday("saturday");break;case 14:r.setWeekday("sunday");break;case 15:r.setDateFormat(s[o].substr(11)),this.$=s[o].substr(11);break;case 16:r.enableInclusiveEndDates(),this.$=s[o].substr(18);break;case 17:r.TopAxis(),this.$=s[o].substr(8);break;case 18:r.setAxisFormat(s[o].substr(11)),this.$=s[o].substr(11);break;case 19:r.setTickInterval(s[o].substr(13)),this.$=s[o].substr(13);break;case 20:r.setExcludes(s[o].substr(9)),this.$=s[o].substr(9);break;case 21:r.setIncludes(s[o].substr(9)),this.$=s[o].substr(9);break;case 22:r.setTodayMarker(s[o].substr(12)),this.$=s[o].substr(12);break;case 24:r.setDiagramTitle(s[o].substr(6)),this.$=s[o].substr(6);break;case 25:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 26:case 27:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 28:r.addSection(s[o].substr(8)),this.$=s[o].substr(8);break;case 30:r.addTask(s[o-1],s[o]),this.$="task";break;case 31:this.$=s[o-1],r.setClickEvent(s[o-1],s[o],null);break;case 32:this.$=s[o-2],r.setClickEvent(s[o-2],s[o-1],s[o]);break;case 33:this.$=s[o-2],r.setClickEvent(s[o-2],s[o-1],null),r.setLink(s[o-2],s[o]);break;case 34:this.$=s[o-3],r.setClickEvent(s[o-3],s[o-2],s[o-1]),r.setLink(s[o-3],s[o]);break;case 35:this.$=s[o-2],r.setClickEvent(s[o-2],s[o],null),r.setLink(s[o-2],s[o-1]);break;case 36:this.$=s[o-3],r.setClickEvent(s[o-3],s[o-1],s[o]),r.setLink(s[o-3],s[o-2]);break;case 37:this.$=s[o-1],r.setLink(s[o-1],s[o]);break;case 38:case 44:this.$=s[o-1]+" "+s[o];break;case 39:case 40:case 42:this.$=s[o-2]+" "+s[o-1]+" "+s[o];break;case 41:case 43:this.$=s[o-3]+" "+s[o-2]+" "+s[o-1]+" "+s[o]}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:i,13:r,14:n,15:s,16:a,17:o,18:l,19:c,20:h,21:d,22:u,23:p,24:g,25:y,26:f,27:m,28:x,30:b,32:k,33:_,34:23,35:T,37:C},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:33,11:17,12:i,13:r,14:n,15:s,16:a,17:o,18:l,19:c,20:h,21:d,22:u,23:p,24:g,25:y,26:f,27:m,28:x,30:b,32:k,33:_,34:23,35:T,37:C},t(e,[2,5]),t(e,[2,6]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),{29:[1,34]},{31:[1,35]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),{36:[1,36]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),{38:[1,37],40:[1,38]},t(e,[2,4]),t(e,[2,25]),t(e,[2,26]),t(e,[2,30]),t(e,[2,31],{39:[1,39],40:[1,40]}),t(e,[2,37],{38:[1,41]}),t(e,[2,32],{40:[1,42]}),t(e,[2,33]),t(e,[2,35],{39:[1,43]}),t(e,[2,34]),t(e,[2,36])],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)},parse:function(t){var e=this,i=[0],r=[],n=[null],s=[],a=this.table,o="",l=0,c=0,h=s.slice.call(arguments,1),d=Object.create(this.lexer),u={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(u.yy[p]=this.yy[p]);d.setInput(t,u.yy),u.yy.lexer=d,u.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var g=d.yylloc;s.push(g);var y=d.options&&d.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,x,b,k,_,T,C,E,S={};;){if(m=i[i.length-1],this.defaultActions[m]?x=this.defaultActions[m]:(null==f&&(E=void 0,"number"!=typeof(E=r.pop()||d.lex()||1)&&(E instanceof Array&&(E=(r=E).pop()),E=e.symbols_[E]||E),f=E),x=a[m]&&a[m][f]),void 0===x||!x.length||!x[0]){var w="";for(k in C=[],a[m])this.terminals_[k]&&k>2&&C.push("'"+this.terminals_[k]+"'");w=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(w,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:g,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+f);switch(x[0]){case 1:i.push(f),n.push(d.yytext),s.push(d.yylloc),i.push(x[1]),f=null,c=d.yyleng,o=d.yytext,l=d.yylineno,g=d.yylloc;break;case 2:if(_=this.productions_[x[1]][1],S.$=n[n.length-_],S._$={first_line:s[s.length-(_||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(_||1)].first_column,last_column:s[s.length-1].last_column},y&&(S._$.range=[s[s.length-(_||1)].range[0],s[s.length-1].range[1]]),void 0!==(b=this.performAction.apply(S,[o,c,l,u.yy,x[1],n,s].concat(h))))return b;_&&(i=i.slice(0,-1*_*2),n=n.slice(0,-1*_),s=s.slice(0,-1*_)),i.push(this.productions_[x[1]][0]),n.push(S.$),s.push(S._$),T=a[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}},S={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,i=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 r=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[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 i,r,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.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],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var s in n)this[s]=n[s];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,i,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&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,i,r){switch(i){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),28;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),30;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 15:case 18:case 21:case 24:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:case 9:case 10:case 12:case 13:break;case 11:return 10;case 14:this.begin("href");break;case 16:return 40;case 17:this.begin("callbackname");break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 38;case 22:return 39;case 23:this.begin("click");break;case 25:return 37;case 26:return 4;case 27:return 19;case 28:return 20;case 29:return 21;case 30:return 22;case 31:return 23;case 32:return 25;case 33:return 24;case 34:return 26;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return"date";case 43:return 27;case 44:return"accDescription";case 45:return 33;case 46:return 35;case 47:return 36;case 48:return":";case 49:return 6;case 50:return"INVALID"}},rules:[/^(?:%%\{)/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,/^(?: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,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/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:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,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],inclusive:!0}}};function w(){this.yy={}}return E.lexer=S,w.prototype=E,E.Parser=w,new w}());h.parser=h;const d=h;n.extend(s),n.extend(a),n.extend(o);let u,p="",g="",y="",f=[],m=[],x={},b=[],k=[],_="",T="";const C=["active","done","crit","milestone"];let E=[],S=!1,w=!1,v="sunday",A=0;const L=function(t,e,i,r){return!r.includes(t.format(e.trim()))&&(!!(t.isoWeekday()>=6&&i.includes("weekends"))||(!!i.includes(t.format("dddd").toLowerCase())||i.includes(t.format(e.trim()))))},B=function(t,e,i,r){if(!i.length||t.manualEndTime)return;let s,a;s=t.startTime instanceof Date?n(t.startTime):n(t.startTime,e,!0),s=s.add(1,"d"),a=t.endTime instanceof Date?n(t.endTime):n(t.endTime,e,!0);const[o,l]=I(s,a,e,i,r);t.endTime=o.toDate(),t.renderEndTime=l},I=function(t,e,i,r,n){let s=!1,a=null;for(;t<=e;)s||(a=e.toDate()),s=L(t,i,r,n),s&&(e=e.add(1,"d")),t=t.add(1,"d");return[e,a]},D=function(t,e,i){i=i.trim();const r=/^after\s+(?<ids>[\d\w- ]+)/.exec(i);if(null!==r){let t=null;for(const e of r.groups.ids.split(" ")){let i=z(e);void 0!==i&&(!t||i.endTime>t.endTime)&&(t=i)}if(t)return t.endTime;const e=new Date;return e.setHours(0,0,0,0),e}let s=n(i,e.trim(),!0);if(s.isValid())return s.toDate();{l.l.debug("Invalid date:"+i),l.l.debug("With date format:"+e.trim());const t=new Date(i);if(void 0===t||isNaN(t.getTime())||t.getFullYear()<-1e4||t.getFullYear()>1e4)throw new Error("Invalid date:"+i);return t}},$=function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return null!==e?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},F=function(t,e,i,r=!1){i=i.trim();const s=/^until\s+(?<ids>[\d\w- ]+)/.exec(i);if(null!==s){let t=null;for(const e of s.groups.ids.split(" ")){let i=z(e);void 0!==i&&(!t||i.startTime<t.startTime)&&(t=i)}if(t)return t.startTime;const e=new Date;return e.setHours(0,0,0,0),e}let a=n(i,e.trim(),!0);if(a.isValid())return r&&(a=a.add(1,"d")),a.toDate();let o=n(t);const[l,c]=$(i);if(!Number.isNaN(l)){const t=o.add(l,c);t.isValid()&&(o=t)}return o.toDate()};let O=0;const N=function(t){return void 0===t?(O+=1,"task"+O):t};let R,M,P=[];const q={},z=function(t){const e=q[t];return P[e]},Y=function(){const t=function(t){const e=P[t];let i="";switch(P[t].raw.startTime.type){case"prevTaskEnd":{const t=z(e.prevTaskId);e.startTime=t.endTime;break}case"getStartDate":i=D(0,p,P[t].raw.startTime.startData),i&&(P[t].startTime=i)}return P[t].startTime&&(P[t].endTime=F(P[t].startTime,p,P[t].raw.endTime.data,S),P[t].endTime&&(P[t].processed=!0,P[t].manualEndTime=n(P[t].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),B(P[t],p,m,f))),P[t].processed};let e=!0;for(const[i,r]of P.entries())t(i),e=e&&r.processed;return e},j=function(t,e){t.split(",").forEach((function(t){let i=z(t);void 0!==i&&i.classes.push(e)}))},W=function(t,e){E.push((function(){const i=document.querySelector(`[id="${t}"]`);null!==i&&i.addEventListener("click",(function(){e()}))}),(function(){const i=document.querySelector(`[id="${t}-text"]`);null!==i&&i.addEventListener("click",(function(){e()}))}))},Z={getConfig:()=>(0,l.c)().gantt,clear:function(){b=[],k=[],_="",E=[],O=0,R=void 0,M=void 0,P=[],p="",g="",T="",u=void 0,y="",f=[],m=[],S=!1,w=!1,A=0,x={},(0,l.v)(),v="sunday"},setDateFormat:function(t){p=t},getDateFormat:function(){return p},enableInclusiveEndDates:function(){S=!0},endDatesAreInclusive:function(){return S},enableTopAxis:function(){w=!0},topAxisEnabled:function(){return w},setAxisFormat:function(t){g=t},getAxisFormat:function(){return g},setTickInterval:function(t){u=t},getTickInterval:function(){return u},setTodayMarker:function(t){y=t},getTodayMarker:function(){return y},setAccTitle:l.s,getAccTitle:l.g,setDiagramTitle:l.q,getDiagramTitle:l.t,setDisplayMode:function(t){T=t},getDisplayMode:function(){return T},setAccDescription:l.b,getAccDescription:l.a,addSection:function(t){_=t,b.push(t)},getSections:function(){return b},getTasks:function(){let t=Y();let e=0;for(;!t&&e<10;)t=Y(),e++;return k=P,k},addTask:function(t,e){const i={section:_,type:_,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:e},task:t,classes:[]},r=function(t,e){let i;i=":"===e.substr(0,1)?e.substr(1,e.length):e;const r=i.split(","),n={};U(r,n,C);for(let t=0;t<r.length;t++)r[t]=r[t].trim();switch(r.length){case 1:n.id=N(),n.startTime={type:"prevTaskEnd",id:t},n.endTime={data:r[0]};break;case 2:n.id=N(),n.startTime={type:"getStartDate",startData:r[0]},n.endTime={data:r[1]};break;case 3:n.id=N(r[0]),n.startTime={type:"getStartDate",startData:r[1]},n.endTime={data:r[2]}}return n}(M,e);i.raw.startTime=r.startTime,i.raw.endTime=r.endTime,i.id=r.id,i.prevTaskId=M,i.active=r.active,i.done=r.done,i.crit=r.crit,i.milestone=r.milestone,i.order=A,A++;const n=P.push(i);M=i.id,q[i.id]=n-1},findTaskById:z,addTaskOrg:function(t,e){const i={section:_,type:_,description:t,task:t,classes:[]},r=function(t,e){let i;i=":"===e.substr(0,1)?e.substr(1,e.length):e;const r=i.split(","),s={};U(r,s,C);for(let t=0;t<r.length;t++)r[t]=r[t].trim();let a="";switch(r.length){case 1:s.id=N(),s.startTime=t.endTime,a=r[0];break;case 2:s.id=N(),s.startTime=D(0,p,r[0]),a=r[1];break;case 3:s.id=N(r[0]),s.startTime=D(0,p,r[1]),a=r[2]}return a&&(s.endTime=F(s.startTime,p,a,S),s.manualEndTime=n(a,"YYYY-MM-DD",!0).isValid(),B(s,p,m,f)),s}(R,e);i.startTime=r.startTime,i.endTime=r.endTime,i.id=r.id,i.active=r.active,i.done=r.done,i.crit=r.crit,i.milestone=r.milestone,R=i,k.push(i)},setIncludes:function(t){f=t.toLowerCase().split(/[\s,]+/)},getIncludes:function(){return f},setExcludes:function(t){m=t.toLowerCase().split(/[\s,]+/)},getExcludes:function(){return m},setClickEvent:function(t,e,i){t.split(",").forEach((function(t){!function(t,e,i){if("loose"!==(0,l.c)().securityLevel)return;if(void 0===e)return;let r=[];if("string"==typeof i){r=i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<r.length;t++){let e=r[t].trim();'"'===e.charAt(0)&&'"'===e.charAt(e.length-1)&&(e=e.substr(1,e.length-2)),r[t]=e}}0===r.length&&r.push(t),void 0!==z(t)&&W(t,(()=>{l.u.runFunc(e,...r)}))}(t,e,i)})),j(t,"clickable")},setLink:function(t,e){let i=e;"loose"!==(0,l.c)().securityLevel&&(i=(0,r.N)(e)),t.split(",").forEach((function(t){void 0!==z(t)&&(W(t,(()=>{window.open(i,"_self")})),x[t]=i)})),j(t,"clickable")},getLinks:function(){return x},bindFunctions:function(t){E.forEach((function(e){e(t)}))},parseDuration:$,isInvalidDate:L,setWeekday:function(t){v=t},getWeekday:function(){return v}};function U(t,e,i){let r=!0;for(;r;)r=!1,i.forEach((function(i){const n=new RegExp("^\\s*"+i+"\\s*$");t[0].match(n)&&(e[i]=!0,t.shift(1),r=!0)}))}const H={monday:c.Ox9,tuesday:c.YDX,wednesday:c.EFj,thursday:c.Igq,friday:c.y2j,saturday:c.LqH,sunday:c.Zyz},V=(t,e)=>{let i=[...t].map((()=>-1/0)),r=[...t].sort(((t,e)=>t.startTime-e.startTime||t.order-e.order)),n=0;for(const t of r)for(let r=0;r<i.length;r++)if(t.startTime>=i[r]){i[r]=t.endTime,t.order=r+e,r>n&&(n=r);break}return n};let X;const G={parser:d,db:Z,renderer:{setConf:function(){l.l.debug("Something is calling, setConf, remove the call")},draw:function(t,e,i,r){const s=(0,l.c)().gantt,a=(0,l.c)().securityLevel;let o;"sandbox"===a&&(o=(0,c.Ys)("#i"+e));const h="sandbox"===a?(0,c.Ys)(o.nodes()[0].contentDocument.body):(0,c.Ys)("body"),d="sandbox"===a?o.nodes()[0].contentDocument:document,u=d.getElementById(e);X=u.parentElement.offsetWidth,void 0===X&&(X=1200),void 0!==s.useWidth&&(X=s.useWidth);const p=r.db.getTasks();let g=[];for(const t of p)g.push(t.type);g=function(t){const e={},i=[];for(let r=0,n=t.length;r<n;++r)Object.prototype.hasOwnProperty.call(e,t[r])||(e[t[r]]=!0,i.push(t[r]));return i}(g);const y={};let f=2*s.topPadding;if("compact"===r.db.getDisplayMode()||"compact"===s.displayMode){const t={};for(const e of p)void 0===t[e.section]?t[e.section]=[e]:t[e.section].push(e);let e=0;for(const i of Object.keys(t)){const r=V(t[i],e)+1;e+=r,f+=r*(s.barHeight+s.barGap),y[i]=r}}else{f+=p.length*(s.barHeight+s.barGap);for(const t of g)y[t]=p.filter((e=>e.type===t)).length}u.setAttribute("viewBox","0 0 "+X+" "+f);const m=h.select(`[id="${e}"]`),x=(0,c.Xf)().domain([(0,c.VV$)(p,(function(t){return t.startTime})),(0,c.Fp7)(p,(function(t){return t.endTime}))]).rangeRound([0,X-s.leftPadding-s.rightPadding]);p.sort((function(t,e){const i=t.startTime,r=e.startTime;let n=0;return i>r?n=1:i<r&&(n=-1),n})),function(t,i,a){const o=s.barHeight,h=o+s.barGap,u=s.topPadding,p=s.leftPadding;(0,c.BYU)().domain([0,g.length]).range(["#00B9FA","#F95002"]).interpolate(c.JHv);(function(t,e,i,a,o,c,h,d){if(0===h.length&&0===d.length)return;let u,p;for(const{startTime:t,endTime:e}of c)(void 0===u||t<u)&&(u=t),(void 0===p||e>p)&&(p=e);if(!u||!p)return;if(n(p).diff(n(u),"year")>5)return void l.l.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");const g=r.db.getDateFormat(),y=[];let f=null,b=n(u);for(;b.valueOf()<=p;)r.db.isInvalidDate(b,g,h,d)?f?f.end=b:f={start:b,end:b}:f&&(y.push(f),f=null),b=b.add(1,"d");m.append("g").selectAll("rect").data(y).enter().append("rect").attr("id",(function(t){return"exclude-"+t.start.format("YYYY-MM-DD")})).attr("x",(function(t){return x(t.start)+i})).attr("y",s.gridLineStartPadding).attr("width",(function(t){const e=t.end.add(1,"day");return x(e)-x(t.start)})).attr("height",o-e-s.gridLineStartPadding).attr("transform-origin",(function(e,r){return(x(e.start)+i+.5*(x(e.end)-x(e.start))).toString()+"px "+(r*t+.5*o).toString()+"px"})).attr("class","exclude-range")})(h,u,p,0,a,t,r.db.getExcludes(),r.db.getIncludes()),function(t,e,i,n){let a=(0,c.LLu)(x).tickSize(-n+e+s.gridLineStartPadding).tickFormat((0,c.i$Z)(r.db.getAxisFormat()||s.axisFormat||"%Y-%m-%d"));const o=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(r.db.getTickInterval()||s.tickInterval);if(null!==o){const t=o[1],e=o[2],i=r.db.getWeekday()||s.weekday;switch(e){case"millisecond":a.ticks(c.U8T.every(t));break;case"second":a.ticks(c.S1K.every(t));break;case"minute":a.ticks(c.Z_i.every(t));break;case"hour":a.ticks(c.WQD.every(t));break;case"day":a.ticks(c.rr1.every(t));break;case"week":a.ticks(H[i].every(t));break;case"month":a.ticks(c.F0B.every(t))}}if(m.append("g").attr("class","grid").attr("transform","translate("+t+", "+(n-50)+")").call(a).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),r.db.topAxisEnabled()||s.topAxis){let i=(0,c.F5q)(x).tickSize(-n+e+s.gridLineStartPadding).tickFormat((0,c.i$Z)(r.db.getAxisFormat()||s.axisFormat||"%Y-%m-%d"));if(null!==o){const t=o[1],e=o[2],n=r.db.getWeekday()||s.weekday;switch(e){case"millisecond":i.ticks(c.U8T.every(t));break;case"second":i.ticks(c.S1K.every(t));break;case"minute":i.ticks(c.Z_i.every(t));break;case"hour":i.ticks(c.WQD.every(t));break;case"day":i.ticks(c.rr1.every(t));break;case"week":i.ticks(H[n].every(t));break;case"month":i.ticks(c.F0B.every(t))}}m.append("g").attr("class","grid").attr("transform","translate("+t+", "+e+")").call(i).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}(p,u,0,a),function(t,i,n,a,o,h,d){const u=[...new Set(t.map((t=>t.order)))].map((e=>t.find((t=>t.order===e))));m.append("g").selectAll("rect").data(u).enter().append("rect").attr("x",0).attr("y",(function(t,e){return t.order*i+n-2})).attr("width",(function(){return d-s.rightPadding/2})).attr("height",i).attr("class",(function(t){for(const[e,i]of g.entries())if(t.type===i)return"section section"+e%s.numberSectionStyles;return"section section0"}));const p=m.append("g").selectAll("rect").data(t).enter(),y=r.db.getLinks();p.append("rect").attr("id",(function(t){return t.id})).attr("rx",3).attr("ry",3).attr("x",(function(t){return t.milestone?x(t.startTime)+a+.5*(x(t.endTime)-x(t.startTime))-.5*o:x(t.startTime)+a})).attr("y",(function(t,e){return t.order*i+n})).attr("width",(function(t){return t.milestone?o:x(t.renderEndTime||t.endTime)-x(t.startTime)})).attr("height",o).attr("transform-origin",(function(t,e){return e=t.order,(x(t.startTime)+a+.5*(x(t.endTime)-x(t.startTime))).toString()+"px "+(e*i+n+.5*o).toString()+"px"})).attr("class",(function(t){const e="task";let i="";t.classes.length>0&&(i=t.classes.join(" "));let r=0;for(const[e,i]of g.entries())t.type===i&&(r=e%s.numberSectionStyles);let n="";return t.active?t.crit?n+=" activeCrit":n=" active":t.done?n=t.crit?" doneCrit":" done":t.crit&&(n+=" crit"),0===n.length&&(n=" task"),t.milestone&&(n=" milestone "+n),n+=r,n+=" "+i,e+n})),p.append("text").attr("id",(function(t){return t.id+"-text"})).text((function(t){return t.task})).attr("font-size",s.fontSize).attr("x",(function(t){let e=x(t.startTime),i=x(t.renderEndTime||t.endTime);t.milestone&&(e+=.5*(x(t.endTime)-x(t.startTime))-.5*o),t.milestone&&(i=e+o);const r=this.getBBox().width;return r>i-e?i+r+1.5*s.leftPadding>d?e+a-5:i+a+5:(i-e)/2+e+a})).attr("y",(function(t,e){return t.order*i+s.barHeight/2+(s.fontSize/2-2)+n})).attr("text-height",o).attr("class",(function(t){const e=x(t.startTime);let i=x(t.endTime);t.milestone&&(i=e+o);const r=this.getBBox().width;let n="";t.classes.length>0&&(n=t.classes.join(" "));let a=0;for(const[e,i]of g.entries())t.type===i&&(a=e%s.numberSectionStyles);let l="";return t.active&&(l=t.crit?"activeCritText"+a:"activeText"+a),t.done?l=t.crit?l+" doneCritText"+a:l+" doneText"+a:t.crit&&(l=l+" critText"+a),t.milestone&&(l+=" milestoneText"),r>i-e?i+r+1.5*s.leftPadding>d?n+" taskTextOutsideLeft taskTextOutside"+a+" "+l:n+" taskTextOutsideRight taskTextOutside"+a+" "+l+" width-"+r:n+" taskText taskText"+a+" "+l+" width-"+r}));if("sandbox"===(0,l.c)().securityLevel){let t;t=(0,c.Ys)("#i"+e);const i=t.nodes()[0].contentDocument;p.filter((function(t){return void 0!==y[t.id]})).each((function(t){var e=i.querySelector("#"+t.id),r=i.querySelector("#"+t.id+"-text");const n=e.parentNode;var s=i.createElement("a");s.setAttribute("xlink:href",y[t.id]),s.setAttribute("target","_top"),n.appendChild(s),s.appendChild(e),s.appendChild(r)}))}}(t,h,u,p,o,0,i),function(t,e){let i=0;const r=Object.keys(y).map((t=>[t,y[t]]));m.append("g").selectAll("text").data(r).enter().append((function(t){const e=t[0].split(l.e.lineBreakRegex),i=-(e.length-1)/2,r=d.createElementNS("http://www.w3.org/2000/svg","text");r.setAttribute("dy",i+"em");for(const[t,i]of e.entries()){const e=d.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=i,r.appendChild(e)}return r})).attr("x",10).attr("y",(function(n,s){if(!(s>0))return n[1]*t/2+e;for(let a=0;a<s;a++)return i+=r[s-1][1],n[1]*t/2+i*t+e})).attr("font-size",s.sectionFontSize).attr("class",(function(t){for(const[e,i]of g.entries())if(t[0]===i)return"sectionTitle sectionTitle"+e%s.numberSectionStyles;return"sectionTitle"}))}(h,u),function(t,e,i,n){const a=r.db.getTodayMarker();if("off"===a)return;const o=m.append("g").attr("class","today"),l=new Date,c=o.append("line");c.attr("x1",x(l)+t).attr("x2",x(l)+t).attr("y1",s.titleTopMargin).attr("y2",n-s.titleTopMargin).attr("class","today"),""!==a&&c.attr("style",a.replace(/,/g,";"))}(p,0,0,a)}(p,X,f),(0,l.i)(m,f,X,s.useMaxWidth),m.append("text").text(r.db.getDiagramTitle()).attr("x",X/2).attr("y",s.titleTopMargin).attr("class","titleText")}},styles:t=>`\n .mermaid-main-font {\n font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);\n }\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-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);\n }\n\n\n /* Grid and axis */\n\n .grid .tick {\n stroke: ${t.gridColor};\n opacity: 0.8;\n shape-rendering: crispEdges;\n }\n\n .grid .tick text {\n font-family: ${t.fontFamily};\n fill: ${t.textColor};\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: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);\n }\n\n .taskTextOutsideRight {\n fill: ${t.taskTextDarkColor};\n text-anchor: start;\n font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);\n }\n\n .taskTextOutsideLeft {\n fill: ${t.taskTextDarkColor};\n text-anchor: end;\n }\n\n\n /* Special case clickable */\n\n .task.clickable {\n cursor: pointer;\n }\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\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.titleColor||t.textColor};\n font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);\n }\n`}},90258:(t,e,i)=>{i.d(e,{diagram:()=>q});var r=i(98539),n=i(37724),s=(i(27484),i(17967),i(27856),function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,3],i=[1,6],r=[1,4],n=[1,5],s=[2,5],a=[1,12],o=[5,7,13,19,21,23,24,26,28,31,37,40,47],l=[7,13,19,21,23,24,26,28,31,37,40],c=[7,12,13,19,21,23,24,26,28,31,37,40],h=[7,13,47],d=[1,42],u=[1,41],p=[7,13,29,32,35,38,47],g=[1,55],y=[1,56],f=[1,57],m=[7,13,32,35,42,47],x={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,GG:5,document:6,EOF:7,":":8,DIR:9,options:10,body:11,OPT:12,NL:13,line:14,statement:15,commitStatement:16,mergeStatement:17,cherryPickStatement:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,section:24,branchStatement:25,CHECKOUT:26,ref:27,BRANCH:28,ORDER:29,NUM:30,CHERRY_PICK:31,COMMIT_ID:32,STR:33,PARENT_COMMIT: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,ID:46,";":47,$accept:0,$end:1},terminals_:{2:"error",5:"GG",7:"EOF",8:":",9:"DIR",12:"OPT",13:"NL",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"section",26:"CHECKOUT",28:"BRANCH",29:"ORDER",30:"NUM",31:"CHERRY_PICK",32:"COMMIT_ID",33:"STR",34:"PARENT_COMMIT",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",46:"ID",47:";"},productions_:[0,[3,2],[3,3],[3,4],[3,5],[6,0],[6,2],[10,2],[10,1],[11,0],[11,2],[14,2],[14,1],[15,1],[15,1],[15,1],[15,2],[15,2],[15,1],[15,1],[15,1],[15,2],[25,2],[25,4],[18,3],[18,5],[18,5],[18,7],[18,7],[18,5],[18,5],[18,5],[18,7],[18,7],[18,7],[18,7],[17,2],[17,4],[17,4],[17,4],[17,6],[17,6],[17,6],[17,6],[17,6],[17,6],[17,8],[17,8],[17,8],[17,8],[17,8],[17,8],[16,2],[16,3],[16,3],[16,5],[16,5],[16,3],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,3],[16,5],[16,5],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[41,0],[41,1],[39,1],[39,1],[39,1],[27,1],[27,1],[4,1],[4,1],[4,1]],performAction:function(t,e,i,r,n,s,a){var o=s.length-1;switch(n){case 2:return s[o];case 3:return s[o-1];case 4:return r.setDirection(s[o-3]),s[o-1];case 6:r.setOptions(s[o-1]),this.$=s[o];break;case 7:s[o-1]+=s[o],this.$=s[o-1];break;case 9:this.$=[];break;case 10:s[o-1].push(s[o]),this.$=s[o-1];break;case 11:this.$=s[o-1];break;case 16:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 17:case 18:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 19:r.addSection(s[o].substr(8)),this.$=s[o].substr(8);break;case 21:r.checkout(s[o]);break;case 22:r.branch(s[o]);break;case 23:r.branch(s[o-2],s[o]);break;case 24:r.cherryPick(s[o],"",void 0);break;case 25:r.cherryPick(s[o-2],"",void 0,s[o]);break;case 26:r.cherryPick(s[o-2],"",s[o]);break;case 27:r.cherryPick(s[o-4],"",s[o],s[o-2]);break;case 28:r.cherryPick(s[o-4],"",s[o-2],s[o]);break;case 29:r.cherryPick(s[o],"",s[o-2]);break;case 30:r.cherryPick(s[o],"","");break;case 31:r.cherryPick(s[o-2],"","");break;case 32:r.cherryPick(s[o-4],"","",s[o-2]);break;case 33:r.cherryPick(s[o-4],"","",s[o]);break;case 34:r.cherryPick(s[o-2],"",s[o-4],s[o]);break;case 35:r.cherryPick(s[o-2],"","",s[o]);break;case 36:r.merge(s[o],"","","");break;case 37:r.merge(s[o-2],s[o],"","");break;case 38:r.merge(s[o-2],"",s[o],"");break;case 39:r.merge(s[o-2],"","",s[o]);break;case 40:r.merge(s[o-4],s[o],"",s[o-2]);break;case 41:r.merge(s[o-4],"",s[o],s[o-2]);break;case 42:r.merge(s[o-4],"",s[o-2],s[o]);break;case 43:r.merge(s[o-4],s[o-2],s[o],"");break;case 44:r.merge(s[o-4],s[o-2],"",s[o]);break;case 45:r.merge(s[o-4],s[o],s[o-2],"");break;case 46:r.merge(s[o-6],s[o-4],s[o-2],s[o]);break;case 47:r.merge(s[o-6],s[o],s[o-4],s[o-2]);break;case 48:r.merge(s[o-6],s[o-4],s[o],s[o-2]);break;case 49:r.merge(s[o-6],s[o-2],s[o-4],s[o]);break;case 50:r.merge(s[o-6],s[o],s[o-2],s[o-4]);break;case 51:r.merge(s[o-6],s[o-2],s[o],s[o-4]);break;case 52:r.commit(s[o]);break;case 53:r.commit("","",r.commitType.NORMAL,s[o]);break;case 54:r.commit("","",s[o],"");break;case 55:r.commit("","",s[o],s[o-2]);break;case 56:r.commit("","",s[o-2],s[o]);break;case 57:r.commit("",s[o],r.commitType.NORMAL,"");break;case 58:r.commit("",s[o-2],r.commitType.NORMAL,s[o]);break;case 59:r.commit("",s[o],r.commitType.NORMAL,s[o-2]);break;case 60:r.commit("",s[o-2],s[o],"");break;case 61:r.commit("",s[o],s[o-2],"");break;case 62:r.commit("",s[o-4],s[o-2],s[o]);break;case 63:r.commit("",s[o-4],s[o],s[o-2]);break;case 64:r.commit("",s[o-2],s[o-4],s[o]);break;case 65:r.commit("",s[o],s[o-4],s[o-2]);break;case 66:r.commit("",s[o],s[o-2],s[o-4]);break;case 67:r.commit("",s[o-2],s[o],s[o-4]);break;case 68:r.commit(s[o],"",r.commitType.NORMAL,"");break;case 69:r.commit(s[o],"",r.commitType.NORMAL,s[o-2]);break;case 70:r.commit(s[o-2],"",r.commitType.NORMAL,s[o]);break;case 71:r.commit(s[o-2],"",s[o],"");break;case 72:r.commit(s[o],"",s[o-2],"");break;case 73:r.commit(s[o],s[o-2],r.commitType.NORMAL,"");break;case 74:r.commit(s[o-2],s[o],r.commitType.NORMAL,"");break;case 75:r.commit(s[o-4],"",s[o-2],s[o]);break;case 76:r.commit(s[o-4],"",s[o],s[o-2]);break;case 77:r.commit(s[o-2],"",s[o-4],s[o]);break;case 78:r.commit(s[o],"",s[o-4],s[o-2]);break;case 79:r.commit(s[o],"",s[o-2],s[o-4]);break;case 80:r.commit(s[o-2],"",s[o],s[o-4]);break;case 81:r.commit(s[o-4],s[o],s[o-2],"");break;case 82:r.commit(s[o-4],s[o-2],s[o],"");break;case 83:r.commit(s[o-2],s[o],s[o-4],"");break;case 84:r.commit(s[o],s[o-2],s[o-4],"");break;case 85:r.commit(s[o],s[o-4],s[o-2],"");break;case 86:r.commit(s[o-2],s[o-4],s[o],"");break;case 87:r.commit(s[o-4],s[o],r.commitType.NORMAL,s[o-2]);break;case 88:r.commit(s[o-4],s[o-2],r.commitType.NORMAL,s[o]);break;case 89:r.commit(s[o-2],s[o],r.commitType.NORMAL,s[o-4]);break;case 90:r.commit(s[o],s[o-2],r.commitType.NORMAL,s[o-4]);break;case 91:r.commit(s[o],s[o-4],r.commitType.NORMAL,s[o-2]);break;case 92:r.commit(s[o-2],s[o-4],r.commitType.NORMAL,s[o]);break;case 93:r.commit(s[o-6],s[o-4],s[o-2],s[o]);break;case 94:r.commit(s[o-6],s[o-4],s[o],s[o-2]);break;case 95:r.commit(s[o-6],s[o-2],s[o-4],s[o]);break;case 96:r.commit(s[o-6],s[o],s[o-4],s[o-2]);break;case 97:r.commit(s[o-6],s[o-2],s[o],s[o-4]);break;case 98:r.commit(s[o-6],s[o],s[o-2],s[o-4]);break;case 99:r.commit(s[o-4],s[o-6],s[o-2],s[o]);break;case 100:r.commit(s[o-4],s[o-6],s[o],s[o-2]);break;case 101:r.commit(s[o-2],s[o-6],s[o-4],s[o]);break;case 102:r.commit(s[o],s[o-6],s[o-4],s[o-2]);break;case 103:r.commit(s[o-2],s[o-6],s[o],s[o-4]);break;case 104:r.commit(s[o],s[o-6],s[o-2],s[o-4]);break;case 105:r.commit(s[o],s[o-4],s[o-2],s[o-6]);break;case 106:r.commit(s[o-2],s[o-4],s[o],s[o-6]);break;case 107:r.commit(s[o],s[o-2],s[o-4],s[o-6]);break;case 108:r.commit(s[o-2],s[o],s[o-4],s[o-6]);break;case 109:r.commit(s[o-4],s[o-2],s[o],s[o-6]);break;case 110:r.commit(s[o-4],s[o],s[o-2],s[o-6]);break;case 111:r.commit(s[o-2],s[o-4],s[o-6],s[o]);break;case 112:r.commit(s[o],s[o-4],s[o-6],s[o-2]);break;case 113:r.commit(s[o-2],s[o],s[o-6],s[o-4]);break;case 114:r.commit(s[o],s[o-2],s[o-6],s[o-4]);break;case 115:r.commit(s[o-4],s[o-2],s[o-6],s[o]);break;case 116:r.commit(s[o-4],s[o],s[o-6],s[o-2]);break;case 117:this.$="";break;case 118:this.$=s[o];break;case 119:this.$=r.commitType.NORMAL;break;case 120:this.$=r.commitType.REVERSE;break;case 121:this.$=r.commitType.HIGHLIGHT}},table:[{3:1,4:2,5:e,7:i,13:r,47:n},{1:[3]},{3:7,4:2,5:e,7:i,13:r,47:n},{6:8,7:s,8:[1,9],9:[1,10],10:11,13:a},t(o,[2,124]),t(o,[2,125]),t(o,[2,126]),{1:[2,1]},{7:[1,13]},{6:14,7:s,10:11,13:a},{8:[1,15]},t(l,[2,9],{11:16,12:[1,17]}),t(c,[2,8]),{1:[2,2]},{7:[1,18]},{6:19,7:s,10:11,13:a},{7:[2,6],13:[1,22],14:20,15:21,16:23,17:24,18:25,19:[1,26],21:[1,27],23:[1,28],24:[1,29],25:30,26:[1,31],28:[1,35],31:[1,34],37:[1,33],40:[1,32]},t(c,[2,7]),{1:[2,3]},{7:[1,36]},t(l,[2,10]),{4:37,7:i,13:r,47:n},t(l,[2,12]),t(h,[2,13]),t(h,[2,14]),t(h,[2,15]),{20:[1,38]},{22:[1,39]},t(h,[2,18]),t(h,[2,19]),t(h,[2,20]),{27:40,33:d,46:u},t(h,[2,117],{41:43,32:[1,46],33:[1,48],35:[1,44],38:[1,45],42:[1,47]}),{27:49,33:d,46:u},{32:[1,50],35:[1,51]},{27:52,33:d,46:u},{1:[2,4]},t(l,[2,11]),t(h,[2,16]),t(h,[2,17]),t(h,[2,21]),t(p,[2,122]),t(p,[2,123]),t(h,[2,52]),{33:[1,53]},{39:54,43:g,44:y,45:f},{33:[1,58]},{33:[1,59]},t(h,[2,118]),t(h,[2,36],{32:[1,60],35:[1,62],38:[1,61]}),{33:[1,63]},{33:[1,64],36:[1,65]},t(h,[2,22],{29:[1,66]}),t(h,[2,53],{32:[1,68],38:[1,67],42:[1,69]}),t(h,[2,54],{32:[1,71],35:[1,70],42:[1,72]}),t(m,[2,119]),t(m,[2,120]),t(m,[2,121]),t(h,[2,57],{35:[1,73],38:[1,74],42:[1,75]}),t(h,[2,68],{32:[1,78],35:[1,76],38:[1,77]}),{33:[1,79]},{39:80,43:g,44:y,45:f},{33:[1,81]},t(h,[2,24],{34:[1,82],35:[1,83]}),{32:[1,84]},{32:[1,85]},{30:[1,86]},{39:87,43:g,44:y,45:f},{33:[1,88]},{33:[1,89]},{33:[1,90]},{33:[1,91]},{33:[1,92]},{33:[1,93]},{39:94,43:g,44:y,45:f},{33:[1,95]},{33:[1,96]},{39:97,43:g,44:y,45:f},{33:[1,98]},t(h,[2,37],{35:[1,100],38:[1,99]}),t(h,[2,38],{32:[1,102],35:[1,101]}),t(h,[2,39],{32:[1,103],38:[1,104]}),{33:[1,105]},{33:[1,106],36:[1,107]},{33:[1,108]},{33:[1,109]},t(h,[2,23]),t(h,[2,55],{32:[1,110],42:[1,111]}),t(h,[2,59],{38:[1,112],42:[1,113]}),t(h,[2,69],{32:[1,115],38:[1,114]}),t(h,[2,56],{32:[1,116],42:[1,117]}),t(h,[2,61],{35:[1,118],42:[1,119]}),t(h,[2,72],{32:[1,121],35:[1,120]}),t(h,[2,58],{38:[1,122],42:[1,123]}),t(h,[2,60],{35:[1,124],42:[1,125]}),t(h,[2,73],{35:[1,127],38:[1,126]}),t(h,[2,70],{32:[1,129],38:[1,128]}),t(h,[2,71],{32:[1,131],35:[1,130]}),t(h,[2,74],{35:[1,133],38:[1,132]}),{39:134,43:g,44:y,45:f},{33:[1,135]},{33:[1,136]},{33:[1,137]},{33:[1,138]},{39:139,43:g,44:y,45:f},t(h,[2,25],{35:[1,140]}),t(h,[2,26],{34:[1,141]}),t(h,[2,31],{34:[1,142]}),t(h,[2,29],{34:[1,143]}),t(h,[2,30],{34:[1,144]}),{33:[1,145]},{33:[1,146]},{39:147,43:g,44:y,45:f},{33:[1,148]},{39:149,43:g,44:y,45:f},{33:[1,150]},{33:[1,151]},{33:[1,152]},{33:[1,153]},{33:[1,154]},{33:[1,155]},{33:[1,156]},{39:157,43:g,44:y,45:f},{33:[1,158]},{33:[1,159]},{33:[1,160]},{39:161,43:g,44:y,45:f},{33:[1,162]},{39:163,43:g,44:y,45:f},{33:[1,164]},{33:[1,165]},{33:[1,166]},{39:167,43:g,44:y,45:f},{33:[1,168]},t(h,[2,43],{35:[1,169]}),t(h,[2,44],{38:[1,170]}),t(h,[2,42],{32:[1,171]}),t(h,[2,45],{35:[1,172]}),t(h,[2,40],{38:[1,173]}),t(h,[2,41],{32:[1,174]}),{33:[1,175],36:[1,176]},{33:[1,177]},{33:[1,178]},{33:[1,179]},{33:[1,180]},t(h,[2,66],{42:[1,181]}),t(h,[2,79],{32:[1,182]}),t(h,[2,67],{42:[1,183]}),t(h,[2,90],{38:[1,184]}),t(h,[2,80],{32:[1,185]}),t(h,[2,89],{38:[1,186]}),t(h,[2,65],{42:[1,187]}),t(h,[2,78],{32:[1,188]}),t(h,[2,64],{42:[1,189]}),t(h,[2,84],{35:[1,190]}),t(h,[2,77],{32:[1,191]}),t(h,[2,83],{35:[1,192]}),t(h,[2,63],{42:[1,193]}),t(h,[2,91],{38:[1,194]}),t(h,[2,62],{42:[1,195]}),t(h,[2,85],{35:[1,196]}),t(h,[2,86],{35:[1,197]}),t(h,[2,92],{38:[1,198]}),t(h,[2,76],{32:[1,199]}),t(h,[2,87],{38:[1,200]}),t(h,[2,75],{32:[1,201]}),t(h,[2,81],{35:[1,202]}),t(h,[2,82],{35:[1,203]}),t(h,[2,88],{38:[1,204]}),{33:[1,205]},{39:206,43:g,44:y,45:f},{33:[1,207]},{33:[1,208]},{39:209,43:g,44:y,45:f},{33:[1,210]},t(h,[2,27]),t(h,[2,32]),t(h,[2,28]),t(h,[2,33]),t(h,[2,34]),t(h,[2,35]),{33:[1,211]},{33:[1,212]},{33:[1,213]},{39:214,43:g,44:y,45:f},{33:[1,215]},{39:216,43:g,44:y,45:f},{33:[1,217]},{33:[1,218]},{33:[1,219]},{33:[1,220]},{33:[1,221]},{33:[1,222]},{33:[1,223]},{39:224,43:g,44:y,45:f},{33:[1,225]},{33:[1,226]},{33:[1,227]},{39:228,43:g,44:y,45:f},{33:[1,229]},{39:230,43:g,44:y,45:f},{33:[1,231]},{33:[1,232]},{33:[1,233]},{39:234,43:g,44:y,45:f},t(h,[2,46]),t(h,[2,48]),t(h,[2,47]),t(h,[2,49]),t(h,[2,51]),t(h,[2,50]),t(h,[2,107]),t(h,[2,108]),t(h,[2,105]),t(h,[2,106]),t(h,[2,110]),t(h,[2,109]),t(h,[2,114]),t(h,[2,113]),t(h,[2,112]),t(h,[2,111]),t(h,[2,116]),t(h,[2,115]),t(h,[2,104]),t(h,[2,103]),t(h,[2,102]),t(h,[2,101]),t(h,[2,99]),t(h,[2,100]),t(h,[2,98]),t(h,[2,97]),t(h,[2,96]),t(h,[2,95]),t(h,[2,93]),t(h,[2,94])],defaultActions:{7:[2,1],13:[2,2],18:[2,3],36:[2,4]},parseError:function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)},parse:function(t){var e=this,i=[0],r=[],n=[null],s=[],a=this.table,o="",l=0,c=0,h=s.slice.call(arguments,1),d=Object.create(this.lexer),u={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(u.yy[p]=this.yy[p]);d.setInput(t,u.yy),u.yy.lexer=d,u.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var g=d.yylloc;s.push(g);var y=d.options&&d.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,x,b,k,_,T,C,E,S={};;){if(m=i[i.length-1],this.defaultActions[m]?x=this.defaultActions[m]:(null==f&&(E=void 0,"number"!=typeof(E=r.pop()||d.lex()||1)&&(E instanceof Array&&(E=(r=E).pop()),E=e.symbols_[E]||E),f=E),x=a[m]&&a[m][f]),void 0===x||!x.length||!x[0]){var w="";for(k in C=[],a[m])this.terminals_[k]&&k>2&&C.push("'"+this.terminals_[k]+"'");w=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(w,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:g,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+f);switch(x[0]){case 1:i.push(f),n.push(d.yytext),s.push(d.yylloc),i.push(x[1]),f=null,c=d.yyleng,o=d.yytext,l=d.yylineno,g=d.yylloc;break;case 2:if(_=this.productions_[x[1]][1],S.$=n[n.length-_],S._$={first_line:s[s.length-(_||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(_||1)].first_column,last_column:s[s.length-1].last_column},y&&(S._$.range=[s[s.length-(_||1)].range[0],s[s.length-1].range[1]]),void 0!==(b=this.performAction.apply(S,[o,c,l,u.yy,x[1],n,s].concat(h))))return b;_&&(i=i.slice(0,-1*_*2),n=n.slice(0,-1*_),s=s.slice(0,-1*_)),i.push(this.productions_[x[1]][0]),n.push(S.$),s.push(S._$),T=a[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}},b={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,i=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 r=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[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 i,r,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.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],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var s in n)this[s]=n[s];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,i,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&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,i,r){switch(i){case 0:return this.begin("acc_title"),19;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),21;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 30:case 34:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 13;case 8:case 9:break;case 10:return 5;case 11:return 40;case 12:return 32;case 13:return 38;case 14:return 42;case 15:return 43;case 16:return 44;case 17:return 45;case 18:return 35;case 19:return 28;case 20:return 29;case 21:return 37;case 22:return 31;case 23:return 34;case 24:return 26;case 25:case 26:return 9;case 27:return 8;case 28:return"CARET";case 29:this.begin("options");break;case 31:return 12;case 32:return 36;case 33:this.begin("string");break;case 35:return 33;case 36:return 30;case 37:return 46;case 38:return 7}},rules:[/^(?: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,/^(?:parent:)/i,/^(?:checkout(?=\s|$))/i,/^(?:LR\b)/i,/^(?:TB\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:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},options:{rules:[30,31],inclusive:!1},string:{rules:[34,35],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,32,33,36,37,38,39],inclusive:!0}}};function k(){this.yy={}}return x.lexer=b,k.prototype=x,x.Parser=k,new k}());s.parser=s;const a=s;let o=(0,r.c)().gitGraph.mainBranchName,l=(0,r.c)().gitGraph.mainBranchOrder,c={},h=null,d={};d[o]={name:o,order:l};let u={};u[o]=h;let p=o,g="LR",y=0;function f(){return(0,r.y)({length:7})}let m={};const x=function(t){if(t=r.e.sanitizeText(t,(0,r.c)()),void 0===u[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}{p=t;const e=u[p];h=c[e]}};function b(t,e,i){const r=t.indexOf(e);-1===r?t.push(i):t.splice(r,1,i)}function k(t){const e=t.reduce(((t,e)=>t.seq>e.seq?t:e),t[0]);let i="";t.forEach((function(t){i+=t===e?"\t*":"\t|"}));const n=[i,e.id,e.seq];for(let t in u)u[t]===e.id&&n.push(t);if(r.l.debug(n.join(" ")),e.parents&&2==e.parents.length){const i=c[e.parents[0]];b(t,e,i),t.push(c[e.parents[1]])}else{if(0==e.parents.length)return;{const i=c[e.parents];b(t,e,i)}}k(t=function(t,e){const i=Object.create(null);return t.reduce(((t,r)=>{const n=e(r);return i[n]||(i[n]=!0,t.push(r)),t}),[])}(t,(t=>t.id)))}const _=function(){const t=Object.keys(c).map((function(t){return c[t]}));return t.forEach((function(t){r.l.debug(t.id)})),t.sort(((t,e)=>t.seq-e.seq)),t},T={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},C={getConfig:()=>(0,r.c)().gitGraph,setDirection:function(t){g=t},setOptions:function(t){r.l.debug("options str",t),t=(t=t&&t.trim())||"{}";try{m=JSON.parse(t)}catch(t){r.l.error("error while parsing gitGraph options",t.message)}},getOptions:function(){return m},commit:function(t,e,i,n){r.l.debug("Entering commit:",t,e,i,n),e=r.e.sanitizeText(e,(0,r.c)()),t=r.e.sanitizeText(t,(0,r.c)()),n=r.e.sanitizeText(n,(0,r.c)());const s={id:e||y+"-"+f(),message:t,seq:y++,type:i||T.NORMAL,tag:n||"",parents:null==h?[]:[h.id],branch:p};h=s,c[s.id]=s,u[p]=s.id,r.l.debug("in pushCommit "+s.id)},branch:function(t,e){if(t=r.e.sanitizeText(t,(0,r.c)()),void 0!==u[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}u[t]=null!=h?h.id:null,d[t]={name:t,order:e?parseInt(e,10):null},x(t),r.l.debug("in createBranch")},merge:function(t,e,i,n){t=r.e.sanitizeText(t,(0,r.c)()),e=r.e.sanitizeText(e,(0,r.c)());const s=c[u[p]],a=c[u[t]];if(p===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===s||!s){let e=new Error('Incorrect usage of "merge". Current branch ('+p+")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===u[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(s===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!==c[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+i+n,token:"merge "+t+e+i+n,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["merge "+t+" "+e+"_UNIQUE "+i+" "+n]},r}const o={id:e||y+"-"+f(),message:"merged branch "+t+" into "+p,seq:y++,parents:[null==h?null:h.id,u[t]],branch:p,type:T.MERGE,customType:i,customId:!!e,tag:n||""};h=o,c[o.id]=o,u[p]=o.id,r.l.debug(u),r.l.debug("in mergeBranch")},cherryPick:function(t,e,i,n){if(r.l.debug("Entering cherryPick:",t,e,i),t=r.e.sanitizeText(t,(0,r.c)()),e=r.e.sanitizeText(e,(0,r.c)()),i=r.e.sanitizeText(i,(0,r.c)()),n=r.e.sanitizeText(n,(0,r.c)()),!t||void 0===c[t]){let i=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw i.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"]},i}let s=c[t],a=s.branch;if(n&&(!Array.isArray(s.parents)||!s.parents.includes(n))){throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.")}if(s.type===T.MERGE&&!n){throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.")}if(!e||void 0===c[e]){if(a===p){let i=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw i.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"]},i}const o=c[u[p]];if(void 0===o||!o){let i=new Error('Incorrect usage of "cherry-pick". Current branch ('+p+")has no commits");throw i.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"]},i}const l={id:y+"-"+f(),message:"cherry-picked "+s+" into "+p,seq:y++,parents:[null==h?null:h.id,s.id],branch:p,type:T.CHERRY_PICK,tag:i??`cherry-pick:${s.id}${s.type===T.MERGE?`|parent:${n}`:""}`};h=l,c[l.id]=l,u[p]=l.id,r.l.debug(u),r.l.debug("in cherryPick")}},checkout:x,prettyPrint:function(){r.l.debug(c);k([_()[0]])},clear:function(){c={},h=null;let t=(0,r.c)().gitGraph.mainBranchName,e=(0,r.c)().gitGraph.mainBranchOrder;u={},u[t]=null,d={},d[t]={name:t,order:e},p=t,y=0,(0,r.v)()},getBranchesAsObjArray:function(){return Object.values(d).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 u},getCommits:function(){return c},getCommitsArray:_,getCurrentBranch:function(){return p},getDirection:function(){return g},getHead:function(){return h},setAccTitle:r.s,getAccTitle:r.g,getAccDescription:r.a,setAccDescription:r.b,setDiagramTitle:r.q,getDiagramTitle:r.t,commitType:T};let E={};const S=0,w=1,v=2,A=3,L=4;let B={},I={},D=[],$=0,F="LR";const O=t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","text");let i=[];i="string"==typeof t?t.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(t)?t:[];for(const t 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"),i.setAttribute("class","row"),i.textContent=t.trim(),e.appendChild(i)}return e},N=(t,e,i)=>{const n=(0,r.c)().gitGraph,s=t.append("g").attr("class","commit-bullets"),a=t.append("g").attr("class","commit-labels");let o=0;"TB"===F&&(o=30);const l=Object.keys(e).sort(((t,i)=>e[t].seq-e[i].seq)),c=n.parallelCommits,h=10;l.forEach((t=>{const r=e[t];if(c)if(r.parents.length){const t=(t=>{let e="",i=0;return t.forEach((t=>{const r="TB"===F?I[t].y:I[t].x;r>=i&&(e=t,i=r)})),e||void 0})(r.parents);o="TB"===F?I[t].y+40:I[t].x+40}else o=0,"TB"===F&&(o=30);const l=o+h,d="TB"===F?l:B[r.branch].pos,u="TB"===F?B[r.branch].pos:l;if(i){let t,e=void 0!==r.customType&&""!==r.customType?r.customType:r.type;switch(e){case S:t="commit-normal";break;case w:t="commit-reverse";break;case v:t="commit-highlight";break;case A:t="commit-merge";break;case L:t="commit-cherry-pick";break;default:t="commit-normal"}if(e===v){const e=s.append("rect");e.attr("x",u-10),e.attr("y",d-10),e.attr("height",20),e.attr("width",20),e.attr("class",`commit ${r.id} commit-highlight${B[r.branch].index%8} ${t}-outer`),s.append("rect").attr("x",u-6).attr("y",d-6).attr("height",12).attr("width",12).attr("class",`commit ${r.id} commit${B[r.branch].index%8} ${t}-inner`)}else if(e===L)s.append("circle").attr("cx",u).attr("cy",d).attr("r",10).attr("class",`commit ${r.id} ${t}`),s.append("circle").attr("cx",u-3).attr("cy",d+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${r.id} ${t}`),s.append("circle").attr("cx",u+3).attr("cy",d+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${r.id} ${t}`),s.append("line").attr("x1",u+3).attr("y1",d+1).attr("x2",u).attr("y2",d-5).attr("stroke","#fff").attr("class",`commit ${r.id} ${t}`),s.append("line").attr("x1",u-3).attr("y1",d+1).attr("x2",u).attr("y2",d-5).attr("stroke","#fff").attr("class",`commit ${r.id} ${t}`);else{const i=s.append("circle");if(i.attr("cx",u),i.attr("cy",d),i.attr("r",r.type===A?9:10),i.attr("class",`commit ${r.id} commit${B[r.branch].index%8}`),e===A){const e=s.append("circle");e.attr("cx",u),e.attr("cy",d),e.attr("r",6),e.attr("class",`commit ${t} ${r.id} commit${B[r.branch].index%8}`)}if(e===w){s.append("path").attr("d",`M ${u-5},${d-5}L${u+5},${d+5}M${u-5},${d+5}L${u+5},${d-5}`).attr("class",`commit ${t} ${r.id} commit${B[r.branch].index%8}`)}}}if(I[r.id]="TB"===F?{x:u,y:l}:{x:l,y:d},i){const t=4,e=2;if(r.type!==L&&(r.customId&&r.type===A||r.type!==A)&&n.showCommitLabel){const i=a.append("g"),s=i.insert("rect").attr("class","commit-label-bkg"),c=i.append("text").attr("x",o).attr("y",d+25).attr("class","commit-label").text(r.id);let h=c.node().getBBox();if(s.attr("x",l-h.width/2-e).attr("y",d+13.5).attr("width",h.width+2*e).attr("height",h.height+2*e),"TB"===F&&(s.attr("x",u-(h.width+4*t+5)).attr("y",d-12),c.attr("x",u-(h.width+4*t)).attr("y",d+h.height-12)),"TB"!==F&&c.attr("x",l-h.width/2),n.rotateCommitLabel)if("TB"===F)c.attr("transform","rotate(-45, "+u+", "+d+")"),s.attr("transform","rotate(-45, "+u+", "+d+")");else{let t=-7.5-(h.width+10)/25*9.5,e=10+h.width/25*8.5;i.attr("transform","translate("+t+", "+e+") rotate(-45, "+o+", "+d+")")}}if(r.tag){const i=a.insert("polygon"),n=a.append("circle"),s=a.append("text").attr("y",d-16).attr("class","tag-label").text(r.tag);let c=s.node().getBBox();s.attr("x",l-c.width/2);const p=c.height/2,g=d-19.2;i.attr("class","tag-label-bkg").attr("points",`\n ${o-c.width/2-t/2},${g+e}\n ${o-c.width/2-t/2},${g-e}\n ${l-c.width/2-t},${g-p-e}\n ${l+c.width/2+t},${g-p-e}\n ${l+c.width/2+t},${g+p+e}\n ${l-c.width/2-t},${g+p+e}`),n.attr("cx",o-c.width/2+t/2).attr("cy",g).attr("r",1.5).attr("class","tag-hole"),"TB"===F&&(i.attr("class","tag-label-bkg").attr("points",`\n ${u},${o+e}\n ${u},${o-e}\n ${u+h},${o-p-e}\n ${u+h+c.width+t},${o-p-e}\n ${u+h+c.width+t},${o+p+e}\n ${u+h},${o+p+e}`).attr("transform","translate(12,12) rotate(45, "+u+","+o+")"),n.attr("cx",u+t/2).attr("cy",o).attr("transform","translate(12,12) rotate(45, "+u+","+o+")"),s.attr("x",u+5).attr("y",o+3).attr("transform","translate(14,14) rotate(45, "+u+","+o+")"))}}o+=50,o>$&&($=o)}))},R=(t,e,i,r,n)=>{const s=("TB"===F?i.x<r.x:i.y<r.y)?e.branch:t.branch;return Object.values(n).some((i=>{return(r=i).seq>t.seq&&r.seq<e.seq&&(t=>t.branch===s)(i);var r}))},M=(t,e,i=0)=>{const r=t+Math.abs(t-e)/2;if(i>5)return r;if(D.every((t=>Math.abs(t-r)>=10)))return D.push(r),r;const n=Math.abs(t-e);return M(t,e-n/5,i+1)},P=(t,e)=>{const i=t.append("g").attr("class","commit-arrows");Object.keys(e).forEach((t=>{const r=e[t];r.parents&&r.parents.length>0&&r.parents.forEach((t=>{((t,e,i,r)=>{const n=I[e.id],s=I[i.id],a=R(e,i,n,s,r);let o,l="",c="",h=0,d=0,u=B[i.branch].index;if(i.type===A&&e.id!==i.parents[0]&&(u=B[e.branch].index),a){l="A 10 10, 0, 0, 0,",c="A 10 10, 0, 0, 1,",h=10,d=10;const t=n.y<s.y?M(n.y,s.y):M(s.y,n.y),i=n.x<s.x?M(n.x,s.x):M(s.x,n.x);"TB"===F?n.x<s.x?o=`M ${n.x} ${n.y} L ${i-h} ${n.y} ${c} ${i} ${n.y+d} L ${i} ${s.y-h} ${l} ${i+d} ${s.y} L ${s.x} ${s.y}`:(u=B[e.branch].index,o=`M ${n.x} ${n.y} L ${i+h} ${n.y} ${l} ${i} ${n.y+d} L ${i} ${s.y-h} ${c} ${i-d} ${s.y} L ${s.x} ${s.y}`):n.y<s.y?o=`M ${n.x} ${n.y} L ${n.x} ${t-h} ${l} ${n.x+d} ${t} L ${s.x-h} ${t} ${c} ${s.x} ${t+d} L ${s.x} ${s.y}`:(u=B[e.branch].index,o=`M ${n.x} ${n.y} L ${n.x} ${t+h} ${c} ${n.x+d} ${t} L ${s.x-h} ${t} ${l} ${s.x} ${t-d} L ${s.x} ${s.y}`)}else l="A 20 20, 0, 0, 0,",c="A 20 20, 0, 0, 1,",h=20,d=20,"TB"===F?(n.x<s.x&&(o=i.type===A&&e.id!==i.parents[0]?`M ${n.x} ${n.y} L ${n.x} ${s.y-h} ${l} ${n.x+d} ${s.y} L ${s.x} ${s.y}`:`M ${n.x} ${n.y} L ${s.x-h} ${n.y} ${c} ${s.x} ${n.y+d} L ${s.x} ${s.y}`),n.x>s.x&&(l="A 20 20, 0, 0, 0,",c="A 20 20, 0, 0, 1,",h=20,d=20,o=i.type===A&&e.id!==i.parents[0]?`M ${n.x} ${n.y} L ${n.x} ${s.y-h} ${c} ${n.x-d} ${s.y} L ${s.x} ${s.y}`:`M ${n.x} ${n.y} L ${s.x+h} ${n.y} ${l} ${s.x} ${n.y+d} L ${s.x} ${s.y}`),n.x===s.x&&(o=`M ${n.x} ${n.y} L ${s.x} ${s.y}`)):(n.y<s.y&&(o=i.type===A&&e.id!==i.parents[0]?`M ${n.x} ${n.y} L ${s.x-h} ${n.y} ${c} ${s.x} ${n.y+d} L ${s.x} ${s.y}`:`M ${n.x} ${n.y} L ${n.x} ${s.y-h} ${l} ${n.x+d} ${s.y} L ${s.x} ${s.y}`),n.y>s.y&&(o=i.type===A&&e.id!==i.parents[0]?`M ${n.x} ${n.y} L ${s.x-h} ${n.y} ${l} ${s.x} ${n.y-d} L ${s.x} ${s.y}`:`M ${n.x} ${n.y} L ${n.x} ${s.y+h} ${c} ${n.x+d} ${s.y} L ${s.x} ${s.y}`),n.y===s.y&&(o=`M ${n.x} ${n.y} L ${s.x} ${s.y}`));t.append("path").attr("d",o).attr("class","arrow arrow"+u%8)})(i,e[t],r,e)}))}))},q={parser:a,db:C,renderer:{draw:function(t,e,i,s){B={},I={},E={},$=0,D=[],F="LR";const a=(0,r.c)(),o=a.gitGraph;r.l.debug("in gitgraph renderer",t+"\n","id:",e,i),E=s.db.getCommits();const l=s.db.getBranchesAsObjArray();F=s.db.getDirection();const c=(0,n.Ys)(`[id="${e}"]`);let h=0;l.forEach(((t,e)=>{const i=O(t.name),r=c.append("g"),n=r.insert("g").attr("class","branchLabel"),s=n.insert("g").attr("class","label branch-label");s.node().appendChild(i);let a=i.getBBox();B[t.name]={pos:h,index:e},h+=50+(o.rotateCommitLabel?40:0)+("TB"===F?a.width/2:0),s.remove(),n.remove(),r.remove()})),N(c,E,!1),o.showBranches&&((t,e)=>{const i=(0,r.c)().gitGraph,n=t.append("g");e.forEach(((t,e)=>{const r=e%8,s=B[t.name].pos,a=n.append("line");a.attr("x1",0),a.attr("y1",s),a.attr("x2",$),a.attr("y2",s),a.attr("class","branch branch"+r),"TB"===F&&(a.attr("y1",30),a.attr("x1",s),a.attr("y2",$),a.attr("x2",s)),D.push(s);let o=t.name;const l=O(o),c=n.insert("rect"),h=n.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+r);h.node().appendChild(l);let d=l.getBBox();c.attr("class","branchLabelBkg label"+r).attr("rx",4).attr("ry",4).attr("x",-d.width-4-(!0===i.rotateCommitLabel?30:0)).attr("y",-d.height/2+8).attr("width",d.width+18).attr("height",d.height+4),h.attr("transform","translate("+(-d.width-14-(!0===i.rotateCommitLabel?30:0))+", "+(s-d.height/2-1)+")"),"TB"===F&&(c.attr("x",s-d.width/2-10).attr("y",0),h.attr("transform","translate("+(s-d.width/2-5)+", 0)")),"TB"!==F&&c.attr("transform","translate(-19, "+(s-d.height/2)+")")}))})(c,l),P(c,E),N(c,E,!0),r.u.insertTitle(c,"gitTitleText",o.titleTopMargin,s.db.getDiagramTitle()),(0,r.z)(void 0,c,o.diagramPadding,o.useMaxWidth??a.useMaxWidth)}},styles: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`}},33019:(t,e,i)=>{i.d(e,{r:()=>C});var r=i(33771),n=i(46060),s=i(76010),a=i(98539),o=i(45625),l=i(67807),c=i(37724);let h={},d={},u={};const p=(t,e)=>(a.l.trace("In isDescendant",e," ",t," = ",d[e].includes(t)),!!d[e].includes(t)),g=(t,e,i,r)=>{a.l.warn("Copying children of ",t,"root",r,"data",e.node(t),r);const n=e.children(t)||[];t!==r&&n.push(t),a.l.warn("Copying (nodes) clusterId",t,"nodes",n),n.forEach((n=>{if(e.children(n).length>0)g(n,e,i,r);else{const s=e.node(n);a.l.info("cp ",n," to ",r," with parent ",t),i.setNode(n,s),r!==e.parent(n)&&(a.l.warn("Setting parent",n,e.parent(n)),i.setParent(n,e.parent(n))),t!==r&&n!==t?(a.l.debug("Setting parent",n,t),i.setParent(n,t)):(a.l.info("In copy ",t,"root",r,"data",e.node(t),r),a.l.debug("Not Setting parent for node=",n,"cluster!==rootId",t!==r,"node!==clusterId",n!==t));const o=e.edges(n);a.l.debug("Copying Edges",o),o.forEach((n=>{a.l.info("Edge",n);const s=e.edge(n.v,n.w,n.name);a.l.info("Edge data",s,r);try{((t,e)=>(a.l.info("Descendants of ",e," is ",d[e]),a.l.info("Edge is ",t),t.v!==e&&t.w!==e&&(d[e]?d[e].includes(t.v)||p(t.v,e)||p(t.w,e)||d[e].includes(t.w):(a.l.debug("Tilt, ",e,",not in descendants"),!1))))(n,r)?(a.l.info("Copying as ",n.v,n.w,s,n.name),i.setEdge(n.v,n.w,s,n.name),a.l.info("newGraph edges ",i.edges(),i.edge(i.edges()[0]))):a.l.info("Skipping copy of edge ",n.v,"--\x3e",n.w," rootId: ",r," clusterId:",t)}catch(t){a.l.error(t)}}))}a.l.debug("Removing node",n),e.removeNode(n)}))},y=(t,e)=>{const i=e.children(t);let r=[...i];for(const n of i)u[n]=t,r=[...r,...y(n,e)];return r},f=(t,e)=>{a.l.trace("Searching",t);const i=e.children(t);if(a.l.trace("Searching children of id ",t,i),i.length<1)return a.l.trace("This is a valid node",t),t;for(const r of i){const i=f(r,e);if(i)return a.l.trace("Found replacement for",t," => ",i),i}},m=t=>h[t]&&h[t].externalConnections&&h[t]?h[t].id:t,x=(t,e)=>{if(a.l.warn("extractor - ",e,n.c(t),t.children("D")),e>10)return void a.l.error("Bailing out");let i=t.nodes(),r=!1;for(const e of i){const i=t.children(e);r=r||i.length>0}if(r){a.l.debug("Nodes = ",i,e);for(const r of i)if(a.l.debug("Extracting node",r,h,h[r]&&!h[r].externalConnections,!t.parent(r),t.node(r),t.children("D")," Depth ",e),h[r])if(!h[r].externalConnections&&t.children(r)&&t.children(r).length>0){a.l.warn("Cluster without external connections, without a parent and with children",r,e);let i="TB"===t.graph().rankdir?"LR":"TB";h[r]&&h[r].clusterData&&h[r].clusterData.dir&&(i=h[r].clusterData.dir,a.l.warn("Fixing dir",h[r].clusterData.dir,i));const s=new o.k({multigraph:!0,compound:!0}).setGraph({rankdir:i,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}}));a.l.warn("Old graph before copy",n.c(t)),g(r,t,s,r),t.setNode(r,{clusterNode:!0,id:r,clusterData:h[r].clusterData,labelText:h[r].labelText,graph:s}),a.l.warn("New graph after copy node: (",r,")",n.c(s)),a.l.debug("Old graph after copy",n.c(t))}else a.l.warn("Cluster ** ",r," **not meeting the criteria !externalConnections:",!h[r].externalConnections," no parent: ",!t.parent(r)," children ",t.children(r)&&t.children(r).length>0,t.children("D"),e),a.l.debug(h);else a.l.debug("Not a cluster",r,e);i=t.nodes(),a.l.warn("New list of nodes",i);for(const r of i){const i=t.node(r);a.l.warn(" Now next level",r,i),i.clusterNode&&x(i.graph,e+1)}}else a.l.debug("Done, no node has children",t.nodes())},b=(t,e)=>{if(0===e.length)return[];let i=Object.assign(e);return e.forEach((e=>{const r=t.children(e),n=b(t,r);i=[...i,...n]})),i},k={rect:(t,e)=>{a.l.info("Creating subgraph rect for ",e.id,e);const i=(0,a.c)(),r=t.insert("g").attr("class","cluster"+(e.class?" "+e.class:"")).attr("id",e.id),n=r.insert("rect",":first-child"),o=(0,a.m)(i.flowchart.htmlLabels),h=r.insert("g").attr("class","cluster-label"),d="markdown"===e.labelType?(0,l.a)(h,e.labelText,{style:e.labelStyle,useHtmlLabels:o}):h.node().appendChild((0,s.c)(e.labelText,e.labelStyle,void 0,!0));let u=d.getBBox();if((0,a.m)(i.flowchart.htmlLabels)){const t=d.children[0],e=(0,c.Ys)(d);u=t.getBoundingClientRect(),e.attr("width",u.width),e.attr("height",u.height)}const p=0*e.padding,g=p/2,y=e.width<=u.width+p?u.width+p:e.width;e.width<=u.width+p?e.diff=(u.width-e.width)/2-e.padding/2:e.diff=-e.padding/2,a.l.trace("Data ",e,JSON.stringify(e)),n.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-y/2).attr("y",e.y-e.height/2-g).attr("width",y).attr("height",e.height+p);const{subGraphTitleTopMargin:f}=(0,s.g)(i);o?h.attr("transform",`translate(${e.x-u.width/2}, ${e.y-e.height/2+f})`):h.attr("transform",`translate(${e.x}, ${e.y-e.height/2+f})`);const m=n.node().getBBox();return e.width=m.width,e.height=m.height,e.intersect=function(t){return(0,s.i)(e,t)},r},roundedWithTitle:(t,e)=>{const i=(0,a.c)(),r=t.insert("g").attr("class",e.classes).attr("id",e.id),n=r.insert("rect",":first-child"),o=r.insert("g").attr("class","cluster-label"),l=r.append("rect"),h=o.node().appendChild((0,s.c)(e.labelText,e.labelStyle,void 0,!0));let d=h.getBBox();if((0,a.m)(i.flowchart.htmlLabels)){const t=h.children[0],e=(0,c.Ys)(h);d=t.getBoundingClientRect(),e.attr("width",d.width),e.attr("height",d.height)}d=h.getBBox();const u=0*e.padding,p=u/2,g=e.width<=d.width+e.padding?d.width+e.padding:e.width;e.width<=d.width+e.padding?e.diff=(d.width+0*e.padding-e.width)/2:e.diff=-e.padding/2,n.attr("class","outer").attr("x",e.x-g/2-p).attr("y",e.y-e.height/2-p).attr("width",g+u).attr("height",e.height+u),l.attr("class","inner").attr("x",e.x-g/2-p).attr("y",e.y-e.height/2-p+d.height-1).attr("width",g+u).attr("height",e.height+u-d.height-3);const{subGraphTitleTopMargin:y}=(0,s.g)(i);o.attr("transform",`translate(${e.x-d.width/2}, ${e.y-e.height/2-e.padding/3+((0,a.m)(i.flowchart.htmlLabels)?5:3)+y})`);const f=n.node().getBBox();return e.height=f.height,e.intersect=function(t){return(0,s.i)(e,t)},r},noteGroup:(t,e)=>{const i=t.insert("g").attr("class","note-cluster").attr("id",e.id),r=i.insert("rect",":first-child"),n=0*e.padding,a=n/2;r.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+n).attr("height",e.height+n).attr("fill","none");const o=r.node().getBBox();return e.width=o.width,e.height=o.height,e.intersect=function(t){return(0,s.i)(e,t)},i},divider:(t,e)=>{const i=t.insert("g").attr("class",e.classes).attr("id",e.id),r=i.insert("rect",":first-child"),n=0*e.padding,a=n/2;r.attr("class","divider").attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2).attr("width",e.width+n).attr("height",e.height+n);const o=r.node().getBBox();return e.width=o.width,e.height=o.height,e.diff=-e.padding/2,e.intersect=function(t){return(0,s.i)(e,t)},i}};let _={};const T=async(t,e,i,o,l,c)=>{a.l.info("Graph in recursive render: XXX",n.c(e),l);const d=e.graph().rankdir;a.l.trace("Dir in recursive render - dir:",d);const u=t.insert("g").attr("class","root");e.nodes()?a.l.info("Recursive render XXX",e.nodes()):a.l.info("No nodes found for",e),e.edges().length>0&&a.l.trace("Recursive edges",e.edge(e.edges()[0]));const p=u.insert("g").attr("class","clusters"),g=u.insert("g").attr("class","edgePaths"),y=u.insert("g").attr("class","edgeLabels"),m=u.insert("g").attr("class","nodes");await Promise.all(e.nodes().map((async function(t){const r=e.node(t);if(void 0!==l){const i=JSON.parse(JSON.stringify(l.clusterData));a.l.info("Setting data for cluster XXX (",t,") ",i,l),e.setNode(l.id,i),e.parent(t)||(a.l.trace("Setting parent",t,l.id),e.setParent(t,l.id,i))}if(a.l.info("(Insert) Node XXX"+t+": "+JSON.stringify(e.node(t))),r&&r.clusterNode){a.l.info("Cluster identified",t,r.width,e.node(t));const n=await T(m,r.graph,i,o,e.node(t),c),l=n.elem;(0,s.u)(r,l),r.diff=n.diff||0,a.l.info("Node bounds (abc123)",t,r,r.width,r.x,r.y),(0,s.s)(l,r),a.l.warn("Recursive render complete ",l,r)}else e.children(t).length>0?(a.l.info("Cluster - the non recursive path XXX",t,r.id,r,e),a.l.info(f(r.id,e)),h[r.id]={id:f(r.id,e),node:r}):(a.l.info("Node - the non recursive path",t,r.id,r),await(0,s.e)(m,e.node(t),d))}))),e.edges().forEach((function(t){const i=e.edge(t.v,t.w,t.name);a.l.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),a.l.info("Edge "+t.v+" -> "+t.w+": ",t," ",JSON.stringify(e.edge(t))),a.l.info("Fix",h,"ids:",t.v,t.w,"Translating: ",h[t.v],h[t.w]),(0,s.f)(y,i)})),e.edges().forEach((function(t){a.l.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t))})),a.l.info("#############################################"),a.l.info("### Layout ###"),a.l.info("#############################################"),a.l.info(e),(0,r.bK)(e),a.l.info("Graph after layout:",n.c(e));let x=0;const{subGraphTitleTotalMargin:C}=(0,s.g)(c);return(t=>b(t,t.children()))(e).forEach((function(t){const i=e.node(t);a.l.info("Position "+t+": "+JSON.stringify(e.node(t))),a.l.info("Position "+t+": ("+i.x,","+i.y,") width: ",i.width," height: ",i.height),i&&i.clusterNode?(i.y+=C,(0,s.p)(i)):e.children(t).length>0?(i.height+=C,((t,e)=>{a.l.trace("Inserting cluster");const i=e.shape||"rect";_[e.id]=k[i](t,e)})(p,i),h[i.id].node=i):(i.y+=C/2,(0,s.p)(i))})),e.edges().forEach((function(t){const r=e.edge(t);a.l.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(r),r),r.points.forEach((t=>t.y+=C/2));const n=(0,s.h)(g,t,r,h,i,e,o);(0,s.j)(r,n)})),e.nodes().forEach((function(t){const i=e.node(t);a.l.info(t,i.type,i.diff),"group"===i.type&&(x=i.diff)})),{elem:u,diff:x}},C=async(t,e,i,r,o)=>{(0,s.a)(t,i,r,o),(0,s.b)(),(0,s.d)(),_={},d={},u={},h={},a.l.warn("Graph at first:",JSON.stringify(n.c(e))),((t,e)=>{if(!t||e>10)a.l.debug("Opting out, no graph ");else{a.l.debug("Opting in, graph "),t.nodes().forEach((function(e){t.children(e).length>0&&(a.l.warn("Cluster identified",e," Replacement id in edges: ",f(e,t)),d[e]=y(e,t),h[e]={id:f(e,t),clusterData:t.node(e)})})),t.nodes().forEach((function(e){const i=t.children(e),r=t.edges();i.length>0?(a.l.debug("Cluster identified",e,d),r.forEach((t=>{t.v!==e&&t.w!==e&&p(t.v,e)^p(t.w,e)&&(a.l.warn("Edge: ",t," leaves cluster ",e),a.l.warn("Descendants of XXX ",e,": ",d[e]),h[e].externalConnections=!0)}))):a.l.debug("Not a cluster ",e,d)}));for(let e of Object.keys(h)){const i=h[e].id,r=t.parent(i);r!==e&&h[r]&&!h[r].externalConnections&&(h[e].id=r)}t.edges().forEach((function(e){const i=t.edge(e);a.l.warn("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),a.l.warn("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(t.edge(e)));let r=e.v,n=e.w;if(a.l.warn("Fix XXX",h,"ids:",e.v,e.w,"Translating: ",h[e.v]," --- ",h[e.w]),h[e.v]&&h[e.w]&&h[e.v]===h[e.w]){a.l.warn("Fixing and trixing link to self - removing XXX",e.v,e.w,e.name),a.l.warn("Fixing and trixing - removing XXX",e.v,e.w,e.name),r=m(e.v),n=m(e.w),t.removeEdge(e.v,e.w,e.name);const s=e.w+"---"+e.v;t.setNode(s,{domId:s,id:s,labelStyle:"",labelText:i.label,padding:0,shape:"labelRect",style:""});const o=structuredClone(i),l=structuredClone(i);o.label="",o.arrowTypeEnd="none",l.label="",o.fromCluster=e.v,l.toCluster=e.v,t.setEdge(r,s,o,e.name+"-cyclic-special"),t.setEdge(s,n,l,e.name+"-cyclic-special")}else if(h[e.v]||h[e.w]){if(a.l.warn("Fixing and trixing - removing XXX",e.v,e.w,e.name),r=m(e.v),n=m(e.w),t.removeEdge(e.v,e.w,e.name),r!==e.v){const n=t.parent(r);h[n].externalConnections=!0,i.fromCluster=e.v}if(n!==e.w){const r=t.parent(n);h[r].externalConnections=!0,i.toCluster=e.w}a.l.warn("Fix Replacing with XXX",r,n,e.name),t.setEdge(r,n,i,e.name)}})),a.l.warn("Adjusted Graph",n.c(t)),x(t,0),a.l.trace(h)}})(e),a.l.warn("Graph after:",JSON.stringify(n.c(e)));const l=(0,a.c)();await T(t,e,r,o,void 0,l)}},5718:(t,e,i)=>{i.d(e,{diagram:()=>o});var r=i(98539),n=(i(27484),i(17967),i(37724),i(27856),function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[6,9,10],i={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(t,e,i,r,n,s,a){switch(s.length,n){case 1:return r;case 4:break;case 6:r.setInfo(!0)}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},t(e,[2,3]),t(e,[2,4]),t(e,[2,5]),t(e,[2,6])],defaultActions:{4:[2,1]},parseError:function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)},parse:function(t){var e=this,i=[0],r=[],n=[null],s=[],a=this.table,o="",l=0,c=0,h=s.slice.call(arguments,1),d=Object.create(this.lexer),u={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(u.yy[p]=this.yy[p]);d.setInput(t,u.yy),u.yy.lexer=d,u.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var g=d.yylloc;s.push(g);var y=d.options&&d.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,x,b,k,_,T,C,E,S={};;){if(m=i[i.length-1],this.defaultActions[m]?x=this.defaultActions[m]:(null==f&&(E=void 0,"number"!=typeof(E=r.pop()||d.lex()||1)&&(E instanceof Array&&(E=(r=E).pop()),E=e.symbols_[E]||E),f=E),x=a[m]&&a[m][f]),void 0===x||!x.length||!x[0]){var w="";for(k in C=[],a[m])this.terminals_[k]&&k>2&&C.push("'"+this.terminals_[k]+"'");w=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(w,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:g,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+f);switch(x[0]){case 1:i.push(f),n.push(d.yytext),s.push(d.yylloc),i.push(x[1]),f=null,c=d.yyleng,o=d.yytext,l=d.yylineno,g=d.yylloc;break;case 2:if(_=this.productions_[x[1]][1],S.$=n[n.length-_],S._$={first_line:s[s.length-(_||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(_||1)].first_column,last_column:s[s.length-1].last_column},y&&(S._$.range=[s[s.length-(_||1)].range[0],s[s.length-1].range[1]]),void 0!==(b=this.performAction.apply(S,[o,c,l,u.yy,x[1],n,s].concat(h))))return b;_&&(i=i.slice(0,-1*_*2),n=n.slice(0,-1*_),s=s.slice(0,-1*_)),i.push(this.productions_[x[1]][0]),n.push(S.$),s.push(S._$),T=a[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}},r={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,i=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 r=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[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 i,r,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.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],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var s in n)this[s]=n[s];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,i,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&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,i,r){switch(i){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 n(){this.yy={}}return i.lexer=r,n.prototype=i,i.Parser=n,new n}());n.parser=n;const s=!1;let a=s;const o={parser:n,db:{clear:()=>{a=s},setInfo:t=>{a=t},getInfo:()=>a},renderer:{draw:(t,e,i)=>{r.l.debug("rendering info diagram\n"+t);const n=(0,r.A)(e);(0,r.i)(n,100,400,!0);n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${i}`)}}}},216:(t,e,i)=>{i.d(e,{diagram:()=>$});var r=i(98539),n=i(37724),s=i(3053),a=(i(27484),i(17967),i(27856),function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[6,8,10,11,12,14,16,17,18],i=[1,9],r=[1,10],n=[1,11],s=[1,12],a=[1,13],o=[1,14],l={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:function(t,e,i,r,n,s,a){var o=s.length-1;switch(n){case 1:return s[o-1];case 2:case 6:case 7:this.$=[];break;case 3:s[o-1].push(s[o]),this.$=s[o-1];break;case 4:case 5:this.$=s[o];break;case 8:r.setDiagramTitle(s[o].substr(6)),this.$=s[o].substr(6);break;case 9:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 10:case 11:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 12:r.addSection(s[o].substr(8)),this.$=s[o].substr(8);break;case 13:r.addTask(s[o-1],s[o]),this.$="task"}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:i,12:r,14:n,16:s,17:a,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:i,12:r,14:n,16:s,17:a,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)},parse:function(t){var e=this,i=[0],r=[],n=[null],s=[],a=this.table,o="",l=0,c=0,h=s.slice.call(arguments,1),d=Object.create(this.lexer),u={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(u.yy[p]=this.yy[p]);d.setInput(t,u.yy),u.yy.lexer=d,u.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var g=d.yylloc;s.push(g);var y=d.options&&d.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,x,b,k,_,T,C,E,S={};;){if(m=i[i.length-1],this.defaultActions[m]?x=this.defaultActions[m]:(null==f&&(E=void 0,"number"!=typeof(E=r.pop()||d.lex()||1)&&(E instanceof Array&&(E=(r=E).pop()),E=e.symbols_[E]||E),f=E),x=a[m]&&a[m][f]),void 0===x||!x.length||!x[0]){var w="";for(k in C=[],a[m])this.terminals_[k]&&k>2&&C.push("'"+this.terminals_[k]+"'");w=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(w,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:g,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+f);switch(x[0]){case 1:i.push(f),n.push(d.yytext),s.push(d.yylloc),i.push(x[1]),f=null,c=d.yyleng,o=d.yytext,l=d.yylineno,g=d.yylloc;break;case 2:if(_=this.productions_[x[1]][1],S.$=n[n.length-_],S._$={first_line:s[s.length-(_||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(_||1)].first_column,last_column:s[s.length-1].last_column},y&&(S._$.range=[s[s.length-(_||1)].range[0],s[s.length-1].range[1]]),void 0!==(b=this.performAction.apply(S,[o,c,l,u.yy,x[1],n,s].concat(h))))return b;_&&(i=i.slice(0,-1*_*2),n=n.slice(0,-1*_),s=s.slice(0,-1*_)),i.push(this.productions_[x[1]][0]),n.push(S.$),s.push(S._$),T=a[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}},c={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,i=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 r=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[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 i,r,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.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],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var s in n)this[s]=n[s];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,i,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&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,i,r){switch(i){case 0:case 1:case 3:case 4:break;case 2:return 10;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},rules:[/^(?:%(?!\{)[^\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:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};function h(){this.yy={}}return l.lexer=c,h.prototype=l,l.Parser=h,new h}());a.parser=a;const o=a;let l="";const c=[],h=[],d=[],u=function(){let t=!0;for(const[e,i]of d.entries())d[e].processed,t=t&&i.processed;return t},p={getConfig:()=>(0,r.c)().journey,clear:function(){c.length=0,h.length=0,l="",d.length=0,(0,r.v)()},setDiagramTitle:r.q,getDiagramTitle:r.t,setAccTitle:r.s,getAccTitle:r.g,setAccDescription:r.b,getAccDescription:r.a,addSection:function(t){l=t,c.push(t)},getSections:function(){return c},getTasks:function(){let t=u();let e=0;for(;!t&&e<100;)t=u(),e++;return h.push(...d),h},addTask:function(t,e){const i=e.substr(1).split(":");let r=0,n=[];1===i.length?(r=Number(i[0]),n=[]):(r=Number(i[0]),n=i[1].split(","));const s=n.map((t=>t.trim())),a={section:l,type:l,people:s,task:t,score:r};d.push(a)},addTaskOrg:function(t){const e={section:l,type:l,description:t,task:t,classes:[]};h.push(e)},getActors:function(){return function(){const t=[];return h.forEach((e=>{e.people&&t.push(...e.people)})),[...new Set(t)].sort()}()}},g=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`,y=function(t,e){return(0,s.d)(t,e)},f=function(t,e){const i=t.append("circle");return i.attr("cx",e.cx),i.attr("cy",e.cy),i.attr("class","actor-"+e.pos),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("r",e.r),void 0!==i.class&&i.attr("class",i.class),void 0!==e.title&&i.append("title").text(e.title),i},m=function(t,e){return(0,s.f)(t,e)};let x=-1;const b=function(){function t(t,e,i,n,s,a,o,l){r(e.append("text").attr("x",i+s/2).attr("y",n+a/2+5).style("font-color",l).style("text-anchor","middle").text(t),o)}function e(t,e,i,n,s,a,o,l,c){const{taskFontSize:h,taskFontFamily:d}=l,u=t.split(/<br\s*\/?>/gi);for(let t=0;t<u.length;t++){const l=t*h-h*(u.length-1)/2,p=e.append("text").attr("x",i+s/2).attr("y",n).attr("fill",c).style("text-anchor","middle").style("font-size",h).style("font-family",d);p.append("tspan").attr("x",i+s/2).attr("dy",l).text(u[t]),p.attr("y",n+a/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),r(p,o)}}function i(t,i,n,s,a,o,l,c){const h=i.append("switch"),d=h.append("foreignObject").attr("x",n).attr("y",s).attr("width",a).attr("height",o).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");d.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,h,n,s,a,o,l,c),r(d,l)}function r(t,e){for(const i in e)i in e&&t.attr(i,e[i])}return function(r){return"fo"===r.textPlacement?i:"old"===r.textPlacement?t:e}}(),k=f,_=function(t,e,i){const r=t.append("g"),n=(0,s.g)();n.x=e.x,n.y=e.y,n.fill=e.fill,n.width=i.width*e.taskCount+i.diagramMarginX*(e.taskCount-1),n.height=i.height,n.class="journey-section section-type-"+e.num,n.rx=3,n.ry=3,y(r,n),b(i)(e.text,r,n.x,n.y,n.width,n.height,{class:"journey-section section-type-"+e.num},i,e.colour)},T=m,C=function(t,e,i){const r=e.x+i.width/2,a=t.append("g");x++;a.append("line").attr("id","task"+x).attr("x1",r).attr("y1",e.y).attr("x2",r).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),function(t,e){const i=15,r=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",i).attr("stroke-width",2).attr("overflow","visible"),s=t.append("g");s.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),s.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),e.score>3?function(t){const r=(0,n.Nb1)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(i/2.2);t.append("path").attr("class","mouth").attr("d",r).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}(s):e.score<3?function(t){const r=(0,n.Nb1)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(i/2.2);t.append("path").attr("class","mouth").attr("d",r).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}(s):s.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")}(a,{cx:r,cy:300+30*(5-e.score),score:e.score});const o=(0,s.g)();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=i.width,o.height=i.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,y(a,o);let l=e.x+14;e.people.forEach((t=>{const i=e.actors[t].color,r={cx:l,cy:e.y,r:7,fill:i,stroke:"#000",title:t,pos:e.actors[t].position};f(a,r),l+=10})),b(i)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},i,e.colour)},E=function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},S={};const w=(0,r.c)().journey,v=w.leftMargin,A={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,i,r){void 0===t[e]?t[e]=i:t[e]=r(i,t[e])},updateBounds:function(t,e,i,n){const s=(0,r.c)().journey,a=this;let o=0;var l;this.sequenceItems.forEach((function(r){o++;const c=a.sequenceItems.length-o+1;a.updateVal(r,"starty",e-c*s.boxMargin,Math.min),a.updateVal(r,"stopy",n+c*s.boxMargin,Math.max),a.updateVal(A.data,"startx",t-c*s.boxMargin,Math.min),a.updateVal(A.data,"stopx",i+c*s.boxMargin,Math.max),"activation"!==l&&(a.updateVal(r,"startx",t-c*s.boxMargin,Math.min),a.updateVal(r,"stopx",i+c*s.boxMargin,Math.max),a.updateVal(A.data,"starty",e-c*s.boxMargin,Math.min),a.updateVal(A.data,"stopy",n+c*s.boxMargin,Math.max))}))},insert:function(t,e,i,r){const n=Math.min(t,i),s=Math.max(t,i),a=Math.min(e,r),o=Math.max(e,r);this.updateVal(A.data,"startx",n,Math.min),this.updateVal(A.data,"starty",a,Math.min),this.updateVal(A.data,"stopx",s,Math.max),this.updateVal(A.data,"stopy",o,Math.max),this.updateBounds(n,a,s,o)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},L=w.sectionFills,B=w.sectionColours,I=function(t,e,i){const n=(0,r.c)().journey;let s="";const a=i+(2*n.height+n.diagramMarginY);let o=0,l="#CCC",c="black",h=0;for(const[i,r]of e.entries()){if(s!==r.section){l=L[o%L.length],h=o%L.length,c=B[o%B.length];let a=0;const d=r.section;for(let t=i;t<e.length&&e[t].section==d;t++)a+=1;const u={x:i*n.taskMargin+i*n.width+v,y:50,text:r.section,fill:l,num:h,colour:c,taskCount:a};_(t,u,n),s=r.section,o++}const d=r.people.reduce(((t,e)=>(S[e]&&(t[e]=S[e]),t)),{});r.x=i*n.taskMargin+i*n.width+v,r.y=a,r.width=n.diagramMarginX,r.height=n.diagramMarginY,r.colour=c,r.fill=l,r.num=h,r.actors=d,C(t,r,n),A.insert(r.x,r.y,r.x+r.width+n.taskMargin,450)}},D={setConf:function(t){Object.keys(t).forEach((function(e){w[e]=t[e]}))},draw:function(t,e,i,s){const a=(0,r.c)().journey,o=(0,r.c)().securityLevel;let l;"sandbox"===o&&(l=(0,n.Ys)("#i"+e));const c="sandbox"===o?(0,n.Ys)(l.nodes()[0].contentDocument.body):(0,n.Ys)("body");A.init();const h=c.select("#"+e);E(h);const d=s.db.getTasks(),u=s.db.getDiagramTitle(),p=s.db.getActors();for(const t in S)delete S[t];let g=0;p.forEach((t=>{S[t]={color:a.actorColours[g%a.actorColours.length],position:g},g++})),function(t){const e=(0,r.c)().journey;let i=60;Object.keys(S).forEach((r=>{const n=S[r].color,s={cx:20,cy:i,r:7,fill:n,stroke:"#000",pos:S[r].position};k(t,s);const a={x:40,y:i+7,fill:"#666",text:r,textMargin:5|e.boxTextMargin};T(t,a),i+=20}))}(h),A.insert(0,0,v,50*Object.keys(S).length),I(h,d,0);const y=A.getBounds();u&&h.append("text").text(u).attr("x",v).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const f=y.stopy-y.starty+2*a.diagramMarginY,m=v+y.stopx+2*a.diagramMarginX;(0,r.i)(h,f,m,a.useMaxWidth),h.append("line").attr("x1",v).attr("y1",4*a.height).attr("x2",m-v-4).attr("y2",4*a.height).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const x=u?70:0;h.attr("viewBox",`${y.startx} -25 ${m} ${f+x}`),h.attr("preserveAspectRatio","xMinYMin meet"),h.attr("height",f+x+25)}},$={parser:o,db:p,renderer:D,styles:g,init:t=>{D.setConf(t.journey),p.clear()}}},98539:(t,e,i)=>{i.d(e,{A:()=>ti,B:()=>K,C:()=>It,D:()=>Bt,E:()=>W,F:()=>jt,G:()=>R,H:()=>M,I:()=>kt,J:()=>C,K:()=>He,L:()=>Ye,M:()=>$t,N:()=>_n,Z:()=>ht,a:()=>Pe,b:()=>Me,c:()=>Ze,d:()=>v,e:()=>q,f:()=>ct,g:()=>Re,h:()=>wt,i:()=>ve,j:()=>St,k:()=>xt,l:()=>k,m:()=>B,n:()=>gt,o:()=>Ae,p:()=>Ue,q:()=>qe,r:()=>P,s:()=>Ne,t:()=>ze,u:()=>Dt,v:()=>Oe,w:()=>Ct,x:()=>I,y:()=>_t,z:()=>Xe});var r=i(18464),n=i(27484),s=i(17967),a=i(37724),o=i(27856),l=i(83314),c=i(59330),h=i(7201),d=i(12281),u=i(46500),p=i(51117),g=i(42454),y=i(16841),f=i(20211),m=i(61871),x=i(79697);const b={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},k={trace:(...t)=>{},debug:(...t)=>{},info:(...t)=>{},warn:(...t)=>{},error:(...t)=>{},fatal:(...t)=>{}},_=function(t="fatal"){let e=b.fatal;"string"==typeof t?(t=t.toLowerCase())in b&&(e=b[t]):"number"==typeof t&&(e=t),k.trace=()=>{},k.debug=()=>{},k.info=()=>{},k.warn=()=>{},k.error=()=>{},k.fatal=()=>{},e<=b.fatal&&(k.fatal=console.error?console.error.bind(console,T("FATAL"),"color: orange"):console.log.bind(console,"[35m",T("FATAL"))),e<=b.error&&(k.error=console.error?console.error.bind(console,T("ERROR"),"color: orange"):console.log.bind(console,"[31m",T("ERROR"))),e<=b.warn&&(k.warn=console.warn?console.warn.bind(console,T("WARN"),"color: orange"):console.log.bind(console,"[33m",T("WARN"))),e<=b.info&&(k.info=console.info?console.info.bind(console,T("INFO"),"color: lightblue"):console.log.bind(console,"[34m",T("INFO"))),e<=b.debug&&(k.debug=console.debug?console.debug.bind(console,T("DEBUG"),"color: lightgreen"):console.log.bind(console,"[32m",T("DEBUG"))),e<=b.trace&&(k.trace=console.debug?console.debug.bind(console,T("TRACE"),"color: lightgreen"):console.log.bind(console,"[32m",T("TRACE")))},T=t=>`%c${n().format("ss.SSS")} : ${t} : `,C=/<br\s*\/?>/gi,E=(()=>{let t=!1;return()=>{t||(!function(){const t="data-temp-href-target";o.addHook("beforeSanitizeAttributes",(e=>{"A"===e.tagName&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")||"")})),o.addHook("afterSanitizeAttributes",(e=>{"A"===e.tagName&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)||""),e.removeAttribute(t),"_blank"===e.getAttribute("target")&&e.setAttribute("rel","noopener"))}))}(),t=!0)}})();const S=t=>{E();return o.sanitize(t)},w=(t,e)=>{var i;if(!1!==(null==(i=e.flowchart)?void 0:i.htmlLabels)){const i=e.securityLevel;"antiscript"===i||"strict"===i?t=S(t):"loose"!==i&&(t=(t=(t=L(t)).replace(/</g,"<").replace(/>/g,">")).replace(/=/g,"="),t=A(t))}return t},v=(t,e)=>t?t=e.dompurifyConfig?o.sanitize(w(t,e),e.dompurifyConfig).toString():o.sanitize(w(t,e),{FORBID_TAGS:["style"]}).toString():t,A=t=>t.replace(/#br#/g,"<br/>"),L=t=>t.replace(C,"#br#"),B=t=>!1!==t&&!["false","null","0"].includes(String(t).trim().toLowerCase()),I=function(t){const e=t.split(/(,)/),i=[];for(let t=0;t<e.length;t++){let r=e[t];if(","===r&&t>0&&t+1<e.length){const n=e[t-1],s=e[t+1];$(n,s)&&(r=n+","+s,t++,i.pop())}i.push(F(r))}return i.join("")},D=(t,e)=>Math.max(0,t.split(e).length-1),$=(t,e)=>{const i=D(t,"~"),r=D(e,"~");return 1===i&&1===r},F=t=>{const e=D(t,"~");let i=!1;if(e<=1)return t;e%2!=0&&t.startsWith("~")&&(t=t.substring(1),i=!0);const r=[...t];let n=r.indexOf("~"),s=r.lastIndexOf("~");for(;-1!==n&&-1!==s&&n!==s;)r[n]="<",r[s]=">",n=r.indexOf("~"),s=r.lastIndexOf("~");return i&&r.unshift("~"),r.join("")},O=()=>void 0!==window.MathMLElement,N=/\$\$(.*)\$\$/g,R=t=>{var e;return((null==(e=t.match(N))?void 0:e.length)??0)>0},M=async(t,e)=>{t=await P(t,e);const i=document.createElement("div");i.innerHTML=t,i.id="katex-temp",i.style.visibility="hidden",i.style.position="absolute",i.style.top="0";const r=document.querySelector("body");null==r||r.insertAdjacentElement("beforeend",i);const n={width:i.clientWidth,height:i.clientHeight};return i.remove(),n},P=async(t,e)=>{if(!R(t))return t;if(!O()&&!e.legacyMathML)return t.replace(N,"MathML is unsupported in this environment.");const{default:r}=await i.e("vendors-node_modules_katex_dist_katex_mjs").then(i.bind(i,41008));return t.split(C).map((t=>R(t)?`\n <div style="display: flex; align-items: center; justify-content: center; white-space: nowrap;">\n ${t}\n </div>\n `:`<div>${t}</div>`)).join("").replace(N,((t,e)=>r.renderToString(e,{throwOnError:!0,displayMode:!0,output:O()?"mathml":"htmlAndMathml"}).replace(/\n/g," ").replace(/<annotation.*<\/annotation>/g,"")))},q={getRows:t=>{if(!t)return[""];return L(t).replace(/\\n/g,"#br#").split("#br#")},sanitizeText:v,sanitizeTextOrArray:(t,e)=>"string"==typeof t?v(t,e):t.flat().map((t=>v(t,e))),hasBreaks:t=>C.test(t),splitBreaks:t=>t.split(C),lineBreakRegex:C,removeScript:S,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:B,getMax:function(...t){const e=t.filter((t=>!isNaN(t)));return Math.max(...e)},getMin:function(...t){const e=t.filter((t=>!isNaN(t)));return Math.min(...e)}},z=(t,e)=>e?(0,l.Z)(t,{s:-40,l:10}):(0,l.Z)(t,{s:-40,l:-10}),Y="#ffffff",j="#f2f2f2";const W=t=>{const e=new class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=(0,l.Z)(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=(0,l.Z)(this.primaryColor,{h:-160}),this.primaryBorderColor=z(this.primaryColor,this.darkMode),this.secondaryBorderColor=z(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=z(this.tertiaryColor,this.darkMode),this.primaryTextColor=(0,c.Z)(this.primaryColor),this.secondaryTextColor=(0,c.Z)(this.secondaryColor),this.tertiaryTextColor=(0,c.Z)(this.tertiaryColor),this.lineColor=(0,c.Z)(this.background),this.textColor=(0,c.Z)(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=(0,p.Z)(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=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var t,e,i,r,n,s,a,o,p,g,y;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||(0,l.Z)(this.primaryColor,{h:30}),this.cScale4=this.cScale4||(0,l.Z)(this.primaryColor,{h:60}),this.cScale5=this.cScale5||(0,l.Z)(this.primaryColor,{h:90}),this.cScale6=this.cScale6||(0,l.Z)(this.primaryColor,{h:120}),this.cScale7=this.cScale7||(0,l.Z)(this.primaryColor,{h:150}),this.cScale8=this.cScale8||(0,l.Z)(this.primaryColor,{h:210}),this.cScale9=this.cScale9||(0,l.Z)(this.primaryColor,{h:270}),this.cScale10=this.cScale10||(0,l.Z)(this.primaryColor,{h:300}),this.cScale11=this.cScale11||(0,l.Z)(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||(0,h.Z)(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||(0,h.Z)(this.tertiaryColor,40);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,h.Z)(this["cScale"+t],10),this["cScalePeer"+t]=this["cScalePeer"+t]||(0,h.Z)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||(0,l.Z)(this["cScale"+t],{h:180});for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||(0,l.Z)(this.mainBkg,{h:30,l:-(5+5*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||(0,l.Z)(this.mainBkg,{h:30,l:-(7+5*t)});if(this.scaleLabelColor="calculated"!==this.scaleLabelColor&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor,"calculated"!==this.labelTextColor){this.cScaleLabel0=this.cScaleLabel0||(0,c.Z)(this.labelTextColor),this.cScaleLabel3=this.cScaleLabel3||(0,c.Z)(this.labelTextColor);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.labelTextColor}this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.textColor,this.edgeLabelBackground=this.labelBackground,this.actorBorder=(0,d.Z)(this.border1,23),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.signalColor=this.textColor,this.signalTextColor=this.textColor,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,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||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=(0,l.Z)(this.primaryColor,{h:64}),this.fillType3=(0,l.Z)(this.secondaryColor,{h:64}),this.fillType4=(0,l.Z)(this.primaryColor,{h:-64}),this.fillType5=(0,l.Z)(this.secondaryColor,{h:-64}),this.fillType6=(0,l.Z)(this.primaryColor,{h:128}),this.fillType7=(0,l.Z)(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||(0,l.Z)(this.tertiaryColor,{l:-40}),this.pie4=this.pie4||(0,l.Z)(this.primaryColor,{l:-10}),this.pie5=this.pie5||(0,l.Z)(this.secondaryColor,{l:-30}),this.pie6=this.pie6||(0,l.Z)(this.tertiaryColor,{l:-20}),this.pie7=this.pie7||(0,l.Z)(this.primaryColor,{h:60,l:-20}),this.pie8=this.pie8||(0,l.Z)(this.primaryColor,{h:-60,l:-40}),this.pie9=this.pie9||(0,l.Z)(this.primaryColor,{h:120,l:-40}),this.pie10=this.pie10||(0,l.Z)(this.primaryColor,{h:60,l:-40}),this.pie11=this.pie11||(0,l.Z)(this.primaryColor,{h:-90,l:-40}),this.pie12=this.pie12||(0,l.Z)(this.primaryColor,{h:120,l:-30}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||(0,l.Z)(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||(0,l.Z)(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||(0,l.Z)(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||(0,l.Z)(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||(0,l.Z)(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||(0,l.Z)(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,u.Z)(this.quadrant1Fill)?(0,d.Z)(this.quadrant1Fill):(0,h.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(t=this.xyChart)?void 0:t.backgroundColor)||this.background,titleColor:(null==(e=this.xyChart)?void 0:e.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(i=this.xyChart)?void 0:i.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(r=this.xyChart)?void 0:r.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(n=this.xyChart)?void 0:n.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(s=this.xyChart)?void 0:s.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(a=this.xyChart)?void 0:a.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(o=this.xyChart)?void 0:o.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(p=this.xyChart)?void 0:p.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(g=this.xyChart)?void 0:g.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(y=this.xyChart)?void 0:y.plotColorPalette)||"#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.labelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||(0,l.Z)(this.primaryColor,{h:-30}),this.git4=this.git4||(0,l.Z)(this.primaryColor,{h:-60}),this.git5=this.git5||(0,l.Z)(this.primaryColor,{h:-90}),this.git6=this.git6||(0,l.Z)(this.primaryColor,{h:60}),this.git7=this.git7||(0,l.Z)(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,d.Z)(this.git0,25),this.git1=(0,d.Z)(this.git1,25),this.git2=(0,d.Z)(this.git2,25),this.git3=(0,d.Z)(this.git3,25),this.git4=(0,d.Z)(this.git4,25),this.git5=(0,d.Z)(this.git5,25),this.git6=(0,d.Z)(this.git6,25),this.git7=(0,d.Z)(this.git7,25)):(this.git0=(0,h.Z)(this.git0,25),this.git1=(0,h.Z)(this.git1,25),this.git2=(0,h.Z)(this.git2,25),this.git3=(0,h.Z)(this.git3,25),this.git4=(0,h.Z)(this.git4,25),this.git5=(0,h.Z)(this.git5,25),this.git6=(0,h.Z)(this.git6,25),this.git7=(0,h.Z)(this.git7,25)),this.gitInv0=this.gitInv0||(0,h.Z)((0,c.Z)(this.git0),25),this.gitInv1=this.gitInv1||(0,c.Z)(this.git1),this.gitInv2=this.gitInv2||(0,c.Z)(this.git2),this.gitInv3=this.gitInv3||(0,c.Z)(this.git3),this.gitInv4=this.gitInv4||(0,c.Z)(this.git4),this.gitInv5=this.gitInv5||(0,c.Z)(this.git5),this.gitInv6=this.gitInv6||(0,c.Z)(this.git6),this.gitInv7=this.gitInv7||(0,c.Z)(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||(0,c.Z)(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||(0,c.Z)(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||Y,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||j}calculate(t){if("object"!=typeof t)return void this.updateColors();const e=Object.keys(t);e.forEach((e=>{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}};return e.calculate(t),e};class Z{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=(0,d.Z)(this.contrast,55),this.background="#ffffff",this.tertiaryColor=(0,l.Z)(this.primaryColor,{h:-160}),this.primaryBorderColor=z(this.primaryColor,this.darkMode),this.secondaryBorderColor=z(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=z(this.tertiaryColor,this.darkMode),this.primaryTextColor=(0,c.Z)(this.primaryColor),this.secondaryTextColor=(0,c.Z)(this.secondaryColor),this.tertiaryTextColor=(0,c.Z)(this.tertiaryColor),this.lineColor=(0,c.Z)(this.background),this.textColor=(0,c.Z)(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=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var t,e,i,r,n,s,a,o,p,g,y;this.secondBkg=(0,d.Z)(this.contrast,55),this.border2=this.contrast,this.actorBorder=(0,d.Z)(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",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.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||(0,c.Z)(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,d.Z)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,h.Z)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor),this.cScaleLabel0=this.cScaleLabel0||this.cScale1,this.cScaleLabel2=this.cScaleLabel2||this.cScale1;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||(0,l.Z)(this.mainBkg,{l:-(5+5*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||(0,l.Z)(this.mainBkg,{l:-(8+5*t)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.text,this.sectionBkgColor=(0,d.Z)(this.contrast,30),this.sectionBkgColor2=(0,d.Z)(this.contrast,30),this.taskBorderColor=(0,h.Z)(this.contrast,10),this.taskBkgColor=this.contrast,this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor=this.text,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.gridColor=(0,d.Z)(this.border1,30),this.doneTaskBkgColor=this.done,this.doneTaskBorderColor=this.lineColor,this.critBkgColor=this.critical,this.critBorderColor=(0,h.Z)(this.critBkgColor,10),this.todayLineColor=this.critBkgColor,this.transitionColor=this.transitionColor||"#000",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||"#f4f4f4",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.stateBorder=this.stateBorder||"#000",this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#222",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=(0,l.Z)(this.primaryColor,{h:64}),this.fillType3=(0,l.Z)(this.secondaryColor,{h:64}),this.fillType4=(0,l.Z)(this.primaryColor,{h:-64}),this.fillType5=(0,l.Z)(this.secondaryColor,{h:-64}),this.fillType6=(0,l.Z)(this.primaryColor,{h:128}),this.fillType7=(0,l.Z)(this.secondaryColor,{h:128});for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["pie"+t]=this["cScale"+t];this.pie12=this.pie0,this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||(0,l.Z)(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||(0,l.Z)(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||(0,l.Z)(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||(0,l.Z)(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||(0,l.Z)(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||(0,l.Z)(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,u.Z)(this.quadrant1Fill)?(0,d.Z)(this.quadrant1Fill):(0,h.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(t=this.xyChart)?void 0:t.backgroundColor)||this.background,titleColor:(null==(e=this.xyChart)?void 0:e.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(i=this.xyChart)?void 0:i.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(r=this.xyChart)?void 0:r.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(n=this.xyChart)?void 0:n.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(s=this.xyChart)?void 0:s.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(a=this.xyChart)?void 0:a.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(o=this.xyChart)?void 0:o.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(p=this.xyChart)?void 0:p.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(g=this.xyChart)?void 0:g.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(y=this.xyChart)?void 0:y.plotColorPalette)||"#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=(0,h.Z)(this.pie1,25)||this.primaryColor,this.git1=this.pie2||this.secondaryColor,this.git2=this.pie3||this.tertiaryColor,this.git3=this.pie4||(0,l.Z)(this.primaryColor,{h:-30}),this.git4=this.pie5||(0,l.Z)(this.primaryColor,{h:-60}),this.git5=this.pie6||(0,l.Z)(this.primaryColor,{h:-90}),this.git6=this.pie7||(0,l.Z)(this.primaryColor,{h:60}),this.git7=this.pie8||(0,l.Z)(this.primaryColor,{h:120}),this.gitInv0=this.gitInv0||(0,c.Z)(this.git0),this.gitInv1=this.gitInv1||(0,c.Z)(this.git1),this.gitInv2=this.gitInv2||(0,c.Z)(this.git2),this.gitInv3=this.gitInv3||(0,c.Z)(this.git3),this.gitInv4=this.gitInv4||(0,c.Z)(this.git4),this.gitInv5=this.gitInv5||(0,c.Z)(this.git5),this.gitInv6=this.gitInv6||(0,c.Z)(this.git6),this.gitInv7=this.gitInv7||(0,c.Z)(this.git7),this.branchLabelColor=this.branchLabelColor||this.labelTextColor,this.gitBranchLabel0=this.branchLabelColor,this.gitBranchLabel1="white",this.gitBranchLabel2=this.branchLabelColor,this.gitBranchLabel3="white",this.gitBranchLabel4=this.branchLabelColor,this.gitBranchLabel5=this.branchLabelColor,this.gitBranchLabel6=this.branchLabelColor,this.gitBranchLabel7=this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||Y,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||j}calculate(t){if("object"!=typeof t)return void this.updateColors();const e=Object.keys(t);e.forEach((e=>{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}}const U={base:{getThemeVariables:t=>{const e=new 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(){var t,e,i,r,n,s,a,o,p,g,y;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||(0,l.Z)(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||(0,l.Z)(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||z(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||z(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||z(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||z(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||(0,c.Z)(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||(0,c.Z)(this.tertiaryColor),this.lineColor=this.lineColor||(0,c.Z)(this.background),this.arrowheadColor=this.arrowheadColor||(0,c.Z)(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,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?(0,h.Z)(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||(0,h.Z)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||(0,c.Z)(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||(0,d.Z)(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||(0,l.Z)(this.primaryColor,{h:30}),this.cScale4=this.cScale4||(0,l.Z)(this.primaryColor,{h:60}),this.cScale5=this.cScale5||(0,l.Z)(this.primaryColor,{h:90}),this.cScale6=this.cScale6||(0,l.Z)(this.primaryColor,{h:120}),this.cScale7=this.cScale7||(0,l.Z)(this.primaryColor,{h:150}),this.cScale8=this.cScale8||(0,l.Z)(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||(0,l.Z)(this.primaryColor,{h:270}),this.cScale10=this.cScale10||(0,l.Z)(this.primaryColor,{h:300}),this.cScale11=this.cScale11||(0,l.Z)(this.primaryColor,{h:330}),this.darkMode)for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,h.Z)(this["cScale"+t],75);else for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,h.Z)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||(0,c.Z)(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this.darkMode?this["cScalePeer"+t]=this["cScalePeer"+t]||(0,d.Z)(this["cScale"+t],10):this["cScalePeer"+t]=this["cScalePeer"+t]||(0,h.Z)(this["cScale"+t],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;const f=this.darkMode?-4:-1;for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||(0,l.Z)(this.mainBkg,{h:180,s:-15,l:f*(5+3*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||(0,l.Z)(this.mainBkg,{h:180,s:-15,l:f*(8+3*t)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||(0,l.Z)(this.primaryColor,{h:64}),this.fillType3=this.fillType3||(0,l.Z)(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||(0,l.Z)(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||(0,l.Z)(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||(0,l.Z)(this.primaryColor,{h:128}),this.fillType7=this.fillType7||(0,l.Z)(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||(0,l.Z)(this.primaryColor,{l:-10}),this.pie5=this.pie5||(0,l.Z)(this.secondaryColor,{l:-10}),this.pie6=this.pie6||(0,l.Z)(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||(0,l.Z)(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||(0,l.Z)(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||(0,l.Z)(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||(0,l.Z)(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||(0,l.Z)(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||(0,l.Z)(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||(0,l.Z)(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||(0,l.Z)(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||(0,l.Z)(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||(0,l.Z)(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||(0,l.Z)(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||(0,l.Z)(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,u.Z)(this.quadrant1Fill)?(0,d.Z)(this.quadrant1Fill):(0,h.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(t=this.xyChart)?void 0:t.backgroundColor)||this.background,titleColor:(null==(e=this.xyChart)?void 0:e.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(i=this.xyChart)?void 0:i.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(r=this.xyChart)?void 0:r.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(n=this.xyChart)?void 0:n.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(s=this.xyChart)?void 0:s.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(a=this.xyChart)?void 0:a.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(o=this.xyChart)?void 0:o.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(p=this.xyChart)?void 0:p.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(g=this.xyChart)?void 0:g.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(y=this.xyChart)?void 0:y.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,h.Z)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||(0,l.Z)(this.primaryColor,{h:-30}),this.git4=this.git4||(0,l.Z)(this.primaryColor,{h:-60}),this.git5=this.git5||(0,l.Z)(this.primaryColor,{h:-90}),this.git6=this.git6||(0,l.Z)(this.primaryColor,{h:60}),this.git7=this.git7||(0,l.Z)(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,d.Z)(this.git0,25),this.git1=(0,d.Z)(this.git1,25),this.git2=(0,d.Z)(this.git2,25),this.git3=(0,d.Z)(this.git3,25),this.git4=(0,d.Z)(this.git4,25),this.git5=(0,d.Z)(this.git5,25),this.git6=(0,d.Z)(this.git6,25),this.git7=(0,d.Z)(this.git7,25)):(this.git0=(0,h.Z)(this.git0,25),this.git1=(0,h.Z)(this.git1,25),this.git2=(0,h.Z)(this.git2,25),this.git3=(0,h.Z)(this.git3,25),this.git4=(0,h.Z)(this.git4,25),this.git5=(0,h.Z)(this.git5,25),this.git6=(0,h.Z)(this.git6,25),this.git7=(0,h.Z)(this.git7,25)),this.gitInv0=this.gitInv0||(0,c.Z)(this.git0),this.gitInv1=this.gitInv1||(0,c.Z)(this.git1),this.gitInv2=this.gitInv2||(0,c.Z)(this.git2),this.gitInv3=this.gitInv3||(0,c.Z)(this.git3),this.gitInv4=this.gitInv4||(0,c.Z)(this.git4),this.gitInv5=this.gitInv5||(0,c.Z)(this.git5),this.gitInv6=this.gitInv6||(0,c.Z)(this.git6),this.gitInv7=this.gitInv7||(0,c.Z)(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||Y,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||j}calculate(t){if("object"!=typeof t)return void this.updateColors();const e=Object.keys(t);e.forEach((e=>{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}};return e.calculate(t),e}},dark:{getThemeVariables:t=>{const e=new class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=(0,d.Z)(this.primaryColor,16),this.tertiaryColor=(0,l.Z)(this.primaryColor,{h:-160}),this.primaryBorderColor=(0,c.Z)(this.background),this.secondaryBorderColor=z(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=z(this.tertiaryColor,this.darkMode),this.primaryTextColor=(0,c.Z)(this.primaryColor),this.secondaryTextColor=(0,c.Z)(this.secondaryColor),this.tertiaryTextColor=(0,c.Z)(this.tertiaryColor),this.lineColor=(0,c.Z)(this.background),this.textColor=(0,c.Z)(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=(0,d.Z)((0,c.Z)("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=(0,p.Z)(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=(0,h.Z)("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=(0,h.Z)(this.sectionBkgColor,10),this.taskBorderColor=(0,p.Z)(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=(0,p.Z)(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=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var t,e,i,r,n,s,a,o,p,g,y;this.secondBkg=(0,d.Z)(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=(0,d.Z)(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=(0,d.Z)(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=(0,l.Z)(this.primaryColor,{h:64}),this.fillType3=(0,l.Z)(this.secondaryColor,{h:64}),this.fillType4=(0,l.Z)(this.primaryColor,{h:-64}),this.fillType5=(0,l.Z)(this.secondaryColor,{h:-64}),this.fillType6=(0,l.Z)(this.primaryColor,{h:128}),this.fillType7=(0,l.Z)(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||(0,l.Z)(this.primaryColor,{h:30}),this.cScale4=this.cScale4||(0,l.Z)(this.primaryColor,{h:60}),this.cScale5=this.cScale5||(0,l.Z)(this.primaryColor,{h:90}),this.cScale6=this.cScale6||(0,l.Z)(this.primaryColor,{h:120}),this.cScale7=this.cScale7||(0,l.Z)(this.primaryColor,{h:150}),this.cScale8=this.cScale8||(0,l.Z)(this.primaryColor,{h:210}),this.cScale9=this.cScale9||(0,l.Z)(this.primaryColor,{h:270}),this.cScale10=this.cScale10||(0,l.Z)(this.primaryColor,{h:300}),this.cScale11=this.cScale11||(0,l.Z)(this.primaryColor,{h:330});for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||(0,c.Z)(this["cScale"+t]);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScalePeer"+t]=this["cScalePeer"+t]||(0,d.Z)(this["cScale"+t],10);for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||(0,l.Z)(this.mainBkg,{h:30,s:-30,l:-(4*t-10)}),this["surfacePeer"+t]=this["surfacePeer"+t]||(0,l.Z)(this.mainBkg,{h:30,s:-30,l:-(4*t-7)});this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["pie"+t]=this["cScale"+t];this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||(0,l.Z)(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||(0,l.Z)(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||(0,l.Z)(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||(0,l.Z)(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||(0,l.Z)(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||(0,l.Z)(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,u.Z)(this.quadrant1Fill)?(0,d.Z)(this.quadrant1Fill):(0,h.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(t=this.xyChart)?void 0:t.backgroundColor)||this.background,titleColor:(null==(e=this.xyChart)?void 0:e.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(i=this.xyChart)?void 0:i.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(r=this.xyChart)?void 0:r.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(n=this.xyChart)?void 0:n.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(s=this.xyChart)?void 0:s.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(a=this.xyChart)?void 0:a.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(o=this.xyChart)?void 0:o.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(p=this.xyChart)?void 0:p.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(g=this.xyChart)?void 0:g.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(y=this.xyChart)?void 0:y.plotColorPalette)||"#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22"},this.classText=this.primaryTextColor,this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?(0,h.Z)(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=(0,d.Z)(this.secondaryColor,20),this.git1=(0,d.Z)(this.pie2||this.secondaryColor,20),this.git2=(0,d.Z)(this.pie3||this.tertiaryColor,20),this.git3=(0,d.Z)(this.pie4||(0,l.Z)(this.primaryColor,{h:-30}),20),this.git4=(0,d.Z)(this.pie5||(0,l.Z)(this.primaryColor,{h:-60}),20),this.git5=(0,d.Z)(this.pie6||(0,l.Z)(this.primaryColor,{h:-90}),10),this.git6=(0,d.Z)(this.pie7||(0,l.Z)(this.primaryColor,{h:60}),10),this.git7=(0,d.Z)(this.pie8||(0,l.Z)(this.primaryColor,{h:120}),20),this.gitInv0=this.gitInv0||(0,c.Z)(this.git0),this.gitInv1=this.gitInv1||(0,c.Z)(this.git1),this.gitInv2=this.gitInv2||(0,c.Z)(this.git2),this.gitInv3=this.gitInv3||(0,c.Z)(this.git3),this.gitInv4=this.gitInv4||(0,c.Z)(this.git4),this.gitInv5=this.gitInv5||(0,c.Z)(this.git5),this.gitInv6=this.gitInv6||(0,c.Z)(this.git6),this.gitInv7=this.gitInv7||(0,c.Z)(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||(0,c.Z)(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||(0,c.Z)(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||(0,d.Z)(this.background,12),this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||(0,d.Z)(this.background,2)}calculate(t){if("object"!=typeof t)return void this.updateColors();const e=Object.keys(t);e.forEach((e=>{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}};return e.calculate(t),e}},default:{getThemeVariables:W},forest:{getThemeVariables:t=>{const e=new 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=(0,d.Z)("#cde498",10),this.primaryBorderColor=z(this.primaryColor,this.darkMode),this.secondaryBorderColor=z(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=z(this.tertiaryColor,this.darkMode),this.primaryTextColor=(0,c.Z)(this.primaryColor),this.secondaryTextColor=(0,c.Z)(this.secondaryColor),this.tertiaryTextColor=(0,c.Z)(this.primaryColor),this.lineColor=(0,c.Z)(this.background),this.textColor=(0,c.Z)(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=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var t,e,i,r,n,s,a,o,p,g,y;this.actorBorder=(0,h.Z)(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||(0,l.Z)(this.primaryColor,{h:30}),this.cScale4=this.cScale4||(0,l.Z)(this.primaryColor,{h:60}),this.cScale5=this.cScale5||(0,l.Z)(this.primaryColor,{h:90}),this.cScale6=this.cScale6||(0,l.Z)(this.primaryColor,{h:120}),this.cScale7=this.cScale7||(0,l.Z)(this.primaryColor,{h:150}),this.cScale8=this.cScale8||(0,l.Z)(this.primaryColor,{h:210}),this.cScale9=this.cScale9||(0,l.Z)(this.primaryColor,{h:270}),this.cScale10=this.cScale10||(0,l.Z)(this.primaryColor,{h:300}),this.cScale11=this.cScale11||(0,l.Z)(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||(0,h.Z)(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||(0,h.Z)(this.tertiaryColor,40);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScale"+t]=(0,h.Z)(this["cScale"+t],10),this["cScalePeer"+t]=this["cScalePeer"+t]||(0,h.Z)(this["cScale"+t],25);for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleInv"+t]=this["cScaleInv"+t]||(0,l.Z)(this["cScale"+t],{h:180});this.scaleLabelColor="calculated"!==this.scaleLabelColor&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor;for(let t=0;t<this.THEME_COLOR_LIMIT;t++)this["cScaleLabel"+t]=this["cScaleLabel"+t]||this.scaleLabelColor;for(let t=0;t<5;t++)this["surface"+t]=this["surface"+t]||(0,l.Z)(this.mainBkg,{h:30,s:-30,l:-(5+5*t)}),this["surfacePeer"+t]=this["surfacePeer"+t]||(0,l.Z)(this.mainBkg,{h:30,s:-30,l:-(8+5*t)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.taskBorderColor=this.border1,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=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||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=(0,l.Z)(this.primaryColor,{h:64}),this.fillType3=(0,l.Z)(this.secondaryColor,{h:64}),this.fillType4=(0,l.Z)(this.primaryColor,{h:-64}),this.fillType5=(0,l.Z)(this.secondaryColor,{h:-64}),this.fillType6=(0,l.Z)(this.primaryColor,{h:128}),this.fillType7=(0,l.Z)(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||(0,l.Z)(this.primaryColor,{l:-30}),this.pie5=this.pie5||(0,l.Z)(this.secondaryColor,{l:-30}),this.pie6=this.pie6||(0,l.Z)(this.tertiaryColor,{h:40,l:-40}),this.pie7=this.pie7||(0,l.Z)(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||(0,l.Z)(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||(0,l.Z)(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||(0,l.Z)(this.primaryColor,{h:60,l:-50}),this.pie11=this.pie11||(0,l.Z)(this.primaryColor,{h:-60,l:-50}),this.pie12=this.pie12||(0,l.Z)(this.primaryColor,{h:120,l:-50}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||(0,l.Z)(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||(0,l.Z)(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||(0,l.Z)(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||(0,l.Z)(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||(0,l.Z)(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||(0,l.Z)(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||(0,u.Z)(this.quadrant1Fill)?(0,d.Z)(this.quadrant1Fill):(0,h.Z)(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(t=this.xyChart)?void 0:t.backgroundColor)||this.background,titleColor:(null==(e=this.xyChart)?void 0:e.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(i=this.xyChart)?void 0:i.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(r=this.xyChart)?void 0:r.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(n=this.xyChart)?void 0:n.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(s=this.xyChart)?void 0:s.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(a=this.xyChart)?void 0:a.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(o=this.xyChart)?void 0:o.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(p=this.xyChart)?void 0:p.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(g=this.xyChart)?void 0:g.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(y=this.xyChart)?void 0:y.plotColorPalette)||"#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||(0,l.Z)(this.primaryColor,{h:-30}),this.git4=this.git4||(0,l.Z)(this.primaryColor,{h:-60}),this.git5=this.git5||(0,l.Z)(this.primaryColor,{h:-90}),this.git6=this.git6||(0,l.Z)(this.primaryColor,{h:60}),this.git7=this.git7||(0,l.Z)(this.primaryColor,{h:120}),this.darkMode?(this.git0=(0,d.Z)(this.git0,25),this.git1=(0,d.Z)(this.git1,25),this.git2=(0,d.Z)(this.git2,25),this.git3=(0,d.Z)(this.git3,25),this.git4=(0,d.Z)(this.git4,25),this.git5=(0,d.Z)(this.git5,25),this.git6=(0,d.Z)(this.git6,25),this.git7=(0,d.Z)(this.git7,25)):(this.git0=(0,h.Z)(this.git0,25),this.git1=(0,h.Z)(this.git1,25),this.git2=(0,h.Z)(this.git2,25),this.git3=(0,h.Z)(this.git3,25),this.git4=(0,h.Z)(this.git4,25),this.git5=(0,h.Z)(this.git5,25),this.git6=(0,h.Z)(this.git6,25),this.git7=(0,h.Z)(this.git7,25)),this.gitInv0=this.gitInv0||(0,c.Z)(this.git0),this.gitInv1=this.gitInv1||(0,c.Z)(this.git1),this.gitInv2=this.gitInv2||(0,c.Z)(this.git2),this.gitInv3=this.gitInv3||(0,c.Z)(this.git3),this.gitInv4=this.gitInv4||(0,c.Z)(this.git4),this.gitInv5=this.gitInv5||(0,c.Z)(this.git5),this.gitInv6=this.gitInv6||(0,c.Z)(this.git6),this.gitInv7=this.gitInv7||(0,c.Z)(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||(0,c.Z)(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||(0,c.Z)(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||Y,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||j}calculate(t){if("object"!=typeof t)return void this.updateColors();const e=Object.keys(t);e.forEach((e=>{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}};return e.calculate(t),e}},neutral:{getThemeVariables:t=>{const e=new Z;return e.calculate(t),e}}},H={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,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,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},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,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"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,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,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{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},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,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},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,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,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"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},theme:"default",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","maxEdges"],legacyMathML:!1,deterministicIds:!1,fontSize:16},V={...H,deterministicIDSeed:void 0,themeCSS:void 0,themeVariables:U.default.getThemeVariables(),sequence:{...H.sequence,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:{...H.gantt,tickInterval:void 0,useWidth:void 0},c4:{...H.c4,useWidth:void 0,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}}},pie:{...H.pie,useWidth:984},xyChart:{...H.xyChart,useWidth:void 0},requirement:{...H.requirement,useWidth:void 0},gitGraph:{...H.gitGraph,useMaxWidth:!1},sankey:{...H.sankey,useMaxWidth:!1}},X=(t,e="")=>Object.keys(t).reduce(((i,r)=>Array.isArray(t[r])?i:"object"==typeof t[r]&&null!==t[r]?[...i,e+r,...X(t[r],"")]:[...i,e+r]),[]),G=new Set(X(V,"")),K=V,Q=t=>{if(k.debug("sanitizeDirective called with",t),"object"==typeof t&&null!=t)if(Array.isArray(t))t.forEach((t=>Q(t)));else{for(const e of Object.keys(t)){if(k.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!G.has(e)||null==t[e]){k.debug("sanitize deleting key: ",e),delete t[e];continue}if("object"==typeof t[e]){k.debug("sanitizing object",e),Q(t[e]);continue}const i=["themeCSS","fontFamily","altFontFamily"];for(const r of i)e.includes(r)&&(k.debug("sanitizing css option",e),t[e]=J(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const i=t.themeVariables[e];(null==i?void 0:i.match)&&!i.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}k.debug("After sanitization",t)}},J=t=>{let e=0,i=0;for(const r of t){if(e<i)return"{ /* ERROR: Unbalanced CSS */ }";"{"===r?e++:"}"===r&&i++}return e!==i?"{ /* ERROR: Unbalanced CSS */ }":t},tt=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,et=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,it=/\s*%%.*\n/gm;class rt extends Error{constructor(t){super(t),this.name="UnknownDiagramError"}}const nt={},st=function(t,e){t=t.replace(tt,"").replace(et,"").replace(it,"\n");for(const[i,{detector:r}]of Object.entries(nt)){if(r(t,e))return i}throw new rt(`No diagram type detected matching given configuration for text: ${t}`)},at=(...t)=>{for(const{id:e,detector:i,loader:r}of t)ot(e,i,r)},ot=(t,e,i)=>{nt[t]?k.error(`Detector with key ${t} already exists`):nt[t]={detector:e,loader:i},k.debug(`Detector with key ${t} added${i?" with loader":""}`)},lt=(t,e,{depth:i=2,clobber:r=!1}={})=>{const n={depth:i,clobber:r};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach((e=>lt(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]=lt(t[n],e[n],{depth:i-1,clobber:r}))})),t)},ct=lt,ht="​",dt={curveBasis:a.$0Z,curveBasisClosed:a.Dts,curveBasisOpen:a.WQY,curveBumpX:a.qpX,curveBumpY:a.u93,curveBundle:a.tFB,curveCardinalClosed:a.OvA,curveCardinalOpen:a.dCK,curveCardinal:a.YY7,curveCatmullRomClosed:a.fGX,curveCatmullRomOpen:a.$m7,curveCatmullRom:a.zgE,curveLinear:a.c_6,curveLinearClosed:a.fxm,curveMonotoneX:a.FdL,curveMonotoneY:a.ak_,curveNatural:a.SxZ,curveStep:a.eA_,curveStepAfter:a.jsv,curveStepBefore:a.iJ},ut=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,pt=function(t,e=null){try{const i=new RegExp(`[%]{2}(?![{]${ut.source})(?=[}][%]{2}).*\n`,"ig");let r;t=t.trim().replace(i,"").replace(/'/gm,'"'),k.debug(`Detecting diagram directive${null!==e?" type:"+e:""} based on the text:${t}`);const n=[];for(;null!==(r=et.exec(t));)if(r.index===et.lastIndex&&et.lastIndex++,r&&!e||e&&r[1]&&r[1].match(e)||e&&r[2]&&r[2].match(e)){const t=r[1]?r[1]:r[2],e=r[3]?r[3].trim():r[4]?JSON.parse(r[4].trim()):null;n.push({type:t,args:e})}return 0===n.length?{type:t,args:null}:1===n.length?n[0]:n}catch(i){return k.error(`ERROR: ${i.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}};function gt(t,e){if(!t)return e;const i=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return dt[i]??e}function yt(t,e){return t&&e?Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)):0}const ft=(t,e=2)=>{const i=Math.pow(10,e);return Math.round(t*i)/i},mt=(t,e)=>{let i,r=e;for(const e of t){if(i){const t=yt(e,i);if(t<r)r-=t;else{const n=r/t;if(n<=0)return i;if(n>=1)return{x:e.x,y:e.y};if(n>0&&n<1)return{x:ft((1-n)*i.x+n*e.x,5),y:ft((1-n)*i.y+n*e.y,5)}}}i=e}throw new Error("Could not find a suitable point for the given distance")};function xt(t){let e="",i="";for(const r of t)void 0!==r&&(r.startsWith("color:")||r.startsWith("text-align:")?i=i+r+";":e=e+r+";");return{style:e,labelStyle:i}}let bt=0;const kt=()=>(bt++,"id-"+Math.random().toString(36).substr(2,12)+"-"+bt);const _t=t=>function(t){let e="";const i="0123456789abcdef";for(let r=0;r<t;r++)e+=i.charAt(Math.floor(16*Math.random()));return e}(t.length),Tt=function(t,e){const i=e.text.replace(q.lineBreakRegex," "),[,r]=Bt(e.fontSize),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.style("text-anchor",e.anchor),n.style("font-family",e.fontFamily),n.style("font-size",r),n.style("font-weight",e.fontWeight),n.attr("fill",e.fill),void 0!==e.class&&n.attr("class",e.class);const s=n.append("tspan");return s.attr("x",e.x+2*e.textMargin),s.attr("fill",e.fill),s.text(i),n},Ct=(0,g.Z)(((t,e,i)=>{if(!t)return t;if(i=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},i),q.lineBreakRegex.test(t))return t;const r=t.split(" "),n=[];let s="";return r.forEach(((t,a)=>{const o=wt(`${t} `,i),l=wt(s,i);if(o>e){const{hyphenatedStrings:r,remainingWord:a}=Et(t,e,"-",i);n.push(s,...r),s=a}else l+o>=e?(n.push(s),s=t):s=[s,t].filter(Boolean).join(" ");a+1===r.length&&n.push(s)})),n.filter((t=>""!==t)).join(i.joinWith)}),((t,e,i)=>`${t}${e}${i.fontSize}${i.fontWeight}${i.fontFamily}${i.joinWith}`)),Et=(0,g.Z)(((t,e,i="-",r)=>{r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},r);const n=[...t],s=[];let a="";return n.forEach(((t,o)=>{const l=`${a}${t}`;if(wt(l,r)>=e){const t=o+1,e=n.length===t,r=`${l}${i}`;s.push(e?l:r),a=""}else a=l})),{hyphenatedStrings:s,remainingWord:a}}),((t,e,i="-",r)=>`${t}${e}${i}${r.fontSize}${r.fontWeight}${r.fontFamily}`));function St(t,e){return vt(t,e).height}function wt(t,e){return vt(t,e).width}const vt=(0,g.Z)(((t,e)=>{const{fontSize:i=12,fontFamily:r="Arial",fontWeight:n=400}=e;if(!t)return{width:0,height:0};const[,s]=Bt(i),o=["sans-serif",r],l=t.split(q.lineBreakRegex),c=[],h=(0,a.Ys)("body");if(!h.remove)return{width:0,height:0,lineHeight:0};const d=h.append("svg");for(const t of o){let e=0;const i={width:0,height:0,lineHeight:0};for(const r of l){const a={x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""};a.text=r||ht;const o=Tt(d,a).style("font-size",s).style("font-weight",n).style("font-family",t),l=(o._groups||o)[0][0].getBBox();if(0===l.width&&0===l.height)throw new Error("svg element not in render tree");i.width=Math.round(Math.max(i.width,l.width)),e=Math.round(l.height),i.height+=e,i.lineHeight=Math.round(Math.max(i.lineHeight,e))}c.push(i)}d.remove();return 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 At;function Lt(t){return"str"in t}const Bt=t=>{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]};function It(t,e){return(0,y.Z)({},t,e)}const Dt={assignWithDepth:ct,wrapLabel:Ct,calculateTextHeight:St,calculateTextWidth:wt,calculateTextDimensions:vt,cleanAndMerge:It,detectInit:function(t,e){const i=pt(t,/(?:init\b)|(?:initialize\b)/);let r={};if(Array.isArray(i)){const t=i.map((t=>t.args));Q(t),r=ct(r,[...t])}else r=i.args;if(!r)return;let n=st(t,e);const s="config";return void 0!==r[s]&&("flowchart-v2"===n&&(n="flowchart"),r[n]=r[s],delete r[s]),r},detectDirective:pt,isSubstringInArray:function(t,e){for(const[i,r]of e.entries())if(r.match(t))return i;return-1},interpolateToCurve:gt,calcLabelPosition:function(t){return 1===t.length?t[0]:function(t){let e,i=0;return t.forEach((t=>{i+=yt(t,e),e=t})),mt(t,i/2)}(t)},calcCardinalityPosition:(t,e,i)=>{k.info(`our points ${JSON.stringify(e)}`),e[0]!==i&&(e=e.reverse());const r=mt(e,25),n=t?10:5,s=Math.atan2(e[0].y-r.y,e[0].x-r.x),a={x:0,y:0};return a.x=Math.sin(s)*n+(e[0].x+r.x)/2,a.y=-Math.cos(s)*n+(e[0].y+r.y)/2,a},calcTerminalLabelPosition:function(t,e,i){const r=structuredClone(i);k.info("our points",r),"start_left"!==e&&"start_right"!==e&&r.reverse();const n=mt(r,25+t),s=10+.5*t,a=Math.atan2(r[0].y-n.y,r[0].x-n.x),o={x:0,y:0};return"start_left"===e?(o.x=Math.sin(a+Math.PI)*s+(r[0].x+n.x)/2,o.y=-Math.cos(a+Math.PI)*s+(r[0].y+n.y)/2):"end_right"===e?(o.x=Math.sin(a-Math.PI)*s+(r[0].x+n.x)/2-5,o.y=-Math.cos(a-Math.PI)*s+(r[0].y+n.y)/2-5):"end_left"===e?(o.x=Math.sin(a)*s+(r[0].x+n.x)/2-5,o.y=-Math.cos(a)*s+(r[0].y+n.y)/2-5):(o.x=Math.sin(a)*s+(r[0].x+n.x)/2,o.y=-Math.cos(a)*s+(r[0].y+n.y)/2),o},formatUrl:function(t,e){const i=t.trim();if(i)return"loose"!==e.securityLevel?(0,s.N)(i):i},getStylesFromArray:xt,generateId:kt,random:_t,runFunc:(t,...e)=>{const i=t.split("."),r=i.length-1,n=i[r];let s=window;for(let e=0;e<r;e++)if(s=s[i[e]],!s)return void k.error(`Function name: ${t} not found in window`);s[n](...e)},entityDecode:function(t){return At=At||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),At.innerHTML=t,unescape(At.textContent)},insertTitle:(t,e,i,r)=>{var n;if(!r)return;const s=null==(n=t.node())?void 0:n.getBBox();s&&t.append("text").text(r).attr("x",s.x+s.width/2).attr("y",-i).attr("class",e)},parseFontSize:Bt,InitIDGenerator:class{constructor(t=!1,e){this.count=0,this.count=e?e.length:0,this.next=t?()=>this.count++:()=>Date.now()}}},$t=function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},Ft="10.9.0",Ot=Object.freeze(K);let Nt,Rt=ct({},Ot),Mt=[],Pt=ct({},Ot);const qt=(t,e)=>{let i=ct({},t),r={};for(const t of e)Wt(t),r=ct(r,t);if(i=ct(i,r),r.theme&&r.theme in U){const t=ct({},Nt),e=ct(t.themeVariables||{},r.themeVariables);i.theme&&i.theme in U&&(i.themeVariables=U[i.theme].getThemeVariables(e))}return Pt=i,Xt(Pt),Pt},zt=()=>ct({},Rt),Yt=t=>(Xt(t),ct(Pt,t),jt()),jt=()=>ct({},Pt),Wt=t=>{t&&(["secure",...Rt.secure??[]].forEach((e=>{Object.hasOwn(t,e)&&(k.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])})),Object.keys(t).forEach((e=>{e.startsWith("__")&&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]&&Wt(t[e])})))},Zt=t=>{Q(t),!t.fontFamily||t.themeVariables&&t.themeVariables.fontFamily||(t.themeVariables={fontFamily:t.fontFamily}),Mt.push(t),qt(Rt,Mt)},Ut=(t=Rt)=>{Mt=[],qt(t,Mt)},Ht={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},Vt={},Xt=t=>{var e;t&&((t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&(Vt[e="LAZY_LOAD_DEPRECATED"]||(k.warn(Ht[e]),Vt[e]=!0)))},Gt={id:"c4",detector:t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),loader:async()=>{const{diagram:t}=await i.e("mermaid").then(i.bind(i,60420));return{id:"c4",diagram:t}}},Kt="flowchart",Qt={id:Kt,detector:(t,e)=>{var i,r;return"dagre-wrapper"!==(null==(i=null==e?void 0:e.flowchart)?void 0:i.defaultRenderer)&&"elk"!==(null==(r=null==e?void 0:e.flowchart)?void 0:r.defaultRenderer)&&/^\s*graph/.test(t)},loader:async()=>{const{diagram:t}=await Promise.all([i.e("mermaid"),i.e("vendors-node_modules_dagre-d3-es_src_dagre_index_js"),i.e("vendors-node_modules_mdast-util-from-markdown_lib_index_js"),i.e("node_modules_dagre-d3-es_src_graphlib_json_js-node_modules_dagre-d3-es_src_index_js-node_modu-e535e5")]).then(i.bind(i,76939));return{id:Kt,diagram:t}}},Jt="flowchart-v2",te={id:Jt,detector:(t,e)=>{var i,r,n;return"dagre-d3"!==(null==(i=null==e?void 0:e.flowchart)?void 0:i.defaultRenderer)&&"elk"!==(null==(r=null==e?void 0:e.flowchart)?void 0:r.defaultRenderer)&&(!(!/^\s*graph/.test(t)||"dagre-wrapper"!==(null==(n=null==e?void 0:e.flowchart)?void 0:n.defaultRenderer))||/^\s*flowchart/.test(t))},loader:async()=>{const{diagram:t}=await Promise.all([i.e("mermaid"),i.e("vendors-node_modules_dagre-d3-es_src_dagre_index_js"),i.e("vendors-node_modules_mdast-util-from-markdown_lib_index_js"),i.e("node_modules_dagre-d3-es_src_dagre-js_label_add-html-label_js-node_modules_dagre-d3-es_src_gr-77e053")]).then(i.bind(i,36295));return{id:Jt,diagram:t}}},ee={id:"er",detector:t=>/^\s*erDiagram/.test(t),loader:async()=>{const{diagram:t}=await Promise.all([i.e("mermaid"),i.e("vendors-node_modules_dagre-d3-es_src_dagre_index_js"),i.e("node_modules_uuid_dist_esm-browser_v5_js")]).then(i.bind(i,88393));return{id:"er",diagram:t}}},ie="gitGraph",re={id:ie,detector:t=>/^\s*gitGraph/.test(t),loader:async()=>{const{diagram:t}=await i.e("mermaid").then(i.bind(i,90258));return{id:ie,diagram:t}}},ne="gantt",se={id:ne,detector:t=>/^\s*gantt/.test(t),loader:async()=>{const{diagram:t}=await Promise.all([i.e("mermaid"),i.e("node_modules_dayjs_plugin_advancedFormat_js-node_modules_dayjs_plugin_customParseFormat_js-no-96543d")]).then(i.bind(i,67988));return{id:ne,diagram:t}}},ae="info",oe={id:ae,detector:t=>/^\s*info/.test(t),loader:async()=>{const{diagram:t}=await i.e("mermaid").then(i.bind(i,5718));return{id:ae,diagram:t}}},le={id:"pie",detector:t=>/^\s*pie/.test(t),loader:async()=>{const{diagram:t}=await i.e("mermaid").then(i.bind(i,52309));return{id:"pie",diagram:t}}},ce="quadrantChart",he={id:ce,detector:t=>/^\s*quadrantChart/.test(t),loader:async()=>{const{diagram:t}=await i.e("mermaid").then(i.bind(i,81517));return{id:ce,diagram:t}}},de="xychart",ue={id:de,detector:t=>/^\s*xychart-beta/.test(t),loader:async()=>{const{diagram:t}=await Promise.all([i.e("mermaid"),i.e("vendors-node_modules_mdast-util-from-markdown_lib_index_js")]).then(i.bind(i,73739));return{id:de,diagram:t}}},pe="requirement",ge={id:pe,detector:t=>/^\s*requirement(Diagram)?/.test(t),loader:async()=>{const{diagram:t}=await Promise.all([i.e("mermaid"),i.e("vendors-node_modules_dagre-d3-es_src_dagre_index_js")]).then(i.bind(i,99703));return{id:pe,diagram:t}}},ye="sequence",fe={id:ye,detector:t=>/^\s*sequenceDiagram/.test(t),loader:async()=>{const{diagram:t}=await i.e("mermaid").then(i.bind(i,45282));return{id:ye,diagram:t}}},me="class",xe={id:me,detector:(t,e)=>{var i;return"dagre-wrapper"!==(null==(i=null==e?void 0:e.class)?void 0:i.defaultRenderer)&&/^\s*classDiagram/.test(t)},loader:async()=>{const{diagram:t}=await Promise.all([i.e("mermaid"),i.e("vendors-node_modules_dagre-d3-es_src_dagre_index_js")]).then(i.bind(i,96466));return{id:me,diagram:t}}},be="classDiagram",ke={id:be,detector:(t,e)=>{var i;return!(!/^\s*classDiagram/.test(t)||"dagre-wrapper"!==(null==(i=null==e?void 0:e.class)?void 0:i.defaultRenderer))||/^\s*classDiagram-v2/.test(t)},loader:async()=>{const{diagram:t}=await Promise.all([i.e("mermaid"),i.e("vendors-node_modules_dagre-d3-es_src_dagre_index_js"),i.e("vendors-node_modules_mdast-util-from-markdown_lib_index_js"),i.e("node_modules_dagre-d3-es_src_graphlib_json_js-_33010")]).then(i.bind(i,34082));return{id:be,diagram:t}}},_e="state",Te={id:_e,detector:(t,e)=>{var i;return"dagre-wrapper"!==(null==(i=null==e?void 0:e.state)?void 0:i.defaultRenderer)&&/^\s*stateDiagram/.test(t)},loader:async()=>{const{diagram:t}=await Promise.all([i.e("mermaid"),i.e("vendors-node_modules_dagre-d3-es_src_dagre_index_js")]).then(i.bind(i,27651));return{id:_e,diagram:t}}},Ce="stateDiagram",Ee={id:Ce,detector:(t,e)=>{var i;return!!/^\s*stateDiagram-v2/.test(t)||!(!/^\s*stateDiagram/.test(t)||"dagre-wrapper"!==(null==(i=null==e?void 0:e.state)?void 0:i.defaultRenderer))},loader:async()=>{const{diagram:t}=await Promise.all([i.e("mermaid"),i.e("vendors-node_modules_dagre-d3-es_src_dagre_index_js"),i.e("vendors-node_modules_mdast-util-from-markdown_lib_index_js"),i.e("node_modules_dagre-d3-es_src_graphlib_json_js-_33011")]).then(i.bind(i,81728));return{id:Ce,diagram:t}}},Se="journey",we={id:Se,detector:t=>/^\s*journey/.test(t),loader:async()=>{const{diagram:t}=await i.e("mermaid").then(i.bind(i,216));return{id:Se,diagram:t}}},ve=function(t,e,i,r){const n=function(t,e,i){let r=new Map;return i?(r.set("width","100%"),r.set("style",`max-width: ${e}px;`)):(r.set("height",t),r.set("width",e)),r}(e,i,r);!function(t,e){for(let i of e)t.attr(i[0],i[1])}(t,n)},Ae=function(t,e,i,r){const n=e.node().getBBox(),s=n.width,a=n.height;k.info(`SVG bounds: ${s}x${a}`,n);let o=0,l=0;k.info(`Graph bounds: ${o}x${l}`,t),o=s+2*i,l=a+2*i,k.info(`Calculated bounds: ${o}x${l}`),ve(e,l,o,r);const c=`${n.x-i} ${n.y-i} ${n.width+2*i} ${n.height+2*i}`;e.attr("viewBox",c)},Le={},Be=(t,e,i)=>{let r="";return t in Le&&Le[t]?r=Le[t](i):k.warn(`No theme found for ${t}`),` & {\n font-family: ${i.fontFamily};\n font-size: ${i.fontSize};\n fill: ${i.textColor}\n }\n\n /* Classes common for multiple diagrams */\n\n & .error-icon {\n fill: ${i.errorBkgColor};\n }\n & .error-text {\n fill: ${i.errorTextColor};\n stroke: ${i.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: ${i.lineColor};\n stroke: ${i.lineColor};\n }\n & .marker.cross {\n stroke: ${i.lineColor};\n }\n\n & svg {\n font-family: ${i.fontFamily};\n font-size: ${i.fontSize};\n }\n\n ${r}\n\n ${e}\n`};let Ie="",De="",$e="";const Fe=t=>v(t,jt()),Oe=()=>{Ie="",$e="",De=""},Ne=t=>{Ie=Fe(t).replace(/^\s+/g,"")},Re=()=>Ie,Me=t=>{$e=Fe(t).replace(/\n\s+/g,"\n")},Pe=()=>$e,qe=t=>{De=Fe(t)},ze=()=>De,Ye=Object.freeze(Object.defineProperty({__proto__:null,clear:Oe,getAccDescription:Pe,getAccTitle:Re,getDiagramTitle:ze,setAccDescription:Me,setAccTitle:Ne,setDiagramTitle:qe},Symbol.toStringTag,{value:"Module"})),je=k,We=_,Ze=jt,Ue=Yt,He=Ot,Ve=t=>v(t,Ze()),Xe=Ae,Ge={},Ke=(t,e,i)=>{var r,n,s;if(Ge[t])throw new Error(`Diagram ${t} already registered.`);Ge[t]=e,i&&ot(t,i),n=t,void 0!==(s=e.styles)&&(Le[n]=s),null==(r=e.injectUtils)||r.call(e,je,We,Ze,Ve,Xe,Ye,(()=>{}))},Qe=t=>{if(t in Ge)return Ge[t];throw new Je(t)};class Je extends Error{constructor(t){super(`Diagram ${t} not found.`)}}const ti=t=>{var e;const{securityLevel:i}=Ze();let r=(0,a.Ys)("body");if("sandbox"===i){const i=(null==(e=(0,a.Ys)(`#i${t}`).node())?void 0:e.contentDocument)??document;r=(0,a.Ys)(i.body)}return r.select(`#${t}`)},ei={draw:(t,e,i)=>{k.debug("rendering svg for syntax error\n");const r=ti(e),n=r.append("g");r.attr("viewBox","0 0 2412 512"),ve(r,100,512,!0),n.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"),n.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"),n.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"),n.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"),n.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"),n.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"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${i}`)}},ii=ei,ri={db:{},renderer:ei,parser:{parser:{yy:{}},parse:()=>{}}},ni="flowchart-elk",si={id:ni,detector:(t,e)=>{var i;return!!(/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&"elk"===(null==(i=null==e?void 0:e.flowchart)?void 0:i.defaultRenderer))},loader:async()=>{const{diagram:t}=await Promise.all([i.e("mermaid"),i.e("vendors-node_modules_mdast-util-from-markdown_lib_index_js"),i.e("vendors-node_modules_elkjs_lib_elk_bundled_js")]).then(i.bind(i,6256));return{id:ni,diagram:t}}},ai="timeline",oi={id:ai,detector:t=>/^\s*timeline/.test(t),loader:async()=>{const{diagram:t}=await i.e("mermaid").then(i.bind(i,90959));return{id:ai,diagram:t}}},li="mindmap",ci={id:li,detector:t=>/^\s*mindmap/.test(t),loader:async()=>{const{diagram:t}=await Promise.all([i.e("mermaid"),i.e("vendors-node_modules_mdast-util-from-markdown_lib_index_js"),i.e("vendors-node_modules_cytoscape-cose-bilkent_cytoscape-cose-bilkent_js-node_modules_cytoscape_-439e91")]).then(i.bind(i,89202));return{id:li,diagram:t}}},hi="sankey",di={id:hi,detector:t=>/^\s*sankey-beta/.test(t),loader:async()=>{const{diagram:t}=await Promise.all([i.e("mermaid"),i.e("node_modules_d3-sankey_src_sankey_js-node_modules_d3-sankey_src_sankeyLinkHorizontal_js")]).then(i.bind(i,34335));return{id:hi,diagram:t}}},ui="block",pi={id:ui,detector:t=>/^\s*block-beta/.test(t),loader:async()=>{const{diagram:t}=await Promise.all([i.e("mermaid"),i.e("vendors-node_modules_mdast-util-from-markdown_lib_index_js"),i.e("node_modules_dagre-d3-es_src_graphlib_index_js-node_modules_khroma_dist_methods_channel_js-no-824696")]).then(i.bind(i,17982));return{id:ui,diagram:t}}};let gi=!1;const yi=()=>{gi||(gi=!0,Ke("error",ri,(t=>"error"===t.toLowerCase().trim())),Ke("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},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 un-indented `---` blocks")}},init:()=>null},(t=>t.toLowerCase().trimStart().startsWith("---"))),at(Gt,ke,xe,ee,se,oe,le,ge,fe,si,te,Qt,ci,oi,re,Ee,Te,we,he,di,ue,pi))};class fi{constructor(t,e={}){this.text=t,this.metadata=e,this.type="graph",this.text=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}(t),this.text+="\n";const i=jt();try{this.type=st(t,i)}catch(t){this.type="error",this.detectError=t}const r=Qe(this.type);k.debug("Type "+this.type),this.db=r.db,this.renderer=r.renderer,this.parser=r.parser,this.parser.parser.yy=this.db,this.init=r.init,this.parse()}parse(){var t,e,i,r,n;if(this.detectError)throw this.detectError;null==(e=(t=this.db).clear)||e.call(t);const s=jt();null==(i=this.init)||i.call(this,s),this.metadata.title&&(null==(n=(r=this.db).setDiagramTitle)||n.call(r,this.metadata.title)),this.parser.parse(this.text)}async render(t,e){await this.renderer.draw(this.text,t,e,this)}getParser(){return this.parser}getType(){return this.type}}const mi=async(t,e={})=>{const i=st(t,jt());try{Qe(i)}catch(t){const e=nt[i].loader;if(!e)throw new rt(`Diagram ${i} not found.`);const{id:r,diagram:n}=await e();Ke(r,n)}return new fi(t,e)};let xi=[];const bi="graphics-document document";const ki=t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();function _i(t){return null==t}var Ti={isNothing:_i,isObject:function(t){return"object"==typeof t&&null!==t},toArray:function(t){return Array.isArray(t)?t:_i(t)?[]:[t]},repeat:function(t,e){var i,r="";for(i=0;i<e;i+=1)r+=t;return r},isNegativeZero:function(t){return 0===t&&Number.NEGATIVE_INFINITY===1/t},extend:function(t,e){var i,r,n,s;if(e)for(i=0,r=(s=Object.keys(e)).length;i<r;i+=1)t[n=s[i]]=e[n];return t}};function Ci(t,e){var i="",r=t.reason||"(unknown reason)";return t.mark?(t.mark.name&&(i+='in "'+t.mark.name+'" '),i+="("+(t.mark.line+1)+":"+(t.mark.column+1)+")",!e&&t.mark.snippet&&(i+="\n\n"+t.mark.snippet),r+" "+i):r}function Ei(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=Ci(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}Ei.prototype=Object.create(Error.prototype),Ei.prototype.constructor=Ei,Ei.prototype.toString=function(t){return this.name+": "+Ci(this,t)};var Si=Ei;function wi(t,e,i,r,n){var s="",a="",o=Math.floor(n/2)-1;return r-e>o&&(e=r-o+(s=" ... ").length),i-r>o&&(i=r+o-(a=" ...").length),{str:s+t.slice(e,i).replace(/\t/g,"→")+a,pos:r-e+s.length}}function vi(t,e){return Ti.repeat(" ",e-t.length)+t}var Ai=function(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 i,r=/\r?\n|\r|\0/g,n=[0],s=[],a=-1;i=r.exec(t.buffer);)s.push(i.index),n.push(i.index+i[0].length),t.position<=i.index&&a<0&&(a=n.length-2);a<0&&(a=n.length-1);var o,l,c="",h=Math.min(t.line+e.linesAfter,s.length).toString().length,d=e.maxLength-(e.indent+h+3);for(o=1;o<=e.linesBefore&&!(a-o<0);o++)l=wi(t.buffer,n[a-o],s[a-o],t.position-(n[a]-n[a-o]),d),c=Ti.repeat(" ",e.indent)+vi((t.line-o+1).toString(),h)+" | "+l.str+"\n"+c;for(l=wi(t.buffer,n[a],s[a],t.position,d),c+=Ti.repeat(" ",e.indent)+vi((t.line+1).toString(),h)+" | "+l.str+"\n",c+=Ti.repeat("-",e.indent+h+3+l.pos)+"^\n",o=1;o<=e.linesAfter&&!(a+o>=s.length);o++)l=wi(t.buffer,n[a+o],s[a+o],t.position-(n[a]-n[a+o]),d),c+=Ti.repeat(" ",e.indent)+vi((t.line+o+1).toString(),h)+" | "+l.str+"\n";return c.replace(/\n$/,"")},Li=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Bi=["scalar","sequence","mapping"];var Ii=function(t,e){var i,r;if(e=e||{},Object.keys(e).forEach((function(e){if(-1===Li.indexOf(e))throw new Si('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=(i=e.styleAliases||null,r={},null!==i&&Object.keys(i).forEach((function(t){i[t].forEach((function(e){r[String(e)]=t}))})),r),-1===Bi.indexOf(this.kind))throw new Si('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')};function Di(t,e){var i=[];return t[e].forEach((function(t){var e=i.length;i.forEach((function(i,r){i.tag===t.tag&&i.kind===t.kind&&i.multi===t.multi&&(e=r)})),i[e]=t})),i}function $i(t){return this.extend(t)}$i.prototype.extend=function(t){var e=[],i=[];if(t instanceof Ii)i.push(t);else if(Array.isArray(t))i=i.concat(t);else{if(!t||!Array.isArray(t.implicit)&&!Array.isArray(t.explicit))throw new Si("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");t.implicit&&(e=e.concat(t.implicit)),t.explicit&&(i=i.concat(t.explicit))}e.forEach((function(t){if(!(t instanceof Ii))throw new Si("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(t.loadKind&&"scalar"!==t.loadKind)throw new Si("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(t.multi)throw new Si("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")})),i.forEach((function(t){if(!(t instanceof Ii))throw new Si("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var r=Object.create($i.prototype);return r.implicit=(this.implicit||[]).concat(e),r.explicit=(this.explicit||[]).concat(i),r.compiledImplicit=Di(r,"implicit"),r.compiledExplicit=Di(r,"explicit"),r.compiledTypeMap=function(){var t,e,i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function r(t){t.multi?(i.multi[t.kind].push(t),i.multi.fallback.push(t)):i[t.kind][t.tag]=i.fallback[t.tag]=t}for(t=0,e=arguments.length;t<e;t+=1)arguments[t].forEach(r);return i}(r.compiledImplicit,r.compiledExplicit),r};var Fi=new $i({explicit:[new Ii("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return null!==t?t:""}}),new Ii("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return null!==t?t:[]}}),new Ii("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return null!==t?t:{}}})]});var Oi=new Ii("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(t){if(null===t)return!0;var e=t.length;return 1===e&&"~"===t||4===e&&("null"===t||"Null"===t||"NULL"===t)},construct:function(){return null},predicate:function(t){return null===t},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});var Ni=new Ii("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e=t.length;return 4===e&&("true"===t||"True"===t||"TRUE"===t)||5===e&&("false"===t||"False"===t||"FALSE"===t)},construct:function(t){return"true"===t||"True"===t||"TRUE"===t},predicate:function(t){return"[object Boolean]"===Object.prototype.toString.call(t)},represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"});function Ri(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function Mi(t){return 48<=t&&t<=55}function Pi(t){return 48<=t&&t<=57}var qi=new Ii("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,i=t.length,r=0,n=!1;if(!i)return!1;if("-"!==(e=t[r])&&"+"!==e||(e=t[++r]),"0"===e){if(r+1===i)return!0;if("b"===(e=t[++r])){for(r++;r<i;r++)if("_"!==(e=t[r])){if("0"!==e&&"1"!==e)return!1;n=!0}return n&&"_"!==e}if("x"===e){for(r++;r<i;r++)if("_"!==(e=t[r])){if(!Ri(t.charCodeAt(r)))return!1;n=!0}return n&&"_"!==e}if("o"===e){for(r++;r<i;r++)if("_"!==(e=t[r])){if(!Mi(t.charCodeAt(r)))return!1;n=!0}return n&&"_"!==e}}if("_"===e)return!1;for(;r<i;r++)if("_"!==(e=t[r])){if(!Pi(t.charCodeAt(r)))return!1;n=!0}return!(!n||"_"===e)},construct:function(t){var e,i=t,r=1;if(-1!==i.indexOf("_")&&(i=i.replace(/_/g,"")),"-"!==(e=i[0])&&"+"!==e||("-"===e&&(r=-1),e=(i=i.slice(1))[0]),"0"===i)return 0;if("0"===e){if("b"===i[1])return r*parseInt(i.slice(2),2);if("x"===i[1])return r*parseInt(i.slice(2),16);if("o"===i[1])return r*parseInt(i.slice(2),8)}return r*parseInt(i,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&t%1==0&&!Ti.isNegativeZero(t)},represent:{binary:function(t){return 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"]}}),zi=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var Yi=/^[-+]?[0-9]+e/;var ji=new Ii("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(t){return null!==t&&!(!zi.test(t)||"_"===t[t.length-1])},construct:function(t){var e,i;return i="-"===(e=t.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e?1===i?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:i*parseFloat(e,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||Ti.isNegativeZero(t))},represent:function(t,e){var i;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(Ti.isNegativeZero(t))return"-0.0";return i=t.toString(10),Yi.test(i)?i.replace("e",".e"):i},defaultStyle:"lowercase"}),Wi=Fi.extend({implicit:[Oi,Ni,qi,ji]}),Zi=Wi,Ui=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Hi=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]))?))?$");var Vi=new Ii("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(t){return null!==t&&(null!==Ui.exec(t)||null!==Hi.exec(t))},construct:function(t){var e,i,r,n,s,a,o,l,c=0,h=null;if(null===(e=Ui.exec(t))&&(e=Hi.exec(t)),null===e)throw new Error("Date resolve error");if(i=+e[1],r=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(i,r,n));if(s=+e[4],a=+e[5],o=+e[6],e[7]){for(c=e[7].slice(0,3);c.length<3;)c+="0";c=+c}return e[9]&&(h=6e4*(60*+e[10]+ +(e[11]||0)),"-"===e[9]&&(h=-h)),l=new Date(Date.UTC(i,r,n,s,a,o,c)),h&&l.setTime(l.getTime()-h),l},instanceOf:Date,represent:function(t){return t.toISOString()}});var Xi=new Ii("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(t){return"<<"===t||null===t}}),Gi="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";var Ki=new Ii("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,i,r=0,n=t.length,s=Gi;for(i=0;i<n;i++)if(!((e=s.indexOf(t.charAt(i)))>64)){if(e<0)return!1;r+=6}return r%8==0},construct:function(t){var e,i,r=t.replace(/[\r\n=]/g,""),n=r.length,s=Gi,a=0,o=[];for(e=0;e<n;e++)e%4==0&&e&&(o.push(a>>16&255),o.push(a>>8&255),o.push(255&a)),a=a<<6|s.indexOf(r.charAt(e));return 0===(i=n%4*6)?(o.push(a>>16&255),o.push(a>>8&255),o.push(255&a)):18===i?(o.push(a>>10&255),o.push(a>>2&255)):12===i&&o.push(a>>4&255),new Uint8Array(o)},predicate:function(t){return"[object Uint8Array]"===Object.prototype.toString.call(t)},represent:function(t){var e,i,r="",n=0,s=t.length,a=Gi;for(e=0;e<s;e++)e%3==0&&e&&(r+=a[n>>18&63],r+=a[n>>12&63],r+=a[n>>6&63],r+=a[63&n]),n=(n<<8)+t[e];return 0===(i=s%3)?(r+=a[n>>18&63],r+=a[n>>12&63],r+=a[n>>6&63],r+=a[63&n]):2===i?(r+=a[n>>10&63],r+=a[n>>4&63],r+=a[n<<2&63],r+=a[64]):1===i&&(r+=a[n>>2&63],r+=a[n<<4&63],r+=a[64],r+=a[64]),r}}),Qi=Object.prototype.hasOwnProperty,Ji=Object.prototype.toString;var tr=new Ii("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,i,r,n,s,a=[],o=t;for(e=0,i=o.length;e<i;e+=1){if(r=o[e],s=!1,"[object Object]"!==Ji.call(r))return!1;for(n in r)if(Qi.call(r,n)){if(s)return!1;s=!0}if(!s)return!1;if(-1!==a.indexOf(n))return!1;a.push(n)}return!0},construct:function(t){return null!==t?t:[]}}),er=Object.prototype.toString;var ir=new Ii("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,i,r,n,s,a=t;for(s=new Array(a.length),e=0,i=a.length;e<i;e+=1){if(r=a[e],"[object Object]"!==er.call(r))return!1;if(1!==(n=Object.keys(r)).length)return!1;s[e]=[n[0],r[n[0]]]}return!0},construct:function(t){if(null===t)return[];var e,i,r,n,s,a=t;for(s=new Array(a.length),e=0,i=a.length;e<i;e+=1)r=a[e],n=Object.keys(r),s[e]=[n[0],r[n[0]]];return s}}),rr=Object.prototype.hasOwnProperty;var nr=new Ii("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(t){if(null===t)return!0;var e,i=t;for(e in i)if(rr.call(i,e)&&null!==i[e])return!1;return!0},construct:function(t){return null!==t?t:{}}}),sr=Zi.extend({implicit:[Vi,Xi],explicit:[Ki,tr,ir,nr]}),ar=Object.prototype.hasOwnProperty,or=1,lr=2,cr=3,hr=4,dr=1,ur=2,pr=3,gr=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,yr=/[\x85\u2028\u2029]/,fr=/[,\[\]\{\}]/,mr=/^(?:!|!!|![a-z\-]+!)$/i,xr=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function br(t){return Object.prototype.toString.call(t)}function kr(t){return 10===t||13===t}function _r(t){return 9===t||32===t}function Tr(t){return 9===t||32===t||10===t||13===t}function Cr(t){return 44===t||91===t||93===t||123===t||125===t}function Er(t){var e;return 48<=t&&t<=57?t-48:97<=(e=32|t)&&e<=102?e-97+10:-1}function Sr(t){return 120===t?2:117===t?4:85===t?8:0}function wr(t){return 48<=t&&t<=57?t-48:-1}function vr(t){return 48===t?"\0":97===t?"":98===t?"\b":116===t||9===t?"\t":110===t?"\n":118===t?"\v":102===t?"\f":114===t?"\r":101===t?"":32===t?" ":34===t?'"':47===t?"/":92===t?"\\":78===t?"…":95===t?" ":76===t?"\u2028":80===t?"\u2029":""}function Ar(t){return t<=65535?String.fromCharCode(t):String.fromCharCode(55296+(t-65536>>10),56320+(t-65536&1023))}for(var Lr=new Array(256),Br=new Array(256),Ir=0;Ir<256;Ir++)Lr[Ir]=vr(Ir)?1:0,Br[Ir]=vr(Ir);function Dr(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||sr,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 $r(t,e){var i={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return i.snippet=Ai(i),new Si(e,i)}function Fr(t,e){throw $r(t,e)}function Or(t,e){t.onWarning&&t.onWarning.call(null,$r(t,e))}var Nr={YAML:function(t,e,i){var r,n,s;null!==t.version&&Fr(t,"duplication of %YAML directive"),1!==i.length&&Fr(t,"YAML directive accepts exactly one argument"),null===(r=/^([0-9]+)\.([0-9]+)$/.exec(i[0]))&&Fr(t,"ill-formed argument of the YAML directive"),n=parseInt(r[1],10),s=parseInt(r[2],10),1!==n&&Fr(t,"unacceptable YAML version of the document"),t.version=i[0],t.checkLineBreaks=s<2,1!==s&&2!==s&&Or(t,"unsupported YAML version of the document")},TAG:function(t,e,i){var r,n;2!==i.length&&Fr(t,"TAG directive accepts exactly two arguments"),r=i[0],n=i[1],mr.test(r)||Fr(t,"ill-formed tag handle (first argument) of the TAG directive"),ar.call(t.tagMap,r)&&Fr(t,'there is a previously declared suffix for "'+r+'" tag handle'),xr.test(n)||Fr(t,"ill-formed tag prefix (second argument) of the TAG directive");try{n=decodeURIComponent(n)}catch(e){Fr(t,"tag prefix is malformed: "+n)}t.tagMap[r]=n}};function Rr(t,e,i,r){var n,s,a,o;if(e<i){if(o=t.input.slice(e,i),r)for(n=0,s=o.length;n<s;n+=1)9===(a=o.charCodeAt(n))||32<=a&&a<=1114111||Fr(t,"expected valid JSON character");else gr.test(o)&&Fr(t,"the stream contains non-printable characters");t.result+=o}}function Mr(t,e,i,r){var n,s,a,o;for(Ti.isObject(i)||Fr(t,"cannot merge mappings; the provided source object is unacceptable"),a=0,o=(n=Object.keys(i)).length;a<o;a+=1)s=n[a],ar.call(e,s)||(e[s]=i[s],r[s]=!0)}function Pr(t,e,i,r,n,s,a,o,l){var c,h;if(Array.isArray(n))for(c=0,h=(n=Array.prototype.slice.call(n)).length;c<h;c+=1)Array.isArray(n[c])&&Fr(t,"nested arrays are not supported inside keys"),"object"==typeof n&&"[object Object]"===br(n[c])&&(n[c]="[object Object]");if("object"==typeof n&&"[object Object]"===br(n)&&(n="[object Object]"),n=String(n),null===e&&(e={}),"tag:yaml.org,2002:merge"===r)if(Array.isArray(s))for(c=0,h=s.length;c<h;c+=1)Mr(t,e,s[c],i);else Mr(t,e,s,i);else t.json||ar.call(i,n)||!ar.call(e,n)||(t.line=a||t.line,t.lineStart=o||t.lineStart,t.position=l||t.position,Fr(t,"duplicated mapping key")),"__proto__"===n?Object.defineProperty(e,n,{configurable:!0,enumerable:!0,writable:!0,value:s}):e[n]=s,delete i[n];return e}function qr(t){var e;10===(e=t.input.charCodeAt(t.position))?t.position++:13===e?(t.position++,10===t.input.charCodeAt(t.position)&&t.position++):Fr(t,"a line break is expected"),t.line+=1,t.lineStart=t.position,t.firstTabInLine=-1}function zr(t,e,i){for(var r=0,n=t.input.charCodeAt(t.position);0!==n;){for(;_r(n);)9===n&&-1===t.firstTabInLine&&(t.firstTabInLine=t.position),n=t.input.charCodeAt(++t.position);if(e&&35===n)do{n=t.input.charCodeAt(++t.position)}while(10!==n&&13!==n&&0!==n);if(!kr(n))break;for(qr(t),n=t.input.charCodeAt(t.position),r++,t.lineIndent=0;32===n;)t.lineIndent++,n=t.input.charCodeAt(++t.position)}return-1!==i&&0!==r&&t.lineIndent<i&&Or(t,"deficient indentation"),r}function Yr(t){var e,i=t.position;return!(45!==(e=t.input.charCodeAt(i))&&46!==e||e!==t.input.charCodeAt(i+1)||e!==t.input.charCodeAt(i+2)||(i+=3,0!==(e=t.input.charCodeAt(i))&&!Tr(e)))}function jr(t,e){1===e?t.result+=" ":e>1&&(t.result+=Ti.repeat("\n",e-1))}function Wr(t,e){var i,r,n=t.tag,s=t.anchor,a=[],o=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=a),r=t.input.charCodeAt(t.position);0!==r&&(-1!==t.firstTabInLine&&(t.position=t.firstTabInLine,Fr(t,"tab characters must not be used in indentation")),45===r)&&Tr(t.input.charCodeAt(t.position+1));)if(o=!0,t.position++,zr(t,!0,-1)&&t.lineIndent<=e)a.push(null),r=t.input.charCodeAt(t.position);else if(i=t.line,Hr(t,e,cr,!1,!0),a.push(t.result),zr(t,!0,-1),r=t.input.charCodeAt(t.position),(t.line===i||t.lineIndent>e)&&0!==r)Fr(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break;return!!o&&(t.tag=n,t.anchor=s,t.kind="sequence",t.result=a,!0)}function Zr(t){var e,i,r,n,s=!1,a=!1;if(33!==(n=t.input.charCodeAt(t.position)))return!1;if(null!==t.tag&&Fr(t,"duplication of a tag property"),60===(n=t.input.charCodeAt(++t.position))?(s=!0,n=t.input.charCodeAt(++t.position)):33===n?(a=!0,i="!!",n=t.input.charCodeAt(++t.position)):i="!",e=t.position,s){do{n=t.input.charCodeAt(++t.position)}while(0!==n&&62!==n);t.position<t.length?(r=t.input.slice(e,t.position),n=t.input.charCodeAt(++t.position)):Fr(t,"unexpected end of the stream within a verbatim tag")}else{for(;0!==n&&!Tr(n);)33===n&&(a?Fr(t,"tag suffix cannot contain exclamation marks"):(i=t.input.slice(e-1,t.position+1),mr.test(i)||Fr(t,"named tag handle cannot contain such characters"),a=!0,e=t.position+1)),n=t.input.charCodeAt(++t.position);r=t.input.slice(e,t.position),fr.test(r)&&Fr(t,"tag suffix cannot contain flow indicator characters")}r&&!xr.test(r)&&Fr(t,"tag name cannot contain such characters: "+r);try{r=decodeURIComponent(r)}catch(e){Fr(t,"tag name is malformed: "+r)}return s?t.tag=r:ar.call(t.tagMap,i)?t.tag=t.tagMap[i]+r:"!"===i?t.tag="!"+r:"!!"===i?t.tag="tag:yaml.org,2002:"+r:Fr(t,'undeclared tag handle "'+i+'"'),!0}function Ur(t){var e,i;if(38!==(i=t.input.charCodeAt(t.position)))return!1;for(null!==t.anchor&&Fr(t,"duplication of an anchor property"),i=t.input.charCodeAt(++t.position),e=t.position;0!==i&&!Tr(i)&&!Cr(i);)i=t.input.charCodeAt(++t.position);return t.position===e&&Fr(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}function Hr(t,e,i,r,n){var s,a,o,l,c,h,d,u,p,g=1,y=!1,f=!1;if(null!==t.listener&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,s=a=o=hr===i||cr===i,r&&zr(t,!0,-1)&&(y=!0,t.lineIndent>e?g=1:t.lineIndent===e?g=0:t.lineIndent<e&&(g=-1)),1===g)for(;Zr(t)||Ur(t);)zr(t,!0,-1)?(y=!0,o=s,t.lineIndent>e?g=1:t.lineIndent===e?g=0:t.lineIndent<e&&(g=-1)):o=!1;if(o&&(o=y||n),1!==g&&hr!==i||(u=or===i||lr===i?e:e+1,p=t.position-t.lineStart,1===g?o&&(Wr(t,p)||function(t,e,i){var r,n,s,a,o,l,c,h=t.tag,d=t.anchor,u={},p=Object.create(null),g=null,y=null,f=null,m=!1,x=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=u),c=t.input.charCodeAt(t.position);0!==c;){if(m||-1===t.firstTabInLine||(t.position=t.firstTabInLine,Fr(t,"tab characters must not be used in indentation")),r=t.input.charCodeAt(t.position+1),s=t.line,63!==c&&58!==c||!Tr(r)){if(a=t.line,o=t.lineStart,l=t.position,!Hr(t,i,lr,!1,!0))break;if(t.line===s){for(c=t.input.charCodeAt(t.position);_r(c);)c=t.input.charCodeAt(++t.position);if(58===c)Tr(c=t.input.charCodeAt(++t.position))||Fr(t,"a whitespace character is expected after the key-value separator within a block mapping"),m&&(Pr(t,u,p,g,y,null,a,o,l),g=y=f=null),x=!0,m=!1,n=!1,g=t.tag,y=t.result;else{if(!x)return t.tag=h,t.anchor=d,!0;Fr(t,"can not read an implicit mapping pair; a colon is missed")}}else{if(!x)return t.tag=h,t.anchor=d,!0;Fr(t,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===c?(m&&(Pr(t,u,p,g,y,null,a,o,l),g=y=f=null),x=!0,m=!0,n=!0):m?(m=!1,n=!0):Fr(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,c=r;if((t.line===s||t.lineIndent>e)&&(m&&(a=t.line,o=t.lineStart,l=t.position),Hr(t,e,hr,!0,n)&&(m?y=t.result:f=t.result),m||(Pr(t,u,p,g,y,f,a,o,l),g=y=f=null),zr(t,!0,-1),c=t.input.charCodeAt(t.position)),(t.line===s||t.lineIndent>e)&&0!==c)Fr(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return m&&Pr(t,u,p,g,y,null,a,o,l),x&&(t.tag=h,t.anchor=d,t.kind="mapping",t.result=u),x}(t,p,u))||function(t,e){var i,r,n,s,a,o,l,c,h,d,u,p,g=!0,y=t.tag,f=t.anchor,m=Object.create(null);if(91===(p=t.input.charCodeAt(t.position)))a=93,c=!1,s=[];else{if(123!==p)return!1;a=125,c=!0,s={}}for(null!==t.anchor&&(t.anchorMap[t.anchor]=s),p=t.input.charCodeAt(++t.position);0!==p;){if(zr(t,!0,e),(p=t.input.charCodeAt(t.position))===a)return t.position++,t.tag=y,t.anchor=f,t.kind=c?"mapping":"sequence",t.result=s,!0;g?44===p&&Fr(t,"expected the node content, but found ','"):Fr(t,"missed comma between flow collection entries"),u=null,o=l=!1,63===p&&Tr(t.input.charCodeAt(t.position+1))&&(o=l=!0,t.position++,zr(t,!0,e)),i=t.line,r=t.lineStart,n=t.position,Hr(t,e,or,!1,!0),d=t.tag,h=t.result,zr(t,!0,e),p=t.input.charCodeAt(t.position),!l&&t.line!==i||58!==p||(o=!0,p=t.input.charCodeAt(++t.position),zr(t,!0,e),Hr(t,e,or,!1,!0),u=t.result),c?Pr(t,s,m,d,h,u,i,r,n):o?s.push(Pr(t,null,m,d,h,u,i,r,n)):s.push(h),zr(t,!0,e),44===(p=t.input.charCodeAt(t.position))?(g=!0,p=t.input.charCodeAt(++t.position)):g=!1}Fr(t,"unexpected end of the stream within a flow collection")}(t,u)?f=!0:(a&&function(t,e){var i,r,n,s,a=dr,o=!1,l=!1,c=e,h=0,d=!1;if(124===(s=t.input.charCodeAt(t.position)))r=!1;else{if(62!==s)return!1;r=!0}for(t.kind="scalar",t.result="";0!==s;)if(43===(s=t.input.charCodeAt(++t.position))||45===s)dr===a?a=43===s?pr:ur:Fr(t,"repeat of a chomping mode identifier");else{if(!((n=wr(s))>=0))break;0===n?Fr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):l?Fr(t,"repeat of an indentation width identifier"):(c=e+n-1,l=!0)}if(_r(s)){do{s=t.input.charCodeAt(++t.position)}while(_r(s));if(35===s)do{s=t.input.charCodeAt(++t.position)}while(!kr(s)&&0!==s)}for(;0!==s;){for(qr(t),t.lineIndent=0,s=t.input.charCodeAt(t.position);(!l||t.lineIndent<c)&&32===s;)t.lineIndent++,s=t.input.charCodeAt(++t.position);if(!l&&t.lineIndent>c&&(c=t.lineIndent),kr(s))h++;else{if(t.lineIndent<c){a===pr?t.result+=Ti.repeat("\n",o?1+h:h):a===dr&&o&&(t.result+="\n");break}for(r?_r(s)?(d=!0,t.result+=Ti.repeat("\n",o?1+h:h)):d?(d=!1,t.result+=Ti.repeat("\n",h+1)):0===h?o&&(t.result+=" "):t.result+=Ti.repeat("\n",h):t.result+=Ti.repeat("\n",o?1+h:h),o=!0,l=!0,h=0,i=t.position;!kr(s)&&0!==s;)s=t.input.charCodeAt(++t.position);Rr(t,i,t.position,!1)}}return!0}(t,u)||function(t,e){var i,r,n;if(39!==(i=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;0!==(i=t.input.charCodeAt(t.position));)if(39===i){if(Rr(t,r,t.position,!0),39!==(i=t.input.charCodeAt(++t.position)))return!0;r=t.position,t.position++,n=t.position}else kr(i)?(Rr(t,r,n,!0),jr(t,zr(t,!1,e)),r=n=t.position):t.position===t.lineStart&&Yr(t)?Fr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);Fr(t,"unexpected end of the stream within a single quoted scalar")}(t,u)||function(t,e){var i,r,n,s,a,o;if(34!==(o=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,i=r=t.position;0!==(o=t.input.charCodeAt(t.position));){if(34===o)return Rr(t,i,t.position,!0),t.position++,!0;if(92===o){if(Rr(t,i,t.position,!0),kr(o=t.input.charCodeAt(++t.position)))zr(t,!1,e);else if(o<256&&Lr[o])t.result+=Br[o],t.position++;else if((a=Sr(o))>0){for(n=a,s=0;n>0;n--)(a=Er(o=t.input.charCodeAt(++t.position)))>=0?s=(s<<4)+a:Fr(t,"expected hexadecimal character");t.result+=Ar(s),t.position++}else Fr(t,"unknown escape sequence");i=r=t.position}else kr(o)?(Rr(t,i,r,!0),jr(t,zr(t,!1,e)),i=r=t.position):t.position===t.lineStart&&Yr(t)?Fr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,r=t.position)}Fr(t,"unexpected end of the stream within a double quoted scalar")}(t,u)?f=!0:!function(t){var e,i,r;if(42!==(r=t.input.charCodeAt(t.position)))return!1;for(r=t.input.charCodeAt(++t.position),e=t.position;0!==r&&!Tr(r)&&!Cr(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&Fr(t,"name of an alias node must contain at least one character"),i=t.input.slice(e,t.position),ar.call(t.anchorMap,i)||Fr(t,'unidentified alias "'+i+'"'),t.result=t.anchorMap[i],zr(t,!0,-1),!0}(t)?function(t,e,i){var r,n,s,a,o,l,c,h,d=t.kind,u=t.result;if(Tr(h=t.input.charCodeAt(t.position))||Cr(h)||35===h||38===h||42===h||33===h||124===h||62===h||39===h||34===h||37===h||64===h||96===h)return!1;if((63===h||45===h)&&(Tr(r=t.input.charCodeAt(t.position+1))||i&&Cr(r)))return!1;for(t.kind="scalar",t.result="",n=s=t.position,a=!1;0!==h;){if(58===h){if(Tr(r=t.input.charCodeAt(t.position+1))||i&&Cr(r))break}else if(35===h){if(Tr(t.input.charCodeAt(t.position-1)))break}else{if(t.position===t.lineStart&&Yr(t)||i&&Cr(h))break;if(kr(h)){if(o=t.line,l=t.lineStart,c=t.lineIndent,zr(t,!1,-1),t.lineIndent>=e){a=!0,h=t.input.charCodeAt(t.position);continue}t.position=s,t.line=o,t.lineStart=l,t.lineIndent=c;break}}a&&(Rr(t,n,s,!1),jr(t,t.line-o),n=s=t.position,a=!1),_r(h)||(s=t.position+1),h=t.input.charCodeAt(++t.position)}return Rr(t,n,s,!1),!!t.result||(t.kind=d,t.result=u,!1)}(t,u,or===i)&&(f=!0,null===t.tag&&(t.tag="?")):(f=!0,null===t.tag&&null===t.anchor||Fr(t,"alias node should not have any properties")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===g&&(f=o&&Wr(t,p))),null===t.tag)null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);else if("?"===t.tag){for(null!==t.result&&"scalar"!==t.kind&&Fr(t,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+t.kind+'"'),l=0,c=t.implicitTypes.length;l<c;l+=1)if((d=t.implicitTypes[l]).resolve(t.result)){t.result=d.construct(t.result),t.tag=d.tag,null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);break}}else if("!"!==t.tag){if(ar.call(t.typeMap[t.kind||"fallback"],t.tag))d=t.typeMap[t.kind||"fallback"][t.tag];else for(d=null,l=0,c=(h=t.typeMap.multi[t.kind||"fallback"]).length;l<c;l+=1)if(t.tag.slice(0,h[l].tag.length)===h[l].tag){d=h[l];break}d||Fr(t,"unknown tag !<"+t.tag+">"),null!==t.result&&d.kind!==t.kind&&Fr(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+d.kind+'", not "'+t.kind+'"'),d.resolve(t.result,t.tag)?(t.result=d.construct(t.result,t.tag),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):Fr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||f}function Vr(t){var e,i,r,n,s=t.position,a=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);0!==(n=t.input.charCodeAt(t.position))&&(zr(t,!0,-1),n=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==n));){for(a=!0,n=t.input.charCodeAt(++t.position),e=t.position;0!==n&&!Tr(n);)n=t.input.charCodeAt(++t.position);for(r=[],(i=t.input.slice(e,t.position)).length<1&&Fr(t,"directive name must not be less than one character in length");0!==n;){for(;_r(n);)n=t.input.charCodeAt(++t.position);if(35===n){do{n=t.input.charCodeAt(++t.position)}while(0!==n&&!kr(n));break}if(kr(n))break;for(e=t.position;0!==n&&!Tr(n);)n=t.input.charCodeAt(++t.position);r.push(t.input.slice(e,t.position))}0!==n&&qr(t),ar.call(Nr,i)?Nr[i](t,i,r):Or(t,'unknown document directive "'+i+'"')}zr(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,zr(t,!0,-1)):a&&Fr(t,"directives end mark is expected"),Hr(t,t.lineIndent-1,hr,!1,!0),zr(t,!0,-1),t.checkLineBreaks&&yr.test(t.input.slice(s,t.position))&&Or(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Yr(t)?46===t.input.charCodeAt(t.position)&&(t.position+=3,zr(t,!0,-1)):t.position<t.length-1&&Fr(t,"end of the stream or a document separator is expected")}function Xr(t,e){e=e||{},0!==(t=String(t)).length&&(10!==t.charCodeAt(t.length-1)&&13!==t.charCodeAt(t.length-1)&&(t+="\n"),65279===t.charCodeAt(0)&&(t=t.slice(1)));var i=new Dr(t,e),r=t.indexOf("\0");for(-1!==r&&(i.position=r,Fr(i,"null byte is not allowed in input")),i.input+="\0";32===i.input.charCodeAt(i.position);)i.lineIndent+=1,i.position+=1;for(;i.position<i.length-1;)Vr(i);return i.documents}var Gr=Wi,Kr={loadAll:function(t,e,i){null!==e&&"object"==typeof e&&void 0===i&&(i=e,e=null);var r=Xr(t,i);if("function"!=typeof e)return r;for(var n=0,s=r.length;n<s;n+=1)e(r[n])},load:function(t,e){var i=Xr(t,e);if(0!==i.length){if(1===i.length)return i[0];throw new Si("expected a single document in the stream, but found more")}}}.load;const Qr=t=>t.replace(/\r\n?/g,"\n").replace(/<(\w+)([^>]*)>/g,((t,e,i)=>"<"+e+i.replace(/="([^"]*)"/g,"='$1'")+">")),Jr=t=>{const{text:e,metadata:i}=function(t){const e=t.match(tt);if(!e)return{text:t,metadata:{}};let i=Kr(e[1],{schema:Gr})??{};i="object"!=typeof i||Array.isArray(i)?{}:i;const r={};return i.displayMode&&(r.displayMode=i.displayMode.toString()),i.title&&(r.title=i.title.toString()),i.config&&(r.config=i.config),{text:t.slice(e[0].length),metadata:r}}(t),{displayMode:r,title:n,config:s={}}=i;return r&&(s.gantt||(s.gantt={}),s.gantt.displayMode=r),{title:n,config:s,text:e}},tn=t=>{const e=Dt.detectInit(t)??{},i=Dt.detectDirective(t,"wrap");return Array.isArray(i)?e.wrap=i.some((({type:t})=>{})):"wrap"===(null==i?void 0:i.type)&&(e.wrap=!0),{text:(r=t,r.replace(et,"")),directive:e};var r};function en(t){const e=Qr(t),i=Jr(e),r=tn(i.text),n=It(i.config,r.directive);return{code:t=ki(r.text),title:i.title,config:n}}const rn=["foreignobject"],nn=["dominant-baseline"];function sn(t){const e=en(t);return Ut(),Zt(e.config??{}),e}const an=(t,e,i=[])=>`\n.${t} ${e} { ${i.join(" !important; ")} !important; }`,on=(t,e,i,r)=>{const n=((t,e={})=>{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}}`),!(0,x.Z)(e)){const n=t.htmlLabels||(null==(i=t.flowchart)?void 0:i.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const t in e){const i=e[t];(0,x.Z)(i.styles)||n.forEach((t=>{r+=an(i.id,t,i.styles)})),(0,x.Z)(i.textStyles)||(r+=an(i.id,"tspan",i.textStyles))}}return r})(t,i),s=Be(e,n,t.themeVariables);return(0,f.q)((0,m.MY)(`${r}{${s}}`),f.P)},ln=(t,e,i,r,n)=>{const s=t.append("div");s.attr("id",i),r&&s.attr("style",r);const a=s.append("svg").attr("id",e).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg");return n&&a.attr("xmlns:xlink",n),a.append("g"),t};function cn(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const hn=(t,e={})=>{const{code:i}=en(t);return mi(i,e)};const dn=Object.freeze({render:async function(t,e,i){var r,n,s,l,c,h;yi();const d=sn(e);e=d.code;const u=jt();k.debug(u),e.length>((null==u?void 0:u.maxTextSize)??5e4)&&(e="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa");const p="#"+t,g="i"+t,y="#"+g,f="d"+t,m="#"+f;let x=(0,a.Ys)("body");const b="sandbox"===u.securityLevel,_="loose"===u.securityLevel,T=u.fontFamily;if(void 0!==i){if(i&&(i.innerHTML=""),b){const t=cn((0,a.Ys)(i),g);x=(0,a.Ys)(t.nodes()[0].contentDocument.body),x.node().style.margin=0}else x=(0,a.Ys)(i);ln(x,t,f,`font-family: ${T}`,"http://www.w3.org/1999/xlink")}else{if(((t,e,i,r)=>{var n,s,a;null==(n=t.getElementById(e))||n.remove(),null==(s=t.getElementById(i))||s.remove(),null==(a=t.getElementById(r))||a.remove()})(document,t,f,g),b){const t=cn((0,a.Ys)("body"),g);x=(0,a.Ys)(t.nodes()[0].contentDocument.body),x.node().style.margin=0}else x=(0,a.Ys)("body");ln(x,t,f)}let C,E;try{C=await hn(e,{title:d.title})}catch(t){C=new fi("error"),E=t}const S=x.select(m).node(),w=C.type,v=S.firstChild,A=v.firstChild,L=null==(n=(r=C.renderer).getClasses)?void 0:n.call(r,e,C),I=on(u,w,L,p),D=document.createElement("style");D.innerHTML=I,v.insertBefore(D,A);try{await C.renderer.draw(e,t,Ft,C)}catch(i){throw ii.draw(e,t,Ft),i}!function(t,e,i,r){(function(t,e){t.attr("role",bi),""!==e&&t.attr("aria-roledescription",e)})(e,t),function(t,e,i,r){if(void 0!==t.insert){if(i){const e=`chart-desc-${r}`;t.attr("aria-describedby",e),t.insert("desc",":first-child").attr("id",e).text(i)}if(e){const i=`chart-title-${r}`;t.attr("aria-labelledby",i),t.insert("title",":first-child").attr("id",i).text(e)}}}(e,i,r,e.attr("id"))}(w,x.select(`${m} svg`),null==(l=(s=C.db).getAccTitle)?void 0:l.call(s),null==(h=(c=C.db).getAccDescription)?void 0:h.call(c)),x.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");let $=x.select(m).node().innerHTML;if(k.debug("config.arrowMarkerAbsolute",u.arrowMarkerAbsolute),$=((t="",e,i)=>{let r=t;return i||e||(r=r.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),r=$t(r),r=r.replace(/<br>/g,"<br/>"),r})($,b,B(u.arrowMarkerAbsolute)),b){$=((t="",e)=>{var i,r;return`<iframe style="width:100%;height:${(null==(r=null==(i=null==e?void 0:e.viewBox)?void 0:i.baseVal)?void 0:r.height)?e.viewBox.baseVal.height+"px":"100%"};border:0;margin:0;" src="data:text/html;base64,${btoa('<body style="margin:0">'+t+"</body>")}" sandbox="allow-top-navigation-by-user-activation allow-popups">\n The "iframe" tag is not supported by your browser.\n</iframe>`})($,x.select(m+" svg").node())}else _||($=o.sanitize($,{ADD_TAGS:rn,ADD_ATTR:nn}));if(xi.forEach((t=>{t()})),xi=[],E)throw E;const F=b?y:m,O=(0,a.Ys)(F).node();return O&&"remove"in O&&O.remove(),{svg:$,bindFunctions:C.db.bindFunctions}},parse:async function(t,e){yi(),t=sn(t).code;try{await hn(t)}catch(t){if(null==e?void 0:e.suppressErrors)return!1;throw t}return!0},getDiagramFromText:hn,initialize:function(t={}){var e;(null==t?void 0:t.fontFamily)&&!(null==(e=t.themeVariables)?void 0:e.fontFamily)&&(t.themeVariables||(t.themeVariables={}),t.themeVariables.fontFamily=t.fontFamily),Nt=ct({},t),(null==t?void 0:t.theme)&&t.theme in U?t.themeVariables=U[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=U.default.getThemeVariables(t.themeVariables));const i="object"==typeof t?(t=>(Rt=ct({},Ot),Rt=ct(Rt,t),t.theme&&U[t.theme]&&(Rt.themeVariables=U[t.theme].getThemeVariables(t.themeVariables)),qt(Rt,Mt),Rt))(t):zt();_(i.logLevel),yi()},getConfig:jt,setConfig:Yt,getSiteConfig:zt,updateSiteConfig:t=>(Rt=ct(Rt,t),qt(Rt,Mt),Rt),reset:()=>{Ut()},globalReset:()=>{Ut(Ot)},defaultConfig:Ot});_(jt().logLevel),Ut(jt());const un=(t,e,i)=>{k.warn(t),Lt(t)?(i&&i(t.str,t.hash),e.push({...t,message:t.str,error:t})):(i&&i(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},pn=async function(t={querySelector:".mermaid"}){try{await gn(t)}catch(e){if(Lt(e)&&k.error(e.str),_n.parseError&&_n.parseError(e),!t.suppressErrors)throw k.error("Use the suppressErrors option to suppress these errors"),e}},gn=async function({postRenderCallback:t,querySelector:e,nodes:i}={querySelector:".mermaid"}){const n=dn.getConfig();let s;if(k.debug((t?"":"No ")+"Callback function found"),i)s=i;else{if(!e)throw new Error("Nodes and querySelector are both undefined");s=document.querySelectorAll(e)}k.debug(`Found ${s.length} diagrams`),void 0!==(null==n?void 0:n.startOnLoad)&&(k.debug("Start On Load: "+(null==n?void 0:n.startOnLoad)),dn.updateSiteConfig({startOnLoad:null==n?void 0:n.startOnLoad}));const a=new Dt.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed);let o;const l=[];for(const e of Array.from(s)){if(k.info("Rendering diagram: "+e.id),e.getAttribute("data-processed"))continue;e.setAttribute("data-processed","true");const i=`mermaid-${a.next()}`;o=e.innerHTML,o=(0,r.Z)(Dt.entityDecode(o)).trim().replace(/<br\s*\/?>/gi,"<br/>");const n=Dt.detectInit(o);n&&k.debug("Detected early reinit: ",n);try{const{svg:r,bindFunctions:n}=await kn(i,o,e);e.innerHTML=r,t&&await t(i),n&&n(e)}catch(t){un(t,l,_n.parseError)}}if(l.length>0)throw l[0]},yn=function(t){dn.initialize(t)},fn=function(){if(_n.startOnLoad){const{startOnLoad:t}=dn.getConfig();t&&_n.run().catch((t=>k.error("Mermaid failed to initialize",t)))}};"undefined"!=typeof document&&window.addEventListener("load",fn,!1);const mn=[];let xn=!1;const bn=async()=>{if(!xn){for(xn=!0;mn.length>0;){const t=mn.shift();if(t)try{await t()}catch(t){k.error("Error executing queue",t)}}xn=!1}},kn=(t,e,i)=>new Promise(((r,n)=>{mn.push((()=>new Promise(((s,a)=>{dn.render(t,e,i).then((t=>{s(t),r(t)}),(t=>{var e;k.error("Error parsing",t),null==(e=_n.parseError)||e.call(_n,t),a(t),n(t)}))})))),bn().catch(n)})),_n={startOnLoad:!0,mermaidAPI:dn,parse:async(t,e)=>new Promise(((i,r)=>{mn.push((()=>new Promise(((n,s)=>{dn.parse(t,e).then((t=>{n(t),i(t)}),(t=>{var e;k.error("Error parsing",t),null==(e=_n.parseError)||e.call(_n,t),s(t),r(t)}))})))),bn().catch(r)})),render:kn,init:async function(t,e,i){k.warn("mermaid.init is deprecated. Please use run instead."),t&&yn(t);const r={postRenderCallback:i,querySelector:".mermaid"};"string"==typeof e?r.querySelector=e:e&&(e instanceof HTMLElement?r.nodes=[e]:r.nodes=e),await pn(r)},run:pn,registerExternalDiagrams:async(t,{lazyLoad:e=!0}={})=>{at(...t),!1===e&&await(async()=>{k.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(nt).map((async([t,{detector:e,loader:i}])=>{if(i)try{Qe(t)}catch(r){try{const{diagram:t,id:r}=await i();Ke(r,t,e)}catch(e){throw k.error(`Failed to load external diagram with key ${t}. Removing from detectors.`),delete nt[t],e}}})))).filter((t=>"rejected"===t.status));if(t.length>0){k.error(`Failed to load ${t.length} external diagrams`);for(const e of t)k.error(e);throw new Error(`Failed to load ${t.length} external diagrams`)}})()},initialize:yn,parseError:void 0,contentLoaded:fn,setParseErrorHandler:function(t){_n.parseError=t},detectType:st}},89202:(t,e,i)=>{i.d(e,{diagram:()=>_});var r=i(98539),n=i(59058),s=i(14607),a=i(37724),o=i(67807),l=i(46500),c=i(12281),h=i(7201),d=(i(27484),i(17967),i(27856),function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,4],i=[1,13],r=[1,12],n=[1,15],s=[1,16],a=[1,20],o=[1,19],l=[6,7,8],c=[1,26],h=[1,24],d=[1,25],u=[6,7,11],p=[1,6,13,15,16,19,22],g=[1,33],y=[1,34],f=[1,6,7,11,13,15,16,19,22],m={trace:function(){},yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:function(t,e,i,r,n,s,a){var o=s.length-1;switch(n){case 6:case 7:return r;case 8:r.getLogger().trace("Stop NL ");break;case 9:r.getLogger().trace("Stop EOF ");break;case 11:r.getLogger().trace("Stop NL2 ");break;case 12:r.getLogger().trace("Stop EOF2 ");break;case 15:r.getLogger().info("Node: ",s[o].id),r.addNode(s[o-1].length,s[o].id,s[o].descr,s[o].type);break;case 16:r.getLogger().trace("Icon: ",s[o]),r.decorateNode({icon:s[o]});break;case 17:case 21:r.decorateNode({class:s[o]});break;case 18:r.getLogger().trace("SPACELIST");break;case 19:r.getLogger().trace("Node: ",s[o].id),r.addNode(0,s[o].id,s[o].descr,s[o].type);break;case 20:r.decorateNode({icon:s[o]});break;case 25:r.getLogger().trace("node found ..",s[o-2]),this.$={id:s[o-1],descr:s[o-1],type:r.getType(s[o-2],s[o])};break;case 26:this.$={id:s[o],descr:s[o],type:r.nodeType.DEFAULT};break;case 27:r.getLogger().trace("node found ..",s[o-3]),this.$={id:s[o-3],descr:s[o-1],type:r.getType(s[o-2],s[o])}}},table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:i,7:[1,10],9:9,12:11,13:r,14:14,15:n,16:s,17:17,18:18,19:a,22:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:i,12:21,13:r,14:14,15:n,16:s,17:17,18:18,19:a,22:o},{6:i,9:22,12:11,13:r,14:14,15:n,16:s,17:17,18:18,19:a,22:o},{6:c,7:h,10:23,11:d},t(u,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:a,22:o}),t(u,[2,18]),t(u,[2,19]),t(u,[2,20]),t(u,[2,21]),t(u,[2,23]),t(u,[2,24]),t(u,[2,26],{19:[1,30]}),{20:[1,31]},{6:c,7:h,10:32,11:d},{1:[2,7],6:i,12:21,13:r,14:14,15:n,16:s,17:17,18:18,19:a,22:o},t(p,[2,14],{7:g,11:y}),t(f,[2,8]),t(f,[2,9]),t(f,[2,10]),t(u,[2,15]),t(u,[2,16]),t(u,[2,17]),{20:[1,35]},{21:[1,36]},t(p,[2,13],{7:g,11:y}),t(f,[2,11]),t(f,[2,12]),{21:[1,37]},t(u,[2,25]),t(u,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)},parse:function(t){var e=this,i=[0],r=[],n=[null],s=[],a=this.table,o="",l=0,c=0,h=s.slice.call(arguments,1),d=Object.create(this.lexer),u={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(u.yy[p]=this.yy[p]);d.setInput(t,u.yy),u.yy.lexer=d,u.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var g=d.yylloc;s.push(g);var y=d.options&&d.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,x,b,k,_,T,C,E,S={};;){if(m=i[i.length-1],this.defaultActions[m]?x=this.defaultActions[m]:(null==f&&(E=void 0,"number"!=typeof(E=r.pop()||d.lex()||1)&&(E instanceof Array&&(E=(r=E).pop()),E=e.symbols_[E]||E),f=E),x=a[m]&&a[m][f]),void 0===x||!x.length||!x[0]){var w="";for(k in C=[],a[m])this.terminals_[k]&&k>2&&C.push("'"+this.terminals_[k]+"'");w=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(w,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:g,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+f);switch(x[0]){case 1:i.push(f),n.push(d.yytext),s.push(d.yylloc),i.push(x[1]),f=null,c=d.yyleng,o=d.yytext,l=d.yylineno,g=d.yylloc;break;case 2:if(_=this.productions_[x[1]][1],S.$=n[n.length-_],S._$={first_line:s[s.length-(_||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(_||1)].first_column,last_column:s[s.length-1].last_column},y&&(S._$.range=[s[s.length-(_||1)].range[0],s[s.length-1].range[1]]),void 0!==(b=this.performAction.apply(S,[o,c,l,u.yy,x[1],n,s].concat(h))))return b;_&&(i=i.slice(0,-1*_*2),n=n.slice(0,-1*_),s=s.slice(0,-1*_)),i.push(this.productions_[x[1]][0]),n.push(S.$),s.push(S._$),T=a[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}},x={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,i=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 r=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[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 i,r,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.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],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var s in n)this[s]=n[s];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,i,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&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,i,r){switch(i){case 0:return t.getLogger().trace("Found comment",e.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:case 23:case 26:this.popState();break;case 5:t.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return t.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:t.getLogger().trace("end icon"),this.popState();break;case 10:return t.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return t.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return t.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return t.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:case 15:case 16:case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 24:t.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return t.getLogger().trace("description:",e.yytext),"NODE_DESCR";case 27:return this.popState(),t.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),t.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),t.getLogger().trace("node end ...",e.yytext),"NODE_DEND";case 30:case 33:case 34:return this.popState(),t.getLogger().trace("node end (("),"NODE_DEND";case 31:case 32:return this.popState(),t.getLogger().trace("node end (-"),"NODE_DEND";case 35:case 36:return t.getLogger().trace("Long description:",e.yytext),20}},rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};function b(){this.yy={}}return m.lexer=x,b.prototype=m,m.Parser=b,new b}());d.parser=d;const u=d;let p=[],g=0,y={};const f={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},m={clear:()=>{p=[],g=0,y={}},addNode:(t,e,i,n)=>{var s,a;r.l.info("addNode",t,e,i,n);const o=(0,r.c)();let l=(null==(s=o.mindmap)?void 0:s.padding)??r.B.mindmap.padding;switch(n){case f.ROUNDED_RECT:case f.RECT:case f.HEXAGON:l*=2}const c={id:g++,nodeId:(0,r.d)(e,o),level:t,descr:(0,r.d)(i,o),type:n,children:[],width:(null==(a=o.mindmap)?void 0:a.maxNodeWidth)??r.B.mindmap.maxNodeWidth,padding:l},h=function(t){for(let e=p.length-1;e>=0;e--)if(p[e].level<t)return p[e];return null}(t);if(h)h.children.push(c),p.push(c);else{if(0!==p.length)throw new Error('There can be only one root. No parent could be found for ("'+c.descr+'")');p.push(c)}},getMindmap:()=>p.length>0?p[0]:null,nodeType:f,getType:(t,e)=>{switch(r.l.debug("In get type",t,e),t){case"[":return f.RECT;case"(":return")"===e?f.ROUNDED_RECT:f.CLOUD;case"((":return f.CIRCLE;case")":return f.CLOUD;case"))":return f.BANG;case"{{":return f.HEXAGON;default:return f.DEFAULT}},setElementForId:(t,e)=>{y[t]=e},decorateNode:t=>{if(!t)return;const e=(0,r.c)(),i=p[p.length-1];t.icon&&(i.icon=(0,r.d)(t.icon,e)),t.class&&(i.class=(0,r.d)(t.class,e))},type2Str:t=>{switch(t){case f.DEFAULT:return"no-border";case f.RECT:return"rect";case f.ROUNDED_RECT:return"rounded-rect";case f.CIRCLE:return"circle";case f.CLOUD:return"cloud";case f.BANG:return"bang";case f.HEXAGON:return"hexgon";default:return"no-border"}},getLogger:()=>r.l,getElementById:t=>y[t]};function x(t,e,i,n,s){!function(t,e,i,n,s){const a=s.htmlLabels,l=n%11,c=e.append("g");i.section=l;let h="section-"+l;l<0&&(h+=" section-root"),c.attr("class",(i.class?i.class+" ":"")+"mindmap-node "+h);const d=c.append("g"),u=c.append("g"),p=i.descr.replace(/(<br\/*>)/g,"\n");(0,o.a)(u,p,{useHtmlLabels:a,width:i.width,classes:"mindmap-node-label"}),a||u.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");const g=u.node().getBBox(),[y]=(0,r.D)(s.fontSize);if(i.height=g.height+1.1*y*.5+i.padding,i.width=g.width+2*i.padding,i.icon)if(i.type===t.nodeType.CIRCLE)i.height+=50,i.width+=50,c.append("foreignObject").attr("height","50px").attr("width",i.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+l+" "+i.icon),u.attr("transform","translate("+i.width/2+", "+(i.height/2-1.5*i.padding)+")");else{i.width+=50;const t=i.height;i.height=Math.max(t,60);const e=Math.abs(i.height-t);c.append("foreignObject").attr("width","60px").attr("height",i.height).attr("style","text-align: center;margin-top:"+e/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+l+" "+i.icon),u.attr("transform","translate("+(25+i.width/2)+", "+(e/2+i.padding/2)+")")}else if(a){const t=(i.width-g.width)/2,e=(i.height-g.height)/2;u.attr("transform","translate("+t+", "+e+")")}else{const t=i.width/2,e=i.padding/2;u.attr("transform","translate("+t+", "+e+")")}switch(i.type){case t.nodeType.DEFAULT:!function(t,e,i,r){e.append("path").attr("id","node-"+i.id).attr("class","node-bkg node-"+t.type2Str(i.type)).attr("d",`M0 ${i.height-5} v${10-i.height} q0,-5 5,-5 h${i.width-10} q5,0 5,5 v${i.height-5} H0 Z`),e.append("line").attr("class","node-line-"+r).attr("x1",0).attr("y1",i.height).attr("x2",i.width).attr("y2",i.height)}(t,d,i,l);break;case t.nodeType.ROUNDED_RECT:!function(t,e,i){e.append("rect").attr("id","node-"+i.id).attr("class","node-bkg node-"+t.type2Str(i.type)).attr("height",i.height).attr("rx",i.padding).attr("ry",i.padding).attr("width",i.width)}(t,d,i);break;case t.nodeType.RECT:!function(t,e,i){e.append("rect").attr("id","node-"+i.id).attr("class","node-bkg node-"+t.type2Str(i.type)).attr("height",i.height).attr("width",i.width)}(t,d,i);break;case t.nodeType.CIRCLE:d.attr("transform","translate("+i.width/2+", "+ +i.height/2+")"),function(t,e,i){e.append("circle").attr("id","node-"+i.id).attr("class","node-bkg node-"+t.type2Str(i.type)).attr("r",i.width/2)}(t,d,i);break;case t.nodeType.CLOUD:!function(t,e,i){const r=i.width,n=i.height,s=.15*r,a=.25*r,o=.35*r,l=.2*r;e.append("path").attr("id","node-"+i.id).attr("class","node-bkg node-"+t.type2Str(i.type)).attr("d",`M0 0 a${s},${s} 0 0,1 ${.25*r},${-1*r*.1}\n a${o},${o} 1 0,1 ${.4*r},${-1*r*.1}\n a${a},${a} 1 0,1 ${.35*r},${1*r*.2}\n\n a${s},${s} 1 0,1 ${.15*r},${1*n*.35}\n a${l},${l} 1 0,1 ${-1*r*.15},${1*n*.65}\n\n a${a},${s} 1 0,1 ${-1*r*.25},${.15*r}\n a${o},${o} 1 0,1 ${-1*r*.5},0\n a${s},${s} 1 0,1 ${-1*r*.25},${-1*r*.15}\n\n a${s},${s} 1 0,1 ${-1*r*.1},${-1*n*.35}\n a${l},${l} 1 0,1 ${.1*r},${-1*n*.65}\n\n H0 V0 Z`)}(t,d,i);break;case t.nodeType.BANG:!function(t,e,i){const r=i.width,n=i.height,s=.15*r;e.append("path").attr("id","node-"+i.id).attr("class","node-bkg node-"+t.type2Str(i.type)).attr("d",`M0 0 a${s},${s} 1 0,0 ${.25*r},${-1*n*.1}\n a${s},${s} 1 0,0 ${.25*r},0\n a${s},${s} 1 0,0 ${.25*r},0\n a${s},${s} 1 0,0 ${.25*r},${1*n*.1}\n\n a${s},${s} 1 0,0 ${.15*r},${1*n*.33}\n a${.8*s},${.8*s} 1 0,0 0,${1*n*.34}\n a${s},${s} 1 0,0 ${-1*r*.15},${1*n*.33}\n\n a${s},${s} 1 0,0 ${-1*r*.25},${.15*n}\n a${s},${s} 1 0,0 ${-1*r*.25},0\n a${s},${s} 1 0,0 ${-1*r*.25},0\n a${s},${s} 1 0,0 ${-1*r*.25},${-1*n*.15}\n\n a${s},${s} 1 0,0 ${-1*r*.1},${-1*n*.33}\n a${.8*s},${.8*s} 1 0,0 0,${-1*n*.34}\n a${s},${s} 1 0,0 ${.1*r},${-1*n*.33}\n\n H0 V0 Z`)}(t,d,i);break;case t.nodeType.HEXAGON:!function(t,e,i){const r=i.height,n=r/4,s=i.width-i.padding+2*n;!function(t,e,i,r,n){t.insert("polygon",":first-child").attr("points",r.map((function(t){return t.x+","+t.y})).join(" ")).attr("transform","translate("+(n.width-e)/2+", "+i+")")}(e,s,r,[{x:n,y:0},{x:s-n,y:0},{x:s,y:-r/2},{x:s-n,y:-r},{x:n,y:-r},{x:0,y:-r/2}],i)}(0,d,i)}t.setElementForId(i.id,c),i.height}(t,e,i,n,s),i.children&&i.children.forEach(((i,r)=>{x(t,e,i,n<0?r:n,s)}))}function b(t,e,i,r){e.add({group:"nodes",data:{id:t.id.toString(),labelText:t.descr,height:t.height,width:t.width,level:r,nodeId:t.id,padding:t.padding,type:t.type},position:{x:t.x,y:t.y}}),t.children&&t.children.forEach((n=>{b(n,e,i,r+1),e.add({group:"edges",data:{id:`${t.id}_${n.id}`,source:t.id,target:n.id,depth:r,section:n.section}})}))}function k(t,e){return new Promise((i=>{const s=(0,a.Ys)("body").append("div").attr("id","cy").attr("style","display:none"),o=n({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});s.remove(),b(t,o,e,0),o.nodes().forEach((function(t){t.layoutDimensions=()=>{const e=t.data();return{w:e.width,h:e.height}}})),o.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),o.ready((t=>{r.l.info("Ready",t),i(o)}))}))}n.use(s);const _={db:m,renderer:{draw:async(t,e,i,n)=>{var s,a;r.l.debug("Rendering mindmap diagram\n"+t);const o=n.db,l=o.getMindmap();if(!l)return;const c=(0,r.c)();c.htmlLabels=!1;const h=(0,r.A)(e),d=h.append("g");d.attr("class","mindmap-edges");const u=h.append("g");u.attr("class","mindmap-nodes"),x(o,u,l,-1,c);const p=await k(l,c);!function(t,e){e.edges().map(((e,i)=>{const n=e.data();if(e[0]._private.bodyBounds){const s=e[0]._private.rscratch;r.l.trace("Edge: ",i,n),t.insert("path").attr("d",`M ${s.startX},${s.startY} L ${s.midX},${s.midY} L${s.endX},${s.endY} `).attr("class","edge section-edge-"+n.section+" edge-depth-"+n.depth)}}))}(d,p),function(t,e){e.nodes().map(((e,i)=>{const n=e.data();n.x=e.position().x,n.y=e.position().y,function(t,e){const i=t.getElementById(e.id),r=e.x||0,n=e.y||0;i.attr("transform","translate("+r+","+n+")")}(t,n);const s=t.getElementById(n.nodeId);r.l.info("Id:",i,"Position: (",e.position().x,", ",e.position().y,")",n),s.attr("transform",`translate(${e.position().x-n.width/2}, ${e.position().y-n.height/2})`),s.attr("attr",`apa-${i})`)}))}(o,p),(0,r.o)(void 0,h,(null==(s=c.mindmap)?void 0:s.padding)??r.B.mindmap.padding,(null==(a=c.mindmap)?void 0:a.useMaxWidth)??r.B.mindmap.useMaxWidth)}},parser:u,styles:t=>`\n .edge {\n stroke-width: 3;\n }\n ${(t=>{let e="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++)t["lineColor"+e]=t["lineColor"+e]||t["cScaleInv"+e],(0,l.Z)(t["lineColor"+e])?t["lineColor"+e]=(0,c.Z)(t["lineColor"+e],20):t["lineColor"+e]=(0,h.Z)(t["lineColor"+e],20);for(let i=0;i<t.THEME_COLOR_LIMIT;i++){const r=""+(17-3*i);e+=`\n .section-${i-1} rect, .section-${i-1} path, .section-${i-1} circle, .section-${i-1} polygon, .section-${i-1} path {\n fill: ${t["cScale"+i]};\n }\n .section-${i-1} text {\n fill: ${t["cScaleLabel"+i]};\n }\n .node-icon-${i-1} {\n font-size: 40px;\n color: ${t["cScaleLabel"+i]};\n }\n .section-edge-${i-1}{\n stroke: ${t["cScale"+i]};\n }\n .edge-depth-${i-1}{\n stroke-width: ${r};\n }\n .section-${i-1} line {\n stroke: ${t["cScaleInv"+i]} ;\n stroke-width: 3;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n `}return e})(t)}\n .section-root rect, .section-root path, .section-root circle, .section-root polygon {\n fill: ${t.git0};\n }\n .section-root text {\n fill: ${t.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .mindmap-node-label {\n dy: 1em;\n alignment-baseline: middle;\n text-anchor: middle;\n dominant-baseline: middle;\n text-align: center;\n }\n`}},52309:(t,e,i)=>{i.d(e,{diagram:()=>g});var r=i(98539),n=i(37724),s=(i(27484),i(17967),i(27856),function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,3],i=[1,4],r=[1,5],n=[1,6],s=[1,10,12,14,16,18,19,20,21,22],a=[2,4],o=[1,5,10,12,14,16,18,19,20,21,22],l=[20,21,22],c=[2,7],h=[1,12],d=[1,13],u=[1,14],p=[1,15],g=[1,16],y=[1,17],f={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,PIE:5,document:6,showData:7,line:8,statement:9,txt:10,value:11,title:12,title_value:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,section:19,NEWLINE:20,";":21,EOF:22,$accept:0,$end:1},terminals_:{2:"error",5:"PIE",7:"showData",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:"NEWLINE",21:";",22:"EOF"},productions_:[0,[3,2],[3,2],[3,3],[6,0],[6,2],[8,2],[9,0],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[4,1],[4,1],[4,1]],performAction:function(t,e,i,r,n,s,a){var o=s.length-1;switch(n){case 3:r.setShowData(!0);break;case 6:this.$=s[o-1];break;case 8:r.addSection(s[o-1],r.cleanupValue(s[o]));break;case 9:this.$=s[o].trim(),r.setDiagramTitle(this.$);break;case 10:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 11:case 12:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 13:r.addSection(s[o].substr(8)),this.$=s[o].substr(8)}},table:[{3:1,4:2,5:e,20:i,21:r,22:n},{1:[3]},{3:7,4:2,5:e,20:i,21:r,22:n},t(s,a,{6:8,7:[1,9]}),t(o,[2,14]),t(o,[2,15]),t(o,[2,16]),{1:[2,1]},t(l,c,{8:10,9:11,1:[2,2],10:h,12:d,14:u,16:p,18:g,19:y}),t(s,a,{6:18}),t(s,[2,5]),{4:19,20:i,21:r,22:n},{11:[1,20]},{13:[1,21]},{15:[1,22]},{17:[1,23]},t(l,[2,12]),t(l,[2,13]),t(l,c,{8:10,9:11,1:[2,3],10:h,12:d,14:u,16:p,18:g,19:y}),t(s,[2,6]),t(l,[2,8]),t(l,[2,9]),t(l,[2,10]),t(l,[2,11])],defaultActions:{7:[2,1]},parseError:function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)},parse:function(t){var e=this,i=[0],r=[],n=[null],s=[],a=this.table,o="",l=0,c=0,h=s.slice.call(arguments,1),d=Object.create(this.lexer),u={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(u.yy[p]=this.yy[p]);d.setInput(t,u.yy),u.yy.lexer=d,u.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var g=d.yylloc;s.push(g);var y=d.options&&d.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,x,b,k,_,T,C,E,S={};;){if(m=i[i.length-1],this.defaultActions[m]?x=this.defaultActions[m]:(null==f&&(E=void 0,"number"!=typeof(E=r.pop()||d.lex()||1)&&(E instanceof Array&&(E=(r=E).pop()),E=e.symbols_[E]||E),f=E),x=a[m]&&a[m][f]),void 0===x||!x.length||!x[0]){var w="";for(k in C=[],a[m])this.terminals_[k]&&k>2&&C.push("'"+this.terminals_[k]+"'");w=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(w,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:g,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+f);switch(x[0]){case 1:i.push(f),n.push(d.yytext),s.push(d.yylloc),i.push(x[1]),f=null,c=d.yyleng,o=d.yytext,l=d.yylineno,g=d.yylloc;break;case 2:if(_=this.productions_[x[1]][1],S.$=n[n.length-_],S._$={first_line:s[s.length-(_||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(_||1)].first_column,last_column:s[s.length-1].last_column},y&&(S._$.range=[s[s.length-(_||1)].range[0],s[s.length-1].range[1]]),void 0!==(b=this.performAction.apply(S,[o,c,l,u.yy,x[1],n,s].concat(h))))return b;_&&(i=i.slice(0,-1*_*2),n=n.slice(0,-1*_),s=s.slice(0,-1*_)),i.push(this.productions_[x[1]][0]),n.push(S.$),s.push(S._$),T=a[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}},m={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,i=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 r=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[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 i,r,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.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],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var s in n)this[s]=n[s];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,i,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&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,i,r){switch(i){case 0:case 1:case 3:case 4:break;case 2:return 20;case 5:return this.begin("title"),12;case 6:return this.popState(),"title_value";case 7:return this.begin("acc_title"),14;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),16;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:case 15:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:this.begin("string");break;case 16:return"txt";case 17:return 5;case 18:return 7;case 19:return"value";case 20:return 22}},rules:[/^(?:%%(?!\{)[^\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:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[6],inclusive:!1},string:{rules:[15,16],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,7,9,11,14,17,18,19,20],inclusive:!0}}};function x(){this.yy={}}return f.lexer=m,x.prototype=f,f.Parser=x,new x}());s.parser=s;const a=s,o=r.B.pie,l={},c=!1;let h=l,d=c;const u=structuredClone(o),p={getConfig:()=>structuredClone(u),clear:()=>{h=structuredClone(l),d=c,(0,r.v)()},setDiagramTitle:r.q,getDiagramTitle:r.t,setAccTitle:r.s,getAccTitle:r.g,setAccDescription:r.b,getAccDescription:r.a,addSection:(t,e)=>{t=(0,r.d)(t,(0,r.c)()),void 0===h[t]&&(h[t]=e,r.l.debug(`added new section: ${t}, with value: ${e}`))},getSections:()=>h,cleanupValue:t=>(":"===t.substring(0,1)&&(t=t.substring(1).trim()),Number(t.trim())),setShowData:t=>{d=t},getShowData:()=>d},g={parser:a,db:p,renderer:{draw:(t,e,i,s)=>{r.l.debug("rendering pie chart\n"+t);const a=s.db,o=(0,r.c)(),l=(0,r.C)(a.getConfig(),o.pie),c=18,h=450,d=(0,r.A)(e),u=d.append("g"),p=a.getSections();u.attr("transform","translate(225,225)");const{themeVariables:g}=o;let[y]=(0,r.D)(g.pieOuterStrokeWidth);y??(y=2);const f=l.textPosition,m=Math.min(450,h)/2-40,x=(0,n.Nb1)().innerRadius(0).outerRadius(m),b=(0,n.Nb1)().innerRadius(m*f).outerRadius(m*f);u.append("circle").attr("cx",0).attr("cy",0).attr("r",m+y/2).attr("class","pieOuterCircle");const k=(t=>{const e=Object.entries(t).map((t=>({label:t[0],value:t[1]}))).sort(((t,e)=>e.value-t.value));return(0,n.ve8)().value((t=>t.value))(e)})(p),_=[g.pie1,g.pie2,g.pie3,g.pie4,g.pie5,g.pie6,g.pie7,g.pie8,g.pie9,g.pie10,g.pie11,g.pie12],T=(0,n.PKp)(_);u.selectAll("mySlices").data(k).enter().append("path").attr("d",x).attr("fill",(t=>T(t.data.label))).attr("class","pieCircle");let C=0;Object.keys(p).forEach((t=>{C+=p[t]})),u.selectAll("mySlices").data(k).enter().append("text").text((t=>(t.data.value/C*100).toFixed(0)+"%")).attr("transform",(t=>"translate("+b.centroid(t)+")")).style("text-anchor","middle").attr("class","slice"),u.append("text").text(a.getDiagramTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText");const E=u.selectAll(".legend").data(T.domain()).enter().append("g").attr("class","legend").attr("transform",((t,e)=>"translate(216,"+(22*e-22*T.domain().length/2)+")"));E.append("rect").attr("width",c).attr("height",c).style("fill",T).style("stroke",T),E.data(k).append("text").attr("x",22).attr("y",14).text((t=>{const{label:e,value:i}=t.data;return a.getShowData()?`${e} [${i}]`:e}));const S=512+Math.max(...E.selectAll("text").nodes().map((t=>(null==t?void 0:t.getBoundingClientRect().width)??0)));d.attr("viewBox",`0 0 ${S} 450`),(0,r.i)(d,h,S,l.useMaxWidth)}},styles:t=>`\n .pieCircle{\n stroke: ${t.pieStrokeColor};\n stroke-width : ${t.pieStrokeWidth};\n opacity : ${t.pieOpacity};\n }\n .pieOuterCircle{\n stroke: ${t.pieOuterStrokeColor};\n stroke-width: ${t.pieOuterStrokeWidth};\n fill: none;\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`}},81517:(t,e,i)=>{i.d(e,{diagram:()=>d});var r=i(98539),n=i(37724),s=(i(27484),i(17967),i(27856),function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,3],i=[1,4],r=[1,5],n=[1,6],s=[1,7],a=[1,5,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],o=[1,5,6,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],l=[32,33,34],c=[2,7],h=[1,13],d=[1,17],u=[1,18],p=[1,19],g=[1,20],y=[1,21],f=[1,22],m=[1,23],x=[1,24],b=[1,25],k=[1,26],_=[1,27],T=[1,30],C=[1,31],E=[1,32],S=[1,33],w=[1,34],v=[1,35],A=[1,36],L=[1,37],B=[1,38],I=[1,39],D=[1,40],$=[1,41],F=[1,42],O=[1,57],N=[1,58],R=[5,22,26,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51],M={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,SPACE:5,QUADRANT:6,document:7,line:8,statement:9,axisDetails:10,quadrantDetails:11,points: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,text:21,point_start:22,point_x:23,point_y:24,"X-AXIS":25,"AXIS-TEXT-DELIMITER":26,"Y-AXIS":27,QUADRANT_1:28,QUADRANT_2:29,QUADRANT_3:30,QUADRANT_4:31,NEWLINE:32,SEMI:33,EOF:34,alphaNumToken:35,textNoTagsToken:36,STR:37,MD_STR:38,alphaNum:39,PUNCTUATION:40,AMP:41,NUM:42,ALPHA:43,COMMA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,UNDERSCORE:50,MINUS:51,$accept:0,$end:1},terminals_:{2:"error",5:"SPACE",6:"QUADRANT",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",22:"point_start",23:"point_x",24:"point_y",25:"X-AXIS",26:"AXIS-TEXT-DELIMITER",27:"Y-AXIS",28:"QUADRANT_1",29:"QUADRANT_2",30:"QUADRANT_3",31:"QUADRANT_4",32:"NEWLINE",33:"SEMI",34:"EOF",37:"STR",38:"MD_STR",40:"PUNCTUATION",41:"AMP",42:"NUM",43:"ALPHA",44:"COMMA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"UNDERSCORE",51:"MINUS"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[9,0],[9,2],[9,1],[9,1],[9,1],[9,2],[9,2],[9,2],[9,1],[9,1],[12,4],[10,4],[10,3],[10,2],[10,4],[10,3],[10,2],[11,2],[11,2],[11,2],[11,2],[4,1],[4,1],[4,1],[21,1],[21,2],[21,1],[21,1],[39,1],[39,2],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[36,1],[36,1],[36,1]],performAction:function(t,e,i,r,n,s,a){var o=s.length-1;switch(n){case 12:this.$=s[o].trim(),r.setDiagramTitle(this.$);break;case 13:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 14:case 15:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 16:r.addSection(s[o].substr(8)),this.$=s[o].substr(8);break;case 17:r.addPoint(s[o-3],s[o-1],s[o]);break;case 18:r.setXAxisLeftText(s[o-2]),r.setXAxisRightText(s[o]);break;case 19:s[o-1].text+=" ⟶ ",r.setXAxisLeftText(s[o-1]);break;case 20:r.setXAxisLeftText(s[o]);break;case 21:r.setYAxisBottomText(s[o-2]),r.setYAxisTopText(s[o]);break;case 22:s[o-1].text+=" ⟶ ",r.setYAxisBottomText(s[o-1]);break;case 23:r.setYAxisBottomText(s[o]);break;case 24:r.setQuadrant1Text(s[o]);break;case 25:r.setQuadrant2Text(s[o]);break;case 26:r.setQuadrant3Text(s[o]);break;case 27:r.setQuadrant4Text(s[o]);break;case 31:case 33:this.$={text:s[o],type:"text"};break;case 32:this.$={text:s[o-1].text+""+s[o],type:s[o-1].type};break;case 34:this.$={text:s[o],type:"markdown"};break;case 35:this.$=s[o];break;case 36:this.$=s[o-1]+""+s[o]}},table:[{3:1,4:2,5:e,6:i,32:r,33:n,34:s},{1:[3]},{3:8,4:2,5:e,6:i,32:r,33:n,34:s},{3:9,4:2,5:e,6:i,32:r,33:n,34:s},t(a,[2,4],{7:10}),t(o,[2,28]),t(o,[2,29]),t(o,[2,30]),{1:[2,1]},{1:[2,2]},t(l,c,{8:11,9:12,10:14,11:15,12:16,21:28,35:29,1:[2,3],5:h,13:d,15:u,17:p,19:g,20:y,25:f,27:m,28:x,29:b,30:k,31:_,37:T,38:C,40:E,41:S,42:w,43:v,44:A,45:L,46:B,47:I,48:D,49:$,50:F}),t(a,[2,5]),{4:43,32:r,33:n,34:s},t(l,c,{10:14,11:15,12:16,21:28,35:29,9:44,5:h,13:d,15:u,17:p,19:g,20:y,25:f,27:m,28:x,29:b,30:k,31:_,37:T,38:C,40:E,41:S,42:w,43:v,44:A,45:L,46:B,47:I,48:D,49:$,50:F}),t(l,[2,9]),t(l,[2,10]),t(l,[2,11]),{14:[1,45]},{16:[1,46]},{18:[1,47]},t(l,[2,15]),t(l,[2,16]),{21:48,35:29,37:T,38:C,40:E,41:S,42:w,43:v,44:A,45:L,46:B,47:I,48:D,49:$,50:F},{21:49,35:29,37:T,38:C,40:E,41:S,42:w,43:v,44:A,45:L,46:B,47:I,48:D,49:$,50:F},{21:50,35:29,37:T,38:C,40:E,41:S,42:w,43:v,44:A,45:L,46:B,47:I,48:D,49:$,50:F},{21:51,35:29,37:T,38:C,40:E,41:S,42:w,43:v,44:A,45:L,46:B,47:I,48:D,49:$,50:F},{21:52,35:29,37:T,38:C,40:E,41:S,42:w,43:v,44:A,45:L,46:B,47:I,48:D,49:$,50:F},{21:53,35:29,37:T,38:C,40:E,41:S,42:w,43:v,44:A,45:L,46:B,47:I,48:D,49:$,50:F},{5:O,22:[1,54],35:56,36:55,40:E,41:S,42:w,43:v,44:A,45:L,46:B,47:I,48:D,49:$,50:F,51:N},t(R,[2,31]),t(R,[2,33]),t(R,[2,34]),t(R,[2,37]),t(R,[2,38]),t(R,[2,39]),t(R,[2,40]),t(R,[2,41]),t(R,[2,42]),t(R,[2,43]),t(R,[2,44]),t(R,[2,45]),t(R,[2,46]),t(R,[2,47]),t(a,[2,6]),t(l,[2,8]),t(l,[2,12]),t(l,[2,13]),t(l,[2,14]),t(l,[2,20],{36:55,35:56,5:O,26:[1,59],40:E,41:S,42:w,43:v,44:A,45:L,46:B,47:I,48:D,49:$,50:F,51:N}),t(l,[2,23],{36:55,35:56,5:O,26:[1,60],40:E,41:S,42:w,43:v,44:A,45:L,46:B,47:I,48:D,49:$,50:F,51:N}),t(l,[2,24],{36:55,35:56,5:O,40:E,41:S,42:w,43:v,44:A,45:L,46:B,47:I,48:D,49:$,50:F,51:N}),t(l,[2,25],{36:55,35:56,5:O,40:E,41:S,42:w,43:v,44:A,45:L,46:B,47:I,48:D,49:$,50:F,51:N}),t(l,[2,26],{36:55,35:56,5:O,40:E,41:S,42:w,43:v,44:A,45:L,46:B,47:I,48:D,49:$,50:F,51:N}),t(l,[2,27],{36:55,35:56,5:O,40:E,41:S,42:w,43:v,44:A,45:L,46:B,47:I,48:D,49:$,50:F,51:N}),{23:[1,61]},t(R,[2,32]),t(R,[2,48]),t(R,[2,49]),t(R,[2,50]),t(l,[2,19],{35:29,21:62,37:T,38:C,40:E,41:S,42:w,43:v,44:A,45:L,46:B,47:I,48:D,49:$,50:F}),t(l,[2,22],{35:29,21:63,37:T,38:C,40:E,41:S,42:w,43:v,44:A,45:L,46:B,47:I,48:D,49:$,50:F}),{24:[1,64]},t(l,[2,18],{36:55,35:56,5:O,40:E,41:S,42:w,43:v,44:A,45:L,46:B,47:I,48:D,49:$,50:F,51:N}),t(l,[2,21],{36:55,35:56,5:O,40:E,41:S,42:w,43:v,44:A,45:L,46:B,47:I,48:D,49:$,50:F,51:N}),t(l,[2,17])],defaultActions:{8:[2,1],9:[2,2]},parseError:function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)},parse:function(t){var e=this,i=[0],r=[],n=[null],s=[],a=this.table,o="",l=0,c=0,h=s.slice.call(arguments,1),d=Object.create(this.lexer),u={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(u.yy[p]=this.yy[p]);d.setInput(t,u.yy),u.yy.lexer=d,u.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var g=d.yylloc;s.push(g);var y=d.options&&d.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,x,b,k,_,T,C,E,S={};;){if(m=i[i.length-1],this.defaultActions[m]?x=this.defaultActions[m]:(null==f&&(E=void 0,"number"!=typeof(E=r.pop()||d.lex()||1)&&(E instanceof Array&&(E=(r=E).pop()),E=e.symbols_[E]||E),f=E),x=a[m]&&a[m][f]),void 0===x||!x.length||!x[0]){var w="";for(k in C=[],a[m])this.terminals_[k]&&k>2&&C.push("'"+this.terminals_[k]+"'");w=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(w,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:g,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+f);switch(x[0]){case 1:i.push(f),n.push(d.yytext),s.push(d.yylloc),i.push(x[1]),f=null,c=d.yyleng,o=d.yytext,l=d.yylineno,g=d.yylloc;break;case 2:if(_=this.productions_[x[1]][1],S.$=n[n.length-_],S._$={first_line:s[s.length-(_||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(_||1)].first_column,last_column:s[s.length-1].last_column},y&&(S._$.range=[s[s.length-(_||1)].range[0],s[s.length-1].range[1]]),void 0!==(b=this.performAction.apply(S,[o,c,l,u.yy,x[1],n,s].concat(h))))return b;_&&(i=i.slice(0,-1*_*2),n=n.slice(0,-1*_),s=s.slice(0,-1*_)),i.push(this.productions_[x[1]][0]),n.push(S.$),s.push(S._$),T=a[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}},P={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,i=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 r=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[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 i,r,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.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],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var s in n)this[s]=n[s];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,i,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&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,i,r){switch(i){case 0:case 1:case 3:break;case 2:return 32;case 4:return this.begin("title"),13;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),15;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),17;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 22:case 24:case 28:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 25;case 14:return 27;case 15:return 26;case 16:return 28;case 17:return 29;case 18:return 30;case 19:return 31;case 20:this.begin("md_string");break;case 21:return"MD_STR";case 23:this.begin("string");break;case 25:return"STR";case 26:return this.begin("point_start"),22;case 27:return this.begin("point_x"),23;case 29:this.popState(),this.begin("point_y");break;case 30:return this.popState(),24;case 31:return 6;case 32:return 43;case 33:return"COLON";case 34:return 45;case 35:return 44;case 36:case 37:return 46;case 38:return 47;case 39:return 49;case 40:return 50;case 41:return 48;case 42:return 41;case 43:return 51;case 44:return 42;case 45:return 5;case 46:return 33;case 47:return 40;case 48:return 34}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/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,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{point_y:{rules:[30],inclusive:!1},point_x:{rules:[29],inclusive:!1},point_start:{rules:[27,28],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[21,22],inclusive:!1},string:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,23,26,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};function q(){this.yy={}}return M.lexer=P,q.prototype=M,M.Parser=q,new q}());s.parser=s;const a=s,o=(0,r.E)();const l=(0,r.c)();function c(t){return(0,r.d)(t.trim(),l)}const h=new class{constructor(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){var t,e,i,n,s,a,o,l,c,h,d,u,p,g,y,f,m,x;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:(null==(t=r.B.quadrantChart)?void 0:t.chartWidth)||500,chartWidth:(null==(e=r.B.quadrantChart)?void 0:e.chartHeight)||500,titlePadding:(null==(i=r.B.quadrantChart)?void 0:i.titlePadding)||10,titleFontSize:(null==(n=r.B.quadrantChart)?void 0:n.titleFontSize)||20,quadrantPadding:(null==(s=r.B.quadrantChart)?void 0:s.quadrantPadding)||5,xAxisLabelPadding:(null==(a=r.B.quadrantChart)?void 0:a.xAxisLabelPadding)||5,yAxisLabelPadding:(null==(o=r.B.quadrantChart)?void 0:o.yAxisLabelPadding)||5,xAxisLabelFontSize:(null==(l=r.B.quadrantChart)?void 0:l.xAxisLabelFontSize)||16,yAxisLabelFontSize:(null==(c=r.B.quadrantChart)?void 0:c.yAxisLabelFontSize)||16,quadrantLabelFontSize:(null==(h=r.B.quadrantChart)?void 0:h.quadrantLabelFontSize)||16,quadrantTextTopPadding:(null==(d=r.B.quadrantChart)?void 0:d.quadrantTextTopPadding)||5,pointTextPadding:(null==(u=r.B.quadrantChart)?void 0:u.pointTextPadding)||5,pointLabelFontSize:(null==(p=r.B.quadrantChart)?void 0:p.pointLabelFontSize)||12,pointRadius:(null==(g=r.B.quadrantChart)?void 0:g.pointRadius)||5,xAxisPosition:(null==(y=r.B.quadrantChart)?void 0:y.xAxisPosition)||"top",yAxisPosition:(null==(f=r.B.quadrantChart)?void 0:f.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:(null==(m=r.B.quadrantChart)?void 0:m.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:(null==(x=r.B.quadrantChart)?void 0:x.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:o.quadrant1Fill,quadrant2Fill:o.quadrant2Fill,quadrant3Fill:o.quadrant3Fill,quadrant4Fill:o.quadrant4Fill,quadrant1TextFill:o.quadrant1TextFill,quadrant2TextFill:o.quadrant2TextFill,quadrant3TextFill:o.quadrant3TextFill,quadrant4TextFill:o.quadrant4TextFill,quadrantPointFill:o.quadrantPointFill,quadrantPointTextFill:o.quadrantPointTextFill,quadrantXAxisTextFill:o.quadrantXAxisTextFill,quadrantYAxisTextFill:o.quadrantYAxisTextFill,quadrantTitleFill:o.quadrantTitleFill,quadrantInternalBorderStrokeFill:o.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:o.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),r.l.info("clear called")}setData(t){this.data={...this.data,...t}}addPoints(t){this.data.points=[...t,...this.data.points]}setConfig(t){r.l.trace("setConfig called with: ",t),this.config={...this.config,...t}}setThemeConfig(t){r.l.trace("setThemeConfig called with: ",t),this.themeConfig={...this.themeConfig,...t}}calculateSpace(t,e,i,r){const n=2*this.config.xAxisLabelPadding+this.config.xAxisLabelFontSize,s={top:"top"===t&&e?n:0,bottom:"bottom"===t&&e?n:0},a=2*this.config.yAxisLabelPadding+this.config.yAxisLabelFontSize,o={left:"left"===this.config.yAxisPosition&&i?a:0,right:"right"===this.config.yAxisPosition&&i?a:0},l=this.config.titleFontSize+2*this.config.titlePadding,c={top:r?l:0},h=this.config.quadrantPadding+o.left,d=this.config.quadrantPadding+s.top+c.top,u=this.config.chartWidth-2*this.config.quadrantPadding-o.left-o.right,p=this.config.chartHeight-2*this.config.quadrantPadding-s.top-s.bottom-c.top;return{xAxisSpace:s,yAxisSpace:o,titleSpace:c,quadrantSpace:{quadrantLeft:h,quadrantTop:d,quadrantWidth:u,quadrantHalfWidth:u/2,quadrantHeight:p,quadrantHalfHeight:p/2}}}getAxisLabels(t,e,i,r){const{quadrantSpace:n,titleSpace:s}=r,{quadrantHalfHeight:a,quadrantHeight:o,quadrantLeft:l,quadrantHalfWidth:c,quadrantTop:h,quadrantWidth:d}=n,u=Boolean(this.data.xAxisRightText),p=Boolean(this.data.yAxisTopText),g=[];return this.data.xAxisLeftText&&e&&g.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:l+(u?c/2:0),y:"top"===t?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+h+o+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&e&&g.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:l+c+(u?c/2:0),y:"top"===t?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+h+o+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&i&&g.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+l+d+this.config.quadrantPadding,y:h+o-(p?a/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&i&&g.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+l+d+this.config.quadrantPadding,y:h+a-(p?a/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:-90}),g}getQuadrants(t){const{quadrantSpace:e}=t,{quadrantHalfHeight:i,quadrantLeft:r,quadrantHalfWidth:n,quadrantTop:s}=e,a=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:r+n,y:s,width:n,height:i,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:r,y:s,width:n,height:i,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:r,y:s+i,width:n,height:i,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:r+n,y:s+i,width:n,height:i,fill:this.themeConfig.quadrant4Fill}];for(const t of a)t.text.x=t.x+t.width/2,0===this.data.points.length?(t.text.y=t.y+t.height/2,t.text.horizontalPos="middle"):(t.text.y=t.y+this.config.quadrantTextTopPadding,t.text.horizontalPos="top");return a}getQuadrantPoints(t){const{quadrantSpace:e}=t,{quadrantHeight:i,quadrantLeft:r,quadrantTop:s,quadrantWidth:a}=e,o=(0,n.BYU)().domain([0,1]).range([r,a+r]),l=(0,n.BYU)().domain([0,1]).range([i+s,s]);return this.data.points.map((t=>({x:o(t.x),y:l(t.y),fill:this.themeConfig.quadrantPointFill,radius:this.config.pointRadius,text:{text:t.text,fill:this.themeConfig.quadrantPointTextFill,x:o(t.x),y:l(t.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0}})))}getBorders(t){const e=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:i}=t,{quadrantHalfHeight:r,quadrantHeight:n,quadrantLeft:s,quadrantHalfWidth:a,quadrantTop:o,quadrantWidth:l}=i;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-e,y1:o,x2:s+l+e,y2:o},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+l,y1:o+e,x2:s+l,y2:o+n-e},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-e,y1:o+n,x2:s+l+e,y2:o+n},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:o+e,x2:s,y2:o+n-e},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+a,y1:o+e,x2:s+a,y2:o+n-e},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+e,y1:o+r,x2:s+l-e,y2:o+r}]}getTitle(t){if(t)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const t=this.config.showXAxis&&!(!this.data.xAxisLeftText&&!this.data.xAxisRightText),e=this.config.showYAxis&&!(!this.data.yAxisTopText&&!this.data.yAxisBottomText),i=this.config.showTitle&&!!this.data.titleText,r=this.data.points.length>0?"bottom":this.config.xAxisPosition,n=this.calculateSpace(r,t,e,i);return{points:this.getQuadrantPoints(n),quadrants:this.getQuadrants(n),axisLabels:this.getAxisLabels(r,t,e,n),borderLines:this.getBorders(n),title:this.getTitle(i)}}};const d={parser:a,db:{setWidth:function(t){h.setConfig({chartWidth:t})},setHeight:function(t){h.setConfig({chartHeight:t})},setQuadrant1Text:function(t){h.setData({quadrant1Text:c(t.text)})},setQuadrant2Text:function(t){h.setData({quadrant2Text:c(t.text)})},setQuadrant3Text:function(t){h.setData({quadrant3Text:c(t.text)})},setQuadrant4Text:function(t){h.setData({quadrant4Text:c(t.text)})},setXAxisLeftText:function(t){h.setData({xAxisLeftText:c(t.text)})},setXAxisRightText:function(t){h.setData({xAxisRightText:c(t.text)})},setYAxisTopText:function(t){h.setData({yAxisTopText:c(t.text)})},setYAxisBottomText:function(t){h.setData({yAxisBottomText:c(t.text)})},addPoint:function(t,e,i){h.addPoints([{x:e,y:i,text:c(t.text)}])},getQuadrantData:function(){const t=(0,r.c)(),{themeVariables:e,quadrantChart:i}=t;return i&&h.setConfig(i),h.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),h.setData({titleText:(0,r.t)()}),h.build()},clear:function(){h.clear(),(0,r.v)()},setAccTitle:r.s,getAccTitle:r.g,setDiagramTitle:r.q,getDiagramTitle:r.t,getAccDescription:r.a,setAccDescription:r.b},renderer:{draw:(t,e,i,s)=>{var a,o,l;function c(t){return"top"===t?"hanging":"middle"}function h(t){return"left"===t?"start":"middle"}function d(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}const u=(0,r.c)();r.l.debug("Rendering quadrant chart\n"+t);const p=u.securityLevel;let g;"sandbox"===p&&(g=(0,n.Ys)("#i"+e));const y=("sandbox"===p?(0,n.Ys)(g.nodes()[0].contentDocument.body):(0,n.Ys)("body")).select(`[id="${e}"]`),f=y.append("g").attr("class","main"),m=(null==(a=u.quadrantChart)?void 0:a.chartWidth)||500,x=(null==(o=u.quadrantChart)?void 0:o.chartHeight)||500;(0,r.i)(y,x,m,(null==(l=u.quadrantChart)?void 0:l.useMaxWidth)||!0),y.attr("viewBox","0 0 "+m+" "+x),s.db.setHeight(x),s.db.setWidth(m);const b=s.db.getQuadrantData(),k=f.append("g").attr("class","quadrants"),_=f.append("g").attr("class","border"),T=f.append("g").attr("class","data-points"),C=f.append("g").attr("class","labels"),E=f.append("g").attr("class","title");b.title&&E.append("text").attr("x",0).attr("y",0).attr("fill",b.title.fill).attr("font-size",b.title.fontSize).attr("dominant-baseline",c(b.title.horizontalPos)).attr("text-anchor",h(b.title.verticalPos)).attr("transform",d(b.title)).text(b.title.text),b.borderLines&&_.selectAll("line").data(b.borderLines).enter().append("line").attr("x1",(t=>t.x1)).attr("y1",(t=>t.y1)).attr("x2",(t=>t.x2)).attr("y2",(t=>t.y2)).style("stroke",(t=>t.strokeFill)).style("stroke-width",(t=>t.strokeWidth));const S=k.selectAll("g.quadrant").data(b.quadrants).enter().append("g").attr("class","quadrant");S.append("rect").attr("x",(t=>t.x)).attr("y",(t=>t.y)).attr("width",(t=>t.width)).attr("height",(t=>t.height)).attr("fill",(t=>t.fill)),S.append("text").attr("x",0).attr("y",0).attr("fill",(t=>t.text.fill)).attr("font-size",(t=>t.text.fontSize)).attr("dominant-baseline",(t=>c(t.text.horizontalPos))).attr("text-anchor",(t=>h(t.text.verticalPos))).attr("transform",(t=>d(t.text))).text((t=>t.text.text));C.selectAll("g.label").data(b.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text((t=>t.text)).attr("fill",(t=>t.fill)).attr("font-size",(t=>t.fontSize)).attr("dominant-baseline",(t=>c(t.horizontalPos))).attr("text-anchor",(t=>h(t.verticalPos))).attr("transform",(t=>d(t)));const w=T.selectAll("g.data-point").data(b.points).enter().append("g").attr("class","data-point");w.append("circle").attr("cx",(t=>t.x)).attr("cy",(t=>t.y)).attr("r",(t=>t.radius)).attr("fill",(t=>t.fill)),w.append("text").attr("x",0).attr("y",0).text((t=>t.text.text)).attr("fill",(t=>t.text.fill)).attr("font-size",(t=>t.text.fontSize)).attr("dominant-baseline",(t=>c(t.text.horizontalPos))).attr("text-anchor",(t=>h(t.text.verticalPos))).attr("transform",(t=>d(t.text)))}},styles:()=>""}},99703:(t,e,i)=>{i.d(e,{diagram:()=>S});var r=i(98539),n=i(37724),s=i(33771),a=i(45625),o=(i(27484),i(17967),i(27856),function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,3],i=[1,4],r=[1,5],n=[1,6],s=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],a=[1,18],o=[2,7],l=[1,22],c=[1,23],h=[1,24],d=[1,25],u=[1,26],p=[1,27],g=[1,20],y=[1,28],f=[1,29],m=[62,63],x=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],b=[1,47],k=[1,48],_=[1,49],T=[1,50],C=[1,51],E=[1,52],S=[1,53],w=[53,54],v=[1,64],A=[1,60],L=[1,61],B=[1,62],I=[1,63],D=[1,65],$=[1,69],F=[1,70],O=[1,67],N=[1,68],R=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],M={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:function(t,e,i,r,n,s,a){var o=s.length-1;switch(n){case 4:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 5:case 6:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:r.addRequirement(s[o-3],s[o-4]);break;case 14:r.setNewReqId(s[o-2]);break;case 15:r.setNewReqText(s[o-2]);break;case 16:r.setNewReqRisk(s[o-2]);break;case 17:r.setNewReqVerifyMethod(s[o-2]);break;case 20:this.$=r.RequirementType.REQUIREMENT;break;case 21:this.$=r.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=r.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=r.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=r.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=r.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=r.RiskLevel.LOW_RISK;break;case 27:this.$=r.RiskLevel.MED_RISK;break;case 28:this.$=r.RiskLevel.HIGH_RISK;break;case 29:this.$=r.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=r.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=r.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=r.VerifyType.VERIFY_TEST;break;case 33:r.addElement(s[o-3]);break;case 34:r.setNewElementType(s[o-2]);break;case 35:r.setNewElementDocRef(s[o-2]);break;case 38:r.addRelationship(s[o-2],s[o],s[o-4]);break;case 39:r.addRelationship(s[o-2],s[o-4],s[o]);break;case 40:this.$=r.Relationships.CONTAINS;break;case 41:this.$=r.Relationships.COPIES;break;case 42:this.$=r.Relationships.DERIVES;break;case 43:this.$=r.Relationships.SATISFIES;break;case 44:this.$=r.Relationships.VERIFIES;break;case 45:this.$=r.Relationships.REFINES;break;case 46:this.$=r.Relationships.TRACES}},table:[{3:1,4:2,6:e,9:i,11:r,13:n},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:i,11:r,13:n},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(s,[2,6]),{3:12,4:2,6:e,9:i,11:r,13:n},{1:[2,2]},{4:17,5:a,7:13,8:o,9:i,11:r,13:n,14:14,15:15,16:16,17:19,23:21,31:l,32:c,33:h,34:d,35:u,36:p,44:g,62:y,63:f},t(s,[2,4]),t(s,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:a,7:31,8:o,9:i,11:r,13:n,14:14,15:15,16:16,17:19,23:21,31:l,32:c,33:h,34:d,35:u,36:p,44:g,62:y,63:f},{4:17,5:a,7:32,8:o,9:i,11:r,13:n,14:14,15:15,16:16,17:19,23:21,31:l,32:c,33:h,34:d,35:u,36:p,44:g,62:y,63:f},{4:17,5:a,7:33,8:o,9:i,11:r,13:n,14:14,15:15,16:16,17:19,23:21,31:l,32:c,33:h,34:d,35:u,36:p,44:g,62:y,63:f},{4:17,5:a,7:34,8:o,9:i,11:r,13:n,14:14,15:15,16:16,17:19,23:21,31:l,32:c,33:h,34:d,35:u,36:p,44:g,62:y,63:f},{4:17,5:a,7:35,8:o,9:i,11:r,13:n,14:14,15:15,16:16,17:19,23:21,31:l,32:c,33:h,34:d,35:u,36:p,44:g,62:y,63:f},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},t(m,[2,20]),t(m,[2,21]),t(m,[2,22]),t(m,[2,23]),t(m,[2,24]),t(m,[2,25]),t(x,[2,49]),t(x,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:b,56:k,57:_,58:T,59:C,60:E,61:S},{52:54,55:b,56:k,57:_,58:T,59:C,60:E,61:S},{5:[1,55]},{5:[1,56]},{53:[1,57]},t(w,[2,40]),t(w,[2,41]),t(w,[2,42]),t(w,[2,43]),t(w,[2,44]),t(w,[2,45]),t(w,[2,46]),{54:[1,58]},{5:v,20:59,21:A,24:L,26:B,28:I,30:D},{5:$,30:F,46:66,47:O,49:N},{23:71,62:y,63:f},{23:72,62:y,63:f},t(R,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:v,20:77,21:A,24:L,26:B,28:I,30:D},t(R,[2,19]),t(R,[2,33]),{22:[1,78]},{22:[1,79]},{5:$,30:F,46:80,47:O,49:N},t(R,[2,37]),t(R,[2,38]),t(R,[2,39]),{23:81,62:y,63:f},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},t(R,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},t(R,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:v,20:106,21:A,24:L,26:B,28:I,30:D},{5:v,20:107,21:A,24:L,26:B,28:I,30:D},{5:v,20:108,21:A,24:L,26:B,28:I,30:D},{5:v,20:109,21:A,24:L,26:B,28:I,30:D},{5:$,30:F,46:110,47:O,49:N},{5:$,30:F,46:111,47:O,49:N},t(R,[2,14]),t(R,[2,15]),t(R,[2,16]),t(R,[2,17]),t(R,[2,34]),t(R,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)},parse:function(t){var e=this,i=[0],r=[],n=[null],s=[],a=this.table,o="",l=0,c=0,h=s.slice.call(arguments,1),d=Object.create(this.lexer),u={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(u.yy[p]=this.yy[p]);d.setInput(t,u.yy),u.yy.lexer=d,u.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var g=d.yylloc;s.push(g);var y=d.options&&d.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,x,b,k,_,T,C,E,S={};;){if(m=i[i.length-1],this.defaultActions[m]?x=this.defaultActions[m]:(null==f&&(E=void 0,"number"!=typeof(E=r.pop()||d.lex()||1)&&(E instanceof Array&&(E=(r=E).pop()),E=e.symbols_[E]||E),f=E),x=a[m]&&a[m][f]),void 0===x||!x.length||!x[0]){var w="";for(k in C=[],a[m])this.terminals_[k]&&k>2&&C.push("'"+this.terminals_[k]+"'");w=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(w,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:g,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+f);switch(x[0]){case 1:i.push(f),n.push(d.yytext),s.push(d.yylloc),i.push(x[1]),f=null,c=d.yyleng,o=d.yytext,l=d.yylineno,g=d.yylloc;break;case 2:if(_=this.productions_[x[1]][1],S.$=n[n.length-_],S._$={first_line:s[s.length-(_||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(_||1)].first_column,last_column:s[s.length-1].last_column},y&&(S._$.range=[s[s.length-(_||1)].range[0],s[s.length-1].range[1]]),void 0!==(b=this.performAction.apply(S,[o,c,l,u.yy,x[1],n,s].concat(h))))return b;_&&(i=i.slice(0,-1*_*2),n=n.slice(0,-1*_),s=s.slice(0,-1*_)),i.push(this.productions_[x[1]][0]),n.push(S.$),s.push(S._$),T=a[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}},P={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,i=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 r=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[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 i,r,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.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],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var s in n)this[s]=n[s];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,i,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&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,i,r){switch(i){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 48:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 5;case 9:case 10:case 11:break;case 12:return 8;case 13:return 6;case 14:return 19;case 15:return 30;case 16:return 22;case 17:return 21;case 18:return 24;case 19:return 26;case 20:return 28;case 21:return 31;case 22:return 32;case 23:return 33;case 24:return 34;case 25:return 35;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:return 40;case 31:return 41;case 32:return 42;case 33:return 43;case 34:return 44;case 35:return 55;case 36:return 56;case 37:return 57;case 38:return 58;case 39:return 59;case 40:return 60;case 41:return 61;case 42:return 47;case 43:return 49;case 44:return 51;case 45:return 54;case 46:return 53;case 47:this.begin("string");break;case 49:return"qString";case 50:return e.yytext=e.yytext.trim(),62}},rules:[/^(?: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:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[48,49],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,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,50],inclusive:!0}}};function q(){this.yy={}}return M.lexer=P,q.prototype=M,M.Parser=q,new q}());o.parser=o;const l=o;let c=[],h={},d={},u={},p={};const g={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"},getConfig:()=>(0,r.c)().req,addRequirement:(t,e)=>(void 0===d[t]&&(d[t]={name:t,type:e,id:h.id,text:h.text,risk:h.risk,verifyMethod:h.verifyMethod}),h={},d[t]),getRequirements:()=>d,setNewReqId:t=>{void 0!==h&&(h.id=t)},setNewReqText:t=>{void 0!==h&&(h.text=t)},setNewReqRisk:t=>{void 0!==h&&(h.risk=t)},setNewReqVerifyMethod:t=>{void 0!==h&&(h.verifyMethod=t)},setAccTitle:r.s,getAccTitle:r.g,setAccDescription:r.b,getAccDescription:r.a,addElement:t=>(void 0===p[t]&&(p[t]={name:t,type:u.type,docRef:u.docRef},r.l.info("Added new requirement: ",t)),u={},p[t]),getElements:()=>p,setNewElementType:t=>{void 0!==u&&(u.type=t)},setNewElementDocRef:t=>{void 0!==u&&(u.docRef=t)},addRelationship:(t,e,i)=>{c.push({type:t,src:e,dst:i})},getRelationships:()=>c,clear:()=>{c=[],h={},d={},u={},p={},(0,r.v)()}},y={CONTAINS:"contains",ARROW:"arrow"},f=y,m=(t,e)=>{let i=t.append("defs").append("marker").attr("id",y.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");i.append("circle").attr("cx",e.line_height/2).attr("cy",e.line_height/2).attr("r",e.line_height/2).attr("fill","none"),i.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),i.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",y.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 x={},b=0;const k=(t,e)=>t.insert("rect","#"+e).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",x.rect_min_width+"px").attr("height",x.rect_min_height+"px"),_=(t,e,i)=>{let r=x.rect_min_width/2,n=t.append("text").attr("class","req reqLabel reqTitle").attr("id",e).attr("x",r).attr("y",x.rect_padding).attr("dominant-baseline","hanging"),s=0;i.forEach((t=>{0==s?n.append("tspan").attr("text-anchor","middle").attr("x",x.rect_min_width/2).attr("dy",0).text(t):n.append("tspan").attr("text-anchor","middle").attr("x",x.rect_min_width/2).attr("dy",.75*x.line_height).text(t),s++}));let a=1.5*x.rect_padding+s*x.line_height*.75;return t.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",x.rect_min_width).attr("y1",a).attr("y2",a),{titleNode:n,y:a}},T=(t,e,i,r)=>{let n=t.append("text").attr("class","req reqLabel").attr("id",e).attr("x",x.rect_padding).attr("y",r).attr("dominant-baseline","hanging"),s=0;let a=[];return i.forEach((t=>{let e=t.length;for(;e>30&&s<3;){let i=t.substring(0,30);e=(t=t.substring(30,t.length)).length,a[a.length]=i,s++}if(3==s){let t=a[a.length-1];a[a.length-1]=t.substring(0,t.length-4)+"..."}else a[a.length]=t;s=0})),a.forEach((t=>{n.append("tspan").attr("x",x.rect_padding).attr("dy",x.line_height).text(t)})),n},C=function(t,e,i,s,a){const o=i.edge(E(e.src),E(e.dst)),l=(0,n.jvg)().x((function(t){return t.x})).y((function(t){return t.y})),c=t.insert("path","#"+s).attr("class","er relationshipLine").attr("d",l(o.points)).attr("fill","none");e.type==a.db.Relationships.CONTAINS?c.attr("marker-start","url("+r.e.getUrl(x.arrowMarkerAbsolute)+"#"+e.type+"_line_ending)"):(c.attr("stroke-dasharray","10,7"),c.attr("marker-end","url("+r.e.getUrl(x.arrowMarkerAbsolute)+"#"+f.ARROW+"_line_ending)")),((t,e,i,r)=>{const n=e.node().getTotalLength(),s=e.node().getPointAtLength(.5*n),a="rel"+b;b++;const o=t.append("text").attr("class","req relationshipLabel").attr("id",a).attr("x",s.x).attr("y",s.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(r).node().getBBox();t.insert("rect","#"+a).attr("class","req reqLabelBox").attr("x",s.x-o.width/2).attr("y",s.y-o.height/2).attr("width",o.width).attr("height",o.height).attr("fill","white").attr("fill-opacity","85%")})(t,c,0,`<<${e.type}>>`)},E=t=>t.replace(/\s/g,"").replace(/\./g,"_"),S={parser:l,db:g,renderer:{draw:(t,e,i,o)=>{x=(0,r.c)().requirement;const l=x.securityLevel;let c;"sandbox"===l&&(c=(0,n.Ys)("#i"+e));const h=("sandbox"===l?(0,n.Ys)(c.nodes()[0].contentDocument.body):(0,n.Ys)("body")).select(`[id='${e}']`);m(h,x);const d=new a.k({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:x.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel((function(){return{}}));let u=o.db.getRequirements(),p=o.db.getElements(),g=o.db.getRelationships();var y,f,b;y=u,f=d,b=h,Object.keys(y).forEach((t=>{let e=y[t];t=E(t),r.l.info("Added new requirement: ",t);const i=b.append("g").attr("id",t),n=k(i,"req-"+t);let s=_(i,t+"_title",[`<<${e.type}>>`,`${e.name}`]);T(i,t+"_body",[`Id: ${e.id}`,`Text: ${e.text}`,`Risk: ${e.risk}`,`Verification: ${e.verifyMethod}`],s.y);const a=n.node().getBBox();f.setNode(t,{width:a.width,height:a.height,shape:"rect",id:t})})),((t,e,i)=>{Object.keys(t).forEach((r=>{let n=t[r];const s=E(r),a=i.append("g").attr("id",s),o="element-"+s,l=k(a,o);let c=_(a,o+"_title",["<<Element>>",`${r}`]);T(a,o+"_body",[`Type: ${n.type||"Not Specified"}`,`Doc Ref: ${n.docRef||"None"}`],c.y);const h=l.node().getBBox();e.setNode(s,{width:h.width,height:h.height,shape:"rect",id:s})}))})(p,d,h),((t,e)=>{t.forEach((function(t){let i=E(t.src),r=E(t.dst);e.setEdge(i,r,{relationship:t})}))})(g,d),(0,s.bK)(d),function(t,e){e.nodes().forEach((function(i){void 0!==i&&void 0!==e.node(i)&&(t.select("#"+i),t.select("#"+i).attr("transform","translate("+(e.node(i).x-e.node(i).width/2)+","+(e.node(i).y-e.node(i).height/2)+" )"))}))}(h,d),g.forEach((function(t){C(h,t,d,e,o)}));const S=x.rect_padding,w=h.node().getBBox(),v=w.width+2*S,A=w.height+2*S;(0,r.i)(h,A,v,x.useMaxWidth),h.attr("viewBox",`${w.x-S} ${w.y-S} ${v} ${A}`)}},styles: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: 1.0;\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: 1.0;\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`}},34335:(t,e,i)=>{i.d(e,{diagram:()=>_});var r=i(98539),n=i(37724),s=i(57929),a=i(87630),o=i(61928),l=(i(27484),i(17967),i(27856),function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,9],i=[1,10],r=[1,5,10,12],n={trace:function(){},yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:function(t,e,i,r,n,s,a){var o=s.length-1;switch(n){case 7:const t=r.findOrCreateNode(s[o-4].trim().replaceAll('""','"')),e=r.findOrCreateNode(s[o-2].trim().replaceAll('""','"')),i=parseFloat(s[o].trim());r.addLink(t,e,i);break;case 8:case 9:case 11:this.$=s[o];break;case 10:this.$=s[o-1]}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:i},{1:[2,6],7:11,10:[1,12]},t(i,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(r,[2,8]),t(r,[2,9]),{19:[1,16]},t(r,[2,11]),{1:[2,1]},{1:[2,5]},t(i,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:i},{15:18,16:7,17:8,18:e,20:i},{18:[1,19]},t(i,[2,3]),{12:[1,20]},t(r,[2,10]),{15:21,16:7,17:8,18:e,20:i},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)},parse:function(t){var e=this,i=[0],r=[],n=[null],s=[],a=this.table,o="",l=0,c=0,h=s.slice.call(arguments,1),d=Object.create(this.lexer),u={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(u.yy[p]=this.yy[p]);d.setInput(t,u.yy),u.yy.lexer=d,u.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var g=d.yylloc;s.push(g);var y=d.options&&d.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,x,b,k,_,T,C,E,S={};;){if(m=i[i.length-1],this.defaultActions[m]?x=this.defaultActions[m]:(null==f&&(E=void 0,"number"!=typeof(E=r.pop()||d.lex()||1)&&(E instanceof Array&&(E=(r=E).pop()),E=e.symbols_[E]||E),f=E),x=a[m]&&a[m][f]),void 0===x||!x.length||!x[0]){var w="";for(k in C=[],a[m])this.terminals_[k]&&k>2&&C.push("'"+this.terminals_[k]+"'");w=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(w,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:g,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+f);switch(x[0]){case 1:i.push(f),n.push(d.yytext),s.push(d.yylloc),i.push(x[1]),f=null,c=d.yyleng,o=d.yytext,l=d.yylineno,g=d.yylloc;break;case 2:if(_=this.productions_[x[1]][1],S.$=n[n.length-_],S._$={first_line:s[s.length-(_||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(_||1)].first_column,last_column:s[s.length-1].last_column},y&&(S._$.range=[s[s.length-(_||1)].range[0],s[s.length-1].range[1]]),void 0!==(b=this.performAction.apply(S,[o,c,l,u.yy,x[1],n,s].concat(h))))return b;_&&(i=i.slice(0,-1*_*2),n=n.slice(0,-1*_),s=s.slice(0,-1*_)),i.push(this.productions_[x[1]][0]),n.push(S.$),s.push(S._$),T=a[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}},s={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,i=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 r=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[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 i,r,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.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],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var s in n)this[s]=n[s];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,i,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&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,i,r){switch(i){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};function a(){this.yy={}}return n.lexer=s,a.prototype=n,n.Parser=a,new a}());l.parser=l;const c=l;let h=[],d=[],u={};class p{constructor(t,e,i=0){this.source=t,this.target=e,this.value=i}}class g{constructor(t){this.ID=t}}const y={nodesMap:u,getConfig:()=>(0,r.c)().sankey,getNodes:()=>d,getLinks:()=>h,getGraph:()=>({nodes:d.map((t=>({id:t.ID}))),links:h.map((t=>({source:t.source.ID,target:t.target.ID,value:t.value})))}),addLink:(t,e,i)=>{h.push(new p(t,e,i))},findOrCreateNode:t=>(t=r.e.sanitizeText(t,(0,r.c)()),u[t]||(u[t]=new g(t),d.push(u[t])),u[t]),getAccTitle:r.g,setAccTitle:r.s,getAccDescription:r.a,setAccDescription:r.b,getDiagramTitle:r.t,setDiagramTitle:r.q,clear:()=>{h=[],d=[],u={},(0,r.v)()}},f=class t{static next(e){return new t(e+ ++t.count)}constructor(t){this.id=t,this.href=`#${t}`}toString(){return"url("+this.href+")"}};f.count=0;let m=f;const x={left:s.t$,right:s.F2,center:s.be,justify:s.PT},b={draw:function(t,e,i,s){const{securityLevel:l,sankey:c}=(0,r.c)(),h=r.K.sankey;let d;"sandbox"===l&&(d=(0,n.Ys)("#i"+e));const u="sandbox"===l?(0,n.Ys)(d.nodes()[0].contentDocument.body):(0,n.Ys)("body"),p="sandbox"===l?u.select(`[id="${e}"]`):(0,n.Ys)(`[id="${e}"]`),g=(null==c?void 0:c.width)??h.width,y=(null==c?void 0:c.height)??h.width,f=(null==c?void 0:c.useMaxWidth)??h.useMaxWidth,b=(null==c?void 0:c.nodeAlignment)??h.nodeAlignment,k=(null==c?void 0:c.prefix)??h.prefix,_=(null==c?void 0:c.suffix)??h.suffix,T=(null==c?void 0:c.showValues)??h.showValues,C=s.db.getGraph(),E=x[b];(0,a.Z)().nodeId((t=>t.id)).nodeWidth(10).nodePadding(10+(T?15:0)).nodeAlign(E).extent([[0,0],[g,y]])(C);const S=(0,n.PKp)(n.K2I);p.append("g").attr("class","nodes").selectAll(".node").data(C.nodes).join("g").attr("class","node").attr("id",(t=>(t.uid=m.next("node-")).id)).attr("transform",(function(t){return"translate("+t.x0+","+t.y0+")"})).attr("x",(t=>t.x0)).attr("y",(t=>t.y0)).append("rect").attr("height",(t=>t.y1-t.y0)).attr("width",(t=>t.x1-t.x0)).attr("fill",(t=>S(t.id)));p.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(C.nodes).join("text").attr("x",(t=>t.x0<g/2?t.x1+6:t.x0-6)).attr("y",(t=>(t.y1+t.y0)/2)).attr("dy",(T?"0":"0.35")+"em").attr("text-anchor",(t=>t.x0<g/2?"start":"end")).text((({id:t,value:e})=>T?`${t}\n${k}${Math.round(100*e)/100}${_}`:t));const w=p.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(C.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),v=(null==c?void 0:c.linkColor)||"gradient";if("gradient"===v){const t=w.append("linearGradient").attr("id",(t=>(t.uid=m.next("linearGradient-")).id)).attr("gradientUnits","userSpaceOnUse").attr("x1",(t=>t.source.x1)).attr("x2",(t=>t.target.x0));t.append("stop").attr("offset","0%").attr("stop-color",(t=>S(t.source.id))),t.append("stop").attr("offset","100%").attr("stop-color",(t=>S(t.target.id)))}let A;switch(v){case"gradient":A=t=>t.uid;break;case"source":A=t=>S(t.source.id);break;case"target":A=t=>S(t.target.id);break;default:A=v}w.append("path").attr("d",(0,o.Z)()).attr("stroke",A).attr("stroke-width",(t=>Math.max(1,t.width))),(0,r.o)(void 0,p,0,f)}},k=c.parse.bind(c);c.parse=t=>k((t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,"\n").trim())(t));const _={parser:c,db:y,renderer:b}},45282:(t,e,i)=>{i.d(e,{diagram:()=>it});var r=i(98539),n=i(37724),s=i(3053),a=i(17967),o=(i(27484),i(27856),function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,2],i=[1,3],r=[1,4],n=[2,4],s=[1,9],a=[1,11],o=[1,13],l=[1,14],c=[1,16],h=[1,17],d=[1,18],u=[1,24],p=[1,25],g=[1,26],y=[1,27],f=[1,28],m=[1,29],x=[1,30],b=[1,31],k=[1,32],_=[1,33],T=[1,34],C=[1,35],E=[1,36],S=[1,37],w=[1,38],v=[1,39],A=[1,41],L=[1,42],B=[1,43],I=[1,44],D=[1,45],$=[1,46],F=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],O=[4,5,16,50,52,53],N=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],R=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],M=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],P=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],q=[68,69,70],z=[1,120],Y={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,DOTTED_ARROW:74,SOLID_CROSS:75,DOTTED_CROSS:76,SOLID_POINT:77,DOTTED_POINT:78,TXT:79,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"DOTTED_ARROW",75:"SOLID_CROSS",76:"DOTTED_CROSS",77:"SOLID_POINT",78:"DOTTED_POINT",79:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:function(t,e,i,r,n,s,a){var o=s.length-1;switch(n){case 3:return r.apply(s[o]),s[o];case 4:case 9:case 8:case 13:this.$=[];break;case 5:case 10:s[o-1].push(s[o]),this.$=s[o-1];break;case 6:case 7:case 11:case 12:case 62:this.$=s[o];break;case 15:s[o].type="createParticipant",this.$=s[o];break;case 16:s[o-1].unshift({type:"boxStart",boxData:r.parseBoxData(s[o-2])}),s[o-1].push({type:"boxEnd",boxText:s[o-2]}),this.$=s[o-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(s[o-2]),sequenceIndexStep:Number(s[o-1]),sequenceVisible:!0,signalType:r.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(s[o-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:r.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:r.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:r.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:s[o-1]};break;case 23:this.$={type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:s[o-1]};break;case 29:r.setDiagramTitle(s[o].substring(6)),this.$=s[o].substring(6);break;case 30:r.setDiagramTitle(s[o].substring(7)),this.$=s[o].substring(7);break;case 31:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 32:case 33:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 34:s[o-1].unshift({type:"loopStart",loopText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.LOOP_START}),s[o-1].push({type:"loopEnd",loopText:s[o-2],signalType:r.LINETYPE.LOOP_END}),this.$=s[o-1];break;case 35:s[o-1].unshift({type:"rectStart",color:r.parseMessage(s[o-2]),signalType:r.LINETYPE.RECT_START}),s[o-1].push({type:"rectEnd",color:r.parseMessage(s[o-2]),signalType:r.LINETYPE.RECT_END}),this.$=s[o-1];break;case 36:s[o-1].unshift({type:"optStart",optText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.OPT_START}),s[o-1].push({type:"optEnd",optText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.OPT_END}),this.$=s[o-1];break;case 37:s[o-1].unshift({type:"altStart",altText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.ALT_START}),s[o-1].push({type:"altEnd",signalType:r.LINETYPE.ALT_END}),this.$=s[o-1];break;case 38:s[o-1].unshift({type:"parStart",parText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.PAR_START}),s[o-1].push({type:"parEnd",signalType:r.LINETYPE.PAR_END}),this.$=s[o-1];break;case 39:s[o-1].unshift({type:"parStart",parText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.PAR_OVER_START}),s[o-1].push({type:"parEnd",signalType:r.LINETYPE.PAR_END}),this.$=s[o-1];break;case 40:s[o-1].unshift({type:"criticalStart",criticalText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.CRITICAL_START}),s[o-1].push({type:"criticalEnd",signalType:r.LINETYPE.CRITICAL_END}),this.$=s[o-1];break;case 41:s[o-1].unshift({type:"breakStart",breakText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.BREAK_START}),s[o-1].push({type:"breakEnd",optText:r.parseMessage(s[o-2]),signalType:r.LINETYPE.BREAK_END}),this.$=s[o-1];break;case 43:this.$=s[o-3].concat([{type:"option",optionText:r.parseMessage(s[o-1]),signalType:r.LINETYPE.CRITICAL_OPTION},s[o]]);break;case 45:this.$=s[o-3].concat([{type:"and",parText:r.parseMessage(s[o-1]),signalType:r.LINETYPE.PAR_AND},s[o]]);break;case 47:this.$=s[o-3].concat([{type:"else",altText:r.parseMessage(s[o-1]),signalType:r.LINETYPE.ALT_ELSE},s[o]]);break;case 48:s[o-3].draw="participant",s[o-3].type="addParticipant",s[o-3].description=r.parseMessage(s[o-1]),this.$=s[o-3];break;case 49:s[o-1].draw="participant",s[o-1].type="addParticipant",this.$=s[o-1];break;case 50:s[o-3].draw="actor",s[o-3].type="addParticipant",s[o-3].description=r.parseMessage(s[o-1]),this.$=s[o-3];break;case 51:s[o-1].draw="actor",s[o-1].type="addParticipant",this.$=s[o-1];break;case 52:s[o-1].type="destroyParticipant",this.$=s[o-1];break;case 53:this.$=[s[o-1],{type:"addNote",placement:s[o-2],actor:s[o-1].actor,text:s[o]}];break;case 54:s[o-2]=[].concat(s[o-1],s[o-1]).slice(0,2),s[o-2][0]=s[o-2][0].actor,s[o-2][1]=s[o-2][1].actor,this.$=[s[o-1],{type:"addNote",placement:r.PLACEMENT.OVER,actor:s[o-2].slice(0,2),text:s[o]}];break;case 55:this.$=[s[o-1],{type:"addLinks",actor:s[o-1].actor,text:s[o]}];break;case 56:this.$=[s[o-1],{type:"addALink",actor:s[o-1].actor,text:s[o]}];break;case 57:this.$=[s[o-1],{type:"addProperties",actor:s[o-1].actor,text:s[o]}];break;case 58:this.$=[s[o-1],{type:"addDetails",actor:s[o-1].actor,text:s[o]}];break;case 61:this.$=[s[o-2],s[o]];break;case 63:this.$=r.PLACEMENT.LEFTOF;break;case 64:this.$=r.PLACEMENT.RIGHTOF;break;case 65:this.$=[s[o-4],s[o-1],{type:"addMessage",from:s[o-4].actor,to:s[o-1].actor,signalType:s[o-3],msg:s[o],activate:!0},{type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:s[o-1]}];break;case 66:this.$=[s[o-4],s[o-1],{type:"addMessage",from:s[o-4].actor,to:s[o-1].actor,signalType:s[o-3],msg:s[o]},{type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:s[o-4]}];break;case 67:this.$=[s[o-3],s[o-1],{type:"addMessage",from:s[o-3].actor,to:s[o-1].actor,signalType:s[o-2],msg:s[o]}];break;case 68:this.$={type:"addParticipant",actor:s[o]};break;case 69:this.$=r.LINETYPE.SOLID_OPEN;break;case 70:this.$=r.LINETYPE.DOTTED_OPEN;break;case 71:this.$=r.LINETYPE.SOLID;break;case 72:this.$=r.LINETYPE.DOTTED;break;case 73:this.$=r.LINETYPE.SOLID_CROSS;break;case 74:this.$=r.LINETYPE.DOTTED_CROSS;break;case 75:this.$=r.LINETYPE.SOLID_POINT;break;case 76:this.$=r.LINETYPE.DOTTED_POINT;break;case 77:this.$=r.parseMessage(s[o].trim().substring(1))}},table:[{3:1,4:e,5:i,6:r},{1:[3]},{3:5,4:e,5:i,6:r},{3:6,4:e,5:i,6:r},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],n,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:s,5:a,8:8,9:10,12:12,13:o,14:l,17:15,18:c,21:h,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:u,30:p,31:g,33:y,35:f,36:m,37:x,38:b,39:k,41:_,43:T,44:C,46:E,50:S,52:w,53:v,54:A,59:L,60:B,61:I,62:D,70:$},t(F,[2,5]),{9:47,12:12,13:o,14:l,17:15,18:c,21:h,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:u,30:p,31:g,33:y,35:f,36:m,37:x,38:b,39:k,41:_,43:T,44:C,46:E,50:S,52:w,53:v,54:A,59:L,60:B,61:I,62:D,70:$},t(F,[2,7]),t(F,[2,8]),t(F,[2,14]),{12:48,50:S,52:w,53:v},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:$},{22:55,70:$},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(F,[2,29]),t(F,[2,30]),{32:[1,61]},{34:[1,62]},t(F,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:$},{22:72,70:$},{22:73,70:$},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82]},{55:83,57:[1,84],65:[1,85],66:[1,86]},{22:87,70:$},{22:88,70:$},{22:89,70:$},{22:90,70:$},t([5,51,64,71,72,73,74,75,76,77,78,79],[2,68]),t(F,[2,6]),t(F,[2,15]),t(O,[2,9],{10:91}),t(F,[2,17]),{5:[1,93],19:[1,92]},{5:[1,94]},t(F,[2,21]),{5:[1,95]},{5:[1,96]},t(F,[2,24]),t(F,[2,25]),t(F,[2,26]),t(F,[2,27]),t(F,[2,28]),t(F,[2,31]),t(F,[2,32]),t(N,n,{7:97}),t(N,n,{7:98}),t(N,n,{7:99}),t(R,n,{40:100,7:101}),t(M,n,{42:102,7:103}),t(M,n,{7:103,42:104}),t(P,n,{45:105,7:106}),t(N,n,{7:107}),{5:[1,109],51:[1,108]},{5:[1,111],51:[1,110]},{5:[1,112]},{22:115,68:[1,113],69:[1,114],70:$},t(q,[2,69]),t(q,[2,70]),t(q,[2,71]),t(q,[2,72]),t(q,[2,73]),t(q,[2,74]),t(q,[2,75]),t(q,[2,76]),{22:116,70:$},{22:118,58:117,70:$},{70:[2,63]},{70:[2,64]},{56:119,79:z},{56:121,79:z},{56:122,79:z},{56:123,79:z},{4:[1,126],5:[1,128],11:125,12:127,16:[1,124],50:S,52:w,53:v},{5:[1,129]},t(F,[2,19]),t(F,[2,20]),t(F,[2,22]),t(F,[2,23]),{4:s,5:a,8:8,9:10,12:12,13:o,14:l,16:[1,130],17:15,18:c,21:h,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:u,30:p,31:g,33:y,35:f,36:m,37:x,38:b,39:k,41:_,43:T,44:C,46:E,50:S,52:w,53:v,54:A,59:L,60:B,61:I,62:D,70:$},{4:s,5:a,8:8,9:10,12:12,13:o,14:l,16:[1,131],17:15,18:c,21:h,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:u,30:p,31:g,33:y,35:f,36:m,37:x,38:b,39:k,41:_,43:T,44:C,46:E,50:S,52:w,53:v,54:A,59:L,60:B,61:I,62:D,70:$},{4:s,5:a,8:8,9:10,12:12,13:o,14:l,16:[1,132],17:15,18:c,21:h,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:u,30:p,31:g,33:y,35:f,36:m,37:x,38:b,39:k,41:_,43:T,44:C,46:E,50:S,52:w,53:v,54:A,59:L,60:B,61:I,62:D,70:$},{16:[1,133]},{4:s,5:a,8:8,9:10,12:12,13:o,14:l,16:[2,46],17:15,18:c,21:h,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:u,30:p,31:g,33:y,35:f,36:m,37:x,38:b,39:k,41:_,43:T,44:C,46:E,49:[1,134],50:S,52:w,53:v,54:A,59:L,60:B,61:I,62:D,70:$},{16:[1,135]},{4:s,5:a,8:8,9:10,12:12,13:o,14:l,16:[2,44],17:15,18:c,21:h,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:u,30:p,31:g,33:y,35:f,36:m,37:x,38:b,39:k,41:_,43:T,44:C,46:E,48:[1,136],50:S,52:w,53:v,54:A,59:L,60:B,61:I,62:D,70:$},{16:[1,137]},{16:[1,138]},{4:s,5:a,8:8,9:10,12:12,13:o,14:l,16:[2,42],17:15,18:c,21:h,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:u,30:p,31:g,33:y,35:f,36:m,37:x,38:b,39:k,41:_,43:T,44:C,46:E,47:[1,139],50:S,52:w,53:v,54:A,59:L,60:B,61:I,62:D,70:$},{4:s,5:a,8:8,9:10,12:12,13:o,14:l,16:[1,140],17:15,18:c,21:h,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:u,30:p,31:g,33:y,35:f,36:m,37:x,38:b,39:k,41:_,43:T,44:C,46:E,50:S,52:w,53:v,54:A,59:L,60:B,61:I,62:D,70:$},{15:[1,141]},t(F,[2,49]),{15:[1,142]},t(F,[2,51]),t(F,[2,52]),{22:143,70:$},{22:144,70:$},{56:145,79:z},{56:146,79:z},{56:147,79:z},{64:[1,148],79:[2,62]},{5:[2,55]},{5:[2,77]},{5:[2,56]},{5:[2,57]},{5:[2,58]},t(F,[2,16]),t(O,[2,10]),{12:149,50:S,52:w,53:v},t(O,[2,12]),t(O,[2,13]),t(F,[2,18]),t(F,[2,34]),t(F,[2,35]),t(F,[2,36]),t(F,[2,37]),{15:[1,150]},t(F,[2,38]),{15:[1,151]},t(F,[2,39]),t(F,[2,40]),{15:[1,152]},t(F,[2,41]),{5:[1,153]},{5:[1,154]},{56:155,79:z},{56:156,79:z},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:157,70:$},t(O,[2,11]),t(R,n,{7:101,40:158}),t(M,n,{7:103,42:159}),t(P,n,{7:106,45:160}),t(F,[2,48]),t(F,[2,50]),{5:[2,65]},{5:[2,66]},{79:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],85:[2,63],86:[2,64],119:[2,55],120:[2,77],121:[2,56],122:[2,57],123:[2,58],145:[2,67],146:[2,53],147:[2,54],155:[2,65],156:[2,66],157:[2,61],158:[2,47],159:[2,45],160:[2,43]},parseError:function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)},parse:function(t){var e=this,i=[0],r=[],n=[null],s=[],a=this.table,o="",l=0,c=0,h=s.slice.call(arguments,1),d=Object.create(this.lexer),u={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(u.yy[p]=this.yy[p]);d.setInput(t,u.yy),u.yy.lexer=d,u.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var g=d.yylloc;s.push(g);var y=d.options&&d.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,x,b,k,_,T,C,E,S={};;){if(m=i[i.length-1],this.defaultActions[m]?x=this.defaultActions[m]:(null==f&&(E=void 0,"number"!=typeof(E=r.pop()||d.lex()||1)&&(E instanceof Array&&(E=(r=E).pop()),E=e.symbols_[E]||E),f=E),x=a[m]&&a[m][f]),void 0===x||!x.length||!x[0]){var w="";for(k in C=[],a[m])this.terminals_[k]&&k>2&&C.push("'"+this.terminals_[k]+"'");w=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(w,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:g,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+f);switch(x[0]){case 1:i.push(f),n.push(d.yytext),s.push(d.yylloc),i.push(x[1]),f=null,c=d.yyleng,o=d.yytext,l=d.yylineno,g=d.yylloc;break;case 2:if(_=this.productions_[x[1]][1],S.$=n[n.length-_],S._$={first_line:s[s.length-(_||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(_||1)].first_column,last_column:s[s.length-1].last_column},y&&(S._$.range=[s[s.length-(_||1)].range[0],s[s.length-1].range[1]]),void 0!==(b=this.performAction.apply(S,[o,c,l,u.yy,x[1],n,s].concat(h))))return b;_&&(i=i.slice(0,-1*_*2),n=n.slice(0,-1*_),s=s.slice(0,-1*_)),i.push(this.productions_[x[1]][0]),n.push(S.$),s.push(S._$),T=a[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}},j={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,i=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 r=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[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 i,r,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.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],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var s in n)this[s]=n[s];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,i,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&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,i,r){switch(i){case 0:case 51:case 64:return 5;case 1:case 2:case 3:case 4:case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;case 8:return this.begin("ID"),50;case 9:return this.begin("ID"),52;case 10:return 13;case 11:return this.begin("ID"),53;case 12:return e.yytext=e.yytext.trim(),this.begin("ALIAS"),70;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),36;case 16:return this.begin("LINE"),37;case 17:return this.begin("LINE"),38;case 18:return this.begin("LINE"),39;case 19:return this.begin("LINE"),49;case 20:return this.begin("LINE"),41;case 21:return this.begin("LINE"),43;case 22:return this.begin("LINE"),48;case 23:return this.begin("LINE"),44;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),46;case 26:return this.popState(),15;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;case 37:return this.begin("ID"),23;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;case 41:return this.popState(),"acc_title_value";case 42:return this.begin("acc_descr"),33;case 43:return this.popState(),"acc_descr_value";case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 52:return e.yytext=e.yytext.trim(),70;case 53:return 73;case 54:return 74;case 55:return 71;case 56:return 72;case 57:return 75;case 58:return 76;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 68;case 63:return 69;case 65:return"INVALID"}},rules:[/^(?:[\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,/^(?:create\b)/i,/^(?:destroy\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,/^(?:par_over\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:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65],inclusive:!0}}};function W(){this.yy={}}return Y.lexer=j,W.prototype=Y,Y.Parser=W,new W}());o.parser=o;const l=o;const c=new class{constructor(t){this.init=t,this.records=this.init()}reset(){this.records=this.init()}}((()=>({prevActor:void 0,actors:{},createdActors:{},destroyedActors:{},boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0}))),h=function(t,e,i,r){let n=c.records.currentBox;const s=c.records.actors[t];if(s){if(c.records.currentBox&&s.box&&c.records.currentBox!==s.box)throw new Error("A same participant should only be defined in one Box: "+s.name+" can't be in '"+s.box.name+"' and in '"+c.records.currentBox.name+"' at the same time.");if(n=s.box?s.box:c.records.currentBox,s.box=n,s&&e===s.name&&null==i)return}null!=i&&null!=i.text||(i={text:e,wrap:null,type:r}),null!=r&&null!=i.text||(i={text:e,wrap:null,type:r}),c.records.actors[t]={box:n,name:e,description:i.text,wrap:void 0===i.wrap&&p()||!!i.wrap,prevActor:c.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:r||"participant"},c.records.prevActor&&c.records.actors[c.records.prevActor]&&(c.records.actors[c.records.prevActor].nextActor=t),c.records.currentBox&&c.records.currentBox.actorKeys.push(t),c.records.prevActor=t},d=function(t,e,i={text:void 0,wrap:void 0},r,n=!1){if(r===g.ACTIVE_END){if((t=>{let e,i=0;for(e=0;e<c.records.messages.length;e++)c.records.messages[e].type===g.ACTIVE_START&&c.records.messages[e].from.actor===t&&i++,c.records.messages[e].type===g.ACTIVE_END&&c.records.messages[e].from.actor===t&&i--;return i})(t.actor)<1){let e=new Error("Trying to inactivate an inactive participant ("+t.actor+")");throw e.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},e}}return c.records.messages.push({from:t,to:e,message:i.text,wrap:void 0===i.wrap&&p()||!!i.wrap,type:r,activate:n}),!0},u=function(t){return c.records.actors[t]},p=()=>void 0!==c.records.wrapEnabled?c.records.wrapEnabled:(0,r.c)().sequence.wrap,g={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,PAR_OVER_START:32},y=function(t,e,i){const r={actor:t,placement:e,message:i.text,wrap:void 0===i.wrap&&p()||!!i.wrap},n=[].concat(t,t);c.records.notes.push(r),c.records.messages.push({from:n[0],to:n[1],message:i.text,wrap:void 0===i.wrap&&p()||!!i.wrap,type:g.NOTE,placement:e})},f=function(t,e){const i=u(t);try{let t=(0,r.d)(e.text,(0,r.c)());t=t.replace(/&/g,"&"),t=t.replace(/=/g,"=");m(i,JSON.parse(t))}catch(t){r.l.error("error while parsing actor link text",t)}};function m(t,e){if(null==t.links)t.links=e;else for(let i in e)t.links[i]=e[i]}const x=function(t,e){const i=u(t);try{let t=(0,r.d)(e.text,(0,r.c)());b(i,JSON.parse(t))}catch(t){r.l.error("error while parsing actor properties text",t)}};function b(t,e){if(null==t.properties)t.properties=e;else for(let i in e)t.properties[i]=e[i]}const k=function(t,e){const i=u(t),n=document.getElementById(e.text);try{const t=n.innerHTML,e=JSON.parse(t);e.properties&&b(i,e.properties),e.links&&m(i,e.links)}catch(t){r.l.error("error while parsing actor details text",t)}},_=function(t){if(Array.isArray(t))t.forEach((function(t){_(t)}));else switch(t.type){case"sequenceIndex":c.records.messages.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":h(t.actor,t.actor,t.description,t.draw);break;case"createParticipant":if(c.records.actors[t.actor])throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");c.records.lastCreated=t.actor,h(t.actor,t.actor,t.description,t.draw),c.records.createdActors[t.actor]=c.records.messages.length;break;case"destroyParticipant":c.records.lastDestroyed=t.actor,c.records.destroyedActors[t.actor]=c.records.messages.length;break;case"activeStart":case"activeEnd":d(t.actor,void 0,void 0,t.signalType);break;case"addNote":y(t.actor,t.placement,t.text);break;case"addLinks":f(t.actor,t.text);break;case"addALink":!function(t,e){const i=u(t);try{const t={};let o=(0,r.d)(e.text,(0,r.c)());var n=o.indexOf("@");o=o.replace(/&/g,"&"),o=o.replace(/=/g,"=");var s=o.slice(0,n-1).trim(),a=o.slice(n+1).trim();t[s]=a,m(i,t)}catch(t){r.l.error("error while parsing actor link text",t)}}(t.actor,t.text);break;case"addProperties":x(t.actor,t.text);break;case"addDetails":k(t.actor,t.text);break;case"addMessage":if(c.records.lastCreated){if(t.to!==c.records.lastCreated)throw new Error("The created participant "+c.records.lastCreated+" does not have an associated creating message after its declaration. Please check the sequence diagram.");c.records.lastCreated=void 0}else if(c.records.lastDestroyed){if(t.to!==c.records.lastDestroyed&&t.from!==c.records.lastDestroyed)throw new Error("The destroyed participant "+c.records.lastDestroyed+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");c.records.lastDestroyed=void 0}d(t.from,t.to,t.msg,t.signalType,t.activate);break;case"boxStart":e=t.boxData,c.records.boxes.push({name:e.text,wrap:void 0===e.wrap&&p()||!!e.wrap,fill:e.color,actorKeys:[]}),c.records.currentBox=c.records.boxes.slice(-1)[0];break;case"boxEnd":c.records.currentBox=void 0;break;case"loopStart":d(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":case"rectEnd":case"optEnd":case"altEnd":case"parEnd":case"criticalEnd":case"breakEnd":d(void 0,void 0,void 0,t.signalType);break;case"rectStart":d(void 0,void 0,t.color,t.signalType);break;case"optStart":d(void 0,void 0,t.optText,t.signalType);break;case"altStart":case"else":d(void 0,void 0,t.altText,t.signalType);break;case"setAccTitle":(0,r.s)(t.text);break;case"parStart":case"and":d(void 0,void 0,t.parText,t.signalType);break;case"criticalStart":d(void 0,void 0,t.criticalText,t.signalType);break;case"option":d(void 0,void 0,t.optionText,t.signalType);break;case"breakStart":d(void 0,void 0,t.breakText,t.signalType)}var e},T={addActor:h,addMessage:function(t,e,i,r){c.records.messages.push({from:t,to:e,message:i.text,wrap:void 0===i.wrap&&p()||!!i.wrap,answer:r})},addSignal:d,addLinks:f,addDetails:k,addProperties:x,autoWrap:p,setWrap:function(t){c.records.wrapEnabled=t},enableSequenceNumbers:function(){c.records.sequenceNumbersEnabled=!0},disableSequenceNumbers:function(){c.records.sequenceNumbersEnabled=!1},showSequenceNumbers:()=>c.records.sequenceNumbersEnabled,getMessages:function(){return c.records.messages},getActors:function(){return c.records.actors},getCreatedActors:function(){return c.records.createdActors},getDestroyedActors:function(){return c.records.destroyedActors},getActor:u,getActorKeys:function(){return Object.keys(c.records.actors)},getActorProperty:function(t,e){if(void 0!==t&&void 0!==t.properties)return t.properties[e]},getAccTitle:r.g,getBoxes:function(){return c.records.boxes},getDiagramTitle:r.t,setDiagramTitle:r.q,getConfig:()=>(0,r.c)().sequence,clear:function(){c.reset(),(0,r.v)()},parseMessage:function(t){const e=t.trim(),i={text:e.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:null!==e.match(/^:?wrap:/)||null===e.match(/^:?nowrap:/)&&void 0};return r.l.debug("parseMessage:",i),i},parseBoxData:function(t){const e=t.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/);let i=null!=e&&e[1]?e[1].trim():"transparent",n=null!=e&&e[2]?e[2].trim():void 0;if(window&&window.CSS)window.CSS.supports("color",i)||(i="transparent",n=t.trim());else{const e=(new Option).style;e.color=i,e.color!==i&&(i="transparent",n=t.trim())}return{color:i,text:void 0!==n?(0,r.d)(n.replace(/^:?(?:no)?wrap:/,""),(0,r.c)()):void 0,wrap:void 0!==n?null!==n.match(/^:?wrap:/)||null===n.match(/^:?nowrap:/)&&void 0:void 0}},LINETYPE:g,ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},addNote:y,setAccTitle:r.s,apply:_,setAccDescription:r.b,getAccDescription:r.a,hasAtLeastOneBox:function(){return c.records.boxes.length>0},hasAtLeastOneBoxWithTitle:function(){return c.records.boxes.some((t=>t.name))}},C=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`,E="actor-top",S="actor-bottom",w=function(t,e){return(0,s.d)(t,e)},v=async function(t,e,i=null){let n=t.append("foreignObject");const s=await(0,r.r)(e.text,(0,r.F)()),a=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(s).node().getBoundingClientRect();if(n.attr("height",Math.round(a.height)).attr("width",Math.round(a.width)),"noteText"===e.class){const i=t.node().firstChild;i.setAttribute("height",a.height+2*e.textMargin);const r=i.getBBox();n.attr("x",Math.round(r.x+r.width/2-a.width/2)).attr("y",Math.round(r.y+r.height/2-a.height/2))}else if(i){let{startx:t,stopx:r,starty:s}=i;if(t>r){const e=t;t=r,r=e}n.attr("x",Math.round(t+Math.abs(t-r)/2-a.width/2)),"loopText"===e.class?n.attr("y",Math.round(s)):n.attr("y",Math.round(s-a.height))}return[n]},A=function(t,e){let i=0,n=0;const s=e.text.split(r.e.lineBreakRegex),[a,o]=(0,r.D)(e.fontSize);let l=[],c=0,h=()=>e.y;if(void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0)switch(e.valign){case"top":case"start":h=()=>Math.round(e.y+e.textMargin);break;case"middle":case"center":h=()=>Math.round(e.y+(i+n+e.textMargin)/2);break;case"bottom":case"end":h=()=>Math.round(e.y+(i+n+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[d,u]of s.entries()){void 0!==e.textMargin&&0===e.textMargin&&void 0!==a&&(c=d*a);const s=t.append("text");s.attr("x",e.x),s.attr("y",h()),void 0!==e.anchor&&s.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),void 0!==e.fontFamily&&s.style("font-family",e.fontFamily),void 0!==o&&s.style("font-size",o),void 0!==e.fontWeight&&s.style("font-weight",e.fontWeight),void 0!==e.fill&&s.attr("fill",e.fill),void 0!==e.class&&s.attr("class",e.class),void 0!==e.dy?s.attr("dy",e.dy):0!==c&&s.attr("dy",c);const p=u||r.Z;if(e.tspan){const t=s.append("tspan");t.attr("x",e.x),void 0!==e.fill&&t.attr("fill",e.fill),t.text(p)}else s.text(p);void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0&&(n+=(s._groups||s)[0][0].getBBox().height,i=n),l.push(s)}return l},L=function(t,e){const i=t.append("polygon");var r,n,s,a,o;return i.attr("points",(r=e.x,n=e.y,s=e.width,a=e.height,r+","+n+" "+(r+s)+","+n+" "+(r+s)+","+(n+a-(o=7))+" "+(r+s-1.2*o)+","+(n+a)+" "+r+","+(n+a))),i.attr("class","labelBox"),e.y=e.y+e.height/2,A(t,e),i};let B=-1;const I=(t,e,i,r)=>{t.select&&i.forEach((i=>{const n=e[i],s=t.select("#actor"+n.actorCnt);!r.mirrorActors&&n.stopy?s.attr("y2",n.stopy+n.height/2):r.mirrorActors&&s.attr("y2",n.stopy)}))},D=function(t,e){(0,s.a)(t,e)},$=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}},F=function(){function t(t,e,i,r,n,a,o){s(e.append("text").attr("x",i+n/2).attr("y",r+a/2+5).style("text-anchor","middle").text(t),o)}function e(t,e,i,n,a,o,l,c){const{actorFontSize:h,actorFontFamily:d,actorFontWeight:u}=c,[p,g]=(0,r.D)(h),y=t.split(r.e.lineBreakRegex);for(let t=0;t<y.length;t++){const r=t*p-p*(y.length-1)/2,c=e.append("text").attr("x",i+a/2).attr("y",n).style("text-anchor","middle").style("font-size",g).style("font-weight",u).style("font-family",d);c.append("tspan").attr("x",i+a/2).attr("dy",r).text(y[t]),c.attr("y",n+o/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),s(c,l)}}function i(t,i,r,n,a,o,l,c){const h=i.append("switch"),d=h.append("foreignObject").attr("x",r).attr("y",n).attr("width",a).attr("height",o).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");d.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,h,r,n,a,o,l,c),s(d,l)}async function n(t,i,n,a,o,l,c,h){const d=await(0,r.H)(t,(0,r.F)()),u=i.append("switch"),p=u.append("foreignObject").attr("x",n+o/2-d.width/2).attr("y",a+l/2-d.height/2).attr("width",d.width).attr("height",d.height).append("xhtml:div").style("height","100%").style("width","100%");p.append("div").style("text-align","center").style("vertical-align","middle").html(await(0,r.r)(t,(0,r.F)())),e(t,u,n,a,o,l,c,h),s(p,c)}function s(t,e){for(const i in e)e.hasOwnProperty(i)&&t.attr(i,e[i])}return function(r,s=!1){return s?n:"fo"===r.textPlacement?i:"old"===r.textPlacement?t:e}}(),O=function(){function t(t,e,i,r,s,a,o){n(e.append("text").attr("x",i).attr("y",r).style("text-anchor","start").text(t),o)}function e(t,e,i,s,a,o,l,c){const{actorFontSize:h,actorFontFamily:d,actorFontWeight:u}=c,p=t.split(r.e.lineBreakRegex);for(let t=0;t<p.length;t++){const r=t*h-h*(p.length-1)/2,a=e.append("text").attr("x",i).attr("y",s).style("text-anchor","start").style("font-size",h).style("font-weight",u).style("font-family",d);a.append("tspan").attr("x",i).attr("dy",r).text(p[t]),a.attr("y",s+o/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),n(a,l)}}function i(t,i,r,s,a,o,l,c){const h=i.append("switch"),d=h.append("foreignObject").attr("x",r).attr("y",s).attr("width",a).attr("height",o).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");d.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,h,r,s,0,o,l,c),n(d,l)}function n(t,e){for(const i in e)e.hasOwnProperty(i)&&t.attr(i,e[i])}return function(r){return"fo"===r.textPlacement?i:"old"===r.textPlacement?t:e}}(),N={drawRect:w,drawText:A,drawLabel:L,drawActor:async function(t,e,i,n){switch(e.type){case"actor":return await async function(t,e,i,n){const a=n?e.stopy:e.starty,o=e.x+e.width/2,l=a+80;t.lower(),n||(B++,t.append("line").attr("id","actor"+B).attr("x1",o).attr("y1",l).attr("x2",o).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),e.actorCnt=B);const c=t.append("g");let h="actor-man";h+=n?` ${S}`:` ${E}`,c.attr("class",h),c.attr("name",e.name);const d=(0,s.g)();d.x=e.x,d.y=a,d.fill="#eaeaea",d.width=e.width,d.height=e.height,d.class="actor",d.rx=3,d.ry=3,c.append("line").attr("id","actor-man-torso"+B).attr("x1",o).attr("y1",a+25).attr("x2",o).attr("y2",a+45),c.append("line").attr("id","actor-man-arms"+B).attr("x1",o-18).attr("y1",a+33).attr("x2",o+18).attr("y2",a+33),c.append("line").attr("x1",o-18).attr("y1",a+60).attr("x2",o).attr("y2",a+45),c.append("line").attr("x1",o).attr("y1",a+45).attr("x2",o+18-2).attr("y2",a+60);const u=c.append("circle");u.attr("cx",e.x+e.width/2),u.attr("cy",a+10),u.attr("r",15),u.attr("width",e.width),u.attr("height",e.height);const p=c.node().getBBox();return e.height=p.height,await F(i,(0,r.G)(e.description))(e.description,c,d.x,d.y+35,d.width,d.height,{class:"actor"},i),e.height}(t,e,i,n);case"participant":return await async function(t,e,i,n){const a=n?e.stopy:e.starty,o=e.x+e.width/2,l=a+5,c=t.append("g").lower();var h,d=c;n||(B++,Object.keys(e.links||{}).length&&!i.forceMenus&&d.attr("onclick",(h=`actor${B}_popup`,"var pu = document.getElementById('"+h+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }")).attr("cursor","pointer"),d.append("line").attr("id","actor"+B).attr("x1",o).attr("y1",l).attr("x2",o).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),d=c.append("g"),e.actorCnt=B,null!=e.links&&d.attr("id","root-"+B));const u=(0,s.g)();var p="actor";null!=e.properties&&e.properties.class?p=e.properties.class:u.fill="#eaeaea",p+=n?` ${S}`:` ${E}`,u.x=e.x,u.y=a,u.width=e.width,u.height=e.height,u.class=p,u.rx=3,u.ry=3,u.name=e.name;const g=w(d,u);if(e.rectData=u,null!=e.properties&&e.properties.icon){const t=e.properties.icon.trim();"@"===t.charAt(0)?(0,s.b)(d,u.x+u.width-20,u.y+10,t.substr(1)):(0,s.c)(d,u.x+u.width-20,u.y+10,t)}await F(i,(0,r.G)(e.description))(e.description,d,u.x,u.y,u.width,u.height,{class:"actor"},i);let y=e.height;if(g.node){const t=g.node().getBBox();e.height=t.height,y=t.height}return y}(t,e,i,n)}},drawBox:async function(t,e,i){const r=t.append("g");D(r,e),e.name&&await F(i)(e.name,r,e.x,e.y+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},i),r.lower()},drawPopup:function(t,e,i,r,n){if(void 0===e.links||null===e.links||0===Object.keys(e.links).length)return{height:0,width:0};const s=e.links,o=e.actorCnt,l=e.rectData;var c="none";n&&(c="block !important");const h=t.append("g");h.attr("id","actor"+o+"_popup"),h.attr("class","actorPopupMenu"),h.attr("display",c);var d="";void 0!==l.class&&(d=" "+l.class);let u=l.width>i?l.width:i;const p=h.append("rect");if(p.attr("class","actorPopupMenuPanel"+d),p.attr("x",l.x),p.attr("y",l.height),p.attr("fill",l.fill),p.attr("stroke",l.stroke),p.attr("width",u),p.attr("height",l.height),p.attr("rx",l.rx),p.attr("ry",l.ry),null!=s){var g=20;for(let t in s){var y=h.append("a"),f=(0,a.N)(s[t]);y.attr("xlink:href",f),y.attr("target","_blank"),O(r)(t,y,l.x+10,l.height+g,u,20,{class:"actor"},r),g+=30}}return p.attr("height",g),{height:l.height+g,width:u}},anchorElement:function(t){return t.append("g")},drawActivation:function(t,e,i,r,n){const a=(0,s.g)(),o=e.anchored;a.x=e.startx,a.y=e.starty,a.class="activation"+n%3,a.width=e.stopx-e.startx,a.height=i-e.starty,w(o,a)},drawLoop:async function(t,e,i,n){const{boxMargin:a,boxTextMargin:o,labelBoxHeight:l,labelBoxWidth:c,messageFontFamily:h,messageFontSize:d,messageFontWeight:u}=n,p=t.append("g"),g=function(t,e,i,r){return p.append("line").attr("x1",t).attr("y1",e).attr("x2",i).attr("y2",r).attr("class","loopLine")};g(e.startx,e.starty,e.stopx,e.starty),g(e.stopx,e.starty,e.stopx,e.stopy),g(e.startx,e.stopy,e.stopx,e.stopy),g(e.startx,e.starty,e.startx,e.stopy),void 0!==e.sections&&e.sections.forEach((function(t){g(e.startx,t.y,e.stopx,t.y).style("stroke-dasharray","3, 3")}));let y=(0,s.e)();y.text=i,y.x=e.startx,y.y=e.starty,y.fontFamily=h,y.fontSize=d,y.fontWeight=u,y.anchor="middle",y.valign="middle",y.tspan=!1,y.width=c||50,y.height=l||20,y.textMargin=o,y.class="labelText",L(p,y),y=$(),y.text=e.title,y.x=e.startx+c/2+(e.stopx-e.startx)/2,y.y=e.starty+a+o,y.anchor="middle",y.valign="middle",y.textMargin=o,y.class="loopText",y.fontFamily=h,y.fontSize=d,y.fontWeight=u,y.wrap=!0;let f=(0,r.G)(y.text)?await v(p,y,e):A(p,y);if(void 0!==e.sectionTitles)for(const[t,i]of Object.entries(e.sectionTitles))if(i.message){y.text=i.message,y.x=e.startx+(e.stopx-e.startx)/2,y.y=e.sections[t].y+a+o,y.class="loopText",y.anchor="middle",y.valign="middle",y.tspan=!1,y.fontFamily=h,y.fontSize=d,y.fontWeight=u,y.wrap=e.wrap,(0,r.G)(y.text)?(e.starty=e.sections[t].y,await v(p,y,e)):A(p,y);let n=Math.round(f.map((t=>(t._groups||t)[0][0].getBBox().height)).reduce(((t,e)=>t+e)));e.sections[t].height+=n-(a+o)}return e.height=Math.round(e.stopy-e.starty),p},drawBackgroundRect:D,insertArrowHead:function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.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")},insertArrowFilledHead:function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).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")},insertSequenceNumber: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)},insertArrowCrossHead:function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.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")},insertDatabaseIcon: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")},insertComputerIcon: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")},insertClockIcon: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")},getTextObj:$,getNoteRect:function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},fixLifeLineHeights:I,sanitizeUrl:a.N};let R={};const M={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:function(){return Math.max.apply(null,0===this.actors.length?[0]:this.actors.map((t=>t.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,H((0,r.c)())},updateVal:function(t,e,i,r){void 0===t[e]?t[e]=i:t[e]=r(i,t[e])},updateBounds:function(t,e,i,r){const n=this;let s=0;function a(a){return function(o){s++;const l=n.sequenceItems.length-s+1;n.updateVal(o,"starty",e-l*R.boxMargin,Math.min),n.updateVal(o,"stopy",r+l*R.boxMargin,Math.max),n.updateVal(M.data,"startx",t-l*R.boxMargin,Math.min),n.updateVal(M.data,"stopx",i+l*R.boxMargin,Math.max),"activation"!==a&&(n.updateVal(o,"startx",t-l*R.boxMargin,Math.min),n.updateVal(o,"stopx",i+l*R.boxMargin,Math.max),n.updateVal(M.data,"starty",e-l*R.boxMargin,Math.min),n.updateVal(M.data,"stopy",r+l*R.boxMargin,Math.max))}}this.sequenceItems.forEach(a()),this.activations.forEach(a("activation"))},insert:function(t,e,i,n){const s=r.e.getMin(t,i),a=r.e.getMax(t,i),o=r.e.getMin(e,n),l=r.e.getMax(e,n);this.updateVal(M.data,"startx",s,Math.min),this.updateVal(M.data,"starty",o,Math.min),this.updateVal(M.data,"stopx",a,Math.max),this.updateVal(M.data,"stopy",l,Math.max),this.updateBounds(s,o,a,l)},newActivation:function(t,e,i){const r=i[t.from.actor],n=V(t.from.actor).length||0,s=r.x+r.width/2+(n-1)*R.activationWidth/2;this.activations.push({startx:s,starty:this.verticalPos+2,stopx:s+R.activationWidth,stopy:void 0,actor:t.from.actor,anchored:N.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()},isLoopOverlap:function(){return!!this.sequenceItems.length&&this.sequenceItems[this.sequenceItems.length-1].overlap},addSectionToLoop:function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:M.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},saveVerticalPos:function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},resetVerticalPos:function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=r.e.getMax(this.data.stopy,this.verticalPos)},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},P=async function(t,e){M.bumpVerticalPos(R.boxMargin),e.height=R.boxMargin,e.starty=M.getVerticalPos();const i=(0,s.g)();i.x=e.startx,i.y=e.starty,i.width=e.width||R.width,i.class="note";const n=t.append("g"),a=N.drawRect(n,i),o=(0,s.e)();o.x=e.startx,o.y=e.starty,o.width=i.width,o.dy="1em",o.text=e.message,o.class="noteText",o.fontFamily=R.noteFontFamily,o.fontSize=R.noteFontSize,o.fontWeight=R.noteFontWeight,o.anchor=R.noteAlign,o.textMargin=R.noteMargin,o.valign="center";const l=(0,r.G)(o.text)?await v(n,o):A(n,o),c=Math.round(l.map((t=>(t._groups||t)[0][0].getBBox().height)).reduce(((t,e)=>t+e)));a.attr("height",c+2*R.noteMargin),e.height+=c+2*R.noteMargin,M.bumpVerticalPos(c+2*R.noteMargin),e.stopy=e.starty+c+2*R.noteMargin,e.stopx=e.startx+i.width,M.insert(e.startx,e.starty,e.stopx,e.stopy),M.models.addNote(e)},q=t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),z=t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),Y=t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight});async function j(t,e){M.bumpVerticalPos(10);const{startx:i,stopx:n,message:s}=e,a=r.e.splitBreaks(s).length,o=(0,r.G)(s),l=o?await(0,r.H)(s,(0,r.c)()):r.u.calculateTextDimensions(s,q(R));if(!o){const t=l.height/a;e.height+=t,M.bumpVerticalPos(t)}let c,h=l.height-10;const d=l.width;if(i===n){c=M.getVerticalPos()+h,R.rightAngles||(h+=R.boxMargin,c=M.getVerticalPos()+h),h+=30;const t=r.e.getMax(d/2,R.width/2);M.insert(i-t,M.getVerticalPos()-10+h,n+t,M.getVerticalPos()+30+h)}else h+=R.boxMargin,c=M.getVerticalPos()+h,M.insert(i,c-10,n,c);return M.bumpVerticalPos(h),e.height+=h,e.stopy=e.starty+e.height,M.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),c}const W=async function(t,e,i,n){const{startx:a,stopx:o,starty:l,message:c,type:h,sequenceIndex:d,sequenceVisible:u}=e,p=r.u.calculateTextDimensions(c,q(R)),g=(0,s.e)();g.x=a,g.y=l+10,g.width=o-a,g.class="messageText",g.dy="1em",g.text=c,g.fontFamily=R.messageFontFamily,g.fontSize=R.messageFontSize,g.fontWeight=R.messageFontWeight,g.anchor=R.messageAlign,g.valign="center",g.textMargin=R.wrapPadding,g.tspan=!1,(0,r.G)(g.text)?await v(t,g,{startx:a,stopx:o,starty:i}):A(t,g);const y=p.width;let f;a===o?f=R.rightAngles?t.append("path").attr("d",`M ${a},${i} H ${a+r.e.getMax(R.width/2,y/2)} V ${i+25} H ${a}`):t.append("path").attr("d","M "+a+","+i+" C "+(a+60)+","+(i-10)+" "+(a+60)+","+(i+30)+" "+a+","+(i+20)):(f=t.append("line"),f.attr("x1",a),f.attr("y1",i),f.attr("x2",o),f.attr("y2",i)),h===n.db.LINETYPE.DOTTED||h===n.db.LINETYPE.DOTTED_CROSS||h===n.db.LINETYPE.DOTTED_POINT||h===n.db.LINETYPE.DOTTED_OPEN?(f.style("stroke-dasharray","3, 3"),f.attr("class","messageLine1")):f.attr("class","messageLine0");let m="";R.arrowMarkerAbsolute&&(m=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,m=m.replace(/\(/g,"\\("),m=m.replace(/\)/g,"\\)")),f.attr("stroke-width",2),f.attr("stroke","none"),f.style("fill","none"),h!==n.db.LINETYPE.SOLID&&h!==n.db.LINETYPE.DOTTED||f.attr("marker-end","url("+m+"#arrowhead)"),h!==n.db.LINETYPE.SOLID_POINT&&h!==n.db.LINETYPE.DOTTED_POINT||f.attr("marker-end","url("+m+"#filled-head)"),h!==n.db.LINETYPE.SOLID_CROSS&&h!==n.db.LINETYPE.DOTTED_CROSS||f.attr("marker-end","url("+m+"#crosshead)"),(u||R.showSequenceNumbers)&&(f.attr("marker-start","url("+m+"#sequencenumber)"),t.append("text").attr("x",a).attr("y",i+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(d))},Z=async function(t,e,i,n){if(n){let n=0;M.bumpVerticalPos(2*R.boxMargin);for(const s of i){const i=e[s];i.stopy||(i.stopy=M.getVerticalPos());const a=await N.drawActor(t,i,R,!0);n=r.e.getMax(n,a)}M.bumpVerticalPos(n+R.boxMargin)}else for(const r of i){const i=e[r];await N.drawActor(t,i,R,!1)}},U=function(t,e,i,r){let n=0,s=0;for(const a of i){const i=e[a],o=Q(i),l=N.drawPopup(t,i,o,R,R.forceMenus,r);l.height>n&&(n=l.height),l.width+i.x>s&&(s=l.width+i.x)}return{maxHeight:n,maxWidth:s}},H=function(t){(0,r.f)(R,t),t.fontFamily&&(R.actorFontFamily=R.noteFontFamily=R.messageFontFamily=t.fontFamily),t.fontSize&&(R.actorFontSize=R.noteFontSize=R.messageFontSize=t.fontSize),t.fontWeight&&(R.actorFontWeight=R.noteFontWeight=R.messageFontWeight=t.fontWeight)},V=function(t){return M.activations.filter((function(e){return e.actor===t}))},X=function(t,e){const i=e[t],n=V(t);return[n.reduce((function(t,e){return r.e.getMin(t,e.startx)}),i.x+i.width/2-1),n.reduce((function(t,e){return r.e.getMax(t,e.stopx)}),i.x+i.width/2+1)]};function G(t,e,i,n,s){M.bumpVerticalPos(i);let a=n;if(e.id&&e.message&&t[e.id]){const i=t[e.id].width,s=q(R);e.message=r.u.wrapLabel(`[${e.message}]`,i-2*R.wrapPadding,s),e.width=i,e.wrap=!0;const o=r.u.calculateTextDimensions(e.message,s),l=r.e.getMax(o.height,R.labelBoxHeight);a=n+l,r.l.debug(`${l} - ${e.message}`)}s(e),M.bumpVerticalPos(a)}function K(t,e,i,r,n,s,a){function o(i,r){i.x<n[t.from].x?(M.insert(e.stopx-r,e.starty,e.startx,e.stopy+i.height/2+R.noteMargin),e.stopx=e.stopx+r):(M.insert(e.startx,e.starty,e.stopx+r,e.stopy+i.height/2+R.noteMargin),e.stopx=e.stopx-r)}if(s[t.to]==r){const e=n[t.to];o(e,"actor"==e.type?21:e.width/2+3),e.starty=i-e.height/2,M.bumpVerticalPos(e.height/2)}else if(a[t.from]==r){const r=n[t.from];if(R.mirrorActors){!function(i,r){i.x<n[t.to].x?(M.insert(e.startx-r,e.starty,e.stopx,e.stopy+i.height/2+R.noteMargin),e.startx=e.startx+r):(M.insert(e.stopx,e.starty,e.startx+r,e.stopy+i.height/2+R.noteMargin),e.startx=e.startx-r)}(r,"actor"==r.type?18:r.width/2)}r.stopy=i-r.height/2,M.bumpVerticalPos(r.height/2)}else if(a[t.to]==r){const e=n[t.to];if(R.mirrorActors){o(e,"actor"==e.type?21:e.width/2+3)}e.stopy=i-e.height/2,M.bumpVerticalPos(e.height/2)}}const Q=function(t){let e=0;const i=Y(R);for(const n in t.links){const t=r.u.calculateTextDimensions(n,i).width+2*R.wrapPadding+2*R.boxMargin;e<t&&(e=t)}return e};const J=async function(t,e,i){const n=e[t.from].x,s=e[t.to].x,a=t.wrap&&t.message;let o=(0,r.G)(t.message)?await(0,r.H)(t.message,(0,r.c)()):r.u.calculateTextDimensions(a?r.u.wrapLabel(t.message,R.width,z(R)):t.message,z(R));const l={width:a?R.width:r.e.getMax(R.width,o.width+2*R.noteMargin),height:0,startx:e[t.from].x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===i.db.PLACEMENT.RIGHTOF?(l.width=a?r.e.getMax(R.width,o.width):r.e.getMax(e[t.from].width/2+e[t.to].width/2,o.width+2*R.noteMargin),l.startx=n+(e[t.from].width+R.actorMargin)/2):t.placement===i.db.PLACEMENT.LEFTOF?(l.width=a?r.e.getMax(R.width,o.width+2*R.noteMargin):r.e.getMax(e[t.from].width/2+e[t.to].width/2,o.width+2*R.noteMargin),l.startx=n-l.width+(e[t.from].width-R.actorMargin)/2):t.to===t.from?(o=r.u.calculateTextDimensions(a?r.u.wrapLabel(t.message,r.e.getMax(R.width,e[t.from].width),z(R)):t.message,z(R)),l.width=a?r.e.getMax(R.width,e[t.from].width):r.e.getMax(e[t.from].width,R.width,o.width+2*R.noteMargin),l.startx=n+(e[t.from].width-l.width)/2):(l.width=Math.abs(n+e[t.from].width/2-(s+e[t.to].width/2))+R.actorMargin,l.startx=n<s?n+e[t.from].width/2-R.actorMargin/2:s+e[t.to].width/2-R.actorMargin/2),a&&(l.message=r.u.wrapLabel(t.message,l.width-2*R.wrapPadding,z(R))),r.l.debug(`NM:[${l.startx},${l.stopx},${l.starty},${l.stopy}:${l.width},${l.height}=${t.message}]`),l},tt=function(t,e,i){if(![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))return{};const[n,s]=X(t.from,e),[a,o]=X(t.to,e),l=n<=a,c=l?s:n;let h=l?a:o;const d=Math.abs(a-o)>2,u=t=>l?-t:t;t.from===t.to?h=c:(t.activate&&!d&&(h+=u(R.activationWidth/2-1)),[i.db.LINETYPE.SOLID_OPEN,i.db.LINETYPE.DOTTED_OPEN].includes(t.type)||(h+=u(3)));const p=[n,s,a,o],g=Math.abs(c-h);t.wrap&&t.message&&(t.message=r.u.wrapLabel(t.message,r.e.getMax(g+2*R.wrapPadding,R.width),q(R)));const y=r.u.calculateTextDimensions(t.message,q(R));return{width:r.e.getMax(t.wrap?0:y.width+2*R.wrapPadding,g+2*R.wrapPadding,R.width),height:0,startx:c,stopx:h,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,p),toBounds:Math.max.apply(null,p)}},et=async function(t,e,i,n){const s={},a=[];let o,l,c;for(const i of t){switch(i.id=r.u.random({length:10}),i.type){case n.db.LINETYPE.LOOP_START:case n.db.LINETYPE.ALT_START:case n.db.LINETYPE.OPT_START:case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:case n.db.LINETYPE.CRITICAL_START:case n.db.LINETYPE.BREAK_START:a.push({id:i.id,msg:i.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case n.db.LINETYPE.ALT_ELSE:case n.db.LINETYPE.PAR_AND:case n.db.LINETYPE.CRITICAL_OPTION:i.message&&(o=a.pop(),s[o.id]=o,s[i.id]=o,a.push(o));break;case n.db.LINETYPE.LOOP_END:case n.db.LINETYPE.ALT_END:case n.db.LINETYPE.OPT_END:case n.db.LINETYPE.PAR_END:case n.db.LINETYPE.CRITICAL_END:case n.db.LINETYPE.BREAK_END:o=a.pop(),s[o.id]=o;break;case n.db.LINETYPE.ACTIVE_START:{const t=e[i.from?i.from.actor:i.to.actor],r=V(i.from?i.from.actor:i.to.actor).length,n=t.x+t.width/2+(r-1)*R.activationWidth/2,s={startx:n,stopx:n+R.activationWidth,actor:i.from.actor,enabled:!0};M.activations.push(s)}break;case n.db.LINETYPE.ACTIVE_END:{const t=M.activations.map((t=>t.actor)).lastIndexOf(i.from.actor);delete M.activations.splice(t,1)[0]}}void 0!==i.placement?(l=await J(i,e,n),i.noteModel=l,a.forEach((t=>{o=t,o.from=r.e.getMin(o.from,l.startx),o.to=r.e.getMax(o.to,l.startx+l.width),o.width=r.e.getMax(o.width,Math.abs(o.from-o.to))-R.labelBoxWidth}))):(c=tt(i,e,n),i.msgModel=c,c.startx&&c.stopx&&a.length>0&&a.forEach((t=>{if(o=t,c.startx===c.stopx){const t=e[i.from],n=e[i.to];o.from=r.e.getMin(t.x-c.width/2,t.x-t.width/2,o.from),o.to=r.e.getMax(n.x+c.width/2,n.x+t.width/2,o.to),o.width=r.e.getMax(o.width,Math.abs(o.to-o.from))-R.labelBoxWidth}else o.from=r.e.getMin(c.startx,o.from),o.to=r.e.getMax(c.stopx,o.to),o.width=r.e.getMax(o.width,c.width)-R.labelBoxWidth})))}return M.activations=[],r.l.debug("Loop type widths:",s),s},it={parser:l,db:T,renderer:{bounds:M,drawActors:Z,drawActorsPopup:U,setConf:H,draw:async function(t,e,i,s){const{securityLevel:a,sequence:o}=(0,r.c)();let l;R=o,"sandbox"===a&&(l=(0,n.Ys)("#i"+e));const c="sandbox"===a?(0,n.Ys)(l.nodes()[0].contentDocument.body):(0,n.Ys)("body"),h="sandbox"===a?l.nodes()[0].contentDocument:document;M.init(),r.l.debug(s.db);const d="sandbox"===a?c.select(`[id="${e}"]`):(0,n.Ys)(`[id="${e}"]`),u=s.db.getActors(),p=s.db.getCreatedActors(),g=s.db.getDestroyedActors(),y=s.db.getBoxes();let f=s.db.getActorKeys();const m=s.db.getMessages(),x=s.db.getDiagramTitle(),b=s.db.hasAtLeastOneBox(),k=s.db.hasAtLeastOneBoxWithTitle(),_=await async function(t,e,i){const n={};for(const s of e)if(t[s.to]&&t[s.from]){const e=t[s.to];if(s.placement===i.db.PLACEMENT.LEFTOF&&!e.prevActor)continue;if(s.placement===i.db.PLACEMENT.RIGHTOF&&!e.nextActor)continue;const a=void 0!==s.placement,o=!a,l=a?z(R):q(R),c=s.wrap?r.u.wrapLabel(s.message,R.width-2*R.wrapPadding,l):s.message,h=((0,r.G)(c)?await(0,r.H)(s.message,(0,r.c)()):r.u.calculateTextDimensions(c,l)).width+2*R.wrapPadding;o&&s.from===e.nextActor?n[s.to]=r.e.getMax(n[s.to]||0,h):o&&s.from===e.prevActor?n[s.from]=r.e.getMax(n[s.from]||0,h):o&&s.from===s.to?(n[s.from]=r.e.getMax(n[s.from]||0,h/2),n[s.to]=r.e.getMax(n[s.to]||0,h/2)):s.placement===i.db.PLACEMENT.RIGHTOF?n[s.from]=r.e.getMax(n[s.from]||0,h):s.placement===i.db.PLACEMENT.LEFTOF?n[e.prevActor]=r.e.getMax(n[e.prevActor]||0,h):s.placement===i.db.PLACEMENT.OVER&&(e.prevActor&&(n[e.prevActor]=r.e.getMax(n[e.prevActor]||0,h/2)),e.nextActor&&(n[s.from]=r.e.getMax(n[s.from]||0,h/2)))}return r.l.debug("maxMessageWidthPerActor:",n),n}(u,m,s);if(R.height=await async function(t,e,i){let n=0;for(const e of Object.keys(t)){const i=t[e];i.wrap&&(i.description=r.u.wrapLabel(i.description,R.width-2*R.wrapPadding,Y(R)));const s=(0,r.G)(i.description)?await(0,r.H)(i.description,(0,r.c)()):r.u.calculateTextDimensions(i.description,Y(R));i.width=i.wrap?R.width:r.e.getMax(R.width,s.width+2*R.wrapPadding),i.height=i.wrap?r.e.getMax(s.height,R.height):R.height,n=r.e.getMax(n,i.height)}for(const i in e){const n=t[i];if(!n)continue;const s=t[n.nextActor];if(!s){const t=e[i]+R.actorMargin-n.width/2;n.margin=r.e.getMax(t,R.actorMargin);continue}const a=e[i]+R.actorMargin-n.width/2-s.width/2;n.margin=r.e.getMax(a,R.actorMargin)}let s=0;return i.forEach((e=>{const i=q(R);let n=e.actorKeys.reduce(((e,i)=>e+(t[i].width+(t[i].margin||0))),0);n-=2*R.boxTextMargin,e.wrap&&(e.name=r.u.wrapLabel(e.name,n-2*R.wrapPadding,i));const a=r.u.calculateTextDimensions(e.name,i);s=r.e.getMax(a.height,s);const o=r.e.getMax(n,a.width+2*R.wrapPadding);if(e.margin=R.boxTextMargin,n<o){const t=(o-n)/2;e.margin+=t}})),i.forEach((t=>t.textMaxHeight=s)),r.e.getMax(n,R.height)}(u,_,y),N.insertComputerIcon(d),N.insertDatabaseIcon(d),N.insertClockIcon(d),b&&(M.bumpVerticalPos(R.boxMargin),k&&M.bumpVerticalPos(y[0].textMaxHeight)),!0===R.hideUnusedParticipants){const t=new Set;m.forEach((e=>{t.add(e.from),t.add(e.to)})),f=f.filter((e=>t.has(e)))}await async function(t,e,i,n,s,a,o){let l,c=0,h=0,d=0;for(const t of n){const n=e[t],a=n.box;l&&l!=a&&(o||M.models.addBox(l),h+=R.boxMargin+l.margin),a&&a!=l&&(o||(a.x=c+h,a.y=s),h+=a.margin),n.width=n.width||R.width,n.height=r.e.getMax(n.height||R.height,R.height),n.margin=n.margin||R.actorMargin,d=r.e.getMax(d,n.height),i[n.name]&&(h+=n.width/2),n.x=c+h,n.starty=M.getVerticalPos(),M.insert(n.x,s,n.x+n.width,n.height),c+=n.width+h,n.box&&(n.box.width=c+a.margin-n.box.x),h=n.margin,l=n.box,M.models.addActor(n)}l&&!o&&M.models.addBox(l),M.bumpVerticalPos(d)}(0,u,p,f,0,0,!1);const T=await et(m,u,_,s);function C(t,e){const i=M.endActivation(t);i.starty+18>e&&(i.starty=e-6,e+=12),N.drawActivation(d,i,e,R,V(t.from.actor).length),M.insert(i.startx,e-10,i.stopx,e)}N.insertArrowHead(d),N.insertArrowCrossHead(d),N.insertArrowFilledHead(d),N.insertSequenceNumber(d);let E=1,S=1;const w=[],v=[];let A=0;for(const t of m){let e,i,n;switch(t.type){case s.db.LINETYPE.NOTE:M.resetVerticalPos(),i=t.noteModel,await P(d,i);break;case s.db.LINETYPE.ACTIVE_START:M.newActivation(t,d,u);break;case s.db.LINETYPE.ACTIVE_END:C(t,M.getVerticalPos());break;case s.db.LINETYPE.LOOP_START:G(T,t,R.boxMargin,R.boxMargin+R.boxTextMargin,(t=>M.newLoop(t)));break;case s.db.LINETYPE.LOOP_END:e=M.endLoop(),await N.drawLoop(d,e,"loop",R),M.bumpVerticalPos(e.stopy-M.getVerticalPos()),M.models.addLoop(e);break;case s.db.LINETYPE.RECT_START:G(T,t,R.boxMargin,R.boxMargin,(t=>M.newLoop(void 0,t.message)));break;case s.db.LINETYPE.RECT_END:e=M.endLoop(),v.push(e),M.models.addLoop(e),M.bumpVerticalPos(e.stopy-M.getVerticalPos());break;case s.db.LINETYPE.OPT_START:G(T,t,R.boxMargin,R.boxMargin+R.boxTextMargin,(t=>M.newLoop(t)));break;case s.db.LINETYPE.OPT_END:e=M.endLoop(),await N.drawLoop(d,e,"opt",R),M.bumpVerticalPos(e.stopy-M.getVerticalPos()),M.models.addLoop(e);break;case s.db.LINETYPE.ALT_START:G(T,t,R.boxMargin,R.boxMargin+R.boxTextMargin,(t=>M.newLoop(t)));break;case s.db.LINETYPE.ALT_ELSE:G(T,t,R.boxMargin+R.boxTextMargin,R.boxMargin,(t=>M.addSectionToLoop(t)));break;case s.db.LINETYPE.ALT_END:e=M.endLoop(),await N.drawLoop(d,e,"alt",R),M.bumpVerticalPos(e.stopy-M.getVerticalPos()),M.models.addLoop(e);break;case s.db.LINETYPE.PAR_START:case s.db.LINETYPE.PAR_OVER_START:G(T,t,R.boxMargin,R.boxMargin+R.boxTextMargin,(t=>M.newLoop(t))),M.saveVerticalPos();break;case s.db.LINETYPE.PAR_AND:G(T,t,R.boxMargin+R.boxTextMargin,R.boxMargin,(t=>M.addSectionToLoop(t)));break;case s.db.LINETYPE.PAR_END:e=M.endLoop(),await N.drawLoop(d,e,"par",R),M.bumpVerticalPos(e.stopy-M.getVerticalPos()),M.models.addLoop(e);break;case s.db.LINETYPE.AUTONUMBER:E=t.message.start||E,S=t.message.step||S,t.message.visible?s.db.enableSequenceNumbers():s.db.disableSequenceNumbers();break;case s.db.LINETYPE.CRITICAL_START:G(T,t,R.boxMargin,R.boxMargin+R.boxTextMargin,(t=>M.newLoop(t)));break;case s.db.LINETYPE.CRITICAL_OPTION:G(T,t,R.boxMargin+R.boxTextMargin,R.boxMargin,(t=>M.addSectionToLoop(t)));break;case s.db.LINETYPE.CRITICAL_END:e=M.endLoop(),await N.drawLoop(d,e,"critical",R),M.bumpVerticalPos(e.stopy-M.getVerticalPos()),M.models.addLoop(e);break;case s.db.LINETYPE.BREAK_START:G(T,t,R.boxMargin,R.boxMargin+R.boxTextMargin,(t=>M.newLoop(t)));break;case s.db.LINETYPE.BREAK_END:e=M.endLoop(),await N.drawLoop(d,e,"break",R),M.bumpVerticalPos(e.stopy-M.getVerticalPos()),M.models.addLoop(e);break;default:try{n=t.msgModel,n.starty=M.getVerticalPos(),n.sequenceIndex=E,n.sequenceVisible=s.db.showSequenceNumbers();const e=await j(0,n);K(t,n,e,A,u,p,g),w.push({messageModel:n,lineStartY:e}),M.models.addMessage(n)}catch(t){r.l.error("error while drawing message",t)}}[s.db.LINETYPE.SOLID_OPEN,s.db.LINETYPE.DOTTED_OPEN,s.db.LINETYPE.SOLID,s.db.LINETYPE.DOTTED,s.db.LINETYPE.SOLID_CROSS,s.db.LINETYPE.DOTTED_CROSS,s.db.LINETYPE.SOLID_POINT,s.db.LINETYPE.DOTTED_POINT].includes(t.type)&&(E+=S),A++}r.l.debug("createdActors",p),r.l.debug("destroyedActors",g),await Z(d,u,f,!1);for(const t of w)await W(d,t.messageModel,t.lineStartY,s);R.mirrorActors&&await Z(d,u,f,!0),v.forEach((t=>N.drawBackgroundRect(d,t))),I(d,u,f,R);for(const t of M.models.boxes)t.height=M.getVerticalPos()-t.y,M.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)",await N.drawBox(d,t,R);b&&M.bumpVerticalPos(R.boxMargin);const L=U(d,u,f,h),{bounds:B}=M.getBounds();let D=B.stopy-B.starty;D<L.maxHeight&&(D=L.maxHeight);let $=D+2*R.diagramMarginY;R.mirrorActors&&($=$-R.boxMargin+R.bottomMarginAdj);let F=B.stopx-B.startx;F<L.maxWidth&&(F=L.maxWidth);const O=F+2*R.diagramMarginX;x&&d.append("text").text(x).attr("x",(B.stopx-B.startx)/2-2*R.diagramMarginX).attr("y",-25),(0,r.i)(d,$,O,R.useMaxWidth);const H=x?40:0;d.attr("viewBox",B.startx-R.diagramMarginX+" -"+(R.diagramMarginY+H)+" "+O+" "+($+H)),r.l.debug("models:",M.models)}},styles:C,init:({wrap:t})=>{T.setWrap(t)}}},27651:(t,e,i)=>{i.d(e,{diagram:()=>b});var r=i(43041),n=i(37724),s=i(33771),a=i(45625),o=i(98539);i(27484),i(17967),i(27856);const l={},c=(t,e)=>{l[t]=e},h=(t,e)=>{const i=t.append("text").attr("x",2*(0,o.c)().state.padding).attr("y",(0,o.c)().state.textHeight+1.3*(0,o.c)().state.padding).attr("font-size",(0,o.c)().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),r=i.height,n=t.append("text").attr("x",(0,o.c)().state.padding).attr("y",r+.4*(0,o.c)().state.padding+(0,o.c)().state.dividerMargin+(0,o.c)().state.textHeight).attr("class","state-description");let s=!0,a=!0;e.descriptions.forEach((function(t){s||(!function(t,e,i){const r=t.append("tspan").attr("x",2*(0,o.c)().state.padding).text(e);i||r.attr("dy",(0,o.c)().state.textHeight)}(n,t,a),a=!1),s=!1}));const l=t.append("line").attr("x1",(0,o.c)().state.padding).attr("y1",(0,o.c)().state.padding+r+(0,o.c)().state.dividerMargin/2).attr("y2",(0,o.c)().state.padding+r+(0,o.c)().state.dividerMargin/2).attr("class","descr-divider"),c=n.node().getBBox(),h=Math.max(c.width,i.width);return l.attr("x2",h+3*(0,o.c)().state.padding),t.insert("rect",":first-child").attr("x",(0,o.c)().state.padding).attr("y",(0,o.c)().state.padding).attr("width",h+2*(0,o.c)().state.padding).attr("height",c.height+r+2*(0,o.c)().state.padding).attr("rx",(0,o.c)().state.radius),t},d=(t,e,i)=>{const r=(0,o.c)().state.padding,n=2*(0,o.c)().state.padding,s=t.node().getBBox(),a=s.width,l=s.x,c=t.append("text").attr("x",0).attr("y",(0,o.c)().state.titleShift).attr("font-size",(0,o.c)().state.fontSize).attr("class","state-title").text(e.id),h=c.node().getBBox().width+n;let d,u=Math.max(h,a);u===a&&(u+=n);const p=t.node().getBBox();e.doc,d=l-r,h>a&&(d=(a-u)/2+r),Math.abs(l-p.x)<r&&h>a&&(d=l-(h-a)/2);const g=1-(0,o.c)().state.textHeight;return t.insert("rect",":first-child").attr("x",d).attr("y",g).attr("class",i?"alt-composit":"composit").attr("width",u).attr("height",p.height+(0,o.c)().state.textHeight+(0,o.c)().state.titleShift+1).attr("rx","0"),c.attr("x",d+r),h<=a&&c.attr("x",l+(u-n)/2-h/2+r),t.insert("rect",":first-child").attr("x",d).attr("y",(0,o.c)().state.titleShift-(0,o.c)().state.textHeight-(0,o.c)().state.padding).attr("width",u).attr("height",3*(0,o.c)().state.textHeight).attr("rx",(0,o.c)().state.radius),t.insert("rect",":first-child").attr("x",d).attr("y",(0,o.c)().state.titleShift-(0,o.c)().state.textHeight-(0,o.c)().state.padding).attr("width",u).attr("height",p.height+3+2*(0,o.c)().state.textHeight).attr("rx",(0,o.c)().state.radius),t},u=(t,e)=>{e.attr("class","state-note");const i=e.append("rect").attr("x",0).attr("y",(0,o.c)().state.padding),r=e.append("g"),{textWidth:n,textHeight:s}=((t,e,i,r)=>{let n=0;const s=r.append("text");s.style("text-anchor","start"),s.attr("class","noteText");let a=t.replace(/\r\n/g,"<br/>");a=a.replace(/\n/g,"<br/>");const l=a.split(o.e.lineBreakRegex);let c=1.25*(0,o.c)().state.noteMargin;for(const t of l){const r=t.trim();if(r.length>0){const t=s.append("tspan");t.text(r),0===c&&(c+=t.node().getBBox().height),n+=c,t.attr("x",e+(0,o.c)().state.noteMargin),t.attr("y",i+n+1.25*(0,o.c)().state.noteMargin)}}return{textWidth:s.node().getBBox().width,textHeight:n}})(t,0,0,r);return i.attr("height",s+2*(0,o.c)().state.noteMargin),i.attr("width",n+2*(0,o.c)().state.noteMargin),i},p=function(t,e){const i=e.id,r={id:i,label:e.id,width:0,height:0},n=t.append("g").attr("id",i).attr("class","stateGroup");"start"===e.type&&(t=>{t.append("circle").attr("class","start-state").attr("r",(0,o.c)().state.sizeUnit).attr("cx",(0,o.c)().state.padding+(0,o.c)().state.sizeUnit).attr("cy",(0,o.c)().state.padding+(0,o.c)().state.sizeUnit)})(n),"end"===e.type&&(t=>{t.append("circle").attr("class","end-state-outer").attr("r",(0,o.c)().state.sizeUnit+(0,o.c)().state.miniPadding).attr("cx",(0,o.c)().state.padding+(0,o.c)().state.sizeUnit+(0,o.c)().state.miniPadding).attr("cy",(0,o.c)().state.padding+(0,o.c)().state.sizeUnit+(0,o.c)().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",(0,o.c)().state.sizeUnit).attr("cx",(0,o.c)().state.padding+(0,o.c)().state.sizeUnit+2).attr("cy",(0,o.c)().state.padding+(0,o.c)().state.sizeUnit+2)})(n),"fork"!==e.type&&"join"!==e.type||((t,e)=>{let i=(0,o.c)().state.forkWidth,r=(0,o.c)().state.forkHeight;if(e.parentId){let t=i;i=r,r=t}t.append("rect").style("stroke","black").style("fill","black").attr("width",i).attr("height",r).attr("x",(0,o.c)().state.padding).attr("y",(0,o.c)().state.padding)})(n,e),"note"===e.type&&u(e.note.text,n),"divider"===e.type&&(t=>{t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",(0,o.c)().state.textHeight).attr("class","divider").attr("x2",2*(0,o.c)().state.textHeight).attr("y1",0).attr("y2",0)})(n),"default"===e.type&&0===e.descriptions.length&&((t,e)=>{const i=t.append("text").attr("x",2*(0,o.c)().state.padding).attr("y",(0,o.c)().state.textHeight+2*(0,o.c)().state.padding).attr("font-size",(0,o.c)().state.fontSize).attr("class","state-title").text(e.id),r=i.node().getBBox();t.insert("rect",":first-child").attr("x",(0,o.c)().state.padding).attr("y",(0,o.c)().state.padding).attr("width",r.width+2*(0,o.c)().state.padding).attr("height",r.height+2*(0,o.c)().state.padding).attr("rx",(0,o.c)().state.radius)})(n,e),"default"===e.type&&e.descriptions.length>0&&h(n,e);const s=n.node().getBBox();return r.width=s.width+2*(0,o.c)().state.padding,r.height=s.height+2*(0,o.c)().state.padding,c(i,r),r};let g=0;let y;const f={},m=(t,e,i,l,c,h,u)=>{const x=new a.k({compound:!0,multigraph:!0});let b,k=!0;for(b=0;b<t.length;b++)if("relation"===t[b].stmt){k=!1;break}i?x.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:k?1:y.edgeLengthFactor,nodeSep:k?1:50,isMultiGraph:!0}):x.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:k?1:y.edgeLengthFactor,nodeSep:k?1:50,ranker:"tight-tree",isMultiGraph:!0}),x.setDefaultEdgeLabel((function(){return{}})),u.db.extract(t);const _=u.db.getStates(),T=u.db.getRelations(),C=Object.keys(_);for(const t of C){const r=_[t];let n;if(i&&(r.parentId=i),r.doc){let t=e.append("g").attr("id",r.id).attr("class","stateGroup");n=m(r.doc,t,r.id,!l,c,h,u);{t=d(t,r,l);let e=t.node().getBBox();n.width=e.width,n.height=e.height+y.padding/2,f[r.id]={y:y.compositTitleSize}}}else n=p(e,r);if(r.note){const t={descriptions:[],id:r.id+"-note",note:r.note,type:"note"},i=p(e,t);"left of"===r.note.position?(x.setNode(n.id+"-note",i),x.setNode(n.id,n)):(x.setNode(n.id,n),x.setNode(n.id+"-note",i)),x.setParent(n.id,n.id+"-group"),x.setParent(n.id+"-note",n.id+"-group")}else x.setNode(n.id,n)}o.l.debug("Count=",x.nodeCount(),x);let E=0;T.forEach((function(t){var e;E++,o.l.debug("Setting edge",t),x.setEdge(t.id1,t.id2,{relation:t,width:(e=t.title,e?e.length*y.fontSizeFactor:1),height:y.labelHeight*o.e.getRows(t.title).length,labelpos:"c"},"id"+E)})),(0,s.bK)(x),o.l.debug("Graph after layout",x.nodes());const S=e.node();x.nodes().forEach((function(t){if(void 0!==t&&void 0!==x.node(t)){o.l.warn("Node "+t+": "+JSON.stringify(x.node(t))),c.select("#"+S.id+" #"+t).attr("transform","translate("+(x.node(t).x-x.node(t).width/2)+","+(x.node(t).y+(f[t]?f[t].y:0)-x.node(t).height/2)+" )"),c.select("#"+S.id+" #"+t).attr("data-x-shift",x.node(t).x-x.node(t).width/2);h.querySelectorAll("#"+S.id+" #"+t+" .divider").forEach((t=>{const e=t.parentElement;let i=0,r=0;e&&(e.parentElement&&(i=e.parentElement.getBBox().width),r=parseInt(e.getAttribute("data-x-shift"),10),Number.isNaN(r)&&(r=0)),t.setAttribute("x1",0-r+8),t.setAttribute("x2",i-r-8)}))}else o.l.debug("No Node "+t+": "+JSON.stringify(x.node(t)))}));let w=S.getBBox();x.edges().forEach((function(t){void 0!==t&&void 0!==x.edge(t)&&(o.l.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(x.edge(t))),function(t,e,i){e.points=e.points.filter((t=>!Number.isNaN(t.y)));const s=e.points,a=(0,n.jvg)().x((function(t){return t.x})).y((function(t){return t.y})).curve(n.$0Z),l=t.append("path").attr("d",a(s)).attr("id","edge"+g).attr("class","transition");let c="";if((0,o.c)().state.arrowMarkerAbsolute&&(c=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,c=c.replace(/\(/g,"\\("),c=c.replace(/\)/g,"\\)")),l.attr("marker-end","url("+c+"#"+function(t){switch(t){case r.d.relationType.AGGREGATION:return"aggregation";case r.d.relationType.EXTENSION:return"extension";case r.d.relationType.COMPOSITION:return"composition";case r.d.relationType.DEPENDENCY:return"dependency"}}(r.d.relationType.DEPENDENCY)+"End)"),void 0!==i.title){const r=t.append("g").attr("class","stateLabel"),{x:n,y:s}=o.u.calcLabelPosition(e.points),a=o.e.getRows(i.title);let l=0;const c=[];let h=0,d=0;for(let t=0;t<=a.length;t++){const e=r.append("text").attr("text-anchor","middle").text(a[t]).attr("x",n).attr("y",s+l),i=e.node().getBBox();if(h=Math.max(h,i.width),d=Math.min(d,i.x),o.l.info(i.x,n,s+l),0===l){const t=e.node().getBBox();l=t.height,o.l.info("Title height",l,s)}c.push(e)}let u=l*a.length;if(a.length>1){const t=(a.length-1)*l*.5;c.forEach(((e,i)=>e.attr("y",s+i*l-t))),u=l*a.length}const p=r.node().getBBox();r.insert("rect",":first-child").attr("class","box").attr("x",n-h/2-(0,o.c)().state.padding/2).attr("y",s-u/2-(0,o.c)().state.padding/2-3.5).attr("width",h+(0,o.c)().state.padding).attr("height",u+(0,o.c)().state.padding),o.l.info(p)}g++}(e,x.edge(t),x.edge(t).relation))})),w=S.getBBox();const v={id:i||"root",label:i||"root",width:0,height:0};return v.width=w.width+2*y.padding,v.height=w.height+2*y.padding,o.l.debug("Doc rendered",v,x),v},x={setConf:function(){},draw:function(t,e,i,r){y=(0,o.c)().state;const s=(0,o.c)().securityLevel;let a;"sandbox"===s&&(a=(0,n.Ys)("#i"+e));const l="sandbox"===s?(0,n.Ys)(a.nodes()[0].contentDocument.body):(0,n.Ys)("body"),c="sandbox"===s?a.nodes()[0].contentDocument:document;o.l.debug("Rendering diagram "+t);const h=l.select(`[id='${e}']`);h.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");const d=r.db.getRootDoc();m(d,h,void 0,!1,l,c,r);const u=y.padding,p=h.node().getBBox(),g=p.width+2*u,f=p.height+2*u,x=1.75*g;(0,o.i)(h,f,x,y.useMaxWidth),h.attr("viewBox",`${p.x-y.padding} ${p.y-y.padding} `+g+" "+f)}},b={parser:r.p,db:r.d,renderer:x,styles:r.s,init:t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,r.d.clear()}}},81728:(t,e,i)=>{i.d(e,{diagram:()=>$});var r=i(43041),n=i(45625),s=i(37724),a=i(98539),o=i(33019);i(27484),i(17967),i(27856),i(33771),i(46060);const l="rect",c="rectWithTitle",h="statediagram",d=`${h}-state`,u="transition",p=`${u} note-edge`,g=`${h}-note`,y=`${h}-cluster`,f=`${h}-cluster-alt`,m="parent",x="note",b="----",k=`${b}${x}`,_=`${b}${m}`,T="fill:none",C="fill: #333",E="text",S="normal";let w={},v=0;function A(t="",e=0,i="",r=b){return`state-${t}${null!==i&&i.length>0?`${r}${i}`:""}-${e}`}const L=(t,e,i,n,s,o)=>{const h=i.id,u=null==(b=n[h])?"":b.classes?b.classes.join(" "):"";var b;if("root"!==h){let e=l;!0===i.start&&(e="start"),!1===i.start&&(e="end"),i.type!==r.D&&(e=i.type),w[h]||(w[h]={id:h,shape:e,description:a.e.sanitizeText(h,(0,a.c)()),classes:`${u} ${d}`});const n=w[h];i.description&&(Array.isArray(n.description)?(n.shape=c,n.description.push(i.description)):n.description.length>0?(n.shape=c,n.description===h?n.description=[i.description]:n.description=[n.description,i.description]):(n.shape=l,n.description=i.description),n.description=a.e.sanitizeTextOrArray(n.description,(0,a.c)())),1===n.description.length&&n.shape===c&&(n.shape=l),!n.type&&i.doc&&(a.l.info("Setting cluster for ",h,I(i)),n.type="group",n.dir=I(i),n.shape=i.type===r.a?"divider":"roundedWithTitle",n.classes=n.classes+" "+y+" "+(o?f:""));const s={labelStyle:"",shape:n.shape,labelText:n.description,classes:n.classes,style:"",id:h,dir:n.dir,domId:A(h,v),type:n.type,padding:15,centerLabel:!0};if(i.note){const e={labelStyle:"",shape:"note",labelText:i.note.text,classes:g,style:"",id:h+k+"-"+v,domId:A(h,v,x),type:n.type,padding:15},r={labelStyle:"",shape:"noteGroup",labelText:i.note.text,classes:n.classes,style:"",id:h+_,domId:A(h,v,m),type:"group",padding:0};v++;const a=h+_;t.setNode(a,r),t.setNode(e.id,e),t.setNode(h,s),t.setParent(h,a),t.setParent(e.id,a);let o=h,l=e.id;"left of"===i.note.position&&(o=e.id,l=h),t.setEdge(o,l,{arrowhead:"none",arrowType:"",style:T,labelStyle:"",classes:p,arrowheadStyle:C,labelpos:"c",labelType:E,thickness:S})}else t.setNode(h,s)}e&&"root"!==e.id&&(a.l.trace("Setting node ",h," to be child of its parent ",e.id),t.setParent(h,e.id)),i.doc&&(a.l.trace("Adding nodes children "),B(t,i,i.doc,n,s,!o))},B=(t,e,i,n,s,o)=>{a.l.trace("items",i),i.forEach((i=>{switch(i.stmt){case r.b:case r.D:L(t,e,i,n,s,o);break;case r.S:{L(t,e,i.state1,n,s,o),L(t,e,i.state2,n,s,o);const r={id:"edge"+v,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:T,labelStyle:"",label:a.e.sanitizeText(i.description,(0,a.c)()),arrowheadStyle:C,labelpos:"c",labelType:E,thickness:S,classes:u};t.setEdge(i.state1.id,i.state2.id,r,v),v++}}}))},I=(t,e=r.c)=>{let i=e;if(t.doc)for(let e=0;e<t.doc.length;e++){const r=t.doc[e];"dir"===r.stmt&&(i=r.value)}return i},D={setConf:function(t){const e=Object.keys(t);for(const i of e)t[i]},getClasses:function(t,e){return e.db.extract(e.db.getRootDocV2()),e.db.getClasses()},draw:async function(t,e,i,r){a.l.info("Drawing state diagram (v2)",e),w={},r.db.getDirection();const{securityLevel:c,state:d}=(0,a.c)(),u=d.nodeSpacing||50,p=d.rankSpacing||50;a.l.info(r.db.getRootDocV2()),r.db.extract(r.db.getRootDocV2()),a.l.info(r.db.getRootDocV2());const g=r.db.getStates(),y=new n.k({multigraph:!0,compound:!0}).setGraph({rankdir:I(r.db.getRootDocV2()),nodesep:u,ranksep:p,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}}));let f;L(y,void 0,r.db.getRootDocV2(),g,r.db,!0),"sandbox"===c&&(f=(0,s.Ys)("#i"+e));const m="sandbox"===c?(0,s.Ys)(f.nodes()[0].contentDocument.body):(0,s.Ys)("body"),x=m.select(`[id="${e}"]`),b=m.select("#"+e+" g");await(0,o.r)(b,y,["barb"],h,e);a.u.insertTitle(x,"statediagramTitleText",d.titleTopMargin,r.db.getDiagramTitle());const k=x.node().getBBox(),_=k.width+16,T=k.height+16;x.attr("class",h);const C=x.node().getBBox();(0,a.i)(x,T,_,d.useMaxWidth);const E=`${C.x-8} ${C.y-8} ${_} ${T}`;a.l.debug(`viewBox ${E}`),x.attr("viewBox",E);const S=document.querySelectorAll('[id="'+e+'"] .edgeLabel .label');for(const t of S){const e=t.getBBox(),i=document.createElementNS("http://www.w3.org/2000/svg",l);i.setAttribute("rx",0),i.setAttribute("ry",0),i.setAttribute("width",e.width),i.setAttribute("height",e.height),t.insertBefore(i,t.firstChild)}}},$={parser:r.p,db:r.d,renderer:D,styles:r.s,init:t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,r.d.clear()}}},39253:(t,e,i)=>{i.d(e,{a:()=>g,f:()=>p});var r=i(45625),n=i(37724),s=i(98539),a=i(33019),o=i(43349),l=i(59792),c=i(51117);const h={},d=async function(t,e,i,r,n,a){const l=r.select(`[id="${i}"]`),c=Object.keys(t);for(const i of c){const r=t[i];let c="default";r.classes.length>0&&(c=r.classes.join(" ")),c+=" flowchart-label";const h=(0,s.k)(r.styles);let d,u=void 0!==r.text?r.text:r.id;if(s.l.info("vertex",r,r.labelType),"markdown"===r.labelType)s.l.info("vertex",r,r.labelType);else if((0,s.m)((0,s.c)().flowchart.htmlLabels)){const t={label:u};d=(0,o.a)(l,t).node(),d.parentNode.removeChild(d)}else{const t=n.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("style",h.labelStyle.replace("color:","fill:"));const e=u.split(s.e.lineBreakRegex);for(const i of e){const e=n.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=i,t.appendChild(e)}d=t}let p=0,g="";switch(r.type){case"round":p=5,g="rect";break;case"square":case"group":default:g="rect";break;case"diamond":g="question";break;case"hexagon":g="hexagon";break;case"odd":case"odd_right":g="rect_left_inv_arrow";break;case"lean_right":g="lean_right";break;case"lean_left":g="lean_left";break;case"trapezoid":g="trapezoid";break;case"inv_trapezoid":g="inv_trapezoid";break;case"circle":g="circle";break;case"ellipse":g="ellipse";break;case"stadium":g="stadium";break;case"subroutine":g="subroutine";break;case"cylinder":g="cylinder";break;case"doublecircle":g="doublecircle"}const y=await(0,s.r)(u,(0,s.c)());e.setNode(r.id,{labelStyle:h.labelStyle,shape:g,labelText:y,labelType:r.labelType,rx:p,ry:p,class:c,style:h.style,id:r.id,link:r.link,linkTarget:r.linkTarget,tooltip:a.db.getTooltip(r.id)||"",domId:a.db.lookUpDomId(r.id),haveCallback:r.haveCallback,width:"group"===r.type?500:void 0,dir:r.dir,type:r.type,props:r.props,padding:(0,s.c)().flowchart.padding}),s.l.info("setNode",{labelStyle:h.labelStyle,labelType:r.labelType,shape:g,labelText:y,rx:p,ry:p,class:c,style:h.style,id:r.id,domId:a.db.lookUpDomId(r.id),width:"group"===r.type?500:void 0,type:r.type,dir:r.dir,props:r.props,padding:(0,s.c)().flowchart.padding})}},u=async function(t,e,i){s.l.info("abc78 edges = ",t);let r,a,o=0,l={};if(void 0!==t.defaultStyle){const e=(0,s.k)(t.defaultStyle);r=e.style,a=e.labelStyle}for(const i of t){o++;const c="L-"+i.start+"-"+i.end;void 0===l[c]?(l[c]=0,s.l.info("abc78 new entry",c,l[c])):(l[c]++,s.l.info("abc78 new entry",c,l[c]));let d=c+"-"+l[c];s.l.info("abc78 new link id to be used is",c,d,l[c]);const u="LS-"+i.start,p="LE-"+i.end,g={style:"",labelStyle:""};switch(g.minlen=i.length||1,"arrow_open"===i.type?g.arrowhead="none":g.arrowhead="normal",g.arrowTypeStart="arrow_open",g.arrowTypeEnd="arrow_open",i.type){case"double_arrow_cross":g.arrowTypeStart="arrow_cross";case"arrow_cross":g.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":g.arrowTypeStart="arrow_point";case"arrow_point":g.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":g.arrowTypeStart="arrow_circle";case"arrow_circle":g.arrowTypeEnd="arrow_circle"}let y="",f="";switch(i.stroke){case"normal":y="fill:none;",void 0!==r&&(y=r),void 0!==a&&(f=a),g.thickness="normal",g.pattern="solid";break;case"dotted":g.thickness="normal",g.pattern="dotted",g.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":g.thickness="thick",g.pattern="solid",g.style="stroke-width: 3.5px;fill:none;";break;case"invisible":g.thickness="invisible",g.pattern="solid",g.style="stroke-width: 0;fill:none;"}if(void 0!==i.style){const t=(0,s.k)(i.style);y=t.style,f=t.labelStyle}g.style=g.style+=y,g.labelStyle=g.labelStyle+=f,void 0!==i.interpolate?g.curve=(0,s.n)(i.interpolate,n.c_6):void 0!==t.defaultInterpolate?g.curve=(0,s.n)(t.defaultInterpolate,n.c_6):g.curve=(0,s.n)(h.curve,n.c_6),void 0===i.text?void 0!==i.style&&(g.arrowheadStyle="fill: #333"):(g.arrowheadStyle="fill: #333",g.labelpos="c"),g.labelType=i.labelType,g.label=await(0,s.r)(i.text.replace(s.e.lineBreakRegex,"\n"),(0,s.c)()),void 0===i.style&&(g.style=g.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),g.labelStyle=g.labelStyle.replace("color:","fill:"),g.id=d,g.classes="flowchart-link "+u+" "+p,e.setEdge(i.start,i.end,g,o)}},p={setConf:function(t){const e=Object.keys(t);for(const i of e)h[i]=t[i]},addVertices:d,addEdges:u,getClasses:function(t,e){return e.db.getClasses()},draw:async function(t,e,i,o){s.l.info("Drawing flowchart");let l=o.db.getDirection();void 0===l&&(l="TD");const{securityLevel:c,flowchart:h}=(0,s.c)(),p=h.nodeSpacing||50,g=h.rankSpacing||50;let y;"sandbox"===c&&(y=(0,n.Ys)("#i"+e));const f="sandbox"===c?(0,n.Ys)(y.nodes()[0].contentDocument.body):(0,n.Ys)("body"),m="sandbox"===c?y.nodes()[0].contentDocument:document,x=new r.k({multigraph:!0,compound:!0}).setGraph({rankdir:l,nodesep:p,ranksep:g,marginx:0,marginy:0}).setDefaultEdgeLabel((function(){return{}}));let b;const k=o.db.getSubGraphs();s.l.info("Subgraphs - ",k);for(let t=k.length-1;t>=0;t--)b=k[t],s.l.info("Subgraph - ",b),o.db.addVertex(b.id,{text:b.title,type:b.labelType},"group",void 0,b.classes,b.dir);const _=o.db.getVertices(),T=o.db.getEdges();s.l.info("Edges",T);let C=0;for(C=k.length-1;C>=0;C--){b=k[C],(0,n.td_)("cluster").append("text");for(let t=0;t<b.nodes.length;t++)s.l.info("Setting up subgraphs",b.nodes[t],b.id),x.setParent(b.nodes[t],b.id)}await d(_,x,e,f,m,o),await u(T,x);const E=f.select(`[id="${e}"]`),S=f.select("#"+e+" g");if(await(0,a.r)(S,x,["point","circle","cross"],"flowchart",e),s.u.insertTitle(E,"flowchartTitleText",h.titleTopMargin,o.db.getDiagramTitle()),(0,s.o)(x,E,h.diagramPadding,h.useMaxWidth),o.db.indexNodes("subGraph"+C),!h.htmlLabels){const t=m.querySelectorAll('[id="'+e+'"] .edgeLabel .label');for(const e of t){const t=e.getBBox(),i=m.createElementNS("http://www.w3.org/2000/svg","rect");i.setAttribute("rx",0),i.setAttribute("ry",0),i.setAttribute("width",t.width),i.setAttribute("height",t.height),e.insertBefore(i,e.firstChild)}}Object.keys(_).forEach((function(t){const i=_[t];if(i.link){const r=(0,n.Ys)("#"+e+' [id="'+t+'"]');if(r){const t=m.createElementNS("http://www.w3.org/2000/svg","a");t.setAttributeNS("http://www.w3.org/2000/svg","class",i.classes.join(" ")),t.setAttributeNS("http://www.w3.org/2000/svg","href",i.link),t.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),"sandbox"===c?t.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):i.linkTarget&&t.setAttributeNS("http://www.w3.org/2000/svg","target",i.linkTarget);const e=r.insert((function(){return t}),":first-child"),n=r.select(".label-container");n&&e.append((function(){return n.node()}));const s=r.select(".label");s&&e.append((function(){return s.node()}))}}}))}},g=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,p {\n color: ${t.titleColor};\n }\n\n .label text,span,p {\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 .flowchart-label text {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .katex path {\n fill: #000;\n stroke: #000;\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 /* For html labels only */\n .labelBkg {\n background-color: ${((t,e)=>{const i=l.Z,r=i(t,"r"),n=i(t,"g"),s=i(t,"b");return c.Z(r,n,s,e)})(t.edgeLabelBackground,.5)};\n // background-color: \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,p {\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`},1396:(t,e,i)=>{i.d(e,{d:()=>w,p:()=>a,s:()=>v});var r=i(37724),n=i(98539),s=function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,17],i=[1,18],r=[1,19],n=[1,39],s=[1,40],a=[1,25],o=[1,23],l=[1,24],c=[1,31],h=[1,32],d=[1,33],u=[1,34],p=[1,35],g=[1,36],y=[1,26],f=[1,27],m=[1,28],x=[1,29],b=[1,43],k=[1,30],_=[1,42],T=[1,44],C=[1,41],E=[1,45],S=[1,9],w=[1,8,9],v=[1,56],A=[1,57],L=[1,58],B=[1,59],I=[1,60],D=[1,61],$=[1,62],F=[1,8,9,39],O=[1,74],N=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],R=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],M=[13,74,80,95,97,98],P=[13,64,65,74,80,95,97,98],q=[13,59,60,61,62,63,74,80,95,97,98],z=[1,93],Y=[1,110],j=[1,108],W=[1,102],Z=[1,103],U=[1,104],H=[1,105],V=[1,106],X=[1,107],G=[1,109],K=[1,8,9,37,39,42],Q=[1,8,9,21],J=[1,8,9,78],tt=[1,8,9,21,73,74,78,80,81,82,83,84,85],et={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",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:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:function(t,e,i,r,n,s,a){var o=s.length-1;switch(n){case 8:this.$=s[o-1];break;case 9:case 11:case 12:this.$=s[o];break;case 10:case 13:case 89:this.$=s[o-1]+s[o];break;case 14:case 15:this.$=s[o-1]+"~"+s[o]+"~";break;case 16:r.addRelation(s[o]);break;case 17:s[o-1].title=r.cleanupLabel(s[o]),r.addRelation(s[o-1]);break;case 27:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 28:case 29:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 30:r.addClassesToNamespace(s[o-3],s[o-1]);break;case 31:r.addClassesToNamespace(s[o-4],s[o-1]);break;case 32:this.$=s[o],r.addNamespace(s[o]);break;case 33:case 43:case 86:this.$=[s[o]];break;case 34:this.$=[s[o-1]];break;case 35:s[o].unshift(s[o-2]),this.$=s[o];break;case 37:r.setCssClass(s[o-2],s[o]);break;case 38:r.addMembers(s[o-3],s[o-1]);break;case 39:r.setCssClass(s[o-5],s[o-3]),r.addMembers(s[o-5],s[o-1]);break;case 40:this.$=s[o],r.addClass(s[o]);break;case 41:this.$=s[o-1],r.addClass(s[o-1]),r.setClassLabel(s[o-1],s[o]);break;case 42:r.addAnnotation(s[o],s[o-2]);break;case 44:s[o].push(s[o-1]),this.$=s[o];break;case 45:case 47:case 48:break;case 46:r.addMember(s[o-1],r.cleanupLabel(s[o]));break;case 49:this.$={id1:s[o-2],id2:s[o],relation:s[o-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:s[o-3],id2:s[o],relation:s[o-1],relationTitle1:s[o-2],relationTitle2:"none"};break;case 51:this.$={id1:s[o-3],id2:s[o],relation:s[o-2],relationTitle1:"none",relationTitle2:s[o-1]};break;case 52:this.$={id1:s[o-4],id2:s[o],relation:s[o-2],relationTitle1:s[o-3],relationTitle2:s[o-1]};break;case 53:r.addNote(s[o],s[o-1]);break;case 54:r.addNote(s[o]);break;case 55:r.setDirection("TB");break;case 56:r.setDirection("BT");break;case 57:r.setDirection("RL");break;case 58:r.setDirection("LR");break;case 59:this.$={type1:s[o-2],type2:s[o],lineType:s[o-1]};break;case 60:this.$={type1:"none",type2:s[o],lineType:s[o-1]};break;case 61:this.$={type1:s[o-1],type2:"none",lineType:s[o]};break;case 62:this.$={type1:"none",type2:"none",lineType:s[o]};break;case 63:this.$=r.relationType.AGGREGATION;break;case 64:this.$=r.relationType.EXTENSION;break;case 65:this.$=r.relationType.COMPOSITION;break;case 66:this.$=r.relationType.DEPENDENCY;break;case 67:this.$=r.relationType.LOLLIPOP;break;case 68:this.$=r.lineType.LINE;break;case 69:this.$=r.lineType.DOTTED_LINE;break;case 70:case 76:this.$=s[o-2],r.setClickEvent(s[o-1],s[o]);break;case 71:case 77:this.$=s[o-3],r.setClickEvent(s[o-2],s[o-1]),r.setTooltip(s[o-2],s[o]);break;case 72:this.$=s[o-2],r.setLink(s[o-1],s[o]);break;case 73:this.$=s[o-3],r.setLink(s[o-2],s[o-1],s[o]);break;case 74:this.$=s[o-3],r.setLink(s[o-2],s[o-1]),r.setTooltip(s[o-2],s[o]);break;case 75:this.$=s[o-4],r.setLink(s[o-3],s[o-2],s[o]),r.setTooltip(s[o-3],s[o-1]);break;case 78:this.$=s[o-3],r.setClickEvent(s[o-2],s[o-1],s[o]);break;case 79:this.$=s[o-4],r.setClickEvent(s[o-3],s[o-2],s[o-1]),r.setTooltip(s[o-3],s[o]);break;case 80:this.$=s[o-3],r.setLink(s[o-2],s[o]);break;case 81:this.$=s[o-4],r.setLink(s[o-3],s[o-1],s[o]);break;case 82:this.$=s[o-4],r.setLink(s[o-3],s[o-1]),r.setTooltip(s[o-3],s[o]);break;case 83:this.$=s[o-5],r.setLink(s[o-4],s[o-2],s[o]),r.setTooltip(s[o-4],s[o-1]);break;case 84:this.$=s[o-2],r.setCssStyle(s[o-1],s[o]);break;case 85:r.setCssClass(s[o-1],s[o]);break;case 87:s[o-2].push(s[o]),this.$=s[o-2]}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:e,33:i,35:r,36:21,40:n,41:22,44:s,45:a,47:o,48:l,50:c,52:h,53:d,54:u,55:p,56:g,66:y,67:f,69:m,73:x,74:b,76:k,80:_,95:T,97:C,98:E},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(S,[2,5],{8:[1,46]}),{8:[1,47]},t(w,[2,16],{21:[1,48]}),t(w,[2,18]),t(w,[2,19]),t(w,[2,20]),t(w,[2,21]),t(w,[2,22]),t(w,[2,23]),t(w,[2,24]),t(w,[2,25]),t(w,[2,26]),{32:[1,49]},{34:[1,50]},t(w,[2,29]),t(w,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:v,60:A,61:L,62:B,63:I,64:D,65:$}),{37:[1,63]},t(F,[2,36],{37:[1,65],42:[1,64]}),t(w,[2,47]),t(w,[2,48]),{16:66,74:b,80:_,95:T,97:C},{16:37,17:67,18:38,74:b,80:_,95:T,97:C,98:E},{16:37,17:68,18:38,74:b,80:_,95:T,97:C,98:E},{16:37,17:69,18:38,74:b,80:_,95:T,97:C,98:E},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:b,80:_,95:T,97:C,98:E},{13:O,51:73},t(w,[2,55]),t(w,[2,56]),t(w,[2,57]),t(w,[2,58]),t(N,[2,11],{16:37,18:38,17:75,19:[1,76],74:b,80:_,95:T,97:C,98:E}),t(N,[2,12],{19:[1,77]}),{15:78,16:79,74:b,80:_,95:T,97:C},{16:37,17:80,18:38,74:b,80:_,95:T,97:C,98:E},t(R,[2,112]),t(R,[2,113]),t(R,[2,114]),t(R,[2,115]),t([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),t(S,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:e,33:i,35:r,40:n,44:s,45:a,47:o,48:l,50:c,52:h,53:d,54:u,55:p,56:g,66:y,67:f,69:m,73:x,74:b,76:k,80:_,95:T,97:C,98:E}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:e,33:i,35:r,36:21,40:n,41:22,44:s,45:a,47:o,48:l,50:c,52:h,53:d,54:u,55:p,56:g,66:y,67:f,69:m,73:x,74:b,76:k,80:_,95:T,97:C,98:E},t(w,[2,17]),t(w,[2,27]),t(w,[2,28]),{13:[1,84],16:37,17:83,18:38,74:b,80:_,95:T,97:C,98:E},{49:85,57:54,58:55,59:v,60:A,61:L,62:B,63:I,64:D,65:$},t(w,[2,46]),{58:86,64:D,65:$},t(M,[2,62],{57:87,59:v,60:A,61:L,62:B,63:I}),t(P,[2,63]),t(P,[2,64]),t(P,[2,65]),t(P,[2,66]),t(P,[2,67]),t(q,[2,68]),t(q,[2,69]),{8:[1,89],23:90,38:88,41:22,44:s},{16:91,74:b,80:_,95:T,97:C},{43:92,47:z},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:Y,73:j,74:W,75:99,77:100,79:101,80:Z,81:U,82:H,83:V,84:X,85:G},{74:[1,111]},{13:O,51:112},t(w,[2,54]),t(w,[2,117]),t(N,[2,13]),t(N,[2,14]),t(N,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:b,80:_,95:T,97:C},t(K,[2,40],{11:114,12:[1,115]}),t(S,[2,7]),{9:[1,116]},t(Q,[2,49]),{16:37,17:117,18:38,74:b,80:_,95:T,97:C,98:E},{13:[1,119],16:37,17:118,18:38,74:b,80:_,95:T,97:C,98:E},t(M,[2,61],{57:120,59:v,60:A,61:L,62:B,63:I}),t(M,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:s},{8:[1,123],39:[2,33]},t(F,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:z},{16:37,17:127,18:38,74:b,80:_,95:T,97:C,98:E},t(w,[2,70],{13:[1,128]}),t(w,[2,72],{13:[1,130],68:[1,129]}),t(w,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},t(w,[2,84],{78:[1,134]}),t(J,[2,86],{79:135,21:Y,73:j,74:W,80:Z,81:U,82:H,83:V,84:X,85:G}),t(tt,[2,88]),t(tt,[2,90]),t(tt,[2,91]),t(tt,[2,92]),t(tt,[2,93]),t(tt,[2,94]),t(tt,[2,95]),t(tt,[2,96]),t(tt,[2,97]),t(tt,[2,98]),t(w,[2,85]),t(w,[2,53]),{37:[2,10]},t(K,[2,41]),{13:[1,136]},{1:[2,4]},t(Q,[2,51]),t(Q,[2,50]),{16:37,17:137,18:38,74:b,80:_,95:T,97:C,98:E},t(M,[2,59]),t(w,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:s},{43:140,47:z},t(F,[2,38]),{39:[2,44]},t(w,[2,42]),t(w,[2,71]),t(w,[2,73]),t(w,[2,74],{68:[1,141]}),t(w,[2,77]),t(w,[2,78],{13:[1,142]}),t(w,[2,80],{13:[1,144],68:[1,143]}),{21:Y,73:j,74:W,77:145,79:101,80:Z,81:U,82:H,83:V,84:X,85:G},t(tt,[2,89]),{14:[1,146]},t(Q,[2,52]),t(w,[2,31]),{39:[2,35]},{39:[1,147]},t(w,[2,75]),t(w,[2,79]),t(w,[2,81]),t(w,[2,82],{68:[1,148]}),t(J,[2,87],{79:135,21:Y,73:j,74:W,80:Z,81:U,82:H,83:V,84:X,85:G}),t(K,[2,8]),t(F,[2,39]),t(w,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)},parse:function(t){var e=this,i=[0],r=[],n=[null],s=[],a=this.table,o="",l=0,c=0,h=s.slice.call(arguments,1),d=Object.create(this.lexer),u={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(u.yy[p]=this.yy[p]);d.setInput(t,u.yy),u.yy.lexer=d,u.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var g=d.yylloc;s.push(g);var y=d.options&&d.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,x,b,k,_,T,C,E,S={};;){if(m=i[i.length-1],this.defaultActions[m]?x=this.defaultActions[m]:(null==f&&(E=void 0,"number"!=typeof(E=r.pop()||d.lex()||1)&&(E instanceof Array&&(E=(r=E).pop()),E=e.symbols_[E]||E),f=E),x=a[m]&&a[m][f]),void 0===x||!x.length||!x[0]){var w="";for(k in C=[],a[m])this.terminals_[k]&&k>2&&C.push("'"+this.terminals_[k]+"'");w=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(w,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:g,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+f);switch(x[0]){case 1:i.push(f),n.push(d.yytext),s.push(d.yylloc),i.push(x[1]),f=null,c=d.yyleng,o=d.yytext,l=d.yylineno,g=d.yylloc;break;case 2:if(_=this.productions_[x[1]][1],S.$=n[n.length-_],S._$={first_line:s[s.length-(_||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(_||1)].first_column,last_column:s[s.length-1].last_column},y&&(S._$.range=[s[s.length-(_||1)].range[0],s[s.length-1].range[1]]),void 0!==(b=this.performAction.apply(S,[o,c,l,u.yy,x[1],n,s].concat(h))))return b;_&&(i=i.slice(0,-1*_*2),n=n.slice(0,-1*_),s=s.slice(0,-1*_)),i.push(this.productions_[x[1]][0]),n.push(S.$),s.push(S._$),T=a[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}},it={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,i=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 r=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[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 i,r,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.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],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var s in n)this[s]=n[s];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,i,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&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,i,r){switch(i){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:case 5:case 14:case 30:case 35:case 39:case 46:break;case 6:return this.begin("acc_title"),31;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),33;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 19:case 22:case 24:case 57:case 60:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 34:return 8;case 15:case 16:return 7;case 17:case 36:case 44:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 70;case 23:return 71;case 25:return"STR";case 26:this.begin("string");break;case 27:return 73;case 28:return this.begin("namespace"),40;case 29:case 38:return this.popState(),8;case 31:return this.begin("namespace-body"),37;case 32:case 42:return this.popState(),39;case 33:case 43:return"EOF_IN_STRUCT";case 37:return this.begin("class"),44;case 40:return this.popState(),this.popState(),39;case 41:return this.begin("class-body"),37;case 45:return"OPEN_IN_STRUCT";case 47:return"MEMBER";case 48:return 76;case 49:return 66;case 50:return 67;case 51:return 69;case 52:return 50;case 53:return 52;case 54:return 45;case 55:return 46;case 56:return 72;case 58:return"GENERICTYPE";case 59:this.begin("generic");break;case 61:return"BQUOTE_STR";case 62:this.begin("bqstring");break;case 63:case 64:case 65:case 66:return 68;case 67:case 68:return 60;case 69:case 70:return 62;case 71:return 61;case 72:return 59;case 73:return 63;case 74:return 64;case 75:return 65;case 76:return 21;case 77:return 42;case 78:return 95;case 79:return"DOT";case 80:return"PLUS";case 81:return 81;case 82:return 78;case 83:case 84:return 84;case 85:return 85;case 86:case 87:return"EQUALS";case 88:return 74;case 89:return 12;case 90:return 14;case 91:return"PUNCTUATION";case 92:return 80;case 93:return 97;case 94:case 95:return 83;case 96:return 9}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\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)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_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)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,32,33,34,35,36,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},namespace:{rules:[26,28,29,30,31,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},"class-body":{rules:[26,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},class:{rules:[26,38,39,40,41,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr:{rules:[9,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_title:{rules:[7,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_args:{rules:[22,23,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_name:{rules:[19,20,21,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},href:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},struct:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},generic:{rules:[26,48,49,50,51,52,53,54,55,56,57,58,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},bqstring:{rules:[26,48,49,50,51,52,53,54,55,56,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},string:{rules:[24,25,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,37,48,49,50,51,52,53,54,55,56,59,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],inclusive:!0}}};function rt(){this.yy={}}return et.lexer=it,rt.prototype=et,et.Parser=rt,new rt}();s.parser=s;const a=s,o=["#","+","~","-",""];class l{constructor(t,e){this.memberType=e,this.visibility="",this.classifier="";const i=(0,n.d)(t,(0,n.c)());this.parseMember(i)}getDisplayDetails(){let t=this.visibility+(0,n.x)(this.id);"method"===this.memberType&&(t+=`(${(0,n.x)(this.parameters.trim())})`,this.returnType&&(t+=" : "+(0,n.x)(this.returnType))),t=t.trim();return{displayText:t,cssStyle:this.parseClassifier()}}parseMember(t){let e="";if("method"===this.memberType){const i=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/,r=t.match(i);if(r){const t=r[1]?r[1].trim():"";if(o.includes(t)&&(this.visibility=t),this.id=r[2].trim(),this.parameters=r[3]?r[3].trim():"",e=r[4]?r[4].trim():"",this.returnType=r[5]?r[5].trim():"",""===e){const t=this.returnType.substring(this.returnType.length-1);t.match(/[$*]/)&&(e=t,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const i=t.length,r=t.substring(0,1),n=t.substring(i-1);o.includes(r)&&(this.visibility=r),n.match(/[$*]/)&&(e=n),this.id=t.substring(""===this.visibility?0:1,""===e?i:i-1)}this.classifier=e}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}const c="classId-";let h=[],d={},u=[],p=0,g={},y=0,f=[];const m=t=>n.e.sanitizeText(t,(0,n.c)()),x=function(t){const e=n.e.sanitizeText(t,(0,n.c)());let i="",r=e;if(e.indexOf("~")>0){const t=e.split("~");r=m(t[0]),i=m(t[1])}return{className:r,type:i}},b=function(t){const e=n.e.sanitizeText(t,(0,n.c)()),{className:i,type:r}=x(e);if(Object.hasOwn(d,i))return;const s=n.e.sanitizeText(i,(0,n.c)());d[s]={id:s,type:r,label:s,cssClasses:[],methods:[],members:[],annotations:[],styles:[],domId:c+s+"-"+p},p++},k=function(t){const e=n.e.sanitizeText(t,(0,n.c)());if(e in d)return d[e].domId;throw new Error("Class not found: "+e)},_=function(t,e){b(t);const i=x(t).className,r=d[i];if("string"==typeof e){const t=e.trim();t.startsWith("<<")&&t.endsWith(">>")?r.annotations.push(m(t.substring(2,t.length-2))):t.indexOf(")")>0?r.methods.push(new l(t,"method")):t&&r.members.push(new l(t,"attribute"))}},T=function(t,e){t.split(",").forEach((function(t){let i=t;t[0].match(/\d/)&&(i=c+i),void 0!==d[i]&&d[i].cssClasses.push(e)}))},C=function(t,e,i){const r=n.e.sanitizeText(t,(0,n.c)());if("loose"!==(0,n.c)().securityLevel)return;if(void 0===e)return;const s=r;if(void 0!==d[s]){const t=k(s);let r=[];if("string"==typeof i){r=i.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<r.length;t++){let e=r[t].trim();'"'===e.charAt(0)&&'"'===e.charAt(e.length-1)&&(e=e.substr(1,e.length-2)),r[t]=e}}0===r.length&&r.push(t),f.push((function(){const i=document.querySelector(`[id="${t}"]`);null!==i&&i.addEventListener("click",(function(){n.u.runFunc(e,...r)}),!1)}))}},E=function(t){let e=(0,r.Ys)(".mermaidTooltip");null===(e._groups||e)[0][0]&&(e=(0,r.Ys)("body").append("div").attr("class","mermaidTooltip").style("opacity",0));(0,r.Ys)(t).select("svg").selectAll("g.node").on("mouseover",(function(){const t=(0,r.Ys)(this);if(null===t.attr("title"))return;const i=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.text(t.attr("title")).style("left",window.scrollX+i.left+(i.right-i.left)/2+"px").style("top",window.scrollY+i.top-14+document.body.scrollTop+"px"),e.html(e.html().replace(/<br\/>/g,"<br/>")),t.classed("hover",!0)})).on("mouseout",(function(){e.transition().duration(500).style("opacity",0);(0,r.Ys)(this).classed("hover",!1)}))};f.push(E);let S="TB";const w={setAccTitle:n.s,getAccTitle:n.g,getAccDescription:n.a,setAccDescription:n.b,getConfig:()=>(0,n.c)().class,addClass:b,bindFunctions:function(t){f.forEach((function(e){e(t)}))},clear:function(){h=[],d={},u=[],f=[],f.push(E),g={},y=0,(0,n.v)()},getClass:function(t){return d[t]},getClasses:function(){return d},getNotes:function(){return u},addAnnotation:function(t,e){const i=x(t).className;d[i].annotations.push(e)},addNote:function(t,e){const i={id:`note${u.length}`,class:e,text:t};u.push(i)},getRelations:function(){return h},addRelation:function(t){n.l.debug("Adding relation: "+JSON.stringify(t)),b(t.id1),b(t.id2),t.id1=x(t.id1).className,t.id2=x(t.id2).className,t.relationTitle1=n.e.sanitizeText(t.relationTitle1.trim(),(0,n.c)()),t.relationTitle2=n.e.sanitizeText(t.relationTitle2.trim(),(0,n.c)()),h.push(t)},getDirection:()=>S,setDirection:t=>{S=t},addMember:_,addMembers:function(t,e){Array.isArray(e)&&(e.reverse(),e.forEach((e=>_(t,e))))},cleanupLabel:function(t){return t.startsWith(":")&&(t=t.substring(1)),m(t.trim())},lineType:{LINE:0,DOTTED_LINE:1},relationType:{AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},setClickEvent:function(t,e,i){t.split(",").forEach((function(t){C(t,e,i),d[t].haveCallback=!0})),T(t,"clickable")},setCssClass:T,setLink:function(t,e,i){const r=(0,n.c)();t.split(",").forEach((function(t){let s=t;t[0].match(/\d/)&&(s=c+s),void 0!==d[s]&&(d[s].link=n.u.formatUrl(e,r),"sandbox"===r.securityLevel?d[s].linkTarget="_top":d[s].linkTarget="string"==typeof i?m(i):"_blank")})),T(t,"clickable")},getTooltip:function(t,e){return e?g[e].classes[t].tooltip:d[t].tooltip},setTooltip:function(t,e){t.split(",").forEach((function(t){void 0!==e&&(d[t].tooltip=m(e))}))},lookUpDomId:k,setDiagramTitle:n.q,getDiagramTitle:n.t,setClassLabel:function(t,e){const i=n.e.sanitizeText(t,(0,n.c)());e&&(e=m(e));const{className:r}=x(i);d[r].label=e},addNamespace:function(t){void 0===g[t]&&(g[t]={id:t,classes:{},children:{},domId:c+t+"-"+y},y++)},addClassesToNamespace:function(t,e){if(void 0!==g[t])for(const i of e){const{className:e}=x(i);d[e].parent=t,g[t].classes[e]=d[e]}},getNamespace:function(t){return g[t]},getNamespaces:function(){return g},setCssStyle:function(t,e){const i=d[t];if(e&&i)for(const t of e)t.includes(",")?i.styles.push(...t.split(",")):i.styles.push(t)}},v=t=>`g.classGroup text {\n fill: ${t.nodeBorder||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-width: 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: transparent !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#extensionEnd, .extension {\n fill: transparent !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#aggregationStart, .aggregation {\n fill: transparent !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#aggregationEnd, .aggregation {\n fill: transparent !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 line-height: initial;\n}\n\n.classTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n}\n`},43041:(t,e,i)=>{i.d(e,{D:()=>c,S:()=>l,a:()=>h,b:()=>o,c:()=>a,d:()=>N,p:()=>s,s:()=>R});var r=i(98539),n=function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,2],i=[1,3],r=[1,4],n=[2,4],s=[1,9],a=[1,11],o=[1,15],l=[1,16],c=[1,17],h=[1,18],d=[1,30],u=[1,19],p=[1,20],g=[1,21],y=[1,22],f=[1,23],m=[1,25],x=[1,26],b=[1,27],k=[1,28],_=[1,29],T=[1,32],C=[1,33],E=[1,34],S=[1,35],w=[1,31],v=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],A=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],L=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],B={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"--\x3e":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",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",30:"NOTE_TEXT",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:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(t,e,i,r,n,s,a){var o=s.length-1;switch(n){case 3:return r.setRootDoc(s[o]),s[o];case 4:this.$=[];break;case 5:"nl"!=s[o]&&(s[o-1].push(s[o]),this.$=s[o-1]);break;case 6:case 7:case 11:this.$=s[o];break;case 8:this.$="nl";break;case 12:const t=s[o-1];t.description=r.trimColon(s[o]),this.$=t;break;case 13:this.$={stmt:"relation",state1:s[o-2],state2:s[o]};break;case 14:const e=r.trimColon(s[o]);this.$={stmt:"relation",state1:s[o-3],state2:s[o-1],description:e};break;case 18:this.$={stmt:"state",id:s[o-3],type:"default",description:"",doc:s[o-1]};break;case 19:var l=s[o],c=s[o-2].trim();if(s[o].match(":")){var h=s[o].split(":");l=h[0],c=[c,h[1]]}this.$={stmt:"state",id:l,type:"default",description:c};break;case 20:this.$={stmt:"state",id:s[o-3],type:"default",description:s[o-5],doc:s[o-1]};break;case 21:this.$={stmt:"state",id:s[o],type:"fork"};break;case 22:this.$={stmt:"state",id:s[o],type:"join"};break;case 23:this.$={stmt:"state",id:s[o],type:"choice"};break;case 24:this.$={stmt:"state",id:r.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:s[o-1].trim(),note:{position:s[o-2].trim(),text:s[o].trim()}};break;case 28:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 29:case 30:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:s[o-1].trim(),classes:s[o].trim()};break;case 33:this.$={stmt:"applyClass",id:s[o-1].trim(),styleClass:s[o].trim()};break;case 34:r.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:r.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:r.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:r.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:s[o].trim(),type:"default",description:""};break;case 42:case 43:this.$={stmt:"state",id:s[o-2].trim(),classes:[s[o].trim()],type:"default",description:""}}},table:[{3:1,4:e,5:i,6:r},{1:[3]},{3:5,4:e,5:i,6:r},{3:6,4:e,5:i,6:r},t([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],n,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:s,5:a,8:8,9:10,10:12,11:13,12:14,15:o,16:l,18:c,21:h,23:d,24:u,25:p,26:g,27:y,28:f,31:24,32:m,34:x,36:b,37:k,41:_,44:T,45:C,46:E,47:S,50:w},t(v,[2,5]),{9:36,10:12,11:13,12:14,15:o,16:l,18:c,21:h,23:d,24:u,25:p,26:g,27:y,28:f,31:24,32:m,34:x,36:b,37:k,41:_,44:T,45:C,46:E,47:S,50:w},t(v,[2,7]),t(v,[2,8]),t(v,[2,9]),t(v,[2,10]),t(v,[2,11],{13:[1,37],14:[1,38]}),t(v,[2,15]),{17:[1,39]},t(v,[2,17],{19:[1,40]}),{22:[1,41]},t(v,[2,21]),t(v,[2,22]),t(v,[2,23]),t(v,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},t(v,[2,27]),{33:[1,46]},{35:[1,47]},t(v,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},t(A,[2,40],{51:[1,51]}),t(A,[2,41],{51:[1,52]}),t(v,[2,34]),t(v,[2,35]),t(v,[2,36]),t(v,[2,37]),t(v,[2,6]),t(v,[2,12]),{12:53,23:d,50:w},t(v,[2,16]),t(L,n,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},t(v,[2,28]),t(v,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},t(v,[2,13],{13:[1,63]}),{4:s,5:a,8:8,9:10,10:12,11:13,12:14,15:o,16:l,18:c,20:[1,64],21:h,23:d,24:u,25:p,26:g,27:y,28:f,31:24,32:m,34:x,36:b,37:k,41:_,44:T,45:C,46:E,47:S,50:w},t(v,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},t(v,[2,31]),t(v,[2,32]),t(v,[2,33]),t(A,[2,42]),t(A,[2,43]),t(v,[2,14]),t(v,[2,18]),t(L,n,{7:68}),t(v,[2,25]),t(v,[2,26]),{4:s,5:a,8:8,9:10,10:12,11:13,12:14,15:o,16:l,18:c,20:[1,69],21:h,23:d,24:u,25:p,26:g,27:y,28:f,31:24,32:m,34:x,36:b,37:k,41:_,44:T,45:C,46:E,47:S,50:w},t(v,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)},parse:function(t){var e=this,i=[0],r=[],n=[null],s=[],a=this.table,o="",l=0,c=0,h=s.slice.call(arguments,1),d=Object.create(this.lexer),u={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(u.yy[p]=this.yy[p]);d.setInput(t,u.yy),u.yy.lexer=d,u.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var g=d.yylloc;s.push(g);var y=d.options&&d.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,x,b,k,_,T,C,E,S={};;){if(m=i[i.length-1],this.defaultActions[m]?x=this.defaultActions[m]:(null==f&&(E=void 0,"number"!=typeof(E=r.pop()||d.lex()||1)&&(E instanceof Array&&(E=(r=E).pop()),E=e.symbols_[E]||E),f=E),x=a[m]&&a[m][f]),void 0===x||!x.length||!x[0]){var w="";for(k in C=[],a[m])this.terminals_[k]&&k>2&&C.push("'"+this.terminals_[k]+"'");w=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(w,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:g,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+f);switch(x[0]){case 1:i.push(f),n.push(d.yytext),s.push(d.yylloc),i.push(x[1]),f=null,c=d.yyleng,o=d.yytext,l=d.yylineno,g=d.yylloc;break;case 2:if(_=this.productions_[x[1]][1],S.$=n[n.length-_],S._$={first_line:s[s.length-(_||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(_||1)].first_column,last_column:s[s.length-1].last_column},y&&(S._$.range=[s[s.length-(_||1)].range[0],s[s.length-1].range[1]]),void 0!==(b=this.performAction.apply(S,[o,c,l,u.yy,x[1],n,s].concat(h))))return b;_&&(i=i.slice(0,-1*_*2),n=n.slice(0,-1*_),s=s.slice(0,-1*_)),i.push(this.productions_[x[1]][0]),n.push(S.$),s.push(S._$),T=a[i[i.length-2]][i[i.length-1]],i.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,i=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 r=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[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 i,r,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.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],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var s in n)this[s]=n[s];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,i,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&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,i,r){switch(i){case 0:return 40;case 1:case 39:return 44;case 2:case 40:return 45;case 3:case 41:return 46;case 4:case 42:return 47;case 5:case 6:case 8:case 9:case 10:case 11:case 51:case 53:case 59:break;case 7:case 74:return 5;case 12:case 29:return this.pushState("SCALE"),16;case 13:case 30:return 17;case 14:case 20:case 31:case 46:case 49:this.popState();break;case 15:return this.begin("acc_title"),32;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),34;case 18:return this.popState(),"acc_descr_value";case 19:this.begin("acc_descr_multiline");break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),37;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),38;case 25:return this.popState(),39;case 26:return this.pushState("CLASS"),41;case 27:return this.popState(),this.pushState("CLASS_STYLE"),42;case 28:return this.popState(),43;case 32:this.pushState("STATE");break;case 33:case 36:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),24;case 34:case 37:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),25;case 35:case 38:return this.popState(),e.yytext=e.yytext.slice(0,-10).trim(),26;case 43:this.pushState("STATE_STRING");break;case 44:return this.pushState("STATE_ID"),"AS";case 45:case 61:return this.popState(),"ID";case 47:return"STATE_DESCR";case 48:return 18;case 50:return this.popState(),this.pushState("struct"),19;case 52:return this.popState(),20;case 54:return this.begin("NOTE"),28;case 55:return this.popState(),this.pushState("NOTE_ID"),52;case 56:return this.popState(),this.pushState("NOTE_ID"),53;case 57:this.popState(),this.pushState("FLOATING_NOTE");break;case 58:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 60:return"NOTE_TEXT";case 62:return this.popState(),this.pushState("NOTE_TEXT"),23;case 63:return this.popState(),e.yytext=e.yytext.substr(2).trim(),30;case 64:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),30;case 65:case 66:return 6;case 67:return 15;case 68:return 50;case 69:return 23;case 70:return e.yytext=e.yytext.trim(),13;case 71:return 14;case 72:return 27;case 73:return 51;case 75: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,/^(?:%%(?!\{)[^\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,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*<<choice>>)/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:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,32,39,40,41,42,51,52,53,54,68,69,70,71,72],inclusive:!1},FLOATING_NOTE_ID:{rules:[61],inclusive:!1},FLOATING_NOTE:{rules:[58,59,60],inclusive:!1},NOTE_TEXT:{rules:[63,64],inclusive:!1},NOTE_ID:{rules:[62],inclusive:!1},NOTE:{rules:[55,56,57],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,30,31],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[45],inclusive:!1},STATE_STRING:{rules:[46,47],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,33,34,35,36,37,38,43,44,48,49,50],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,50,54,65,66,67,68,69,70,71,73,74,75],inclusive:!0}}};function D(){this.yy={}}return B.lexer=I,D.prototype=B,B.Parser=D,new D}();n.parser=n;const s=n,a="TB",o="state",l="relation",c="default",h="divider",d="[*]",u="start",p=d,g="color",y="fill";let f="LR",m=[],x={};let b={root:{relations:[],states:{},documents:{}}},k=b.root,_=0,T=0;const C=t=>JSON.parse(JSON.stringify(t)),E=(t,e,i)=>{if(e.stmt===l)E(t,e.state1,!0),E(t,e.state2,!1);else if(e.stmt===o&&("[*]"===e.id?(e.id=i?t.id+"_start":t.id+"_end",e.start=i):e.id=e.id.trim()),e.doc){const t=[];let i,n=[];for(i=0;i<e.doc.length;i++)if(e.doc[i].type===h){const r=C(e.doc[i]);r.doc=C(n),t.push(r),n=[]}else n.push(e.doc[i]);if(t.length>0&&n.length>0){const i={stmt:o,id:(0,r.I)(),type:"divider",doc:C(n)};t.push(C(i)),e.doc=t}e.doc.forEach((t=>E(e,t,!0)))}},S=function(t,e=c,i=null,n=null,s=null,a=null,o=null,l=null){const h=null==t?void 0:t.trim();if(void 0===k.states[h]?(r.l.info("Adding state ",h,n),k.states[h]={id:h,descriptions:[],type:e,doc:i,note:s,classes:[],styles:[],textStyles:[]}):(k.states[h].doc||(k.states[h].doc=i),k.states[h].type||(k.states[h].type=e)),n&&(r.l.info("Setting state description",h,n),"string"==typeof n&&I(h,n.trim()),"object"==typeof n&&n.forEach((t=>I(h,t.trim())))),s&&(k.states[h].note=s,k.states[h].note.text=r.e.sanitizeText(k.states[h].note.text,(0,r.c)())),a){r.l.info("Setting state classes",h,a);("string"==typeof a?[a]:a).forEach((t=>$(h,t.trim())))}if(o){r.l.info("Setting state styles",h,o);("string"==typeof o?[o]:o).forEach((t=>F(h,t.trim())))}if(l){r.l.info("Setting state styles",h,o);("string"==typeof l?[l]:l).forEach((t=>O(h,t.trim())))}},w=function(t){b={root:{relations:[],states:{},documents:{}}},k=b.root,_=0,x={},t||(0,r.v)()},v=function(t){return k.states[t]};function A(t=""){let e=t;return t===d&&(_++,e=`${u}${_}`),e}function L(t="",e=c){return t===d?u:e}const B=function(t,e,i){if("object"==typeof t)!function(t,e,i){let n=A(t.id.trim()),s=L(t.id.trim(),t.type),a=A(e.id.trim()),o=L(e.id.trim(),e.type);S(n,s,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),S(a,o,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),k.relations.push({id1:n,id2:a,relationTitle:r.e.sanitizeText(i,(0,r.c)())})}(t,e,i);else{const n=A(t.trim()),s=L(t),a=function(t=""){let e=t;return t===p&&(_++,e=`end${_}`),e}(e.trim()),o=function(t="",e=c){return t===p?"end":e}(e);S(n,s),S(a,o),k.relations.push({id1:n,id2:a,title:r.e.sanitizeText(i,(0,r.c)())})}},I=function(t,e){const i=k.states[t],n=e.startsWith(":")?e.replace(":","").trim():e;i.descriptions.push(r.e.sanitizeText(n,(0,r.c)()))},D=function(t,e=""){void 0===x[t]&&(x[t]={id:t,styles:[],textStyles:[]});const i=x[t];null!=e&&e.split(",").forEach((t=>{const e=t.replace(/([^;]*);/,"$1").trim();if(t.match(g)){const t=e.replace(y,"bgFill").replace(g,y);i.textStyles.push(t)}i.styles.push(e)}))},$=function(t,e){t.split(",").forEach((function(t){let i=v(t);if(void 0===i){const e=t.trim();S(e),i=v(e)}i.classes.push(e)}))},F=function(t,e){const i=v(t);void 0!==i&&i.textStyles.push(e)},O=function(t,e){const i=v(t);void 0!==i&&i.textStyles.push(e)},N={getConfig:()=>(0,r.c)().state,addState:S,clear:w,getState:v,getStates:function(){return k.states},getRelations:function(){return k.relations},getClasses:function(){return x},getDirection:()=>f,addRelation:B,getDividerId:()=>(T++,"divider-id-"+T),setDirection:t=>{f=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(){r.l.info("Documents = ",b)},getRootDoc:()=>m,setRootDoc:t=>{r.l.info("Setting root doc",t),m=t},getRootDocV2:()=>(E({id:"root"},{id:"root",doc:m},!0),{id:"root",doc:m}),extract:t=>{let e;e=t.doc?t.doc:t,r.l.info(e),w(!0),r.l.info("Extract",e),e.forEach((t=>{switch(t.stmt){case o:S(t.id.trim(),t.type,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles);break;case l:B(t.state1,t.state2,t.description);break;case"classDef":D(t.id.trim(),t.classes);break;case"applyClass":$(t.id.trim(),t.styleClass)}}))},trimColon:t=>t&&":"===t[0]?t.substr(1).trim():t.trim(),getAccTitle:r.g,setAccTitle:r.s,getAccDescription:r.a,setAccDescription:r.b,addStyleClass:D,setCssClass:$,addDescription:I,setDiagramTitle:r.q,getDiagramTitle:r.t},R=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`},3053:(t,e,i)=>{i.d(e,{a:()=>a,b:()=>c,c:()=>l,d:()=>s,e:()=>d,f:()=>o,g:()=>h});var r=i(17967),n=i(98539);const s=(t,e)=>{const i=t.append("rect");if(i.attr("x",e.x),i.attr("y",e.y),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("width",e.width),i.attr("height",e.height),e.name&&i.attr("name",e.name),void 0!==e.rx&&i.attr("rx",e.rx),void 0!==e.ry&&i.attr("ry",e.ry),void 0!==e.attrs)for(const t in e.attrs)i.attr(t,e.attrs[t]);return void 0!==e.class&&i.attr("class",e.class),i},a=(t,e)=>{const i={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};s(t,i).lower()},o=(t,e)=>{const i=e.text.replace(n.J," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.attr("class","legend"),r.style("text-anchor",e.anchor),void 0!==e.class&&r.attr("class",e.class);const s=r.append("tspan");return s.attr("x",e.x+2*e.textMargin),s.text(i),r},l=(t,e,i,n)=>{const s=t.append("image");s.attr("x",e),s.attr("y",i);const a=(0,r.N)(n);s.attr("xlink:href",a)},c=(t,e,i,n)=>{const s=t.append("use");s.attr("x",e),s.attr("y",i);const a=(0,r.N)(n);s.attr("xlink:href",`#${a}`)},h=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),d=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0})},90959:(t,e,i)=>{i.d(e,{diagram:()=>$});var r=i(98539),n=i(37724),s=i(46500),a=i(12281),o=i(7201),l=(i(27484),i(17967),i(27856),function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[6,8,10,11,12,14,16,17,20,21],i=[1,9],r=[1,10],n=[1,11],s=[1,12],a=[1,13],o=[1,16],l=[1,17],c={trace:function(){},yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:function(t,e,i,r,n,s,a){var o=s.length-1;switch(n){case 1:return s[o-1];case 2:case 6:case 7:this.$=[];break;case 3:s[o-1].push(s[o]),this.$=s[o-1];break;case 4:case 5:this.$=s[o];break;case 8:r.getCommonDb().setDiagramTitle(s[o].substr(6)),this.$=s[o].substr(6);break;case 9:this.$=s[o].trim(),r.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=s[o].trim(),r.getCommonDb().setAccDescription(this.$);break;case 12:r.addSection(s[o].substr(8)),this.$=s[o].substr(8);break;case 15:r.addTask(s[o],0,""),this.$=s[o];break;case 16:r.addEvent(s[o].substr(2)),this.$=s[o]}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:i,12:r,14:n,16:s,17:a,18:14,19:15,20:o,21:l},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:18,11:i,12:r,14:n,16:s,17:a,18:14,19:15,20:o,21:l},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,19]},{15:[1,20]},t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,4]),t(e,[2,9]),t(e,[2,10])],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)},parse:function(t){var e=this,i=[0],r=[],n=[null],s=[],a=this.table,o="",l=0,c=0,h=s.slice.call(arguments,1),d=Object.create(this.lexer),u={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(u.yy[p]=this.yy[p]);d.setInput(t,u.yy),u.yy.lexer=d,u.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var g=d.yylloc;s.push(g);var y=d.options&&d.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,x,b,k,_,T,C,E,S={};;){if(m=i[i.length-1],this.defaultActions[m]?x=this.defaultActions[m]:(null==f&&(E=void 0,"number"!=typeof(E=r.pop()||d.lex()||1)&&(E instanceof Array&&(E=(r=E).pop()),E=e.symbols_[E]||E),f=E),x=a[m]&&a[m][f]),void 0===x||!x.length||!x[0]){var w="";for(k in C=[],a[m])this.terminals_[k]&&k>2&&C.push("'"+this.terminals_[k]+"'");w=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(w,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:g,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+f);switch(x[0]){case 1:i.push(f),n.push(d.yytext),s.push(d.yylloc),i.push(x[1]),f=null,c=d.yyleng,o=d.yytext,l=d.yylineno,g=d.yylloc;break;case 2:if(_=this.productions_[x[1]][1],S.$=n[n.length-_],S._$={first_line:s[s.length-(_||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(_||1)].first_column,last_column:s[s.length-1].last_column},y&&(S._$.range=[s[s.length-(_||1)].range[0],s[s.length-1].range[1]]),void 0!==(b=this.performAction.apply(S,[o,c,l,u.yy,x[1],n,s].concat(h))))return b;_&&(i=i.slice(0,-1*_*2),n=n.slice(0,-1*_),s=s.slice(0,-1*_)),i.push(this.productions_[x[1]][0]),n.push(S.$),s.push(S._$),T=a[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}},h={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,i=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 r=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[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 i,r,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.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],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var s in n)this[s]=n[s];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,i,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&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,i,r){switch(i){case 0:case 1:case 3:case 4:break;case 2:return 10;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\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,/^(?::\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};function d(){this.yy={}}return c.lexer=h,d.prototype=c,c.Parser=d,new d}());l.parser=l;const c=l;let h="",d=0;const u=[],p=[],g=[],y=()=>r.L,f=function(){u.length=0,p.length=0,h="",g.length=0,(0,r.v)()},m=function(t){h=t,u.push(t)},x=function(){return u},b=function(){let t=C();let e=0;for(;!t&&e<100;)t=C(),e++;return p.push(...g),p},k=function(t,e,i){const r={id:d++,section:h,type:h,task:t,score:e||0,events:i?[i]:[]};g.push(r)},_=function(t){g.find((t=>t.id===d-1)).events.push(t)},T=function(t){const e={section:h,type:h,description:t,task:t,classes:[]};p.push(e)},C=function(){let t=!0;for(const[e,i]of g.entries())g[e].processed,t=t&&i.processed;return t},E={clear:f,getCommonDb:y,addSection:m,getSections:x,getTasks:b,addTask:k,addTaskOrg:T,addEvent:_},S=Object.freeze(Object.defineProperty({__proto__:null,addEvent:_,addSection:m,addTask:k,addTaskOrg:T,clear:f,default:E,getCommonDb:y,getSections:x,getTasks:b},Symbol.toStringTag,{value:"Module"}));!function(){function t(t,e,i,n,s,a,o,l){r(e.append("text").attr("x",i+s/2).attr("y",n+a/2+5).style("font-color",l).style("text-anchor","middle").text(t),o)}function e(t,e,i,n,s,a,o,l,c){const{taskFontSize:h,taskFontFamily:d}=l,u=t.split(/<br\s*\/?>/gi);for(let t=0;t<u.length;t++){const l=t*h-h*(u.length-1)/2,p=e.append("text").attr("x",i+s/2).attr("y",n).attr("fill",c).style("text-anchor","middle").style("font-size",h).style("font-family",d);p.append("tspan").attr("x",i+s/2).attr("dy",l).text(u[t]),p.attr("y",n+a/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),r(p,o)}}function i(t,i,n,s,a,o,l,c){const h=i.append("switch"),d=h.append("foreignObject").attr("x",n).attr("y",s).attr("width",a).attr("height",o).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");d.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,h,n,s,a,o,l,c),r(d,l)}function r(t,e){for(const i in e)i in e&&t.attr(i,e[i])}}();function w(t,e){t.each((function(){var t,i=(0,n.Ys)(this),r=i.text().split(/(\s+|<br>)/).reverse(),s=[],a=i.attr("y"),o=parseFloat(i.attr("dy")),l=i.text(null).append("tspan").attr("x",0).attr("y",a).attr("dy",o+"em");for(let n=0;n<r.length;n++)t=r[r.length-1-n],s.push(t),l.text(s.join(" ").trim()),(l.node().getComputedTextLength()>e||"<br>"===t)&&(s.pop(),l.text(s.join(" ").trim()),s="<br>"===t?[""]:[t],l=i.append("tspan").attr("x",0).attr("y",a).attr("dy","1.1em").text(t))}))}const v=function(t,e,i){t.append("path").attr("id","node-"+e.id).attr("class","node-bkg node-"+e.type).attr("d",`M0 ${e.height-5} v${10-e.height} q0,-5 5,-5 h${e.width-10} q5,0 5,5 v${e.height-5} H0 Z`),t.append("line").attr("class","node-line-"+i).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},A=function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},L=function(t,e,i,r){const n=i%12-1,s=t.append("g");e.section=n,s.attr("class",(e.class?e.class+" ":"")+"timeline-node section-"+n);const a=s.append("g"),o=s.append("g"),l=o.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(w,e.width).node().getBBox(),c=r.fontSize&&r.fontSize.replace?r.fontSize.replace("px",""):r.fontSize;return e.height=l.height+1.1*c*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,o.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),v(a,e,n),e},B=function(t,e,i){const r=t.append("g"),n=r.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(w,e.width).node().getBBox(),s=i.fontSize&&i.fontSize.replace?i.fontSize.replace("px",""):i.fontSize;return r.remove(),n.height+1.1*s*.5+e.padding},I=function(t,e,i,n,s,a,o,l,c,h,d){var u;for(const l of e){const e={descr:l.task,section:i,number:i,width:150,padding:20,maxHeight:a};r.l.debug("taskNode",e);const p=t.append("g").attr("class","taskWrapper"),g=L(p,e,i,o).height;if(r.l.debug("taskHeight after draw",g),p.attr("transform",`translate(${n}, ${s})`),a=Math.max(a,g),l.events){const e=t.append("g").attr("class","lineWrapper");let r=a;s+=100,r+=D(t,l.events,i,n,s,o),s-=100,e.append("line").attr("x1",n+95).attr("y1",s+a).attr("x2",n+95).attr("y2",s+a+(d?a:h)+c+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}n+=200,d&&!(null==(u=o.timeline)?void 0:u.disableMulticolor)&&i++}s-=10},D=function(t,e,i,n,s,a){let o=0;const l=s;s+=100;for(const l of e){const e={descr:l,section:i,number:i,width:150,padding:20,maxHeight:50};r.l.debug("eventNode",e);const c=t.append("g").attr("class","eventWrapper"),h=L(c,e,i,a).height;o+=h,c.attr("transform",`translate(${n}, ${s})`),s=s+10+h}return s=l,o},$={db:S,renderer:{setConf:()=>{},draw:function(t,e,i,s){var a,o;const l=(0,r.c)(),c=l.leftMargin??50;r.l.debug("timeline",s.db);const h=l.securityLevel;let d;"sandbox"===h&&(d=(0,n.Ys)("#i"+e));const u=("sandbox"===h?(0,n.Ys)(d.nodes()[0].contentDocument.body):(0,n.Ys)("body")).select("#"+e);u.append("g");const p=s.db.getTasks(),g=s.db.getCommonDb().getDiagramTitle();r.l.debug("task",p),A(u);const y=s.db.getSections();r.l.debug("sections",y);let f=0,m=0,x=0,b=0,k=50+c,_=50;b=50;let T=0,C=!0;y.forEach((function(t){const e=B(u,{number:T,descr:t,section:T,width:150,padding:20,maxHeight:f},l);r.l.debug("sectionHeight before draw",e),f=Math.max(f,e+20)}));let E=0,S=0;r.l.debug("tasks.length",p.length);for(const[t,e]of p.entries()){const i={number:t,descr:e,section:e.section,width:150,padding:20,maxHeight:m},n=B(u,i,l);r.l.debug("taskHeight before draw",n),m=Math.max(m,n+20),E=Math.max(E,e.events.length);let s=0;for(let t=0;t<e.events.length;t++){const i={descr:e.events[t],section:e.section,number:e.section,width:150,padding:20,maxHeight:50};s+=B(u,i,l)}S=Math.max(S,s)}r.l.debug("maxSectionHeight before draw",f),r.l.debug("maxTaskHeight before draw",m),y&&y.length>0?y.forEach((t=>{const e=p.filter((e=>e.section===t)),i={number:T,descr:t,section:T,width:200*Math.max(e.length,1)-50,padding:20,maxHeight:f};r.l.debug("sectionNode",i);const n=u.append("g"),s=L(n,i,T,l);r.l.debug("sectionNode output",s),n.attr("transform",`translate(${k}, 50)`),_+=f+50,e.length>0&&I(u,e,T,k,_,m,l,E,S,f,!1),k+=200*Math.max(e.length,1),_=50,T++})):(C=!1,I(u,p,T,k,_,m,l,E,S,f,!0));const w=u.node().getBBox();r.l.debug("bounds",w),g&&u.append("text").text(g).attr("x",w.width/2-c).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),x=C?f+m+150:m+100;u.append("g").attr("class","lineWrapper").append("line").attr("x1",c).attr("y1",x).attr("x2",w.width+3*c).attr("y2",x).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),(0,r.o)(void 0,u,(null==(a=l.timeline)?void 0:a.padding)??50,(null==(o=l.timeline)?void 0:o.useMaxWidth)??!1)}},parser:c,styles:t=>`\n .edge {\n stroke-width: 3;\n }\n ${(t=>{let e="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++)t["lineColor"+e]=t["lineColor"+e]||t["cScaleInv"+e],(0,s.Z)(t["lineColor"+e])?t["lineColor"+e]=(0,a.Z)(t["lineColor"+e],20):t["lineColor"+e]=(0,o.Z)(t["lineColor"+e],20);for(let i=0;i<t.THEME_COLOR_LIMIT;i++){const r=""+(17-3*i);e+=`\n .section-${i-1} rect, .section-${i-1} path, .section-${i-1} circle, .section-${i-1} path {\n fill: ${t["cScale"+i]};\n }\n .section-${i-1} text {\n fill: ${t["cScaleLabel"+i]};\n }\n .node-icon-${i-1} {\n font-size: 40px;\n color: ${t["cScaleLabel"+i]};\n }\n .section-edge-${i-1}{\n stroke: ${t["cScale"+i]};\n }\n .edge-depth-${i-1}{\n stroke-width: ${r};\n }\n .section-${i-1} line {\n stroke: ${t["cScaleInv"+i]} ;\n stroke-width: 3;\n }\n\n .lineWrapper line{\n stroke: ${t["cScaleLabel"+i]} ;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n `}return e})(t)}\n .section-root rect, .section-root path, .section-root circle {\n fill: ${t.git0};\n }\n .section-root text {\n fill: ${t.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .eventWrapper {\n filter: brightness(120%);\n }\n`}},73739:(t,e,i)=>{i.d(e,{diagram:()=>P});var r=i(98539),n=i(67807),s=i(37724),a=(i(27484),i(17967),i(27856),function(){var t=function(t,e,i,r){for(i=i||{},r=t.length;r--;i[t[r]]=e);return i},e=[1,10,12,14,16,18,19,21,23],i=[2,6],r=[1,3],n=[1,5],s=[1,6],a=[1,7],o=[1,5,10,12,14,16,18,19,21,23,34,35,36],l=[1,25],c=[1,26],h=[1,28],d=[1,29],u=[1,30],p=[1,31],g=[1,32],y=[1,33],f=[1,34],m=[1,35],x=[1,36],b=[1,37],k=[1,43],_=[1,42],T=[1,47],C=[1,50],E=[1,10,12,14,16,18,19,21,23,34,35,36],S=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],w=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],v=[1,64],A={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:function(t,e,i,r,n,s,a){var o=s.length-1;switch(n){case 5:r.setOrientation(s[o]);break;case 9:r.setDiagramTitle(s[o].text.trim());break;case 12:r.setLineData({text:"",type:"text"},s[o]);break;case 13:r.setLineData(s[o-1],s[o]);break;case 14:r.setBarData({text:"",type:"text"},s[o]);break;case 15:r.setBarData(s[o-1],s[o]);break;case 16:this.$=s[o].trim(),r.setAccTitle(this.$);break;case 17:case 18:this.$=s[o].trim(),r.setAccDescription(this.$);break;case 19:case 27:this.$=s[o-1];break;case 20:this.$=[Number(s[o-2]),...s[o]];break;case 21:this.$=[Number(s[o])];break;case 22:r.setXAxisTitle(s[o]);break;case 23:r.setXAxisTitle(s[o-1]);break;case 24:r.setXAxisTitle({type:"text",text:""});break;case 25:r.setXAxisBand(s[o]);break;case 26:r.setXAxisRangeData(Number(s[o-2]),Number(s[o]));break;case 28:this.$=[s[o-2],...s[o]];break;case 29:this.$=[s[o]];break;case 30:r.setYAxisTitle(s[o]);break;case 31:r.setYAxisTitle(s[o-1]);break;case 32:r.setYAxisTitle({type:"text",text:""});break;case 33:r.setYAxisRangeData(Number(s[o-2]),Number(s[o]));break;case 37:case 38:this.$={text:s[o],type:"text"};break;case 39:this.$={text:s[o],type:"markdown"};break;case 40:this.$=s[o];break;case 41:this.$=s[o-1]+""+s[o]}},table:[t(e,i,{3:1,4:2,7:4,5:r,34:n,35:s,36:a}),{1:[3]},t(e,i,{4:2,7:4,3:8,5:r,34:n,35:s,36:a}),t(e,i,{4:2,7:4,6:9,3:10,5:r,8:[1,11],34:n,35:s,36:a}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(o,[2,34]),t(o,[2,35]),t(o,[2,36]),{1:[2,1]},t(e,i,{4:2,7:4,3:21,5:r,34:n,35:s,36:a}),{1:[2,3]},t(o,[2,5]),t(e,[2,7],{4:22,34:n,35:s,36:a}),{11:23,37:24,38:l,39:c,40:27,41:h,42:d,43:u,44:p,45:g,46:y,47:f,48:m,49:x,50:b},{11:39,13:38,24:k,27:_,29:40,30:41,37:24,38:l,39:c,40:27,41:h,42:d,43:u,44:p,45:g,46:y,47:f,48:m,49:x,50:b},{11:45,15:44,27:T,33:46,37:24,38:l,39:c,40:27,41:h,42:d,43:u,44:p,45:g,46:y,47:f,48:m,49:x,50:b},{11:49,17:48,24:C,37:24,38:l,39:c,40:27,41:h,42:d,43:u,44:p,45:g,46:y,47:f,48:m,49:x,50:b},{11:52,17:51,24:C,37:24,38:l,39:c,40:27,41:h,42:d,43:u,44:p,45:g,46:y,47:f,48:m,49:x,50:b},{20:[1,53]},{22:[1,54]},t(E,[2,18]),{1:[2,2]},t(E,[2,8]),t(E,[2,9]),t(S,[2,37],{40:55,41:h,42:d,43:u,44:p,45:g,46:y,47:f,48:m,49:x,50:b}),t(S,[2,38]),t(S,[2,39]),t(w,[2,40]),t(w,[2,42]),t(w,[2,43]),t(w,[2,44]),t(w,[2,45]),t(w,[2,46]),t(w,[2,47]),t(w,[2,48]),t(w,[2,49]),t(w,[2,50]),t(w,[2,51]),t(E,[2,10]),t(E,[2,22],{30:41,29:56,24:k,27:_}),t(E,[2,24]),t(E,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:l,39:c,40:27,41:h,42:d,43:u,44:p,45:g,46:y,47:f,48:m,49:x,50:b},t(E,[2,11]),t(E,[2,30],{33:60,27:T}),t(E,[2,32]),{31:[1,61]},t(E,[2,12]),{17:62,24:C},{25:63,27:v},t(E,[2,14]),{17:65,24:C},t(E,[2,16]),t(E,[2,17]),t(w,[2,41]),t(E,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(E,[2,31]),{27:[1,69]},t(E,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(E,[2,15]),t(E,[2,26]),t(E,[2,27]),{11:59,32:72,37:24,38:l,39:c,40:27,41:h,42:d,43:u,44:p,45:g,46:y,47:f,48:m,49:x,50:b},t(E,[2,33]),t(E,[2,19]),{25:73,27:v},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)},parse:function(t){var e=this,i=[0],r=[],n=[null],s=[],a=this.table,o="",l=0,c=0,h=s.slice.call(arguments,1),d=Object.create(this.lexer),u={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(u.yy[p]=this.yy[p]);d.setInput(t,u.yy),u.yy.lexer=d,u.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var g=d.yylloc;s.push(g);var y=d.options&&d.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,m,x,b,k,_,T,C,E,S={};;){if(m=i[i.length-1],this.defaultActions[m]?x=this.defaultActions[m]:(null==f&&(E=void 0,"number"!=typeof(E=r.pop()||d.lex()||1)&&(E instanceof Array&&(E=(r=E).pop()),E=e.symbols_[E]||E),f=E),x=a[m]&&a[m][f]),void 0===x||!x.length||!x[0]){var w="";for(k in C=[],a[m])this.terminals_[k]&&k>2&&C.push("'"+this.terminals_[k]+"'");w=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+C.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(w,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:g,expected:C})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+f);switch(x[0]){case 1:i.push(f),n.push(d.yytext),s.push(d.yylloc),i.push(x[1]),f=null,c=d.yyleng,o=d.yytext,l=d.yylineno,g=d.yylloc;break;case 2:if(_=this.productions_[x[1]][1],S.$=n[n.length-_],S._$={first_line:s[s.length-(_||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(_||1)].first_column,last_column:s[s.length-1].last_column},y&&(S._$.range=[s[s.length-(_||1)].range[0],s[s.length-1].range[1]]),void 0!==(b=this.performAction.apply(S,[o,c,l,u.yy,x[1],n,s].concat(h))))return b;_&&(i=i.slice(0,-1*_*2),n=n.slice(0,-1*_),s=s.slice(0,-1*_)),i.push(this.productions_[x[1]][0]),n.push(S.$),s.push(S._$),T=a[i[i.length-2]][i[i.length-1]],i.push(T);break;case 3:return!0}}return!0}},L={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,i=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 r=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[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 i,r,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.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],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var s in n)this[s]=n[s];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,i,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,r=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[r]))&&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,i,r){switch(i){case 0:case 1:case 5:case 43:break;case 2:case 3:return this.popState(),34;case 4:return 34;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:case 25:case 27:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 26:this.pushState("string");break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 44:return 35;case 45:return 36}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};function B(){this.yy={}}return A.lexer=L,B.prototype=A,A.Parser=B,new B}());a.parser=a;const o=a;function l(t){return"bar"===t.type}function c(t){return"band"===t.type}function h(t){return"linear"===t.type}class d{constructor(t){this.parentGroup=t}getMaxDimension(t,e){if(!this.parentGroup)return{width:t.reduce(((t,e)=>Math.max(e.length,t)),0)*e,height:e};const i={width:0,height:0},r=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",e);for(const s of t){const t=(0,n.c)(r,1,s),a=t?t.width:s.length*e,o=t?t.height:e;i.width=Math.max(i.width,a),i.height=Math.max(i.height,o)}return r.remove(),i}}class u{constructor(t,e,i,r){this.axisConfig=t,this.title=e,this.textDimensionCalculator=i,this.axisThemeConfig=r,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(t){this.range=t,"left"===this.axisPosition||"right"===this.axisPosition?this.boundingRect.height=t[1]-t[0]:this.boundingRect.width=t[1]-t[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(t){this.axisPosition=t,this.setRange(this.range)}getTickDistance(){const t=this.getRange();return Math.abs(t[0]-t[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map((t=>t.toString())),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){.7*this.getTickDistance()>2*this.outerPadding&&(this.outerPadding=Math.floor(.7*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(t){let e=t.height;if(this.axisConfig.showAxisLine&&e>this.axisConfig.axisLineWidth&&(e-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const i=this.getLabelDimension(),r=.2*t.width;this.outerPadding=Math.min(i.width/2,r);const n=i.height+2*this.axisConfig.labelPadding;this.labelTextHeight=i.height,n<=e&&(e-=n,this.showLabel=!0)}if(this.axisConfig.showTick&&e>=this.axisConfig.tickLength&&(this.showTick=!0,e-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const t=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=t.height+2*this.axisConfig.titlePadding;this.titleTextHeight=t.height,i<=e&&(e-=i,this.showTitle=!0)}this.boundingRect.width=t.width,this.boundingRect.height=t.height-e}calculateSpaceIfDrawnVertical(t){let e=t.width;if(this.axisConfig.showAxisLine&&e>this.axisConfig.axisLineWidth&&(e-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const i=this.getLabelDimension(),r=.2*t.height;this.outerPadding=Math.min(i.height/2,r);const n=i.width+2*this.axisConfig.labelPadding;n<=e&&(e-=n,this.showLabel=!0)}if(this.axisConfig.showTick&&e>=this.axisConfig.tickLength&&(this.showTick=!0,e-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const t=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=t.height+2*this.axisConfig.titlePadding;this.titleTextHeight=t.height,i<=e&&(e-=i,this.showTitle=!0)}this.boundingRect.width=t.width-e,this.boundingRect.height=t.height}calculateSpace(t){return"left"===this.axisPosition||"right"===this.axisPosition?this.calculateSpaceIfDrawnVertical(t):this.calculateSpaceIfDrawnHorizontally(t),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}getDrawableElementsForLeftAxis(){const t=[];if(this.showAxisLine){const e=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${e},${this.boundingRect.y} L ${e},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map((t=>({text:t.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(t),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"})))}),this.showTick){const e=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map((t=>({path:`M ${e},${this.getScaleValue(t)} L ${e-this.axisConfig.tickLength},${this.getScaleValue(t)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth})))})}return this.showTitle&&t.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForBottomAxis(){const t=[];if(this.showAxisLine){const e=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${e} L ${this.boundingRect.x+this.boundingRect.width},${e}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map((t=>({text:t.toString(),x:this.getScaleValue(t),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"})))}),this.showTick){const e=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map((t=>({path:`M ${this.getScaleValue(t)},${e} L ${this.getScaleValue(t)},${e+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth})))})}return this.showTitle&&t.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForTopAxis(){const t=[];if(this.showAxisLine){const e=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${e} L ${this.boundingRect.x+this.boundingRect.width},${e}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map((t=>({text:t.toString(),x:this.getScaleValue(t),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+2*this.axisConfig.titlePadding:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"})))}),this.showTick){const e=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map((t=>({path:`M ${this.getScaleValue(t)},${e+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(t)},${e+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth})))})}return this.showTitle&&t.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElements(){if("left"===this.axisPosition)return this.getDrawableElementsForLeftAxis();if("right"===this.axisPosition)throw Error("Drawing of right axis is not implemented");return"bottom"===this.axisPosition?this.getDrawableElementsForBottomAxis():"top"===this.axisPosition?this.getDrawableElementsForTopAxis():[]}}class p extends u{constructor(t,e,i,r,n){super(t,r,n,e),this.categories=i,this.scale=(0,s.tiA)().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=(0,s.tiA)().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),r.l.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)||this.getRange()[0]}}class g extends u{constructor(t,e,i,r,n){super(t,r,n,e),this.domain=i,this.scale=(0,s.BYU)().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const t=[...this.domain];"left"===this.axisPosition&&t.reverse(),this.scale=(0,s.BYU)().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}}function y(t,e,i,r){const n=new d(r);return c(t)?new p(e,i,t.categories,t.title,n):new g(e,i,[t.min,t.max],t.title,n)}class f{constructor(t,e,i,r){this.textDimensionCalculator=t,this.chartConfig=e,this.chartData=i,this.chartThemeConfig=r,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){const e=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),i=Math.max(e.width,t.width),r=e.height+2*this.chartConfig.titlePadding;return e.width<=i&&e.height<=r&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=i,this.boundingRect.height=r,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const t=[];return this.showChartTitle&&t.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),t}}function m(t,e,i,r){const n=new d(r);return new f(n,t,e,i)}class x{constructor(t,e,i,r,n){this.plotData=t,this.xAxis=e,this.yAxis=i,this.orientation=r,this.plotIndex=n}getDrawableElement(){const t=this.plotData.data.map((t=>[this.xAxis.getScaleValue(t[0]),this.yAxis.getScaleValue(t[1])]));let e;return e="horizontal"===this.orientation?(0,s.jvg)().y((t=>t[0])).x((t=>t[1]))(t):(0,s.jvg)().x((t=>t[0])).y((t=>t[1]))(t),e?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:e,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}class b{constructor(t,e,i,r,n,s){this.barData=t,this.boundingRect=e,this.xAxis=i,this.yAxis=r,this.orientation=n,this.plotIndex=s}getDrawableElement(){const t=this.barData.data.map((t=>[this.xAxis.getScaleValue(t[0]),this.yAxis.getScaleValue(t[1])])),e=.95*Math.min(2*this.xAxis.getAxisOuterPadding(),this.xAxis.getTickDistance()),i=e/2;return"horizontal"===this.orientation?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map((t=>({x:this.boundingRect.x,y:t[0]-i,height:e,width:t[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill})))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map((t=>({x:t[0]-i,y:t[1],width:e,height:this.boundingRect.y+this.boundingRect.height-t[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill})))}]}}class k{constructor(t,e,i){this.chartConfig=t,this.chartData=e,this.chartThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(t,e){this.xAxis=t,this.yAxis=e}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){return this.boundingRect.width=t.width,this.boundingRect.height=t.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!this.xAxis||!this.yAxis)throw Error("Axes must be passed to render Plots");const t=[];for(const[e,i]of this.chartData.plots.entries())switch(i.type){case"line":{const r=new x(i,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,e);t.push(...r.getDrawableElement())}break;case"bar":{const r=new b(i,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,e);t.push(...r.getDrawableElement())}}return t}}function _(t,e,i){return new k(t,e,i)}class T{constructor(t,e,i,r){this.chartConfig=t,this.chartData=e,this.componentStore={title:m(t,e,i,r),plot:_(t,e,i),xAxis:y(e.xAxis,t.xAxis,{titleColor:i.xAxisTitleColor,labelColor:i.xAxisLabelColor,tickColor:i.xAxisTickColor,axisLineColor:i.xAxisLineColor},r),yAxis:y(e.yAxis,t.yAxis,{titleColor:i.yAxisTitleColor,labelColor:i.yAxisLabelColor,tickColor:i.yAxisTickColor,axisLineColor:i.yAxisLineColor},r)}}calculateVerticalSpace(){let t=this.chartConfig.width,e=this.chartConfig.height,i=0,r=0,n=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),a=this.componentStore.plot.calculateSpace({width:n,height:s});t-=a.width,e-=a.height,a=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:e}),r=a.height,e-=a.height,this.componentStore.xAxis.setAxisPosition("bottom"),a=this.componentStore.xAxis.calculateSpace({width:t,height:e}),e-=a.height,this.componentStore.yAxis.setAxisPosition("left"),a=this.componentStore.yAxis.calculateSpace({width:t,height:e}),i=a.width,t-=a.width,t>0&&(n+=t,t=0),e>0&&(s+=e,e=0),this.componentStore.plot.calculateSpace({width:n,height:s}),this.componentStore.plot.setBoundingBoxXY({x:i,y:r}),this.componentStore.xAxis.setRange([i,i+n]),this.componentStore.xAxis.setBoundingBoxXY({x:i,y:r+s}),this.componentStore.yAxis.setRange([r,r+s]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:r}),this.chartData.plots.some((t=>l(t)))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let t=this.chartConfig.width,e=this.chartConfig.height,i=0,r=0,n=0,s=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),o=this.componentStore.plot.calculateSpace({width:s,height:a});t-=o.width,e-=o.height,o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:e}),i=o.height,e-=o.height,this.componentStore.xAxis.setAxisPosition("left"),o=this.componentStore.xAxis.calculateSpace({width:t,height:e}),t-=o.width,r=o.width,this.componentStore.yAxis.setAxisPosition("top"),o=this.componentStore.yAxis.calculateSpace({width:t,height:e}),e-=o.height,n=i+o.height,t>0&&(s+=t,t=0),e>0&&(a+=e,e=0),this.componentStore.plot.calculateSpace({width:s,height:a}),this.componentStore.plot.setBoundingBoxXY({x:r,y:n}),this.componentStore.yAxis.setRange([r,r+s]),this.componentStore.yAxis.setBoundingBoxXY({x:r,y:i}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:n}),this.chartData.plots.some((t=>l(t)))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){"horizontal"===this.chartConfig.chartOrientation?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const t=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const e of Object.values(this.componentStore))t.push(...e.getDrawableElements());return t}}class C{static build(t,e,i,r){return new T(t,e,i,r).getDrawableElement()}}let E,S=0,w=$(),v=D(),A=F(),L=v.plotColorPalette.split(",").map((t=>t.trim())),B=!1,I=!1;function D(){const t=(0,r.E)(),e=(0,r.F)();return(0,r.C)(t.xyChart,e.themeVariables.xyChart)}function $(){const t=(0,r.F)();return(0,r.C)(r.B.xyChart,t.xyChart)}function F(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function O(t){const e=(0,r.F)();return(0,r.d)(t.trim(),e)}function N(t,e){A.xAxis={type:"linear",title:A.xAxis.title,min:t,max:e},B=!0}function R(t){let e=[];if(0===t.length)return e;if(!B){const e=h(A.xAxis)?A.xAxis.min:1/0,i=h(A.xAxis)?A.xAxis.max:-1/0;N(Math.min(e,1),Math.max(i,t.length))}if(I||function(t){const e=Math.min(...t),i=Math.max(...t),r=h(A.yAxis)?A.yAxis.min:1/0,n=h(A.yAxis)?A.yAxis.max:-1/0;A.yAxis={type:"linear",title:A.yAxis.title,min:Math.min(r,e),max:Math.max(n,i)}}(t),c(A.xAxis)&&(e=A.xAxis.categories.map(((e,i)=>[e,t[i]]))),h(A.xAxis)){const i=A.xAxis.min,r=A.xAxis.max,n=(r-i+1)/t.length,s=[];for(let t=i;t<=r;t+=n)s.push(`${t}`);e=s.map(((e,i)=>[e,t[i]]))}return e}function M(t){return L[0===t?0:t%L.length]}const P={parser:o,db:{getDrawableElem:function(){if(0===A.plots.length)throw Error("No Plot to render, please provide a plot with some data");return A.title=(0,r.t)(),C.build(w,A,v,E)},clear:function(){(0,r.v)(),S=0,w=$(),A={yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]},v=D(),L=v.plotColorPalette.split(",").map((t=>t.trim())),B=!1,I=!1},setAccTitle:r.s,getAccTitle:r.g,setDiagramTitle:r.q,getDiagramTitle:r.t,getAccDescription:r.a,setAccDescription:r.b,setOrientation:function(t){w.chartOrientation="horizontal"===t?"horizontal":"vertical"},setXAxisTitle:function(t){A.xAxis.title=O(t.text)},setXAxisRangeData:N,setXAxisBand:function(t){A.xAxis={type:"band",title:A.xAxis.title,categories:t.map((t=>O(t.text)))},B=!0},setYAxisTitle:function(t){A.yAxis.title=O(t.text)},setYAxisRangeData:function(t,e){A.yAxis={type:"linear",title:A.yAxis.title,min:t,max:e},I=!0},setLineData:function(t,e){const i=R(e);A.plots.push({type:"line",strokeFill:M(S),strokeWidth:2,data:i}),S++},setBarData:function(t,e){const i=R(e);A.plots.push({type:"bar",fill:M(S),data:i}),S++},setTmpSVGG:function(t){E=t},getChartThemeConfig:function(){return v},getChartConfig:function(){return w}},renderer:{draw:(t,e,i,n)=>{const s=n.db,a=s.getChartThemeConfig(),o=s.getChartConfig();function l(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}r.l.debug("Rendering xychart chart\n"+t);const c=(0,r.A)(e),h=c.append("g").attr("class","main"),d=h.append("rect").attr("width",o.width).attr("height",o.height).attr("class","background");(0,r.i)(c,o.height,o.width,!0),c.attr("viewBox",`0 0 ${o.width} ${o.height}`),d.attr("fill",a.backgroundColor),s.setTmpSVGG(c.append("g").attr("class","mermaid-tmp-group"));const u=s.getDrawableElem(),p={};function g(t){let e=h,i="";for(const[r]of t.entries()){let n=h;r>0&&p[i]&&(n=p[i]),i+=t[r],e=p[i],e||(e=p[i]=n.append("g").attr("class",t[r]))}return e}for(const t of u){if(0===t.data.length)continue;const e=g(t.groupTexts);switch(t.type){case"rect":e.selectAll("rect").data(t.data).enter().append("rect").attr("x",(t=>t.x)).attr("y",(t=>t.y)).attr("width",(t=>t.width)).attr("height",(t=>t.height)).attr("fill",(t=>t.fill)).attr("stroke",(t=>t.strokeFill)).attr("stroke-width",(t=>t.strokeWidth));break;case"text":e.selectAll("text").data(t.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",(t=>t.fill)).attr("font-size",(t=>t.fontSize)).attr("dominant-baseline",(t=>"top"===t.verticalPos?"text-before-edge":"middle")).attr("text-anchor",(t=>{return"left"===(e=t.horizontalPos)?"start":"right"===e?"end":"middle";var e})).attr("transform",(t=>l(t))).text((t=>t.text));break;case"path":e.selectAll("path").data(t.data).enter().append("path").attr("d",(t=>t.path)).attr("fill",(t=>t.fill?t.fill:"none")).attr("stroke",(t=>t.strokeFill)).attr("stroke-width",(t=>t.strokeWidth))}}}}}}}]); //# sourceMappingURL=mermaid.js.map?v=a8055a67e342722f3307