@finos/legend-application-pure-ide-deployment 11.11.0 → 11.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ide/index.html +1 -1
- package/dist/ide/{135.js → static/135.2af0ed6c.js} +2 -2
- package/dist/ide/static/135.2af0ed6c.js.map +1 -0
- package/dist/ide/{14.js → static/14.9447a523.js} +2 -2
- package/dist/ide/static/14.9447a523.js.map +1 -0
- package/dist/ide/{144.js → static/144.56359b57.js} +1 -1
- package/dist/ide/static/144.56359b57.js.map +1 -0
- package/dist/ide/{192.js → static/192.2c9a3a4b.js} +1 -1
- package/dist/ide/static/192.2c9a3a4b.js.map +1 -0
- package/dist/ide/{196.js → static/196.dd0f3119.js} +1 -1
- package/dist/ide/static/196.dd0f3119.js.map +1 -0
- package/dist/ide/{222.js → static/222.969f20c8.js} +1 -1
- package/dist/ide/static/222.969f20c8.js.map +1 -0
- package/dist/ide/{224.js → static/224.bb7a7194.js} +1 -1
- package/dist/ide/static/224.bb7a7194.js.map +1 -0
- package/dist/ide/{246.js → static/246.4add4bf1.js} +2 -2
- package/dist/ide/static/246.4add4bf1.js.map +1 -0
- package/dist/ide/{309.js → static/309.df05f0ef.js} +2 -2
- package/dist/ide/static/309.df05f0ef.js.map +1 -0
- package/dist/ide/{32.js → static/32.1758faf0.js} +1 -1
- package/dist/ide/static/32.1758faf0.js.map +1 -0
- package/dist/ide/{327.js → static/327.fe8046d0.js} +1 -1
- package/dist/ide/static/327.fe8046d0.js.map +1 -0
- package/dist/ide/{362.js → static/362.a41dadab.js} +1 -1
- package/dist/ide/static/362.a41dadab.js.map +1 -0
- package/dist/ide/{374.js → static/374.0aa73cb9.js} +1 -1
- package/dist/ide/static/374.0aa73cb9.js.map +1 -0
- package/dist/ide/{399.js → static/399.4bd7d49b.js} +2 -2
- package/dist/ide/static/399.4bd7d49b.js.map +1 -0
- package/dist/ide/{400.js → static/400.5fa229f2.js} +1 -1
- package/dist/ide/static/400.5fa229f2.js.map +1 -0
- package/dist/ide/{404.js → static/404.7360c523.js} +1 -1
- package/dist/ide/static/404.7360c523.js.map +1 -0
- package/dist/ide/{413.js → static/413.848afa4d.js} +1 -1
- package/dist/ide/static/413.848afa4d.js.map +1 -0
- package/dist/ide/{46.js → static/46.767f2180.js} +1 -1
- package/dist/ide/static/46.767f2180.js.map +1 -0
- package/dist/ide/{471.js → static/471.d1ead9bf.js} +2 -2
- package/dist/ide/static/471.d1ead9bf.js.map +1 -0
- package/dist/ide/{481.js → static/481.be521fe4.js} +1 -1
- package/dist/ide/static/481.be521fe4.js.map +1 -0
- package/dist/ide/{578.js → static/578.d2ff5454.js} +1 -1
- package/dist/ide/static/578.d2ff5454.js.map +1 -0
- package/dist/ide/{586.js → static/586.c4953cb8.js} +1 -1
- package/dist/ide/static/586.c4953cb8.js.map +1 -0
- package/dist/ide/{616.js → static/616.dc5a1512.js} +1 -1
- package/dist/ide/static/616.dc5a1512.js.map +1 -0
- package/dist/ide/{624.js → static/624.2d11fadb.js} +1 -1
- package/dist/ide/static/624.2d11fadb.js.map +1 -0
- package/dist/ide/{636.js → static/636.4620ce27.js} +1 -1
- package/dist/ide/static/636.4620ce27.js.map +1 -0
- package/dist/ide/{817.js → static/817.6ce83b7d.js} +1 -1
- package/dist/ide/static/817.6ce83b7d.js.map +1 -0
- package/dist/ide/{837.js → static/837.5bdbaccc.js} +1 -1
- package/dist/ide/static/837.5bdbaccc.js.map +1 -0
- package/dist/ide/{909.js → static/909.35426328.js} +1 -1
- package/dist/ide/static/909.35426328.js.map +1 -0
- package/dist/ide/{923.js → static/923.1933c869.js} +1 -1
- package/dist/ide/static/923.1933c869.js.map +1 -0
- package/dist/ide/{932.js → static/932.417cc1c9.js} +1 -1
- package/dist/ide/static/932.417cc1c9.js.map +1 -0
- package/dist/ide/{947.js → static/947.b545969f.js} +2 -2
- package/dist/ide/static/947.b545969f.js.map +1 -0
- package/dist/ide/{969.js → static/969.d3cb41c2.js} +1 -1
- package/dist/ide/static/969.d3cb41c2.js.map +1 -0
- package/dist/ide/{977.js → static/977.112b9e63.js} +1 -1
- package/dist/ide/static/977.112b9e63.js.map +1 -0
- package/dist/ide/{99.js → static/99.5f870035.js} +2 -2
- package/dist/ide/static/99.5f870035.js.map +1 -0
- package/dist/ide/static/{index.e8b35023.js → index.0b1c88f5.js} +2 -2
- package/dist/ide/static/index.0b1c88f5.js.map +1 -0
- package/dist/ide/static/{index.89de1e23.css → index.0ff828b4.css} +6 -6
- package/dist/ide/static/{index.89de1e23.css.map → index.0ff828b4.css.map} +1 -1
- package/dist/ide/version.json +1 -1
- package/package.json +6 -6
- package/dist/ide/135.js.map +0 -1
- package/dist/ide/14.js.map +0 -1
- package/dist/ide/144.js.map +0 -1
- package/dist/ide/192.js.map +0 -1
- package/dist/ide/196.js.map +0 -1
- package/dist/ide/222.js.map +0 -1
- package/dist/ide/224.js.map +0 -1
- package/dist/ide/246.js.map +0 -1
- package/dist/ide/309.js.map +0 -1
- package/dist/ide/32.js.map +0 -1
- package/dist/ide/327.js.map +0 -1
- package/dist/ide/362.js.map +0 -1
- package/dist/ide/374.js.map +0 -1
- package/dist/ide/399.js.map +0 -1
- package/dist/ide/400.js.map +0 -1
- package/dist/ide/404.js.map +0 -1
- package/dist/ide/413.js.map +0 -1
- package/dist/ide/46.js.map +0 -1
- package/dist/ide/471.js.map +0 -1
- package/dist/ide/481.js.map +0 -1
- package/dist/ide/578.js.map +0 -1
- package/dist/ide/586.js.map +0 -1
- package/dist/ide/616.js.map +0 -1
- package/dist/ide/624.js.map +0 -1
- package/dist/ide/636.js.map +0 -1
- package/dist/ide/817.js.map +0 -1
- package/dist/ide/837.js.map +0 -1
- package/dist/ide/909.js.map +0 -1
- package/dist/ide/923.js.map +0 -1
- package/dist/ide/932.js.map +0 -1
- package/dist/ide/947.js.map +0 -1
- package/dist/ide/969.js.map +0 -1
- package/dist/ide/977.js.map +0 -1
- package/dist/ide/99.js.map +0 -1
- package/dist/ide/static/index.e8b35023.js.map +0 -1
- /package/dist/ide/{135.js.LICENSE.txt → static/135.2af0ed6c.js.LICENSE.txt} +0 -0
- /package/dist/ide/{14.js.LICENSE.txt → static/14.9447a523.js.LICENSE.txt} +0 -0
- /package/dist/ide/{246.js.LICENSE.txt → static/246.4add4bf1.js.LICENSE.txt} +0 -0
- /package/dist/ide/{309.js.LICENSE.txt → static/309.df05f0ef.js.LICENSE.txt} +0 -0
- /package/dist/ide/{399.js.LICENSE.txt → static/399.4bd7d49b.js.LICENSE.txt} +0 -0
- /package/dist/ide/{471.js.LICENSE.txt → static/471.d1ead9bf.js.LICENSE.txt} +0 -0
- /package/dist/ide/{947.js.LICENSE.txt → static/947.b545969f.js.LICENSE.txt} +0 -0
- /package/dist/ide/{99.js.LICENSE.txt → static/99.5f870035.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
|
|
1
1
|
"use strict";(globalThis.webpackChunk_finos_legend_application_pure_ide_deployment=globalThis.webpackChunk_finos_legend_application_pure_ide_deployment||[]).push([[192],{1192:(t,i,e)=>{e.r(i),e.d(i,{diagram:()=>d});var a=e(2801),n=e(4655),r=(e(8879),e(2659),e(5368),function(){var t=function(t,i,e,a){for(e=e||{},a=t.length;a--;e[t[a]]=i);return e},i=[1,3],e=[1,4],a=[1,5],n=[1,6],r=[1,7],s=[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],l=[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],o=[32,33,34],h=[2,7],c=[1,13],d=[1,17],u=[1,18],x=[1,19],g=[1,20],f=[1,21],y=[1,22],p=[1,23],q=[1,24],T=[1,25],m=[1,26],_=[1,27],A=[1,30],b=[1,31],S=[1,32],k=[1,33],F=[1,34],P=[1,35],v=[1,36],L=[1,37],C=[1,38],z=[1,39],B=[1,40],E=[1,41],D=[1,42],I=[1,57],w=[1,58],R=[5,22,26,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51],W={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,i,e,a,n,r,s){var l=r.length-1;switch(n){case 12:this.$=r[l].trim(),a.setDiagramTitle(this.$);break;case 13:this.$=r[l].trim(),a.setAccTitle(this.$);break;case 14:case 15:this.$=r[l].trim(),a.setAccDescription(this.$);break;case 16:a.addSection(r[l].substr(8)),this.$=r[l].substr(8);break;case 17:a.addPoint(r[l-3],r[l-1],r[l]);break;case 18:a.setXAxisLeftText(r[l-2]),a.setXAxisRightText(r[l]);break;case 19:r[l-1].text+=" ⟶ ",a.setXAxisLeftText(r[l-1]);break;case 20:a.setXAxisLeftText(r[l]);break;case 21:a.setYAxisBottomText(r[l-2]),a.setYAxisTopText(r[l]);break;case 22:r[l-1].text+=" ⟶ ",a.setYAxisBottomText(r[l-1]);break;case 23:a.setYAxisBottomText(r[l]);break;case 24:a.setQuadrant1Text(r[l]);break;case 25:a.setQuadrant2Text(r[l]);break;case 26:a.setQuadrant3Text(r[l]);break;case 27:a.setQuadrant4Text(r[l]);break;case 31:case 33:this.$={text:r[l],type:"text"};break;case 32:this.$={text:r[l-1].text+""+r[l],type:r[l-1].type};break;case 34:this.$={text:r[l],type:"markdown"};break;case 35:this.$=r[l];break;case 36:this.$=r[l-1]+""+r[l]}},table:[{3:1,4:2,5:i,6:e,32:a,33:n,34:r},{1:[3]},{3:8,4:2,5:i,6:e,32:a,33:n,34:r},{3:9,4:2,5:i,6:e,32:a,33:n,34:r},t(s,[2,4],{7:10}),t(l,[2,28]),t(l,[2,29]),t(l,[2,30]),{1:[2,1]},{1:[2,2]},t(o,h,{8:11,9:12,10:14,11:15,12:16,21:28,35:29,1:[2,3],5:c,13:d,15:u,17:x,19:g,20:f,25:y,27:p,28:q,29:T,30:m,31:_,37:A,38:b,40:S,41:k,42:F,43:P,44:v,45:L,46:C,47:z,48:B,49:E,50:D}),t(s,[2,5]),{4:43,32:a,33:n,34:r},t(o,h,{10:14,11:15,12:16,21:28,35:29,9:44,5:c,13:d,15:u,17:x,19:g,20:f,25:y,27:p,28:q,29:T,30:m,31:_,37:A,38:b,40:S,41:k,42:F,43:P,44:v,45:L,46:C,47:z,48:B,49:E,50:D}),t(o,[2,9]),t(o,[2,10]),t(o,[2,11]),{14:[1,45]},{16:[1,46]},{18:[1,47]},t(o,[2,15]),t(o,[2,16]),{21:48,35:29,37:A,38:b,40:S,41:k,42:F,43:P,44:v,45:L,46:C,47:z,48:B,49:E,50:D},{21:49,35:29,37:A,38:b,40:S,41:k,42:F,43:P,44:v,45:L,46:C,47:z,48:B,49:E,50:D},{21:50,35:29,37:A,38:b,40:S,41:k,42:F,43:P,44:v,45:L,46:C,47:z,48:B,49:E,50:D},{21:51,35:29,37:A,38:b,40:S,41:k,42:F,43:P,44:v,45:L,46:C,47:z,48:B,49:E,50:D},{21:52,35:29,37:A,38:b,40:S,41:k,42:F,43:P,44:v,45:L,46:C,47:z,48:B,49:E,50:D},{21:53,35:29,37:A,38:b,40:S,41:k,42:F,43:P,44:v,45:L,46:C,47:z,48:B,49:E,50:D},{5:I,22:[1,54],35:56,36:55,40:S,41:k,42:F,43:P,44:v,45:L,46:C,47:z,48:B,49:E,50:D,51:w},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(s,[2,6]),t(o,[2,8]),t(o,[2,12]),t(o,[2,13]),t(o,[2,14]),t(o,[2,20],{36:55,35:56,5:I,26:[1,59],40:S,41:k,42:F,43:P,44:v,45:L,46:C,47:z,48:B,49:E,50:D,51:w}),t(o,[2,23],{36:55,35:56,5:I,26:[1,60],40:S,41:k,42:F,43:P,44:v,45:L,46:C,47:z,48:B,49:E,50:D,51:w}),t(o,[2,24],{36:55,35:56,5:I,40:S,41:k,42:F,43:P,44:v,45:L,46:C,47:z,48:B,49:E,50:D,51:w}),t(o,[2,25],{36:55,35:56,5:I,40:S,41:k,42:F,43:P,44:v,45:L,46:C,47:z,48:B,49:E,50:D,51:w}),t(o,[2,26],{36:55,35:56,5:I,40:S,41:k,42:F,43:P,44:v,45:L,46:C,47:z,48:B,49:E,50:D,51:w}),t(o,[2,27],{36:55,35:56,5:I,40:S,41:k,42:F,43:P,44:v,45:L,46:C,47:z,48:B,49:E,50:D,51:w}),{23:[1,61]},t(R,[2,32]),t(R,[2,48]),t(R,[2,49]),t(R,[2,50]),t(o,[2,19],{35:29,21:62,37:A,38:b,40:S,41:k,42:F,43:P,44:v,45:L,46:C,47:z,48:B,49:E,50:D}),t(o,[2,22],{35:29,21:63,37:A,38:b,40:S,41:k,42:F,43:P,44:v,45:L,46:C,47:z,48:B,49:E,50:D}),{24:[1,64]},t(o,[2,18],{36:55,35:56,5:I,40:S,41:k,42:F,43:P,44:v,45:L,46:C,47:z,48:B,49:E,50:D,51:w}),t(o,[2,21],{36:55,35:56,5:I,40:S,41:k,42:F,43:P,44:v,45:L,46:C,47:z,48:B,49:E,50:D,51:w}),t(o,[2,17])],defaultActions:{8:[2,1],9:[2,2]},parseError:function(t,i){if(!i.recoverable){var e=new Error(t);throw e.hash=i,e}this.trace(t)},parse:function(t){var i=this,e=[0],a=[],n=[null],r=[],s=this.table,l="",o=0,h=0,c=r.slice.call(arguments,1),d=Object.create(this.lexer),u={yy:{}};for(var x in this.yy)Object.prototype.hasOwnProperty.call(this.yy,x)&&(u.yy[x]=this.yy[x]);d.setInput(t,u.yy),u.yy.lexer=d,u.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var g=d.yylloc;r.push(g);var f=d.options&&d.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var y,p,q,T,m,_,A,b,S,k={};;){if(p=e[e.length-1],this.defaultActions[p]?q=this.defaultActions[p]:(null==y&&(S=void 0,"number"!=typeof(S=a.pop()||d.lex()||1)&&(S instanceof Array&&(S=(a=S).pop()),S=i.symbols_[S]||S),y=S),q=s[p]&&s[p][y]),void 0===q||!q.length||!q[0]){var F="";for(m in b=[],s[p])this.terminals_[m]&&m>2&&b.push("'"+this.terminals_[m]+"'");F=d.showPosition?"Parse error on line "+(o+1)+":\n"+d.showPosition()+"\nExpecting "+b.join(", ")+", got '"+(this.terminals_[y]||y)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==y?"end of input":"'"+(this.terminals_[y]||y)+"'"),this.parseError(F,{text:d.match,token:this.terminals_[y]||y,line:d.yylineno,loc:g,expected:b})}if(q[0]instanceof Array&&q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+p+", token: "+y);switch(q[0]){case 1:e.push(y),n.push(d.yytext),r.push(d.yylloc),e.push(q[1]),y=null,h=d.yyleng,l=d.yytext,o=d.yylineno,g=d.yylloc;break;case 2:if(_=this.productions_[q[1]][1],k.$=n[n.length-_],k._$={first_line:r[r.length-(_||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(_||1)].first_column,last_column:r[r.length-1].last_column},f&&(k._$.range=[r[r.length-(_||1)].range[0],r[r.length-1].range[1]]),void 0!==(T=this.performAction.apply(k,[l,h,o,u.yy,q[1],n,r].concat(c))))return T;_&&(e=e.slice(0,-1*_*2),n=n.slice(0,-1*_),r=r.slice(0,-1*_)),e.push(this.productions_[q[1]][0]),n.push(k.$),r.push(k._$),A=s[e[e.length-2]][e[e.length-1]],e.push(A);break;case 3:return!0}}return!0}},N={EOF:1,parseError:function(t,i){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,i)},setInput:function(t,i){return this.yy=i||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 i=t.length,e=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var a=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),e.length-1&&(this.yylineno-=e.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:e?(e.length===a.length?this.yylloc.first_column:0)+a[a.length-e.length].length-e[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-i]),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(),i=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+i+"^"},test_match:function(t,i){var e,a,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))),(a=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.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],e=this.performAction.call(this,this.yy,this,i,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack){for(var r in n)this[r]=n[r];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,i,e,a;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),r=0;r<n.length;r++)if((e=this._input.match(this.rules[n[r]]))&&(!i||e[0].length>i[0].length)){if(i=e,a=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(e,n[r])))return t;if(this._backtrack){i=!1;continue}return!1}if(!this.options.flex)break}return i?!1!==(t=this.test_match(i,n[a]))&&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,i,e,a){switch(e){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 U(){this.yy={}}return W.lexer=N,U.prototype=W,W.Parser=U,new U}());r.parser=r;const s=r,l=(0,a.E)();const o=(0,a.c)();function h(t){return(0,a.d)(t.trim(),o)}const c=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,i,e,n,r,s,l,o,h,c,d,u,x,g,f,y,p,q;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:(null==(t=a.B.quadrantChart)?void 0:t.chartWidth)||500,chartWidth:(null==(i=a.B.quadrantChart)?void 0:i.chartHeight)||500,titlePadding:(null==(e=a.B.quadrantChart)?void 0:e.titlePadding)||10,titleFontSize:(null==(n=a.B.quadrantChart)?void 0:n.titleFontSize)||20,quadrantPadding:(null==(r=a.B.quadrantChart)?void 0:r.quadrantPadding)||5,xAxisLabelPadding:(null==(s=a.B.quadrantChart)?void 0:s.xAxisLabelPadding)||5,yAxisLabelPadding:(null==(l=a.B.quadrantChart)?void 0:l.yAxisLabelPadding)||5,xAxisLabelFontSize:(null==(o=a.B.quadrantChart)?void 0:o.xAxisLabelFontSize)||16,yAxisLabelFontSize:(null==(h=a.B.quadrantChart)?void 0:h.yAxisLabelFontSize)||16,quadrantLabelFontSize:(null==(c=a.B.quadrantChart)?void 0:c.quadrantLabelFontSize)||16,quadrantTextTopPadding:(null==(d=a.B.quadrantChart)?void 0:d.quadrantTextTopPadding)||5,pointTextPadding:(null==(u=a.B.quadrantChart)?void 0:u.pointTextPadding)||5,pointLabelFontSize:(null==(x=a.B.quadrantChart)?void 0:x.pointLabelFontSize)||12,pointRadius:(null==(g=a.B.quadrantChart)?void 0:g.pointRadius)||5,xAxisPosition:(null==(f=a.B.quadrantChart)?void 0:f.xAxisPosition)||"top",yAxisPosition:(null==(y=a.B.quadrantChart)?void 0:y.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:(null==(p=a.B.quadrantChart)?void 0:p.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:(null==(q=a.B.quadrantChart)?void 0:q.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:l.quadrant1Fill,quadrant2Fill:l.quadrant2Fill,quadrant3Fill:l.quadrant3Fill,quadrant4Fill:l.quadrant4Fill,quadrant1TextFill:l.quadrant1TextFill,quadrant2TextFill:l.quadrant2TextFill,quadrant3TextFill:l.quadrant3TextFill,quadrant4TextFill:l.quadrant4TextFill,quadrantPointFill:l.quadrantPointFill,quadrantPointTextFill:l.quadrantPointTextFill,quadrantXAxisTextFill:l.quadrantXAxisTextFill,quadrantYAxisTextFill:l.quadrantYAxisTextFill,quadrantTitleFill:l.quadrantTitleFill,quadrantInternalBorderStrokeFill:l.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:l.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),a.l.info("clear called")}setData(t){this.data={...this.data,...t}}addPoints(t){this.data.points=[...t,...this.data.points]}setConfig(t){a.l.trace("setConfig called with: ",t),this.config={...this.config,...t}}setThemeConfig(t){a.l.trace("setThemeConfig called with: ",t),this.themeConfig={...this.themeConfig,...t}}calculateSpace(t,i,e,a){const n=2*this.config.xAxisLabelPadding+this.config.xAxisLabelFontSize,r={top:"top"===t&&i?n:0,bottom:"bottom"===t&&i?n:0},s=2*this.config.yAxisLabelPadding+this.config.yAxisLabelFontSize,l={left:"left"===this.config.yAxisPosition&&e?s:0,right:"right"===this.config.yAxisPosition&&e?s:0},o=this.config.titleFontSize+2*this.config.titlePadding,h={top:a?o:0},c=this.config.quadrantPadding+l.left,d=this.config.quadrantPadding+r.top+h.top,u=this.config.chartWidth-2*this.config.quadrantPadding-l.left-l.right,x=this.config.chartHeight-2*this.config.quadrantPadding-r.top-r.bottom-h.top;return{xAxisSpace:r,yAxisSpace:l,titleSpace:h,quadrantSpace:{quadrantLeft:c,quadrantTop:d,quadrantWidth:u,quadrantHalfWidth:u/2,quadrantHeight:x,quadrantHalfHeight:x/2}}}getAxisLabels(t,i,e,a){const{quadrantSpace:n,titleSpace:r}=a,{quadrantHalfHeight:s,quadrantHeight:l,quadrantLeft:o,quadrantHalfWidth:h,quadrantTop:c,quadrantWidth:d}=n,u=0===this.data.points.length,x=[];return this.data.xAxisLeftText&&i&&x.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:o+(u?h/2:0),y:"top"===t?this.config.xAxisLabelPadding+r.top:this.config.xAxisLabelPadding+c+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&i&&x.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:o+h+(u?h/2:0),y:"top"===t?this.config.xAxisLabelPadding+r.top:this.config.xAxisLabelPadding+c+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&e&&x.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+o+d+this.config.quadrantPadding,y:c+l-(u?s/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&e&&x.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+o+d+this.config.quadrantPadding,y:c+s-(u?s/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:-90}),x}getQuadrants(t){const{quadrantSpace:i}=t,{quadrantHalfHeight:e,quadrantLeft:a,quadrantHalfWidth:n,quadrantTop:r}=i,s=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a+n,y:r,width:n,height:e,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:a,y:r,width:n,height:e,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:a,y:r+e,width:n,height:e,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:a+n,y:r+e,width:n,height:e,fill:this.themeConfig.quadrant4Fill}];for(const t of s)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 s}getQuadrantPoints(t){const{quadrantSpace:i}=t,{quadrantHeight:e,quadrantLeft:a,quadrantTop:r,quadrantWidth:s}=i,l=(0,n.scaleLinear)().domain([0,1]).range([a,s+a]),o=(0,n.scaleLinear)().domain([0,1]).range([e+r,r]);return this.data.points.map((t=>({x:l(t.x),y:o(t.y),fill:this.themeConfig.quadrantPointFill,radius:this.config.pointRadius,text:{text:t.text,fill:this.themeConfig.quadrantPointTextFill,x:l(t.x),y:o(t.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0}})))}getBorders(t){const i=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:e}=t,{quadrantHalfHeight:a,quadrantHeight:n,quadrantLeft:r,quadrantHalfWidth:s,quadrantTop:l,quadrantWidth:o}=e;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:r-i,y1:l,x2:r+o+i,y2:l},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:r+o,y1:l+i,x2:r+o,y2:l+n-i},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:r-i,y1:l+n,x2:r+o+i,y2:l+n},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:r,y1:l+i,x2:r,y2:l+n-i},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:r+s,y1:l+i,x2:r+s,y2:l+n-i},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:r+i,y1:l+a,x2:r+o-i,y2:l+a}]}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),i=this.config.showYAxis&&!(!this.data.yAxisTopText&&!this.data.yAxisBottomText),e=this.config.showTitle&&!!this.data.titleText,a=this.data.points.length>0?"bottom":this.config.xAxisPosition,n=this.calculateSpace(a,t,i,e);return{points:this.getQuadrantPoints(n),quadrants:this.getQuadrants(n),axisLabels:this.getAxisLabels(a,t,i,n),borderLines:this.getBorders(n),title:this.getTitle(e)}}};const d={parser:s,db:{setWidth:function(t){c.setConfig({chartWidth:t})},setHeight:function(t){c.setConfig({chartHeight:t})},setQuadrant1Text:function(t){c.setData({quadrant1Text:h(t.text)})},setQuadrant2Text:function(t){c.setData({quadrant2Text:h(t.text)})},setQuadrant3Text:function(t){c.setData({quadrant3Text:h(t.text)})},setQuadrant4Text:function(t){c.setData({quadrant4Text:h(t.text)})},setXAxisLeftText:function(t){c.setData({xAxisLeftText:h(t.text)})},setXAxisRightText:function(t){c.setData({xAxisRightText:h(t.text)})},setYAxisTopText:function(t){c.setData({yAxisTopText:h(t.text)})},setYAxisBottomText:function(t){c.setData({yAxisBottomText:h(t.text)})},addPoint:function(t,i,e){c.addPoints([{x:i,y:e,text:h(t.text)}])},getQuadrantData:function(){const t=(0,a.c)(),{themeVariables:i,quadrantChart:e}=t;return e&&c.setConfig(e),c.setThemeConfig({quadrant1Fill:i.quadrant1Fill,quadrant2Fill:i.quadrant2Fill,quadrant3Fill:i.quadrant3Fill,quadrant4Fill:i.quadrant4Fill,quadrant1TextFill:i.quadrant1TextFill,quadrant2TextFill:i.quadrant2TextFill,quadrant3TextFill:i.quadrant3TextFill,quadrant4TextFill:i.quadrant4TextFill,quadrantPointFill:i.quadrantPointFill,quadrantPointTextFill:i.quadrantPointTextFill,quadrantXAxisTextFill:i.quadrantXAxisTextFill,quadrantYAxisTextFill:i.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:i.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:i.quadrantInternalBorderStrokeFill,quadrantTitleFill:i.quadrantTitleFill}),c.setData({titleText:(0,a.r)()}),c.build()},clear:function(){c.clear(),(0,a.t)()},setAccTitle:a.s,getAccTitle:a.g,setDiagramTitle:a.q,getDiagramTitle:a.r,getAccDescription:a.a,setAccDescription:a.b},renderer:{draw:(t,i,e,r)=>{var s,l,o;function h(t){return"top"===t?"hanging":"middle"}function c(t){return"left"===t?"start":"middle"}function d(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}const u=(0,a.c)();a.l.debug("Rendering quadrant chart\n"+t);const x=u.securityLevel;let g;"sandbox"===x&&(g=(0,n.select)("#i"+i));const f=("sandbox"===x?(0,n.select)(g.nodes()[0].contentDocument.body):(0,n.select)("body")).select(`[id="${i}"]`),y=f.append("g").attr("class","main"),p=(null==(s=u.quadrantChart)?void 0:s.chartWidth)||500,q=(null==(l=u.quadrantChart)?void 0:l.chartHeight)||500;(0,a.i)(f,q,p,(null==(o=u.quadrantChart)?void 0:o.useMaxWidth)||!0),f.attr("viewBox","0 0 "+p+" "+q),r.db.setHeight(q),r.db.setWidth(p);const T=r.db.getQuadrantData(),m=y.append("g").attr("class","quadrants"),_=y.append("g").attr("class","border"),A=y.append("g").attr("class","data-points"),b=y.append("g").attr("class","labels"),S=y.append("g").attr("class","title");T.title&&S.append("text").attr("x",0).attr("y",0).attr("fill",T.title.fill).attr("font-size",T.title.fontSize).attr("dominant-baseline",h(T.title.horizontalPos)).attr("text-anchor",c(T.title.verticalPos)).attr("transform",d(T.title)).text(T.title.text),T.borderLines&&_.selectAll("line").data(T.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 k=m.selectAll("g.quadrant").data(T.quadrants).enter().append("g").attr("class","quadrant");k.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)),k.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=>h(t.text.horizontalPos))).attr("text-anchor",(t=>c(t.text.verticalPos))).attr("transform",(t=>d(t.text))).text((t=>t.text.text));b.selectAll("g.label").data(T.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=>h(t.horizontalPos))).attr("text-anchor",(t=>c(t.verticalPos))).attr("transform",(t=>d(t)));const F=A.selectAll("g.data-point").data(T.points).enter().append("g").attr("class","data-point");F.append("circle").attr("cx",(t=>t.x)).attr("cy",(t=>t.y)).attr("r",(t=>t.radius)).attr("fill",(t=>t.fill)),F.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=>h(t.text.horizontalPos))).attr("text-anchor",(t=>c(t.text.verticalPos))).attr("transform",(t=>d(t.text)))}},styles:()=>""}}}]);
|
2
|
-
//# sourceMappingURL=192.js.map
|
2
|
+
//# sourceMappingURL=192.2c9a3a4b.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"static/192.2c9a3a4b.js","mappings":"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","sources":["webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/mermaid/dist/quadrantDiagram-3646f1b7.js"],"sourcesContent":["import { E as getThemeVariables, B as defaultConfig, l as log, s as setAccTitle, g as getAccTitle, q as setDiagramTitle, r as getDiagramTitle, a as getAccDescription, b as setAccDescription, c as getConfig, t as clear$1, d as sanitizeText, i as configureSvgSize } from \"./mermaid-485fd1a4.js\";\nimport { scaleLinear, select } from \"d3\";\nimport \"ts-dedent\";\nimport \"dayjs\";\nimport \"@braintree/sanitize-url\";\nimport \"dompurify\";\nimport \"khroma\";\nimport \"lodash-es/memoize.js\";\nimport \"lodash-es/merge.js\";\nimport \"stylis\";\nimport \"lodash-es/isEmpty.js\";\nvar parser = function() {\n var o = function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v)\n ;\n return o2;\n }, $V0 = [1, 3], $V1 = [1, 4], $V2 = [1, 5], $V3 = [1, 6], $V4 = [1, 7], $V5 = [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], $V6 = [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], $V7 = [32, 33, 34], $V8 = [2, 7], $V9 = [1, 13], $Va = [1, 17], $Vb = [1, 18], $Vc = [1, 19], $Vd = [1, 20], $Ve = [1, 21], $Vf = [1, 22], $Vg = [1, 23], $Vh = [1, 24], $Vi = [1, 25], $Vj = [1, 26], $Vk = [1, 27], $Vl = [1, 30], $Vm = [1, 31], $Vn = [1, 32], $Vo = [1, 33], $Vp = [1, 34], $Vq = [1, 35], $Vr = [1, 36], $Vs = [1, 37], $Vt = [1, 38], $Vu = [1, 39], $Vv = [1, 40], $Vw = [1, 41], $Vx = [1, 42], $Vy = [1, 57], $Vz = [1, 58], $VA = [5, 22, 26, 32, 33, 34, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51];\n var parser2 = {\n trace: function trace() {\n },\n yy: {},\n 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 },\n 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\" },\n 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]],\n performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 12:\n this.$ = $$[$0].trim();\n yy.setDiagramTitle(this.$);\n break;\n case 13:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 14:\n case 15:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 16:\n yy.addSection($$[$0].substr(8));\n this.$ = $$[$0].substr(8);\n break;\n case 17:\n yy.addPoint($$[$0 - 3], $$[$0 - 1], $$[$0]);\n break;\n case 18:\n yy.setXAxisLeftText($$[$0 - 2]);\n yy.setXAxisRightText($$[$0]);\n break;\n case 19:\n $$[$0 - 1].text += \" ⟶ \";\n yy.setXAxisLeftText($$[$0 - 1]);\n break;\n case 20:\n yy.setXAxisLeftText($$[$0]);\n break;\n case 21:\n yy.setYAxisBottomText($$[$0 - 2]);\n yy.setYAxisTopText($$[$0]);\n break;\n case 22:\n $$[$0 - 1].text += \" ⟶ \";\n yy.setYAxisBottomText($$[$0 - 1]);\n break;\n case 23:\n yy.setYAxisBottomText($$[$0]);\n break;\n case 24:\n yy.setQuadrant1Text($$[$0]);\n break;\n case 25:\n yy.setQuadrant2Text($$[$0]);\n break;\n case 26:\n yy.setQuadrant3Text($$[$0]);\n break;\n case 27:\n yy.setQuadrant4Text($$[$0]);\n break;\n case 31:\n this.$ = { text: $$[$0], type: \"text\" };\n break;\n case 32:\n this.$ = { text: $$[$0 - 1].text + \"\" + $$[$0], type: $$[$0 - 1].type };\n break;\n case 33:\n this.$ = { text: $$[$0], type: \"text\" };\n break;\n case 34:\n this.$ = { text: $$[$0], type: \"markdown\" };\n break;\n case 35:\n this.$ = $$[$0];\n break;\n case 36:\n this.$ = $$[$0 - 1] + \"\" + $$[$0];\n break;\n }\n },\n table: [{ 3: 1, 4: 2, 5: $V0, 6: $V1, 32: $V2, 33: $V3, 34: $V4 }, { 1: [3] }, { 3: 8, 4: 2, 5: $V0, 6: $V1, 32: $V2, 33: $V3, 34: $V4 }, { 3: 9, 4: 2, 5: $V0, 6: $V1, 32: $V2, 33: $V3, 34: $V4 }, o($V5, [2, 4], { 7: 10 }), o($V6, [2, 28]), o($V6, [2, 29]), o($V6, [2, 30]), { 1: [2, 1] }, { 1: [2, 2] }, o($V7, $V8, { 8: 11, 9: 12, 10: 14, 11: 15, 12: 16, 21: 28, 35: 29, 1: [2, 3], 5: $V9, 13: $Va, 15: $Vb, 17: $Vc, 19: $Vd, 20: $Ve, 25: $Vf, 27: $Vg, 28: $Vh, 29: $Vi, 30: $Vj, 31: $Vk, 37: $Vl, 38: $Vm, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx }), o($V5, [2, 5]), { 4: 43, 32: $V2, 33: $V3, 34: $V4 }, o($V7, $V8, { 10: 14, 11: 15, 12: 16, 21: 28, 35: 29, 9: 44, 5: $V9, 13: $Va, 15: $Vb, 17: $Vc, 19: $Vd, 20: $Ve, 25: $Vf, 27: $Vg, 28: $Vh, 29: $Vi, 30: $Vj, 31: $Vk, 37: $Vl, 38: $Vm, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx }), o($V7, [2, 9]), o($V7, [2, 10]), o($V7, [2, 11]), { 14: [1, 45] }, { 16: [1, 46] }, { 18: [1, 47] }, o($V7, [2, 15]), o($V7, [2, 16]), { 21: 48, 35: 29, 37: $Vl, 38: $Vm, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx }, { 21: 49, 35: 29, 37: $Vl, 38: $Vm, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx }, { 21: 50, 35: 29, 37: $Vl, 38: $Vm, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx }, { 21: 51, 35: 29, 37: $Vl, 38: $Vm, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx }, { 21: 52, 35: 29, 37: $Vl, 38: $Vm, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx }, { 21: 53, 35: 29, 37: $Vl, 38: $Vm, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx }, { 5: $Vy, 22: [1, 54], 35: 56, 36: 55, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx, 51: $Vz }, o($VA, [2, 31]), o($VA, [2, 33]), o($VA, [2, 34]), o($VA, [2, 37]), o($VA, [2, 38]), o($VA, [2, 39]), o($VA, [2, 40]), o($VA, [2, 41]), o($VA, [2, 42]), o($VA, [2, 43]), o($VA, [2, 44]), o($VA, [2, 45]), o($VA, [2, 46]), o($VA, [2, 47]), o($V5, [2, 6]), o($V7, [2, 8]), o($V7, [2, 12]), o($V7, [2, 13]), o($V7, [2, 14]), o($V7, [2, 20], { 36: 55, 35: 56, 5: $Vy, 26: [1, 59], 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx, 51: $Vz }), o($V7, [2, 23], { 36: 55, 35: 56, 5: $Vy, 26: [1, 60], 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx, 51: $Vz }), o($V7, [2, 24], { 36: 55, 35: 56, 5: $Vy, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx, 51: $Vz }), o($V7, [2, 25], { 36: 55, 35: 56, 5: $Vy, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx, 51: $Vz }), o($V7, [2, 26], { 36: 55, 35: 56, 5: $Vy, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx, 51: $Vz }), o($V7, [2, 27], { 36: 55, 35: 56, 5: $Vy, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx, 51: $Vz }), { 23: [1, 61] }, o($VA, [2, 32]), o($VA, [2, 48]), o($VA, [2, 49]), o($VA, [2, 50]), o($V7, [2, 19], { 35: 29, 21: 62, 37: $Vl, 38: $Vm, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx }), o($V7, [2, 22], { 35: 29, 21: 63, 37: $Vl, 38: $Vm, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx }), { 24: [1, 64] }, o($V7, [2, 18], { 36: 55, 35: 56, 5: $Vy, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx, 51: $Vz }), o($V7, [2, 21], { 36: 55, 35: 56, 5: $Vy, 40: $Vn, 41: $Vo, 42: $Vp, 43: $Vq, 44: $Vr, 45: $Vs, 46: $Vt, 47: $Vu, 48: $Vv, 49: $Vw, 50: $Vx, 51: $Vz }), o($V7, [2, 17])],\n defaultActions: { 8: [2, 1], 9: [2, 2] },\n parseError: function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n },\n parse: function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n var symbol, state, action, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }\n };\n var lexer = function() {\n var lexer2 = {\n EOF: 1,\n parseError: function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n },\n // resets the lexer, sets new input\n setInput: function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n },\n // consumes and returns one char from the input\n input: function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n },\n // unshifts one char (or a string) into the input\n unput: function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n },\n // When called from action, caches matched text and appends it on next action\n more: function() {\n this._more = true;\n return this;\n },\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return 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(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n },\n // retain first n characters of the match\n less: function(n) {\n this.unput(this.match.slice(n));\n },\n // displays already matched input, i.e. for error messages\n pastInput: function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n },\n // displays upcoming input, i.e. for error messages\n upcomingInput: function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n },\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n },\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n },\n // return next match in input\n next: function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n },\n // return next match that has a token\n lex: function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n },\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: function begin(condition) {\n this.conditionStack.push(condition);\n },\n // pop the previously active lexer condition state off the condition stack\n popState: function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n },\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n },\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n },\n // alias for begin(condition)\n pushState: function pushState(condition) {\n this.begin(condition);\n },\n // return the number of states currently on the stack\n stateStackSize: function stateStackSize() {\n return this.conditionStack.length;\n },\n options: { \"case-insensitive\": true },\n performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n switch ($avoiding_name_collisions) {\n case 0:\n break;\n case 1:\n break;\n case 2:\n return 32;\n case 3:\n break;\n case 4:\n this.begin(\"title\");\n return 13;\n case 5:\n this.popState();\n return \"title_value\";\n case 6:\n this.begin(\"acc_title\");\n return 15;\n case 7:\n this.popState();\n return \"acc_title_value\";\n case 8:\n this.begin(\"acc_descr\");\n return 17;\n case 9:\n this.popState();\n return \"acc_descr_value\";\n case 10:\n this.begin(\"acc_descr_multiline\");\n break;\n case 11:\n this.popState();\n break;\n case 12:\n return \"acc_descr_multiline_value\";\n case 13:\n return 25;\n case 14:\n return 27;\n case 15:\n return 26;\n case 16:\n return 28;\n case 17:\n return 29;\n case 18:\n return 30;\n case 19:\n return 31;\n case 20:\n this.begin(\"md_string\");\n break;\n case 21:\n return \"MD_STR\";\n case 22:\n this.popState();\n break;\n case 23:\n this.begin(\"string\");\n break;\n case 24:\n this.popState();\n break;\n case 25:\n return \"STR\";\n case 26:\n this.begin(\"point_start\");\n return 22;\n case 27:\n this.begin(\"point_x\");\n return 23;\n case 28:\n this.popState();\n break;\n case 29:\n this.popState();\n this.begin(\"point_y\");\n break;\n case 30:\n this.popState();\n return 24;\n case 31:\n return 6;\n case 32:\n return 43;\n case 33:\n return \"COLON\";\n case 34:\n return 45;\n case 35:\n return 44;\n case 36:\n return 46;\n case 37:\n return 46;\n case 38:\n return 47;\n case 39:\n return 49;\n case 40:\n return 50;\n case 41:\n return 48;\n case 42:\n return 41;\n case 43:\n return 51;\n case 44:\n return 42;\n case 45:\n return 5;\n case 46:\n return 33;\n case 47:\n return 40;\n case 48:\n return 34;\n }\n },\n 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],\n conditions: { \"point_y\": { \"rules\": [30], \"inclusive\": false }, \"point_x\": { \"rules\": [29], \"inclusive\": false }, \"point_start\": { \"rules\": [27, 28], \"inclusive\": false }, \"acc_descr_multiline\": { \"rules\": [11, 12], \"inclusive\": false }, \"acc_descr\": { \"rules\": [9], \"inclusive\": false }, \"acc_title\": { \"rules\": [7], \"inclusive\": false }, \"title\": { \"rules\": [5], \"inclusive\": false }, \"md_string\": { \"rules\": [21, 22], \"inclusive\": false }, \"string\": { \"rules\": [24, 25], \"inclusive\": false }, \"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\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nconst parser$1 = parser;\nconst defaultThemeVariables = getThemeVariables();\nclass QuadrantBuilder {\n constructor() {\n this.config = this.getDefaultConfig();\n this.themeConfig = this.getDefaultThemeConfig();\n this.data = this.getDefaultData();\n }\n getDefaultData() {\n return {\n titleText: \"\",\n quadrant1Text: \"\",\n quadrant2Text: \"\",\n quadrant3Text: \"\",\n quadrant4Text: \"\",\n xAxisLeftText: \"\",\n xAxisRightText: \"\",\n yAxisBottomText: \"\",\n yAxisTopText: \"\",\n points: []\n };\n }\n getDefaultConfig() {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;\n return {\n showXAxis: true,\n showYAxis: true,\n showTitle: true,\n chartHeight: ((_a = defaultConfig.quadrantChart) == null ? void 0 : _a.chartWidth) || 500,\n chartWidth: ((_b = defaultConfig.quadrantChart) == null ? void 0 : _b.chartHeight) || 500,\n titlePadding: ((_c = defaultConfig.quadrantChart) == null ? void 0 : _c.titlePadding) || 10,\n titleFontSize: ((_d = defaultConfig.quadrantChart) == null ? void 0 : _d.titleFontSize) || 20,\n quadrantPadding: ((_e = defaultConfig.quadrantChart) == null ? void 0 : _e.quadrantPadding) || 5,\n xAxisLabelPadding: ((_f = defaultConfig.quadrantChart) == null ? void 0 : _f.xAxisLabelPadding) || 5,\n yAxisLabelPadding: ((_g = defaultConfig.quadrantChart) == null ? void 0 : _g.yAxisLabelPadding) || 5,\n xAxisLabelFontSize: ((_h = defaultConfig.quadrantChart) == null ? void 0 : _h.xAxisLabelFontSize) || 16,\n yAxisLabelFontSize: ((_i = defaultConfig.quadrantChart) == null ? void 0 : _i.yAxisLabelFontSize) || 16,\n quadrantLabelFontSize: ((_j = defaultConfig.quadrantChart) == null ? void 0 : _j.quadrantLabelFontSize) || 16,\n quadrantTextTopPadding: ((_k = defaultConfig.quadrantChart) == null ? void 0 : _k.quadrantTextTopPadding) || 5,\n pointTextPadding: ((_l = defaultConfig.quadrantChart) == null ? void 0 : _l.pointTextPadding) || 5,\n pointLabelFontSize: ((_m = defaultConfig.quadrantChart) == null ? void 0 : _m.pointLabelFontSize) || 12,\n pointRadius: ((_n = defaultConfig.quadrantChart) == null ? void 0 : _n.pointRadius) || 5,\n xAxisPosition: ((_o = defaultConfig.quadrantChart) == null ? void 0 : _o.xAxisPosition) || \"top\",\n yAxisPosition: ((_p = defaultConfig.quadrantChart) == null ? void 0 : _p.yAxisPosition) || \"left\",\n quadrantInternalBorderStrokeWidth: ((_q = defaultConfig.quadrantChart) == null ? void 0 : _q.quadrantInternalBorderStrokeWidth) || 1,\n quadrantExternalBorderStrokeWidth: ((_r = defaultConfig.quadrantChart) == null ? void 0 : _r.quadrantExternalBorderStrokeWidth) || 2\n };\n }\n getDefaultThemeConfig() {\n return {\n quadrant1Fill: defaultThemeVariables.quadrant1Fill,\n quadrant2Fill: defaultThemeVariables.quadrant2Fill,\n quadrant3Fill: defaultThemeVariables.quadrant3Fill,\n quadrant4Fill: defaultThemeVariables.quadrant4Fill,\n quadrant1TextFill: defaultThemeVariables.quadrant1TextFill,\n quadrant2TextFill: defaultThemeVariables.quadrant2TextFill,\n quadrant3TextFill: defaultThemeVariables.quadrant3TextFill,\n quadrant4TextFill: defaultThemeVariables.quadrant4TextFill,\n quadrantPointFill: defaultThemeVariables.quadrantPointFill,\n quadrantPointTextFill: defaultThemeVariables.quadrantPointTextFill,\n quadrantXAxisTextFill: defaultThemeVariables.quadrantXAxisTextFill,\n quadrantYAxisTextFill: defaultThemeVariables.quadrantYAxisTextFill,\n quadrantTitleFill: defaultThemeVariables.quadrantTitleFill,\n quadrantInternalBorderStrokeFill: defaultThemeVariables.quadrantInternalBorderStrokeFill,\n quadrantExternalBorderStrokeFill: defaultThemeVariables.quadrantExternalBorderStrokeFill\n };\n }\n clear() {\n this.config = this.getDefaultConfig();\n this.themeConfig = this.getDefaultThemeConfig();\n this.data = this.getDefaultData();\n log.info(\"clear called\");\n }\n setData(data) {\n this.data = { ...this.data, ...data };\n }\n addPoints(points) {\n this.data.points = [...points, ...this.data.points];\n }\n setConfig(config2) {\n log.trace(\"setConfig called with: \", config2);\n this.config = { ...this.config, ...config2 };\n }\n setThemeConfig(themeConfig) {\n log.trace(\"setThemeConfig called with: \", themeConfig);\n this.themeConfig = { ...this.themeConfig, ...themeConfig };\n }\n calculateSpace(xAxisPosition, showXAxis, showYAxis, showTitle) {\n const xAxisSpaceCalculation = this.config.xAxisLabelPadding * 2 + this.config.xAxisLabelFontSize;\n const xAxisSpace = {\n top: xAxisPosition === \"top\" && showXAxis ? xAxisSpaceCalculation : 0,\n bottom: xAxisPosition === \"bottom\" && showXAxis ? xAxisSpaceCalculation : 0\n };\n const yAxisSpaceCalculation = this.config.yAxisLabelPadding * 2 + this.config.yAxisLabelFontSize;\n const yAxisSpace = {\n left: this.config.yAxisPosition === \"left\" && showYAxis ? yAxisSpaceCalculation : 0,\n right: this.config.yAxisPosition === \"right\" && showYAxis ? yAxisSpaceCalculation : 0\n };\n const titleSpaceCalculation = this.config.titleFontSize + this.config.titlePadding * 2;\n const titleSpace = {\n top: showTitle ? titleSpaceCalculation : 0\n };\n const quadrantLeft = this.config.quadrantPadding + yAxisSpace.left;\n const quadrantTop = this.config.quadrantPadding + xAxisSpace.top + titleSpace.top;\n const quadrantWidth = this.config.chartWidth - this.config.quadrantPadding * 2 - yAxisSpace.left - yAxisSpace.right;\n const quadrantHeight = this.config.chartHeight - this.config.quadrantPadding * 2 - xAxisSpace.top - xAxisSpace.bottom - titleSpace.top;\n const quadrantHalfWidth = quadrantWidth / 2;\n const quadrantHalfHeight = quadrantHeight / 2;\n const quadrantSpace = {\n quadrantLeft,\n quadrantTop,\n quadrantWidth,\n quadrantHalfWidth,\n quadrantHeight,\n quadrantHalfHeight\n };\n return {\n xAxisSpace,\n yAxisSpace,\n titleSpace,\n quadrantSpace\n };\n }\n getAxisLabels(xAxisPosition, showXAxis, showYAxis, spaceData) {\n const { quadrantSpace, titleSpace } = spaceData;\n const {\n quadrantHalfHeight,\n quadrantHeight,\n quadrantLeft,\n quadrantHalfWidth,\n quadrantTop,\n quadrantWidth\n } = quadrantSpace;\n const drawAxisLabelInMiddle = this.data.points.length === 0;\n const axisLabels = [];\n if (this.data.xAxisLeftText && showXAxis) {\n axisLabels.push({\n text: this.data.xAxisLeftText,\n fill: this.themeConfig.quadrantXAxisTextFill,\n x: quadrantLeft + (drawAxisLabelInMiddle ? quadrantHalfWidth / 2 : 0),\n y: xAxisPosition === \"top\" ? this.config.xAxisLabelPadding + titleSpace.top : this.config.xAxisLabelPadding + quadrantTop + quadrantHeight + this.config.quadrantPadding,\n fontSize: this.config.xAxisLabelFontSize,\n verticalPos: drawAxisLabelInMiddle ? \"center\" : \"left\",\n horizontalPos: \"top\",\n rotation: 0\n });\n }\n if (this.data.xAxisRightText && showXAxis) {\n axisLabels.push({\n text: this.data.xAxisRightText,\n fill: this.themeConfig.quadrantXAxisTextFill,\n x: quadrantLeft + quadrantHalfWidth + (drawAxisLabelInMiddle ? quadrantHalfWidth / 2 : 0),\n y: xAxisPosition === \"top\" ? this.config.xAxisLabelPadding + titleSpace.top : this.config.xAxisLabelPadding + quadrantTop + quadrantHeight + this.config.quadrantPadding,\n fontSize: this.config.xAxisLabelFontSize,\n verticalPos: drawAxisLabelInMiddle ? \"center\" : \"left\",\n horizontalPos: \"top\",\n rotation: 0\n });\n }\n if (this.data.yAxisBottomText && showYAxis) {\n axisLabels.push({\n text: this.data.yAxisBottomText,\n fill: this.themeConfig.quadrantYAxisTextFill,\n x: this.config.yAxisPosition === \"left\" ? this.config.yAxisLabelPadding : this.config.yAxisLabelPadding + quadrantLeft + quadrantWidth + this.config.quadrantPadding,\n y: quadrantTop + quadrantHeight - (drawAxisLabelInMiddle ? quadrantHalfHeight / 2 : 0),\n fontSize: this.config.yAxisLabelFontSize,\n verticalPos: drawAxisLabelInMiddle ? \"center\" : \"left\",\n horizontalPos: \"top\",\n rotation: -90\n });\n }\n if (this.data.yAxisTopText && showYAxis) {\n axisLabels.push({\n text: this.data.yAxisTopText,\n fill: this.themeConfig.quadrantYAxisTextFill,\n x: this.config.yAxisPosition === \"left\" ? this.config.yAxisLabelPadding : this.config.yAxisLabelPadding + quadrantLeft + quadrantWidth + this.config.quadrantPadding,\n y: quadrantTop + quadrantHalfHeight - (drawAxisLabelInMiddle ? quadrantHalfHeight / 2 : 0),\n fontSize: this.config.yAxisLabelFontSize,\n verticalPos: drawAxisLabelInMiddle ? \"center\" : \"left\",\n horizontalPos: \"top\",\n rotation: -90\n });\n }\n return axisLabels;\n }\n getQuadrants(spaceData) {\n const { quadrantSpace } = spaceData;\n const { quadrantHalfHeight, quadrantLeft, quadrantHalfWidth, quadrantTop } = quadrantSpace;\n const quadrants = [\n {\n text: {\n text: this.data.quadrant1Text,\n fill: this.themeConfig.quadrant1TextFill,\n x: 0,\n y: 0,\n fontSize: this.config.quadrantLabelFontSize,\n verticalPos: \"center\",\n horizontalPos: \"middle\",\n rotation: 0\n },\n x: quadrantLeft + quadrantHalfWidth,\n y: quadrantTop,\n width: quadrantHalfWidth,\n height: quadrantHalfHeight,\n fill: this.themeConfig.quadrant1Fill\n },\n {\n text: {\n text: this.data.quadrant2Text,\n fill: this.themeConfig.quadrant2TextFill,\n x: 0,\n y: 0,\n fontSize: this.config.quadrantLabelFontSize,\n verticalPos: \"center\",\n horizontalPos: \"middle\",\n rotation: 0\n },\n x: quadrantLeft,\n y: quadrantTop,\n width: quadrantHalfWidth,\n height: quadrantHalfHeight,\n fill: this.themeConfig.quadrant2Fill\n },\n {\n text: {\n text: this.data.quadrant3Text,\n fill: this.themeConfig.quadrant3TextFill,\n x: 0,\n y: 0,\n fontSize: this.config.quadrantLabelFontSize,\n verticalPos: \"center\",\n horizontalPos: \"middle\",\n rotation: 0\n },\n x: quadrantLeft,\n y: quadrantTop + quadrantHalfHeight,\n width: quadrantHalfWidth,\n height: quadrantHalfHeight,\n fill: this.themeConfig.quadrant3Fill\n },\n {\n text: {\n text: this.data.quadrant4Text,\n fill: this.themeConfig.quadrant4TextFill,\n x: 0,\n y: 0,\n fontSize: this.config.quadrantLabelFontSize,\n verticalPos: \"center\",\n horizontalPos: \"middle\",\n rotation: 0\n },\n x: quadrantLeft + quadrantHalfWidth,\n y: quadrantTop + quadrantHalfHeight,\n width: quadrantHalfWidth,\n height: quadrantHalfHeight,\n fill: this.themeConfig.quadrant4Fill\n }\n ];\n for (const quadrant of quadrants) {\n quadrant.text.x = quadrant.x + quadrant.width / 2;\n if (this.data.points.length === 0) {\n quadrant.text.y = quadrant.y + quadrant.height / 2;\n quadrant.text.horizontalPos = \"middle\";\n } else {\n quadrant.text.y = quadrant.y + this.config.quadrantTextTopPadding;\n quadrant.text.horizontalPos = \"top\";\n }\n }\n return quadrants;\n }\n getQuadrantPoints(spaceData) {\n const { quadrantSpace } = spaceData;\n const { quadrantHeight, quadrantLeft, quadrantTop, quadrantWidth } = quadrantSpace;\n const xAxis = scaleLinear().domain([0, 1]).range([quadrantLeft, quadrantWidth + quadrantLeft]);\n const yAxis = scaleLinear().domain([0, 1]).range([quadrantHeight + quadrantTop, quadrantTop]);\n const points = this.data.points.map((point) => {\n const props = {\n x: xAxis(point.x),\n y: yAxis(point.y),\n fill: this.themeConfig.quadrantPointFill,\n radius: this.config.pointRadius,\n text: {\n text: point.text,\n fill: this.themeConfig.quadrantPointTextFill,\n x: xAxis(point.x),\n y: yAxis(point.y) + this.config.pointTextPadding,\n verticalPos: \"center\",\n horizontalPos: \"top\",\n fontSize: this.config.pointLabelFontSize,\n rotation: 0\n }\n };\n return props;\n });\n return points;\n }\n getBorders(spaceData) {\n const halfExternalBorderWidth = this.config.quadrantExternalBorderStrokeWidth / 2;\n const { quadrantSpace } = spaceData;\n const {\n quadrantHalfHeight,\n quadrantHeight,\n quadrantLeft,\n quadrantHalfWidth,\n quadrantTop,\n quadrantWidth\n } = quadrantSpace;\n const borderLines = [\n // top border\n {\n strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,\n strokeWidth: this.config.quadrantExternalBorderStrokeWidth,\n x1: quadrantLeft - halfExternalBorderWidth,\n y1: quadrantTop,\n x2: quadrantLeft + quadrantWidth + halfExternalBorderWidth,\n y2: quadrantTop\n },\n // right border\n {\n strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,\n strokeWidth: this.config.quadrantExternalBorderStrokeWidth,\n x1: quadrantLeft + quadrantWidth,\n y1: quadrantTop + halfExternalBorderWidth,\n x2: quadrantLeft + quadrantWidth,\n y2: quadrantTop + quadrantHeight - halfExternalBorderWidth\n },\n // bottom border\n {\n strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,\n strokeWidth: this.config.quadrantExternalBorderStrokeWidth,\n x1: quadrantLeft - halfExternalBorderWidth,\n y1: quadrantTop + quadrantHeight,\n x2: quadrantLeft + quadrantWidth + halfExternalBorderWidth,\n y2: quadrantTop + quadrantHeight\n },\n // left border\n {\n strokeFill: this.themeConfig.quadrantExternalBorderStrokeFill,\n strokeWidth: this.config.quadrantExternalBorderStrokeWidth,\n x1: quadrantLeft,\n y1: quadrantTop + halfExternalBorderWidth,\n x2: quadrantLeft,\n y2: quadrantTop + quadrantHeight - halfExternalBorderWidth\n },\n // vertical inner border\n {\n strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill,\n strokeWidth: this.config.quadrantInternalBorderStrokeWidth,\n x1: quadrantLeft + quadrantHalfWidth,\n y1: quadrantTop + halfExternalBorderWidth,\n x2: quadrantLeft + quadrantHalfWidth,\n y2: quadrantTop + quadrantHeight - halfExternalBorderWidth\n },\n // horizontal inner border\n {\n strokeFill: this.themeConfig.quadrantInternalBorderStrokeFill,\n strokeWidth: this.config.quadrantInternalBorderStrokeWidth,\n x1: quadrantLeft + halfExternalBorderWidth,\n y1: quadrantTop + quadrantHalfHeight,\n x2: quadrantLeft + quadrantWidth - halfExternalBorderWidth,\n y2: quadrantTop + quadrantHalfHeight\n }\n ];\n return borderLines;\n }\n getTitle(showTitle) {\n if (showTitle) {\n return {\n text: this.data.titleText,\n fill: this.themeConfig.quadrantTitleFill,\n fontSize: this.config.titleFontSize,\n horizontalPos: \"top\",\n verticalPos: \"center\",\n rotation: 0,\n y: this.config.titlePadding,\n x: this.config.chartWidth / 2\n };\n }\n return;\n }\n build() {\n const showXAxis = this.config.showXAxis && !!(this.data.xAxisLeftText || this.data.xAxisRightText);\n const showYAxis = this.config.showYAxis && !!(this.data.yAxisTopText || this.data.yAxisBottomText);\n const showTitle = this.config.showTitle && !!this.data.titleText;\n const xAxisPosition = this.data.points.length > 0 ? \"bottom\" : this.config.xAxisPosition;\n const calculatedSpace = this.calculateSpace(xAxisPosition, showXAxis, showYAxis, showTitle);\n return {\n points: this.getQuadrantPoints(calculatedSpace),\n quadrants: this.getQuadrants(calculatedSpace),\n axisLabels: this.getAxisLabels(xAxisPosition, showXAxis, showYAxis, calculatedSpace),\n borderLines: this.getBorders(calculatedSpace),\n title: this.getTitle(showTitle)\n };\n }\n}\nconst config = getConfig();\nfunction textSanitizer(text) {\n return sanitizeText(text.trim(), config);\n}\nconst quadrantBuilder = new QuadrantBuilder();\nfunction setQuadrant1Text(textObj) {\n quadrantBuilder.setData({ quadrant1Text: textSanitizer(textObj.text) });\n}\nfunction setQuadrant2Text(textObj) {\n quadrantBuilder.setData({ quadrant2Text: textSanitizer(textObj.text) });\n}\nfunction setQuadrant3Text(textObj) {\n quadrantBuilder.setData({ quadrant3Text: textSanitizer(textObj.text) });\n}\nfunction setQuadrant4Text(textObj) {\n quadrantBuilder.setData({ quadrant4Text: textSanitizer(textObj.text) });\n}\nfunction setXAxisLeftText(textObj) {\n quadrantBuilder.setData({ xAxisLeftText: textSanitizer(textObj.text) });\n}\nfunction setXAxisRightText(textObj) {\n quadrantBuilder.setData({ xAxisRightText: textSanitizer(textObj.text) });\n}\nfunction setYAxisTopText(textObj) {\n quadrantBuilder.setData({ yAxisTopText: textSanitizer(textObj.text) });\n}\nfunction setYAxisBottomText(textObj) {\n quadrantBuilder.setData({ yAxisBottomText: textSanitizer(textObj.text) });\n}\nfunction addPoint(textObj, x, y) {\n quadrantBuilder.addPoints([{ x, y, text: textSanitizer(textObj.text) }]);\n}\nfunction setWidth(width) {\n quadrantBuilder.setConfig({ chartWidth: width });\n}\nfunction setHeight(height) {\n quadrantBuilder.setConfig({ chartHeight: height });\n}\nfunction getQuadrantData() {\n const config2 = getConfig();\n const { themeVariables, quadrantChart: quadrantChartConfig } = config2;\n if (quadrantChartConfig) {\n quadrantBuilder.setConfig(quadrantChartConfig);\n }\n quadrantBuilder.setThemeConfig({\n quadrant1Fill: themeVariables.quadrant1Fill,\n quadrant2Fill: themeVariables.quadrant2Fill,\n quadrant3Fill: themeVariables.quadrant3Fill,\n quadrant4Fill: themeVariables.quadrant4Fill,\n quadrant1TextFill: themeVariables.quadrant1TextFill,\n quadrant2TextFill: themeVariables.quadrant2TextFill,\n quadrant3TextFill: themeVariables.quadrant3TextFill,\n quadrant4TextFill: themeVariables.quadrant4TextFill,\n quadrantPointFill: themeVariables.quadrantPointFill,\n quadrantPointTextFill: themeVariables.quadrantPointTextFill,\n quadrantXAxisTextFill: themeVariables.quadrantXAxisTextFill,\n quadrantYAxisTextFill: themeVariables.quadrantYAxisTextFill,\n quadrantExternalBorderStrokeFill: themeVariables.quadrantExternalBorderStrokeFill,\n quadrantInternalBorderStrokeFill: themeVariables.quadrantInternalBorderStrokeFill,\n quadrantTitleFill: themeVariables.quadrantTitleFill\n });\n quadrantBuilder.setData({ titleText: getDiagramTitle() });\n return quadrantBuilder.build();\n}\nconst clear = function() {\n quadrantBuilder.clear();\n clear$1();\n};\nconst db = {\n setWidth,\n setHeight,\n setQuadrant1Text,\n setQuadrant2Text,\n setQuadrant3Text,\n setQuadrant4Text,\n setXAxisLeftText,\n setXAxisRightText,\n setYAxisTopText,\n setYAxisBottomText,\n addPoint,\n getQuadrantData,\n clear,\n setAccTitle,\n getAccTitle,\n setDiagramTitle,\n getDiagramTitle,\n getAccDescription,\n setAccDescription\n};\nconst draw = (txt, id, _version, diagObj) => {\n var _a, _b, _c;\n function getDominantBaseLine(horizontalPos) {\n return horizontalPos === \"top\" ? \"hanging\" : \"middle\";\n }\n function getTextAnchor(verticalPos) {\n return verticalPos === \"left\" ? \"start\" : \"middle\";\n }\n function getTransformation(data) {\n return `translate(${data.x}, ${data.y}) rotate(${data.rotation || 0})`;\n }\n const conf = getConfig();\n log.debug(\"Rendering quadrant chart\\n\" + txt);\n const securityLevel = conf.securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const svg = root.select(`[id=\"${id}\"]`);\n const group = svg.append(\"g\").attr(\"class\", \"main\");\n const width = ((_a = conf.quadrantChart) == null ? void 0 : _a.chartWidth) || 500;\n const height = ((_b = conf.quadrantChart) == null ? void 0 : _b.chartHeight) || 500;\n configureSvgSize(svg, height, width, ((_c = conf.quadrantChart) == null ? void 0 : _c.useMaxWidth) || true);\n svg.attr(\"viewBox\", \"0 0 \" + width + \" \" + height);\n diagObj.db.setHeight(height);\n diagObj.db.setWidth(width);\n const quadrantData = diagObj.db.getQuadrantData();\n const quadrantsGroup = group.append(\"g\").attr(\"class\", \"quadrants\");\n const borderGroup = group.append(\"g\").attr(\"class\", \"border\");\n const dataPointGroup = group.append(\"g\").attr(\"class\", \"data-points\");\n const labelGroup = group.append(\"g\").attr(\"class\", \"labels\");\n const titleGroup = group.append(\"g\").attr(\"class\", \"title\");\n if (quadrantData.title) {\n titleGroup.append(\"text\").attr(\"x\", 0).attr(\"y\", 0).attr(\"fill\", quadrantData.title.fill).attr(\"font-size\", quadrantData.title.fontSize).attr(\"dominant-baseline\", getDominantBaseLine(quadrantData.title.horizontalPos)).attr(\"text-anchor\", getTextAnchor(quadrantData.title.verticalPos)).attr(\"transform\", getTransformation(quadrantData.title)).text(quadrantData.title.text);\n }\n if (quadrantData.borderLines) {\n borderGroup.selectAll(\"line\").data(quadrantData.borderLines).enter().append(\"line\").attr(\"x1\", (data) => data.x1).attr(\"y1\", (data) => data.y1).attr(\"x2\", (data) => data.x2).attr(\"y2\", (data) => data.y2).style(\"stroke\", (data) => data.strokeFill).style(\"stroke-width\", (data) => data.strokeWidth);\n }\n const quadrants = quadrantsGroup.selectAll(\"g.quadrant\").data(quadrantData.quadrants).enter().append(\"g\").attr(\"class\", \"quadrant\");\n quadrants.append(\"rect\").attr(\"x\", (data) => data.x).attr(\"y\", (data) => data.y).attr(\"width\", (data) => data.width).attr(\"height\", (data) => data.height).attr(\"fill\", (data) => data.fill);\n quadrants.append(\"text\").attr(\"x\", 0).attr(\"y\", 0).attr(\"fill\", (data) => data.text.fill).attr(\"font-size\", (data) => data.text.fontSize).attr(\n \"dominant-baseline\",\n (data) => getDominantBaseLine(data.text.horizontalPos)\n ).attr(\"text-anchor\", (data) => getTextAnchor(data.text.verticalPos)).attr(\"transform\", (data) => getTransformation(data.text)).text((data) => data.text.text);\n const labels = labelGroup.selectAll(\"g.label\").data(quadrantData.axisLabels).enter().append(\"g\").attr(\"class\", \"label\");\n labels.append(\"text\").attr(\"x\", 0).attr(\"y\", 0).text((data) => data.text).attr(\"fill\", (data) => data.fill).attr(\"font-size\", (data) => data.fontSize).attr(\"dominant-baseline\", (data) => getDominantBaseLine(data.horizontalPos)).attr(\"text-anchor\", (data) => getTextAnchor(data.verticalPos)).attr(\"transform\", (data) => getTransformation(data));\n const dataPoints = dataPointGroup.selectAll(\"g.data-point\").data(quadrantData.points).enter().append(\"g\").attr(\"class\", \"data-point\");\n dataPoints.append(\"circle\").attr(\"cx\", (data) => data.x).attr(\"cy\", (data) => data.y).attr(\"r\", (data) => data.radius).attr(\"fill\", (data) => data.fill);\n dataPoints.append(\"text\").attr(\"x\", 0).attr(\"y\", 0).text((data) => data.text.text).attr(\"fill\", (data) => data.text.fill).attr(\"font-size\", (data) => data.text.fontSize).attr(\n \"dominant-baseline\",\n (data) => getDominantBaseLine(data.text.horizontalPos)\n ).attr(\"text-anchor\", (data) => getTextAnchor(data.text.verticalPos)).attr(\"transform\", (data) => getTransformation(data.text));\n};\nconst renderer = {\n draw\n};\nconst diagram = {\n parser: parser$1,\n db,\n renderer,\n styles: () => \"\"\n};\nexport {\n diagram\n};\n"],"names":["parser","o","k","v","o2","l","length","$V0","$V1","$V2","$V3","$V4","$V5","$V6","$V7","$V8","$V9","$Va","$Vb","$Vc","$Vd","$Ve","$Vf","$Vg","$Vh","$Vi","$Vj","$Vk","$Vl","$Vm","$Vn","$Vo","$Vp","$Vq","$Vr","$Vs","$Vt","$Vu","$Vv","$Vw","$Vx","$Vy","$Vz","$VA","parser2","trace","yy","symbols_","terminals_","productions_","performAction","yytext","yyleng","yylineno","yystate","$$","_$","$0","this","$","trim","setDiagramTitle","setAccTitle","setAccDescription","addSection","substr","addPoint","setXAxisLeftText","setXAxisRightText","text","setYAxisBottomText","setYAxisTopText","setQuadrant1Text","setQuadrant2Text","setQuadrant3Text","setQuadrant4Text","type","table","defaultActions","parseError","str","hash","recoverable","error","Error","parse","input","self","stack","tstack","vstack","lstack","args","slice","call","arguments","lexer2","Object","create","lexer","sharedState","prototype","hasOwnProperty","setInput","yylloc","yyloc","push","ranges","options","getPrototypeOf","symbol","state","action","r","p","len","newState","expected","token","yyval","pop","lex","Array","errStr","showPosition","join","match","line","loc","first_line","last_line","first_column","last_column","range","apply","concat","EOF","_input","_more","_backtrack","done","matched","conditionStack","offset","ch","unput","lines","split","oldLines","more","reject","backtrack_lexer","less","n","pastInput","past","replace","upcomingInput","next","pre","c","test_match","indexed_rule","backup","matches","tempMatch","index","rules","_currentRules","i","flex","begin","condition","popState","conditions","topState","Math","abs","pushState","stateStackSize","yy_","$avoiding_name_collisions","YY_START","Parser","parser$1","defaultThemeVariables","config","textSanitizer","quadrantBuilder","constructor","getDefaultConfig","themeConfig","getDefaultThemeConfig","data","getDefaultData","titleText","quadrant1Text","quadrant2Text","quadrant3Text","quadrant4Text","xAxisLeftText","xAxisRightText","yAxisBottomText","yAxisTopText","points","_a","_b","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","_n","_o","_p","_q","_r","showXAxis","showYAxis","showTitle","chartHeight","quadrantChart","chartWidth","titlePadding","titleFontSize","quadrantPadding","xAxisLabelPadding","yAxisLabelPadding","xAxisLabelFontSize","yAxisLabelFontSize","quadrantLabelFontSize","quadrantTextTopPadding","pointTextPadding","pointLabelFontSize","pointRadius","xAxisPosition","yAxisPosition","quadrantInternalBorderStrokeWidth","quadrantExternalBorderStrokeWidth","quadrant1Fill","quadrant2Fill","quadrant3Fill","quadrant4Fill","quadrant1TextFill","quadrant2TextFill","quadrant3TextFill","quadrant4TextFill","quadrantPointFill","quadrantPointTextFill","quadrantXAxisTextFill","quadrantYAxisTextFill","quadrantTitleFill","quadrantInternalBorderStrokeFill","quadrantExternalBorderStrokeFill","clear","info","setData","addPoints","setConfig","config2","setThemeConfig","calculateSpace","xAxisSpaceCalculation","xAxisSpace","top","bottom","yAxisSpaceCalculation","yAxisSpace","left","right","titleSpaceCalculation","titleSpace","quadrantLeft","quadrantTop","quadrantWidth","quadrantHeight","quadrantSpace","quadrantHalfWidth","quadrantHalfHeight","getAxisLabels","spaceData","drawAxisLabelInMiddle","axisLabels","fill","x","y","fontSize","verticalPos","horizontalPos","rotation","getQuadrants","quadrants","width","height","quadrant","getQuadrantPoints","xAxis","scaleLinear","domain","yAxis","map","point","radius","getBorders","halfExternalBorderWidth","strokeFill","strokeWidth","x1","y1","x2","y2","getTitle","build","calculatedSpace","borderLines","title","diagram","db","setWidth","setHeight","textObj","getQuadrantData","themeVariables","quadrantChartConfig","getAccTitle","getDiagramTitle","getAccDescription","renderer","draw","txt","id","_version","diagObj","getDominantBaseLine","getTextAnchor","getTransformation","conf","debug","securityLevel","sandboxElement","select","svg","nodes","contentDocument","body","group","append","attr","useMaxWidth","quadrantData","quadrantsGroup","borderGroup","dataPointGroup","labelGroup","titleGroup","selectAll","enter","style","dataPoints","styles"],"sourceRoot":""}
|
@@ -1,2 +1,2 @@
|
|
1
1
|
"use strict";(globalThis.webpackChunk_finos_legend_application_pure_ide_deployment=globalThis.webpackChunk_finos_legend_application_pure_ide_deployment||[]).push([[196],{5098:(e,t,n)=>{n.r(t),n.d(t,{read:()=>g,write:()=>s});var r=n(4402),i=n(3249);const a=function(e){return(0,i.default)(e,4)};var d=n(3012),l=n(7803),o=n(6210);function s(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:c(e),edges:h(e)};return r.default(e.graph())||(t.value=a(e.graph())),t}function c(e){return d.default(e.nodes(),(function(t){var n=e.node(t),i=e.parent(t),a={v:t};return r.default(n)||(a.value=n),r.default(i)||(a.parent=i),a}))}function h(e){return d.default(e.edges(),(function(t){var n=e.edge(t),i={v:t.v,w:t.w};return r.default(t.name)||(i.name=t.name),r.default(n)||(i.value=n),i}))}function g(e){var t=new o.Graph(e.options).setGraph(e.value);return l.default(e.nodes,(function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)})),l.default(e.edges,(function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)})),t}},196:(e,t,n)=>{n.r(t),n.d(t,{r:()=>E});var r=n(6636),i=n(5098),a=n(2578),d=n(2801),l=n(1264),o=n(8144),s=n(4655);let c={},h={},g={};const f=(e,t)=>(d.l.trace("In isDecendant",t," ",e," = ",h[t].includes(e)),!!h[t].includes(e)),u=(e,t,n,r)=>{d.l.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const i=t.children(e)||[];e!==r&&i.push(e),d.l.warn("Copying (nodes) clusterId",e,"nodes",i),i.forEach((i=>{if(t.children(i).length>0)u(i,t,n,r);else{const a=t.node(i);d.l.info("cp ",i," to ",r," with parent ",e),n.setNode(i,a),r!==t.parent(i)&&(d.l.warn("Setting parent",i,t.parent(i)),n.setParent(i,t.parent(i))),e!==r&&i!==e?(d.l.debug("Setting parent",i,e),n.setParent(i,e)):(d.l.info("In copy ",e,"root",r,"data",t.node(e),r),d.l.debug("Not Setting parent for node=",i,"cluster!==rootId",e!==r,"node!==clusterId",i!==e));const l=t.edges(i);d.l.debug("Copying Edges",l),l.forEach((i=>{d.l.info("Edge",i);const a=t.edge(i.v,i.w,i.name);d.l.info("Edge data",a,r);try{((e,t)=>(d.l.info("Decendants of ",t," is ",h[t]),d.l.info("Edge is ",e),e.v!==t&&e.w!==t&&(h[t]?h[t].includes(e.v)||f(e.v,t)||f(e.w,t)||h[t].includes(e.w):(d.l.debug("Tilt, ",t,",not in decendants"),!1))))(i,r)?(d.l.info("Copying as ",i.v,i.w,a,i.name),n.setEdge(i.v,i.w,a,i.name),d.l.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):d.l.info("Skipping copy of edge ",i.v,"--\x3e",i.w," rootId: ",r," clusterId:",e)}catch(e){d.l.error(e)}}))}d.l.debug("Removing node",i),t.removeNode(i)}))},w=(e,t)=>{const n=t.children(e);let r=[...n];for(const i of n)g[i]=e,r=[...r,...w(i,t)];return r},p=(e,t)=>{d.l.trace("Searching",e);const n=t.children(e);if(d.l.trace("Searching children of id ",e,n),n.length<1)return d.l.trace("This is a valid node",e),e;for(const r of n){const n=p(r,t);if(n)return d.l.trace("Found replacement for",e," => ",n),n}},v=e=>c[e]&&c[e].externalConnections&&c[e]?c[e].id:e,y=(e,t)=>{if(d.l.warn("extractor - ",t,i.write(e),e.children("D")),t>10)return void d.l.error("Bailing out");let n=e.nodes(),r=!1;for(const t of n){const n=e.children(t);r=r||n.length>0}if(r){d.l.debug("Nodes = ",n,t);for(const r of n)if(d.l.debug("Extracting node",r,c,c[r]&&!c[r].externalConnections,!e.parent(r),e.node(r),e.children("D")," Depth ",t),c[r])if(!c[r].externalConnections&&e.children(r)&&e.children(r).length>0){d.l.warn("Cluster without external connections, without a parent and with children",r,t);let n="TB"===e.graph().rankdir?"LR":"TB";c[r]&&c[r].clusterData&&c[r].clusterData.dir&&(n=c[r].clusterData.dir,d.l.warn("Fixing dir",c[r].clusterData.dir,n));const a=new l.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:n,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}}));d.l.warn("Old graph before copy",i.write(e)),u(r,e,a,r),e.setNode(r,{clusterNode:!0,id:r,clusterData:c[r].clusterData,labelText:c[r].labelText,graph:a}),d.l.warn("New graph after copy node: (",r,")",i.write(a)),d.l.debug("Old graph after copy",i.write(e))}else d.l.warn("Cluster ** ",r," **not meeting the criteria !externalConnections:",!c[r].externalConnections," no parent: ",!e.parent(r)," children ",e.children(r)&&e.children(r).length>0,e.children("D"),t),d.l.debug(c);else d.l.debug("Not a cluster",r,t);n=e.nodes(),d.l.warn("New list of nodes",n);for(const r of n){const n=e.node(r);d.l.warn(" Now next level",r,n),n.clusterNode&&y(n.graph,t+1)}}else d.l.debug("Done, no node has children",e.nodes())},m=(e,t)=>{if(0===t.length)return[];let n=Object.assign(t);return t.forEach((t=>{const r=e.children(t),i=m(e,r);n=[...n,...i]})),n},x={rect:(e,t)=>{d.l.info("Creating subgraph rect for ",t.id,t);const n=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),r=n.insert("rect",":first-child"),i=(0,d.m)((0,d.c)().flowchart.htmlLabels),l=n.insert("g").attr("class","cluster-label"),c="markdown"===t.labelType?(0,o.c)(l,t.labelText,{style:t.labelStyle,useHtmlLabels:i}):l.node().appendChild((0,a.c)(t.labelText,t.labelStyle,void 0,!0));let h=c.getBBox();if((0,d.m)((0,d.c)().flowchart.htmlLabels)){const e=c.children[0],t=(0,s.select)(c);h=e.getBoundingClientRect(),t.attr("width",h.width),t.attr("height",h.height)}const g=0*t.padding,f=g/2,u=t.width<=h.width+g?h.width+g:t.width;t.width<=h.width+g?t.diff=(h.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,d.l.trace("Data ",t,JSON.stringify(t)),r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-u/2).attr("y",t.y-t.height/2-f).attr("width",u).attr("height",t.height+g),i?l.attr("transform","translate("+(t.x-h.width/2)+", "+(t.y-t.height/2)+")"):l.attr("transform","translate("+t.x+", "+(t.y-t.height/2)+")");const w=r.node().getBBox();return t.width=w.width,t.height=w.height,t.intersect=function(e){return(0,a.i)(t,e)},n},roundedWithTitle:(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),i=n.insert("g").attr("class","cluster-label"),l=n.append("rect"),o=i.node().appendChild((0,a.c)(t.labelText,t.labelStyle,void 0,!0));let c=o.getBBox();if((0,d.m)((0,d.c)().flowchart.htmlLabels)){const e=o.children[0],t=(0,s.select)(o);c=e.getBoundingClientRect(),t.attr("width",c.width),t.attr("height",c.height)}c=o.getBBox();const h=0*t.padding,g=h/2,f=t.width<=c.width+t.padding?c.width+t.padding:t.width;t.width<=c.width+t.padding?t.diff=(c.width+0*t.padding-t.width)/2:t.diff=-t.padding/2,r.attr("class","outer").attr("x",t.x-f/2-g).attr("y",t.y-t.height/2-g).attr("width",f+h).attr("height",t.height+h),l.attr("class","inner").attr("x",t.x-f/2-g).attr("y",t.y-t.height/2-g+c.height-1).attr("width",f+h).attr("height",t.height+h-c.height-3),i.attr("transform","translate("+(t.x-c.width/2)+", "+(t.y-t.height/2-t.padding/3+((0,d.m)((0,d.c)().flowchart.htmlLabels)?5:3))+")");const u=r.node().getBBox();return t.height=u.height,t.intersect=function(e){return(0,a.i)(t,e)},n},noteGroup:(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),i=0*t.padding,d=i/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-d).attr("y",t.y-t.height/2-d).attr("width",t.width+i).attr("height",t.height+i).attr("fill","none");const l=r.node().getBBox();return t.width=l.width,t.height=l.height,t.intersect=function(e){return(0,a.i)(t,e)},n},divider:(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),i=0*t.padding,d=i/2;r.attr("class","divider").attr("x",t.x-t.width/2-d).attr("y",t.y-t.height/2).attr("width",t.width+i).attr("height",t.height+i);const l=r.node().getBBox();return t.width=l.width,t.height=l.height,t.diff=-t.padding/2,t.intersect=function(e){return(0,a.i)(t,e)},n}};let b={};const N=async(e,t,n,l,o)=>{d.l.info("Graph in recursive render: XXX",i.write(t),o);const s=t.graph().rankdir;d.l.trace("Dir in recursive render - dir:",s);const h=e.insert("g").attr("class","root");t.nodes()?d.l.info("Recursive render XXX",t.nodes()):d.l.info("No nodes found for",t),t.edges().length>0&&d.l.trace("Recursive edges",t.edge(t.edges()[0]));const g=h.insert("g").attr("class","clusters"),f=h.insert("g").attr("class","edgePaths"),u=h.insert("g").attr("class","edgeLabels"),w=h.insert("g").attr("class","nodes");await Promise.all(t.nodes().map((async function(e){const r=t.node(e);if(void 0!==o){const n=JSON.parse(JSON.stringify(o.clusterData));d.l.info("Setting data for cluster XXX (",e,") ",n,o),t.setNode(o.id,n),t.parent(e)||(d.l.trace("Setting parent",e,o.id),t.setParent(e,o.id,n))}if(d.l.info("(Insert) Node XXX"+e+": "+JSON.stringify(t.node(e))),r&&r.clusterNode){d.l.info("Cluster identified",e,r.width,t.node(e));const i=await N(w,r.graph,n,l,t.node(e)),o=i.elem;(0,a.u)(r,o),r.diff=i.diff||0,d.l.info("Node bounds (abc123)",e,r,r.width,r.x,r.y),(0,a.s)(o,r),d.l.warn("Recursive render complete ",o,r)}else t.children(e).length>0?(d.l.info("Cluster - the non recursive path XXX",e,r.id,r,t),d.l.info(p(r.id,t)),c[r.id]={id:p(r.id,t),node:r}):(d.l.info("Node - the non recursive path",e,r.id,r),await(0,a.e)(w,t.node(e),s))}))),t.edges().forEach((function(e){const n=t.edge(e.v,e.w,e.name);d.l.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),d.l.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(t.edge(e))),d.l.info("Fix",c,"ids:",e.v,e.w,"Translateing: ",c[e.v],c[e.w]),(0,a.f)(u,n)})),t.edges().forEach((function(e){d.l.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e))})),d.l.info("#############################################"),d.l.info("### Layout ###"),d.l.info("#############################################"),d.l.info(t),(0,r.layout)(t),d.l.info("Graph after layout:",i.write(t));let v=0;return(e=>m(e,e.children()))(t).forEach((function(e){const n=t.node(e);d.l.info("Position "+e+": "+JSON.stringify(t.node(e))),d.l.info("Position "+e+": ("+n.x,","+n.y,") width: ",n.width," height: ",n.height),n&&n.clusterNode?(0,a.p)(n):t.children(e).length>0?(((e,t)=>{d.l.trace("Inserting cluster");const n=t.shape||"rect";b[t.id]=x[n](e,t)})(g,n),c[n.id].node=n):(0,a.p)(n)})),t.edges().forEach((function(e){const r=t.edge(e);d.l.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(r),r);const i=(0,a.g)(f,e,r,c,n,t,l);(0,a.h)(r,i)})),t.nodes().forEach((function(e){const n=t.node(e);d.l.info(e,n.type,n.diff),"group"===n.type&&(v=n.diff)})),{elem:h,diff:v}},E=async(e,t,n,r,l)=>{(0,a.a)(e,n,r,l),(0,a.b)(),(0,a.d)(),b={},h={},g={},c={},d.l.warn("Graph at first:",JSON.stringify(i.write(t))),((e,t)=>{!e||t>10?d.l.debug("Opting out, no graph "):(d.l.debug("Opting in, graph "),e.nodes().forEach((function(t){e.children(t).length>0&&(d.l.warn("Cluster identified",t," Replacement id in edges: ",p(t,e)),h[t]=w(t,e),c[t]={id:p(t,e),clusterData:e.node(t)})})),e.nodes().forEach((function(t){const n=e.children(t),r=e.edges();n.length>0?(d.l.debug("Cluster identified",t,h),r.forEach((e=>{e.v!==t&&e.w!==t&&f(e.v,t)^f(e.w,t)&&(d.l.warn("Edge: ",e," leaves cluster ",t),d.l.warn("Decendants of XXX ",t,": ",h[t]),c[t].externalConnections=!0)}))):d.l.debug("Not a cluster ",t,h)})),e.edges().forEach((function(t){const n=e.edge(t);d.l.warn("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),d.l.warn("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(e.edge(t)));let r=t.v,i=t.w;if(d.l.warn("Fix XXX",c,"ids:",t.v,t.w,"Translating: ",c[t.v]," --- ",c[t.w]),c[t.v]&&c[t.w]&&c[t.v]===c[t.w]){d.l.warn("Fixing and trixing link to self - removing XXX",t.v,t.w,t.name),d.l.warn("Fixing and trixing - removing XXX",t.v,t.w,t.name),r=v(t.v),i=v(t.w),e.removeEdge(t.v,t.w,t.name);const a=t.w+"---"+t.v;e.setNode(a,{domId:a,id:a,labelStyle:"",labelText:n.label,padding:0,shape:"labelRect",style:""});const l=structuredClone(n),o=structuredClone(n);l.label="",l.arrowTypeEnd="none",o.label="",l.fromCluster=t.v,o.toCluster=t.v,e.setEdge(r,a,l,t.name+"-cyclic-special"),e.setEdge(a,i,o,t.name+"-cyclic-special")}else(c[t.v]||c[t.w])&&(d.l.warn("Fixing and trixing - removing XXX",t.v,t.w,t.name),r=v(t.v),i=v(t.w),e.removeEdge(t.v,t.w,t.name),r!==t.v&&(n.fromCluster=t.v),i!==t.w&&(n.toCluster=t.w),d.l.warn("Fix Replacing with XXX",r,i,t.name),e.setEdge(r,i,n,t.name))})),d.l.warn("Adjusted Graph",i.write(e)),y(e,0),d.l.trace(c))})(t),d.l.warn("Graph after:",JSON.stringify(i.write(t))),await N(e,t,r,l)}}}]);
|
2
|
-
//# sourceMappingURL=196.js.map
|
2
|
+
//# sourceMappingURL=196.dd0f3119.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"static/196.dd0f3119.js","mappings":"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","sources":["webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/lodash-es/clone.js","webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/dagre-d3-es/src/graphlib/json.js","webpack://@finos/legend-application-pure-ide-deployment/../../node_modules/mermaid/dist/index-b0b3af87.js"],"sourcesContent":["import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\n\nexport default clone;\n","import * as _ from 'lodash-es';\nimport { Graph } from './graph.js';\n\nexport { write, read };\n\nfunction write(g) {\n var json = {\n options: {\n directed: g.isDirected(),\n multigraph: g.isMultigraph(),\n compound: g.isCompound(),\n },\n nodes: writeNodes(g),\n edges: writeEdges(g),\n };\n if (!_.isUndefined(g.graph())) {\n json.value = _.clone(g.graph());\n }\n return json;\n}\n\nfunction writeNodes(g) {\n return _.map(g.nodes(), function (v) {\n var nodeValue = g.node(v);\n var parent = g.parent(v);\n var node = { v: v };\n if (!_.isUndefined(nodeValue)) {\n node.value = nodeValue;\n }\n if (!_.isUndefined(parent)) {\n node.parent = parent;\n }\n return node;\n });\n}\n\nfunction writeEdges(g) {\n return _.map(g.edges(), function (e) {\n var edgeValue = g.edge(e);\n var edge = { v: e.v, w: e.w };\n if (!_.isUndefined(e.name)) {\n edge.name = e.name;\n }\n if (!_.isUndefined(edgeValue)) {\n edge.value = edgeValue;\n }\n return edge;\n });\n}\n\nfunction read(json) {\n var g = new Graph(json.options).setGraph(json.value);\n _.each(json.nodes, function (entry) {\n g.setNode(entry.v, entry.value);\n if (entry.parent) {\n g.setParent(entry.v, entry.parent);\n }\n });\n _.each(json.edges, function (entry) {\n g.setEdge({ v: entry.v, w: entry.w, name: entry.name }, entry.value);\n });\n return g;\n}\n","import { layout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlibJson from \"dagre-d3-es/src/graphlib/json.js\";\nimport { c as createLabel, i as intersectRect, a as insertMarkers, b as clear$2, d as clear$3, u as updateNodeBounds, s as setNodeElem, e as insertNode, f as insertEdgeLabel, p as positionNode, g as insertEdge, h as positionEdgeLabel } from \"./edges-bc33a094.js\";\nimport { l as log, m as evaluate, c as getConfig } from \"./mermaid-485fd1a4.js\";\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\nimport { c as createText } from \"./createText-b3507a77.js\";\nimport { select } from \"d3\";\nlet clusterDb = {};\nlet descendants = {};\nlet parents = {};\nconst clear$1 = () => {\n descendants = {};\n parents = {};\n clusterDb = {};\n};\nconst isDescendant = (id, ancenstorId) => {\n log.trace(\"In isDecendant\", ancenstorId, \" \", id, \" = \", descendants[ancenstorId].includes(id));\n if (descendants[ancenstorId].includes(id)) {\n return true;\n }\n return false;\n};\nconst edgeInCluster = (edge, clusterId) => {\n log.info(\"Decendants of \", clusterId, \" is \", descendants[clusterId]);\n log.info(\"Edge is \", edge);\n if (edge.v === clusterId) {\n return false;\n }\n if (edge.w === clusterId) {\n return false;\n }\n if (!descendants[clusterId]) {\n log.debug(\"Tilt, \", clusterId, \",not in decendants\");\n return false;\n }\n return descendants[clusterId].includes(edge.v) || isDescendant(edge.v, clusterId) || isDescendant(edge.w, clusterId) || descendants[clusterId].includes(edge.w);\n};\nconst copy = (clusterId, graph, newGraph, rootId) => {\n log.warn(\n \"Copying children of \",\n clusterId,\n \"root\",\n rootId,\n \"data\",\n graph.node(clusterId),\n rootId\n );\n const nodes = graph.children(clusterId) || [];\n if (clusterId !== rootId) {\n nodes.push(clusterId);\n }\n log.warn(\"Copying (nodes) clusterId\", clusterId, \"nodes\", nodes);\n nodes.forEach((node) => {\n if (graph.children(node).length > 0) {\n copy(node, graph, newGraph, rootId);\n } else {\n const data = graph.node(node);\n log.info(\"cp \", node, \" to \", rootId, \" with parent \", clusterId);\n newGraph.setNode(node, data);\n if (rootId !== graph.parent(node)) {\n log.warn(\"Setting parent\", node, graph.parent(node));\n newGraph.setParent(node, graph.parent(node));\n }\n if (clusterId !== rootId && node !== clusterId) {\n log.debug(\"Setting parent\", node, clusterId);\n newGraph.setParent(node, clusterId);\n } else {\n log.info(\"In copy \", clusterId, \"root\", rootId, \"data\", graph.node(clusterId), rootId);\n log.debug(\n \"Not Setting parent for node=\",\n node,\n \"cluster!==rootId\",\n clusterId !== rootId,\n \"node!==clusterId\",\n node !== clusterId\n );\n }\n const edges = graph.edges(node);\n log.debug(\"Copying Edges\", edges);\n edges.forEach((edge) => {\n log.info(\"Edge\", edge);\n const data2 = graph.edge(edge.v, edge.w, edge.name);\n log.info(\"Edge data\", data2, rootId);\n try {\n if (edgeInCluster(edge, rootId)) {\n log.info(\"Copying as \", edge.v, edge.w, data2, edge.name);\n newGraph.setEdge(edge.v, edge.w, data2, edge.name);\n log.info(\"newGraph edges \", newGraph.edges(), newGraph.edge(newGraph.edges()[0]));\n } else {\n log.info(\n \"Skipping copy of edge \",\n edge.v,\n \"-->\",\n edge.w,\n \" rootId: \",\n rootId,\n \" clusterId:\",\n clusterId\n );\n }\n } catch (e) {\n log.error(e);\n }\n });\n }\n log.debug(\"Removing node\", node);\n graph.removeNode(node);\n });\n};\nconst extractDescendants = (id, graph) => {\n const children = graph.children(id);\n let res = [...children];\n for (const child of children) {\n parents[child] = id;\n res = [...res, ...extractDescendants(child, graph)];\n }\n return res;\n};\nconst findNonClusterChild = (id, graph) => {\n log.trace(\"Searching\", id);\n const children = graph.children(id);\n log.trace(\"Searching children of id \", id, children);\n if (children.length < 1) {\n log.trace(\"This is a valid node\", id);\n return id;\n }\n for (const child of children) {\n const _id = findNonClusterChild(child, graph);\n if (_id) {\n log.trace(\"Found replacement for\", id, \" => \", _id);\n return _id;\n }\n }\n};\nconst getAnchorId = (id) => {\n if (!clusterDb[id]) {\n return id;\n }\n if (!clusterDb[id].externalConnections) {\n return id;\n }\n if (clusterDb[id]) {\n return clusterDb[id].id;\n }\n return id;\n};\nconst adjustClustersAndEdges = (graph, depth) => {\n if (!graph || depth > 10) {\n log.debug(\"Opting out, no graph \");\n return;\n } else {\n log.debug(\"Opting in, graph \");\n }\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n if (children.length > 0) {\n log.warn(\n \"Cluster identified\",\n id,\n \" Replacement id in edges: \",\n findNonClusterChild(id, graph)\n );\n descendants[id] = extractDescendants(id, graph);\n clusterDb[id] = { id: findNonClusterChild(id, graph), clusterData: graph.node(id) };\n }\n });\n graph.nodes().forEach(function(id) {\n const children = graph.children(id);\n const edges = graph.edges();\n if (children.length > 0) {\n log.debug(\"Cluster identified\", id, descendants);\n edges.forEach((edge) => {\n if (edge.v !== id && edge.w !== id) {\n const d1 = isDescendant(edge.v, id);\n const d2 = isDescendant(edge.w, id);\n if (d1 ^ d2) {\n log.warn(\"Edge: \", edge, \" leaves cluster \", id);\n log.warn(\"Decendants of XXX \", id, \": \", descendants[id]);\n clusterDb[id].externalConnections = true;\n }\n }\n });\n } else {\n log.debug(\"Not a cluster \", id, descendants);\n }\n });\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.warn(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(graph.edge(e)));\n let v = e.v;\n let w = e.w;\n log.warn(\n \"Fix XXX\",\n clusterDb,\n \"ids:\",\n e.v,\n e.w,\n \"Translating: \",\n clusterDb[e.v],\n \" --- \",\n clusterDb[e.w]\n );\n if (clusterDb[e.v] && clusterDb[e.w] && clusterDb[e.v] === clusterDb[e.w]) {\n log.warn(\"Fixing and trixing link to self - removing XXX\", e.v, e.w, e.name);\n log.warn(\"Fixing and trixing - removing XXX\", e.v, e.w, e.name);\n v = getAnchorId(e.v);\n w = getAnchorId(e.w);\n graph.removeEdge(e.v, e.w, e.name);\n const specialId = e.w + \"---\" + e.v;\n graph.setNode(specialId, {\n domId: specialId,\n id: specialId,\n labelStyle: \"\",\n labelText: edge.label,\n padding: 0,\n shape: \"labelRect\",\n style: \"\"\n });\n const edge1 = structuredClone(edge);\n const edge2 = structuredClone(edge);\n edge1.label = \"\";\n edge1.arrowTypeEnd = \"none\";\n edge2.label = \"\";\n edge1.fromCluster = e.v;\n edge2.toCluster = e.v;\n graph.setEdge(v, specialId, edge1, e.name + \"-cyclic-special\");\n graph.setEdge(specialId, w, edge2, e.name + \"-cyclic-special\");\n } else if (clusterDb[e.v] || clusterDb[e.w]) {\n log.warn(\"Fixing and trixing - removing XXX\", e.v, e.w, e.name);\n v = getAnchorId(e.v);\n w = getAnchorId(e.w);\n graph.removeEdge(e.v, e.w, e.name);\n if (v !== e.v) {\n edge.fromCluster = e.v;\n }\n if (w !== e.w) {\n edge.toCluster = e.w;\n }\n log.warn(\"Fix Replacing with XXX\", v, w, e.name);\n graph.setEdge(v, w, edge, e.name);\n }\n });\n log.warn(\"Adjusted Graph\", graphlibJson.write(graph));\n extractor(graph, 0);\n log.trace(clusterDb);\n};\nconst extractor = (graph, depth) => {\n log.warn(\"extractor - \", depth, graphlibJson.write(graph), graph.children(\"D\"));\n if (depth > 10) {\n log.error(\"Bailing out\");\n return;\n }\n let nodes = graph.nodes();\n let hasChildren = false;\n for (const node of nodes) {\n const children = graph.children(node);\n hasChildren = hasChildren || children.length > 0;\n }\n if (!hasChildren) {\n log.debug(\"Done, no node has children\", graph.nodes());\n return;\n }\n log.debug(\"Nodes = \", nodes, depth);\n for (const node of nodes) {\n log.debug(\n \"Extracting node\",\n node,\n clusterDb,\n clusterDb[node] && !clusterDb[node].externalConnections,\n !graph.parent(node),\n graph.node(node),\n graph.children(\"D\"),\n \" Depth \",\n depth\n );\n if (!clusterDb[node]) {\n log.debug(\"Not a cluster\", node, depth);\n } else if (!clusterDb[node].externalConnections && // !graph.parent(node) &&\n graph.children(node) && graph.children(node).length > 0) {\n log.warn(\n \"Cluster without external connections, without a parent and with children\",\n node,\n depth\n );\n const graphSettings = graph.graph();\n let dir = graphSettings.rankdir === \"TB\" ? \"LR\" : \"TB\";\n if (clusterDb[node] && clusterDb[node].clusterData && clusterDb[node].clusterData.dir) {\n dir = clusterDb[node].clusterData.dir;\n log.warn(\"Fixing dir\", clusterDb[node].clusterData.dir, dir);\n }\n const clusterGraph = new graphlib.Graph({\n multigraph: true,\n compound: true\n }).setGraph({\n rankdir: dir,\n // Todo: set proper spacing\n nodesep: 50,\n ranksep: 50,\n marginx: 8,\n marginy: 8\n }).setDefaultEdgeLabel(function() {\n return {};\n });\n log.warn(\"Old graph before copy\", graphlibJson.write(graph));\n copy(node, graph, clusterGraph, node);\n graph.setNode(node, {\n clusterNode: true,\n id: node,\n clusterData: clusterDb[node].clusterData,\n labelText: clusterDb[node].labelText,\n graph: clusterGraph\n });\n log.warn(\"New graph after copy node: (\", node, \")\", graphlibJson.write(clusterGraph));\n log.debug(\"Old graph after copy\", graphlibJson.write(graph));\n } else {\n log.warn(\n \"Cluster ** \",\n node,\n \" **not meeting the criteria !externalConnections:\",\n !clusterDb[node].externalConnections,\n \" no parent: \",\n !graph.parent(node),\n \" children \",\n graph.children(node) && graph.children(node).length > 0,\n graph.children(\"D\"),\n depth\n );\n log.debug(clusterDb);\n }\n }\n nodes = graph.nodes();\n log.warn(\"New list of nodes\", nodes);\n for (const node of nodes) {\n const data = graph.node(node);\n log.warn(\" Now next level\", node, data);\n if (data.clusterNode) {\n extractor(data.graph, depth + 1);\n }\n }\n};\nconst sorter = (graph, nodes) => {\n if (nodes.length === 0) {\n return [];\n }\n let result = Object.assign(nodes);\n nodes.forEach((node) => {\n const children = graph.children(node);\n const sorted = sorter(graph, children);\n result = [...result, ...sorted];\n });\n return result;\n};\nconst sortNodesByHierarchy = (graph) => sorter(graph, graph.children());\nconst rect = (parent, node) => {\n log.info(\"Creating subgraph rect for \", node.id, node);\n const shapeSvg = parent.insert(\"g\").attr(\"class\", \"cluster\" + (node.class ? \" \" + node.class : \"\")).attr(\"id\", node.id);\n const rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n const useHtmlLabels = evaluate(getConfig().flowchart.htmlLabels);\n const label = shapeSvg.insert(\"g\").attr(\"class\", \"cluster-label\");\n const text = node.labelType === \"markdown\" ? createText(label, node.labelText, { style: node.labelStyle, useHtmlLabels }) : label.node().appendChild(createLabel(node.labelText, node.labelStyle, void 0, true));\n let bbox = text.getBBox();\n if (evaluate(getConfig().flowchart.htmlLabels)) {\n const div = text.children[0];\n const dv = select(text);\n bbox = div.getBoundingClientRect();\n dv.attr(\"width\", bbox.width);\n dv.attr(\"height\", bbox.height);\n }\n const padding = 0 * node.padding;\n const halfPadding = padding / 2;\n const width = node.width <= bbox.width + padding ? bbox.width + padding : node.width;\n if (node.width <= bbox.width + padding) {\n node.diff = (bbox.width - node.width) / 2 - node.padding / 2;\n } else {\n node.diff = -node.padding / 2;\n }\n log.trace(\"Data \", node, JSON.stringify(node));\n rect2.attr(\"style\", node.style).attr(\"rx\", node.rx).attr(\"ry\", node.ry).attr(\"x\", node.x - width / 2).attr(\"y\", node.y - node.height / 2 - halfPadding).attr(\"width\", width).attr(\"height\", node.height + padding);\n if (useHtmlLabels) {\n label.attr(\n \"transform\",\n // This puts the labal on top of the box instead of inside it\n \"translate(\" + (node.x - bbox.width / 2) + \", \" + (node.y - node.height / 2) + \")\"\n );\n } else {\n label.attr(\n \"transform\",\n // This puts the labal on top of the box instead of inside it\n \"translate(\" + node.x + \", \" + (node.y - node.height / 2) + \")\"\n );\n }\n const rectBox = rect2.node().getBBox();\n node.width = rectBox.width;\n node.height = rectBox.height;\n node.intersect = function(point) {\n return intersectRect(node, point);\n };\n return shapeSvg;\n};\nconst noteGroup = (parent, node) => {\n const shapeSvg = parent.insert(\"g\").attr(\"class\", \"note-cluster\").attr(\"id\", node.id);\n const rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n const padding = 0 * node.padding;\n const halfPadding = padding / 2;\n rect2.attr(\"rx\", node.rx).attr(\"ry\", node.ry).attr(\"x\", node.x - node.width / 2 - halfPadding).attr(\"y\", node.y - node.height / 2 - halfPadding).attr(\"width\", node.width + padding).attr(\"height\", node.height + padding).attr(\"fill\", \"none\");\n const rectBox = rect2.node().getBBox();\n node.width = rectBox.width;\n node.height = rectBox.height;\n node.intersect = function(point) {\n return intersectRect(node, point);\n };\n return shapeSvg;\n};\nconst roundedWithTitle = (parent, node) => {\n const shapeSvg = parent.insert(\"g\").attr(\"class\", node.classes).attr(\"id\", node.id);\n const rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n const label = shapeSvg.insert(\"g\").attr(\"class\", \"cluster-label\");\n const innerRect = shapeSvg.append(\"rect\");\n const text = label.node().appendChild(createLabel(node.labelText, node.labelStyle, void 0, true));\n let bbox = text.getBBox();\n if (evaluate(getConfig().flowchart.htmlLabels)) {\n const div = text.children[0];\n const dv = select(text);\n bbox = div.getBoundingClientRect();\n dv.attr(\"width\", bbox.width);\n dv.attr(\"height\", bbox.height);\n }\n bbox = text.getBBox();\n const padding = 0 * node.padding;\n const halfPadding = padding / 2;\n const width = node.width <= bbox.width + node.padding ? bbox.width + node.padding : node.width;\n if (node.width <= bbox.width + node.padding) {\n node.diff = (bbox.width + node.padding * 0 - node.width) / 2;\n } else {\n node.diff = -node.padding / 2;\n }\n rect2.attr(\"class\", \"outer\").attr(\"x\", node.x - width / 2 - halfPadding).attr(\"y\", node.y - node.height / 2 - halfPadding).attr(\"width\", width + padding).attr(\"height\", node.height + padding);\n innerRect.attr(\"class\", \"inner\").attr(\"x\", node.x - width / 2 - halfPadding).attr(\"y\", node.y - node.height / 2 - halfPadding + bbox.height - 1).attr(\"width\", width + padding).attr(\"height\", node.height + padding - bbox.height - 3);\n label.attr(\n \"transform\",\n \"translate(\" + (node.x - bbox.width / 2) + \", \" + (node.y - node.height / 2 - node.padding / 3 + (evaluate(getConfig().flowchart.htmlLabels) ? 5 : 3)) + \")\"\n );\n const rectBox = rect2.node().getBBox();\n node.height = rectBox.height;\n node.intersect = function(point) {\n return intersectRect(node, point);\n };\n return shapeSvg;\n};\nconst divider = (parent, node) => {\n const shapeSvg = parent.insert(\"g\").attr(\"class\", node.classes).attr(\"id\", node.id);\n const rect2 = shapeSvg.insert(\"rect\", \":first-child\");\n const padding = 0 * node.padding;\n const halfPadding = padding / 2;\n rect2.attr(\"class\", \"divider\").attr(\"x\", node.x - node.width / 2 - halfPadding).attr(\"y\", node.y - node.height / 2).attr(\"width\", node.width + padding).attr(\"height\", node.height + padding);\n const rectBox = rect2.node().getBBox();\n node.width = rectBox.width;\n node.height = rectBox.height;\n node.diff = -node.padding / 2;\n node.intersect = function(point) {\n return intersectRect(node, point);\n };\n return shapeSvg;\n};\nconst shapes = { rect, roundedWithTitle, noteGroup, divider };\nlet clusterElems = {};\nconst insertCluster = (elem, node) => {\n log.trace(\"Inserting cluster\");\n const shape = node.shape || \"rect\";\n clusterElems[node.id] = shapes[shape](elem, node);\n};\nconst clear = () => {\n clusterElems = {};\n};\nconst recursiveRender = async (_elem, graph, diagramtype, id, parentCluster) => {\n log.info(\"Graph in recursive render: XXX\", graphlibJson.write(graph), parentCluster);\n const dir = graph.graph().rankdir;\n log.trace(\"Dir in recursive render - dir:\", dir);\n const elem = _elem.insert(\"g\").attr(\"class\", \"root\");\n if (!graph.nodes()) {\n log.info(\"No nodes found for\", graph);\n } else {\n log.info(\"Recursive render XXX\", graph.nodes());\n }\n if (graph.edges().length > 0) {\n log.trace(\"Recursive edges\", graph.edge(graph.edges()[0]));\n }\n const clusters = elem.insert(\"g\").attr(\"class\", \"clusters\");\n const edgePaths = elem.insert(\"g\").attr(\"class\", \"edgePaths\");\n const edgeLabels = elem.insert(\"g\").attr(\"class\", \"edgeLabels\");\n const nodes = elem.insert(\"g\").attr(\"class\", \"nodes\");\n await Promise.all(\n graph.nodes().map(async function(v) {\n const node = graph.node(v);\n if (parentCluster !== void 0) {\n const data = JSON.parse(JSON.stringify(parentCluster.clusterData));\n log.info(\"Setting data for cluster XXX (\", v, \") \", data, parentCluster);\n graph.setNode(parentCluster.id, data);\n if (!graph.parent(v)) {\n log.trace(\"Setting parent\", v, parentCluster.id);\n graph.setParent(v, parentCluster.id, data);\n }\n }\n log.info(\"(Insert) Node XXX\" + v + \": \" + JSON.stringify(graph.node(v)));\n if (node && node.clusterNode) {\n log.info(\"Cluster identified\", v, node.width, graph.node(v));\n const o = await recursiveRender(nodes, node.graph, diagramtype, id, graph.node(v));\n const newEl = o.elem;\n updateNodeBounds(node, newEl);\n node.diff = o.diff || 0;\n log.info(\"Node bounds (abc123)\", v, node, node.width, node.x, node.y);\n setNodeElem(newEl, node);\n log.warn(\"Recursive render complete \", newEl, node);\n } else {\n if (graph.children(v).length > 0) {\n log.info(\"Cluster - the non recursive path XXX\", v, node.id, node, graph);\n log.info(findNonClusterChild(node.id, graph));\n clusterDb[node.id] = { id: findNonClusterChild(node.id, graph), node };\n } else {\n log.info(\"Node - the non recursive path\", v, node.id, node);\n await insertNode(nodes, graph.node(v), dir);\n }\n }\n })\n );\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e.v, e.w, e.name);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \", e, \" \", JSON.stringify(graph.edge(e)));\n log.info(\"Fix\", clusterDb, \"ids:\", e.v, e.w, \"Translateing: \", clusterDb[e.v], clusterDb[e.w]);\n insertEdgeLabel(edgeLabels, edge);\n });\n graph.edges().forEach(function(e) {\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(e));\n });\n log.info(\"#############################################\");\n log.info(\"### Layout ###\");\n log.info(\"#############################################\");\n log.info(graph);\n layout(graph);\n log.info(\"Graph after layout:\", graphlibJson.write(graph));\n let diff = 0;\n sortNodesByHierarchy(graph).forEach(function(v) {\n const node = graph.node(v);\n log.info(\"Position \" + v + \": \" + JSON.stringify(graph.node(v)));\n log.info(\n \"Position \" + v + \": (\" + node.x,\n \",\" + node.y,\n \") width: \",\n node.width,\n \" height: \",\n node.height\n );\n if (node && node.clusterNode) {\n positionNode(node);\n } else {\n if (graph.children(v).length > 0) {\n insertCluster(clusters, node);\n clusterDb[node.id].node = node;\n } else {\n positionNode(node);\n }\n }\n });\n graph.edges().forEach(function(e) {\n const edge = graph.edge(e);\n log.info(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(edge), edge);\n const paths = insertEdge(edgePaths, e, edge, clusterDb, diagramtype, graph, id);\n positionEdgeLabel(edge, paths);\n });\n graph.nodes().forEach(function(v) {\n const n = graph.node(v);\n log.info(v, n.type, n.diff);\n if (n.type === \"group\") {\n diff = n.diff;\n }\n });\n return { elem, diff };\n};\nconst render = async (elem, graph, markers, diagramtype, id) => {\n insertMarkers(elem, markers, diagramtype, id);\n clear$2();\n clear$3();\n clear();\n clear$1();\n log.warn(\"Graph at first:\", JSON.stringify(graphlibJson.write(graph)));\n adjustClustersAndEdges(graph);\n log.warn(\"Graph after:\", JSON.stringify(graphlibJson.write(graph)));\n await recursiveRender(elem, graph, diagramtype, id);\n};\nexport {\n render as r\n};\n"],"names":["value","write","g","json","options","directed","isDirected","multigraph","isMultigraph","compound","isCompound","nodes","writeNodes","edges","writeEdges","graph","v","nodeValue","node","parent","e","edgeValue","edge","w","name","read","Graph","setGraph","entry","setNode","setParent","setEdge","clusterDb","descendants","parents","isDescendant","id","ancenstorId","l","trace","includes","copy","clusterId","newGraph","rootId","warn","children","push","forEach","length","data","info","debug","data2","edgeInCluster","error","removeNode","extractDescendants","res","child","findNonClusterChild","_id","getAnchorId","externalConnections","extractor","depth","hasChildren","dir","rankdir","clusterData","clusterGraph","nodesep","ranksep","marginx","marginy","setDefaultEdgeLabel","clusterNode","labelText","sorter","result","Object","assign","sorted","shapes","rect","shapeSvg","insert","attr","class","rect2","useHtmlLabels","flowchart","htmlLabels","label","text","labelType","c","style","labelStyle","appendChild","bbox","getBBox","div","dv","select","getBoundingClientRect","width","height","padding","halfPadding","diff","JSON","stringify","rx","ry","x","y","rectBox","intersect","point","i","roundedWithTitle","classes","innerRect","append","noteGroup","divider","clusterElems","recursiveRender","async","_elem","diagramtype","parentCluster","elem","clusters","edgePaths","edgeLabels","Promise","all","map","parse","o","newEl","u","s","layout","sortNodesByHierarchy","p","shape","insertCluster","paths","n","type","render","markers","removeEdge","specialId","domId","edge1","structuredClone","edge2","arrowTypeEnd","fromCluster","toCluster","adjustClustersAndEdges"],"sourceRoot":""}
|
@@ -1,2 +1,2 @@
|
|
1
1
|
"use strict";(globalThis.webpackChunk_finos_legend_application_pure_ide_deployment=globalThis.webpackChunk_finos_legend_application_pure_ide_deployment||[]).push([[222],{222:(t,e,s)=>{s.r(e),s.d(e,{D:()=>l,S:()=>c,a:()=>h,b:()=>a,c:()=>o,d:()=>B,p:()=>r,s:()=>P});var i=s(2801),n=function(){var t=function(t,e,s,i){for(s=s||{},i=t.length;i--;s[t[i]]=e);return s},e=[1,2],s=[1,3],i=[1,4],n=[2,4],r=[1,9],o=[1,11],a=[1,15],c=[1,16],l=[1,17],h=[1,18],u=[1,30],d=[1,19],p=[1,20],y=[1,21],f=[1,22],m=[1,23],g=[1,25],_=[1,26],S=[1,27],k=[1,28],T=[1,29],b=[1,32],E=[1,33],x=[1,34],C=[1,35],$=[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],D=[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],A=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],L={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,s,i,n,r,o){var a=r.length-1;switch(n){case 3:return i.setRootDoc(r[a]),r[a];case 4:this.$=[];break;case 5:"nl"!=r[a]&&(r[a-1].push(r[a]),this.$=r[a-1]);break;case 6:case 7:case 11:this.$=r[a];break;case 8:this.$="nl";break;case 12:const t=r[a-1];t.description=i.trimColon(r[a]),this.$=t;break;case 13:this.$={stmt:"relation",state1:r[a-2],state2:r[a]};break;case 14:const e=i.trimColon(r[a]);this.$={stmt:"relation",state1:r[a-3],state2:r[a-1],description:e};break;case 18:this.$={stmt:"state",id:r[a-3],type:"default",description:"",doc:r[a-1]};break;case 19:var c=r[a],l=r[a-2].trim();if(r[a].match(":")){var h=r[a].split(":");c=h[0],l=[l,h[1]]}this.$={stmt:"state",id:c,type:"default",description:l};break;case 20:this.$={stmt:"state",id:r[a-3],type:"default",description:r[a-5],doc:r[a-1]};break;case 21:this.$={stmt:"state",id:r[a],type:"fork"};break;case 22:this.$={stmt:"state",id:r[a],type:"join"};break;case 23:this.$={stmt:"state",id:r[a],type:"choice"};break;case 24:this.$={stmt:"state",id:i.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:r[a-1].trim(),note:{position:r[a-2].trim(),text:r[a].trim()}};break;case 28:this.$=r[a].trim(),i.setAccTitle(this.$);break;case 29:case 30:this.$=r[a].trim(),i.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:r[a-1].trim(),classes:r[a].trim()};break;case 33:this.$={stmt:"applyClass",id:r[a-1].trim(),styleClass:r[a].trim()};break;case 34:i.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:i.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:i.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:i.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:r[a].trim(),type:"default",description:""};break;case 42:case 43:this.$={stmt:"state",id:r[a-2].trim(),classes:[r[a].trim()],type:"default",description:""}}},table:[{3:1,4:e,5:s,6:i},{1:[3]},{3:5,4:e,5:s,6:i},{3:6,4:e,5:s,6:i},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:r,5:o,8:8,9:10,10:12,11:13,12:14,15:a,16:c,18:l,21:h,23:u,24:d,25:p,26:y,27:f,28:m,31:24,32:g,34:_,36:S,37:k,41:T,44:b,45:E,46:x,47:C,50:$},t(v,[2,5]),{9:36,10:12,11:13,12:14,15:a,16:c,18:l,21:h,23:u,24:d,25:p,26:y,27:f,28:m,31:24,32:g,34:_,36:S,37:k,41:T,44:b,45:E,46:x,47:C,50:$},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(D,[2,40],{51:[1,51]}),t(D,[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:u,50:$},t(v,[2,16]),t(A,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:r,5:o,8:8,9:10,10:12,11:13,12:14,15:a,16:c,18:l,20:[1,64],21:h,23:u,24:d,25:p,26:y,27:f,28:m,31:24,32:g,34:_,36:S,37:k,41:T,44:b,45:E,46:x,47:C,50:$},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(D,[2,42]),t(D,[2,43]),t(v,[2,14]),t(v,[2,18]),t(A,n,{7:68}),t(v,[2,25]),t(v,[2,26]),{4:r,5:o,8:8,9:10,10:12,11:13,12:14,15:a,16:c,18:l,20:[1,69],21:h,23:u,24:d,25:p,26:y,27:f,28:m,31:24,32:g,34:_,36:S,37:k,41:T,44:b,45:E,46:x,47:C,50:$},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 s=new Error(t);throw s.hash=e,s}this.trace(t)},parse:function(t){var e=this,s=[0],i=[],n=[null],r=[],o=this.table,a="",c=0,l=0,h=r.slice.call(arguments,1),u=Object.create(this.lexer),d={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(d.yy[p]=this.yy[p]);u.setInput(t,d.yy),d.yy.lexer=u,d.yy.parser=this,void 0===u.yylloc&&(u.yylloc={});var y=u.yylloc;r.push(y);var f=u.options&&u.options.ranges;"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,g,_,S,k,T,b,E,x,C={};;){if(g=s[s.length-1],this.defaultActions[g]?_=this.defaultActions[g]:(null==m&&(x=void 0,"number"!=typeof(x=i.pop()||u.lex()||1)&&(x instanceof Array&&(x=(i=x).pop()),x=e.symbols_[x]||x),m=x),_=o[g]&&o[g][m]),void 0===_||!_.length||!_[0]){var $="";for(k in E=[],o[g])this.terminals_[k]&&k>2&&E.push("'"+this.terminals_[k]+"'");$=u.showPosition?"Parse error on line "+(c+1)+":\n"+u.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError($,{text:u.match,token:this.terminals_[m]||m,line:u.yylineno,loc:y,expected:E})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+m);switch(_[0]){case 1:s.push(m),n.push(u.yytext),r.push(u.yylloc),s.push(_[1]),m=null,l=u.yyleng,a=u.yytext,c=u.yylineno,y=u.yylloc;break;case 2:if(T=this.productions_[_[1]][1],C.$=n[n.length-T],C._$={first_line:r[r.length-(T||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(T||1)].first_column,last_column:r[r.length-1].last_column},f&&(C._$.range=[r[r.length-(T||1)].range[0],r[r.length-1].range[1]]),void 0!==(S=this.performAction.apply(C,[a,l,c,d.yy,_[1],n,r].concat(h))))return S;T&&(s=s.slice(0,-1*T*2),n=n.slice(0,-1*T),r=r.slice(0,-1*T)),s.push(this.productions_[_[1]][0]),n.push(C.$),r.push(C._$),b=o[s[s.length-2]][s[s.length-1]],s.push(b);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,s=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),s.length-1&&(this.yylineno-=s.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:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[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 s,i,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))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],s=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack){for(var r in n)this[r]=n[r];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,s,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),r=0;r<n.length;r++)if((s=this._input.match(this.rules[n[r]]))&&(!e||s[0].length>e[0].length)){if(e=s,i=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(s,n[r])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,s,i){switch(s){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 O(){this.yy={}}return L.lexer=I,O.prototype=L,L.Parser=O,new O}();n.parser=n;const r=n,o="TB",a="state",c="relation",l="default",h="divider",u="[*]",d="start",p=u,y="color",f="fill";let m="LR",g=[],_={};let S={root:{relations:[],states:{},documents:{}}},k=S.root,T=0,b=0;const E=t=>JSON.parse(JSON.stringify(t)),x=(t,e,s)=>{if(e.stmt===c)x(t,e.state1,!0),x(t,e.state2,!1);else if(e.stmt===a&&("[*]"===e.id?(e.id=s?t.id+"_start":t.id+"_end",e.start=s):e.id=e.id.trim()),e.doc){const t=[];let s,n=[];for(s=0;s<e.doc.length;s++)if(e.doc[s].type===h){const i=E(e.doc[s]);i.doc=E(n),t.push(i),n=[]}else n.push(e.doc[s]);if(t.length>0&&n.length>0){const s={stmt:a,id:(0,i.G)(),type:"divider",doc:E(n)};t.push(E(s)),e.doc=t}e.doc.forEach((t=>x(e,t,!0)))}},C=function(t,e=l,s=null,n=null,r=null,o=null,a=null,c=null){const h=null==t?void 0:t.trim();if(void 0===k.states[h]?(i.l.info("Adding state ",h,n),k.states[h]={id:h,descriptions:[],type:e,doc:s,note:r,classes:[],styles:[],textStyles:[]}):(k.states[h].doc||(k.states[h].doc=s),k.states[h].type||(k.states[h].type=e)),n&&(i.l.info("Setting state description",h,n),"string"==typeof n&&I(h,n.trim()),"object"==typeof n&&n.forEach((t=>I(h,t.trim())))),r&&(k.states[h].note=r,k.states[h].note.text=i.e.sanitizeText(k.states[h].note.text,(0,i.c)())),o){i.l.info("Setting state classes",h,o);("string"==typeof o?[o]:o).forEach((t=>N(h,t.trim())))}if(a){i.l.info("Setting state styles",h,a);("string"==typeof a?[a]:a).forEach((t=>R(h,t.trim())))}if(c){i.l.info("Setting state styles",h,a);("string"==typeof c?[c]:c).forEach((t=>w(h,t.trim())))}},$=function(t){S={root:{relations:[],states:{},documents:{}}},k=S.root,T=0,_={},t||(0,i.t)()},v=function(t){return k.states[t]};function D(t=""){let e=t;return t===u&&(T++,e=`${d}${T}`),e}function A(t="",e=l){return t===u?d:e}const L=function(t,e,s){if("object"==typeof t)!function(t,e,s){let n=D(t.id.trim()),r=A(t.id.trim(),t.type),o=D(e.id.trim()),a=A(e.id.trim(),e.type);C(n,r,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),C(o,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),k.relations.push({id1:n,id2:o,relationTitle:i.e.sanitizeText(s,(0,i.c)())})}(t,e,s);else{const n=D(t.trim()),r=A(t),o=function(t=""){let e=t;return t===p&&(T++,e=`end${T}`),e}(e.trim()),a=function(t="",e=l){return t===p?"end":e}(e);C(n,r),C(o,a),k.relations.push({id1:n,id2:o,title:i.e.sanitizeText(s,(0,i.c)())})}},I=function(t,e){const s=k.states[t],n=e.startsWith(":")?e.replace(":","").trim():e;s.descriptions.push(i.e.sanitizeText(n,(0,i.c)()))},O=function(t,e=""){void 0===_[t]&&(_[t]={id:t,styles:[],textStyles:[]});const s=_[t];null!=e&&e.split(",").forEach((t=>{const e=t.replace(/([^;]*);/,"$1").trim();if(t.match(y)){const t=e.replace(f,"bgFill").replace(y,f);s.textStyles.push(t)}s.styles.push(e)}))},N=function(t,e){t.split(",").forEach((function(t){let s=v(t);if(void 0===s){const e=t.trim();C(e),s=v(e)}s.classes.push(e)}))},R=function(t,e){const s=v(t);void 0!==s&&s.textStyles.push(e)},w=function(t,e){const s=v(t);void 0!==s&&s.textStyles.push(e)},B={getConfig:()=>(0,i.c)().state,addState:C,clear:$,getState:v,getStates:function(){return k.states},getRelations:function(){return k.relations},getClasses:function(){return _},getDirection:()=>m,addRelation:L,getDividerId:()=>(b++,"divider-id-"+b),setDirection:t=>{m=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(){i.l.info("Documents = ",S)},getRootDoc:()=>g,setRootDoc:t=>{i.l.info("Setting root doc",t),g=t},getRootDocV2:()=>(x({id:"root"},{id:"root",doc:g},!0),{id:"root",doc:g}),extract:t=>{let e;e=t.doc?t.doc:t,i.l.info(e),$(!0),i.l.info("Extract",e),e.forEach((t=>{switch(t.stmt){case a:C(t.id.trim(),t.type,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles);break;case c:L(t.state1,t.state2,t.description);break;case"classDef":O(t.id.trim(),t.classes);break;case"applyClass":N(t.id.trim(),t.styleClass)}}))},trimColon:t=>t&&":"===t[0]?t.substr(1).trim():t.trim(),getAccTitle:i.g,setAccTitle:i.s,getAccDescription:i.a,setAccDescription:i.b,addStyleClass:O,setCssClass:N,addDescription:I,setDiagramTitle:i.q,getDiagramTitle:i.r},P=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`}}]);
|
2
|
-
//# sourceMappingURL=222.js.map
|
2
|
+
//# sourceMappingURL=222.969f20c8.js.map
|