Lines Matching defs:relationship

231 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var dt=this.next();return dt||this.lex()},begin:function(dt){this.conditionStack.push(dt)},popState:function(){var dt=this.conditionStack.length-1;return dt>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(dt){return dt=this.conditionStack.length-1-Math.abs(dt||0),dt>=0?this.conditionStack[dt]:"INITIAL"},pushState:function(dt){this.begin(dt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(dt,K,yt,V){switch(yt){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: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 15:break;case 16:return 37;case 17:return 34;case 18:return 34;case 19:return 38;case 20:break;case 21:return this.popState(),17;case 22:return K.yytext[0];case 23:return 18;case 24:return 19;case 25:return 41;case 26:return 43;case 27:return 43;case 28:return 43;case 29:return 41;case 30:return 41;case 31:return 42;case 32:return 42;case 33:return 42;case 34:return 42;case 35:return 42;case 36:return 43;case 37:return 42;case 38:return 43;case 39:return 44;case 40:return 44;case 41:return 44;case 42:return 44;case 43:return 41;case 44:return 42;case 45:return 43;case 46:return 45;case 47:return 46;case 48:return 47;case 49:return 47;case 50:return 46;case 51:return 46;case 52:return 46;case 53:return 27;case 54:return K.yytext[0];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}}};return gt}();ct.lexer=rt;function it(){this.yy={}}return it.prototype=ct,ct.Parser=it,new it}();rbt.parser=rbt;const vWe=rbt;let S8={},ibt=[];const yWe={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"},xWe={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},vzt=function(i,a=void 0){return S8[i]===void 0?(S8[i]={attributes:[],alias:a},Kt.info("Added new entity :",i)):S8[i]&&!S8[i].alias&&a&&(S8[i].alias=a,Kt.info(`Add alias '${a}' to entity '${i}'`)),S8[i]},kWe={Cardinality:yWe,Identification:xWe,getConfig:()=>Re().er,addEntity:vzt,addAttributes:function(i,a){let f=vzt(i),g;for(g=a.length-1;g>=0;g--)f.attributes.push(a[g]),Kt.debug("Added attribute ",a[g].attributeName)},getEntities:()=>S8,addRelationship:function(i,a,f,g){let w={entityA:i,roleA:a,entityB:f,relSpec:g};ibt.push(w),Kt.debug("Added new relationship :",w)},getRelationships:()=>ibt,clear:function(){S8={},ibt=[],ag()},setAccTitle:og,getAccTitle:Xg,setAccDescription:Qg,getAccDescription:Jg,setDiagramTitle:S2,getDiagramTitle:Zg},ey={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"},ny={ERMarkers:ey,insertMarkers:function(i,a){let f;i.append("defs").append("marker").attr("id",ey.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"),i.append("defs").append("marker").attr("id",ey.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"),i.append("defs").append("marker").attr("id",ey.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),i.append("defs").append("marker").attr("id",ey.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),f=i.append("defs").append("marker").attr("id",ey.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M9,0 L9,18"),f=i.append("defs").append("marker").attr("id",ey.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M21,0 L21,18"),i.append("defs").append("marker").attr("id",ey.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),i.append("defs").append("marker").attr("id",ey.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),f=i.append("defs").append("marker").attr("id",ey.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),f=i.append("defs").append("marker").attr("id",ey.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),f.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),f.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")}},EWe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function TWe(i){return typeof i=="string"&&EWe.test(i)}const b0=[];for(let i=0;i<256;++i)b0.push((i+256).toString(16).slice(1));function CWe(i,a=0){return(b0[i[a+0]]+b0[i[a+1]]+b0[i[a+2]]+b0[i[a+3]]+"-"+b0[i[a+4]]+b0[i[a+5]]+"-"+b0[i[a+6]]+b0[i[a+7]]+"-"+b0[i[a+8]]+b0[i[a+9]]+"-"+b0[i[a+10]]+b0[i[a+11]]+b0[i[a+12]]+b0[i[a+13]]+b0[i[a+14]]+b0[i[a+15]]).toLowerCase()}function SWe(i){if(!TWe(i))throw TypeError("Invalid UUID");let a;const f=new Uint8Array(16);return f[0]=(a=parseInt(i.slice(0,8),16))>>>24,f[1]=a>>>16&255,f[2]=a>>>8&255,f[3]=a&255,f[4]=(a=parseInt(i.slice(9,13),16))>>>8,f[5]=a&255,f[6]=(a=parseInt(i.slice(14,18),16))>>>8,f[7]=a&255,f[8]=(a=parseInt(i.slice(19,23),16))>>>8,f[9]=a&255,f[10]=(a=parseInt(i.slice(24,36),16))/1099511627776&255,f[11]=a/4294967296&255,f[12]=a>>>24&255,f[13]=a>>>16&255,f[14]=a>>>8&255,f[15]=a&255,f}function _We(i){i=unescape(encodeURIComponent(i));const a=[];for(let f=0;f<i.length;++f)a.push(i.charCodeAt(f));return a}const AWe="6ba7b810-9dad-11d1-80b4-00c04fd430c8",LWe="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function DWe(i,a,f){function g(w,v,b,E){var S;if(typeof w=="string"&&(w=_We(w)),typeof v=="string"&&(v=SWe(v)),((S=v)===null||S===void 0?void 0:S.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let _=new Uint8Array(16+w.length);if(_.set(v),_.set(w,v.length),_=f(_),_[6]=_[6]&15|a,_[8]=_[8]&63|128,b){E=E||0;for(let M=0;M<16;++M)b[E+M]=_[M];return b}return CWe(_)}try{g.name=i}catch{}return g.DNS=AWe,g.URL=LWe,g}function MWe(i,a,f,g){switch(i){case 0:return a&f^~a&g;case 1:return a^f^g;case 2:return a&f^a&g^f&g;case 3:return a^f^g}}function sbt(i,a){return i<<a|i>>>32-a}function IWe(i){const a=[1518500249,1859775393,2400959708,3395469782],f=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof i=="string"){const b=unescape(encodeURIComponent(i));i=[];for(let E=0;E<b.length;++E)i.push(b.charCodeAt(E))}else Array.isArray(i)||(i=Array.prototype.slice.call(i));i.push(128);const g=i.length/4+2,w=Math.ceil(g/16),v=new Array(w);for(let b=0;b<w;++b){const E=new Uint32Array(16);for(let S=0;S<16;++S)E[S]=i[b*64+S*4]<<24|i[b*64+S*4+1]<<16|i[b*64+S*4+2]<<8|i[b*64+S*4+3];v[b]=E}v[w-1][14]=(i.length-1)*8/Math.pow(2,32),v[w-1][14]=Math.floor(v[w-1][14]),v[w-1][15]=(i.length-1)*8&4294967295;for(let b=0;b<w;++b){const E=new Uint32Array(80);for(let B=0;B<16;++B)E[B]=v[b][B];for(let B=16;B<80;++B)E[B]=sbt(E[B-3]^E[B-8]^E[B-14]^E[B-16],1);let S=f[0],_=f[1],M=f[2],F=f[3],R=f[4];for(let B=0;B<80;++B){const z=Math.floor(B/20),Y=sbt(S,5)+MWe(z,_,M,F)+R+a[z]+E[B]>>>0;R=F,F=M,M=sbt(_,30)>>>0,_=S,S=Y}f[0]=f[0]+S>>>0,f[1]=f[1]+_>>>0,f[2]=f[2]+M>>>0,f[3]=f[3]+F>>>0,f[4]=f[4]+R>>>0}return[f[0]>>24&255,f[0]>>16&255,f[0]>>8&255,f[0]&255,f[1]>>24&255,f[1]>>16&255,f[1]>>8&255,f[1]&255,f[2]>>24&255,f[2]>>16&255,f[2]>>8&255,f[2]&255,f[3]>>24&255,f[3]>>16&255,f[3]>>8&255,f[3]&255,f[4]>>24&255,f[4]>>16&255,f[4]>>8&255,f[4]&255]}const OWe=DWe("v5",80,IWe),NWe=/[^\dA-Za-z](\W)*/g;let z1={},nB=new Map;const PWe=function(i){const a=Object.keys(i);for(const f of a)z1[f]=i[f]},FWe=(i,a,f)=>{const g=z1.entityPadding/3,w=z1.entityPadding/3,v=z1.fontSize*.85,b=a.node().getBBox(),E=[];let S=!1,_=!1,M=0,F=0,R=0,B=0,z=b.height+g*2,Y=1;f.forEach(wt=>{wt.attributeKeyTypeList!==void 0&&wt.attributeKeyTypeList.length>0&&(S=!0),wt.attributeComment!==void 0&&(_=!0)}),f.forEach(wt=>{const mt=`${a.node().id}-attr-${Y}`;let ct=0;const rt=kF(wt.attributeType),it=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Re().fontFamily).style("font-size",v+"px").text(rt),gt=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Re().fontFamily).style("font-size",v+"px").text(wt.attributeName),Q={};Q.tn=it,Q.nn=gt;const dt=it.node().getBBox(),K=gt.node().getBBox();if(M=Math.max(M,dt.width),F=Math.max(F,K.width),ct=Math.max(dt.height,K.height),S){const yt=wt.attributeKeyTypeList!==void 0?wt.attributeKeyTypeList.join(","):"",V=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Re().fontFamily).style("font-size",v+"px").text(yt);Q.kn=V;const Ot=V.node().getBBox();R=Math.max(R,Ot.width),ct=Math.max(ct,Ot.height)}if(_){const yt=i.append("text").classed("er entityLabel",!0).attr("id",`${mt}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Re().fontFamily).style("font-size",v+"px").text(wt.attributeComment||"");Q.cn=yt;const V=yt.node().getBBox();B=Math.max(B,V.width),ct=Math.max(ct,V.height)}Q.height=ct,E.push(Q),z+=ct+g*2,Y+=1});let nt=4;S&&(nt+=2),_&&(nt+=2);const ot=M+F+R+B,ft={width:Math.max(z1.minEntityWidth,Math.max(b.width+z1.entityPadding*2,ot+w*nt)),height:f.length>0?z:Math.max(z1.minEntityHeight,b.height+z1.entityPadding*2)};if(f.length>0){const wt=Math.max(0,(ft.width-ot-w*nt)/(nt/2));a.attr("transform","translate("+ft.width/2+","+(g+b.height/2)+")");let mt=b.height+g*2,ct="attributeBoxOdd";E.forEach(rt=>{const it=mt+g+rt.height/2;rt.tn.attr("transform","translate("+w+","+it+")");const gt=i.insert("rect","#"+rt.tn.node().id).classed(`er ${ct}`,!0).attr("x",0).attr("y",mt).attr("width",M+w*2+wt).attr("height",rt.height+g*2),Q=parseFloat(gt.attr("x"))+parseFloat(gt.attr("width"));rt.nn.attr("transform","translate("+(Q+w)+","+it+")");const dt=i.insert("rect","#"+rt.nn.node().id).classed(`er ${ct}`,!0).attr("x",Q).attr("y",mt).attr("width",F+w*2+wt).attr("height",rt.height+g*2);let K=parseFloat(dt.attr("x"))+parseFloat(dt.attr("width"));if(S){rt.kn.attr("transform","translate("+(K+w)+","+it+")");const yt=i.insert("rect","#"+rt.kn.node().id).classed(`er ${ct}`,!0).attr("x",K).attr("y",mt).attr("width",R+w*2+wt).attr("height",rt.height+g*2);K=parseFloat(yt.attr("x"))+parseFloat(yt.attr("width"))}_&&(rt.cn.attr("transform","translate("+(K+w)+","+it+")"),i.insert("rect","#"+rt.cn.node().id).classed(`er ${ct}`,"true").attr("x",K).attr("y",mt).attr("width",B+w*2+wt).attr("height",rt.height+g*2)),mt+=rt.height+g*2,ct=ct==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else ft.height=Math.max(z1.minEntityHeight,z),a.attr("transform","translate("+ft.width/2+","+ft.height/2+")");return ft},BWe=function(i,a,f){const g=Object.keys(a);let w;return g.forEach(function(v){const b=HWe(v,"entity");nB.set(v,b);const E=i.append("g").attr("id",b);w=w===void 0?b:w;const S="text-"+b,_=E.append("text").classed("er entityLabel",!0).attr("id",S).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",Re().fontFamily).style("font-size",z1.fontSize+"px").text(a[v].alias??v),{width:M,height:F}=FWe(E,_,a[v].attributes),B=E.insert("rect","#"+S).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",M).attr("height",F).node().getBBox();f.setNode(b,{width:B.width,height:B.height,shape:"rect",id:b})}),w},RWe=function(i,a){a.nodes().forEach(function(f){f!==void 0&&a.node(f)!==void 0&&i.select("#"+f).attr("transform","translate("+(a.node(f).x-a.node(f).width/2)+","+(a.node(f).y-a.node(f).height/2)+" )")})},yzt=function(i){return(i.entityA+i.roleA+i.entityB).replace(/\s/g,"")},jWe=function(i,a){return i.forEach(function(f){a.setEdge(nB.get(f.entityA),nB.get(f.entityB),{relationship:f},yzt(f))}),i};let xzt=0;const $We=function(i,a,f,g,w){xzt++;const v=f.edge(nB.get(a.entityA),nB.get(a.entityB),yzt(a)),b=Ax().x(function(z){return z.x}).y(function(z){return z.y}).curve(wF),E=i.insert("path","#"+g).classed("er relationshipLine",!0).attr("d",b(v.points)).style("stroke",z1.stroke).style("fill","none");a.relSpec.relType===w.db.Identification.NON_IDENTIFYING&&E.attr("stroke-dasharray","8,8");let S="";switch(z1.arrowMarkerAbsolute&&(S=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,S=S.replace(/\(/g,"\\("),S=S.replace(/\)/g,"\\)")),a.relSpec.cardA){case w.db.Cardinality.ZERO_OR_ONE:E.attr("marker-end","url("+S+"#"+ny.ERMarkers.ZERO_OR_ONE_END+")");break;case w.db.Cardinality.ZERO_OR_MORE:E.attr("marker-end","url("+S+"#"+ny.ERMarkers.ZERO_OR_MORE_END+")");break;case w.db.Cardinality.ONE_OR_MORE:E.attr("marker-end","url("+S+"#"+ny.ERMarkers.ONE_OR_MORE_END+")");break;case w.db.Cardinality.ONLY_ONE:E.attr("marker-end","url("+S+"#"+ny.ERMarkers.ONLY_ONE_END+")");break;case w.db.Cardinality.MD_PARENT:E.attr("marker-end","url("+S+"#"+ny.ERMarkers.MD_PARENT_END+")");break}switch(a.relSpec.cardB){case w.db.Cardinality.ZERO_OR_ONE:E.attr("marker-start","url("+S+"#"+ny.ERMarkers.ZERO_OR_ONE_START+")");break;case w.db.Cardinality.ZERO_OR_MORE:E.attr("marker-start","url("+S+"#"+ny.ERMarkers.ZERO_OR_MORE_START+")");break;case w.db.Cardinality.ONE_OR_MORE:E.attr("marker-start","url("+S+"#"+ny.ERMarkers.ONE_OR_MORE_START+")");break;case w.db.Cardinality.ONLY_ONE:E.attr("marker-start","url("+S+"#"+ny.ERMarkers.ONLY_ONE_START+")");break;case w.db.Cardinality.MD_PARENT:E.attr("marker-start","url("+S+"#"+ny.ERMarkers.MD_PARENT_START+")");break}const _=E.node().getTotalLength(),M=E.node().getPointAtLength(_*.5),F="rel"+xzt,B=i.append("text").classed("er relationshipLabel",!0).attr("id",F).attr("x",M.x).attr("y",M.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",Re().fontFamily).style("font-size",z1.fontSize+"px").text(a.roleA).node().getBBox();i.insert("rect","#"+F).classed("er relationshipLabelBox",!0).attr("x",M.x-B.width/2).attr("y",M.y-B.height/2).attr("width",B.width).attr("height",B.height)},zWe=function(i,a,f,g){z1=Re().er,Kt.info("Drawing ER diagram");const w=Re().securityLevel;let v;w==="sandbox"&&(v=Tr("#i"+a));const E=Tr(w==="sandbox"?v.nodes()[0].contentDocument.body:"body").select(`[id='${a}']`);ny.insertMarkers(E,z1);let S;S=new l1({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:z1.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});const _=BWe(E,g.db.getEntities(),S),M=jWe(g.db.getRelationships(),S);kD(S),RWe(E,S),M.forEach(function(Y){$We(E,Y,S,_,g)});const F=z1.diagramPadding;uo.insertTitle(E,"entityTitleText",z1.titleTopMargin,g.db.getDiagramTitle());const R=E.node().getBBox(),B=R.width+F*2,z=R.height+F*2;sg(E,z,B,z1.useMaxWidth),E.attr("viewBox",`${R.x-F} ${R.y-F} ${B} ${z}`)},qWe="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function HWe(i="",a=""){const f=i.replace(NWe,"");return`${kzt(a)}${kzt(f)}${OWe(i,qWe)}`}function kzt(i=""){return i.length>0?`${i}-`:""}const VWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:vWe,db:kWe,renderer:{setConf:PWe,draw:zWe},styles:i=>`

653 `+i);const M=FF(a),F=M.append("g").attr("class","main"),R=F.append("rect").attr("width",b.width).attr("height",b.height).attr("class","background");sg(M,b.height,b.width,!0),M.attr("viewBox",`0 0 ${b.width} ${b.height}`),R.attr("fill",v.backgroundColor),w.setTmpSVGG(M.append("g").attr("class","mermaid-tmp-group"));const B=w.getDrawableElem(),z={};function Y(nt){let ot=F,ft="";for(const[wt]of nt.entries()){let mt=F;wt>0&&z[ft]&&(mt=z[ft]),ft+=nt[wt],ot=z[ft],ot||(ot=z[ft]=mt.append("g").attr("class",nt[wt]))}return ot}for(const nt of B){if(nt.data.length===0)continue;const ot=Y(nt.groupTexts);switch(nt.type){case"rect":ot.selectAll("rect").data(nt.data).enter().append("rect").attr("x",ft=>ft.x).attr("y",ft=>ft.y).attr("width",ft=>ft.width).attr("height",ft=>ft.height).attr("fill",ft=>ft.fill).attr("stroke",ft=>ft.strokeFill).attr("stroke-width",ft=>ft.strokeWidth);break;case"text":ot.selectAll("text").data(nt.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",ft=>ft.fill).attr("font-size",ft=>ft.fontSize).attr("dominant-baseline",ft=>E(ft.verticalPos)).attr("text-anchor",ft=>S(ft.horizontalPos)).attr("transform",ft=>_(ft)).text(ft=>ft.text);break;case"path":ot.selectAll("path").data(nt.data).enter().append("path").attr("d",ft=>ft.path).attr("fill",ft=>ft.fill?ft.fill:"none").attr("stroke",ft=>ft.strokeFill).attr("stroke-width",ft=>ft.strokeWidth);break}}}}}},Symbol.toStringTag,{value:"Module"}));var Dbt=function(){var i=function(Ae,ye,tn,sn){for(tn=tn||{},sn=Ae.length;sn--;tn[Ae[sn]]=ye);return tn},a=[1,3],f=[1,4],g=[1,5],w=[1,6],v=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],b=[1,18],E=[2,7],S=[1,22],_=[1,23],M=[1,24],F=[1,25],R=[1,26],B=[1,27],z=[1,20],Y=[1,28],nt=[1,29],ot=[62,63],ft=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],wt=[1,47],mt=[1,48],ct=[1,49],rt=[1,50],it=[1,51],gt=[1,52],Q=[1,53],dt=[53,54],K=[1,64],yt=[1,60],V=[1,61],Ot=[1,62],It=[1,63],jt=[1,65],xt=[1,69],Ft=[1,70],Ct=[1,67],kt=[1,68],Gt=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],Fe={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(ye,tn,sn,be,Ne,Xt,_e){var xe=Xt.length-1;switch(Ne){case 4:this.$=Xt[xe].trim(),be.setAccTitle(this.$);break;case 5:case 6:this.$=Xt[xe].trim(),be.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:be.addRequirement(Xt[xe-3],Xt[xe-4]);break;case 14:be.setNewReqId(Xt[xe-2]);break;case 15:be.setNewReqText(Xt[xe-2]);break;case 16:be.setNewReqRisk(Xt[xe-2]);break;case 17:be.setNewReqVerifyMethod(Xt[xe-2]);break;case 20:this.$=be.RequirementType.REQUIREMENT;break;case 21:this.$=be.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=be.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=be.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=be.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=be.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=be.RiskLevel.LOW_RISK;break;case 27:this.$=be.RiskLevel.MED_RISK;break;case 28:this.$=be.RiskLevel.HIGH_RISK;break;case 29:this.$=be.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=be.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=be.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=be.VerifyType.VERIFY_TEST;break;case 33:be.addElement(Xt[xe-3]);break;case 34:be.setNewElementType(Xt[xe-2]);break;case 35:be.setNewElementDocRef(Xt[xe-2]);break;case 38:be.addRelationship(Xt[xe-2],Xt[xe],Xt[xe-4]);break;case 39:be.addRelationship(Xt[xe-2],Xt[xe-4],Xt[xe]);break;case 40:this.$=be.Relationships.CONTAINS;break;case 41:this.$=be.Relationships.COPIES;break;case 42:this.$=be.Relationships.DERIVES;break;case 43:this.$=be.Relationships.SATISFIES;break;case 44:this.$=be.Relationships.VERIFIES;break;case 45:this.$=be.Relationships.REFINES;break;case 46:this.$=be.Relationships.TRACES;break}},table:[{3:1,4:2,6:a,9:f,11:g,13:w},{1:[3]},{3:8,4:2,5:[1,7],6:a,9:f,11:g,13:w},{5:[1,9]},{10:[1,10]},{12:[1,11]},i(v,[2,6]),{3:12,4:2,6:a,9:f,11:g,13:w},{1:[2,2]},{4:17,5:b,7:13,8:E,9:f,11:g,13:w,14:14,15:15,16:16,17:19,23:21,31:S,32:_,33:M,34:F,35:R,36:B,44:z,62:Y,63:nt},i(v,[2,4]),i(v,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:b,7:31,8:E,9:f,11:g,13:w,14:14,15:15,16:16,17:19,23:21,31:S,32:_,33:M,34:F,35:R,36:B,44:z,62:Y,63:nt},{4:17,5:b,7:32,8:E,9:f,11:g,13:w,14:14,15:15,16:16,17:19,23:21,31:S,32:_,33:M,34:F,35:R,36:B,44:z,62:Y,63:nt},{4:17,5:b,7:33,8:E,9:f,11:g,13:w,14:14,15:15,16:16,17:19,23:21,31:S,32:_,33:M,34:F,35:R,36:B,44:z,62:Y,63:nt},{4:17,5:b,7:34,8:E,9:f,11:g,13:w,14:14,15:15,16:16,17:19,23:21,31:S,32:_,33:M,34:F,35:R,36:B,44:z,62:Y,63:nt},{4:17,5:b,7:35,8:E,9:f,11:g,13:w,14:14,15:15,16:16,17:19,23:21,31:S,32:_,33:M,34:F,35:R,36:B,44:z,62:Y,63:nt},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},i(ot,[2,20]),i(ot,[2,21]),i(ot,[2,22]),i(ot,[2,23]),i(ot,[2,24]),i(ot,[2,25]),i(ft,[2,49]),i(ft,[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:wt,56:mt,57:ct,58:rt,59:it,60:gt,61:Q},{52:54,55:wt,56:mt,57:ct,58:rt,59:it,60:gt,61:Q},{5:[1,55]},{5:[1,56]},{53:[1,57]},i(dt,[2,40]),i(dt,[2,41]),i(dt,[2,42]),i(dt,[2,43]),i(dt,[2,44]),i(dt,[2,45]),i(dt,[2,46]),{54:[1,58]},{5:K,20:59,21:yt,24:V,26:Ot,28:It,30:jt},{5:xt,30:Ft,46:66,47:Ct,49:kt},{23:71,62:Y,63:nt},{23:72,62:Y,63:nt},i(Gt,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:K,20:77,21:yt,24:V,26:Ot,28:It,30:jt},i(Gt,[2,19]),i(Gt,[2,33]),{22:[1,78]},{22:[1,79]},{5:xt,30:Ft,46:80,47:Ct,49:kt},i(Gt,[2,37]),i(Gt,[2,38]),i(Gt,[2,39]),{23:81,62:Y,63:nt},{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]},i(Gt,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},i(Gt,[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:K,20:106,21:yt,24:V,26:Ot,28:It,30:jt},{5:K,20:107,21:yt,24:V,26:Ot,28:It,30:jt},{5:K,20:108,21:yt,24:V,26:Ot,28:It,30:jt},{5:K,20:109,21:yt,24:V,26:Ot,28:It,30:jt},{5:xt,30:Ft,46:110,47:Ct,49:kt},{5:xt,30:Ft,46:111,47:Ct,49:kt},i(Gt,[2,14]),i(Gt,[2,15]),i(Gt,[2,16]),i(Gt,[2,17]),i(Gt,[2,34]),i(Gt,[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(ye,tn){if(tn.recoverable)this.trace(ye);else{var sn=new Error(ye);throw sn.hash=tn,sn}},parse:function(ye){var tn=this,sn=[0],be=[],Ne=[null],Xt=[],_e=this.table,xe="",Mn=0,ce=0,Br=2,we=1,Fi=Xt.slice.call(arguments,1),mi=Object.create(this.lexer),ga={yy:{}};for(var Ss in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ss)&&(ga.yy[Ss]=this.yy[Ss]);mi.setInput(ye,ga.yy),ga.yy.lexer=mi,ga.yy.parser=this,typeof mi.yylloc>"u"&&(mi.yylloc={});var za=mi.yylloc;Xt.push(za);var br=mi.options&&mi.options.ranges;typeof ga.yy.parseError=="function"?this.parseError=ga.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function An(){var va;return va=be.pop()||mi.lex()||we,typeof va!="number"&&(va instanceof Array&&(be=va,va=be.pop()),va=tn.symbols_[va]||va),va}for(var Nn,Bn,ke,pe,Je={},an,xn,qa,xo;;){if(Bn=sn[sn.length-1],this.defaultActions[Bn]?ke=this.defaultActions[Bn]:((Nn===null||typeof Nn>"u")&&(Nn=An()),ke=_e[Bn]&&_e[Bn][Nn]),typeof ke>"u"||!ke.length||!ke[0]){var ko="";xo=[];for(an in _e[Bn])this.terminals_[an]&&an>Br&&xo.push("'"+this.terminals_[an]+"'");mi.showPosition?ko="Parse error on line "+(Mn+1)+`:
704 L0,${a.line_height}`).attr("stroke-width",1)}};let Xh={},cqt=0;const uqt=(i,a)=>i.insert("rect","#"+a).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",Xh.rect_min_width+"px").attr("height",Xh.rect_min_height+"px"),lqt=(i,a,f)=>{let g=Xh.rect_min_width/2,w=i.append("text").attr("class","req reqLabel reqTitle").attr("id",a).attr("x",g).attr("y",Xh.rect_padding).attr("dominant-baseline","hanging"),v=0;f.forEach(_=>{v==0?w.append("tspan").attr("text-anchor","middle").attr("x",Xh.rect_min_width/2).attr("dy",0).text(_):w.append("tspan").attr("text-anchor","middle").attr("x",Xh.rect_min_width/2).attr("dy",Xh.line_height*.75).text(_),v++});let b=1.5*Xh.rect_padding,E=v*Xh.line_height*.75,S=b+E;return i.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",Xh.rect_min_width).attr("y1",S).attr("y2",S),{titleNode:w,y:S}},hqt=(i,a,f,g)=>{let w=i.append("text").attr("class","req reqLabel").attr("id",a).attr("x",Xh.rect_padding).attr("y",g).attr("dominant-baseline","hanging"),v=0;const b=30;let E=[];return f.forEach(S=>{let _=S.length;for(;_>b&&v<3;){let M=S.substring(0,b);S=S.substring(b,S.length),_=S.length,E[E.length]=M,v++}if(v==3){let M=E[E.length-1];E[E.length-1]=M.substring(0,M.length-4)+"..."}else E[E.length]=S;v=0}),E.forEach(S=>{w.append("tspan").attr("x",Xh.rect_padding).attr("dy",Xh.line_height).text(S)}),w},rQe=(i,a,f,g)=>{const w=a.node().getTotalLength(),v=a.node().getPointAtLength(w*.5),b="rel"+cqt;cqt++;const S=i.append("text").attr("class","req relationshipLabel").attr("id",b).attr("x",v.x).attr("y",v.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(g).node().getBBox();i.insert("rect","#"+b).attr("class","req reqLabelBox").attr("x",v.x-S.width/2).attr("y",v.y-S.height/2).attr("width",S.width).attr("height",S.height).attr("fill","white").attr("fill-opacity","85%")},iQe=function(i,a,f,g,w){const v=f.edge(LD(a.src),LD(a.dst)),b=Ax().x(function(S){return S.x}).y(function(S){return S.y}),E=i.insert("path","#"+g).attr("class","er relationshipLine").attr("d",b(v.points)).attr("fill","none");a.type==w.db.Relationships.CONTAINS?E.attr("marker-start","url("+ei.getUrl(Xh.arrowMarkerAbsolute)+"#"+a.type+"_line_ending)"):(E.attr("stroke-dasharray","10,7"),E.attr("marker-end","url("+ei.getUrl(Xh.arrowMarkerAbsolute)+"#"+oqt.ReqMarkers.ARROW+"_line_ending)")),rQe(i,E,Xh,`<<${a.type}>>`)},sQe=(i,a,f)=>{Object.keys(i).forEach(g=>{let w=i[g];g=LD(g),Kt.info("Added new requirement: ",g);const v=f.append("g").attr("id",g),b="req-"+g,E=uqt(v,b);let S=lqt(v,g+"_title",[`<<${w.type}>>`,`${w.name}`]);hqt(v,g+"_body",[`Id: ${w.id}`,`Text: ${w.text}`,`Risk: ${w.risk}`,`Verification: ${w.verifyMethod}`],S.y);const _=E.node().getBBox();a.setNode(g,{width:_.width,height:_.height,shape:"rect",id:g})})},aQe=(i,a,f)=>{Object.keys(i).forEach(g=>{let w=i[g];const v=LD(g),b=f.append("g").attr("id",v),E="element-"+v,S=uqt(b,E);let _=lqt(b,E+"_title",["<<Element>>",`${g}`]);hqt(b,E+"_body",[`Type: ${w.type||"Not Specified"}`,`Doc Ref: ${w.docRef||"None"}`],_.y);const M=S.node().getBBox();a.setNode(v,{width:M.width,height:M.height,shape:"rect",id:v})})},oQe=(i,a)=>(i.forEach(function(f){let g=LD(f.src),w=LD(f.dst);a.setEdge(g,w,{relationship:f})}),i),cQe=function(i,a){a.nodes().forEach(function(f){f!==void 0&&a.node(f)!==void 0&&(i.select("#"+f),i.select("#"+f).attr("transform","translate("+(a.node(f).x-a.node(f).width/2)+","+(a.node(f).y-a.node(f).height/2)+" )"))})},LD=i=>i.replace(/\s/g,"").replace(/\./g,"_"),uQe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:tQe,db:eQe,renderer:{draw:(i,a,f,g)=>{Xh=Re().requirement;const w=Xh.securityLevel;let v;w==="sandbox"&&(v=Tr("#i"+a));const E=Tr(w==="sandbox"?v.nodes()[0].contentDocument.body:"body").select(`[id='${a}']`);oqt.insertLineEndings(E,Xh);const S=new l1({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:Xh.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let _=g.db.getRequirements(),M=g.db.getElements(),F=g.db.getRelationships();sQe(_,S,E),aQe(M,S,E),oQe(F,S),kD(S),cQe(E,S),F.forEach(function(nt){iQe(E,nt,S,a,g)});const R=Xh.rect_padding,B=E.node().getBBox(),z=B.width+R*2,Y=B.height+R*2;sg(E,Y,z,Xh.useMaxWidth),E.attr("viewBox",`${B.x-R} ${B.y-R} ${z} ${Y}`)}},styles:nQe}},Symbol.toStringTag,{value:"Module"}));var Obt=function(){var i=function(be,Ne,Xt,_e){for(Xt=Xt||{},_e=be.length;_e--;Xt[be[_e]]=Ne);return Xt},a=[1,2],f=[1,3],g=[1,4],w=[2,4],v=[1,9],b=[1,11],E=[1,13],S=[1,14],_=[1,16],M=[1,17],F=[1,18],R=[1,24],B=[1,25],z=[1,26],Y=[1,27],nt=[1,28],ot=[1,29],ft=[1,30],wt=[1,31],mt=[1,32],ct=[1,33],rt=[1,34],it=[1,35],gt=[1,36],Q=[1,37],dt=[1,38],K=[1,39],yt=[1,41],V=[1,42],Ot=[1,43],It=[1,44],jt=[1,45],xt=[1,46],Ft=[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],Ct=[4,5,16,50,52,53],kt=[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],Gt=[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],Fe=[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],Mt=[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],pn=[68,69,70],Ae=[1,120],ye={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(Ne,Xt,_e,xe,Mn,ce,Br){var we=ce.length-1;switch(Mn){case 3:return xe.apply(ce[we]),ce[we];case 4:case 9:this.$=[];break;case 5:case 10:ce[we-1].push(ce[we]),this.$=ce[we-1];break;case 6:case 7:case 11:case 12:this.$=ce[we];break;case 8:case 13:this.$=[];break;case 15:ce[we].type="createParticipant",this.$=ce[we];break;case 16:ce[we-1].unshift({type:"boxStart",boxData:xe.parseBoxData(ce[we-2])}),ce[we-1].push({type:"boxEnd",boxText:ce[we-2]}),this.$=ce[we-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(ce[we-2]),sequenceIndexStep:Number(ce[we-1]),sequenceVisible:!0,signalType:xe.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ce[we-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:xe.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:xe.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:xe.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:xe.LINETYPE.ACTIVE_START,actor:ce[we-1]};break;case 23:this.$={type:"activeEnd",signalType:xe.LINETYPE.ACTIVE_END,actor:ce[we-1]};break;case 29:xe.setDiagramTitle(ce[we].substring(6)),this.$=ce[we].substring(6);break;case 30:xe.setDiagramTitle(ce[we].substring(7)),this.$=ce[we].substring(7);break;case 31:this.$=ce[we].trim(),xe.setAccTitle(this.$);break;case 32:case 33:this.$=ce[we].trim(),xe.setAccDescription(this.$);break;case 34:ce[we-1].unshift({type:"loopStart",loopText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.LOOP_START}),ce[we-1].push({type:"loopEnd",loopText:ce[we-2],signalType:xe.LINETYPE.LOOP_END}),this.$=ce[we-1];break;case 35:ce[we-1].unshift({type:"rectStart",color:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.RECT_START}),ce[we-1].push({type:"rectEnd",color:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.RECT_END}),this.$=ce[we-1];break;case 36:ce[we-1].unshift({type:"optStart",optText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.OPT_START}),ce[we-1].push({type:"optEnd",optText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.OPT_END}),this.$=ce[we-1];break;case 37:ce[we-1].unshift({type:"altStart",altText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.ALT_START}),ce[we-1].push({type:"altEnd",signalType:xe.LINETYPE.ALT_END}),this.$=ce[we-1];break;case 38:ce[we-1].unshift({type:"parStart",parText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.PAR_START}),ce[we-1].push({type:"parEnd",signalType:xe.LINETYPE.PAR_END}),this.$=ce[we-1];break;case 39:ce[we-1].unshift({type:"parStart",parText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.PAR_OVER_START}),ce[we-1].push({type:"parEnd",signalType:xe.LINETYPE.PAR_END}),this.$=ce[we-1];break;case 40:ce[we-1].unshift({type:"criticalStart",criticalText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.CRITICAL_START}),ce[we-1].push({type:"criticalEnd",signalType:xe.LINETYPE.CRITICAL_END}),this.$=ce[we-1];break;case 41:ce[we-1].unshift({type:"breakStart",breakText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.BREAK_START}),ce[we-1].push({type:"breakEnd",optText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.BREAK_END}),this.$=ce[we-1];break;case 43:this.$=ce[we-3].concat([{type:"option",optionText:xe.parseMessage(ce[we-1]),signalType:xe.LINETYPE.CRITICAL_OPTION},ce[we]]);break;case 45:this.$=ce[we-3].concat([{type:"and",parText:xe.parseMessage(ce[we-1]),signalType:xe.LINETYPE.PAR_AND},ce[we]]);break;case 47:this.$=ce[we-3].concat([{type:"else",altText:xe.parseMessage(ce[we-1]),signalType:xe.LINETYPE.ALT_ELSE},ce[we]]);break;case 48:ce[we-3].draw="participant",ce[we-3].type="addParticipant",ce[we-3].description=xe.parseMessage(ce[we-1]),this.$=ce[we-3];break;case 49:ce[we-1].draw="participant",ce[we-1].type="addParticipant",this.$=ce[we-1];break;case 50:ce[we-3].draw="actor",ce[we-3].type="addParticipant",ce[we-3].description=xe.parseMessage(ce[we-1]),this.$=ce[we-3];break;case 51:ce[we-1].draw="actor",ce[we-1].type="addParticipant",this.$=ce[we-1];break;case 52:ce[we-1].type="destroyParticipant",this.$=ce[we-1];break;case 53:this.$=[ce[we-1],{type:"addNote",placement:ce[we-2],actor:ce[we-1].actor,text:ce[we]}];break;case 54:ce[we-2]=[].concat(ce[we-1],ce[we-1]).slice(0,2),ce[we-2][0]=ce[we-2][0].actor,ce[we-2][1]=ce[we-2][1].actor,this.$=[ce[we-1],{type:"addNote",placement:xe.PLACEMENT.OVER,actor:ce[we-2].slice(0,2),text:ce[we]}];break;case 55:this.$=[ce[we-1],{type:"addLinks",actor:ce[we-1].actor,text:ce[we]}];break;case 56:this.$=[ce[we-1],{type:"addALink",actor:ce[we-1].actor,text:ce[we]}];break;case 57:this.$=[ce[we-1],{type:"addProperties",actor:ce[we-1].actor,text:ce[we]}];break;case 58:this.$=[ce[we-1],{type:"addDetails",actor:ce[we-1].actor,text:ce[we]}];break;case 61:this.$=[ce[we-2],ce[we]];break;case 62:this.$=ce[we];break;case 63:this.$=xe.PLACEMENT.LEFTOF;break;case 64:this.$=xe.PLACEMENT.RIGHTOF;break;case 65:this.$=[ce[we-4],ce[we-1],{type:"addMessage",from:ce[we-4].actor,to:ce[we-1].actor,signalType:ce[we-3],msg:ce[we],activate:!0},{type:"activeStart",signalType:xe.LINETYPE.ACTIVE_START,actor:ce[we-1]}];break;case 66:this.$=[ce[we-4],ce[we-1],{type:"addMessage",from:ce[we-4].actor,to:ce[we-1].actor,signalType:ce[we-3],msg:ce[we]},{type:"activeEnd",signalType:xe.LINETYPE.ACTIVE_END,actor:ce[we-4]}];break;case 67:this.$=[ce[we-3],ce[we-1],{type:"addMessage",from:ce[we-3].actor,to:ce[we-1].actor,signalType:ce[we-2],msg:ce[we]}];break;case 68:this.$={type:"addParticipant",actor:ce[we]};break;case 69:this.$=xe.LINETYPE.SOLID_OPEN;break;case 70:this.$=xe.LINETYPE.DOTTED_OPEN;break;case 71:this.$=xe.LINETYPE.SOLID;break;case 72:this.$=xe.LINETYPE.DOTTED;break;case 73:this.$=xe.LINETYPE.SOLID_CROSS;break;case 74:this.$=xe.LINETYPE.DOTTED_CROSS;break;case 75:this.$=xe.LINETYPE.SOLID_POINT;break;case 76:this.$=xe.LINETYPE.DOTTED_POINT;break;case 77:this.$=xe.parseMessage(ce[we].trim().substring(1));break}},table:[{3:1,4:a,5:f,6:g},{1:[3]},{3:5,4:a,5:f,6:g},{3:6,4:a,5:f,6:g},i([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],w,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:v,5:b,8:8,9:10,12:12,13:E,14:S,17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},i(Ft,[2,5]),{9:47,12:12,13:E,14:S,17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},i(Ft,[2,7]),i(Ft,[2,8]),i(Ft,[2,14]),{12:48,50:Q,52:dt,53:K},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:xt},{22:55,70:xt},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},i(Ft,[2,29]),i(Ft,[2,30]),{32:[1,61]},{34:[1,62]},i(Ft,[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:xt},{22:72,70:xt},{22:73,70:xt},{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:xt},{22:88,70:xt},{22:89,70:xt},{22:90,70:xt},i([5,51,64,71,72,73,74,75,76,77,78,79],[2,68]),i(Ft,[2,6]),i(Ft,[2,15]),i(Ct,[2,9],{10:91}),i(Ft,[2,17]),{5:[1,93],19:[1,92]},{5:[1,94]},i(Ft,[2,21]),{5:[1,95]},{5:[1,96]},i(Ft,[2,24]),i(Ft,[2,25]),i(Ft,[2,26]),i(Ft,[2,27]),i(Ft,[2,28]),i(Ft,[2,31]),i(Ft,[2,32]),i(kt,w,{7:97}),i(kt,w,{7:98}),i(kt,w,{7:99}),i(Gt,w,{40:100,7:101}),i(Fe,w,{42:102,7:103}),i(Fe,w,{7:103,42:104}),i(Mt,w,{45:105,7:106}),i(kt,w,{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:xt},i(pn,[2,69]),i(pn,[2,70]),i(pn,[2,71]),i(pn,[2,72]),i(pn,[2,73]),i(pn,[2,74]),i(pn,[2,75]),i(pn,[2,76]),{22:116,70:xt},{22:118,58:117,70:xt},{70:[2,63]},{70:[2,64]},{56:119,79:Ae},{56:121,79:Ae},{56:122,79:Ae},{56:123,79:Ae},{4:[1,126],5:[1,128],11:125,12:127,16:[1,124],50:Q,52:dt,53:K},{5:[1,129]},i(Ft,[2,19]),i(Ft,[2,20]),i(Ft,[2,22]),i(Ft,[2,23]),{4:v,5:b,8:8,9:10,12:12,13:E,14:S,16:[1,130],17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},{4:v,5:b,8:8,9:10,12:12,13:E,14:S,16:[1,131],17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},{4:v,5:b,8:8,9:10,12:12,13:E,14:S,16:[1,132],17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},{16:[1,133]},{4:v,5:b,8:8,9:10,12:12,13:E,14:S,16:[2,46],17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,49:[1,134],50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},{16:[1,135]},{4:v,5:b,8:8,9:10,12:12,13:E,14:S,16:[2,44],17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,48:[1,136],50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},{16:[1,137]},{16:[1,138]},{4:v,5:b,8:8,9:10,12:12,13:E,14:S,16:[2,42],17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,47:[1,139],50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},{4:v,5:b,8:8,9:10,12:12,13:E,14:S,16:[1,140],17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},{15:[1,141]},i(Ft,[2,49]),{15:[1,142]},i(Ft,[2,51]),i(Ft,[2,52]),{22:143,70:xt},{22:144,70:xt},{56:145,79:Ae},{56:146,79:Ae},{56:147,79:Ae},{64:[1,148],79:[2,62]},{5:[2,55]},{5:[2,77]},{5:[2,56]},{5:[2,57]},{5:[2,58]},i(Ft,[2,16]),i(Ct,[2,10]),{12:149,50:Q,52:dt,53:K},i(Ct,[2,12]),i(Ct,[2,13]),i(Ft,[2,18]),i(Ft,[2,34]),i(Ft,[2,35]),i(Ft,[2,36]),i(Ft,[2,37]),{15:[1,150]},i(Ft,[2,38]),{15:[1,151]},i(Ft,[2,39]),i(Ft,[2,40]),{15:[1,152]},i(Ft,[2,41]),{5:[1,153]},{5:[1,154]},{56:155,79:Ae},{56:156,79:Ae},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:157,70:xt},i(Ct,[2,11]),i(Gt,w,{7:101,40:158}),i(Fe,w,{7:103,42:159}),i(Mt,w,{7:106,45:160}),i(Ft,[2,48]),i(Ft,[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(Ne,Xt){if(Xt.recoverable)this.trace(Ne);else{var _e=new Error(Ne);throw _e.hash=Xt,_e}},parse:function(Ne){var Xt=this,_e=[0],xe=[],Mn=[null],ce=[],Br=this.table,we="",Fi=0,mi=0,ga=2,Ss=1,za=ce.slice.call(arguments,1),br=Object.create(this.lexer),An={yy:{}};for(var Nn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Nn)&&(An.yy[Nn]=this.yy[Nn]);br.setInput(Ne,An.yy),An.yy.lexer=br,An.yy.parser=this,typeof br.yylloc>"u"&&(br.yylloc={});var Bn=br.yylloc;ce.push(Bn);var ke=br.options&&br.options.ranges;typeof An.yy.parseError=="function"?this.parseError=An.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(){var Zs;return Zs=xe.pop()||br.lex()||Ss,typeof Zs!="number"&&(Zs instanceof Array&&(xe=Zs,Zs=xe.pop()),Zs=Xt.symbols_[Zs]||Zs),Zs}for(var Je,an,xn,qa,xo={},ko,va,Ha,ds;;){if(an=_e[_e.length-1],this.defaultActions[an]?xn=this.defaultActions[an]:((Je===null||typeof Je>"u")&&(Je=pe()),xn=Br[an]&&Br[an][Je]),typeof xn>"u"||!xn.length||!xn[0]){var Fu="";ds=[];for(ko in Br[an])this.terminals_[ko]&&ko>ga&&ds.push("'"+this.terminals_[ko]+"'");br.showPosition?Fu="Parse error on line "+(Fi+1)+`: